내부 사각형을 손상시키지 않고 사각형 분할


12

는 축-평행 사각형입니다.C

C1,,CnC1CnC

여기에 이미지 설명을 입력하십시오

직사각형 보존 파티션 의 파티션 인 ,되도록 은 페어 - 내부 - 이산 축에 평행 한 직사각형이고, 각 위해 : 즉, 기존의 각 사각형은 다음과 같이 고유 한 새 사각형에 포함됩니다.CC=E1ENNnEii=1,,nCiEi

여기에 이미지 설명을 입력하십시오

작은 가진 직사각형 보존 파티션을 찾는 알고리즘은 무엇입니까 ?N

특히, 부분 으로 직사각형 보존 파티션을 찾기위한 알고리즘이 있습니까?N=O(n)

답변:


4

새로운 답변 : 다음의 간단한 알고리즘이 점진적으로 최적입니다.

각 사각형 가능한 한 사각형이 한 분리되도록 유지하십시오.Ci

구멍의 수는 최대 입니다. 홀 수가 적어도 구성이 있으므로 이는 무조건 최적 입니다.k2kO(k)

증거는 이 백서에 있습니다.


오래된 답변 :

다음 알고리즘은 최적은 아니지만 부분 으로 직사각형 보존 파티션을 찾는 데 충분합니다 .N=O(n)

알고리즘은 직선 다각형 작동 직사각형으로 초기화되고, .PC

1 단계 : 의 서쪽 경계에 인접한 직사각형 를 선택합니다 (즉, 의 서쪽과 의 서쪽 경계 사이에 다른 직사각형 는 없습니다 ). 장소 내 는의 서쪽 경계에 닿을 때까지 그것을 스트레칭 . 하자 (위한 )의 신장 된 버전 일 . 이라고하자 . 모든 까지 단계 1 반복CiPCjCiPCiPPEii=1,,nCiP=PEinn원래 사각형이 배치되고 늘어납니다. 아래 이미지에서 사각형을 배치하는 가능한 순서는 .C1,C2,C4,C3

여기에 이미지 설명을 입력하십시오

이제 는 다음과 같은 직선 다각형입니다.P

여기에 이미지 설명을 입력하십시오

나는 에서 오목한 꼭짓점 의 수가 최대 이라고 주장한다 . 에서 확장 된 사각형을 제거 할 때마다 세 가지 가능성 이 있기 때문입니다 .P2nP

  • 2 개의 새로운 오목 정점이 추가됩니다 ( 배치시 ).C1,C4
  • 3 개의 새로운 오목 정점이 추가되고 1이 제거됩니다 ( ).C3
  • 4 개의 새로운 오목 정점이 추가되고 2 개가 제거됩니다 ( 와 동일 ).C2

2 단계 : 기존 알고리즘을 사용하여 를 축-평행 사각형으로 분할 합니다 (검토는 Keil 2000, 10-13 페이지Eppstein 2009, 3-5 페이지 참조 ).P

Keil은 최소 칸에있는 사각형의 수는 1 + 오목한 꼭짓점의 수에 의해 제한된다는 정리를 인용합니다. 따라서 우리의 경우 숫자는 최대 이고 파티션의 총 사각형 수는 입니다.2n+1N3n+1


이 알고리즘은 최적이 아닙니다. 예를 들어, 위 예제에서 을 제공 하는 반면 최적 솔루션은 입니다. 따라서 두 가지 질문이 남아 있습니다.N=13N=5

A.이 알고리즘이 맞습니까?

B. 최적의 또는 적어도 더 나은 근사값 을 찾기위한 다항식 시간 알고리즘이 있습니까?N


1 단계에서 파티션 셀을 추가합니다. 각 파티션 셀은 정확히 하나의 초기 사각형을 포함하고 다른 사각형과 겹치지 않습니다. 2 단계에서는 나머지 공간을 분할하므로 2 단계에서 작성된 셀은 초기 사각형과 교차하지 않습니다. 정확성의 증거는 다소 단순 해 보입니까, 아니면 뭔가 빠졌습니까?
Boson

@Boson 확실하지 않은 요점은 오목한 정점의 수가 최대 입니다. 내가 쓴 것처럼 단지 3 가지 가능성이있는 것은 "분명한"것 같지만, 다른 가능성을 놓친 것 같습니다. 2n
Erel Segal-Halevi
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.