มีคำตอบที่ดีอยู่แล้ว แต่ฉันต้องการเพิ่มจุดเล็ก ๆ น้อย ๆ
สมมติว่าเรามีเทคนิคในการแก้ปัญหาเช่นdiagonalization สมมติว่าเราต้องการที่จะแสดงให้เห็นว่าเทคนิคที่ไม่สามารถแก้ปัญหาที่เฉพาะเจาะจงเช่นกับ{} จะแสดงสิ่งนี้ได้อย่างไรPNP
ก่อนที่จะไปเพิ่มเติมโปรดทราบว่าเทคนิคเช่นการตัดทแยงมุมไม่ใช่แนวคิดที่เป็นทางการที่นี่ (แม้ว่าเราจะสามารถทำได้) ยิ่งกว่านั้นความจริงที่ว่าเทคนิคไม่สามารถแก้ปัญหาด้วยตนเองไม่ได้หมายความว่ามันไม่มีประโยชน์ในการแก้ปัญหาเลยเราอาจจะสามารถแก้ไขและ / หรือรวมเข้ากับเทคนิคอื่นเพื่อแก้ปัญหา
ตอนนี้ลองกลับไปที่คำถาม วิธีหนึ่งในการแสดงให้เห็นว่าเทคนิคไม่สามารถแก้ปัญหาที่เฉพาะเจาะจงได้คือการแสดงให้เห็นว่าหากเป็นไปได้มันก็จะทำงานในกรอบที่แตกต่างกันสำหรับการแก้คำถามอื่นและคำตอบที่เราจะได้ในกรณีนั้นจะผิด นี่คือสิ่งที่เกิดขึ้นที่นี่ หาก diagonalization สามารถแยกจากแล้วอาร์กิวเมนต์เดียวกันอาจจะใช้ในการแยกจากสำหรับทุก แต่เรารู้ว่ามีคำพยากรณ์ว่านี่เป็นเรื่องจริง (รับ - ปัญหาที่สมบูรณ์แบบว่าเป็นคำพยากรณ์) ดังนั้น diagonalization ไม่สามารถแยกจาก{P}NPPNPAPAAPSpaceNPP
จุดสำคัญในการโต้แย้งนี้เป็นหลักการโอน :
เราสามารถถ่ายโอนอาร์กิวเมนต์แย้งสำหรับ TM โดยไม่มี oracle ไปยัง TM ด้วย oracles
สิ่งนี้อาจเกิดขึ้นได้ที่นี่เพราะข้อโต้แย้งในแนวทแยงนั้นมาจากการจำลองของเครื่องจักรยิ่งกว่านั้นการจำลองไม่ได้ขึ้นอยู่กับ internals ของเครื่องจักร แต่มีเพียงคำตอบสุดท้ายจากการจำลองเหล่านี้ ชนิดของ diagonalization นี้จะเรียกว่าเป็นdiagonalization ง่าย ในการจำลองไม่สำคัญว่าเครื่องทำงานอย่างไรเราใส่ใจเฉพาะคำตอบสุดท้ายของเครื่อง การเพิ่ม oracle จะไม่เปลี่ยนแปลงสิ่งนี้ดังนั้นการจำลองและการโต้แย้งจะทำงานในกรอบที่เรามี oracle ด้วย
อย่างเป็นทางการมากขึ้นเราสามารถคิดว่าการโต้เถียงในแนวทแยงเป็นฟังก์ชันจากคลาสของเครื่องจักร (พูด ) กับอินสแตนซ์ที่แสดงว่าเครื่องไม่สามารถแก้ปัญหาได้ (พูด ) ฟังก์ชันตัวอย่างตัวอย่างนี้เป็นฟังก์ชันเส้นทแยงมุม การแยกทแยงมุมเป็นเรื่องง่ายถ้าตัวอย่างที่ให้นั้นไม่ขึ้นอยู่กับ internals ของเครื่องจักรนั่นคือถ้าเวลา 2 พหุนาม DTM มีภาษาเดียวกันจากนั้นตัวอย่างที่แสดงให้เห็นว่าพวกเขาไม่สามารถแก้ได้รับจากฟังก์ชัน diagonalization นั้นเหมือนกันPSATSAT
คุณอาจสงสัยว่านี่เป็นข้อ จำกัด ที่ยิ่งใหญ่หรือไม่? ทำไมตัวอย่างตัวอย่างจึงต้องขึ้นอยู่กับโครงสร้างภายในของเครื่อง เราสามารถพิสูจน์การแยกด้วยการทำเส้นทแยงมุมที่ไม่สามารถพิสูจน์ได้ด้วยการทำเส้นทแยงมุมอย่างง่ายหรือไม่? คำตอบคือใช่ ในความเป็นจริง Kozen แสดงในปี 1978 กระดาษของเขา "การจัดทำดัชนีของ subrecursive คลาส" (3 ปีหลังจากผล BGS) ว่าถ้าสามารถแยกออกจากแล้วมีการโต้แย้งแนวทแยงมุมทั่วไปสำหรับมัน และในทางปฏิบัติพบข้อโต้แย้งดังกล่าว ตัวอย่างเช่น Fortnow และ Van Melkebeek ของขอบเขตล่างสำหรับ SAT (2000) ใช้เทคนิคที่เรียกว่าการทำแนวเส้นทแยงมุมทางอ้อมที่ทำให้เกิดเส้นทแยงมุมที่ไม่ใช่แบบง่ายNPP
ดังนั้นการอ้างว่า diagonalization ไม่สามารถแก้ไข vs.ไม่ถูกต้องได้หรือไม่? โดยทั่วไปแล้วสิ่งที่ผู้เชี่ยวชาญหมายถึงโดยการตัดทแยงมุมที่นี่คือการตัดขวางง่ายและมีเหตุผลที่ดีสำหรับสิ่งนั้นPNP
ข้อโต้แย้งทั่วไปในแนวทแยงมุมนั้นโดยทั่วไปแล้วมันไม่ค่อยสมเหตุสมผลนักที่จะเรียกพวกเขาว่าเทคนิคคุณสามารถเปลี่ยนอาร์กิวเมนต์การแยกใด ๆ ให้กลายเป็นการโต้แย้งในแนวทแยงมุมได้โดยไม่ต้องเข้าใจมากนัก: ถ้าเรามีวิธีแยกความซับซ้อนสองคลาสแล้ว สามารถเลือกฟังก์ชั่นในคลาสที่ใหญ่กว่าไม่ได้ในฟังก์ชั่นที่เล็กกว่า ทำการนับจำนวนเครื่องจักรในชั้นเรียนขนาดเล็ก ให้เป็นเครื่องจักรใด ๆ ในการแจงนับ เราต้องกำหนด counterexample สำหรับMแต่เรารู้อยู่แล้วว่าไม่สามารถแก้ปัญหาจึงมีอยู่เช่นการแสดงนี้กำหนดค่าของฟังก์ชั่น diagonalization บนMMMMเพื่อเป็นตัวอย่างนั้น นี่คือมุมมองภาพใหญ่หากคุณต้องการดูรายละเอียดตรวจสอบกระดาษของ Kozen
ฤดูร้อน:
- เมื่อผู้เชี่ยวชาญพูดว่า "diagonalization ไม่สามารถแก้กับ " สิ่งที่พวกเขาหมายถึงคือ " diagonalization ง่ายไม่สามารถแก้ vs. " ไม่ใช่คนทั่วไปPNPPNP
- เหตุผลที่ทำให้ไม่สามารถแยก diagonalization ง่ายจากก็คือมันโอนไปยังกรอบด้วย oracles (ในวรรณคดีมันระบุว่า "diagonalization relativized") และการแยกไม่ได้อยู่ที่นั่นNPP
- เหตุผลที่การถ่ายโอนนี้จากกรอบน้อยกว่า oracle ไปยัง framework กับ oracle ทำงานก็คือ diagonalization ง่ายขึ้นอยู่กับการจำลองกล่องดำของ TMs และไม่สำคัญว่าเครื่องจักรทำงานอย่างไรไม่ว่าจะมี oracle หรือไม่
สองบทความที่ดีที่จะเรียนรู้เพิ่มเติมเกี่ยวกับการทแยงมุมคือ
- เอกสารสำรวจของแลนซ์ฟอร์ตนาว "Diagonalization", 2001, และ
- รัสเซล Impagliazzo, วาเลนไทน์ Kabanets และอันโตนิโอ Kolokolova ของกระดาษ "เป็นวิธีการที่แท้จริงเพื่อ Algebrization", 2009. (โปรดทราบว่าพีชคณิตเป็นส่วนขยายของdiagonalization ง่าย ๆ )