Gagasan alternatif kompleksitas berdasarkan kesenjangan antara brute-force dan algoritma terbaik?

17

Biasanya, algoritma yang efisien memiliki runtime polinomial dan ruang solusi yang besar secara eksponensial. Ini berarti bahwa masalahnya harus mudah dalam dua pengertian: pertama, masalah dapat diselesaikan dalam sejumlah langkah polinomial, dan kedua, ruang solusi harus sangat terstruktur karena runtime hanya polylogarithmic dalam jumlah solusi yang mungkin.

Namun, kadang-kadang kedua pengertian ini berbeda, dan masalahnya mudah hanya dalam arti pertama. Misalnya, teknik umum dalam algoritme aproksimasi dan kompleksitas parameter adalah (kira-kira) untuk membuktikan bahwa ruang solusi sebenarnya dapat dibatasi ke ukuran yang jauh lebih kecil daripada definisi naif dan kemudian menggunakan kekuatan-kasar untuk menemukan jawaban terbaik di ruang terbatas ini. . Jika kita dapat secara apriori membatasi diri kita sendiri, katakanlah, 3 jawaban yang mungkin, tetapi kita masih perlu memeriksa masing-masing, maka dalam beberapa hal masalah seperti itu masih "sulit" karena tidak ada algoritma yang lebih baik daripada brute-force.

Sebaliknya, jika kita memiliki masalah dengan sejumlah kemungkinan jawaban eksponensial dua kali lipat, tetapi kita dapat menyelesaikannya hanya dalam waktu eksponensial, maka saya ingin mengatakan bahwa masalah seperti itu "mudah" ("terstruktur" mungkin lebih baik word) karena runtime hanya mencatat ukuran ruang solusi.

Adakah yang tahu tentang makalah apa pun yang menganggap sesuatu seperti kekerasan berdasarkan pada kesenjangan antara algoritma yang efisien dan kekerasan atau kekerasan relatif terhadap ukuran ruang solusi?

Ian
sumber

Jawaban:

12

Satu masalah dengan memformalkan pertanyaan adalah bahwa frasa "ruang solusi untuk Masalah A" tidak didefinisikan dengan baik. Definisi ruang solusi membutuhkan algoritma verifikasi yang, diberikan contoh dan kandidat solusi, memverifikasi apakah solusi itu benar atau tidak. Kemudian, ruang solusi dari instance wrt ke verifier adalah sekumpulan kandidat solusi yang membuat output verifier "benar".

Sebagai contoh, ambil masalah SAT0: diberikan formula Boolean, apakah itu dipenuhi oleh tugas semua-nol? Masalah ini sepele dalam waktu polinomial, tetapi ruang solusinya dapat sangat bervariasi, tergantung pada pemverifikasi yang Anda gunakan. Jika verifikasi Anda mengabaikan solusi kandidat dan hanya memeriksa apakah semua-nol bekerja pada instance, maka "ruang solusi" untuk setiap instance SAT0 pada verifier itu sepele: itu semua kemungkinan solusi. Jika pemeriksa Anda memeriksa untuk melihat apakah solusi kandidat adalah penugasan yang memuaskan, maka ruang solusi instance SAT0 sebenarnya bisa sangat kompleks, bisa dibilang serumit ruang solusi instance instance SAT.

Yang mengatakan, masalah "menghindari pencarian brute-force" dapat diformalkan dengan cara berikut (seperti yang terlihat di koran "Meningkatkan pencarian lengkap menyiratkan batas bawah superpolynomial"). Anda diberi algoritma verifikasi yang berjalan dalam waktu , pada contoh ukuran n dan solusi kandidat k bit. Pertanyaannya adalah, * pada contoh sewenang-wenang ukuran n , dapat kita menentukan apakah ada solusi yang tepat (wrt verifier ini) dengan paling banyak k bit, di banyak kurang dari O ( 2 k t ( n , k ) ) waktu?t(n,k)nknkHAI(2kt(n,k))

Catatan adalah biaya mencoba semua string panjang hingga k, dan berjalan verifier. Jadi hal di atas dapat dilihat sebagai menanyakan apakah kita dapat meningkatkan pencarian brute-force untuk verifier yang diberikan. Area "algoritma yang tepat untuk masalah NP-hard" dapat dilihat sebagai upaya jangka panjang untuk mempelajari kesulitan meningkatkan pencarian brute-force untuk verifier yang sangat alami: misalnya pertanyaan tentang menemukan algoritma yang lebih baik dari 2 n untuk SAT adalah pertanyaan apakah kita selalu dapat meningkatkan pencarian brute-force untuk verifikasi yang memeriksa apakah solusi kandidat yang diberikan adalah tugas yang memuaskan untuk instance SAT yang diberikan.HAI(2kt(n,k))2n

