Apakah batas runtime dalam P dapat dipilih? (jawab: tidak)


64

Pertanyaan yang diajukan adalah apakah pertanyaan berikut dapat dipilih:

Masalah   Mengingat integer k dan mesin Turing M berjanji untuk berada di P, adalah runtime dari M O(nk) sehubungan dengan panjang input n ?

Jawaban sempit "ya", "tidak", atau "terbuka" dapat diterima (dengan referensi, sketsa bukti, atau tinjauan pengetahuan saat ini), tetapi jawaban yang lebih luas juga sangat disambut baik.

Menjawab

Emanuele Viola telah memposting bukti bahwa pertanyaan itu tidak dapat diputuskan (lihat di bawah).

Latar Belakang

Bagi saya, pertanyaan ini muncul secara alami dalam mem-parsing jawaban Luca Tevisan untuk pertanyaan. Apakah runtime untuk P memerlukan sumber daya EXP ke batas atas? ... Apakah contoh nyata diketahui?

Pertanyaannya juga berkaitan dengan pertanyaan MathOverflow: Apa masalah paling menarik yang belum diputuskan Turing dalam matematika? , dalam variasi di mana kata "matematika" diubah menjadi "teknik," dalam pengakuan bahwa estimasi runtime adalah masalah rekayasa di mana-mana yang terkait dengan (misalnya) teori kontrol dan desain sirkuit.

Dengan demikian, tujuan luas dalam mengajukan pertanyaan ini adalah untuk mendapatkan apresiasi / intuisi yang lebih baik mengenai aspek praktis estimasi runtime di kelas kompleksitas P yang layak (yaitu, membutuhkan sumber daya komputasi dalam P untuk memperkirakan), dibandingkan tidak layak (yaitu, membutuhkan sumber daya komputasi dalam EXP untuk memperkirakan), dibandingkan secara formal tidak dapat diputuskan.

--- edit (post-answer) ---

Saya telah menambahkan teorema Viola ke wiki komunitas MathOverflow, "Masalah Menarik-Turing yang tidak dapat diputuskan". Kontribusi pertama wiki terkait dengan kompleksitas kelas P; ini membuktikan kebaruan, kealamian, dan ruang lingkup luas teorema Viola (dan IMHO keindahannya juga).

--- edit (post-answer) ---

Monograf Juris Hartmanis ' Perhitungan layak dan properti kompleksitas yang dapat dibuktikan (1978) mencakup banyak materi yang sama dengan bukti Emanuele Viola.


Menanggapi pertanyaan yang diajukan pada weblog Lance Fortnow dan Bill GASARCH, dengan topik "75 Tahun Ilmu Komputer", dimulai "Saya sering berharap bahwa Turing dengan bijak bertanya:" Apa saja proses yang dapat diverifikasi yang dapat dilakukan dalam komputasi suatu angka? "... alih-alih Turing menanyakan pertanyaan yang lebih sulit:" Apa saja proses yang mungkin dapat dilakukan dalam menghitung angka? ", pertanyaan berikutnya yang ditanyakan adalah (kira-kira)" Apakah ada mesin Turing yang dapat dibuktikan? di NP, yang keanggotaannya di P tidak dapat diputuskan? "Ini untuk menunjukkan bahwa saya masih memikirkannya! :)
John Sidles

2
Meskipun bukti I Emanuele Viola lebih jelas, pertanyaan yang sangat mirip ditanyakan dan dijawab di Mathoverflow: mathoverflow.net/questions/28056/…
Alex ten Brink

Beberapa jawaban dan gagasan di utas ini terbukti relevan dengan set esai / pertanyaan yang telah diposting Dick Lipton di weblognya, Lost Letter ; set esai / pertanyaan itu adalah "Getting On Base With P = NP". URL: rjlipton.wordpress.com/2011/07/04/getting-on-base-with-pnp
John Sidles

Meskipun batas-batas dalam P tidak dapat ditentukan, ia tidak menghentikan seseorang untuk mencoba (dengan membatasi diri sendiri lebih jauh). Contoh jika diberikan dalam jawaban cstheory
Artem Kaznatcheev

1
Pertanyaan ini mengilhami artikel berikut: arxiv.org/abs/1307.3648
David G

Jawaban:


83

