ปัญหา Super Mario Galaxy


140

สมมติว่ามาริโอกำลังเดินอยู่บนพื้นผิวของดาวเคราะห์ หากเขาเริ่มเดินจากที่ตั้งที่รู้จักไปในทิศทางที่กำหนดสำหรับระยะทางที่กำหนดไว้เราจะทราบได้อย่างรวดเร็วว่าจะหยุดที่ใด

ป้อนคำอธิบายรูปภาพที่นี่

อีกอย่างเป็นทางการเช่นสมมติว่าเราจะได้รับนูน polytopeใน 3 พื้นที่ซึ่งเป็นจุดเริ่มต้นบนพื้นผิวของทิศทางเวกเตอร์ (ในระนาบของแง่มุมบางอย่างที่มี ) และระยะไกล\เราจะทราบได้อย่างไรว่า Mario ตัวไหนที่จะหยุดอยู่ข้างในได้เร็วแค่ไหน? (ในฐานะที่เป็นจุดทางเทคนิคสมมติว่าหากมาริโอเข้าสู่จุดสุดยอดของเขาจะระเบิดทันทีโชคดีที่สิ่งนี้แทบจะไม่เคยเกิดขึ้นเลย)PsPvpPP

หรือถ้าคุณต้องการ: สมมติว่าเราจะได้รับ polytopeจุดแหล่งและทิศทางเวกเตอร์ล่วงหน้า หลังจาก preprocessing วิธีการอย่างรวดเร็วเราสามารถตอบคำถามสำหรับระยะทางที่กำหนด ?Psv

มันง่ายมากที่จะติดตามรอยเท้าของมาริโอโดยเฉพาะถ้ามีแง่มุมสามเหลี่ยม เมื่อใดก็ตามที่มาริโอเข้าสู่ด้านหนึ่งของขอบเราสามารถกำหนดในเวลาซึ่งอีกสองขอบเขาต้องผ่าน แม้ว่าเวลาทำงานของขั้นตอนวิธีนี้เป็นเส้นตรงเท่านั้นในจำนวนของขอบนํ้ามันมากมายเป็นหน้าที่ของขนาดการป้อนข้อมูลเพราะระยะทางที่อาจจะเป็นพลขนาดใหญ่กว่าเส้นผ่าศูนย์กลางของPเราทำได้ดีกว่านี้ไหมPO(1)P

(ในทางปฏิบัติความยาวเส้นทางไม่ได้มากมายจริง; มีขอบเขตบนโลกในแง่ของจำนวนบิตที่จำเป็นเพื่อแสดงการป้อนข้อมูล แต่ยืนยันในปัจจัยการผลิตจำนวนเต็มยกประเด็นตัวเลขบางอย่างค่อนข้างน่ารังเกียจ - วิธีทำเราคำนวณ. ตรงที่ เพื่อหยุด? - งั้นลองทำกับอินพุตจริงและเลขคณิตจริงที่แน่นอน)

มีสิ่งใดที่ไม่เป็นที่รู้จักเกี่ยวกับความซับซ้อนของปัญหานี้หรือไม่?

อัปเดต:จากความเห็นของ julkiewicz ดูเหมือนว่าเวลาทำงานจริงของ RAM จะ จำกัด ขอบเขตอย่างหมดจดในแง่ของ (ความซับซ้อนของ polytope) เป็นไปไม่ได้ พิจารณากรณีพิเศษของสองด้านหน่วยตารางกับมาริโอเริ่มต้นที่และเดินไปในทิศทาง(1,0)มาริโอจะหยุดที่ด้านหน้าหรือด้านหลังของตารางขึ้นอยู่กับความเท่าเทียมกันของจำนวนเต็มที่\ เราไม่สามารถคำนวณฟังก์ชันพื้นในเวลาอย่างต่อเนื่องในแรมจริงเว้นแต่ว่าเรากำลังมีความสุขPSPACE การเทียบและ P แต่เราสามารถคำนวณในn[0,1]2(0,1/2)(1,0)O(log)เวลาโดยการค้นหาเอ็กซ์โพเนนเชียลซึ่งเป็นการปรับปรุงเอ็กซ์โพเนนเชียลเหนืออัลกอริธึมไร้เดียงสา พหุนามเวลาในและทำได้เสมอหรือไม่nlog


