NC = P konsekuensi?

35

Kompleksitas Zoo menunjukkan dalam entri pada EXP bahwa jika L = P maka PSPACE = EXP. Karena NPSPACE = PSPACE oleh Savitch, sejauh yang saya tahu argumen padding yang mendasarinya meluas untuk menunjukkan bahwa Kita juga tahu bahwa L NL NC P via hirarki bergantian sumber daya Ruzzo.

(NL=P)(PSPACE=EXP).

Jika NC = P, apakah ini mengikuti PSPACE = EXP?

Penafsiran yang berbeda dari pertanyaan, dalam semangat Richard Lipton: apakah lebih mungkin bahwa beberapa masalah dalam P tidak dapat diparalelkan, daripada bahwa tidak ada prosedur waktu eksponensial yang membutuhkan lebih dari ruang polinomial?

Saya juga akan tertarik pada konsekuensi "mengejutkan" lainnya dari NC = P (semakin tidak mungkin semakin baik).

Sunting: Jawaban Ryan mengarah ke pertanyaan lebih lanjut: apa hipotesis terlemah yang diketahui menjamin PSPACE = EXP?

  • W. Savitch. Hubungan antara kompleksitas pita nondeterministik dan deterministik, Jurnal Ilmu Komputer dan Sistem 4 (2): 177-192, 1970.
  • WL Ruzzo. Pada kompleksitas sirkuit yang seragam, Jurnal Ilmu Komputer dan Sistem 22 (3): 365-383, 1971.

Edit (2014): tautan Kebun Binatang lama yang diperbarui dan tautan yang ditambahkan untuk semua kelas lainnya.

András Salamon
sumber
1
Karena saya yakin saya bukan satu-satunya yang tidak tahu apa itu NC, di sini ada tautan: en.wikipedia.org/wiki/NC_%28complexity%29
Emil
@Andras: Satu konsekuensi lain yang mungkin sudah Anda ketahui, tetapi belum disebutkan, adalah bahwa akan runtuh, karena memiliki masalah lengkap di bawah -pengurangan . NCPL
Joshua Grochow

Jawaban:

28

Iya nih. dapat dilihat sebagai kelas bahasa yang dikenali oleh mesin Turing bergantian yang menggunakan ruang dan waktu. (Ini pertama kali dibuktikan oleh Ruzzo.) adalah kelas di mana mesin Turing bergantian menggunakan ruang tetapi bisa memakan waktu hingga waktu. Untuk singkatnya sebut kelas ini dan .O ( log n ) ( log n ) O ( 1 ) P O ( log n ) n O ( 1 ) A T I S P [ ( log n ) O ( 1 ) , log n ] = N C A S P A C E [ O ( log n ) ]NCO(logn)(logn)O(1)PO(logn)nO(1)ATISP[(logn)O(1),logn]=NCASPACE[O(logn)]=P

Misalkan kedua kelas itu sama. Mengganti dengan 2 n di atas (yaitu, menerapkan lemma terjemahan standar), orang memperolehn2n

.TIME[2O(n)]=ASPACE[O(n)]=ATISP[nO(1),n]ATIME[nO(1)]=PSPACE

Jika maka E X P = P S P A C E juga, karena ada E X P- bahasa lengkap di T I M E [ 2 O ( n ) ] .TIME[2O(n)]PSPACEEXP=PSPACEEXPTIME[2O(n)]

Sunting: Meskipun jawaban di atas mungkin lebih bersifat mendidik, berikut argumen yang lebih sederhana: sudah mengikuti dari " P dimuat dalam ruang polylog" dan terjemahan standar. EXP=PSPACEPCatatan " yang terkandung dalam ruang polylog" adalah hipotesis jauh lebih lemah daripada N C = P .PNC=P

