พิจารณาเห็นได้ชัดทั่วไปของRubik 's Cube มันเป็นเรื่องยากไหมที่จะคำนวณลำดับการเคลื่อนที่ที่สั้นที่สุดที่แก้ปัญหาสัญญาณรบกวนที่กำหนดหรือมีอัลกอริธึมเวลาพหุนามหรือไม่?
[ผลลัพธ์ที่เกี่ยวข้องบางอย่างมีการอธิบายไว้ในโพสต์บล็อกล่าสุดของฉัน ]
พิจารณาเห็นได้ชัดทั่วไปของRubik 's Cube มันเป็นเรื่องยากไหมที่จะคำนวณลำดับการเคลื่อนที่ที่สั้นที่สุดที่แก้ปัญหาสัญญาณรบกวนที่กำหนดหรือมีอัลกอริธึมเวลาพหุนามหรือไม่?
[ผลลัพธ์ที่เกี่ยวข้องบางอย่างมีการอธิบายไว้ในโพสต์บล็อกล่าสุดของฉัน ]
คำตอบ:
หนึ่งในเอกสารของฉันเพิ่งโพสต์ไปที่ arXiv และตอบคำถามนี้: การแก้ Cube ของ Rubik อย่างสมบูรณ์ที่สุดคือ NP-complete
กระดาษใหม่โดย Demaine, Demaine, Eisenstat, Lubiw และพระพุทธเจ้าทำให้ความคืบหน้าบางส่วนสำหรับคำถามนี้ --- มันให้อัลกอริทึมพหุนามเวลาสำหรับการแก้ปัญหาก้อนอย่างเหมาะสมและแสดงN P - ความทนทานสำหรับการแก้ไขสิ่งที่คุณอาจเรียกว่าคิวบ์ "สีบางส่วน" อย่างเหมาะสมที่สุด นอกจากนี้ยังแสดงให้เห็นว่าn × n × nกำหนดพื้นที่ก้อนมีขนาดเส้นผ่าศูนย์กลางΘ ( n 2 / log n )
หวาน!
หนึ่งคำถามต่อไปเป็นไปได้ว่าการทำงานของพวกเขาดูเหมือนว่าจะแนะนำ: จะมีการแก้ไขในครอบครัวบางส่วนสีก้อนหนึ่งสำหรับค่าของแต่ละnเช่นที่ดีที่สุดในการแก้จากการกำหนดค่าให้เป็นN P -hard?
อาจมีข้อผิดพลาดในเรื่องนี้ได้อย่างง่ายดายดังนั้นโปรดแจ้งให้เราทราบหากคุณพบจุดใดจุดหนึ่ง
ดูเหมือนว่าคำตอบคือไม่หรืออย่างน้อยก็มีปัญหานี้อยู่ใน NP เหตุผลที่อยู่เบื้องหลังนี้ง่ายมาก แนวคิดคือการสร้างขึ้นจากคำถามอื่น: "คุณจะได้รับระหว่างการกำหนดค่า A และการกำหนดค่า B ในขั้นตอน S หรือน้อยกว่า"
เห็นได้ชัดว่าคำถามใหม่นี้อยู่ใน NP เพราะมีอัลกอริทึมเพื่อแก้ปัญหาคิวบ์จากการกำหนดค่าที่แก้ไขได้และเพื่อให้ผ่านสถานะที่แก้ไขแล้วจะใช้เวลาเพียงO ( n 2 )ระหว่างสองการกำหนดค่า เนื่องจากมีจำนวนการเคลื่อนไหวพหุนามเพียงจำนวนชุดการเคลื่อนที่ที่จะไประหว่างการกำหนดค่าสองแบบจึงสามารถใช้เป็นพยานสำหรับคำถามใหม่นี้ได้
ทีนี้ก่อนอื่นถ้าเราเลือกการตั้งค่า B ให้เป็นสถานะที่แก้ไขแล้วเรามีปัญหาที่ถามว่ามันเป็นไปได้ที่จะแก้ปัญหาลูกบาศก์ในขั้นตอนหรือน้อยกว่าซึ่งมีอยู่ใน NP
ตอนนี้ให้เลือกการกำหนดค่าที่แตกต่างกันสำหรับ B ซึ่งผมจะเรียกซึ่งจะใช้เวลาn ชั่วโมงR d ≈ n 2ขั้นตอนในการแก้ปัญหา ตอนนี้ถ้าเราถามว่ามันเป็นไปได้ที่จะได้รับระหว่างการกำหนดค่า A และB ชั่วโมงR dในS 'ขั้นตอนหรือน้อยกว่าเราอีกครั้งมีปัญหาใน NP กับลำดับของการเคลื่อนไหวเป็นพยานได้ แต่เนื่องจากเรารู้ว่าบีเอชR dใช้เวลาn ชั่วโมงR dขั้นตอนในการแก้ปัญหาเรารู้ว่าถ้ามันเป็นไปได้ที่จะไประหว่าง A และในS 'ขั้นตอนแล้วมันต้องมีอย่างน้อยn ชั่วโมงR d - S 'ขั้นตอนในการแก้n × n × nก้อนจาก การกำหนดค่า A.
ดังนั้นเรามีพยานสำหรับทั้งขอบเขตล่างของ steps และขอบเขตล่างของขั้นตอนSเพื่อแก้ไขจากการตั้งค่า A ถ้าเราเลือกS 0เป็นจำนวนขั้นต่ำของการย้ายที่จำเป็นในการแก้ปัญหาการเริ่มลูกบาศก์ ด้วยการกำหนดค่า A ดังนั้นถ้าเราเลือกขอบเขตล่างและบนให้เท่ากัน (เช่นS ′ = n h a r d - S 0และS = S 0) จากนั้นเรามีพยานหลักฐานว่าวิธีนี้เหมาะสมที่สุด (ประกอบด้วยพยานของปัญหาสองปัญหาที่เกี่ยวข้องกับขอบเขต)
สุดท้ายเราต้องมีวิธีการสร้าง d เราอาจต้องการการกำหนดค่าที่ยากที่สุด แต่เนื่องจากฉันไม่รู้ว่าจะหาได้อย่างไรฉันขอแนะนำให้หมุนระนาบที่สองทุกครั้งหนึ่งครั้งเกี่ยวกับแกน x จากนั้นทุกระนาบที่สี่ (ทำให้ระนาบกลางคงที่) หนึ่งครั้งเกี่ยวกับ แกน z ฉันเชื่อว่าสิ่งนี้นำไปสู่รัฐที่ต้องใช้ขั้นตอนO ( n 2 )เพื่อแก้ไข
ดังนั้นผมไม่ได้มีหลักฐานที่สร้างสรรค์เต็ม แต่ทางออกที่ดีที่สุดการใด ๆ ที่น้อยกว่าชัดเจนมีพยาน แต่น่าเสียดายที่แน่นอนในการจับภาพการกำหนดค่าที่เป็นไปได้ทั้งหมดที่คุณจะต้องn ชั่วโมงR d = จำนวนของพระเจ้า ( n )
แก้ไข: ความสม่ำเสมอของการกำหนดค่า Superflip ทำให้ดูเหมือนว่าการสร้างสำหรับn h a r d = หมายเลขของพระเจ้า ( n )อาจจะค่อนข้างง่าย (เช่นใน P)