5
ฉันคิดถึงปัญหาที่ง่ายกว่านั่นคือเรามีรูปหลายเหลี่ยมธรรมดาและลำแสงที่เดินทางจากจุดที่กำหนด เมื่อถึงขอบมันเพิ่งได้รับการสะท้อน เราต้องการทราบว่าลำแสงจะสิ้นสุดการเดินทางหลังจากระยะทางที่กำหนดหรือไม่ มันสามารถลดลงได้ (เกือบ) โดยใช้โพลีท็อปซึ่งเป็นปริซึมของความสูงขนาดเล็กมากโดยมีด้านบนและด้านล่างเป็นรูปหลายเหลี่ยมที่กำหนด บางทีการแก้ปัญหาครั้งแรกอาจช่วยได้
julkiewicz

3
“ [T] ime พหุนามใน n และ log l” ไม่สมเหตุสมผลกับฉัน ถ้ามันขึ้นอยู่กับ l มันจะต้องขึ้นอยู่กับพิกัดของ P และถ้าคุณเพิ่มบันทึกของตัวเลขทั้งหมดในอินพุตนั่นคือจำนวนบิตที่จำเป็นในการเป็นตัวแทนของอินพุตเมื่อพิกัดอินพุตถูก จำกัด ให้เป็นจำนวนเต็ม ฉันคิดว่าคุณกำลังดูความซับซ้อนของเวลาบน RAM จริงเมื่อได้รับอินพุตเป็นสตริงบิต
Tsuyoshi Ito

4
แม้แต่การตัดสินใจว่ามาริโอจะโดนจุดสุดยอด (เป็นอิสระจาก ) ดูเหมือนจะยาก ฉันคิดว่าที่นี่เราพบกับสิ่งแปลกปลอมมากมายในพื้นที่ของพลวัตบิลเลียด
Joseph O'Rourke

2
ไม่เกี่ยวข้องจริงๆ แต่บทความนี้เกี่ยวกับ NP-Completeeness ของ Super Mario นั้นน่าทึ่งจริงๆ: arxiv.org/pdf/1203.1895v1.pdf
Lamine

10
“ บางทีนั่นอาจเป็นเหตุผลว่าทำไมมันถึงได้รับการจัดอันดับสูงมาก” บางคนพูดอย่างไม่แยแสกับทฤษฎีความซับซ้อนอย่างสมบูรณ์
Jeffε

คำตอบ:


7

ปัญหานี้ยากมาก เราสามารถทำให้มันง่ายขึ้นเพื่อให้ง่ายขึ้นดังต่อไปนี้

  1. เราสามารถเพิ่มสมมติฐานที่ว่าผลรวมของมุมเกี่ยวกับจุดสุดยอดของทุก polytopeมีหลายเหตุผลของ\สิ่งนี้จะกำจัด "โพลีเอพท์" ส่วนใหญ่ แต่ยังมีความเป็นไปได้ที่น่าสนใจมากมายเช่นของแข็งพลาโทนิกPπ

  2. เราสามารถสรุปได้ว่ารูปหลายเหลี่ยมไม่ได้เป็นสามมิติอย่างแท้จริง แต่แทนที่จะเป็น "สองเท่า" ของรูปหลายเหลี่ยม มันดูเหมือนปลอกหมอน เราสามารถทำให้ง่ายขึ้นยิ่งขึ้นและสมมติว่ารูปหลายเหลี่ยมนั้นมีด้านเท่ากันและขนานกัน ตัวอย่างเช่นสี่เหลี่ยมเช่นเดียวกับในเกม Astroids

หากเราทำสมมติฐานทั้งสองนี้ก็จะมีทฤษฎีขนาดใหญ่ (การค้นหาอัลกอริธึมสำหรับการออกกำลังกายเป็นเรื่องยากที่เกี่ยวข้องกับการขยายตัวต่อเนื่องของมุมของมาริโอเส้นทางเศษส่วนเพื่อให้บรรลุผลลัพธ์ที่คล้ายกันสำหรับแปดเหลี่ยมปกติเป็นไปได้ แต่ยากโซลูชั่นสำหรับ รูปสี่เหลี่ยมจัตุรัสและรูปแปดเหลี่ยมเกี่ยวข้องกับการคิดเกี่ยวกับวิธีเข้ารหัสอย่างมีประสิทธิภาพ "ลำดับการตัดสำหรับ geodesic บนพื้นผิวการแปล" รูปหลายเหลี่ยมเชิงเหตุผลอื่น ๆ ส่วนใหญ่จะนำไปสู่ปัญหาเปิดได้อย่างรวดเร็ว) การอ้างอิงเริ่มต้น ตารางพรูเป็นภาพนิ่งพูดคุยของ Diana DavisO(log())

