เมื่อเร็ว ๆ นี้เมื่อพูดคุยกับนักฟิสิกส์ฉันอ้างว่าจากประสบการณ์ของฉันเมื่อมีปัญหาที่ดูเหมือนว่าไร้เดียงสามันควรจะใช้เวลาชี้แจงเป็นปรากฎโดยไม่ตั้งใจว่าจะอยู่ใน P หรือ BPP "เหตุผลครอบคลุม" ทำไมโดยทั่วไป --- และเกือบทุกครั้งเหตุผลนั้นเป็นของรายชื่อผู้ต้องสงสัย "ปกติหรือโหล" หรือน้อยกว่า (ตัวอย่างเช่น: การเขียนโปรแกรมแบบไดนามิกพีชคณิตเชิงเส้น ... ) อย่างไรก็ตามนั่นทำให้ฉันคิดว่า: เราสามารถเขียนรายการที่เหมาะสมด้วยเหตุผลดังกล่าวได้หรือไม่? นี่เป็นความพยายามครั้งแรกที่ไม่สมบูรณ์ที่หนึ่ง:
(0) ลักษณะทางคณิตศาสตร์ ปัญหามีลักษณะของ "ทางคณิตศาสตร์ล้วนๆ" ที่ไม่ชัดเจนซึ่งเป็นที่รู้จักกันในทันทีทำให้คุณสามารถค้นหาได้อย่างรวดเร็วผ่านรายการโพลี (n) ที่เป็นไปได้ ตัวอย่าง: กราฟ planarity ซึ่ง O (n 6 ) อัลกอริทึมดังต่อไปนี้จากทฤษฎีบทของ Kuratowski
(ดังที่ "ระนาบ" ชี้ให้เห็นด้านล่างนี่เป็นตัวอย่างที่ไม่ดี: แม้ว่าคุณจะรู้ลักษณะเชิงระนาบของ combinatorial แล้วให้อัลกอรึทึมเวลาแบบพหุนามยังคงไม่น่าสนใจดังนั้นขอผมลองแทนตัวอย่างที่ดีกว่านี้ พูดว่า "ให้อินพุต n เขียนด้วยเลขฐานสองคำนวณว่าต้องใช้สีกี่สีในการทำแผนที่โดยพลการที่ฝังอยู่บนพื้นผิวที่มีรู n รู" มันไม่ชัดเจนเลยว่านี่จะคำนวณได้ทั้งหมด (หรือแม้แต่ จำกัด !) แต่มีสูตรที่เป็นที่รู้จักซึ่งให้คำตอบและเมื่อคุณทราบสูตรแล้วมันเป็นเรื่องง่ายที่จะคำนวณในเวลาพหุนามขณะเดียวกัน "ลดการแยกผู้เยาว์ / ทฤษฎี Robertson-Seymour" ควรถูกเพิ่มเป็นเหตุผลที่แยกต่างหาก ใน P. )
อย่างไรก็ตามนี่ไม่ใช่สถานการณ์ที่ฉันสนใจเป็นพิเศษ
(1) การเขียนโปรแกรมแบบไดนามิก ปัญหาสามารถสลายในลักษณะที่เปิดใช้งานโซลูชันแบบเรียกซ้ำโดยไม่เกิดการระเบิดแบบเอกซ์โปเนนเชียล - บ่อยครั้งเนื่องจากข้อ จำกัด ที่ต้องพึงพอใจจัดเรียงตามลำดับหรือแบบง่าย ๆ "combinatorial หมดจด"; ไม่จำเป็นต้องมีโครงสร้างพีชคณิต สามารถเข้าถึงกราฟได้ (และด้วยเหตุนี้ 2SAT) จึงเป็นกรณีพิเศษ
(2) Matroids ปัญหามีโครงสร้าง matroid ทำให้อัลกอริทึมโลภทำงานได้ ตัวอย่าง: การจับคู่ต้นไม้ทอดขั้นต่ำ
(3) พีชคณิตเชิงเส้น ปัญหาสามารถลดลงเพื่อแก้ปัญหาระบบเชิงเส้นการคำนวณดีเทอร์มิแนนต์การคำนวณค่าลักษณะเฉพาะ ฯลฯ ปัญหาส่วนใหญ่ที่เกี่ยวข้องกับ "การยกเลิกที่น่าอัศจรรย์" รวมถึงสิ่งที่แก้ไขได้ด้วยวิธีการจับคู่ทางการของ Valiant เช่นกัน
(4) นูน ปัญหาสามารถแสดงเป็นการเพิ่มประสิทธิภาพของการจัดเรียงนูนบางอย่าง การเขียนโปรแกรม Semidefinite, การเขียนโปรแกรมเชิงเส้นและเกมศูนย์ผลรวมเป็นกรณีพิเศษ (มากขึ้น -) กรณีพิเศษ
(5) การทดสอบเอกลักษณ์พหุนาม ปัญหาสามารถลดลงได้เพื่อตรวจสอบอัตลักษณ์พหุนามดังนั้นทฤษฎีบทพื้นฐานของพีชคณิตจะนำไปสู่อัลกอริธึมแบบสุ่มที่มีประสิทธิภาพ - และในบางกรณีเช่นขั้นแรก
(6) Markov Chain Monte Carlo ปัญหาสามารถลดลงเป็นการสุ่มตัวอย่างจากผลลัพธ์ของการเดินที่ผสมกันอย่างรวดเร็ว (ตัวอย่าง: ประมาณการจับคู่ที่สมบูรณ์แบบโดยประมาณ)
(7) อัลกอริทึมแบบยุคลิด GCD เศษส่วนต่อเนื่อง ...
เบ็ดเตล็ด / ไม่ชัดเจนว่าจะจำแนกได้อย่างไร:การแต่งงานที่มั่นคงการแยกตัวประกอบพหุนามปัญหาการเป็นสมาชิกของกลุ่มการเปลี่ยนแปลงปัญหาอื่น ๆ ในทฤษฎีจำนวนและทฤษฎีกลุ่มปัญหาขัดแตะมิติต่ำ ...
คำถามของฉันคืออะไรคือสิ่งที่สำคัญที่สุดที่ฉันได้จากไป?
เพื่อชี้แจง:
ฉันรู้ว่าไม่มีรายการใดที่จะสมบูรณ์ได้ไม่ว่าด้วยเหตุผลใดก็ตามที่คุณ จำกัด จำนวนใครบางคนจะสามารถพบปัญหาแปลกใหม่ที่อยู่ใน P แต่ไม่ใช่ด้วยเหตุผลเหล่านั้น ส่วนหนึ่งด้วยเหตุนี้ฉันจึงสนใจแนวคิดที่ทำให้เกิดปัญหาที่แตกต่างและไม่เกี่ยวข้องใน P หรือ BPP มากกว่าในความคิดที่ใช้งานได้สำหรับปัญหาเดียวเท่านั้น
ฉันก็ตระหนักว่ามันเป็นเรื่องส่วนตัวว่าจะแบ่งสิ่งต่าง ๆ อย่างไร ตัวอย่างเช่น matroids ควรเป็นกรณีพิเศษของการเขียนโปรแกรมแบบไดนามิกหรือไม่? ความสามารถในการละลายได้โดยการค้นหาในเชิงลึกมีความสำคัญพอที่จะเป็นเหตุผลของตัวเองแยกจากการเขียนโปรแกรมแบบไดนามิกหรือไม่? นอกจากนี้บ่อยครั้งที่ปัญหาเดียวกันอาจเป็น P ด้วยเหตุผลหลายประการขึ้นอยู่กับวิธีที่คุณดู: ตัวอย่างเช่นการหาค่า eigenvalue ที่สำคัญคือ P เนื่องจากพีชคณิตเชิงเส้น แต่เป็นเพราะมันเป็นปัญหาการหาค่าเหมาะที่สุดของนูน
ในระยะสั้นฉันไม่หวังสำหรับ "ทฤษฎีการจำแนกประเภท" - สำหรับรายการที่สะท้อนถึงสิ่งที่เรารู้เกี่ยวกับอัลกอริทึมที่มีประสิทธิภาพในปัจจุบัน และนั่นคือสาเหตุที่สิ่งที่ฉันสนใจมากที่สุดคือเทคนิคในการวางสิ่งต่าง ๆ ใน P หรือ BPP ที่มีการบังคับใช้ในวงกว้าง แต่ไม่เหมาะกับรายการด้านบน - หรือแนวคิดอื่น ๆ สำหรับการปรับปรุงความพยายามครั้งแรกของฉัน นักฟิสิกส์