Lebih detail: Sejak keluarga sirkuit memiliki kedalaman ( log n ) c untuk beberapa konstan, setiap keluarga sirkuit tersebut dapat dievaluasi dalam O ( ( log n ) c ) ruang. Oleh karena itu N C c > 0 S P A C E [ ( log n ) c ] . Jadi P = N C menyiratkan P c > 0 SNC(logn)cO((logn)c)NCc>0SPACE[(logn)c]P=NC . Menerapkan terjemahan (menggantikan n dengan 2 n ) menyiratkan T I M E [ 2 O ( n ) ] P S P A C E . Keberadaanbahasa lengkap E X P dalam T I M E [ 2 O ( n ) ] menyelesaikan argumen.Pc>0SPACE[(logn)c]n2nTIME[2O(n)]PSPACEEXPTIME[2O(n)]

Pembaruan: Mengatasi pertanyaan tambahan Andreas, saya percaya seharusnya bisa membuktikan sesuatu seperti: iff untuk semua c , setiap bahasa jarang secara polinomi dalam n O ( log c n ) waktu dapat dipecahkan dalam ruang polylog. (Jarang secara polinomi berarti bahwa ada paling banyak p o l y ( n ) string panjang n dalam bahasa, untuk semua nEXP=PSPACEcnO(logcn)poly(n)nn.) Jika benar, buktinya mungkin akan pergi sepanjang garis Hartmanis, Immerman, dan bukti Sewelson yang IFF setiap bahasa polynomially jarang di N P terkandung dalam P . (Catatan, n O ( log c n ) waktu dalam ruang polylog masih cukup untuk menyiratkan P S P A C E = E X P. )NE=ENPPnO(logcn)PSPACE=EXP

