ปัญหานี้ด้วยคือ coNP-hard (และ coNP-complete)k = 3
เพื่อพิสูจน์สิ่งนี้ฉันจะลดจาก 3-SAT เป็นส่วนเติมเต็มของปัญหานี้ (สำหรับวงจรกำหนดให้ทำหน้าที่เป็นฟังก์ชันที่ไม่มี bijective)ยังไม่มีข้อความC03
ก่อนอื่นให้คำจำกัดความเบื้องต้นว่าจะเป็นประโยชน์:
เรากำหนดกราฟที่มีป้ายกำกับให้เป็นกราฟกำกับซึ่งบางส่วนมีขอบกำกับด้วยตัวอักษรโดยมีคุณสมบัติที่ทุกจุดยอดมีขอบขาเข้าที่ไม่มีป้ายกำกับอย่างใดอย่างหนึ่งป้ายกำกับที่มีขอบด้านใดด้านหนึ่งหรือสองขอบที่ไม่มีป้ายกำกับ
การลด
สมมติว่าเรามีสูตร 3-SAT ประกอบด้วยm ส่วนคำแต่ละคำมีสามตัว ขั้นตอนแรกคือการสร้างที่ระบุว่ากราฟGจากφ กราฟที่มีป้ายกำกับมีสำเนาของแกดเจ็ตต่อไปนี้ (ขออภัยสำหรับแผนภาพที่น่ากลัว) สำหรับประโยคหนึ่งในแต่ละφ ขอบสามขอบที่มีป้ายกำกับ L1, L2 และ L3 แทนป้ายกำกับด้วยตัวอักษรในข้อแทนφม.Gφφ
|
| |
| |
| O<-----\
| ^ |
| | |
| | |
| /----->O |
| | ^ |
| | | |
| | | |
| O O O
| ^ ^ ^
| | | |
| |L1 |L2 |L3
| | | |
| O O O
| ^ ^ ^
| | | |
| | | |
| \------O------/
| ^
| |
| |
| O
| ^
| |
|
แกดเจ็ต (หนึ่งรายการสำหรับแต่ละประโยค) ทั้งหมดจัดเรียงในรอบใหญ่หนึ่งรอบและด้านล่างของแกดเจ็ตหนึ่งลิงก์ไปยังด้านบนของถัดไป
โปรดทราบว่าการจัดเรียงของแกดเจ็ตนี้ในความเป็นจริงจะสร้างกราฟที่มีป้ายกำกับ (จุดสุดยอดทุกอันมีค่า 1 หรือ 2 โดยมีเพียงขอบเท่านั้นที่นำไปสู่
จากสูตรและกราฟที่มีข้อความG (ซึ่งสร้างขึ้นจากϕ ) เราจะสร้างวงจรN C 0 3 (ต่อไปนี้จะสรุปการลดลง) จำนวนของปัจจัยการผลิตและผลของวงจรนี้คือn + Vที่nคือจำนวนของตัวแปรในφและโวลต์เป็นจำนวนของจุดในG หนึ่ง input และ output หนึ่งได้รับมอบหมายให้แต่ละตัวแปรในφและแต่ละจุดสุดยอดในG ถ้าxเป็นตัวแปรบางตัวในϕφGφยังไม่มีข้อความC03n + vnφโวลต์GϕGxϕจากนั้นเราจะอ้างถึงบิตอินพุตและเอาต์พุตที่เกี่ยวข้องกับเป็นx i nและx o u txxinxoutทีนอกจากนี้หากเป็นตัวอักษรที่มีL = xแล้วเรากำหนดลิตรฉันn = x ฉันnและหากลิตรเป็นตัวอักษรที่มีL = ¬ xแล้วเรากำหนดลิตรฉันn = ¬ x ฉัน n สุดท้ายถ้าvเป็นจุดยอดในGll=xล.ฉันn= xฉันnล.l = ¬ xล.ฉันn= ¬ xฉันnโวลต์Gแล้วเราจะอ้างถึง input และ output บิตที่เกี่ยวข้องกับเป็นวีฉันnและวีo ยูทีโวลต์vinvout
บิตเอาต์พุตมีสี่ประเภท:
1) สำหรับตัวแปรทุกในφ , x o U T = x ฉัน n โปรดทราบว่าเอาต์พุตนี้ขึ้นอยู่กับอินพุตบิตเดียวเท่านั้นxϕxout=xin
2) ทุกจุดสุดยอดในกราฟที่มีป้ายกำกับว่าหนึ่งขอบขาเข้า( U , V )เช่นที่ขอบไม่มีป้ายกำกับ, วีo U T = V ฉันn ⊕ U ฉัน n โปรดทราบว่าผลลัพธ์นี้ขึ้นอยู่กับเพียงสองบิตอินพุตv( u , v )โวลต์o ยูที= vฉันn⊕ ยูฉันn
3) ทุกจุดสุดยอดในกราฟที่มีป้ายกำกับว่าหนึ่งขอบขาเข้า( U , V )เช่นที่ขอบจะมีป้ายลิตร ,โวลต์( u , v )ล. ) หมายเหตุว่าการส่งออกนี้ขึ้นอยู่กับเพียงสามบิตอินพุตตั้งแต่ลิตรฉันnขึ้นอยู่กับ x ฉันnสำหรับสิ่งที่ตัวแปร xจะใช้ในตัวอักษรLโวลต์o ยูที= vฉันn⊕ ( คุณฉันn∧ lฉันn)ล.ฉันnxฉันnxล.
4) ทุกจุดสุดยอดในกราฟที่มีป้ายกำกับว่าสองขอบขาเข้า( U , V )และ( W , V ) , วีo U T = V ฉันn ⊕ ( U ฉันn ∨ W ฉันn ) โปรดทราบว่าผลลัพธ์นี้ขึ้นอยู่กับสามอินพุตบิตเท่านั้นโวลต์( u , v )( w , v )โวลต์o ยูที= vฉันn⊕ ( คุณฉันn∨ wฉันn)
เนื่องจากในทุกกรณีการส่งออกขึ้นอยู่กับปัจจัยการผลิตเพียงสามวงจรที่เราสร้างอยู่ในตามที่ต้องการยังไม่มีข้อความC03
กรณีพิสูจน์ความถูกต้อง 1: เป็นที่น่าพอใจφ
สมมติว่ามีอยู่ที่ได้รับมอบหมายที่น่าพอใจสำหรับφจากนั้นสร้างค่าสองชุดต่อไปนี้สำหรับอินพุตφ
1) อินพุตที่เกี่ยวข้องกับตัวแปรของจะได้รับค่าของการมอบหมายที่น่าพอใจ อินพุตทั้งหมดที่เกี่ยวข้องกับจุดยอดของGได้รับค่า 0φG
2) อินพุตที่เกี่ยวข้องกับตัวแปรของจะได้รับค่าของการมอบหมายที่น่าพอใจ พิจารณาจุดใน gadget ประโยคหนึ่งในG หากค่าของเลเบลเป็น 0 (ภายใต้การมอบหมายที่น่าพอใจ) อินพุตที่เชื่อมโยงกับจุดสุดยอดที่เป้าหมายปลายทางของขอบที่ติดเลเบลด้วยเลเบลนั้นจะได้รับค่า 0 หากทั้ง L1 และ L2 มีค่า 0 ดังนั้นที่สอง จุดสุดยอดบนแกดเจ็ต (ดังที่แสดงด้านบน) จะได้รับค่าเป็น 0 ด้วยจุดยอดอื่น ๆ ทั้งหมดจะได้รับค่า 1φG
เราต้องการแสดงให้เห็นว่าอินพุตทั้งสองชุดนี้ให้ผลลัพธ์เหมือนกันดังนั้นวงจรจึงไม่เข้ารหัสการเปลี่ยนแปลงยังไม่มีข้อความC03
พิจารณาบิตเอาต์พุตสี่ประเภท:
1) สำหรับตัวแปรทุกในφ , x o U T = x ฉัน n เนื่องจากx i nเหมือนกันสำหรับทั้งสองชุดอินพุตเอาต์พุตของแบบฟอร์มนี้จะเหมือนกันตลอดทั้งอินพุตสองชุดxφxo ยูที= xฉันnxฉันn
2) สำหรับทุกจุดยอดในกราฟที่มีป้ายกำกับที่มีขอบขาเข้าหนึ่งอัน( u , v )ที่ขอบนั้นไม่มีป้ายกำกับv o u tโวลต์( u , v ) n เมื่อตรวจสอบแกดเจ็ตที่มีการทำสำเนาขึ้น Gเราจะเห็นว่าขอบดังกล่าวทั้งหมดประกอบด้วยคู่ของจุดยอดที่มีค่าอินพุตอยู่เสมอ 1s ภายใต้อินพุตชุดที่สอง ดังนั้น v o u t = v i n ⊕ u i n = 0 ⊕ 0 =โวลต์o ยูที= vฉันn⊕ ยูฉันnGภายใต้อินพุตชุดแรกและ v o u t = v i n ⊕ u i n = 1 ⊕ 1 = 0ภายใต้อินพุตชุดที่สอง ดังนั้นเอาต์พุตของแบบฟอร์มนี้จะเหมือนกันเสมอ (และในความเป็นจริงศูนย์) ในอินพุตทั้งสองชุดโวลต์o ยูที= vฉันn⊕ ยูฉันn= 0 ⊕ 0 = 0โวลต์o ยูที= vฉันn⊕ ยูฉันn= 1 ⊕ 1 = 0
3) ทุกจุดสุดยอดในกราฟที่มีป้ายกำกับว่าหนึ่งขอบขาเข้า( U , V )เช่นที่ขอบจะมีป้ายL , V o U T = V ฉันn ⊕ ( U ฉันn ∧ ลิตร ) ถ้าlเป็นเท็จภายใต้การมอบหมายดังนั้นv i nคือ 0 ภายใต้อินพุตทั้งสองชุด จากนั้นv o u t = v ฉันn ⊕ ( คุณฉันn ∧โวลต์( u , v )ล.โวลต์o ยูที= vฉันn⊕ ( คุณฉันn∧ l )ล.โวลต์ฉันnภายใต้อินพุตทั้งสองชุด หาก lเป็นจริงภายใต้การมอบหมาย v i nเป็น 0 ภายใต้อินพุตชุดแรกและ 1 ภายใต้วินาที และโปรดทราบว่าใน Gadget ขอบที่มีข้อความเท่านั้น ( u , v )มีจุดยอด uซึ่งมี u i n = 1 เสมอโวลต์o ยูที= vฉันn⊕ ( คุณฉันn∧ l ) = vฉันn⊕ ( คุณฉันn∧ 0 ) = vฉันn= 0ล.โวลต์ฉันn( u , v )ยูยูฉันn= 1ภายใต้อินพุตชุดที่สอง เป็นผลให้เราเห็นว่าภายใต้ทั้งสองชุดของปัจจัยการผลิต = v ฉันn ⊕ ( คุณฉันn ∧ 1 ) = v ฉันn ⊕ คุณฉันn = v ฉันn ⊕ vยูฉันn= vฉันnเมื่อใดก็ตามที่เป็นจริง จากนั้นv o u t = v ฉันn ⊕ ( คุณฉันn ∧ l )ล.0 ดังนั้นเอาต์พุตของแบบฟอร์มนี้จะเหมือนกันเสมอ (และในความเป็นจริงศูนย์) ในอินพุตทั้งสองชุดโวลต์o ยูที= vฉันn⊕ ( คุณฉันn∧ l ) = vฉันn⊕ ( คุณฉันn∧ 1 ) = vฉันn⊕ ยูฉันn= vฉันn⊕ โวลต์ฉันn= 0
4) สำหรับทุกจุดยอดในกราฟที่มีป้ายกำกับซึ่งมีขอบขาเข้าสองอัน( u , v )และ(โวลต์( u , v ) ,วีo U T = V ฉันn ⊕ ( U ฉันn ∨ W ฉันn ) มีสองจุดดังกล่าวในแต่ละ gadget จุดสุดยอดด้านบนและจุดสุดยอดที่สองจากจุดสุดยอดด้านบน เราพิจารณาทั้งสองกรณีแยกกัน( w , v )vout=vin⊕(uin∨win)
4a) เมื่อเป็นจุดสุดยอดที่สองในแกดเจ็ตuและwคือจุดปลายเป้าหมายทั้งสองของขอบที่ระบุว่า L1 และ L2 ภายใต้อินพุตชุดแรก, v o u t = v i n ⊕ ( u ivuw0 ภายใต้ชุดที่สองของปัจจัยการผลิต U ฉันnคือ 0 IFF L1 มีค่า 0 ภายใต้ความพึงพอใจที่ได้รับมอบหมาย (aka U ฉันn =vout=vin⊕(uin∨win)=0⊕(0∨0)=0uin ); ในทำนองเดียวกัน w ฉันnคือ 0 iff L2 มีค่า 0 ภายใต้การมอบหมายที่น่าพอใจ (aka w ฉันn = L 2 ) และในที่สุด v i nถูกกำหนดให้เป็น 0 iff ทั้ง L1 และ L2 มีค่า 0 (aka v i n = L 1 ∨ L 2 ) ดังนั้นภายใต้อินพุตชุดที่สอง, v o u t = v ฉันn ⊕ ( คุณฉันn ∨ w ฉันn ) = (uin=L1winwin=L2vinvin=L1∨L2 0 ดังนั้นเอาต์พุตของแบบฟอร์มนี้จะเหมือนกันเสมอ (และในความเป็นจริงศูนย์) ในอินพุตทั้งสองชุดvout=vin⊕(uin∨win)=(L1∨L2)⊕(L1∨L2)=0
4b) เมื่อคือจุดสุดยอดด้านบนในแกดเจ็ตuคือจุดสุดยอดที่สองและwคือจุดสิ้นสุดเป้าหมายของขอบที่ระบุว่า L3 ภายใต้อินพุตชุดแรก, v o u t = v i n ⊕ ( u i n ∨ 1 ∨ L 2 ); w ฉันnคือ 0 iff L3 มีค่า 0 (aka w ฉันn = L 3 ); และในที่สุดก็v ฉันn = 1 ดังนั้นภายใต้อินพุตชุดที่สอง, v ovuw 0 ภายใต้ชุดที่สองของปัจจัยการผลิต U ฉันnคือ 0 IFF ทั้ง L1 และ L2 มีค่า 0 (aka U ฉันn = Lvout=vin⊕(uin∨win)=0⊕(0∨0)=0uinuin=L1∨L2winwin=L3vin=1โดยที่ความเสมอภาค ( L 1 ∨ L 2 ∨ L 3 ) = 1ถือตามคำจำกัดความในการมอบหมายที่น่าพอใจสำหรับทุกข้อ ดังนั้นเอาต์พุตของแบบฟอร์มนี้จะเหมือนกันเสมอ (และในความเป็นจริงศูนย์) ในอินพุตทั้งสองชุดvout=vin⊕(uin∨win)=1⊕((L1∨L2)∨L3)=1⊕(L1∨L2∨L3)=1⊕1=0(L1∨L2∨L3)=1
เห็นได้ชัดว่าเราเห็นว่าเอาต์พุตมีความเหมือนกันสำหรับอินพุตสองชุดที่แตกต่างกันดังนั้นวงจรทำหน้าที่เป็นฟังก์ชันที่ไม่ใช้ BijectiveNC03
กรณีพิสูจน์ความถูกต้อง 2: ไม่น่าพอใจϕ
สมมติว่าตอนนี้ที่มีอยู่ไม่มีการกำหนดความพึงพอใจสำหรับφจากนั้นสมมติว่ามีการขัดแย้งกันว่าอินพุตที่ต่างกันสองชุดจะนำไปสู่วงจรN C 0 3 ที่มีเอาต์พุตเหมือนกันϕNC03
เห็นได้ชัดว่าทั้งสองปัจจัยการผลิตจะต้องมีค่าเหมือนกันสำหรับตัวแปรทุกxในφ ดังนั้นเราจึงไม่น่าสงสัยตอนนี้อาจหมายถึงค่าของxxinxϕx
กำหนดให้เป็นชุดของจุดยอดvในGเช่นนั้นv i nจะแตกต่างกันในค่าอินพุตสองชุดSvGvin
เราจะพิสูจน์บทแทรกดังต่อไปนี้ด้านล่าง:
บทแทรกที่ 1: ถ้าใน gadget บางทั้งสามจุดที่ปลายทางเป้าหมายของขอบป้ายไม่ได้อยู่ในแล้วจุดดังกล่าวข้างต้นทั้งสามใน gadget ไม่มีอยู่ในSSS
บทแทรกที่ 2: ถ้าใน gadget บางจุดสุดยอดด้านบนไม่ได้อยู่ในแล้วใน gadget ขึ้นต่อไปไม่มีจุดสุดยอดอยู่ในSSS
เนื่องจากแกดเจ็ตเป็นรูปแบบลูปนี่ก็หมายความว่าหากในอุปกรณ์ใด ๆ จุดยอดทั้งสามที่จุดปลายทางเป้าหมายของขอบที่มีเลเบลนั้นไม่ได้อยู่ในดังนั้นไม่มีจุดยอดในGอยู่ในS (ในคำอื่น ๆSว่าง)SGSS
อย่างไรก็ตามพิจารณาอุปกรณ์ที่เกี่ยวข้องกับข้อที่ไม่พอใจ ใน gadget นี้ทั้งสามฉลากมีค่า 0. เรารู้ว่าขอบ( U , V )ที่มีป้ายกำกับLต้องตอบสนองวีo U T = V ฉันn ⊕ ( U ฉันn ∧ L )แต่L = 0ดังนั้นวีo ยูที = v i n(L1∨L2∨L3)(u,v)Lvout=vin⊕(uin∧L)L=0 n ดังนั้นเนื่องจากเอาต์พุตเหมือนกันสำหรับอินพุตทั้งสองค่าของ v i nจึงต้องเหมือนกันในทั้งสองชุดอินพุต ในคำอื่น ๆ ที่เราได้แสดงให้เห็นว่าวีไม่ได้อยู่ในS ดังนั้นเราจะเห็นว่าใน Gadget นี้โดยเฉพาะอย่างยิ่งในสามจุดที่ปลายทางเป้าหมายของขอบป้ายไม่ได้อยู่ในSvout=vin⊕(uin∧L)=vin⊕(uin∧0)=vin⊕0=vinvinvSS
เป็นผลให้เราสรุปได้ว่าว่างเปล่า อย่างไรก็ตามนี่ก็หมายความว่าระหว่างสองชุดของอินพุตไม่มีความแตกต่างซึ่งขัดแย้งกับสมมติฐานที่ว่าชุดอินพุตเหล่านี้แตกต่างกัน เป็นผลให้เราเห็นว่าฟังก์ชั่นที่ออกโดยวงจรN C 0 3นั้นเป็นแบบฉีดและดังนั้นจึงเป็น bijectionSNC03
สิ่งที่เหลืออยู่คือการพิสูจน์บทแทรก
ในการทำเช่นนี้เราทราบว่าสำหรับจุดยอดทุกประเภทใน (indegree 1 ที่มี label, indegree 1 ที่ไม่มี label และ indegree 2) หากขอบขาเข้าทั้งหมดมาจากจุดยอดที่ไม่อยู่ในSดังนั้นจุดยอดที่เป็นปัญหานั้นไม่ได้อยู่ในS . นี่เป็นเพราะในทั้งสามกรณีv o u t = v ฉันn ⊕GSSที่ Xคือฟังก์ชั่นบางส่วนของปัจจัยการผลิตที่เกี่ยวข้องกับตัวแปรและ / หรือจุดที่มีขอบไปวี เนื่องจากจุดยอดดังกล่าวทั้งหมดไม่ได้อยู่ใน Sโดยการสันนิษฐานค่าของ Xจะต้องเหมือนกันภายใต้อินพุตทั้งสองชุด ดังนั้น v ฉันvout=vin⊕XXvSXนั้นเหมือนกันภายใต้อินพุตทั้งสองชุด ในคำอื่น ๆโวลต์ไม่ได้อยู่ในSvin=vout⊕XvS
ตอนนี้เรามีกฎว่าจุดสุดยอดไม่ได้อยู่ในทุกครั้งที่บรรพบุรุษของมันไม่ได้อยู่ในS , บทแทรกตามด้วยการใช้กฎซ้ำ ๆ กับแผนภาพไดอะแกรมด้านบนSS