Ben başlayarak numaralar kullanacaktır yerine Bunun daha doğal buldukça.0 101
İşte bu şekilde çözebileceğimiz iki sınıf problem:
TFNP'deki fonksiyonlar (yani, tek değerli toplam NP arama problemleri)
(Bu, örneği tek yönlü permütasyonlarla genelleştirir. Özel bir durum olarak dan gelen karar sorunlarını içerir .)U P ∩ c o U PUP∩coUP
Kurulumda, polinom-zaman yüklemi ve polinom , uzunluğunun her için uzunluğunda benzersiz bir olacak şekilde tutar. Hesaplamalı görev verilir , bulmak .R ( x , y ) p ( nR(x,y) ) x n y m = p ( n ) R ( x , y ) x yp(n)xnym=p(n)R(x,y)xy
Şimdi, wlog'un çift olduğunu varsayacağım , böylece . Algoritma cinsinden muntazam rastgele bir oluşturmak ve çıktım 2 m ≡ 1m( mod3 ) y ∈ [ 0 , 2 m )2m≡1(mod3)y∈[0,2m)
y R ( x , y )y (arama sorunun çözümü olarak) ise ;R(x,y)
y - y ′ {y−y′ ( rastgele bir öğesi olarak ) eğer ve ; 0 , 1 , 2 } y - y ′ ∈ { 1 , 2 } R ( x , y ′ ){0,1,2}y−y′∈{1,2}R(x,y′)
y mod 3 { 0 , 1 , 2 } y ′ ∈ { y , y - 1 , y - 2 } R ( x , y ′ )ymod3 ( nin rastgele bir unsuru olarak ), eğer yoksa çözer .{0,1,2}y′∈{y,y−1,y−2}R(x,y′)
Arama sorununun çözümü yoksa, rasgele seçimler ve kez ve kez (bir tane daha) verir. Bununla birlikte, , arama problemini çözerse, (üç kalıntı sınıfının hepsine çarpan) elemanları ile uğraştık, böylece avantajını ortadan kaldıran ve kalıntılarını ürettiler . (Burada olduğunu wlog varsayıyorum .)2 m 1 2 ( 2 m - 1 ) / 3 0 ( 2 m + 2 ) / 3 y y , y + 1 , y + 2 1 2 0 y < 2 m - 22m12 (2m−1)/30 (2m+2)/3yy,y+1,y+2120y<2m−2
PPA- arama problemleri33
PPA- tanımlamanın uygun bir yolu NP arama problemleri olup, birçoğu aşağıdaki problemlere indirgenebilir. Biz sabit polinom zaman fonksiyonu olan ve bir polinom , örneğin herhangi bir giriş söz konusu uzunluğu , indüklenen eşleme girişlerine sınırlı uzunluğu bir fonksiyonudur karşılayan her için . Görev, verilen , bir fixpoint bulmak arasında : .3 f ( x , y ) p ( n ) x n f x ( y ) = f ( x , y ) y m = p ( n ) f x : [ 0 , 2 m ) → [ 0 , 2 m ) f x ( f x ( f x ( y ) ) )3f(x,y)p(n)xnfx(y)=f(x,y)ym=p(n)fx:[0,2m)→[0,2m)= y y x y f x f x ( y ) = yfx(fx(fx(y)))=yyxyfxfx(y)=y
Şöyle söz konusu şekilde bu çözebilir: verilen uzunluğunda , bir rastgele üretmek uzunluğu ve çıktıx n y m = p ( n )xnym=p(n)
y f xy bir f_x ;fx
aksi takdirde , ve farklı öğelerdir. Bunları olarak ile ve çıkışı öyle ki .y f x ( y ) f x ( f x ( y ) ) { y , f x ( y ) , f x ( f x ( y ) ) } = { y 0 , y 1 , y 2 } y 0 < y 1 < y 2 i ∈ { 0 , 1 , 2yfx(y)fx(fx(y)){y,fx(y),fx(fx(y))}={y0,y1,y2}y0<y1<y2} y = y ii∈{0,1,2}y=yi
O bu konuda düzgün bir şekilde dağılmasını sağladığını tanımlara olmayan fixpoint olarak, 'nin üçüzlerde gelir.{ 0 , 1 , 2 } y{0,1,2}y
Kayıt için yukarıdaki sorunun Papadimitriou'nun PPA- için tam problemiyle eşdeğer olduğunu göstereyim , çünkü bu sınıf literatürde çoğunlukla ihmal edilmiştir. Sorun Buss, Johnson'da belirtilmiştir: “NP arama problemleri arasındaki öneri ispatları ve indirimler”, ancak denkliği belirtmezler. PPA için benzer bir sorun (YALNIZCA) Beame, Cook, Edmonds, Impagliazzo ve Pitassi'de verilmektedir: “NP arama problemlerinin göreceli karmaşıklığı”. hakkında özel bir şey yok , aşağıdaki argüman herhangi bir tek başbakan için gerekli değişiklikler yapılarak çalışıyor.3 333
Önerme: Aşağıdaki NP arama problemleri poli-zaman çok-birliği birbirine indirgenebilir:
taraflı yönlendirilmemiş grafiği temsil eden bir devre ve derecesi bölünemeyen vertex verilmişse , böyle bir tepe noktası daha bulun.( A ∪ B , E ) u ∈ A ∪ B 3(A∪B,E)u∈A∪B3
Yönlendirilmiş bir grafiği temsil eden bir devre ve derece dengesi (yani derece dışı eksi derece olarak) bölünemeyen bir tepe noktası verildiğinde , böyle bir tepe noktası bulun.( V , E ) u ∈ V 3(V,E)u∈V3
Bir fonksiyon işlem bir devre verilen böyle , bir fixpoint bulmak .f : [ 0 , 2 n ) → [ 0 , 2 n ) f 3 = i d ff:[0,2n)→[0,2n)f3=idf
Kanıt:
1 ≤ s 21≤p2 açıktır, çünkü kenarları soldan sağa yönlendirmek yeterlidir.
2 ≤ p 12≤p1 : İlk önce, ağırlıklı bir iki taraflı grafik oluşturalım. ve içinde : içinde kopyası olsun . Her orijinal kenar , ağırlık ve ağırlık kenar kenarı koyuyoruz . Bu, grafik değerini orijinal grafikteki derece dengesine eşit yapar . Eğer bakiye verilen verteksidir , ekstra bir kenar eklemek ağırlığıA B V A = { x A : x ∈ V } B = { x B : x ∈ V } x → y { x A , y B } 1 { x B , y A } - 1 derece ( x A ) = - derece ( x B ) x u b ≢ 0ABVA={xA:x∈V}B={xB:x∈V}( mod3){uA,uB}b, böylece ve . bizim seçilen tepe noktası olacaktır.deg(uA)=2b≢0(mod3)deg(uB)=0uA
Grafiği düz, ağırlıksız yönlendirilmemiş bir grafik haline getirmek için, önce tüm ağırlıklar modulo düşürdük ve ağırlığının tüm kenarlarını düşürdük . Bu sadece ve ağırlıklarının kenarlarını bırakır . İkincisi uygun aletlerle değiştirilebilir. Örneğin, ağırlık - kenarı , , kenarları olan için yeni köşeler , , , , , : bu30122{xA,yB}wAizBii=0,…,3{xA,yB}{xA,zBi}{wAi,yB}{wAi,zBi}{wAi,zB(i+1)mod4}deg(wAi)=deg(zBi)=3Ve katkıda bulunur için ve .5≡2(mod3)xAyB
3≤p2 : Basitlik olduğunu varsayalım ki . aşağıdaki gibi yönlendirilmiş bir grafik oluşturuyoruz :n2n≡1(mod3)V=[0,2n)
Seçilen tepe noktası . İlk fıkra , her tepe noktasına veya dengesine katkıda bulunur . Benzer şekilde, ikinci madde, noktası olmayan köşelere denge veya katkıda bulunur. Bu nedenle, varsayarak gerçekten dengesiz modülo da, daha önce bir fixpoint değildir , ve diğer herhangi bir tepe noktası dengesiz modülo bir fixpoint olan .u=2n−11−2≡1(mod3)≠u−12≡−1(mod3)u33f
1≤p3 : Bu varsayabiliriz ile , hatta ve köşe verilen derecesine sahip .A=B=[0,2n)nu∈A≡2(mod3)
tepe noktasına sahip kenarları etkin bir şekilde olarak etiketleyebiliriz , burada . Bu şekilde, , ile tanımladığımız alt kümesi olur . üzerinde işlevini aşağıdaki gibi tanımlarız.y∈B(y,j)j<deg(y)E[0,2n)×[0,2n)[0,22n)f[0,2n)×[0,2n)
tamamlayıcısında : her ve için , , , . Ayrıca, , , için . Bu , derecesi bölünemeyen her için ve noktasını . .Ey∈Bjdeg(y)≤3j<2n−1f(y,3j)=(y,3j+1)f(y,3j+1)=(y,3j+2)f(y,3j+2)=(y,3j)f(3i,2n−1)=(3i+1,2n−1)f(3i+1,2n−1)=(3i+2,2n−1)f(3i+2,2n−1)=(3i,2n−1)3i<2n−1(2n−1,2n−1)3−(deg(y)mod3)(y,i)y∈B3
Açık : her biri için , onun olay kenarlarının etkili bir numaralandırma düzeltmek , burada . Biz koymak , , için . Bu , derecesi bölünemeyen her köşesi için puanı bırakır .Ex∈A(y0,j0),…,(yd−1,jd−1)d=deg(x)f(y3i,j3i)=(y3i+1,j3i+1)f(y3i+1,j3i+1)=(y3i+2,j3i+2)f(y3i+2,j3i+2)=(y3i,j3i)i<⌊d/3⌋deg(x)mod3x∈A3
Yana olarak, olay kenarları iki kalmıştı; onları üçüncü nokta olarak kullanarak başka bir döngüsüne dönüştürüyoruz . Kalan noktalar sabit noktası olarak bırakılır . Yapım yoluyla, bunların herhangi biri (1) 'in bir çözümüne yol açacaktır.deg(u)≡2(mod3)f(2n−1,2n−1)f