Apakah membuktikan P ≠ NP lebih sulit daripada membuktikan P = NP?


20

Pertimbangkan dua kemungkinan untuk masalah P vs NP: P = NP dan P NP.

Biarkan Q menjadi salah satu masalah NP-hard yang dikenal. Untuk membuktikan P = NP, kita perlu merancang algoritma waktu polinomial tunggal A untuk Q dan membuktikan bahwa A menyelesaikan Q dengan benar.

Untuk membuktikan P NP, kita perlu menunjukkan bahwa tidak ada algoritma waktu polinomial yang memecahkan Q. Dengan kata lain, kita harus mengesampingkan semua algoritma waktu polinomial.

Saya telah mendengar orang mengatakan ini membuat tugas kedua lebih sulit (dengan asumsi bahwa itu benar-benar benar).

Apakah ada alasan untuk berpikir bahwa membuktikan P = NP (dengan asumsi bahwa P = NP) akan lebih mudah daripada membuktikan P NP (dengan asumsi bahwa P NP)?


31
Pertanyaan ini salah. Karena hanya satu dari pernyataan itu yang benar, maka tidak mungkin dibuktikan. Yang lain mungkin bisa dibuktikan, dan jika demikian akan lebih mudah untuk dibuktikan daripada yang salah. Ergo, saya tidak tahu jawaban seperti apa yang Anda cari. Pemungutan suara komunitas! Bisakah ini dijawab sama sekali?
Raphael

10
@ Raphael saya tidak setuju. Anda dapat menginterpretasikan pertanyaan OP sebagai "Jika P = NP benar, apakah lebih mudah untuk membuktikan daripada membuktikan P ≠ NP jika P ≠ NP benar?" Saya tidak berpikir OP serius dimaksudkan untuk ditafsirkan sebagai saran bahwa keduanya harus benar.
The Anathema

3
FWIW, menurut saya a) @ interpretasi TheAnathema tentang pertanyaan itu benar dan b) itu adalah pertanyaan yang bermakna. Dengan kata lain: Jika P = NP, dan bukti ditemukan, bukti itu mungkin akan dalam bentuk algoritma waktu polinomial untuk masalah NP-lengkap. Di sisi lain, jika kita mulai dengan asumsi bahwa P ≠ NP, teknik apa yang bisa kita manfaatkan untuk menemukan bukti, dan bentuk apa yang berpotensi diambil oleh bukti semacam itu?
JohannesD


Komentar bukan untuk diskusi panjang; percakapan ini telah dipindahkan ke obrolan .
Gilles 'SANGAT berhenti menjadi jahat'

Jawaban:


25

Seperti yang dijelaskan Raphael, pertanyaan ini tidak tepat, karena paling banyak satu dari P = NP dan P P NP harus dapat dibuktikan sama sekali. Namun, pertanyaan serupa muncul dalam ilmu komputer teoritis dalam beberapa samaran, yang paling mencolok di bidang algoritma aproksimasi .

Diberi masalah optimasi NP-hard (katakanlah, maksimisasi), kita bisa bertanya seberapa baik kita bisa memperkirakannya. Membuktikan batas atas pada kemungkinan perkiraan mirip dengan P = NP, sementara membuktikan batas bawah pada kemungkinan perkiraan serupa dengan P ≠ NP. Yang pertama jauh lebih mudah daripada yang kedua. Memang, untuk membuktikan batas atas yang harus dilakukan adalah membuat algoritma perkiraan dan menganalisisnya. Sebaliknya, semua batas bawah yang diketahui bersyarat: mereka hanya valid jika P ≠ NP (memang, jika P = NP maka setiap masalah optimasi NP-hard akan menjadi dipecahkan). Untuk membuktikan batas bawah ini, kami menunjukkan bahwa jika kami dapat memperkirakan masalah terlalu baik, maka kami akan mendapatkan algoritma waktu polinomial untuk beberapa masalah NP-hard. Biasanya ini dilakukan melalui mesin teknis yang rumit dari teorema PCP. Bidang ini, yang dikenal sebagai kekerasan aproksimasi , hanya dapat didekati menjadi spesialis, dan secara teknis lebih menantang daripada kebanyakan algoritma aproksimasi. Jadi setidaknya dalam kasus ini, P = NP memang lebih mudah daripada P ≠ NP.


