마리오가 행성의 표면을 걷고 있다고 가정합니다. 그가 알려진 위치에서 정해진 방향으로 미리 정해진 거리를 걷기 시작하면 어디에서 얼마나 빨리 멈출 수 있을까요?
더 형식적으로, 우리는 볼록 폴리 토프의 주어진 가정 3 공간, 기점 의 표면에 , 방향 벡터 (일부 패싯 함유의 평면 )과의 거리 . 마리오 의 어떤면이 내부에서 멈추는 지를 얼마나 빨리 확인할 수 있습니까? (기술적 인 관점에서 마리오가 의 정점으로 들어가면 즉시 폭발하지만 다행스럽게도 거의 발생 하지 않는다고 가정하십시오 .)의 P의 V P는 ℓ의 P의 P
또는 원하는 경우 : 폴리 토프 , 소스 점 및 방향 벡터 가 미리 지정되어 있다고 가정 합니다. 전처리 후, 얼마나 빨리 우리는 주어진 거리에 대한 질문에 대답 할 수 ?의 브이 ℓ
특히 에 삼각형이있는 경우 Mario의 발자국을 쉽게 추적 할 수 있습니다. Mario가 모서리 중 하나를 통해 패싯에 들어갈 때마다 시간 내에 다른 두 모서리 중 어느 쪽을 통과해야하는지 결정할 수 있습니다 . 이 알고리즘의 실행 시간은 엣지-크로싱 수에서 선형 일 뿐이지 만 , 거리 ( 가 임의로 의 직경보다 클 수 있기 때문에 입력 크기의 함수로서 제한이 없습니다 . 더 잘할 수 있을까요?O ( 1 ) ℓ P
입력을 표현하기 위해 필요한 비트 수의 측면에서 글로벌 상한이있다 그러나 정수 입력을 고집하는 것은 다소 불쾌한 수치 문제 제기 - 우리는 어떻게 계산합니까 (실제로, 경로 길이는 실제로 억제 할 수 없습니다. 정확히 어디 — 실제 입력과 정확한 실제 산술을 고수합시다.)
이 문제의 복잡성에 대해 사소한 것이 있습니까?
업데이트 : julkiewicz의 의견에 비추어, 실제 RAM 실행 시간은 순전히 (폴리 토프의 복잡성)으로 제한되는 것은 불가능한 것 같습니다. Mario가 에서 시작하여 방향으로 걷는 양면 단위 사각형 의 특수한 경우를 고려하십시오 . Mario는 정수 의 패리티에 따라 사각형의 앞이나 뒤에서 멈 춥니 다 . PSPACE와 P를 동일하게 고려 하지 않으면 실제 RAM에서 일정한 시간에 플로어 함수를 계산할 수 없습니다 . 그러나 우리는 를 에서 계산할 수 있습니다[ 0 , 1 ] 2 ( 0 , 1 / 2 ) ( 1 , 0 ) 여기서 ⎣ ℓ ⌋ 여기서 ⎣ ℓ ⌋ O ( 로그 ℓ ) N 로그 ℓ를순진 알고리즘보다 지수 적 개선 인 지수 검색에 의한 시간. 및 시간 다항식은 항상 달성 가능합니까?