Masalahnya tidak dapat ditentukan. Secara khusus, Anda dapat mengurangi masalah penghentian sebagai berikut. Mengingat sebuah contoh dari masalah terputus-putus, membangun sebuah mesin baru M ' yang bekerja sebagai berikut: masukan panjang n , mensimulasikan M pada x untuk n langkah. Jika M menerima, loop untuk n 2 langkah dan berhenti; jika tidak loop untuk n 3 langkah dan berhenti.(M,x)MnMxnMn2n3

Jika berhenti pada x ia melakukannya dalam t = O ( 1 ) langkah-langkah, jadi waktu menjalankan M akan menjadi O ( n 2 ) . Jika M tidak pernah berhenti maka jangka waktu M setidaknya n 3 .Mxt=O(1)MO(n2)MMn3

Karenanya Anda dapat memutuskan apakah menerima x dengan memutuskan apakah jangka waktu M adalah O ( n 2 ) atau O ( n 3 ) .MxMO(n2)O(n3)


4
mengapa M harus berhenti pada x (jika ya) dalam langkah O (1)?
Suresh Venkat

10
dan x adalah tetap independen dari n . Mxn
Manu

2
Bukti yang sangat pintar, apakah itu variasi dari beberapa hasil yang terkenal atau apakah Anda baru saja merencanakannya?
Antonio E. Porreca

3
@ Raphael: Itu area sensitif, yang saya pikir kami belum bisa selesaikan. Beberapa situs stackexchange mendorong pengeditan jawaban orang lain. Kami tidak memiliki kebijakan yang menentangnya, tetapi, secara praktis, saya hampir tidak pernah melihatnya melakukannya. Satu poin teknis: jika jawaban diedit terlalu banyak, itu menjadi wiki komunitas, dan @Emanuele tidak akan mendapatkan poin rep lebih lanjut jika jawabannya dibatalkan setelah itu. Saya pikir penjelasan tambahan akan membantu memperjelas: @John Sidles awalnya mengira janji itu tidak digunakan, tetapi buktinya menggunakan janji yang lebih kuat : berjalan di n 2 atau n 3 , bukan hanya P.Mn2n3
Aaron Sterling

2
@ John: Selama tidak ada referensi yang diterbitkan, pertimbangkan pedoman ini .
Raphael

29

Ini adalah pengulangan dari jawaban Emanuele Viola dengan tujuan agar lebih dimengerti.

Kami menunjukkan bahwa masalah yang diberikan tidak dapat ditentukan dengan mengurangi masalah umum H yang terputus padanya.PH

(M,x)M(x)MxM

M*(y) = {
  n := |y|
  Simulate M(x) for n steps
  if ( M(x) has halted )
    Execute n*n arbitrary steps
  else
    Execute n*n*n arbitrary steps
}

Sekarang kami mengamati implikasi berikut:

M(x)n0N:M halts on x after at most n0 stepsy:nn0M(y) executes n2 arbitrary stepsTM(n)O(n2)

dan

M(x)nN:M does not halt on x in less than n stepsy:M(y) executes n3 arbitrary stepsTM(n)Ω(n3)

H(M,x)P(M,2)PH


12

nCn+DC,DN

Cn+D


1
Tidak ada kekurangan perilaku yang tidak biasa oleh TMs satu-tape kecil-waktu. :)
Kaveh

4

Masalahnya juga dipecahkan dalam artikel saya " Isi intens Teorema Rice " POPL'2008, di mana saya membuktikan bahwa tidak ada "klik kompleksitas" yang dapat ditentukan. Klik kompleksitas adalah kelas program tertutup, dengan perilaku dan kompleksitas yang sama. Saya juga menyediakan kondisi yang diperlukan untuk properti semi-decidable.

Program yang berjalan di O (n ^ k) adalah klik kompleksitas dalam arti di atas, maka himpunan tidak dapat ditentukan.

Hasilnya juga baru-baru ini diperluas ke pengaturan subkursif (seperti P) oleh Mathieu Hoyrup: Properti decidable dari fungsi subkursif (ICALP 2016).


2

Σ20

Σ20SSO(n2)Σ20S

Σ20φφ(x)kmψ(x,k,m)ψ

φ(x)O(n2)n

kn
m<nψ(x,k,m)

n2

cn2+cΠ10Σ20


-1