14
Anda dapat menginterpretasikan pertanyaan OP sebagai "Jika P = NP benar, apakah lebih mudah untuk membuktikan daripada membuktikan P ≠ NP jika P ≠ NP benar?" Saya tidak berpikir OP serius dimaksudkan untuk ditafsirkan sebagai keduanya benar.
The Anathema

6
@Anathema Saya kira kita harus menafsirkan pertanyaan seperti itu. Tapi itu masih cukup keliru karena salah satu opsi harus kontrafaktual. Bagaimana Anda bisa membandingkan kontrafaktual itu dengan kesulitan membuktikan sesuatu yang benar?
David Richerby

@ David, klaim tentang kesulitan membuktikan P NP dibandingkan dengan P = NP adalah sesuatu yang saya miliki dari para ahli beberapa kali. Bertanya apakah itu klaim yang masuk akal adalah pertanyaan yang valid. Menilai kesulitan dari situasi kontrafaktual (ketika mereka tidak diketahui demikian) adalah umum sebenarnya. Ambil misalnya seseorang yang bertanya tentang kesulitan membuktikan P NP. Jika P = NP maka itu kontrafaktual. =
Kaveh

9

Kami belum mengesampingkan kemungkinan bukti sederhana bahwa P = NP. Jika seseorang besok datang dengan algoritma yang memecahkan masalah NP-complete dalam waktu P, dunia berubah.

Di sisi lain, kami telah mengesampingkan kemungkinan bukti sederhana bahwa P! = NP. Teknik bukti khas kami untuk menunjukkan bahwa dua kelas kompleksitas yang berbeda telah terbukti secara formal tidak cukup. Tiga teknik semacam itu dikenal sebagai "aritmetisasi", "bukti alami", dan kategori bukti yang disebut "relativizing" (teknik yang tidak peduli apa yang digunakan oracle). Dapat dibuktikan bahwa teknik pembuktian apa pun yang termasuk dalam 3 kategori mana pun tidak dapat membuktikan P! = NP.

Akibatnya, ada bukti kuat bahwa membuktikan P! = NP membutuhkan jenis bukti baru (teknik baru dengan sifat berbeda), bukan hanya aplikasi baru dari teknik bukti yang terkenal.


Sekarang, mungkin ternyata P = NP, sementara tidak ada yang sederhana untuk memverifikasi algoritma dalam P yang memecahkan masalah NP-complete, dan bahwa teknik bukti baru diperlukan untuk membuktikan P = NP. (Jika P = NP, kita sudah tahu algoritma yang secara teknis dalam P yang memecahkan masalah NP-hard, secara mengejutkan. Mereka tidak praktis untuk dijalankan, karena faktor konstannya besar.)

Pada dasarnya, kita tahu banyak tentang apa yang tidak bisa kita gunakan untuk membuktikan P! = NP, sementara kita tampaknya tahu sedikit tentang apa yang tidak bisa kita gunakan untuk membuktikan P = NP.


PNPP=NPP=NP

8

Yah, pada dasarnya Anda punya ide. Kami umumnya berpikir bahwa P! = NP tetapi tidak tahu bagaimana kami akan membuktikan hal-hal ini tidak sama.

Sebaliknya, jika P = NP, Anda akan berpikir kami akan menemukan algoritma untuk menyelesaikan salah satu dari puluhan masalah NP-lengkap sekarang.

Ini adalah argumen yang sangat mudah, tetapi dalam beberapa kalimat mereka menggambarkan budaya di antara para ilmuwan komputer.

Apakah membuktikan P! = NP "lebih keras" tentu saja tergantung pada mana yang benar (kecuali hasil meta-matematika?), Dan itu, tentu saja, kita tidak tahu.