Makalah ini menunjukkan beberapa konsekuensi menarik dari peningkatan pencarian dengan kekerasan untuk beberapa masalah. Bahkan meningkatkan pencarian brute-force untuk "ruang solusi ukuran polinomial" akan memiliki konsekuensi yang menarik.

Ryan Williams
sumber
1
..
Saya agak enggan untuk merujuk makalah saya sendiri dalam sebuah jawaban. Tapi ketika itu cocok dengan pertanyaannya, sulit untuk menolak ...
Ryan Williams
5

Bagaimana Anda menangani masalah pemrograman dinamis yang khas? Di sini, yang sering terjadi adalah ruang solusi optimal dibatasi secara polinomi, tetapi ruang solusi tidak. Jadi sepertinya "mudah" dalam pengertian Anda karena waktu berjalan adalah logaritmik dalam ruang solusi, tetapi "sulit" dalam pengertian Anda karena menjalankan "brute force" di atas semua solusi yang berpotensi optimal.

Suresh Venkat
sumber
Ada beberapa seluk-beluk dalam definisi yang perlu dikerjakan, seperti apa tepatnya algoritma yang memenuhi syarat sebagai brute force. Saya mungkin akan mencoba membatasi ruang solusi sebagai berikut: jika, untuk ukuran masalah yang diberikan, Anda dapat menghapus jawaban dari pertimbangan tanpa melihat data maka tidak ada dalam ruang solusi (harus diakui, ini memungkinkan beberapa ruang solusi yang berbeda). Yang mengatakan, saya akan senang dengan jawaban yang serupa semangatnya dengan pertanyaan saya bahkan jika itu berbeda dalam banyak detail.
Ian
3

Perspektif tampaknya mengasumsikan beberapa hal, seperti keterbatasan ruang solusi.

Sebagai contoh, pikirkan tentang masalah menghasilkan koneksi Voronoi dari serangkaian titik input. Di sini ada ruang solusi berukuran tak terbatas karena setiap titik di tepi diagram adalah tupel bilangan real. Namun solusi dapat dicapai dalam O (n log (n)) dalam jumlah titik input (untuk pesawat).

Ross Snider
sumber
Benar, beberapa masalah mungkin tidak sesuai dengan kerangka kerja ini. Meskipun untuk beberapa masalah dengan output bilangan real seseorang mungkin dapat membuat ruang terbatas dengan menggambarkan output secara aljabar dalam hal input (misalnya sebagai kombinasi linier dari titik input). Saya tidak tahu banyak tentang algoritma geometris, di mana bilangan real biasanya ditemui, jadi saya tidak yakin seberapa sering atau apakah ini akan mungkin.
Ian
1
Bilangan real bukan satu-satunya cara untuk mendapatkan ruang solusi tanpa batas. Pertimbangkan permainan antara Alice dan Bob. Alice mengambil bilangan bulat n. Bob membuat tebakan, dan Alice mengatakan kepadanya apakah ia lebih tinggi, lebih rendah atau sama dengan rahasianya n. Bob memiliki strategi waktu terbatas untuk menemukan dan selalu terbatas. Dia mulai 0 dan kemudian mengambil konstanta besar c. Alice mengatakan kepadanya ke arah mana dia berada dan Bob akan menebak sampai dia menemukan batas bawah dan atas, di mana dia melakukan pencarian biner untuk n. Kemudian lagi saya kira Anda bisa berdebat bahwa ada ruang solusi yang terbatas dalam jumlah bit ...
Ross Snider
3

Terkait adalah masalah yang mengakui algoritma dengan keterlambatan polinomial . Solusi pertama, dan setiap solusi setelahnya, dapat dihasilkan dalam waktu polinomial. Johnson, Yannakakis, dan Papdimitriou mendiskusikan kerangka kerja ini dalam konteks kemungkinan kesenjangan lain (seperti total waktu polinomial): Tentang Menghasilkan Semua Perangkat Independen Maksimal , Pemrosesan Informasi Surat 27 , 119–123, 1988.

András Salamon
sumber