Masalah keputusan yang tidak diketahui dalam PH tetapi akan di P jika P = NP

28

Sunting : Seperti yang ditunjukkan Ravi Boppana dengan benar dalam jawabannya dan Scott Aaronson juga menambahkan contoh lain dalam jawabannya , jawaban untuk pertanyaan ini ternyata "ya" dengan cara yang tidak saya harapkan sama sekali. Pertama saya berpikir bahwa mereka tidak menjawab pertanyaan yang ingin saya tanyakan, tetapi setelah beberapa pemikiran, konstruksi ini menjawab setidaknya satu dari pertanyaan yang ingin saya tanyakan, yaitu, “Apakah ada cara untuk membuktikan hasil kondisional 'P = NP ⇒ L ∈P 'tanpa membuktikan hasil tanpa syarat L ∈PH? ”Terima kasih, Ravi dan Scott!


Apakah ada masalah keputusan L sehingga kondisi berikut ini terpenuhi?

  • L tidak diketahui berada dalam hierarki polinomial.
  • Diketahui bahwa P = NP akan menyiratkan L ∈P.

Contoh buatan sama baiknya dengan contoh alami. Juga, meskipun saya menggunakan huruf " L ," itu bisa menjadi masalah yang menjanjikan alih-alih bahasa jika itu membantu.

Latar Belakang . Jika kita tahu bahwa masalah keputusan L adalah dalam hierarki polinomial, maka kita tahu bahwa “P = NP ⇒ L ∈P.” Maksud dari pertanyaan ini adalah untuk menanyakan apakah yang dipertanyakan berlaku. Jika bahasa L yang memenuhi kedua kondisi di atas ada, maka dapat dianggap sebagai bukti bahwa percakapan gagal.

Pertanyaan itu dimotivasi oleh komentar menarik Joe Fitzsimons atas jawaban saya terhadap pertanyaan Walter Bishop, “ Konsekuensi #P = FP .”

Tsuyoshi Ito
sumber
Membuktikan negatif universal selalu sulit (er), tetapi saya akan terkejut jika bahasa seperti itu ada. Dugaan Linial-Nisan yang Disamaratakan (jika memang benar) tidak akan menyiratkan apa yang Anda minta, saya tidak percaya. Itu hanya berarti bahwa BQP tidak terkandung dalam PH. Jika PH jatuh ke P, BQP masih tidak akan terkandung dalam P (H).
Daniel Apon
Apakah Anda bertanya apakah ada kelas kompleksitas X st X bukan subset dari PH, dan P = NP -> X = P?
Philip White
@ Pilip: Ya, tapi saya tidak berpikir bahwa itu mengubah masalah karena kita biasanya dapat mengubah masalah keputusan L ke kelas X masalah keputusan yang dapat direduksi menjadi L. Setidaknya itulah maksud saya mengajukan pertanyaan ini dalam hal masalah keputusan .
Tsuyoshi Ito
Mungkin Anda ingin meminta agar bahasa entah bagaimana dekat dengan PH, selain persyaratan Anda saat ini? Mungkin, katakanlah, di PSPACE (walaupun dapat diperdebatkan seberapa dekat PSPACE dengan PH; lihat S. Fenner, S. Homer, M. Schaefer, R. Pruim. Hierarki polinomial dan lompatan polinomial. Ilmu Komputer Teoritis. Volume 262 ( 2001), hlm. 241-256 cse.sc.edu/~fenner/papers/hyp.pdf ). Atau mungkin Anda benar-benar ingin meminta bahasa alami seperti itu. L
Joshua Grochow
@ Yosua: Terima kasih atas komentar dan referensi. Sebagaimana dinyatakan dalam pembaruan (revisi 3), sekarang saya pikir saya telah mengajukan pertanyaan yang benar (bertentangan dengan apa yang saya tambahkan dalam revisi 2). Saya ingin tahu "Apakah ada cara untuk membuktikan hasil bersyarat 'P = NP ⇒ L∈P' tanpa membuktikan hasil tanpa syarat L∈PH?" Untuk tujuan ini, kealamian masalah tidak boleh diperlukan karena begitu ada adalah metode pembuktian, harus berlaku sama untuk contoh alami dan buatan.
Tsuyoshi Ito

Jawaban:

26

Karena Anda tidak keberatan dengan bahasa buatan, bagaimana mendefinisikan menjadi kosong jika P sama dengan NP dan menjadi Masalah Pemutusan jika P tidak sama dengan NP. Oke, ini sedikit curang, tapi saya pikir Anda harus mengulangi masalahnya untuk menghindari penipuan seperti itu. L

Ravi Boppana
sumber
5
Terima kasih, saya melihat intinya (mendefinisikan L = {M: Mesin Turing M berhenti dan P ≠ NP}). Tentu saja, ini tidak menjawab apa yang ingin saya tanyakan, tetapi saya kira saya harus berpikir lebih banyak untuk merumuskan pertanyaan yang ingin saya tanyakan dengan benar.
Tsuyoshi Ito
30

Jika contoh buatan benar-benar sebagus yang alami, maka saya memang bisa memberikan contoh seperti itu!

Sunting: Selanjutnya, contoh saya "agak" kurang dari cheat daripada yang disarankan oleh Ravi Boppana (di mana kita menganggap L sebagai bahasa kosong jika P = NP dan masalah penghentian sebaliknya), di mana saya akan mendefinisikan bahasa L dengan memberikan prosedur yang terbatas untuk memutuskan apakah L untuk input apa pun x. Pada titik tidak akan memutuskan apakah x∈L membutuhkan pemecahan pertanyaan matematika "tidak terikat" seperti P vs NP.x


