Kararsız bir problem için yaklaşık bir algoritma anlayışı var mı?


48

Bazı sorunların çözülemez olduğu bilinmektedir, ancak yine de bunları çözme konusunda bazı ilerlemeler yapmak mümkündür. Örneğin, durma sorunu belirlenemez, ancak kodunuzdaki potansiyel sonsuz döngüleri tespit etmek için araçlar oluşturma konusunda pratik ilerleme sağlanabilir. Döşeme problemleri çoğu zaman kararsızdır (örneğin, bu polyomino bazı dikdörtgeni döşer mi?) Ancak yine bu alanda sanatın durumunu ilerletmek mümkündür.

Merak ediyorum, kararsız sorunların çözümünde ilerlemenin ölçülmesi için uygun bir teorik yöntem olup olmadığı, NP-zor problemler üzerindeki ilerlemenin ölçülmesi için geliştirilen teorik düzeneğe benzeyen bir şey olup olmadığıdır. Yoksa, ne kadar özel atılımın kararsız sorunlara ilişkin anlayışımızı ilerlettiğine dair değerlendirmelerde, geçici, bildiğim-ilerleme-ne zaman-gördüğümde- takılı kaldık mı?

Düzenleme : Bu soruyu düşündüğüm gibi, belki de parametreleştirilmiş karmaşıklığın burada ilgili olabileceği aklıma geldi. Bir parametre eklersek ve parametrenin değerini düzeltirsek, çözülemez bir problem çözülebilir. Yine de, bu gözlemin bir faydası olup olmadığından emin değilim.


3
..bana Özet Yorumlama teorisini hatırlatıyor.
Jagadish

1
[Jagadish'in yorumuyla birlikte]: MIT kursuna bir göz atabilirsiniz 16.399: Özet Yorumlama . Özellikle, Anlatım 3 davanız için faydalı olabilir.
MS Dousti,

6
Muhtemelen sevmeyeceğiniz açık ölçü, etki alanlarına göre (yani üzerinde çalıştıkları girdiler kümesi) çeşitli kısmi çözümler sipariş etmektir. Ölçümü ne için kullanmak istersiniz?
Andrej Bauer

3
@Andrej: Soruna dolaylı olarak cevap vereyim. NP-zor problemler alanında bazen "Çok ve böyle bir yaklaşım oranı elde edilebilir ve P = NP olmadığı sürece başka bir iyileştirme mümkün değildir" şeklinde çok güzel sonuçlara sahibiz. İlginç saptanamayan problemler için benzer sonuçlar kanıtlayabilmek güzel olurdu. Bize ilerlemenin önünde bazı engeller olup olmadığı konusunda bir fikir verir.
Timothy Chow,

Alanda bazı araştırmalar ile bir "quasialgorithms" kavramı önermek
vzn

Yanıtlar:


30

Durma problemi durumunda cevap "henüz değil" dir. Bunun nedeni, bir programın sonlandırma kanıtının ne kadar zor olduğunu belirlemek için standart mantıksal yöntemin (örneğin, sıra analizi) çok fazla birleşimsel ve / veya sayı teorik yapısını kaybetme eğiliminde olmasıdır.

Zorunlu programların pratik sonlandırma analizindeki son teknoloji, "rank-fonksiyonu sentezi" olarak adlandırılan bir şeydir (Byron Cook'un CUP konusunda bir sonraki kitabı vardır. Buradaki amaç, program değişkenlerinin şimdiki ve sonlandırma metresinde yer alan bir önceki adımdaki değerlerinin doğrusal bir fonksiyonunu hesaplamaktır. (Bu yöntemle ilgili harika bir şey, ne olup bittiğine dair net bir geometrik bakış açısı veren Farkas'ın lemmasını kullanmasıdır.) İlginç olan, bu yaklaşım üzerine inşa edilen araçların Ackerman işlevinin sona ermesini göstermek gibi şeyler yapabilmesidir (ki bu ilkel olmayan özyinelemelidir), ancak iç içe geçmeden, bunları yenebilecek döngüler oluşturabilirsiniz (bu, yalnızca sonlandırmayı göstermek için ihtiyaç duyar ).ω

Bunun anlamı, fesih gösterdiğiniz metalojinin ispat-teorik gücü ile (örneğin, yeniden yazma teorisinde bu çok önemlidir) ve sıra-fonksiyon sentezi gibi tekniklerin fesih gösterebileceği fonksiyonlar arasında düzgün bir ilişki olmadığıdır. .

Lamda matematiği için, türdeşlik açısından sonlandırmanın kesin bir karakteristiğine sahibiz: Bir lambda terimi, sadece kesişim türü disiplini altında yazılabilir ise ve normalleştiriliyorsa, normalleşiyor. Tabii ki, bu, kesişme tipleri için tam tip çıkarımın mümkün olmadığı, ancak kısmi çıkarım algoritmalarını karşılaştırmanın bir yolunu da sağlayabileceği anlamına gelir.


6

Kararsız bir sorunu çözen bir algoritma uygulayan bir kişinin akılda kalıcı bir konuşmasından: "Denedim tüm girişler için 2-3 saniye sürer".


2

Bu, sorunun başlığını içeriğinden daha fazla yanıtlıyor, ancak durma sorununun "yaklaşımlarını", "neredeyse tüm" programlarda size doğru bir cevap verecek algoritmalar olarak da düşünebilirsiniz.

"Neredeyse bütün" programlar kavramı, hesaplama modelinizin en uygun olduğu durumlarda ( Kolmogorov'un karmaşıklığı için aynı anlamda ), programlarınızın çoğunun önemsiz olduğu durumlardan kaçınmak için anlamlıdır .

En uygun makine ve bir tamsayısı verildiğinde , keyfi bir şekilde küçük için bir kesir hariç, boyutundaki tüm programlar için durma problemine doğru bir cevap verebilir misiniz ? Lynch 70'lerde kanıtladı, hayır, yapamazsınız . Birkaç yıl önce, meslektaşlar ve ben bu sonucun daha güçlü bir versiyonunu gösterdik, algoritmanın hata yapmasına izin verdik veya girdilerin küçük bir kısmını durdurmadık, ya da sadece algoritmaya izin veren olasılıkla olasılıkla olasılıklı bir yaklaşım gerektirdik . paraları çevir).Mnϵ ϵ p > 0<nϵϵp>0

Yol boyunca, dizisinin özellikleri hakkında ilginç şeyler ortaya , burada durdurulan büyüklüğündeki programların oranıdır ( ki bu sıra çok gariptir ). Yukarıdaki kağıt çok yoğunsa, sonuçları ICALP’de sunduğumuz zamanki slaytlarıma bakabilirsiniz.ρ n < nρnρn<n

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.