Açık veya Etkileşimli Kısıt Memnuniyeti


17

Geçmişte, motorlarındaki ana işgücü olarak SAT ve düzenli kısıtlama memnuniyetini kullanarak koordinasyon modelleri uyguladım. Bu çalışma çizgisine devam ederken, modelleri daha etkileşimli hale getirmek istiyorum ve bunu yapmanın en iyi yolu, artık bir kara kutu olmayacak şekilde kısıtlayıcı çözücüyü açmaktır.

Bu nedenle, kısıtlamaların dış değişkenler , tahminler ve işlevler olarak adlandırdığım şeye sahip olduğu kısıtlama memnuniyeti hakkında daha fazla bilgi edinmekle ilgileniyorum , yani, kısıtlama dilinin sadece bazılarına danışarak tatmin olabilecek gibi tahminleri olabilir çözücünün dışında ve yalnızca x öğütüldüğünde. Bunun yararlı olduğu bir senaryo, P kısıtlayıcı çözücüye dahil edilemeyen bazı dış karar süreçlerine karşılık geldiğinde ortaya çıkar. Bu tür kısıt çözücüler açık (kısıtlamalar tam olarak bilinmediği için) veya etkileşimli olarak adlandırılabilirP(x)xP (kısıtlama memnuniyetini sağlamak için etkileşim gerektiğinden).

İkisini de bilmek istiyorum:

  • bu doğrultuda yapılan teorik araştırma
  • Kısıt çözme sürecinde dış dünya ile etkileşime izin veren kısıt çözücüler uygulayan araçlar veya kütüphaneler.

Yanıtlar:


9

Açık ve etkileşimli kısıtlamalarla ilgili önceki çalışmalardan tamamen ikna olmadım.

İzlenebilirlik sorularını inceleme girişimi:

ancak bu makale cevaplanmamış birkaç önemli soru bırakmaktadır. Bu makaledeki propatörler aracılığıyla yaklaşım mevcut kısıtlama çözücü uygulamaları ile yakından ilgilidir.

Bence SMT (tatmin edilebilirlik modulo teorileri) üzerine çalışmak da sorunuzla yakından ilgili. SMT teorileri genellikle yazılım ve donanım doğrulamasından kaynaklanan sorunlar tarafından motive edilir, ancak AI lezzeti olan teoriler vardır. Temel teknoloji olarak SMT ile oluşturulan daha fazla uygulamayı ve SMT'nin fikirlerini uygulayan kısıtlamalarda daha fazla çalışmayı dört gözle bekliyorum.


1
Bu kağıt kesinlikle ilginç görünüyor. SMT çözücülerinin ihtiyacım olanı yapmadığını hiç düşünmemiştim. Kesinlikle keşfetmek için bir yol.
Dave Clarke

Son yorumdan kafam karıştı. SMT çözücüler mantık ve teoriler içindir, spesifik yüklemler için değildir. İnsanlar yeni teorilere ve ölçütlere katkıda bulunabilirler. MathSAT geliştiricilerinin yapay zeka ve planlama problemleri üzerinde çalıştıklarını biliyorum.
Vijay D

@Vijay D: haklısın, bu cümle haksız yere önyargılı ve gözden geçireceğim. INJECTIVE'ın SMT teorisi olarak etkin bir şekilde uygulanması 2010 yılında Banković ve Marić ( argo.matf.bg.ac.rs/publications/2010/alldiff-smt2010.pdf ) tarafından yayınlandı .
András Salamon

7

Sorunuzu okurken, Memnuniyet Edilebilirlik Modulo Teorilerinin ihtiyaçlarınızla yakından ilişkili olduğunu söylemeye de katılıyorum. Karar Prosedürleri - Algoritmik Bakış Açısı kitabını okumanızı öneririm .


Hesaplama Hesabı: Aaron R. Bradley ve Zohar Manna'nın Doğrulamaya Başvurma Karar Prosedürleri ile ne kadar ilgili / değerli? Bunun bir kopyasının yürüme mesafesinde olduğunu biliyorum.
Dave Clarke

