มีข้อบกพร่องใน NP ของฉัน = หลักฐาน CoNP?


12

ฉันมี "การพิสูจน์" ที่ง่ายมากสำหรับ NP = CoNP และฉันคิดว่าฉันทำอะไรผิดที่ แต่ฉันไม่สามารถหาสิ่งที่ผิดได้ มีคนช่วยฉันได้ไหม

ให้ A เป็นปัญหาบางอย่างใน NP และให้ M เป็นตัวตัดสินใจสำหรับ A. ให้ B เป็นส่วนประกอบเช่น B อยู่ใน CoNP เนื่องจาก M เป็นตัวตัดสินใจคุณสามารถใช้มันเพื่อตัดสินใจ B เช่นกัน (เพียงแค่พลิกคำตอบ) นั่นไม่ได้หมายความว่าเราจะแก้ปัญหาทั้งปัญหา NP และ CoNP ด้วย M เดียวกันหรือไม่?

ที่จะทำให้มันดูเป็นรูปธรรมมากขึ้น

ให้ A เป็นปัญหาที่สมบูรณ์แบบของ NP และให้ M เป็นตัวตัดสินใจสำหรับ A. พิจารณาปัญหา B ใด ๆ ใน CoNP เราพิจารณาส่วนประกอบที่ไม่ใช่ B ซึ่งอยู่ใน NP แล้วลดพหุนามเป็น A จากนั้นเราเรียกใช้ decider M ของเราและพลิกคำตอบของเรา เราได้รับ decider สำหรับ B นี่ก็หมายความว่า B อยู่ใน NP เช่นกัน

ฉันขอทราบเหตุผลของฉันได้ไหม


2
เนื่องจากคำตอบด้านล่างอธิบายตามความยาวคุณไม่ได้ใช้แนวคิดเรื่อง "decider" อย่างถูกต้อง ปัญหาใน coNP ไม่ใช่ปัญหาของ "ตัวพลิก NP decider" มีความสำคัญในปัญหาต่าง ๆ ระหว่างการยอมรับการป้อนข้อมูลสมรู้ร่วมคิด ("ไม่มีทางเลือกที่กำหนด - ซึ่งจะนำไปสู่การยอมรับ") และปฏิเสธมัน อาร์กิวเมนต์ของคุณอนุมานว่าสำหรับ NP ที่ปฏิเสธสตริงหมายความว่า ("มีตัวเลือกที่ไม่สามารถตัดสินใจได้ซึ่งนำไปสู่การปฏิเสธ") และนั่นคือข้อบกพร่อง พูดอีกอย่างก็คือคุณทำให้ปริมาณของคุณปะปนกัน
Andrej Bauer

1
คุณอาจพบคำตอบสำหรับคำถามนี้ที่ให้ความกระจ่าง
Raphael

@ ราฟาเอลน่าแปลกที่คำถามนั้นไม่ได้พูดถึง co-NP เลย! (แม้ว่าฉันเห็นด้วยว่ามันเป็นประโยชน์สำหรับคนที่ไม่แน่ใจเกี่ยวกับสิ่งนี้อ่าน)
เดวิด Richerby

@DavidRicherby เนื่องจากคำตอบคือโดยทั่วไป "ใช้คำจำกัดความของ NP แทนปรีชาสมบูรณ์" ฉันหวังว่าจะเป็นอย่างนั้น!
Raphael

1
Rule of thumb: โครงสร้าง "flip final final" ใช้งานได้เฉพาะกับรุ่นเด็ดเดี่ยวเท่านั้น ศึกษาว่า NFA ล้มเหลวในการทำความเข้าใจว่าทำไม ดูเพิ่มเติมที่นี่และที่นี่
Raphael

คำตอบ:


16

มีข้อบกพร่องสองข้อที่เป็นไปได้ในการพิสูจน์นี้:

  1. เมื่อคุณพูดว่า "decider" - คุณหมายถึงเครื่องกำหนดค่า TM ในกรณีนี้การแปลที่ดีที่สุด (เพื่อความรู้ของเรา) จากเครื่อง NP กับเครื่องกำหนดอาจทำให้ได้เครื่องที่วิ่งในเวลาชี้แจงดังนั้นหลังจากการพึ่งพาคุณจะมี decider สำหรับเติมเต็มในเวลาที่ชี้แจงได้พิสูจน์ว่า (หรือหลังจากการปรับให้เหมาะสมแล้ว )c o - N P P S P A C EcoNPEXPcoNPPSPACE

  2. เมื่อคุณพูดว่า "decider" คุณหมายถึง nondeterministic TM ในกรณีนี้การพลิกคำตอบไม่จำเป็นต้องเสริมภาษา อันที่จริงภาษาของเครื่องที่พลิกจะเป็นคำทั้งหมดที่มีการปฏิเสธการทำงานของในMw


