Mantık problemlerini çözmek için yaklaşık yöntemler hakkında iyi referans


13

Birçok mantık probleminin (örneğin birkaç modal mantığın tatmin edilebilirlik problemleri) karar verilemez olduğu bilinmektedir. Algoritma teorisinde, örneğin kombinatoryal optimizasyonda, pek çok kararsız problem vardır. Ancak pratikte, heuristcs ve yaklaşık algoritmalar pratik algoritmalar için iyi çalışır.

Dolayısıyla mantık problemleri için yaklaşık algoritmaların da uygun olabileceği beklenebilir. Bununla birlikte, bulmayı başarabildiğim bu çizgiler boyunca sadece araştırma eğilimi max-SAT problemi ve gelişimi doksanlarda aktifti.

Modal mantık, mantık programlama ve benzeri için yaklaşık yöntemlerin kullanımı ve geliştirilmesi için başka aktif araştırma eğilimleri, atölyeler, anahtar kelimeler, iyi referanslar var mı?

Otomatik akıl yürütmenin bilgisayar bilimlerinin gelecekteki uygulamalarında ön plana çıkması bekleniyorsa, o zaman mantıksızlık sınırlamalarının ve yaklaşık yöntemlerin veya buluşsal yöntemlerin takip edilmesi doğal bir yol olabilir.


1
"Bu hatlar boyunca bulmayı başarabildiğim tek araştırma trendi max-SAT problemi ve gelişimi doksanlarda aktifti." Aslında MAXSAT çözücüler bugünlerde önemli ölçüde iyiye: maxsat.udl.cat/12/solvers/index.html
Radu Grigore

Bazı çalışmalardan sonra şimdi fikrimi değiştirmeye meyilliyim. Sonlu model teorisi yapay zeka ve uygulamalı mantık için en muhtemel alan olmalıdır. Sonsuz model teorisine dayanan mantık estetik açıdan güzel olabilir, ancak gerçeklikle iki önemli bağlantıdan yoksundur: 1) pratik uygulamalar her zaman sınırlı kaynaklarla kısıtlanır (örneğin değişkenlerin listesi sınırlandırılmalıdır); 2) fiziksel worl zorunlu olarak sınırlıdır ve ayrık olma olasılığı daha yüksektir (örneğin, temel uzunluk vb.). Şimdi - sonsuz model teorilerinin kullanımını anlamıyorum. ONLAR yaklaşık değerlerdir.
TomR

Diğer bir eğilim, "bağlantı bilimi" veya nöro-sembolik entegrasyon - mantığın problemi belirtmek ve hesaplamanın girdi ve okuma çıktısını sağlamak için kullanıldığı, ancak hesaplamanın kendisi sinir ağı tarafından gerçekleştirilir. NN'nin ne kadar güçlü olabileceği hakkında bir tartışma var (örneğin bazıları Turing sınırını sadece gerçek sayılar ağırlık olarak kullanıldığında kırmayı önerebilirler, ancak bu tartışılabilir - örneğin, gerçek sayıların doğada var olup olmadığı açık bir sorudur) ama sezgisel yöntemleri mantıkta kullanabilme ihtimalinin olması ve entegrasyonun bir yoludur.
TomR

Yanıtlar:


10

Kararsızlıkla başa çıkmak için belirttiğiniz motivasyon, karar verilebilir ama zor problemler için de geçerlidir. NP-zor veya PSPACE-zor bir probleminiz varsa, bir çözüm bulmak için genellikle bir çeşit yaklaşım (terimin geniş anlamıyla) kullanmamız gerekir.

Farklı yaklaşım kavramlarını ayırt etmek yararlıdır.

  • Sayısal yaklaşım: çözüm boşluğu üzerinde bir metriğiniz olduğunda uygulanır ve çözümden uzaklığı ölçebilirsiniz. Çözümleri saydığınız ve çözümün içinde bir değer döndüren bir yaklaşım algoritması tasarlayabileceğiniz #SAT gibi sorunlar için durum budur .ε
  • Olasılıksal yaklaşım: Rastgele bir algoritma kullandığınızda, algoritmayı her çalıştırdığınızda elde edeceğiniz çözümde kesinlikten vazgeçebilirsiniz. Çözümler üzerindeki olasılık dağılımını göz önünde bulundurarak algoritmadaki rasgele ve çözüm boşluğundaki rasgele arasında hareket edebilirsiniz. O zaman buradaki yaklaşım daha büyük bir olasılıkla doğru bir çözüm elde edeceğinizdir.δ

Orada Yukarıdaki iki bakış açısını birleştirmek ALLSAT gibi sorunlar için -algorithms. Kararsız sorunlar veya belirgin bir metrik olmayan ve rastgele bir algoritma kullanmak istemediğimiz sorunlar söz konusu olduğunda, hangi yaklaşım kavramının kullanılacağı sorusu vardır. Bu sorun özellikle derleyicileri optimize etme ve program doğrulama programlarının analizinde ortaya çıkar. Programların karmaşık özelliklerinin belirlenmesi ya kararsızdır ya da hesaplama açısından pahalıdır, bu nedenle bir çeşit yaklaşım gereklidir.(ε,δ)

