Jika P = NP, mengapa

15

Rupanya, jika P=NP , semua bahasa dalam P kecuali dan Σ akan menjadi NP -lengkap.

Mengapa dua bahasa ini khususnya? Tidak bisakah kita mengurangi bahasa lain dalam P ke mereka dengan mengeluarkannya saat menerima atau tidak menerima?

David Faux
sumber

Jawaban:

25

Karena tidak ada string dalam , mesin apa pun yang menghitungnya selalu menolak, jadi kami tidak bisa memetakan Ya-contoh masalah lain untuk apa pun. Demikian pula untuk Σ tidak ada yang bisa dipetakan untuk instance-no.Σ

Luke Mathieson
sumber
4

Anda perlu pengurangan jumlahnya banyak dari masalah ke masalah B jika Anda ingin membuktikan bahwa B adalah "sulit" dari A . Kami membangun pengurangan jumlahnya banyak dengan mengubah setiap contoh x dari A ke sebuah contoh f ( x ) dari B sehingga x A jika dan hanya jika f ( x ) B .ABBAxAf(x)BxAf(x)B

Fungsi harus dan bisa polinomial. Jika P = N P dan A merupakan masalah NP, maka f dapat sendiri memecahkan masalah Sebuah masalah dan embed setiap x A ke dalam beberapa elemen y dari B dan setiap x A ke dalam beberapa elemen z yang tidak di B .fP=NPAfAxAyBxAzB

Jika adalah salah atau Σ * kemudian y atau z tidak bisa ada, jika tidak penalaran di atas menunjukkan bahwa B lebih sulit daripada A .BΣyzBA

jmad
sumber
3

Hanya sebuah catatan: jawaban sebelumnya ok, namun Anda tidak terlalu jauh dari pengurangan sepele yang benar:

jika maka setiap L N P adalah Karp dapat direduksi ke bahasa { 1 } (hanya peta dalam waktu polinomial setiap x L ke 1, setiap x L ke 0), yang biasanya merupakan bahasa yang jarangP=NPLNP{1}xLxL

Arah sebaliknya: "jika bahasa lengkap Karp direduksi untuk satu set jarang kemudian P = N P " tentu lebih menarik dan dikenal sebagai teorema Mahaney ini :NPP=NP

Biarkan menjadi konstanta dan A diatur sedemikian rupa sehingga untuk semua n , A memiliki paling banyak n c string panjang n . Jika A adalah N P -Lengkap maka P = N P .cAnAncnANPP=NP

Vor
sumber