ในทฤษฎีการคำนวณของ Michael Sipser's ในหน้า 270 เขาเขียน:
P = คลาสของภาษาที่สมาชิกสามารถตัดสินใจได้อย่างรวดเร็ว
NP = คลาสของภาษาที่สามารถตรวจสอบความเป็นสมาชิกได้อย่างรวดเร็ว
อะไรคือความแตกต่างระหว่าง "ตัดสินใจ" และ "ยืนยัน"?
ในทฤษฎีการคำนวณของ Michael Sipser's ในหน้า 270 เขาเขียน:
P = คลาสของภาษาที่สมาชิกสามารถตัดสินใจได้อย่างรวดเร็ว
NP = คลาสของภาษาที่สามารถตรวจสอบความเป็นสมาชิกได้อย่างรวดเร็ว
อะไรคือความแตกต่างระหว่าง "ตัดสินใจ" และ "ยืนยัน"?
คำตอบ:
ภารกิจในการตัดสินใจเป็นสมาชิกคือ: รับอินพุตใด ๆตัดสินใจเลือกx ∈ Lเช่นคำนวณฟังก์ชันต่อไปนี้:
บนมืออื่น ๆ , งานของการตรวจสอบการเป็นสมาชิก: ให้ป้อนข้อมูลใด ๆและ (เสนอ) หลักฐาน (หรือพยาน ) ของการเป็นสมาชิกให้ตรวจสอบได้อย่างรวดเร็วอากาศx ∈ Lโดยหลักฐานว่า ¹
ตัวอย่างเช่นพิจารณาตัวประกอบหลัก ได้รับคำนวณปัจจัยสำคัญทั้งหมดของn บนมืออื่น ๆ ที่ได้รับ( n , { ฉัน1 , ... , ฉันk } )ตรวจสอบว่าΠ k J = 1ฉันJ = n ไหนง่ายกว่ากัน
อีกตัวอย่างหนึ่ง: ให้กราฟถ่วงน้ำหนักตัดสินใจสภาพอากาศมีวงกลมแฮมิลตัน (ว่าการเข้าชมทุกโหนด) ที่มีน้ำหนักมากที่สุดk บนมืออื่น ๆ ที่ได้รับ( G , ( วี1 , ... , V n ) )ตรวจสอบสภาพอากาศเส้นทางโวลต์1 →การ⋯ →การV nเข้าชมทุกโหนดว่าครั้งเดียวและมีน้ำหนักที่มากที่สุดk ไหนยากกว่ากัน
หากเราไม่สนใจปัญหาด้านประสิทธิภาพมีอีกตัวอย่างหนึ่งที่แสดงให้เห็นถึงความแตกต่างจากการเปรียบเทียบ เรารู้ว่าปัญหาการหยุดชะงักไม่สามารถตัดสินใจได้: เนื่องจากได้รับรหัสสำหรับเครื่องทัวริงไม่มีวิธีที่มีประสิทธิภาพในการตรวจสอบว่าเครื่องหยุดทำงานหากไม่มีการป้อนข้อมูล
แต่ถ้าเครื่องไม่หยุดมันไม่ได้เป็นเรื่องยากที่จะพิสูจน์ให้คนอื่น: เพียงแค่บอกพวกเขาว่าหลายขั้นตอนเครื่องทำงานก่อนที่มันจะหยุด พวกเขาสามารถเรียกใช้เครื่องสำหรับหลาย ๆ ขั้นตอนนั้นและรู้ว่าคุณบอกความจริง (ไม่สนใจประสิทธิภาพแน่นอน)
ดังนั้นชุดของการหยุดเครื่องจักรทัวริงไม่สามารถตัดสินใจได้ แต่มันสามารถตรวจสอบได้ โปรดทราบว่าไม่จำเป็นต้องมีการพิสูจน์สำหรับเครื่องที่ไม่หยุด การยืนยันไม่สมมาตรในแง่ที่ว่ามีเพียงสมาชิกในชุดเท่านั้นที่สามารถตรวจสอบได้การเป็นสมาชิกนอกชุดไม่ได้
สถานการณ์ที่มี P และ NP คล้ายคลึงกัน ภาษาอยู่ใน NP หากมีระบบการพิสูจน์เช่นว่าแต่ละวัตถุที่อยู่ในภาษานั้นมีการพิสูจน์สั้น ๆ (ล้อมรอบด้วยพหุนามในขนาดของวัตถุ) ที่สามารถตรวจสอบได้อย่างมีประสิทธิภาพ (ด้วยจำนวนขั้นตอนที่ล้อมรอบด้วย พหุนามในขนาดของอินพุต)
ในอีกทางหนึ่งภาษาอยู่ใน P หากมีวิธีที่จะบอกได้ว่าวัตถุโดยพลการนั้นเป็นหรือไม่ได้อยู่ในภาษานั้นโดยใช้หลายขั้นตอนที่ล้อมรอบด้วยพหุนามในขนาดของวัตถุ ตอนนี้เราต้องกังวลเกี่ยวกับอินพุตโดยพลการไม่ใช่แค่วัตถุในภาษา แต่ปัญหานี้สมมาตร: ถ้าภาษาอยู่ใน P ดังนั้นมันจึงเป็นส่วนเติมเต็ม คำถามที่ว่าการเติมเต็มของภาษา NP ทุกภาษาเป็นปัญหาของ NP หรือไม่
(การเปรียบเทียบนี้แนะนำว่าปัญหา NP เป็นปัญหาของ P เช่นชุดใหม่คือชุดที่คำนวณได้ซึ่งค่อนข้างจริง แต่มันสามารถทำให้เข้าใจผิดได้มันเป็นข้อเท็จจริงพื้นฐานที่ชุดที่ได้รับใหม่และ co-re นั้นสามารถคำนวณได้ในขณะที่ ไม่ทราบว่าทุกชุดที่เป็น NP และ Co-NP อยู่ใน P)