ฉันไม่แน่ใจว่าทำไมถึงเป็นเช่นนั้น นิยามของ decider ของฉันคือฉันยอมรับถ้าอินพุตอยู่ใน L และปฏิเสธถ้าอินพุตไม่ได้อยู่ใน L decider นี้สามารถกำหนดได้หรือไม่กำหนด อย่างไรก็ตามฉันบอกว่า L อยู่ใน NP และดังนั้นถ้าฉันใช้ TM ที่ไม่ได้กำหนดค่าไว้ฉันจะใช้เวลาพหุนาม นอกจากนี้ฉันขอทราบด้วยว่าทำไมการพลิกบิตจึงไม่จำเป็นต้องเสริมภาษา ตามความรู้ของฉัน CoNP = {L | ไม่ใช่ L \ in NP} ดังนั้นถ้าฉันพลิกบิตฉันควรได้รับคำตอบ?

LetNP พิจารณา nondeterministic TM ที่ใช้งานได้ดังต่อไปนี้ - ในการรันครั้งเดียวมันจะเอาต์พุต "ปฏิเสธ" เสมอ ในการวิ่งอื่น ๆ จะรู้จักในเวลาพหุนาม (เป็นไปได้ตั้งแต่ ) พิจารณาสิ่งที่เกิดขึ้นถ้าคุณพลิกบิต - ระยะปฏิเสธกลายเป็นที่ยอมรับสำหรับทุกการป้อนข้อมูลเพื่อให้เครื่องครบครันตระหนัก - ที่ไม่สมบูรณ์เว้นแต่Lฉันขอแนะนำให้คุณทบทวนคำจำกัดความของลัทธิ nondeterminism ให้เข้าใจอย่างถ่องแท้ L L N P Σ L = LNPLLNPΣL=
Shaull

ฉันไม่ได้หมายความว่าฉันพลิกบิตของเส้นทางการคำนวณทุกครั้ง สิ่งที่ฉันหมายถึงคือถ้า TM ของฉันยอมรับนี่หมายความว่ามีเส้นทางการคำนวณที่มีสถานะการยอมรับ นี่หมายความว่า L อยู่ใน NP ซึ่งหมายถึงส่วนประกอบที่อยู่ใน coNP หาก TM ของฉันปฏิเสธแสดงว่าเส้นทางการคำนวณทุกเส้นทางนั้นปฏิเสธ ซึ่งหมายความว่าส่วนประกอบอยู่ใน NP ซึ่งหมายความว่า L อยู่ใน CoNP

4
@simpleton: คุณรู้ไหมว่า NTM ไม่สามารถเข้าถึงเส้นทางทั้งหมดในครั้งเดียวได้เพียงเส้นทางเดียว คุณคิดว่าเป็นคนที่วิเคราะห์พฤติกรรมของ NTM อย่างไม่แน่นอนจากภายนอก
frafl

7
ฉันคิดว่า OP น่าจะได้ประโยชน์จากการค้นหาคำจำกัดความของ NP อย่างระมัดระวังมากขึ้น
MCH

15

นี่เป็นอีกวิธีหนึ่งในการดูจุดที่ Shaull ทำเกี่ยวกับ "deciders"

ปัญหาอยู่ในNPถ้าหากว่ามีอัลกอริทึมเช่นนั้นV:{0,1}n×{0,1}poly(n){0,1}

  • สำหรับทุก ๆ YES เช่นมีใบรับรองเช่นนั้น ; และx{0,1}np{0,1}poly(n)V(x,p)=1

  • สำหรับทุก ๆ อินสแตนซ์ NOเรามีสำหรับทุก . V ( x , p ) = 0 p { 0 , 1 } p o l y ( n )x{0,1}nV(x,p)=0p{0,1}poly(n)

