SAT çözücüleri arasında neden çok büyük bir fark var?


25

SAT çözücüler cebirsel saldırılarda , örneğin walksat ve minisat için çok önemlidir .

Ancak, burada mevcut kıyaslama problemlerini çözerken ikisi arasında muazzam bir performans farkı var - Walksat bu problemler için bakandan çok daha hızlı. Bu neden?

Waltsat'ın bu uygulamasında bazı performans iyileştirmeleri var gibi görünüyor - uluslararası SAT Müsabakalarına dahil edilmemesi için herhangi bir sebep var mı?


Belirli bir algoritmanın neden belirli bir rekabetten dışlandığına dair ikinci sorunuz, bu site için muhtemelen kapsam dışıdır. Bir algoritmayı diğerinden daha hızlı yapan şey hakkındaki ilk sorunuz, bence adil bir oyundur, ancak daha teorik olarak daha kolay hale getirmek için bazı ifadelere ihtiyaç duyabilir.
Lev Reyzin

Kısa not: Minisat oldukça yaşlı, bakımlı görünmüyor ve yarışmaya da katılmamış. Ayrıca, "muazzam" ile neyi kastediyorsunuz ve hangi parçaya (rasgele / hazırlanmış / uygulama) atıfta bulunuyorsunuz?
Radu GRIGore

5
@Radu: MiniSAT 2.2.0 Temmuz 2010'da piyasaya sürüldü. Ayrıca, kod oldukça kararlı ve temizdir, bu nedenle nadir güncellemeler sorun olmayabilir. Yeni çözücülerin sanat durumunu daha iyi yansıtsa da hemfikirim.
Vijay D

1
Soru çapraz Crypto.SE crypto.stackexchange.com/questions/153/… adresinden gönderildi .
M. Alaggan

Yanıtlar:


33

Evet, MiniSAT ve WalkSAT arasında büyük bir fark var. Öncelikle açıklığa kavuşturalım - MiniSAT, geri izleme ve yan tümce öğrenme kullanan genel DPLL / CDCL algoritmaları sınıfının özel bir uygulamasıdır , oysa WalkSAT, açgözlü adımlar ile rastgele adımlar arasında değişen bir algoritma için kullanılan genel isimdir.

Genel olarak DPLL / CDCL yapısal SAT örneklerinde çok daha hızlı, WalkSAT ise rastgele k- SAT'de daha hızlı . Endüstriyel ve uygulamalı SAT örnekleri çok fazla yapıya sahip olma eğilimindedir, bu nedenle çoğu modern SAT çözücüsünde DPLL / CDCL baskındır. Bununla birlikte, tek bir tekniğin örneği kazanabilir, ancak bu, portföy çözenlerin popüler olmasının bir nedenidir.

Bu sayfadaki örneklerde WalkSAT'in MiniSAT'tan çok daha hızlı olduğu iddiasıyla ilgili çok endişe duyuyorum. Birincisi, orada SAT gigabayt örnekleri var - kaç tane karşılaştırmayı denedin? WalkSAT çoğu yapılandırılmış durumda rekabetçi değildir, bu yüzden yarışmalarda sık sık görülmez.

Bir yandan notta - Vijay, MiniSAT'ın hala alakalı olduğu konusunda haklı. Açık kaynak ve iyi yazılmış çünkü Aslında, MiniSAT olan belirli bir optimizasyon sözü verdiklerini göstermek için yenmek için çözücü. Pek çok kişi, optimizasyonlarını sergilemek için MiniSAT'ı değiştiriyor - son SAT yarışmalarında "MiniSAT hack" kategorisine bakın.


17

birXYBYX

Bu konu hakkında okumak için iyi bir kağıttır bu bir Nudelman tarafından vd . Makalenin bütün amacı, hangi algoritmaların iyi performans gösterebileceğini ve hangilerinin iyi performans göstermediğini söyleyebilecek SAT örneklerinin kolay hesaplanabilir özelliklerini belirlemektir. Bu tekniği kullanarak, bir problem vakasını hızlı bir şekilde analiz edecek portföy tabanlı bir algoritma oluşturmak ve ardından örneği en uygun algoritma ile çözmek mümkündür. Bunu izleyen kağıtların ilerlemesi var; googling SATzilla birçok okuma materyali üretecek.

birB

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.