Saya mencoba membuat daftar algoritma / masalah yang "sangat berguna", seperti dalam, memecahkan masalah yang 'tampak' sangat eksponensial di alam, tetapi memiliki beberapa algoritma yang sangat pintar yang akhirnya menyelesaikannya. Contoh yang saya maksud:
- Linear Programming (Algoritma simpleks adalah waktu eksponensial; butuh waktu lama untuk menemukan solusi waktu polinomial!)
- Lebih umum, Pemrograman Semidefinite
- Pengujian primality
- 2-SAT dan HORNSAT
- Penentu komputasi (jika ini kedengarannya tidak sulit, pertimbangkan yang permanen)
- Menemukan pasangan yang sempurna
- Berbagai masalah teori kelompok keras yang dapat diselesaikan dengan menggunakan Klasifikasi Kelompok Sederhana Hingga
- Berbagai masalah grafik keras yang dapat diselesaikan dengan menggunakan karakterisasi Forbidden Minor yang rumit (dapat ditanamkan pada permukaan yang sewenang-wenang; pembatas jalur lebar dan lebar cabang; grafik yang dapat direduksi Delta-Wye)
- Komputasi eksponensial dalam grup terikat (mis. Menghitung dalam \ log b langkah, seperti yang dilakukan dengan kuadrat ulang)log b
- Komputasi mengandalkan algoritma LLL. (Sebagai kasus khusus: Algoritma Euclidean. Sebagai kasus yang lebih umum: Algoritma PSLQ atau HJLS.)
- Kendala masalah tanpa istilah Taylor (?). Saya akui saya tidak sepenuhnya memahami hal ini, tetapi sepertinya ini mungkin merangkum kasus 2-SAT / HORNSAT di atas, dan aljabar linear apa pun di bidang terbatas. Lihat di sini untuk posting yang lebih panjang
- Masalah dapat dihitung melalui pengurangan holografik .
Sebagai penyebutan terhormat, saya juga akan menyebutkan Graph Isomorphism, karena itu masih sangat mudah ( ), dan setara dengan begitu banyak masalah isomorfisma lainnya:
- Digraphs / multigraphs / hypergraphs (semacam masalah 'sulit')
- Automata / CFG terbatas
Jelas ada sejumlah kesulitan dalam hal ini, tetapi semua meninggalkan setidaknya beberapa orang dengan perasaan 'terkejut' dalam arti bahwa masalahnya bisa terdengar sulit tetapi ternyata bisa diselesaikan. LP mungkin terdengar relatif mudah, tetapi orang butuh waktu cukup lama untuk membangun solusi aktual. Mengkuadratkan atau memecahkan 2-SAT berulang adalah sesuatu yang mungkin dapat dilakukan oleh seorang sarjana, tetapi jika Anda hanya belajar tentang masalah NP-Complete tanpa melihat HORNSAT, itu mungkin terdengar seperti kandidat alami untuk NP-Completeness. Memecahkan CFSG atau memiliki cara polinomial untuk memeriksa reducabilitas Delta-Wye bukanlah prestasi yang berarti.
Saya harap ini masuk akal; jelas ada banyak atribut subjektif di sini, tetapi saya ingin tahu apa yang orang lain temukan sebagai solusi efisien untuk masalah yang "jelas sulit".