Son zamanlarda, hesaplama karmaşıklığı kavramını, algoritmalar veya karmaşıklık konusunda daha önce hiç resmi bir ders almayan genç yetenekli, kendi kendini eğiten bir programcıya gayrı resmi olarak açıklamanın acı dolu eğlenceli deneyiminden geçtim . Şaşırtıcı olmayan bir şekilde, birçok fikir ilk başta garip görünüyordu, ancak bazı örnekler (PTIME, kararsızlık, hesaplanamazlık) ile mantıklı geldi, bazıları ise daha doğal hale geldi (azaltmalar, zaman ve kaynaklar olarak problemler, asimptotik analizler gibi) . O SAT'ı yanlışlıkla kabul edene kadar her şey mükemmeldi.pratikte etkili bir şekilde çözülebilir * ve aynen böyle, onları kaybettim. Teori için ne kadar ikna edici bir şekilde tartışmaya çalıştığımın önemi yoktu, çocuk onun umrunda olmaması gereken bütün yapay bok matematiği olduğuna ikna oldu . İyi...
¯ \ _ (ツ) _ / ¯
Hayır, kalbim kırılmadı ya da ne düşündüğünü umursamadım, bu sorunun amacı bu değil. Konuşmamız farklı bir soru düşünmemi sağladı.
Teorik olarak inatçı olan (süperpinonsiyel zaman karmaşıklığı) fakat pratik olarak çözülebilir (sezgisel, yaklaşımlar, SAT çözücüler vb.) Problemler hakkında ne kadar bilgim var?
Fark ettim, pek değil. Muazzam örnekleri verimli bir şekilde çözen bazı çok etkili SAT-çözücüleri olduğunu biliyorum, Simplex pratikte harika çalışıyor ve belki birkaç problem veya algoritma daha var. Daha eksiksiz bir resim çizmeme yardım eder misin? Hangi iyi bilinen problemler ve hatta problem sınıfları bu kategoridedir?
TL; DR: Uygulamada sezgisel olarak çözülebilen problemler nelerdir ? Daha fazla okumak için (güncellenmiş) bir kaynak var mı? Onlar için bir karakterizasyonumuz var mı? Ve nihayet, genel bir tartışma sorusu olarak, değil mi?
EDIT # 1: Böyle bir karakterizasyon hakkındaki son tartışma soruma cevap vermeye çalışırken , Daniel Spielman ve Shang-Hua Teng tarafından [1] 'de sürekli olarak en kötü durum arasında araya giren bir kavram olan algoritmaların düzgünleştirilmiş analizine girdim. algoritmaların ortalama-durum analizleri. Yukarıda tartışılan karakterizasyon tam olarak değil, aynı kavramı ele geçiriyor ve ilginç buldum.
[1] Spielman, Daniel A. ve Shang-Hua Teng. "Algoritmaların düzgünleştirilmiş analizi: Simpleks algoritmasının neden genellikle polinom zaman aldığı". ACM Dergisi (JACM) 51, no. 3 (2004): 385-463 sayılı belge.