나는 주어진 비 단순 다각형인지 여부 결정의 복잡성에 관심이 거의 두 개의 서로 다른 형식적인 감각 중 하나에, 간단한 : 약하게 단순 또는 비 자기 횡단 . 이러한 용어는 널리 알려지지 않았으므로 몇 가지 정의부터 시작하겠습니다.
다각형 어떤 한정된 서열 연결 선분의 폐쇄 사이클 평면의 포인트. 점 다각형 의 꼭짓점 이라고 하고, 세그먼트 을 모서리 라고 합니다 . 꼭짓점을 순서대로 나열하여 다각형을 지정할 수 있습니다.
모든 n 개의 정점이 구별되고 가장자리가 끝점에서만 교차하는 경우 다각형은 간단 합니다. 마찬가지로 다각형은 원에 동종 이형이고 모든 모서리의 길이가 양이면 간단합니다. 그러나 일반적으로 다각형의 정점과 모서리는 임의로 교차하거나 심지어 일치 할 수도 있습니다. 1
교차점이 둘 다의 공통 하위 경로 인 단일 다각형 경로 와 B 두 개를 고려하십시오 . 우리는 말을 그 와 B의 교차 경우 끝점 A (0), B (0), A (1), B (1) 일반적인 서브 패스의 이웃의 경계에 대체 \ 캡 B . 다각형은 자기 교차 는 두 개의 교차 서브 패스를 가지고있는 경우 비 자기 - 교차 그렇지. 2
다각형은 단순한 다각형 시퀀스의 한계 인 경우 또는 약하게 정점에 교란이있어 다각형을 단순하게 만드는 경우에 약합니다. 약한 단순한 다각형은 모두 자체 교차하지 않습니다. 그러나 일부 자체 교차 다각형은 약하게 단순 하지 않습니다 .
예를 들어 아래에 표시된 6 개의 점 a, b, p, q, x, y를 고려하십시오 .
다각형 는 간단합니다. 왼쪽 그림을 참조하십시오.
다각형 는 약하게 단순합니다. 가운데 그림은 근처의 간단한 다각형을 보여줍니다. 그러나이 다각형은 세 번 방문하기 때문에 단순하지 않습니다 .
와 교차 하기 때문에 다각형 는 자체 교차입니다. 직관에 대한 올바른 그림을 참조하십시오.b p q z
마지막으로, 다각형 (중간 다각형 주위를 두 번 감는) 다각형은 자체 교차 하지 않지만 약하게 단순 하지는 않습니다 . 직관적 으로이 다각형 의 회전 수 는 이고 간단한 다각형의 회전 수는 이어야합니다 . (정확한 증거는 부분적으로 angles의 다각형에 대해 터닝 번호가 잘 정의되어 있지 않기 때문에 일부 사례 분석이 필요합니다 !)± 2 ± 1 0 ∘
업데이트 (9 월 13 일) : 아래 그림에서 다각형 는 자체 교차 하지 않으며 회전 수가 1 이지만 약한 것은 아닙니다. 다각형은 틀림없이 여러 교차가 아닌 단순 subwalks을 하지만, 더 크로싱이없는 간단한의 서브 패스를 . (단순하지 않은 두 보행이 언제 교차하는지 정의하는 방법이 확실하지 않기 때문에 "논쟁 적으로"라고 말합니다!)
마지막으로 실제 질문은 다음과 같습니다.
주어진 다각형이 자체 교차하지 않는지를 얼마나 빨리 확인할 수 있습니까?
주어진 다각형이 약한 지 여부를 얼마나 빨리 확인할 수 있습니까?
첫 번째 문제는 다음과 같이 시간 안에 해결 될 수 있습니다 . 정점 이 개 이므로 정점 대 정점 하위 경로가 있습니다. 시간 에 특정 하위 경로가 단순한 지 (무차별 테스트 할 수 있습니다 . 간단한 정점에서 정점으로가는 서브 패스 쌍마다 시간에 교차하는지 테스트 할 수 있습니다 . 그러나 이것이 최선의 알고리즘 이 될 수는 없습니다 .N O ( N 2 ) O ( N 2 ) O ( N )
나는 두 번째 문제가 다항식 시간에 해결할 수 있는지 모르겠습니다. 단순하지 않은 다각형에 대해 잘 정의 된 회전 수를 빠르게 계산할 수 있다고 생각합니다 (다각형 모서리의 결합이 경로 인 경우를 제외하고는 다각형이 약한 단순해야 함). 아래 내 답변을 참조하십시오. 그러나 위의 새로운 예 폴리곤은 자체 교차 및 터닝 번호 1이 단순 하지 않다는 것을 의미합니다.
우리는 주어진 다각형인지 여부를 결정할 수 간단한 에서 또는에 대해 교차 에지들의 모든 쌍을 확인하여 타임 , 또는 표준 sweepline 알고리즘을 사용하여 시간 시간 Chazelle의 삼각 분할 알고리즘을 사용합니다. (입력 다각형이 단순하지 않은 경우 삼각 측량 알고리즘은 예외, 무한 루프를 발생 시키거나 유효한 삼각 측량이 아닌 출력을 생성합니다.) 그러나 이러한 알고리즘 중 어느 것도 내가 요구하는 문제를 해결하지 못합니다. O ( N 로그 N ) O ( N를 )
1 브랑코 그 ün 바움. 다각형 : Meister는 옳았 고 Poinsot는 틀렸지 만 우세했습니다 . Beiträge zur Algebra and Geometrie 53 (1) : 57–71, 2012.
2 예를 들어 : Erik D. Demaine과 Joseph O'Rourke. 기하 접기 알고리즘 : 링키지, 종이 접기, 다면체 . 케임브리지 대학 출판부, 2007.