@Dave: Feragatname: SMT ile ilgili kişisel deneyimim en başında ;-) Bu kitabın İçindekiler bölümüne baktım; onunla belirttiğim arasında büyük bir kavşak var gibi görünüyor. İkincisi, burada harici fonksiyonlar olarak adlandırdığınız şey, yorumlanmamış fonksiyonlar olarak adlandırılır ve kapsamlı bir şekilde kapsanır. Doğrulama Başvuruları ile birlikte Karar Prosedürleri İçindekiler bölümünde yorumlanmamış fonksiyonlar bulamadım ; ancak, çok iyi bir kitap gibi görünüyor ve belki de faydalı olabilir.
Giorgio Camerani

@Dave: Bu günlerde Karar Prosedürleri - Algoritmik Bir Bakış Açısı okuyorum . Yorumlanmamış fonksiyonlar ile ilgili bölüme henüz ulaşmadım , ama eğer yanlış değilsem yorumlanmamış fonksiyonlara sahip formüller Eşitlik Teorisindeki formüllere dönüştürülür. Eşitlik Teorisinin Doğrulama Başvuruları ile Karar Prosedürlerinde kapsanması söz konusudur (Bölüm 9).
Giorgio Camerani

1
Bence Amazon çağırıyor.
Dave Clarke

@Dave: Tamam, mükemmel! ;-)
Giorgio Camerani

7

Dış dünyayla etkileşime girdiğiniz CSP'ler için, şaşırtıcı bir şekilde, http://dx.doi.org/10.1016/j.artint.2004.10.005'te tanımlanan Açık CSP de var . Asıl önemli olan, tatmin edici / tahrif edici kaplumbağaları bilmemenizdir.P(x), ancak bir ağı sorgulayarak bunları aşamalı olarak keşfedin. Bence bu kağıt belli olmayan bir şey yapmıyor, ama bu bir başlangıç.


4

İnteraktif terim hakkında biraz kafam karıştı. Diğerleriyle karşılaşacağım ve bir SMT çözücüsünün yardımcı olabileceğini ekleyeceğim. Walter Bishop'un yorumuna eklemek için Karar Prosedürleri (Kroening ve Strichman) kitabı için slaytlar mevcuttur. John Harrison'ın Pratik Mantık ve Otomatik Akıl Yürütme El Kitabındaki kapsamlı muamelesi de ilginizi çekebilir. Örnek kod çevrimiçi olarak mevcuttur.

Philipp Ruemmer's Princess yorumsuz tahminlerle aritmetiği destekler, bu açıkla kastettiğinize uyabilir. Scala'da yazılmıştır, nicelleştirmede E-eşleşmesini kullanır ve interpolantlar sağlar.


0

Araçlar hakkında, Prolog'u tercih ettiğiniz dil olarak karar verirseniz, birkaç uygulama yaklaşımı önerebilirim:

  • GNU Prolog ile C programlama kütüphanesi. Prolog'dan C işlevlerini ve C'den Prolog'u çağırabilirsiniz. Bu size işlevselliği genişletme konusunda birçok olanak sunar. Pro: Gnu Prolog, mevcut en hızlı Prolog derleyicilerinden biridir. Not: Bazı insanlar bazı yerleşik tahminlerin eksikliğinden şikayet ediyorlar ... aslında çoğu uygulanabilir, Prolog uyumluluk katmanlarına bakın @SO
  • SWI-Prolog , ağ iletişimi, Protokol Tamponları Desteği vb.Dahil olmak üzere ilginç bir programlama kütüphanesine sahiptir ve oldukça popülerdir.
  • XSB Prolog bazı insanlar, birlikte çalışabilirlik açısından en ilginç proje olduğunu iddia ediyor - veritabanları arayüzleri vb.

Prolog, birçok çeşit çözücü yapmak için uygun olan programlama dilidir (ve çoğunun sınırlı etki alanı çözücüleri vardır).

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.