Apakah

15

Apa yang terjadi jika kita mendefinisikan P P A DPPAD sehingga bukan sirkuit polytime Turing-mesin / polysize, sebuah logspace Turing-mesin atau A C 0AC0 sirkuit mengkodekan masalah?

Baru-baru ini memberikan algoritma cepat untuk Circuit satisfiability untuk sirkuit kecil ternyata menjadi penting, jadi saya ingin tahu apa yang terjadi pada versi rectricted dari P P A DPPAD .

domotorp
sumber
Buss dan Johnson, "Bukti proposisional dan pengurangan antara masalah pencarian NP", membuktikan bahwa PPAD ditutup di bawah pengurangan Turing, dan saya cukup yakin sedikit modifikasi argumen memberikan kesetaraan PPAD dengan (seragam) AC ^ 0 versi .
Emil Jeřábek mendukung Monica
@ Emil: Terima kasih atas sarannya, sayangnya gagasan dalam makalah ini di luar jangkauan saya. Saya akan berterima kasih jika seseorang bisa memberi tahu saya implikasinya. Juga, izinkan saya menautkan ke pracetaknya di sini: math.ucsd.edu/~sbuss/ResearchWeb/NPSearch/NPSearch.pdf
domotorp

Jawaban:

10

Ya, A C 0 P A D = P P A DAC0PAD=PPAD . (Di sini dan di bawah, saya mengasumsikan A C 0AC0 didefinisikan sebagai kelas seragam. Tentu saja, dengan A C 0 yang tidak seragam, AC0kami hanya akan mendapatkan P P A D / p o l yPPAD/poly .)

Ide dasarnya cukup sederhana: A C 0AC0 dapat melakukan satu langkah dari Turing mesin perhitungan, maka kita dapat mensimulasikan satu waktu polinomial tepi dihitung oleh garis polynomially panjang A C 0AC0 tepi -computable. Dengan perluasan lebih lanjut dari ide tersebut, orang dapat mensimulasikan tepi yang dapat dihitung dalam waktu poli dengan oracle PPAD, yaitu, PPAD ditutup di bawah Turing reducibilitas; argumen ini diberikan dalam Buss dan Johnson .

Ada banyak definisi setara PPAD dalam literatur yang berbeda dalam berbagai detail, oleh karena itu izinkan saya memperbaikinya di sini untuk definisi. Masalah pencarian NP SS ada dalam PPAD jika ada fungsi polinom p ( n )p(n) , dan waktu polinomial f ( x , u )f(x,u) , g ( x , u )g(x,u) , dan h ( x , u )h(x,u) dengan properti berikut. Untuk setiap input xx panjang n x = ( V x , E xn , ff dan gg merupakan grafik berarah G)Gx=(Vx,Ex) tanpa loop otomatis di mana V x = { 0 , 1 } p ( n )Vx={0,1}p(n) , dan setiap node memiliki derajat paling tinggi dan paling luar 11 . Representasi sedemikian rupa sehingga jika ( u , v ) E x(u,v)Ex , maka f ( x , u ) = vf(x,u)=v dan g ( x , v ) = u ; jikau memiliki derajat 0 , f ( x , u ) = u ; dan jikag(x,v)=uu0f(x,u)=u Anda memiliki derajat 0 , g ( x , u ) = u .u0g(x,u)=u

Node 0 p ( n )V x adalah sumber (yaitu, memiliki derajat 0 dan derajat 1 ). Jika u V x adalah sumber atau sink (dalam derajat 1 , keluar-derajat 0 ) selain 0 p ( n ) , maka h ( x , u ) adalah solusi untuk S ( x ) .0p(n)Vx01uVx100p(n)h(x,u)S(x)

Kita dapat mendefinisikan A C 0 P A D dengan cara yang sama, kecuali kita membutuhkan f , g , h untuk berada dalam F A C 0 .AC0PADf,g,hFAC0