Tanpa basa-basi: biarkan menjadi enumerasi mesin Turing polytime. Untuk semua n , biarkan M t ( n ) menjadi leksikografis pertama M i yang benar memutuskan 3SAT pada semua masukan dari panjang n atau kurang. Kemudian definisikan bahasa L sebagai berikut: untuk semua input x ukuran n , x L jika dan hanya jika mesin Turing yang dikodekan oleh x berhenti paling banyak n t ( n )M1,M2,...nMt(n)Minxnxxnt(n) langkah saat dijalankan pada kaset kosong.

Klaim 1: Jika P = NP, maka L P.

Bukti: Jika P = NP, maka ada beberapa tetap yang memecahkan 3SAT untuk semua input; karenanya t ( n ) iMit(n)i untuk semua . QEDn

Klaim 2: Jika P NP, maka L P.

Bukti: Jika bertambah tanpa terikat, maka kita cukup menerapkan Teorema Hirarki Waktu. QEDt(n)

Sekarang, tidak hanya L tidak dalam P dengan asumsi P NP: orang mengira itu juga tidak ada di PH (atau bahkan PSPACE)!

Kebetulan, saya bertanya-tanya apakah ada yang bisa memperbaiki konstruksi di atas, untuk mendapatkan bahasa L yang ada di P jika P = NP, tetapi terbukti tidak di PH atau PSPACE jika P NP?

Scott Aaronson
sumber
1
Terima kasih! Saya belum dapat memodifikasi konstruksi untuk membuat nonanggota menjadi PH dapat dibuktikan, tetapi ini cukup untuk meyakinkan saya bahwa menambahkan kondisi bahwa L dapat diputuskan dengan bukti konstruktif dari kesesuaian tidak akan mungkin mengubah banyak situasi. Hmm.
Tsuyoshi Ito
3
Saya akan menerima jawaban Ravi Boppana karena itu adalah yang pertama tiba, meskipun saya ingin menerima keduanya karena keduanya memberi saya lebih banyak pemahaman tentang masalah ini. Saya harap Anda mengerti ....
Tsuyoshi Ito
4
Bagus. Ini jawaban yang bagus.
Daniel Apon
@Tyson Williams: Untuk berjaga-jaga jika Anda belum menyadarinya, harap berhati-hati untuk tidak membuat kesalahan ketika Anda mengedit posting oleh pengguna lain. Beruntung Joe memperhatikannya dan memperbaikinya.
Tsuyoshi Ito
18

Menjawab pertanyaan Scott Aaronson, tapi agak terlalu lama untuk berkomentar, ini adalah konstruksi bahasa sedemikian rupa sehingga P = N P menyiratkan L P , tetapi P N P menyiratkan L P HLP=NPLPPNPLPH .

Biarkan dan t ( n ) menjadi seperti dalam konstruksi Scott. Kami membuatnya sehingga L tidak mengurangi menjadi Σ k S A T untuk setiap k , tetapi kami hanya melakukan ini jika t ( n ) (yaitu jika P N P ). Pembangunan berlangsung bertahap. Pada tahap s = ( i , jM1,M2,M3,t(n)LΣkSATkt(n)PNPs=(i,j) (menggunakan beberapa penambangan yang mudah dihitung dan mudah dibalik ), kami memastikan bahwa M i bukan pengurangan banyak-banyak dari L keΣΣ×ΣMiL . Misalkan n s bilangan bulat terkecil sehingga t ( n s ) > t ( n s - 1 ) (kasus dasar: n 0 = 1 ). Jika ada bilangan bulat seperti n s , kemudian mengaturΣjSATnst(ns)>t(ns1)n0=1nsmenjadi kosong selamanya setelah. . Jika tidak ada bilangan bulat seperti n s , kita membiarkan LL(1ns)=1ΣkSAT(Mi(1ns))nsL

Jika , maka t ( nPNP sebagai n , sehingga selalu ada seperti n s , maka L tidak dalam P H . Jika P = N P , maka saya L hanya finitely berbeda dari Scott L , dan karenanya di P .t(n)nnsLPHP=NPLLP

Joshua Grochow
sumber
Terima kasih atas jawaban Anda, tetapi saya tidak yakin apakah saya mengerti konstruksinya. Menurut saya, untuk menghitung , mungkin perlu mencari tanpa batas waktu, dan oleh karena itu bagi saya tampaknya kita tidak memiliki algoritma eksplisit untuk menentukan bahasa L. Jika kita tidak memerlukan algoritma eksplisit, jawaban Ravi Boppana menunjukkan bahwa ada bahasa L sehingga P = NP⇒L∈P dan P ≠ NP⇒L∉R (yaitu, L tidak dapat ditentukan). ns
Tsuyoshi Ito
1
@Tsuyoshi Ito: Saya tidak berpikir Anda harus menghitung diberikan s untuk memutuskan L; yang harus Anda lakukan adalah, pada input 1 n , putuskan apakah n adalah dalam bentuk n s untuk beberapa s , dan cari tahu s itu (jika ada). Begini caranya: pada input 1 n , hitung t ( n ) , dan hitung t ( m ) untuk semua m < n . Jika ada m < n sehingga t ( nnss1nnnsss1nt(n)t(m)m<nm<n , maka n tidak n s untuk setiap s , sehingga L ( 1 n ) = 0 . Jika tidak, angka keluar yang tahap s berkorespondensi dengan ini n s (yang bisa dilakukan karena Anda sudah dihitung semua nilai sebelumnya t ) dan kemudian menghitung L ( 1 n ) seperti yang dijelaskan dalam jawaban. t(n)=t(m)nnssL(1n)=0snstL(1n)
Joshua Grochow