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?
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.
sumber
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).
sumber
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.
sumber