Berikut ini adalah analisis / sudut / hasil / analisis baru yang lebih sistematis terhadap pertanyaan ini & yang terkait, memperkenalkan konsep "verifikasi algoritmik" dan analog Beras-seperti-thm untuk teori kompleksitas. satu bagian yang relevan dari abstrak adalah sebagai berikut dan ada banyak teorema terkait lainnya yang berkaitan dengan provabilitas P vs NP dll

  • Mengapa Konsep Kompleksitas Komputasi Sulit untuk Matematika / Hromkovic yang Dapat Diverifikasi

    Pertama, kami membuktikan teorema Rice untuk tidak dapat dibuktikan, mengklaim bahwa setiap masalah semantik nontrivial tentang program hampir tidak ada di mana-mana yang dapat dipecahkan dalam algoritma "AV" yang dapat diverifikasi secara Algorithmically. Dengan menggunakan ini, kami menunjukkan bahwa ada banyak tak terbatas algoritma (program yang terbukti algoritma) yang tidak ada bukti bahwa mereka bekerja dalam waktu polinomial atau bahwa mereka tidak bekerja dalam waktu polinomial. ...

    Perhatikan bahwa, jika P! = NP dapat dibuktikan dalam AV-matematika, maka untuk setiap algoritma A dapat dibuktikan bahwa "A tidak menyelesaikan KEPUASAN atau A tidak bekerja dalam waktu polinomial". Menariknya, kami akhirnya menunjukkan bahwa ada algoritma yang tidak dapat dibuktikan bahwa mereka tidak bekerja dalam waktu polinomial, atau bahwa mereka tidak menyelesaikan KEPUASAN. Selain itu, ada suatu algoritma penyelesaian KEPUASAN yang tidak dapat dibuktikan dalam AV-matematika bahwa itu tidak bekerja dalam waktu polinomial.

    Selanjutnya, kami menunjukkan bahwa P = NP menyiratkan adanya algoritma X yang klaim "X memecahkan KEPUASAN dalam waktu polinomial" tidak dapat dibuktikan dalam AV-matematika.


-3

Solusi dari Viola dapat digeneralisasi ke waktu berjalan (di luar poli): Anda dapat mengurangi masalah terputusnya sebagai berikut. Diberikan contoh (M, x) dari masalah terputus-putus, buatlah sebuah mesin baru M ′ yang bekerja sebagai berikut: pada input panjang n, ia mensimulasikan M pada x untuk langkah-langkah f (n) atau sampai M berhenti, di mana f (n ) adalah fungsi peningkatan sembarang (lebih besar dari konstan) dari n. (Obs .: M ′ membaca input secara bertahap, untuk menghindari pemborosan waktu linear [O (n)] hanya untuk membaca semua input yang tidak perlu, jika cukup besar dan M berhenti.)

Jika M berhenti pada x ia melakukannya dalam T = O (1) langkah-langkah, sehingga jangka waktu M ′ akan menjadi O (1). Jika M tidak pernah berhenti maka waktu menjalankan M ′ adalah O (n ^ 2 * f (n)).

Karenanya Anda dapat memutuskan apakah M menerima x dengan memutuskan apakah jangka waktu M ′ adalah O (1) atau O (n ^ 2 * f (n)).

Kemudian, kode bantu dari Raphael dapat digeneralisasi sesuai dengan:

Misalkan (M, x) adalah setiap instance dari Masalah Pemutusan, yaitu kita harus memutuskan apakah M berhenti pada x. Buat Mesin Turing deterministik (DTM) M * yang berfungsi sebagai berikut:

  1. M * (input) = {
  2. n: = 0
  3. Baca simbol pertama dari input
  4. Loop:
  5. n: = n +1
  6. Simulasikan M (x) untuk langkah f (n) atau hingga M (x) berhenti
  7. Baca simbol selanjutnya dari input
  8. Ulangi hingga end_of_input atau hingga M (x) berhenti
  9. }

Sekarang kami mengamati implikasi berikut:

M berhenti pada x setelah paling banyak k (konstan) langkah => T (M *) = O (1) dan

M tidak pernah berhenti pada x => T (M *) = O (n ^ 2 * f (n))

Oleh karena itu, bahkan memutuskan apakah waktu berjalan DTM sewenang-wenang lebih besar daripada konstan sama sulitnya dengan Menghentikan Masalah. □


2
MO(n)M

Untuk n yang cukup besar, jika M (x) berhenti, maka simulasi juga berhenti dan kembali ke M * dalam langkah n0 (konstan).
André Luiz Barbosa
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.