สิ่งเหล่านี้มักจะถูกอธิบายว่าเป็นความสมบูรณ์และความสมบูรณ์สำหรับอัลกอริธึมการตรวจสอบความถูกต้องของเอ็นพี : เงื่อนไข "ความสมบูรณ์" กล่าวว่าอินสแตนซ์ของ YES ทุกใบมีใบรับรองและเงื่อนไข "ความสมบูรณ์" กล่าวว่า สำหรับcoNPเป็นวิธีอื่น: มีอัลกอริทึมการตรวจสอบซึ่งจะยอมรับใบรับรองอย่างน้อยหนึ่งรายการสำหรับอินสแตนซ์ NO ใด ๆ แต่ไม่สามารถหลอกได้โดยอินสแตนซ์ YES

หากคุณต้องการแสดงให้เห็นว่าNPcoNPคุณต้องแสดงให้เห็นว่าทุกปัญหาของNPมีตัวตรวจสอบชนิดcoNPซึ่งสามารถรับรองอินสแตนซ์ NO แทนอินสแตนซ์ YES ได้ คุณไม่สามารถทำเช่นนี้กับเครื่องทัวริง nondeterministic: มีวิธีการที่เรารู้ว่าไม่มีเช่นให้มีประสิทธิภาพ map กรณีของ SAT กับอีกคนหนึ่งในลักษณะดังกล่าวว่าทุกสูตร unsatisfiable ถูกแมปกับคนที่น่าพอใจและในทางกลับกัน. (การลบเอาต์พุตของสูตรนั้นไม่เพียงพอตัวอย่างเช่นสูตรที่น่าพอใจ แต่ไม่ได้เน้นเรื่องความซ้ำซากเท่านั้นที่จะถูกแมปไปยังสูตรอื่นที่น่าพอใจ แต่ไม่ใช่เรื่องที่น่าเบื่อเมื่อเราต้องการสูตรที่ไม่พอใจแทน) ไม่มีทางที่เราจะรู้ได้ว่า 'หลอก' เครื่องตรวจสอบแบบไร้เดียงสาในการตรวจจับอะไรที่เหมือนเส้นทางทั้งหมดที่กำลังปฏิเสธเส้นทาง

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

  • ตัวอย่างเช่นถ้าคุณติดตั้งเครื่องทัวริง (กำหนดค่า) ด้วยoracle NPแล้วปัญหาที่สามารถแก้ไขได้ในเวลาพหุนามในเครื่องนั้นเรียกว่าซึ่งมักจะเขียน{NP}} "oracle" ช่วยให้เครื่องสามารถรับคำตอบของปัญหาที่ไม่สมบูรณ์ได้ในขั้นตอนเดียวและเห็นได้ชัดว่ามีP ; และเนื่องจากคุณสามารถปฏิเสธคำตอบได้อย่างชัดเจนจึงมีcoNPด้วย แต่เราไม่ทราบว่ามีการกักกันย้อนกลับหรือไม่เพราะเราไม่รู้ว่าจะหลอกเครื่องทัวริงที่กำหนดให้ตรวจหาคำตอบที่ไม่ได้หรือไม่ P N P P N PΔ2PPNPPNP

  • ยิ่งไปกว่านั้นถ้าคุณให้ทัวริงเครื่องจักรแบบ nondeterministicสามารถรู้ถึงผลลัพธ์ของปัญหาในNPปัญหาที่เครื่องจักรสามารถแก้ไขได้ในเวลาพหุนามเรียกว่าหรือและนี้เป็นที่เชื่อกันอย่างกว้างขวางเป็นอย่างเคร่งครัดขนาดใหญ่กว่าระดับ{NP}} นอกจากนี้ยังมีทั้งNPและcoNP - แต่เช่นเดียวกับNPไม่ทราบว่าถูกปิดภายใต้การเติม: เครื่อง oracle nondeterministic อาจจะสามารถรู้เมื่อเกิดปัญหาในNP N P N P P N PΣ2PNPNPPNPมีคำตอบที่ไม่เพราะ oracle แต่มันก็ยังคงติดอยู่กับการดำเนินงานภายในหนึ่งในสาขาการคำนวณของตัวเอง (ค่อนข้างมีประสิทธิภาพ) เพื่อที่มันจะไม่สามารถบอกได้ว่าสาขาการคำนวณของตัวเองทั้งหมดถูกปฏิเสธหรือไม่

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

ดังนั้นไม่ไม่มีเครื่องจักร (กำหนดขึ้นหรืออย่างอื่น) ซึ่งสามารถ 'ตัดสินใจ' ว่าปัญหานั้นเป็นปัญหาที่เกิดขึ้นกับ YES หรือไม่ใช่อย่างมีประสิทธิภาพเว้นแต่เราจะใช้ oracles; แต่แม้จะมีเช่น oracle เราจบลงด้วยเครื่องซึ่ง (อาจ) อื่น ๆที่มีประสิทธิภาพกว่าทั้งNPหรือcoNPไม่หนึ่งที่แสดงให้เห็นว่าพวกเขากำลังเท่ากัน


