슈퍼 마리오 갤럭시 문제


140

마리오가 행성의 표면을 걷고 있다고 가정합니다. 그가 알려진 위치에서 정해진 방향으로 미리 정해진 거리를 걷기 시작하면 어디에서 얼마나 빨리 멈출 수 있을까요?

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

더 형식적으로, 우리는 볼록 폴리 토프의 주어진 가정 3 공간, 기점 의 표면에 , 방향 벡터 (일부 패싯 함유의 평면 )과의 거리 . 마리오 의 어떤면이 내부에서 멈추는 지를 얼마나 빨리 확인할 수 있습니까? (기술적 인 관점에서 마리오가 의 정점으로 들어가면 즉시 폭발하지만 다행스럽게도 거의 발생 하지 않는다고 가정하십시오 .)P의 V P는 ℓ의 P의 PPsPvpPP

또는 원하는 경우 : 폴리 토프 , 소스 점 및 방향 벡터 가 미리 지정되어 있다고 가정 합니다. 전처리 후, 얼마나 빨리 우리는 주어진 거리에 대한 질문에 대답 할 수 ?브이 Psv

특히 에 삼각형이있는 경우 Mario의 발자국을 쉽게 추적 할 수 있습니다. Mario가 모서리 중 하나를 통해 패싯에 들어갈 때마다 시간 내에 다른 두 모서리 중 어느 쪽을 통과해야하는지 결정할 수 있습니다 . 이 알고리즘의 실행 시간은 엣지-크로싱 수에서 선형 일 뿐이지 만 , 거리 ( 가 임의로 의 직경보다 클 수 있기 때문에 입력 크기의 함수로서 제한이 없습니다 . 더 잘할 수 있을까요?O ( 1 ) PPO(1)P

입력을 표현하기 위해 필요한 비트 수의 측면에서 글로벌 상한이있다 그러나 정수 입력을 고집하는 것은 다소 불쾌한 수치 문제 제기 - 우리는 어떻게 계산합니까 (실제로, 경로 길이는 실제로 억제 할 수 없습니다. 정확히 어디 — 실제 입력과 정확한 실제 산술을 고수합시다.)

이 문제의 복잡성에 대해 사소한 것이 있습니까?

업데이트 : julkiewicz의 의견에 비추어, 실제 RAM 실행 시간은 순전히 (폴리 토프의 복잡성)으로 제한되는 것은 불가능한 것 같습니다. Mario가 에서 시작하여 방향으로 걷는 양면 단위 사각형 의 특수한 경우를 고려하십시오 . Mario는 정수 의 패리티에 따라 사각형의 앞이나 뒤에서 멈 춥니 다 . PSPACE와 P를 동일하게 고려 하지 않으면 실제 RAM에서 일정한 시간에 플로어 함수를 계산할 수 없습니다 . 그러나 우리는 를 에서 계산할 수 있습니다[ 0 , 1 ] 2 ( 0 , 1 / 2 ) ( 1 , 0 ) 여기서 ⎣ 여기서 ⎣ O ( 로그 ) N 로그 ℓ를n[0,1]2(0,1/2)(1,0)O(log)순진 알고리즘보다 지수 적 개선 인 지수 검색에 의한 시간. 시간 다항식은 항상 달성 가능합니까?nlog


5
나는 더 간단한 문제, 즉 우리는 주어진 점에서 이동하는 일반 다각형과 광선이 있다고 생각했습니다. 가장자리에 도달하면 미러링됩니다. 우리는 빔이 주어진 거리 후에 이동을 끝내는 곳을 알고 싶습니다. 주어진 다각형의 모양으로 상단과 하단이있는 매우 작은 높이의 프리즘 인 폴리 토프를 취함으로써 (거의)이 것으로 줄일 수 있습니다. 이 문제를 먼저 해결하면 도움이 될 수 있습니다.
julkiewicz

3
"n과 log l의 [T] ime 다항식"은 이해가되지 않습니다. l에 의존하면 P의 좌표에도 의존해야하며 입력의 모든 숫자에 대한 로그를 추가하면 입력 좌표가 정수로 제한 될 때 입력을 나타내는 데 필요한 비트 수와 정확히 일치합니다. 입력이 비트 문자열로 제공 될 때 실제 RAM의 시간 복잡성을보고 있다고 생각합니다.
이토 쓰요시

4
마리오 정점에 도달했는지를 결정하는 것조차 ( 독립적 ) 어렵다. 나는 여기서 우리는 당구 역학 분야에서 많은 미지의 사람들을 만난다고 생각합니다.
조셉 오루크

2
실제로는 관련이 없지만 Super Mario의 NP-Completeness에 관한이 논문은 정말 놀랍습니다 : arxiv.org/pdf/1203.1895v1.pdf
Lamine

10
복잡성 이론에 대해 무관심한 사람이 있다고 말했다.
Jeffε

답변:


7

이 문제는 매우 어렵다. 다음과 같이 단순화하기가 더 쉬워졌습니다.

  1. 폴리 토프 의 모든 정점에 대한 각도 합 이 의 합리적인 배수 라는 가정을 추가 할 수 있습니다 . 이것은 대부분의 "폴리 토프"를 ​​제거하지만 플라톤 고형물과 같은 많은 흥미로운 가능성이 여전히 있습니다.πPπ

  2. 폴리 토프는 실제로 3 차원이 아니라 다각형의 "이중"이라고 가정 할 수 있습니다. 이것은 베개처럼 보입니다. 우리는 더 단순화하고 다각형이 동일하고 평행 한 측면을 가지고 있다고 가정 할 수 있습니다. 예를 들어 Astroids 게임에서와 같이 사각형입니다.

우리가이 가정을 모두하면 큰 이론이 있습니다. ( 정사각형에 대한 알고리즘을 찾는 것은 마리오 경로의 각도의 지속적인 분수 확장을 포함하는 어려운 연습입니다. 일반 팔각형에 대해 비슷한 결과를 얻는 것이 가능하지만 더 어렵습니다. 정사각형과 팔각형은 "번역 표면에 측지선을위한 절단 시퀀스"를 효율적으로 인코딩하는 방법에 대해 생각합니다. 대부분의 다른 합리적인 다각형은 신속하게 개방형 문제를 야기 할 것입니다.) 정사각형 원환 체는 Diana Davis의 대화 슬라이드 입니다.O(log())

합리성을 가정하지는 않지만 폴리 토프가 다각형의 이중이라고 가정하면 "비합리적 당구의 절단 순서"이론을 논의하고 있습니다. 본질적으로 여기에 알려진 것은 없습니다. 예를 들어 Corinna Ulcigrai 의이 연설 의 마지막 문장을 보십시오.

우리가 아무 가정도하지 않으면, 나는 문헌에서 아무것도 생각할 수 없습니다.

마지막으로 플라톤의 고체에 대한 Super Mario Galaxy 문제에 대한 솔루션 이 있다고 생각합니다 . 이것은 합리적인 당구를 시작하는 대학원생에게 좋은 문제입니다. 예를 들어, 십이 면체의 경우는 "다이애나 데이비스 (Diana Davis)"의 논문을 따라야한다. (그러나 사면체로 시작하십시오-육각형 원환 체의 절단 순서 분석에서 나옵니다.)O(log())


0

선형보다 더 잘할 수 있다고 생각합니다. 나는 이론적 인 컴퓨터 과학에 익숙하지 않기 때문에 이것이 쓰레기라면 용서하십시오.

다양한 가치의 일반적인 아이디어 :

  • 각 패싯에 기호를 주면 마리오의 궤도가 문자열로 설명 될 수 있습니다. 여기서 문자열의 마지막 기호가 답입니다.
  • 우리는 마리오가 가장자리에서 시작한다고 일반성을 잃지 않고 가정 할 수 있습니다 (뒤로 걷고 가장자리까지 l 확장하십시오)
  • 시작 위치와 각도의 2D 공간은 다음 모서리로 분할 할 수 있습니다. 따라서 가장자리 a, 바닥에서 x 단위, 각도 a로 시작하여 한쪽면을 교차 한 후 가장자리 V에서 끝납니다.
  • 이 시점에서 우리는 다른 방향으로 또 다른 가장자리에 있으므로 공간을 2 기호 문자열 등으로 분할하기 위해 함수를 재귀 적으로 호출 할 수 있습니다.
  • 이제 TM에서 문제를 구현하기 위해 공간을 이산해야한다고 말하면 끝났습니다. 이것은 별개의 행성에 유한 한 점이 많기 때문에 모든 궤도는 주기적이어야한다는 것을 의미합니다. 모든 시작점에 궤도가 생길 때까지 위에서 설명한 함수를 계산하고이 정보를 저장할 수 있습니다. 그러면 문제는 O (1)이됩니다.
  • 어쩌면 그것은 약간의 경찰 아웃 일 것입니다. 일부 인터넷 검색에 따르면 합리적인 볼록 다각형 내부의 거의 모든 당구 궤도는 주기적입니다 (즉, 주기적 궤도는 밀도가 높습니다). 따라서 (예를 들어) 사각형 행성의 경우 동일한 접근 방식이 작동 할 수 있습니다.
  • 또 다른 방법은 시스템을 문자열 생성기 / 인식기로 간주하는 것입니다 (각 패싯에 고유 한 기호를 할당하여). 언어에 알려진 복잡성 클래스가 있다면 이것이 바로 당신의 대답입니다. 폴리 토프 제품군을 볼록하지 않은 임의의 차원으로 확장하면 매우 광범위한 언어를 캡처 할 수 있습니다.

이것은 실제로 답이 아니지만, 다시 일을해야합니다. :)


