อะไรคือความแตกต่างระหว่าง“ การตัดสินใจ” และ“ การยืนยัน” ในทฤษฎีความซับซ้อน?


16

ในทฤษฎีการคำนวณของ Michael Sipser's ในหน้า 270 เขาเขียน:

P = คลาสของภาษาที่สมาชิกสามารถตัดสินใจได้อย่างรวดเร็ว
NP = คลาสของภาษาที่สามารถตรวจสอบความเป็นสมาชิกได้อย่างรวดเร็ว

อะไรคือความแตกต่างระหว่าง "ตัดสินใจ" และ "ยืนยัน"?


1
โดยวิธีการที่ฉันมั่นใจว่า pices ราคาไม่ได้เป็นคำจำกัดความอย่างเป็นทางการของ P และ NP Sipser ใช้ คำจำกัดความ (หรือบางส่วนของผลลัพธ์แรก) ควรตอบคำถาม
ราฟาเอล

คำตอบ:


12

ภารกิจในการตัดสินใจเป็นสมาชิกคือ: รับอินพุตใด ๆตัดสินใจเลือกx Lเช่นคำนวณฟังก์ชันต่อไปนี้:xxL

χL(x)={1xL0xL

บนมืออื่น ๆ , งานของการตรวจสอบการเป็นสมาชิก: ให้ป้อนข้อมูลใด ๆและ (เสนอ) หลักฐาน (หรือพยาน ) ของการเป็นสมาชิกให้ตรวจสอบได้อย่างรวดเร็วอากาศx Lโดยหลักฐานว่า ¹xxL

ตัวอย่างเช่นพิจารณาตัวประกอบหลัก ได้รับคำนวณปัจจัยสำคัญทั้งหมดของn บนมืออื่น ๆ ที่ได้รับ( n , { ฉัน1 , ... , ฉันk } )ตรวจสอบว่าΠ k J = 1ฉันJ = n ไหนง่ายกว่ากันnNn(n,{i1,,ik})j=1kij=n

อีกตัวอย่างหนึ่ง: ให้กราฟถ่วงน้ำหนักตัดสินใจสภาพอากาศมีวงกลมแฮมิลตัน (ว่าการเข้าชมทุกโหนด) ที่มีน้ำหนักมากที่สุดk บนมืออื่น ๆ ที่ได้รับ( G , ( วี1 , ... , V n ) )ตรวจสอบสภาพอากาศเส้นทางโวลต์1 →การ→การV nเข้าชมทุกโหนดว่าครั้งเดียวและมีน้ำหนักที่มากที่สุดk ไหนยากกว่ากันG=(V,E)k(G,(v1,,vn))v1vnk


  1. ดังนั้นคุณจะพูดว่า "ไม่" ถ้าแต่การพิสูจน์ผิด แม้ว่าจะเป็นเรื่องที่ดี แต่เมื่อเราพิจารณาเครื่องจักรแบบไม่เชิงปกครองในบริบทนี้ เป็นสิ่งสำคัญเท่านั้นที่เราสามารถคาดเดาหลักฐานที่ถูกต้องและตรวจสอบได้ (อย่างรวดเร็ว)xL

ที่จริงถ้าคุณสามารถตรวจสอบการเป็นสมาชิกในเวลาพหุนามที่มีกำหนดขึ้นเครื่องทัวริง M มันค่อนข้างง่ายในการสร้างที่ไม่ได้กำหนด TM M' ซึ่งตัดสินใจที่สมาชิก: ไม่ใช่ deterministically เป็นไปได้ทั้งหมดปัจจัยการผลิตเพียงแค่การระบุแล้วประกอบกับเอ็ม
Romuald

8

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

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

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

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

ในอีกทางหนึ่งภาษาอยู่ใน P หากมีวิธีที่จะบอกได้ว่าวัตถุโดยพลการนั้นเป็นหรือไม่ได้อยู่ในภาษานั้นโดยใช้หลายขั้นตอนที่ล้อมรอบด้วยพหุนามในขนาดของวัตถุ ตอนนี้เราต้องกังวลเกี่ยวกับอินพุตโดยพลการไม่ใช่แค่วัตถุในภาษา แต่ปัญหานี้สมมาตร: ถ้าภาษาอยู่ใน P ดังนั้นมันจึงเป็นส่วนเติมเต็ม คำถามที่ว่าการเติมเต็มของภาษา NP ทุกภาษาเป็นปัญหาของ NP หรือไม่

(การเปรียบเทียบนี้แนะนำว่าปัญหา NP เป็นปัญหาของ P เช่นชุดใหม่คือชุดที่คำนวณได้ซึ่งค่อนข้างจริง แต่มันสามารถทำให้เข้าใจผิดได้มันเป็นข้อเท็จจริงพื้นฐานที่ชุดที่ได้รับใหม่และ co-re นั้นสามารถคำนวณได้ในขณะที่ ไม่ทราบว่าทุกชุดที่เป็น NP และ Co-NP อยู่ใน P)

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.