İşte farklı bir yaklaşım kavramına bir örnek. İki büyük sayıyı çarpmak gibi bir hesaplama yaptığınızı ve çarpımın doğru olup olmadığını kontrol etmek istediğinizi varsayalım. Pratikte, hesaplamayı tekrar etmeden doğruluğu kontrol etmek için kullanılan birçok sezgisel teknik vardır. Doğru işareti elde etmek için işaretlerin çarpıldığını kontrol edebilirsiniz. Sayıların doğru pariteye (çift / tek sayı özellikleri) sahip olup olmadığını kontrol edebilirsiniz. Dokuzları dışarı atmak gibi daha karmaşık bir çek kullanabilirsiniz. Tüm bu tekniklerin, bir hata yaptıysanız size söyleyebilecekleri ortak bir özelliği vardır, ancak doğru cevabı alıp almadığınızı garanti edemezler. Bu özellik mantıksal bir yaklaşım olarak görüntülenebilir, çünkü orijinal hesaplamanın yanlış olduğunu kanıtlayabilirsiniz, ancak doğru olduğunu kanıtlayamayabilirsiniz.

Yukarıda bahsettiğim tüm kontroller, soyut yorumlama adı verilen bir tekniğin örnekleridir. Soyut yorum, sayısal ve olasılıklı yaklaşımlardan farklı bir mantıksal yaklaşım kavramını tamamen titiz hale getirir. Tek bir hesaplamanın analizi ile tanımladığım sorun, bir programın daha karmaşık analiz durumuna uzanır. Soyut yorumlama literatürü, programlar hakkında ve son zamanlarda mantıklar hakkında yaklaşık, mantıksal akıl yürütme için teknikler ve çerçeveler geliştirmiştir. Aşağıdaki referanslar faydalı olabilir.

  1. Özetle , Patrick Cousot tarafından özetlenen bir yorum.
  2. Kursunun bir parçası olarak Patrick Cousot'un Soyutlamaya Genel Bakış . Bir boquet çiçek özelliklerini belirlemek için soyutlamanın çok güzel bir örneği var. Buket benzetmesi sabit noktalar içerir ve tamamen matematiksel olarak hassas hale getirilebilir.
  3. Tüm derinlik ve detayları istiyorsanız, Patrick Cousot tarafından Soyut Yorumlama Kursu .
  4. Özet yorumlama ve mantık programlarına uygulama , Patrick Cousot ve Radhia Cousot, 1992. İsteğinize göre mantık programlarına uygulanır. İlk bölüm aynı zamanda döküm dokuz prosedürünü soyut bir yorum olarak resmileştirir.

Bütün bunlar tipik olarak bilgisayar programları hakkındaki akıllara uygulanmıştır. Soyut yorumdan fikirleri mantık için karar prosedürlerini incelemek için uygulamak konusunda oldukça yeni çalışmalar yapılmıştır. Odak noktası mantıksal mantık değil, önermeli mantık ve niceleyici içermeyen birinci dereceden teorilerde tatmin edilebilirlik olmuştur. (Bu alanda çalıştığım için aşağıdaki kağıtlardan biri benimdir)

  1. Staalmarck'ın yönteminin Aditya Thakur ve Thomas Reps tarafından genelleştirilmesi, 2012. Staalmarck'ın yönteminin program analizindeki sorunlara genel bir bakış verir.
  2. Soyut alanların azaltılmış ürünü ve karar prosedürlerinin kombinasyonu , Patrick Cousot, Radhia Cousot ve Laurent Mauborgne, 2011. Bu makale, karar prosedürlerini birleştirmek için Nelson-Oppen tekniğini inceleyerek eksik kombinasyonlar için de kullanılabileceğini göstermektedir. kararsız problemleriniz varsa özellikle ilginçtir.
  3. Memnuniyet Çözücüleri Statik Analizörler , Leopold Haller ve Daniel Kroening ile birlikte çalıştığım makaleler, 2012. Mevcut çözümleyicileri karakterize etmek için kafes tabanlı yaklaşım görünümünü uygular. Bunun yerine konudaki slaytlarıma da bakabilirsiniz .

Şimdi yukarıdaki makalelerin hiçbiri, karar verilemez olan tatmin edici sorunlara saldırmakla ilgili özel sorunuza cevap vermiyor. Bu makalelerin yaptığı şey, sayısal veya olasılıksal olmayan mantıksal sorunların yaklaşık odaklı bir bakışını ele almaktır. Bu görüş, programlar hakkındaki akla kapsamlı bir şekilde uygulanmıştır ve bence tam olarak sorduğunuz soruya hitap etmektedir.

Bunu modal mantığa uygulamak için bir başlangıç ​​noktası olan Jonsson ve Tarski'nin cebirsel semantiği veya daha sonraki Lemmon ve Scott semantiği kullanmaktır. Çünkü soyut yorum, kafesler ve monoton işlevler açısından formüle edilmiştir, bu nedenle operatörlerle Boole cebirleri çalışmak için uygun bir anlamsaldır. Kripke çerçeveleri ile başlamak istiyorsanız, Jonsson ve Tarski'nin (bazıları Stone dualitesi diyebilir) dualite teoremini uygulayabilir ve cebirsel temsili türetebilirsiniz. Daha sonra, mantıksal yaklaşım için soyut yorumlama teoremlerini uygulayabilirsiniz.

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.