5

¬mod6n1.9

Namun ada beberapa karya terbaru oleh Ryan Williams dan yang lain yang menunjukkan bahwa ada hubungan intrinsik antara membuktikan batas bawah dan menemukan algoritma. Misalnya ia menunjukkan bahwa suatu algoritma sedikit lebih baik daripada algoritma brute force untuk masalah SAT terbatas tertentu menyiratkan batas sirkuit yang lebih rendah dan kemudian ia merancang algoritma tersebut. Jadi saya pikir orang-orang agak kurang pesimis dan juga tampaknya tidak mengembangkan algoritma dan membuktikan batas bawah yang terpisah seperti yang orang pikirkan sebelumnya.

Sekarang mari kita kembali ke pertanyaan dan mencoba melihatnya sedikit lebih religius. Untuk menjawab pertanyaan itu, kita perlu memformalkan apa yang kita maksud dengan kesulitan membuktikan suatu pernyataan. Untuk ini kita dapat menggunakan teori bukti dan kompleksitas bukti yang persis melihat berbagai cara mendefinisikan kekerasan membuktikan pernyataan. Jadi izinkan saya memberikan penjelasan singkat tentang apa itu kompleksitas bukti. Sistem bukti pada dasarnya adalah algoritma verifikasi untuk bukti. Kami memberikan string dan string dan kami bertanya apakah adalah buktiφ π φπφπφdan algoritma mengembalikan ya atau tidak. Anda dapat memikirkan pemeriksa bukti dengan cara ini. Anda juga dapat memikirkan bukti dalam sistem matematika seperti ZFC. Proses pengecekan itu sendiri dapat dilakukan dalam waktu polinomial dalam ukuran buktinya karena itu adalah tugas sintaksis.

Sekarang pertimbangkan rumus . Apa artinya bagi sulit dibuktikan? Satu kemungkinan adalah bahwa bukti terpendek dari sangat besar. Jika terlalu besar, katakanlah jumlah bit yang diperlukan untuk mewakili itu lebih besar dari maka kita bahkan tidak bisa menyatakan buktinya. Kemungkinan kedua adalah bahwa buktinya tidak terlalu besar tetapi sulit ditemukan. Biarkan saya jelaskan sedikit ini: pikirkan tentang algoritma pencarian bukti. Sebagian besar aturan bersifat deterministik dalam sistem seperti LKφ φ 2 65536φφφ265536dalam arti bahwa Anda dapat menentukan baris sebelumnya dari baris saat ini di bukti dan aturan. Pengecualian penting untuk ini adalah aturan potong. Ini penting karena meskipun kita tidak memerlukan aturan potong untuk membuktikan pernyataan, ia dapat mengurangi ukuran bukti terpendek secara signifikan. Namun aturan cut tidak deterministik: ada formula cut yang harus kita tebak. Anda dapat menganggap aturan potong sebagai pembuktian lemma dan menggunakannya. Formula yang dipotong seperti lemma. Tetapi lemma apa yang harus kita buktikan yang akan membantu kita? Itu bagian yang sulit. Seringkali hasilnya terbukti dalam matematika dengan menemukan lemma yang baik. Juga ketika Anda menggunakan hasil yang sebelumnya terbukti Anda pada dasarnya menggunakan aturan cut. Komponen penting lainnya dalam membuktikan pernyataan adalah definisi. Seringkali kita mendefinisikan konsep baru, lalu membuktikan pernyataan tentangnya, dan akhirnya menerapkannya dalam kasus khusus kami. Menggunakan definisi mengurangi ukuran rumus (cobalah memperluas beberapa rumus matematika ke bahasa teoretis set murni dengan memperluas definisi untuk mendapatkan ide tentang betapa pentingnya definisi itu). Lagi definisi baru apa yang harus kita gunakan? Kami tidak tahu. Ini membawa saya pada makna ketiga dari pernyataan yang sulit dibuktikan. Pernyataan bisa sulit dibuktikan karena Anda membutuhkan aksioma yang kuat. Ambil contoh Pernyataan bisa sulit dibuktikan karena Anda membutuhkan aksioma yang kuat. Ambil contoh Pernyataan bisa sulit dibuktikan karena Anda membutuhkan aksioma yang kuat. Ambil contohCH . Itu tidak dapat dibuktikan dalam ZFC juga tidak dapat dibantah dalam ZFC. Ini adalah kasus ekstrem tetapi itu terjadi lebih sering dari yang Anda pikirkan. Misalnya apakah kita membutuhkan aksioma kardinal besar (untuk dapat bekerja di alam semesta Grothendieck ) untuk membuktikan FLT atau dapatkah kita membuktikannya dalam teori yang jauh lebih lemah seperti PA ? Ini adalah konsep lain mengenai sulitnya membuktikan pernyataan.