ถ้าเราไม่คิดว่ามีเหตุผล แต่สมมติว่า polytope นั้นเป็นสองเท่าของรูปหลายเหลี่ยมเราก็จะพูดถึงทฤษฎีของ "การตัดลำดับในบิลเลียดที่ไม่มีเหตุผล" ดูเหมือนว่าไม่มีอะไรเป็นที่รู้จักที่นี่; เช่นดูประโยคสุดท้ายของการพูดคุยนี้โดย Corinna Ulcigrai

ถ้าเราไม่มีข้อสันนิษฐานเอาล่ะฉันก็ไม่สามารถคิดถึงอะไรในวรรณคดี

ในที่สุด - ฉันเดาว่าจะมีวิธีแก้ปัญหาปัญหา Super Mario Galaxy สำหรับของแข็งพลาโทนิก นี่เป็นปัญหาที่ดีสำหรับนักศึกษาระดับบัณฑิตศึกษาที่เริ่มต้นเล่นบิลเลียดอย่างมีเหตุผล ตัวอย่างเช่นกรณีของ dodecahedron "ควร" ติดตามจากวิทยานิพนธ์ของ Diana Davis (แต่เริ่มต้นด้วยจัตุรมุข - ที่จะตามมาจากการวิเคราะห์ลำดับการตัดสำหรับทอรัสหกเหลี่ยม)O(log())


0

ฉันคิดว่าคุณสามารถทำได้ดีกว่าเชิงเส้น ฉันยังใหม่กับวิทยาการคอมพิวเตอร์เชิงทฤษฎีดังนั้นโปรดยกโทษให้ฉันหากนี่เป็นขยะ

แนวคิดทั่วไปบางประการ (ของมูลค่าที่เปลี่ยนแปลง):

  • ถ้าเราให้แต่ละด้านเป็นสัญลักษณ์วงโคจรของมาริโอเหนือพวกมันสามารถอธิบายได้ว่าเป็นสตริงโดยที่สัญลักษณ์สุดท้ายในสตริงคือคำตอบ
  • เราสามารถสันนิษฐานได้โดยไม่สูญเสียความเอนเอียงที่มาริโอเริ่มบนขอบ (แค่เดินถอยหลังและยืด l ไปที่ขอบ)
  • พื้นที่ 2 มิติของตำแหน่งเริ่มต้นและมุมสามารถแบ่งพาร์ติชันได้โดยขอบถัดไป ดังนั้นเริ่มจาก edge a, x หน่วยจากด้านล่างด้วยมุม a, เราสิ้นสุดใน edge V หลังจากข้ามหนึ่ง facet
  • ณ จุดนั้นเราอยู่ที่อีกขอบหนึ่งด้วยการวางแนวอื่นดังนั้นเราจึงสามารถเรียกใช้ฟังก์ชันนี้ซ้ำเพื่อแบ่งพื้นที่ออกเป็นพาร์ติชันของสตริง 2 สัญลักษณ์และอื่น ๆ
  • เมื่อมาถึงจุดนี้เราก็เสร็จถ้าเราบอกว่าพื้นที่จะต้องถูกแยกออกสำหรับปัญหาที่จะนำมาใช้กับ TM นั่นหมายความว่าทุก ๆ วงโคจรจะต้องเป็นระยะเพราะมีเพียงจุดจำนวนมากบนดาวเคราะห์ที่แยกออก เราสามารถคำนวณฟังก์ชั่นที่อธิบายข้างต้นจนกว่าเราจะมีวงโคจรสำหรับจุดเริ่มต้นทั้งหมดและเก็บข้อมูลนี้ จากนั้นปัญหาจะกลายเป็น O (1)
  • อาจจะเป็นตำรวจนิดหน่อย googling บางคนบอกฉันว่าเกือบทุกวงโคจรบิลเลียดภายในรูปหลายเหลี่ยมนูนเหตุผลเป็นระยะ (เช่น. วงโคจรเป็นระยะหนาแน่น) ดังนั้นสำหรับดาวเคราะห์ดวงสี่เหลี่ยมวิธีเดียวกันอาจใช้งานได้
  • อีกวิธีหนึ่งคือการพิจารณาว่าระบบเป็นตัวกำเนิด / ตัวจดจำของสตริง (อีกครั้งโดยการกำหนดแต่ละสัญลักษณ์ของมันเอง) หากภาษานั้นมีระดับความซับซ้อนที่รู้จักกันนั่นคือคำตอบของคุณ หากคุณขยายตระกูลของโพลิปท็อปไปเป็นแบบไม่นูนและมิติใด ๆ คุณอาจได้เรียนภาษาที่หลากหลาย