สวัสดีขอบคุณและ Shauli สำหรับความคิดเห็น คุณกำลังบอกว่า NTM สามารถจดจำภาษา NP ใน polytime แต่ไม่สามารถตัดสินใจภาษา NP ใน polytime ได้? ฉันคิดว่านั่นคือสิ่งที่ฉันสมมติว่าเมื่อฉันพูดว่าฉันมี decider สำหรับปัญหา NP
simpleton

2
โอ้ฉันคิดว่าฉันเข้าใจในสิ่งที่คุณหมายถึง คุณกำลังบอกว่าฉันใช้ oracle reduction และนั่นแสดงให้เห็นว่าปัญหานั้นอยู่ใน (ซึ่งเป็นจริงเพราะและ ) การลดลงของออราเคิลแสดงให้เห็นว่า UNSAT นั้นเป็นเรื่องยาก แต่ฉันก็ยังต้องแสดงให้เห็นว่าและฉันไม่สามารถแสดงสิ่งนั้นได้? PNPNPPNPCoNPPNPUNSATNP
simpleton

5
NP-hardness ถูกกำหนดด้วยการลดหลายค่าไม่ใช่การลด oracle
Yuval Filmus

6

เหตุผลของคุณแสดงถึงว่า RE = coRE แต่นี่เป็นสิ่งที่พิสูจน์ได้ว่าผิด คุณสามารถลองพิสูจน์หลักฐานนั้นแล้วดูว่าการลดลงของคุณล้มเหลวที่ไหน

จำได้ว่า RE เป็นชั้นความซับซ้อนของภาษานับซ้ำซึ่งเป็นภาษาของแบบฟอร์ม\} นอกจากนี้คุณยังสามารถคิดได้ในเงื่อนไขที่ไม่ได้กำหนด: RE คือคลาสของภาษาในรูปแบบโดยที่ซ้ำ ( คำนวณ){x:P halts on input x}{x:(x,w)L for some w}L

นี่เป็นข้อพิสูจน์ว่าคำจำกัดความทั้งสองตรงกัน สมมติว่าแรก Let\} ภาษาเป็น recursive และ\}L={x:p halts on input x}L={(x,w):p halts on input x in w steps}LL={x:(x,w)L for some w}

สำหรับทิศทางอื่น ๆ ให้ที่เป็น recursive พูดคำนวณโดยใช้โปรแกรมW) เราสร้างโปรแกรมใหม่ซึ่งระบุเป็นไปได้ทั้งหมดและรันบนทั้งหมดตามลำดับ ถ้าเคยยอมรับในบางดังนั้นหยุด มันไม่ได้เป็นเรื่องยากที่จะตรวจสอบว่า\}L={x:(x,w)L for some w}LP(x,w)Q(x)wP(x,w)wP(x,w)wQL={x:Q halts on input x}

เพื่อความสะดวกของคุณนี่คือโครงร่างสำหรับการพิสูจน์ว่า RE นั้นแตกต่างจาก coRE ภาษาเป็นอย่างชัดเจนซ้ำนับ: โปรแกรมสำหรับมันก็วิ่งบนxสมมติว่ามีโปรแกรมดังกล่าวว่าหยุดและถ้าหากL เรากำหนดโปรแกรมใหม่โดยx) คือหรือไม่ ถ้าเป็นเช่นนั้นหยุดในดังนั้นหยุดพักบนดังนั้นL ถ้าแล้วL={(P,x):P halts on input x}PxHH(P,x)(P,x)LGG(x)=H(x,x)(G,G)LGGH(G,G)( G , G ) L G G H ( G , G ) ( G , G ) L H(G,G)L(G,G)LGไม่ได้หยุดในดังนั้นไม่หยุดบนดังนั้นL ความขัดแย้งนี้แสดงให้เห็นว่าไม่สามารถดำรงอยู่ได้GH(G,G)(G,G)LH

ตอนนี้พยายามเรียกใช้หลักฐานของคุณในกรณีนี้และดูว่ามีอะไรผิดพลาด โดยละเอียดยิ่งขึ้นลองสร้างโปรแกรมโดยใช้สูตรของคุณและทำตามการพิสูจน์ - ในบางจุดบางสิ่งอาจไม่ถูกต้องนักH