Sekarang mari kita kembali ke P vs. NP. Kami tidak memiliki hasil yang menyatakan bahwa masalahnya tidak dapat diselesaikan dengan satu atau lain cara dalam teori aritmatika yang agak lemah. Alexander Razborov menulis sebuah makalah pada tahun 1995 berjudul "Unprovability of Lower Bounds pada Ukuran Sirkuit dalam Fragmen Tertentu dari Aritmatika Terikat" yang menunjukkan tidak mungkin untuk membuktikannya dalam beberapa teori yang lemah tetapi teorinya benar-benar sangat lemah. Sepengetahuan saya belum ada banyak kemajuan dalam memperluas bahwa untuk teori yang lebih kuat seperti teori aritmatika terbatas Sam Buss dan bahkan jika hasilnya diperluas untuk mereka, mereka masih jauh dari sesuatu seperti PA atau ZFC. Jadi singkatnya tidak hanya kita tidak dapat membuktikan bahwa SAT tidak dalam kelas kompleksitas yang sangat kecil, kita bahkan tidak dapat membuktikan bahwa kita tidak dapat membuktikan PNP dalam teori yang sangat lemah. Alasan formal yang kita miliki tentang mengapa sulit untuk membuktikan P NP adalah hasil penghalang yang menyatakan bahwa teknik ini dan itu tidak dapat membuktikan sendiri bahwa P NP. Mereka adalah hasil yang bagus tetapi mereka bahkan tidak mengesampingkan kemungkinan menggabungkan teknik-teknik tersebut untuk menunjukkan P NP.


Ketika Anda berbicara tentang mendefinisikan pertanyaan "lebih religius", saya menganggap Anda bermaksud "lebih keras"? :-)
David Richerby

2
@ David, ya, koreksi otomatis terkadang melakukan itu. :)
Kaveh

4

Saya pikir pertanyaannya dapat direduksi menjadi: apakah lebih mudah untuk membuktikan bahwa sesuatu itu ada atau untuk membuktikan bahwa sesuatu itu tidak ada.

Argumen yang mendukung pembuktian bahwa sesuatu itu ada adalah mudah untuk membangun hal-hal yang mungkin memenuhi persyaratan dan juga mudah untuk memeriksa apakah mereka benar-benar memuaskan mereka.

Dalam beberapa kasus ini benar: jika Anda ingin menemukan akar polinomial, mudah untuk menyusun angka dan mudah untuk memeriksa apakah mereka root.

Masalahnya, tentu saja, Anda harus beruntung. Anda mungkin dapat mengurangi ruang pencarian, mis. Dengan membuktikan bahwa itu harus kelipatan 5 atau antara 1 dan 10; tetapi, kecuali Anda membatasinya pada himpunan angka yang terbatas (dalam hal ini Anda tidak benar-benar menggunakan metode "tebak dan validasi"), Anda tidak memiliki metode untuk menyelesaikan masalah: Anda hanya memiliki metode itu, dengan asumsi Anda sangat beruntung, mungkin menghasilkan solusi.