Saya akan mengabaikan h dalam konstruksi untuk kesederhanaan. (Tidak sulit untuk menunjukkan bahwa seseorang dapat menganggapnya sebagai proyeksi, karenanya A C 0 -computable.)hAC0

Jadi, pertimbangkan masalah PPAD S yang didefinisikan oleh f dan g , dan perbaiki mesin Turing yang menghitung f dan g dalam waktu q ( n ) . Untuk setiap x , kita mendefinisikan grafik berarah G x = ( V x , E x ) yang simpulnya adalah urutan dari bentuk berikut:Sfgfgq(n)xGx=(Vx,Ex)

  • ( 0 , u , c 1 , , c k ) , di mana u V x , 0 k q ( n ) , dan c 1 , , c k adalahkonfigurasi k pertamadalam perhitungan f ( x , kamu ) .(0,u,c1,,ck)uVx0kq(n)c1,,ckkf(x,u)

  • ( 0 , u , c 1 , ... , c q ( n ) , v , d 1 , ... , d k ) , di mana u , v V x , 0 k q ( n ) , f ( x , u ) = v , c 1 , , c q ((0,u,c1,,cq(n),v,d1,,dk)u,vVx0kq(n)f(x,u)=v n ) adalah perhitungan penuh darifc1,,cq(n)(x,u)f(x,u), and d1,,dkd1,,dk are the first kk steps in the computation of g(x,v)g(x,v).

  • (1,v,d1,,dk)(1,v,d1,,dk), where 0p(n)vVx0p(n)vVx, 0kq(n)0kq(n), and d1,,dkd1,,dk are the first kk configurations in the computation of g(x,v)g(x,v).

  • (1,v,d1,,dq(n),u,c1,,ck)(1,v,d1,,dq(n),u,c1,,ck), where u,vVxu,vVx, v0p(n)v0p(n), 0kq(n), g(x,v)=u, d1,,dq(n) is the computation of g(x,v), and c1,,ck are the first k steps in the computation of f(x,u).

Ex consists of the edges in Vx×Vx of the following kinds:

  • (0,u,c1,,ck)(0,u,c1,,ck+1)

  • (0,u,c1,,cq(n))(0,u,c1,,cq(n),v)

  • (0,u,c1,,cq(n),v,d1,,dk)(0,u,c1,,cq(n),v,d1,,dk+1)

  • (0,u,c1,,cq(n),v,d1,,dq(n))(1,v,d1,,dq(n),u,c1,,cq(n)) if f(u)=v and g(v)=u (i.e., either (u,v)Ex, or u=v is an isolated vertex)

  • (1,v,d1,,dq(n),u,c1,,ck+1)(1,v,d1,,dq(n),u,c1,,ck)

  • (1,v,d1,,dq(n),u)(1,v,d1,,dq(n))

  • (1,v,d1,,dk+1)(1,v,d1,,dk)

  • (1,u)(0,u)

Formally, let r(n) be a polynomial bounding the lengths of binary representations of all the sequences above (such that we can extend or shorten sequences, and extract their elements with AC0-functions); we actually put Vx={0,1}r(n), and we let all vertices except the above-mentioned sequences to be isolated.

It is easy to see that the functions f, g representing Gx are AC0-computable: in particular, we can test in AC0 whether c1,,ck is a valid partial computation of f(x,u), we can compute ck+1 from ck, and we can extract the value of f(x,u) from cq(n).

The sinks in Gx are nodes of the form (0,u,c1,,cq(n),u,d1,,dq(n)) where u is a sink in Gx. Likewise, sources are (1,v,d1,,dq(n),v,c1,,cq(n)) where v is a source in Gx, except that in the special case v=0p(n), we have pruned the line early and the corresponding source in Gx is just (0,0p(n)). We can assume the encoding of sequences is done in such a way that (0,0p(n))=0r(n).

Thus, f and g define an AC0PAD problem S, and we can extract a solution to S(x) from a solution to S(x) by an AC0-function h which outputs the second component of a sequence.

Emil Jeřábek supports Monica
sumber