10
"이 시점에서 우리는 TM에서 문제를 구현하기 위해 공간을 이산해야한다고 말하면 끝났습니다. 즉, 이산 된 행성에는 무한히 많은 점이 있기 때문에 모든 궤도는 주기적이어야합니다." 당신은 문제의 흥미로운 부분을 파괴했습니다. 나는 할 수 없습니다 입력이 개별 가정 할; 일정한 연속 시간에 정확한 실제 산술을 수행 할 수있는 이상적인 컴퓨터가 필요하지만 실제 지속적인 문제를 해결하고 싶습니다. 특히 Mario의 경로는 꼭짓점에 닿을 필요가 없습니다.
Jeffε

나는 그것이 너무 쉽다고 생각했다. 시작점과 행성을 유한하게 설명 할 수있는 한 유한 머신에서 연속 버전을 수행 할 수 있습니다. 경로를 상징적으로 표현할 수 있습니다 (수학 스타일). 특정 경계를 평가하여 끝나는 패싯을 찾기 만하면됩니다. 경로가 거의 일정하다는 것을 증명할 수있는 경우 (합리적 볼록 다각형의 당구와 마찬가지로) 동일한 트릭을 적용 할 수 있지만 결과는 동일합니다. 실용적이지 않습니다.
Peter

12
아아, 일반 다면체에 대한 일반 측지선은 주기적이지 않습니다. (특히, 일반적인 다각형은 합리적이지 않습니다.)
Jeffε

당신 (피터)은 "주기적인 당구 궤도가 합리적인 다각형으로 치밀하다"는 논문을 언급하고 있다고 생각합니다. 이것은 주기적인 경로가 합리적인 다각형에서 일반적 이라는 것을 의미 하지는 않습니다 . 실제로, 많은주기적인 경로 (병렬화까지) 만 계산할 수 있으므로 일반적인 경로는 없습니다.
Sam Nead

실제로 "Veech"다각형에서 "고유 인체 공학적"경로는 전체 측정입니다. 우리가 마리오를 임의의 방향으로 보내면 (a) 정점에 도달하지 않습니다. (제프가 문제 진술에서 말한 것처럼) (b) 경로가 닫히지 않으며 (c) 대규모로 방문한 얼굴은 무작위로 보입니다 ( "약한 혼합"속성으로 인해). 이것은 문제에 대한 부정적인 대답을 제시하지는 않습니다. 예를 들어, pi의 숫자도 무작위로 보입니다.
Sam Nead
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.