Tetapi jika Anda menginginkannya, sama mudahnya untuk membuktikan bahwa sesuatu tidak ada! Hasilkan teks yang bisa menjadi solusi yang mungkin dan periksa apakah itu benar-benar ada.

Oleh karena itu, memiliki metode yang mungkin menghasilkan solusi dengan keberuntungan murni tidak berarti membuktikan bahwa sesuatu itu ada lebih mudah.

Sekarang, apakah secara umum lebih mudah untuk membuktikan bahwa ada sesuatu dengan beberapa metode lain? Itu tergantung pada masalah yang sebenarnya karena jika tidak membuktikan bahwa sesuatu tidak ada akan dikurangi menjadi membuktikan bahwa bukti bahwa itu tidak ada ada. Dan saya khawatir kita tidak dapat mengukurnya karena tidak pernah ada sesuatu yang terbukti ada dan tidak ada sehingga kita dapat (berusaha) mengukur kesulitan pembuktian.


1
Jika "sesuatu" itu ada, lebih mudah untuk membuktikannya (sepele, Anda tidak dapat membuktikan bahwa itu tidak ada; itu tidak berarti tidak sulit untuk menemukan bukti tersebut). Alasan yang sama sebaliknya. Seperti komentar mengatakan, pertanyaan itu sendiri tidak masuk akal.
vonbrand

@vonbrand saya tidak mengatakan for any X: is it easier to prove that X exists or to prove that X does not exist, saya mengatakan bahwa for any X,Y: is it easier to prove that X exists or to prove that Y does not exist.yaitu jika E set bukti yang membuktikan kalimat dari bentuk 'X ada' dan NE set bukti yang membuktikan kalimat dari bentuk 'Y tidak ada', dan d ( P) kesulitan pembuktian, apakah benar bahwa d (X) <d (Y) di mana X di E dan Y di NE.
Thanos Tintinidis

d(X)XXX

@vonbrand ya; Selain itu, saya berpendapat bahwa Anda tidak dapat menggunakan metode OP (terus menghasilkan solusi potensial sampai Anda menemukan satu) sebagai argumen untuk menyarankan bahwa membuktikan keberadaan lebih mudah daripada membuktikan tidak ada karena Anda dapat mengubah transformasi pernyataan S1 tidak-ada untuk pernyataan S2 tentang adanya bukti pernyataan S1. Meskipun saya mulai meragukan nilai ini
Thanos Tintinidis

0

Jika Anda membuktikan bahwa P = NP maka membuktikan sebaliknya bukan hanya lebih sulit, tetapi tidak mungkin.


2
Mengapa Anda memposting jawaban baru karena poin Anda terkandung dalam jawaban Yuval Filmus ?
xskxzr

-2

Saya percaya tidak mungkin untuk membuktikan P <> NP, karena Anda harus mengesampingkan semua algoritma yang dapat membuktikan P = NP. Mungkin ada jumlah tak terbatas dari jumlah ini. Tidak ada cara untuk membuktikan ketidakterbatasan, oleh karena itu tidak mungkin. Di sisi lain semua yang diperlukan adalah algoritma tunggal untuk membuktikan P = NP, jika demikian. Karena itu, baik P = NP mana yang akan dibuktikan seseorang, atau kita tidak akan pernah tahu.


Selamat Datang di Ilmu Komputer ! Anda percaya atau Anda bisa membuktikan itu tidak terbukti? Saya pikir jawaban Yakk memberi penjelasan tentang topik ini.
Evil

2
"Tidak ada cara untuk membuktikan ketidakterbatasan" Orang-orang mengesampingkan banyak kemungkinan sepanjang waktu dalam matematika; kita tidak perlu memeriksa masing-masing dengan tangan untuk mengetahui bahwa tidak ada yang berhasil. "Argumen" Anda akan menyiratkan bahwa kita tidak pernah dapat memisahkan kelas kompleksitas sama sekali, yang tidak masuk akal.
Noah Schweber
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.