นี่ไม่ใช่คำตอบจริงๆ แต่ฉันต้องกลับไปทำงาน :)


10
"ณ จุดนี้เราเสร็จแล้วถ้าเราบอกว่าพื้นที่จะต้องถูกแยกออกสำหรับปัญหาที่จะนำมาใช้กับ TM ซึ่งหมายความว่าทุกวงโคจรจะต้องเป็นระยะเพราะมีเพียงจุดจำนวนมากบนดาวเคราะห์ discretized" คุณเพิ่งทำลายส่วนที่น่าสนใจของปัญหา ฉันไม่ต้องการที่จะถือว่าอินพุตนั้นไม่ต่อเนื่อง ฉันต้องการที่จะแก้ปัญหาที่เกิดขึ้นจริงอย่างต่อเนื่องแม้ว่าจะต้องใช้คอมพิวเตอร์ในอุดมคติที่สามารถคำนวณทางคณิตศาสตร์ที่แน่นอนในเวลาที่แน่นอน โดยเฉพาะอย่างยิ่งเส้นทางของมาริโอไม่จำเป็นต้องสัมผัสจุดสุดยอด
Jeffε

ฉันคิดว่ามันง่ายเกินไป คุณสามารถทำเวอร์ชั่นต่อเนื่องบนเครื่องจักร จำกัด ได้ตราบใดที่จุดเริ่มต้นและดาวเคราะห์สามารถอธิบายได้อย่างละเอียด คุณสามารถเป็นตัวแทนของเส้นทางสัญลักษณ์ (ลักษณะทางคณิตศาสตร์) คุณจำเป็นต้องประเมินขอบเขตบางอย่างเพื่อค้นหาว่าคุณอยู่ด้านไหนถ้าคุณสามารถพิสูจน์ได้ว่าเส้นทางนั้นเป็นระยะแน่นอน (เพราะสำหรับบิลเลียดบนเหตุผลรูปหลายเหลี่ยมนูน) คุณยังสามารถใช้เคล็ดลับแบบเดียวกันได้ แต่ผลลัพธ์ จะไม่เป็นประโยชน์มาก
ปีเตอร์

12
อนิจจา geodesics ทั่วไปบนรูปทรงหลายเหลี่ยมไม่ได้เป็นระยะ (โดยเฉพาะรูปหลายเหลี่ยมทั่วไปไม่มีเหตุผล)
Jeff

ฉันคิดว่าคุณ (ปีเตอร์) หมายถึงกระดาษ "วงบิลเลียดเป็นระยะมีความหนาแน่นในรูปหลายเหลี่ยมเหตุผล" นี่ไม่ได้หมายความว่าเส้นทางเป็นระยะมีความหมายทั่วไปในรูปหลายเหลี่ยมเชิงเหตุผล ในความเป็นจริงมีเพียงเส้นทางเป็นระยะ ๆ จำนวนมาก (จนถึงขนาน) ดังนั้นพวกเขาจึงไม่มีโอกาสที่จะเป็นคนธรรมดา
Sam Nead

ในความเป็นจริงในรูปหลายเหลี่ยม "Veech" เส้นทาง "อัตลักษณ์ที่ไม่ซ้ำกัน" เป็นตัวชี้วัดเต็มรูปแบบ ดังนั้นถ้าเราส่งมาริโอเป็นทิศทางแบบสุ่มเขาจะ (ก) ไม่เคยไปถึงจุดสุดยอด (ดังที่เจฟฟ์บอกไว้ในคำแถลงปัญหา) (ข) เส้นทางของเขาจะไม่ปิดและ (c) ในระดับขนาดใหญ่ลำดับของ ใบหน้าที่เข้าชมจะมีลักษณะแบบสุ่ม (เนื่องจากคุณสมบัติ "การผสมอ่อน") ไม่แนะนำคำตอบเชิงลบสำหรับปัญหา - ตัวอย่างเช่นตัวเลขของไพยังดูแบบสุ่ม ...
Sam Nead
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.