ile olan bu problem coNP-zordur (ve bu nedenle coNP-komple).k = 3
Bunu kanıtlamak için, bu sorun çıkarmak için 3-SAT gelen azaltacaktır (belirli bir için devresi, devre sahnelemek olmayan örten işlev yapar).N-C03
İlk önce yardımcı olacak bir ön tanım:
Etiketlenmiş bir grafiği, bazılarının kenarları değişmezlerle etiketlenmiş, her köşenin bir etiketlenmemiş gelen kenarı, bir etiketli gelen kenarı veya iki etiketlenmemiş gelen kenarı içermesi özelliğine sahip, yönlendirilmiş bir grafik olarak tanımlarız.
Azaltma
Farz edelim ki her biri üç harf içeren m oluşan 3 SAT formülümüz var . İlk adım, etiketlenmiş bir grafiktir inşa etmektir G den cp . Bu etiketli grafik, gad'daki her bir cümle için aşağıdaki gadget'ın bir kopyasını (korkunç diyagram için özür dilerim) içerir . L1, L2 ve L3 etiketli üç kenar, bunun yerine, maddede yer alan harflerle yazılmış.φmG,φφ
|
| |
| |
| O<-----\
| ^ |
| | |
| | |
| /----->O |
| | ^ |
| | | |
| | | |
| O O O
| ^ ^ ^
| | | |
| |L1 |L2 |L3
| | | |
| O O O
| ^ ^ ^
| | | |
| | | |
| \------O------/
| ^
| |
| |
| O
| ^
| |
|
Gadget'lar (her maddeye göre birer tane) tümü, bir gadget'ın diğeri bir sonrakinin üstüne bağlanan büyük bir döngüde düzenlenir.
Aslında, bu gadget'ların düzenlenmesinin etiketli bir grafik oluşturduğunu unutmayın (her köşenin yalnızca 1 veya 2 değerine sahip olması, yalnızca kenarlık 1'in köşelerinin etiketlenmesini sağlar).
Formül kaynaktan ve etiketlenmiş grafik G (oluşturulurdu cp ) bir sonraki bir yapı , N Cı- 0 3 devre (bu azalma tamamlanır). Bu devre için giriş ve çıkışların sayısını , n + v , n değişkenlerin sayısı cp ve v de köşe sayısıdır G . Bir giriş ve bir çıkış her değişkene ϕ olarak ve G içindeki her köşeye atanır . Eğer x bazı değişkendir cpφG,φN-C03n + vnφvG,φG,xφo zaman ilişkili giriş ve çıkış bitleri değinecektir olarak x i , n ve X O u t . Ayrıca, eğer l , l = x olan bir değişmez ise, o zaman l i n = x i n ve l ise l = ¬ x olan bir değişmez ise, o zaman l i n = ¬ x i n olarak tanımlarız . Son olarak, v'nin G cinsinden bir tepe noktası isexxben nxO u tll = xlben n= xben nll = ¬ xlben n= ¬ xben nvG,o zaman ilişkili giriş ve çıkış bitleri değinecektir olarak v ı n ve V O u t .vvben nvO u t
Dört tür çıkış biti vardır:
1) Her değişkeni için ϕ , x o u t = x i n . Bu çıkışın yalnızca bir giriş bitine bağlı olduğunu unutmayın.xφxO u t= xben n
2) Her köşe için tam olarak bir gelen kenarı ile etiketlenmiş grafikte ( u , v ) kenar etiketsiz şekilde, v O u t = v ı n ⊕ u ı n . Bu çıkışın sadece iki giriş bitine bağlı olduğunu unutmayın.v( u , v )vO u t= vben n⊕ uben n
3) Her köşe için tam olarak bir gelen kenarı ile etiketlenmiş grafikte ( u , v ) kenar etiketli şekilde l , v O u t = v ı n ⊕ ( u ı n ∧ l i , n ) . Not, bu çıkış, sadece üç giriş bit bağlıdır çünkü L ı n yalnızca bağlıdır x i , n değişkeni ne olursa olsun x hazır kullanılır l .v( u , v )lvO u t= vben n⊕ ( uben n∧ lben n)lben nxben nxl
4) Her köşe için tam olarak iki gelen kenarları ile etiketlenmiş grafikte ( u , v ) ve ( a , h ) , v O u t = v ı n ⊕ ( u ı n ∨ w i , n ) . Bu çıkışın sadece üç giriş bitine bağlı olduğunu unutmayın.v( u , v )( w , v )vO u t= vben n⊕ ( uben n∨ wben n)
Her durumda, çıkış yalnızca üç girişe bağlı olduğundan, oluşturduğumuz devre istenildiği gibi .N-C03
Doğruluk kanıtı durum 1: karşılanabilirφ
Diyelim ki için tatmin edici bir görev var . Ardından, girişler için aşağıdaki iki değer kümesini oluşturun.φ
1) değişkenleri ile ilgili girişler tatmin atama değerleri verilmiştir. G'nin köşeleriyle ilişkili girdilerin tümüne 0 değeri verilmiştir.φG,
2) değişkenleri ile ilgili girişler tatmin atama değerleri verilmiştir. Bir fıkra gadget tepe noktalarını düşünün G . Bir etiketin değeri 0 ise (tatmin edici ödevin altında), bu etiketle etiketlenmiş kenarın hedef son noktasında tepe noktasıyla ilişkilendirilmiş girişe 0 değeri verilir. Hem L1 hem de L2'nin değeri 0 ise, ikinci -Parçadaki tepe noktasına (yukarıda gösterildiği gibi) da 0 değeri verilir. Diğer tüm köşe noktalarına 1 değeri verilir.φG,
Bu iki giriş grubunun aynı çıkışlar verdiğini ve bu nedenle devresinin bir permütasyon kodlamadığını göstermek istiyoruz.N-C03
Dört tip bit bitini göz önünde bulundurun:
1) Her değişkeni için ϕ , x o u t = x i n . Yana x i , n girişlerin her iki seti için aynıdır, bu formun çıkışları zaman girdileri iki takım aynı olacaktır.xφxO u t= xben nxben n
2) Her köşe için tam olarak bir gelen kenarı ile etiketlenmiş grafikte ( u , v ) kenar etiketsiz şekilde, v O u t = v ı n ⊕ u ı n . Kopyaları G olan aracı incelerken, tüm bu kenarların yalnızca girdi değerleri ikinci girdi kümesinin altında her zaman 1 olan köşeler çiftlerinden oluştuğunu görürüz. Böylece v O u t = v ı n ⊕ U i , n = 0 ⊕ 0 =v( u , v )vO u t= vben n⊕ uben nG, girişlerin ilk kümesi altında ve v O u t = v ı n ⊕ U i , n = 1 ⊕ 1 = 0 girişlerin ikinci kümesi altında. Böylece, bu formun çıktıları iki girdi kümesinde her zaman aynı (ve aslında sıfır) olacaktır.vO u t= vben n⊕ uben n= 0 ⊕ 0 = 0vO u t= vben n⊕ uben n= 1 ⊕ 1 = 0
3) Etiketli grafikteki her köşe için, tam olarak bir gelen kenarı ( u , v ) , kenarları l , v o u t = v i n ⊕ ( u i n ∧ l ) olarak etiketleyin . Eğer ödev altında l yanlışsa , her iki giriş kümesinde v i n 0 olur; o zaman v o u t = v i n ⊕ ( u i n ∧v( u , v )lvO u t= vben n⊕ ( uben n∧ l )lvben n her iki giriş grubunun altında v i n = 0 . Eğerödev altında l doğruysa, v i n , ilk giriş kümesinde 0, ikincide 1 olur; Ayrıca, aygıtı sadece işaretlenmiş kenarları dikkat ( u , v ) köşe sahip U olduğu her zaman var u i , n = 1vO u t= vben n⊕ ( uben n∧ l ) = vben n⊕ ( uben n∧ 0 ) = vben n= 0lvben n( u , v )uuben n= 1İkinci girdiler grubu altında. Sonuç olarak, her iki giriş kümesinin altında, l her doğru olduğunda , ; Daha sonra V O u t = v ı n ⊕ ( u ı n ∧ l ) = v ı n ⊕ ( u ı n ∧ 1 ) = h I , n ⊕ U i , n = v ı n ⊕ hacuben n= vben nl. Böylece, bu formun çıktıları iki girdi kümesinde her zaman aynı (ve aslında sıfır) olacaktır.vO u t= vben n⊕ ( uben n∧ l ) = vben n⊕ ( uben n∧ 1 ) = vben n⊕ uben n= vben n⊕ vben n= 0
4) Her köşe için tam olarak iki gelen kenarları ile etiketlenmiş grafikte ( u , v ) ve ( a , h ) , v O u t = v ı n ⊕ ( u ı n ∨ w i , n ) . Her gadget'ta iki tane tepe noktası vardır. En üst köşe ve ikinci en üst köşe. Bu iki durumu ayrı ayrı ele alıyoruz.v( u , v )( w , v )vO u t= vben n⊕ ( uben n∨ wben n)
4a) , bir aygıttaki ikinci en üst köşe olduğunda, u ve w , L1 ve L2 etiketli kenarların iki hedef uç noktasıdır. Girişlerin ilk kümesi altında, v O u t = v ı n ⊕ ( u ı n ∨ w ı n ) = 0 ⊕ ( 0 ∨ 0 ) = 0 . İkinci giriş grubu altında, u i n 0 olur, L1 doygunluk atama altında 0 değerine sahiptir (aka u i n =vuwvO u t= vben n⊕ ( uben n∨ wben n) = 0 ⊕ ( 0 ∨ 0 ) = 0uben n ); Benzer şekilde, w i n L2 IFF 0 (aka tatmin atama altında değeri 0 olduğu W i , n = L 2 ); ve son olarak, v ı n, L1 ve L2, her iki değeri 0 olması ancak ve ancak tanımlanır 0 olduğu (aka v i , n = L 1 ∨ L 2 ). Böylece ikinci girdi grubunun altında, v o u t = v i n ⊕ ( u i n ∨ w i n ) = (uben n= L 1wben nwben n= L 2vben nvben n= L 1 ∨ L 2 . Böylece, bu formun çıktıları iki girdi kümesinde her zaman aynı (ve aslında sıfır) olacaktır.vO u t= vben n⊕ ( uben n∨ wben n) = ( L 1 ∨ L 2 ) ⊕ ( L 1 ∨ L 2 ) = 0
4b) , bir aygıttaki en üst köşe olduğunda , u ikinci en üst köşedir ve w , L3 etiketli kenarın hedef son noktasıdır. Girişlerin ilk kümesi altında, v O u t = v ı n ⊕ ( u ı n ∨ w ı n ) = 0 ⊕ ( 0 ∨ 0 ) = 0 . Girişler ikinci kümesi altında u ı n, L1 ve L2 hem de diğer adıyla (0 değerini sahip IFF 0 U i , n = LvuwvO u t= vben n⊕ ( uben n∨ wben n) = 0 ⊕ ( 0 ∨ 0 ) = 0uben n ); W ı n olan L3 IFF 0 (aka değeri 0 W i , n = L 3 ); ve son olarak v i n = 1 . Böylece girişlerin ikinci kümesi altında, v O u t = v ı n ⊕ ( u ı n ∨ w i , n ) = 1 ⊕ ( ( L 1 ∨ L 2 ) ∨ L 3 )uben n= L 1 ∨ L 2wben nwben n= L 3vben n= 1 burada eşitlik ( L 1 ∨ L 2 ∨ L 3 ) = 1 her cümle için tatmin edici bir atamada tanım gereğidir. Böylece, bu formun çıktıları iki girdi kümesinde her zaman aynı (ve aslında sıfır) olacaktır.vO u t= vben n⊕ ( uben n∨ wben n) = 1 ⊕ ( ( L 1 ∨ L 2 ) ∨ L 3 ) = 1 ⊕ ( L 1 ∨ L 2 ∨ L 3)=1⊕1=0( L 1 ∨ L 2∨L3)=1
Açıkçası, çıktıların iki farklı girdi grubu için aynı olduğunu ve bu nedenle devresinin bir engelleyici olmayan işlevi etkinleştirdiğini görüyoruz.NC03
Doğruluk kanıtı dava 2: uygun değilϕ
Şimdi, için tatmin edici bir görev bulunmadığını varsayalım . Daha sonra bazı girdilerin iki farklı setleri yol bu çelişkili uğruna kabul N Cı- 0 3 aynı çıkışa sahip devresi.ϕNC03
Açıktır ki, iki giriş için aynı değerlere sahip olmalıdır , her bir değişken için X de φ . Böylece şimdi açıkça x değerine atıfta bulunabiliriz .xben nxφx
Tanımla köşe grubu olduğu v içinde G olacak şekilde v ı n giriş değerleri iki grup farklıdır.SvG,vben n
Aşağıdaki aşağıdakileri ispatlayacağız:
Lemma 1: Bazı aygıtlarda, etiketli kenarların hedef uç noktalarındaki üç köşenin tümü değilse, aygıttaki bu üçün üzerindeki hiçbir köşeler S'de değildir .SS
Lemma 2: Bazı cihazlarda üst tepe değilse bir sonraki cihazda hiçbir köşe S'de olmaz .SS
Objeler, bir ilmek oluşturmak için bu bir aygıtı içinde etiketlenmiş kenarlarının hedef uç noktalarında her üç köşe değilse ima sonra hiçbir köşe G olduğu S (diğer bir deyişle S boştur).SG,SS
Bununla birlikte, memnun olmayan bir maddeye ilişkin bir gadget düşünün . Bu aygıtı her üç etiket Biz bu kenarı biliyoruz 0 değerine sahiptir ( u , v ) etiketlenmiş L sağlaması gerekmektedir v O u t = v ı n ⊕ ( u ı n ∧ L ) , ama L = 0 , yani v O u t = v i n( L 1 ∨ L 2 ∨ L 3 )( u , v )LvO u t= vben n⊕ ( uben n∧ L )L = 0 . Çıkış hem girişler için aynıdır Dolayısıyla, çünkü değerleri v ı n de giriş iki takım aynı olmalıdır. Başka bir deyişle, v'nin S cinsinden olmadığını gösterdik. Böylece, bu belirli aygıtta, etiketli kenarların hedef uç noktalarındaki üç köşenin S cinsinden olmadığını görüyoruz.vO u t= vben n⊕ ( uben n∧ L ) = vben n⊕ ( uben n∧ 0 ) = vben n⊕ 0 = vben nvben nvSS
Sonuç olarak, boş olduğu sonucuna varıyoruz . Ancak bu, iki girdi grubu arasında, bu girdi kümelerinin farklı olduğu varsayımına aykırı olan hiçbir fark olmadığı anlamına gelir. Sonuç olarak, N C 0 3 devresi tarafından harekete geçirilen işlevin enjekte edici olduğunu ve dolayısıyla bir itiraz olduğunu görürüz.SN-C03
Geriye kalan tek şey lemmaları ispatlamak.
Bunu yapmak için, her köşe türü için (etiketli derece 1, etiketsiz derece 1 ve derece 2), gelen tüm kenarların S'de olmayan köşelerden gelmesi durumunda söz konusu olan köşenin de S'de olmadığını unutmayın. . Bunun nedeni, her üç durumda da v O u t = v ı n ⊕ X burada X için kenarlı değişken ve / veya noktalar ile ilişkili bazı girdilerin fonksiyonudur v . Tüm bu köşeler varsayımla S'de olmadığından, her iki giriş grubunda da X'in değeri aynı olmalıdır. Bu nedenle v iG,SSvO u t= vben n⊕ XXvSX, her iki giriş kümesinde de aynıdır. Başka bir deyişlev,Sdilindedeğildir.vben n= vO u t⊕ XvS
Şimdi bir köşe olmadığını kuralı olduğunu , atalarının her yer almayan her S , lemmaları Yukarıdaki gadget şemasına defalarca kuralı uygulayarak basitçe izleyin.SS