Ryan Williams
sumber
1
Terima kasih atas jawaban yang bagus. Dexter Kozen ini Teori Komputasi memiliki bagus "seragam" notasi untuk kelas Ruzzo pada halaman 69: di mana f batas ruang, g waktu batas, dan h batas pergantian. Kemudian NC = S T A ( log n , , ( log n ) O ( 1 ) ) sedangkan P = S T A (STA(f,g,h)fghNC=STA(logn,,(logn)O(1)) yang sangat menyoroti konstruksi. P=STA(logn,,)
András Salamon
1
Perhatikan bahwa saya mengatakan di atas. Namun saya pikir ini sama. Mesin yang membutuhkan waktu polinomial dan ruang O ( log n ) tetapi hanya membuat ( log n ) O ( 1 ) bergantian dapat diubah menjadi mesin bergantian lainnya yang hanya membutuhkan waktu ( log n ) O ( 1)NC=STA(logn,(logn)O(1),)O(logn)(logn)O(1) waktu danO(logn)ruang. (Arah lainnya jelas.) Idenya adalah untuk menyisipkan lebih banyak pergantian sehingga setiap fase eksistensial waktu polinomial dan fase universal "dipercepat" untuk berjalan hanya dalam(logn ) O ( 1 ) waktu danO(logn)ruang , di sepanjang garis teorema Savitch. (logn)O(1)O(logn)(logn)O(1)O(logn)
Ryan Williams
6
yang kita butuhkan adalah semacam skrip greasemonkey yang secara otomatis menautkan sesuatu seperti "\ NP" ke entri di kebun binatang.
Suresh Venkat
12

(Saya sudah melihat jawaban Ryan, tetapi saya hanya ingin memberikan perspektif lain, yang terlalu panjang untuk dimasukkan ke dalam komentar.)

Dalam bukti, semua yang perlu Anda ketahui tentang L, secara informal, adalah bahwa ketika diledakkan oleh eksponensial, L menjadi PSPACE. Bukti yang sama berlaku untuk NL, karena NL yang meledak oleh eksponensial juga menjadi PSPACE. L=PPSPACE=EXP

Demikian pula, ketika NC diledakkan oleh eksponensial, Anda mendapatkan PSPACE. Saya suka melihat ini dalam hal sirkuit: NC adalah kelas sirkuit ukuran polinom dengan kedalaman polylog. Ketika diledakkan, ini menjadi sirkuit ukuran eksponensial dengan kedalaman polinomial. Orang dapat menunjukkan bahwa ini persis PSPACE, setelah kondisi keseragaman yang sesuai ditambahkan. Saya kira jika NC didefinisikan dengan L-uniformity, maka ini akan mendapatkan PSPACE-uniformity.

Buktinya harus mudah. Dalam satu arah, ambil masalah lengkap PSPACE seperti TQBF dan ekspresikan pengukur menggunakan gerbang AND dan OR dengan ukuran eksponensial. Di arah lain, coba lintasi sirkuit kedalaman polinomial secara rekursif. Ukuran tumpukan akan polinomial, jadi ini bisa dilakukan di PSPACE.

Akhirnya, saya muncul dengan argumen ini ketika saya melihat pertanyaan (dan sebelum membaca jawaban Ryan), jadi mungkin ada bug. Tolong tunjukkan.

Robin Kothari
sumber
1
Satu koreksi: NC memiliki sirkuit ukuran polinom dan kedalaman polylog, tetapi ini masih hanya kedalaman polinom setelah terjemahan.
Ryan Williams
@Ryan: Anda benar. Saya akan memperbaikinya.
Robin Kothari
1

Berikut ini sedikit lebih detail dari perspektif simulasi ruang-waktu yang dibatasi mesin Alternating Turing.

Misalkan .P=NC

Karena , kita mendapatkan P = A T I S P ( ( log ( n ) ) O ( 1 ) , O ( log ( n ) ) ) .NC=ATISP((log(n))O(1),O(log(n)))

P=ATISP((log(n))O(1),O(log(n))).

Sekarang, pertimbangkan masalah simulasi universal waktu linear mana kita diberikan pengkodean pada mesin Turing M dan string input x panjang n dan kami ingin tahu apakah M menerima x paling banyak dalam n langkah.LinUMxnMxn

Kita tahu bahwa . Oleh karena itu, ada konstanta c (cukup besar) sehingga ( )LinUPc

()LinUATISP(logc(n),clog(n)).

Sebagai hasil dari argumen padding (sedikit rumit melihat komentar), kami memiliki

(1)DTIME(n)ATISP(logc(n),clog(n)).

Memperluas argumen padding, kita dapatkan ( 3 )

(2)DTIME(nk)ATISP(kclogc(n),kclog(n)).
(3)DTIME(2nk)ATISP(kcnkc,kcnk).

Selanjutnya, ada hasil yang diketahui tentang simulasi mesin Turing yang dibatasi ruang-waktu. Secara khusus, kita tahu bahwa

ATISP(logc(n),clog(n))DSPACE(O(logc+1(n))).

Oleh karena itu, kami (pada dasarnya) memiliki yang berikut untuk semua bilangan asli :k

( 3 )

(2)DTIME(nk)DSPACE(kc+1logc+1(n))
(3)DTIME(2nk)DSPACE(nk(c+1)).

Dari , kita akan mendapatkan bahwa E X P = P S P A C E .(3)EXP=PSPACE

==================== Setelah Pikir ===================

Penting untuk memperhatikan bahwa menyiratkan A T I S P ( ( log ( n ) ) O ( 1 ) , O ( log ( n ) ) ) = A T I S P ( log c ( n ) , O ( log ( n ) ) ) untuk beberapa konstanta c .P=NC

ATISP((log(n))O(1),O(log(n)))=ATISP(logc(n),O(log(n)))
c

Setiap komentar atau koreksi disambut. :)

Michael Wehar
sumber
1
NCkPSPACEkNC2PSPACENCPSPACE
1
NCPSPACEPuniformNC1=PSPACE
1
NC=ATISP((log(n))O(1),O(log(n)))
1
@ Turbo Terima kasih atas tindak lanjutnya !! Saya benar-benar berpikir Anda harus membaca definisi di bagian bawah halaman 370 dari: sciencedirect.com/science/article/pii/0022000081900386
Michael Wehar
1
NCPNC