2

นี่คือ TL; DR version; ฉันยังโพสต์คำตอบที่ยาวกว่าสำหรับคำถามที่คล้ายกัน

สมมติว่าเรามีภาษาที่การตัดสินใจในเวลาพหุนามโดย nondeterministic ทัวริงเครื่อง  Mประเด็นก็คือว่า IFF มี  มีบางเส้นทางการยอมรับการป้อนข้อมูล  xอย่างไรก็ตามเนื่องจาก  เป็น nondeterministic จึงอาจมีการปฏิเสธเส้นทางเมื่อมันทำงานบน M x A M x M xAMxAMxMx. หากคุณเพียงแค่ย้อนกลับสถานะการยอมรับและการปฏิเสธคุณจะไปจากเครื่องที่มีเส้นทางที่ยอมรับและบางรายการปฏิเสธไปยังเครื่องที่มีเส้นทางปฏิเสธและบางรายการยอมรับ มันยังคงยอมรับเส้นทางดังนั้นมันจึงยังคงยอมรับ การพลิกสถานะการยอมรับและการปฏิเสธของเครื่อง nondeterministic นั้นโดยทั่วไปแล้วจะไม่ทำให้คุณยอมรับภาษาที่สมบูรณ์

มันคือความไม่สมดุลของคำจำกัดความ (ยอมรับหากเส้นทางใดยอมรับ; ปฏิเสธเฉพาะในกรณีที่ทุกเส้นทางปฏิเสธ) ที่ทำให้ปัญหา NPกับco-NPปัญหายาก


-2

ฉันยอมรับว่าเครื่อง nondeterministic ของคุณ M สามารถตัดสินใจได้ว่าสตริงอินพุตที่กำหนดนั้นเป็น B หรือไม่อย่างไรก็ตามมัน "ตัดสินใจ" แตกต่างจากที่มันตัดสินใจเล็กน้อยหากอินพุตที่กำหนดนั้นเป็น A ในกรณีหลังมันทำได้โดย ( nondeterministically) การค้นหาสถานะการยอมรับ ในกรณีก่อนหน้านี้จะทำเช่นนั้นโดยไม่พบสถานะการยอมรับใด ๆ ทำไมความแตกต่างนี้จึงสำคัญ มาดูกัน:

เมื่อถาม M "สตริงเป็นภาษา A หรือไม่?"

M ถึงสถานะที่ยอมรับ สิ่งนี้คุณสามารถพิสูจน์ได้ (ดูตัวอย่างเช่นทฤษฎีบทของหนังสือ Sipser 7.20) บอกเป็นนัยว่ามีเครื่องกำหนดค่าที่ตรวจสอบว่าสตริงอยู่ใน A ในเวลาพหุนาม

เมื่อถาม M "สตริงเป็นภาษา B หรือไม่"

M เข้าถึงรัฐที่ปฏิเสธในทุกสาขาของการคำนวณแบบ nondeterministic หากคุณคิดว่าตัวตรวจสอบหลักฐานทำงานอย่างไรคุณจะเห็นว่าไม่สามารถทำได้ในสถานการณ์นี้ นี่เป็นเรื่องคร่าวๆเนื่องจากผู้ตรวจสอบใช้เส้นทางที่ M รับผ่านพื้นที่รัฐเป็น "พิสูจน์" ในกรณีนี้ไม่มีเส้นทางดังกล่าว

สรุป:

หากคุณพิจารณาการมีอยู่ของตัวตรวจสอบกำหนดเวลาพหุนามสำหรับภาษาที่เป็นนิยามของภาษา NP (ซึ่งคุณควร) การมีอยู่ของ M ไม่ได้พิสูจน์ว่า B อยู่ใน NP


1
การดำรงอยู่ของไม่ได้พิสูจน์ว่าอยู่ในNPแม่นยำเพราะคุณต้องใช้นี้ "แปลก" ยอมรับเกณฑ์ที่จะทำให้มัน "ยอมรับ" BNPถูกกำหนดผ่านเกณฑ์การยอมรับแบบ nondeterministic แบบดั้งเดิม (เกณฑ์การยอมรับเป็นเรื่องแปลกเล็กน้อยเนื่องจากคำถามพูดถึงการพลิกการยอมรับและปฏิเสธรัฐในแต่คุณดูเหมือนจะไม่ทำเช่นนั้น)B B MMBBM
David Richerby
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.