Birisi lütfen #SAT çözücüsünün çalışan bir uygulamasını indirmek için mümkün olan bir veya daha fazla web sitesine işaret edebilir mi? Yaklaşıma değil, tam çözüm sayısını geri dönenlere ilgi duyuyorum.
Birisi lütfen #SAT çözücüsünün çalışan bir uygulamasını indirmek için mümkün olan bir veya daha fazla web sitesine işaret edebilir mi? Yaklaşıma değil, tam çözüm sayısını geri dönenlere ilgi duyuyorum.
Yanıtlar:
Bunu SAT4J ile yapabilirsiniz , sadece tüm modelleri yineleyerek yapabilirsiniz: http://www.sat4j.org/howto.php#models . Çoğu SAT çözücüsünün bu yeteneğe sahip olduğunu hayal ediyorum.
Ayrıca CNF formüllerinin tatmin edici atama sayısını saymak için #SAT çözücü "sharpSAT" ( web sitesi , github ) deneyebilirsiniz .
Seçeneklerden biri, JavaBDD gibi bir BDD kitaplığı kullanmaktır . Bu kütüphanelerin tümü ya çözümleri hızlı bir şekilde sayan bir işleve sahiptir ya da en azından böyle bir işlevi yazmayı kolaylaştırır. Ancak dezavantajı, BDD'yi inşa etmenin birçok durumda yavaş olması ve çok fazla hafıza gerektirmesidir.
Girişinizin CNF’de olması durumunda, BDD’nin yapımını hızlandıran basit bir buluşsal yöntem aşağıdaki gibidir. İlk olarak, her bir madde için küçük bir BDD oluşturun ve bunları, kökü en küçük BDD olan öncelik sırasına koyun. İkincisi, iki BDD açın, aralarında VE'yi hesaplayın ve sonucu öncelik sırasına itin. İşte fikir: boyutu hesaplama yana VE arasındaki BDDs ve sürer teoride ama pratikte, çalışma zamanını minimize bir Huffman kod bulma aynıdır.
İlgili konu: En İyi SAT Çözücü .
Bulduğum en iyi "c2d derleyici". http://reasoning.cs.ucla.edu/c2d/
D-DNNF kullanır ve -count seçeneğine ihtiyacınız vardır .
Burada verilen MBound Çözücü, http://www.cs.cornell.edu/~sabhar/ olası garantilerle model sayıları verebilir. Tüm çözümleri sıralamaktan çok daha hızlı.
Küçük bir model / asal örtülü numaralandırıcı yazdım . Bu zaten model numaralandırma ile model sayımı için kullanılabilir, ancak bu pek pratik değil. Herhangi biri ilgileniyorsa, onu uzatabilirim, böylece asıl ima edenlerin modellerini sayar.
BeyondNP web sitesi #SAT (ve CNF formüllerindeki diğer ilgili zor problemleri) çözmek için mevcut araçların iyi bir envanterini içeriyor. Yaklaşık model sayımı ve bilgi derlemesi için bir araç listesi de bulabilirsiniz (CNF'yi genellikle polinom zaman modeli sayımını destekleyen umut verici derecede özlü bir veri yapısına dönüştürmek görevi).
Ayrıca , model sayaçlarının ve çeşitli kıyaslamaların performansını geliştirmek için faydalı olabilecek CNF formüllerinin ön işleme tabi tutulması için araçların bir listesini de bulabilirsiniz .
Glikoz, Bordeaux üniversitesinde geliştirilen çok etkili bir SAT çözücüdür.