SAT çözücülerinin pratik başarısı için teorik açıklamalar?


43

SAT çözücülerinin pratik başarısı için hangi teorik açıklamalar var ve birileri hepsini birleştiren bir "wikipedia tarzı" genel bakış ve açıklama verebilir mi?

Analoji ile simpleks algoritması için yapılan düzgünleştirilmiş analiz ( arXiv sürümü )), en kötü durumda üssel olarak zaman almasına ve NP güçlü ( arXiv versiyonu ) olmasına rağmen pratikte neden bu kadar iyi çalıştığını açıklayan harika bir iş çıkarır .

Arka kapılar, yan tümce grafiğinin yapısı ve faz geçişleri gibi şeyler hakkında biraz şey duydum. Bunların SAT çözümleyicilerinin neden bu kadar iyi çalıştığını açıklayıp açıklamadığını bilmiyorum, örneğin endüstriyel durumlarda. Ayrıca, fıkra grafiğinin yapısı gibi şeyler söz konusu olduğunda: neden şu andaki çözücüler bazı fıkra grafik yapılarından faydalanabiliyor?

En azından şu anki sınırlı anlayışımla, yalnızca bu konuda kısmen tatmin edici olan faz geçişleri ile ilgili sonuçları buluyorum. Faz geçişi literatürü rastgele k-SAT örnekleri ile ilgilidir , ancak bu gerçek dünya örnekleri hakkında gerçekten herhangi bir şeyi açıklıyor mu? SAT'ın gerçek dünyadaki örneklerinin rastgele örneklere benzemesini beklemiyorum; yapmalımıyım? Faz geçişlerinin bize rastgele örneklere benzemeseler bile sezgisel olarak bile gerçek dünya örnekleri hakkında bir şeyler söylediğini düşünmek için bir neden var mı?

Soruma yardımcı olan, ancak sorumu tamamıyla yanıtlamayan, özellikle tutarlı bir resme bir şeyleri bağlama isteği:


5
Bu bir cevap değil, ancak pek çok insanın hala grafik yapıların / arka iç mekanların SAT çözücülerinin performansını açıklayabileceğine inandığını sanmıyorum. Bütün yapıyı bir şekilde araştırmanız gerektiğinden akıllıca faktoringler bulmanız gereken #SAT, QBF veya bilgi derlemesi gibi daha zor problemlerle daha alakalı görünüyorlar. Sorunuz için "gerçekten kimse bilmiyor ve bu aktif bir araştırma alanıdır" cevabını vermeye çalışıyorum. Ancak insanların neler denediğini göstermek için referanslar toplamam gerekiyor ve benden daha iyi bir cevap verebilecek benden daha geniş bir görüşe sahip biri olabilir.
holf

2
@Joshua: Simpleks yöntemi PSPACE-mighty'dir (Fearnley ve Savani, STOC 15).
Rahul Savani,

1
@Holf ile aynı fikirdeyim. İşte benim birkaç sent: SAT çözücüler olabilir onların değişkenlerin her ikisinin bir alanı boyuta sahip olduğundan CSP çözücüleri daha hızlı toparlanması. Bu, hiçbir CSP çözücüsünün bir SAT çözücüyü yenemeyeceğini, problemin iyi bir şekilde kodlanmasını sağlayan bir sezgisel sıralama (çok değerli dinamik değişkene (değer)) sahip olması demek değildir. Ayrıca, bir "gerçek hayat örneğini" bir SAT örneğine dönüştürdüğünüzde, pek çok yardımcı değişkenlerin girmesi nedeniyle faz geçiş noktasında nadiren karşılaşırsınız. usually
Tayfun,

3
@TayfunPay: Deneyiminizi sorgulamıyordum - aslında,% 100 "gerçek hayat" sorunlarının faz geçişine yakın olmayan SAT örneklerine dönüştüğüne inanıyorum. Ancak, bu örneklerin rastlantısal olmadığı için bu tür örneklerin kolaylığını açıkladığını sanmıyorum , bu nedenle faz geçişi (teorik olarak) onlar hakkında söylenecek çok az şey olmalıdır (sertlik veya kolaylık).
Joshua Grochow

2
Bu, başka bir yerde daha önce dile getirildi, ancak fıkra değişken yoğunluğunun ve faz geçişlerinin yalnızca rastgele k-SAT ile ilgili olduğunu ve endüstriyel veya birleşim sorunlarından kaynaklanan örneklerin sertliğinin hiçbir ilgisinin olmadığını not etmek önemlidir. Dolayısıyla, yukarıdaki tartışmaların çoğu konunun dışında. Ayrıca, rastgele k-SAT ile ilgili olarak kolay ve kolay zor bir kalıp olmadığına dikkat çekmek önemlidir - rastgele oluşturulmuş k-CNF formülleri için daha düşük sınırlara sahip olduğumuz kanıt sistemleri için, formüller keyfi olarak büyük sabitler için katlanarak zor kalır. eşiğin üzerindeki yoğunluklar.
Jakob Nordstrom

Yanıtlar:


21

SAT Yarışması'nda kullanılanlar gibi benchmark veri setlerinde CDCL SAT çözümlerine atıfta bulunduğunuzu farz ediyorum . Bu programlar pek çok sezgisel deneyime ve birçok optimizasyona dayanmaktadır . 2014'te Banff'daki Applied SAT Solving atölyesinin Teorik Temelleri'nde nasıl çalıştıklarına dair çok güzel tanıtımlar yapıldı ( videolar ).

Bu algoritmalar, değişkenleri bir çelişki bulduğunda değişkenlere ve geri izlemeye değerleri ayarlayarak tatmin edici bir atama bulmaya çalışan DPLL geri izleme algoritmasına dayanır. İnsanlar bu sezgisel araştırmanın ne kadar etkili olduğuna baktılar. Örneğin görmek

Bu SAT çözücülerinin ölçütler üzerindeki verimliliğinin temel olarak iki sezgisel taramadan (ve varyantlarından) kaynaklandığı görülüyor:

  1. VSIDS sezgisel köknar, hangi dalı alacağınıza karar verir.
  2. CDCL: Bir çatışmadan yeni bir cümle öğrenen, çatışma güdümlü fıkra öğrenme sezgisi.

DPLL provalarının çözünürlükteki provalara karşılık geldiği iyi bilinmektedir. CDCL olmadan elde edebileceğimiz tek çözünürlük kanıtı, genel çözünürlük kanıtlarından çok daha zayıf olan ağaç çözünürlük kanıtlarıdır.

CDCL ile genel çözünürlük kanıtlarını alabileceğimizi gösteren sonuçlar var. Ancak, uyarılar var, birçok yapay yeniden başlatmaya, yapay dallanmaya ve / veya özel ön işleme ihtiyaç duyuyorlar, bu nedenle bunların uygulamaların bu programda yaptıklarına ne kadar yakın oldukları net değil. Daha fazla ayrıntı için örneğin aşağıdaki makaleye bakın:


CDCL esas olarak dalları arama alanından kesiyor. Bir çatışmadan yeni bir öğrenilmiş maddeyi türetmenin çeşitli yolları vardır. İdeal olarak, çatışmayı ima eden ancak pratikte büyük ve hesaplanması pahalı olabilecek bir dizi asgari cümle ekleriz. En iyi SAT çözücüleri sık sık öğrenilen maddeleri düzenli olarak siler ve bu pratikte yardımcı olur.


Diğer sezgisel VSIDS esasen her değişken için bir puan tutar. Her çatışma olduğunda, tüm puanlar onları <1 değeriyle çarparak ve çatışmaya "katılanlar" için bir sabit ekleyerek ayarlanır . Bunun ne anlama geldiğini görmek için eğer v değişkeni çatışmasına "dahil olmuşsa" 1 olan dizisi hakkında düşünün . Let olacak sabit bir sabit. zamanındaki değişkeninin puanı şudur: F ( v , i ) i 0 < a < 1 v n i < n F ( v , i ) α ( n - i )αF(v,i)i0<α<1vn

i<nF(v,i)α(ni)

Sezgisel olarak, bunun sürekli olarak son çatışmalarda yer alan değişkenleri vurgulamaya çalıştığı söylenebilir. . Ayrıca, bir sonraki çatışmada hangi değişkenlerin yer alacağını tahmin etmenin basit ama son derece ucuz bir yolu olarak düşünebilirsiniz. Dolayısıyla, VSIDS bu değişkenler üzerinde ilk önce dallanır. Bir algoritma aslında başarısız hızlı bir algoritma olduğunu iddia edebilir, çatışmaları hızlı bulmak. Hızlı, ayarlanan daha az sayıda değişkenle ilgilidir; bu, arama ağacının büyük alt ağaçlarını engelleme anlamına gelir. Ancak bu daha çok sezgiseldir, çünkü hiç kimse onu SAT veri setleri üzerinde test etmek için çok dikkatli bir şekilde biçimlendirmedi. Bir SAT çözücüsünü bu veri kümelerinden birinde çalıştırmak ucuz değildir, en uygun kararlarla karşılaştırmaktan bile bağımsızdır (mevcut atamanın, koşullardan birini ihlal edecek değişkenlere en küçük uzantısı). VSIDS ayrıca her çatışma olarak hangi değişkenleri çarptığımıza da bağlıdır, bir değişkenin bir çatışmaya dahil olduğunu tanımlamanın çeşitli yolları vardır.


Bu fikirlerin özel olarak uygulanmasının, grafiklerin köşelerinde zaman ağırlıklı bir merkeziyete tekabül ettiğini gösteren sonuçlar vardır.

Ayrıca NP zor problemleri ve kripto ilkellerini temel alan ve bunun gibi örneklerin (CDCL SAT çözücülerinde iyi olmayan) rastgele örneklerin hariç tutulması gibi durumların hariç tutulması, örnek olarak yazılım ve donanım doğrulaması gibi çok iyi yapılandırılmış şeylerden geldiğine dair öneriler de vardır. yapılar CDCL SAT çözücüleri (arka kapılar, donmuş değişkenler, vb. gibi pek çok fikirden bahsedilmiştir) tarafından sömürülmektedir, ancak bunlar çoğunlukla fikirlerdir ve onları destekleyecek güçlü teorik veya deneysel kanıtlar değildir. Birinin doğru şekilde titizlikle tanımlaması ve bu algoritmaların üzerinde çalıştığı örneklerin iyi bir özelliği olduğunu göstermesi ve daha sonra bu algoritmaların bu özellikleri kullandığını göstermesi gerektiğini düşünüyorum.


Bazı insanlar, madde oranı ve eşik değerlerin şehirdeki tek oyundur. Endüstriyel SAT çözümlerinin nasıl çalıştığını biraz bilen ya da ispat karmaşıklığı hakkında bilgisi olan herkes için bu kesinlikle yanlıştır. Bir SAT çözücüsünün pratikte bir örnek üzerinde iyi çalışıp çalışmadığını gösteren birçok şey vardır ve yan tümce oranı söz konusu olanlardan sadece biridir. Aşağıdaki anketin kanıt karmaşıklığı ile SAT çözücüleri ve bakış açısı arasındaki bağlantıları öğrenmek için iyi bir başlangıç ​​noktası olduğunu düşünüyorum:

İlginçtir ki, eşik fenomeni bile çoğu insanın düşündüğünden daha karmaşıktır, Moshe Vardi " Faz geçişleri ve hesaplama karmaşıklığı " konuşmasında GRASP'ın ortanca çalışma süresinin eşikten sonra rastgele 3SAT formülleri için üstel kaldığını, üstelin azaldığını (afaik, ne kadar hızlı azaldığı belli değil).


Neden SAT çözücülerini inceliyoruz (karmaşıklık teorisyenleri olarak)? Bence cevabın diğer algoritmalar ile aynı olduğunu düşünüyorum: 1. onları karşılaştır, 2. sınırlarını bul, 3. daha iyisini tasarla, 4. karmaşıklık teorisinin temel sorularını cevapla.

Bir sezgisel modeli modellerken sıklıkla sezgisel olanı gelenek karşıtlığı ile değiştiririz. Öyleyse soru, “adil” bir ikame midir? Ve burada dürüst olmak gerekirse, yukarıdaki soruyu cevaplamamıza yardım etmedeki modelin ne kadar yakın olduğunu kastediyorum.

Bir SAT çözücüyü bir prova sistemi olarak modellediğimizde, kısmen sınırlama gösteriyoruz çünkü algoritma prova sisteminde daha düşük sınırları olan ifadeler için verimsiz olacak. Ancak, algoritmanın gerçekte ne bulduğu ile prova sistemindeki optimal ispat arasında bir boşluk var. Bu yüzden, bunun tersini de göstermeliyiz, yani algoritma, prova sistemindeki kadar iyi ispatlar bulabilir. Bu soruyu cevaplamaya yakın değiliz, ancak determinizm dışı değişimin yerine getirdiği buluşsal yöntem, modelin ispat sistemine ne kadar yakın olduğunu tanımlar. Sezgisel buluşların yenileştiriciliği yerine tamamen bırakmamızı beklemiyorum, aksi takdirde kriptoda açık problemler üzerinde sonuçlanabilecek otomatikleştirilebilir sonuçlar alacağız.

Bir modele bakarken soru şu hale gelir: modeller, SAT çözücü A'nın neden SAT çözücü B'den daha iyi olduğunu açıklamaya yardımcı olur mu? Daha iyi SAT çözücülerinin geliştirilmesinde ne kadar yardımcı oluyorlar? SAT çözücü, uygulamada modeldeki en iyi kanıtlara yakın kanıtlar buluyor mu? ... Pratik örnekleri de modellememiz gerekiyor.

CDCL SAT’ın “pratik örneklerin yapısını sömürdüğünü” (bu yapı ne olursa olsun) çözdüğü sezgisine gelince, genel olarak kabul ediyorum sezgisini kabul ediyorum. Asıl soru, bunun ne anlama geldiğine dair ikna edici bir açıklama yapmak ve bunun gerçekten doğru olduğunu göstermektir.

Daha yeni gelişmeler için Jakob Nordstrom'un kendi cevabına bakınız .


1
Bu, tamsayı faktoringinden türetilmiş SAT örnekleri için geçerli mi?
Muhammed El-Türkistan,

1
Evet, ama yine de bir . Aynı SAT çözücü kullanarak kolayca farklı bir sezgisel çözümle çözülebilecek bazı durumlarda daha da kötüye gidebilir. Örneğin, onların daha sonraki bakmak kağıt . Ortalama olarak, yeni CHB sezgisellerinin VSIDS'ten daha iyi performans gösterdiğini gösteriyorlar. Bununla birlikte, Tablo 1’e dikkatlice bakarsanız, CHB’nin ortalama olarak daha kötü performans gösterdiği belirli örnek setlerde göreceksiniz ... Bu nedenle, hakkında konuşmanın devam etmenin sağlıklı bir yolu olduğuna inanmıyorum. bu soruya cevap vermek. h E u r i'nin s t ı c lerheuristicheuristics
Tayfun,

1
@ Martin, CDCL olmadan sadece çok sınırlı çözünürlük biçimleri elde ediyoruz (kafamın tam olarak ne olduğunu hatırlamıyorum). Paul Beame ve CDCL ve yeniden başlatmalar ile temelde herhangi bir genel çözünürlük kanıtı elde edebileceğinizi gösteren sonuçlar (ancak yeniden başlatma noktaları ve dalların seçimi yapay olabilir), detaylar için Beame'nin makalesine bakınız.
Kaveh

3
@Martin, ayrıca bkz. Jakob Nordstrom'un anketi: csc.kth.se/~jakobn/project-proofcplx/docs/…
Kaveh

1
Dayanıklı karmaşıklığı ve CDC ile ilgili olarak, Pipatsrisawat ve Darwiche ile gösterilmiştir sciencedirect.com/science/article/pii/S0004370210001669 ve bağımsız bir şekilde, Atserias, Fichte ve Thurley tarafından jair.org/papers/paper3152.html polynomially CDCh Prova sistem olarak bu olabilir özünürlüğü simüle et (kağıtlar farklı sonuçlar verir, ancak her iki kağıttaki ispatlar diğer kağıtta sonuçları elde etmek için kullanılabilir). Bu araştırma dizisindeki önceki makalelerden önemli bir fark, bu CDCL modellerinde hiçbir sanatsal şeyin olmamasıdır. [Devam edecek ...]
Jakob Nordstrom

17

Şiddetli zaman kısıtlamaları nedeniyle oldukça hızlı bir şekilde yazıyorum (ve aynı sebeple daha erken yanıt veremedim), ancak en azından iki kuruşumun içine girmeye çalışacağımı düşündüm.

Bunun gerçekten harika bir soru olduğunu düşünüyorum ve son birkaç yılda bu konuya bakarak önemsiz bir zaman harcadım. (Tam açıklama: Bu tür soruların cevaplarını bulmak ve daha sonra daha derin içgörüleri daha verimli SAT çözücülerine dönüştürmek için potansiyel olarak bu tür sorulara cevap bulmak için mevcut fonlamamın büyük bir kısmını aldım.)

Biri bir cümle cevap vermek zorunda kalırsa, o zaman bence

kimse bilmiyor ve bu da aktif bir araştırma alanı.

olabildiğince iyi. Bunun dışında, özellikle teori açısından, daha fazla faaliyet için daha fazla yer olması.

Diğer cevaplarda ve yorumlarda daha önce tartışılmış olan bazı önerilen açıklamalar (karşılıklı olarak hariç),

  • (a) arka kapılar,
  • (b) parametreleştirilmiş karmaşıklık hususları,
  • (c) CNF probleminin grafik yapısı,
  • (d) ispat karmaşıklığının dikkate alınması ve
  • (e) faz geçişleri.

Sontan başlayarak (e), faz geçişleriyle ilgili bazı karışıklıklar var gibi görünüyor. Buradaki kısa cevap, cümlelerin değişkenlere oranının uygulanan problemler veya teorik birleşimsel problemler (aka hazırlanmış örnekler) ile ilgili olduğuna inanmak için hiçbir neden olmadığıdır. Ancak bazı nedenlerden dolayı SAT topluluğunun uygulamalı kısmında, değişken-değişken oranının bir şekilde genel olarak ilgili bir önlem olması gerektiği çok nadir bir yanılgıdır. Madde-değişken oranı rasgele k-SAT için çok önemlidir, ancak diğer modeller için geçerli değildir.

Benim hissim, arka kapıların (a) popüler bir açıklama olduğu, ancak kişisel olarak pratikte neler olduğunu açıkladığına ikna edici kanıtlar görmedim.

Parametreli karmaşıklık (b), SAT'ın bazı yönleri hakkında güzel bir teori sağlar ve çok çekici bir hipotez, SAT örneklerinin kolay olmasıdır, çünkü “bazı izlenebilirlik adalarına yakın olma” eğilimindedir. Bence bu hipotez, birçok heyecan verici araştırma yönünü açar. Bazı cevaplarda belirtildiği gibi, (a) ve (b) arasında çok fazla bağlantı vardır. Bununla birlikte, şu ana kadar parametreleştirilmiş karmaşıklığın pratikte olanlarla çok fazla ilgili olduğuna dair bir kanıt göremiyorum. Özellikle, izlenebilir olan örneklerin pratikte çok, çok zor olabileceği ve herhangi bir küçük arka kapısı olmayan örneklerin hala çok kolay olabileceği görülmektedir.

Endüstriyel durumlar için bana en çok inandırıcı görünen açıklama (c) 'dir, yani söz konusu CNF formüllerinin (grafik) yapısının pratik SAT performansı ile ilişkilendirilmesi gerektiğidir. Buradaki fikir, endüstriyel örneklerin değişken ve yan tümcelerinin, aralarında çok az bağlantı olan iyi bağlanmış topluluklara kümelenebileceği ve SAT bir şekilde bu yapıdan yararlanabileceğidir. Ne yazık ki, bunu daha sert bir şekilde tespit etmek oldukça zor görünüyor ve eşit derecede maalesef bu alan oldukça fazla miktarda yutturmaca çekiyor. Bildirilerde bugüne kadar gördüğüm önerilen açıklamalar oldukça yetersiz ve modellerin çökertilmesi kolay görünüyor. Sorun, biri gerçekten bunu iyice yapmak isterse, o zaman matematik gerçekten zorlaşır (çünkü zor bir problemdir) ve ayrıca oldukça dağınıktır (çünkü modelinizin alakalı sonuçlar alabilecek kadar gerçeğe yakın olması gerekir). Özellikle, değişken seçimler için VSIDS'in (değişken durumdan bağımsız, azalan toplam) sezgisel olarak performansının iyi çalıştığını açıklayan makaleler, örneklerin grafik gösterimi içindeki toplulukları araştırdığı için oldukça ikna edici olmamasına rağmen, bu tür hipotezler hala oldukça ikna edicidir. çok çekici.

Şahsen araştırdığım bir araştırma çizgisi, pratik SAT performansının bir şekilde söz konusu CNF formüllerinin kanıtlanmış karmaşıklık önlemleriyle bir bağlantısı olup olmadığıdır. Ne yazık ki, kısa cevap net ve zorlayıcı bir bağlantının olmadığı şeklinde görünüyor. Yine de önemsiz bir korelasyon var olabilir (bu, şu anda farklı şekillerde araştırdığımız bir şeydir), ancak teori çok iyi ve temiz ve güzel ve gerçeklik gerçekten iyi bir eşleşme olamayacak kadar dağınık görünüyor. (Kağıda İlişkin İspat Kanıtı Karmaşıklık Ölçütleri ve SAT'ın Uygulama SertliğiJärvisalo, Matsliah, Nordström ve CP '12'de Živný tarafından daha detaylı deneylerin daha az net sonuçlara sahip çok daha karmaşık bir görüntü sağladığı ortaya çıktı. ama yine de ilginç olsa da karmaşık.

Kanıtlanmış karmaşıklıktaki diğer bir ilgili çalışma alanı, en son teknoloji SAT çözümleyicilerini ispat sistemleri olarak modellemek ve bu modellerde karşılık gelen çözümleyicilerin özelliklerini belirlemek için teoremleri ispatlamaktır. Bu biraz mayınlı bir alan olsa da, teorik model tarafındaki küçük ve görünüşte masum tasarım seçeneklerinin sonuçların pratik açıdan tamamen ilgisiz kalmasına yol açabileceği yönünde. Öte yandan, ilgili sonuç verecek gerçeğe yakın bir teorik model isteniyorsa, bu model aşırı derecede karışık olur. (Bunun nedeni SAT çözücü performansının şimdiye kadar önemsiz şekillerde gerçekleşen her şeyin küresel geçmişine bağlı olmasıdır ve bu, modelin genellikle ispat sistemlerimizi kurma biçimimizde modüler olamayacağı anlamına gelir - bu, belirli bir türevlendirme adımının olup olmadığıdır. "doğru"

Bununla birlikte, istisnalar olarak gerçekten belirtilmesi gereken iki makale, [Pipatsrisawat ve Darwiche 2011] ve [Atserias, Fichte ve Thurley 2011] 'dir. polinom olarak tam, genel çözünürlüğü simüle etme potansiyeli. [PD11] ve [AFT11] 'den önce gelen ve esasen aynı sonucu talep eden çok uzun bir makale listesi var, ancak hepsinin modellemede ciddi sorunları var. ([PD11] ve [AFT11] 'in çalışması için bazı varsayımlara da ihtiyaç duyduğu doğrudur, ancak parametreleştirilmiş karmaşıklık hiyerarşisinin de çökeceğini gösterecek kağıtlar istemiyorsanız, bekleyeceğiniz asgari miktarlardır.)

Yine, bunların hepsini çok hızlı bir şekilde yazıyorum, ancak yukarıdakilerden herhangi birine önemli bir ilgi duyuyorsam, detaylandırmaya çalışabilirim (buna tekrar dönmek biraz zaman alabilir, ancak lütfen varsa, beni ping etmekten çekinmeyin) yorum yapmamı istediğiniz bir şey. Referanslar sunmanın hızlı bir yolu olarak, bazı utanmaz kendilik fişler yapmama izin verin (bazı yorumlara bu referanslardan bazılarının da bahsettiğini görünce utanç biraz azaldı):

Öğretici-tarz tartışma 2016 Uluslararası Memnuniyet Yaz Okulu, Tatmin Edilebilirlik Modülo Teorileri ve Otomatik Muhakeme üzerine yazılan Prova Karmaşıklığı ve SAT Çözümü Arasındaki Etkileşim hakkında slaytların sonunda çok sayıda tam referansla: http://www.csc .kth.se / ~ jakobn / araştırma / TalkInterplaySummerSchool2016.pdf

Biraz daha yeni ve briefer, anket konuşması 2017'nin başından itibaren Prova Karmaşıklığı Objektifi Üzerinden Çözülen Çatışma Odaklı SAT'ı Anlamak (sonunda da tam referanslarla): http://www.csc.kth.se/~jakobn/research /TalkProofComplexityLensCDCL1702.pdf

Prova karmaşıklığı ve SAT çözümü arasındaki bağlantıların araştırılması: http://www.csc.kth.se/~jakobn/research/InterplayProofCplxSAT.pdf [Bibliyografik referans: Jakob Nordström. Prova Karmaşıklığı ve SAT Çözme Arasındaki Etkileşim Üzerine. ACM SIGLOG Haber, cilt 2, sayı 3, sayfa 19-44, Temmuz 2015. (Bazı yazım hataları düzeltilmiş olarak hafifçe düzenlenmiş sürüm.)]

CDCL içeren SAT '16 makalesi ispat sistemi olarak güvenilir bir şekilde modellenmiştir: http://www.csc.kth.se/~jakobn/research/Trade-offsTimeMemoryModelCDCL_SAT.pdf [Bibliyografik referanslar: Jan Elffers, Jan Johannsen, Massimo Lauria, Thomas Magnard , Jakob Nordström ve Marc Vinyals. CDCL SAT Çözücülerin Daha Sıkı Bir Modelinde Zaman ve Bellek Arasındaki Değişim. In 19 Teorisi ve Gerçeklenebilirlik Testinin Uygulamaları (SAT '16), Uluslararası Konferans Tutanakları Bilgisayar Bilimleri, hacim 9710 yılında Ders Notları, sayfalar 160-176, 2016 Temmuz]


16

Bölgede hiç çalışmamış olmama rağmen, iki anlayış kurumu ekleyeyim.

İki sorudan birine “bazı SAT örnekleri çözücülerinin bazı durumlar için teorik verimini kanıtlamak için bilinen tüm yaklaşımlar nelerdir” ve “SAT çözücüler gerçekte neden etkin?” Diye soruyorsunuz.

Önceki soru için, sizi sadece Stefan Szeider'in araştırmasına yönlendireceğim. Bana, arka kapı ve SAT'ın FPT parametreleştirmelerinde şu anda en aktif alan olarak görünüyor (hem treewidth tipi önlemler hem de arka kapı kümeleri gibi yapısal yaklaşımları ve bunların ikisinin karışımını içeren).

İkinci soru için, dürüst olmak gerekirse, bu konuya katıldığım her SAT atölye çalışmasında (son yıllar dahil) kesin bir soru tartışıldı, bu yüzden çözülmüş bir sorun değil. Ama benim izlenim şu şekilde.

Öncelikle, "gerçekte" ile ne demek istediğinizi ölçmeniz veya sınırlamanız gerekir. SAT çözücülerinin (elbette) attığınız herhangi bir sorun için evrensel olarak iyi çözücüler olduğu ve farklı stratejiler arasında ihtiyaç duyduğunuz farklı sorunlar arasında olduğu doğru değildir. Örneğin, matematiksel varsayımların bir SAT çözücünün yardım ettiği muazzam bir bilgisayar araştırması ile doğrulandığı ya da sıkıldığı bazı son başarılar vardır. Bu durumda, görünüşe göre, modern SAT çözücülerinin normalde kullandığı akıllı CDCL tarzı gelişmeler ve sezgiler gerçekten çok fazla güç almıyor ve oyun, kaynak sorununuzu akıllıca bir şekilde bölmenin bir yolunu buluyor. parçaları, ardından (esasen) çalışma süresinde küçük bir sabit faktöre sahip bir kaba kuvvet dallanma algoritması takip eder.

Bu noktayı biraz fazla abartıyor olabilirim, ama demek istediğim, SAT çözücüler, örneğin Erdos Uyuşmazlık Konvansiyonu'na saldırdığında, devre testinden elde edilen endüstriyel örnekleri çözdüğünden farklı bir nedenden dolayı başarılı oldular.

Öyleyse, neden CDCL tabanlı çözücüler, örneğin devre doğrulama (endüstriyel devre testi) gibi endüstriyel örneklerde bu kadar iyi çalışıyorlar? Ben düşünüyorumBuradaki en güçlü görüş (veya fikir birliği görüşü), bir CDCL’nin arama stratejisidir, bu örneklerin yapısı ile jelleri çok iyi çözer. Bu, örneğin, devrelerin, nispeten hiyerarşik bir şekilde, daha az ve daha basit bağlantılarla konuşarak birbirine bağlanan birbirine bağlı, karmaşık parçalardan oluştuğu (küme olarak adlandırılan) anlamına gelir; ve CDCL-çözücülerinin tüm sezgiselleri ile çözücüler, bundan faydalanmakta ve bu kümeleri paylaşılan değişkenlere “yansıtmakta” ​​(eldeki devreyi doğrulamak için en yararlı olan ne olursa olsun veya sırayla) çok iyidir. Ancak yine de bunun yetersiz bir açıklama olduğu konusunda fikir birliği olduğu anlaşılmaktadır (örneğin, bu örnekteki CDCL SAT çözümleyicilerinin verimliliğini yalnızca örneğin grafik yapısına bakarak teorik olarak açıklayamayız).

Öyleyse, izlenebilir parametreler ikinciyi açıklamak için bir yol kat ediyor mu? Dürüst olmak gerekirse, bilmiyorum. Muhtemelen, gerçek dünyadaki örneklerin en kötü durum olmadığı, ya da ele alabileceğimiz herhangi bir örnek dağılımına göre (muhtemelen) gerçekten ortalama bir durum olduğu konusunda güçlü bir etkisi olduğunu düşünüyorum. Ama muhtemelen hala sormaya değer.


2
Magnus, bu alanda kesinlikle bu soruya cevap vermeye çalışan herkesten daha fazla deneyime sahipsin. "İki sentim" dediğimde, tezimde yalnızca belirli bir NP-Komple problem grubu üzerinde çalışmış olduğumu ve CSP ile SAT çözücülerinin bu problemlerin sayısız örneğini nasıl çözmeye çalıştıklarını kastediyordum. Ayrıca, işyerinde CSP ve SAT çözümleyicilerini kullanmada kabaca bir yıllık bir deneyime sahibim, ancak bir kez daha, bu alandaki 10+ yıllık deneyiminize bile yakın değil. "İki kuruş" un muhtemelen "iki altın külçeye" değer. Bir soru.
Tayfun

1
Cevabınızda "SAT çözücülerinin onları attığınız herhangi bir sorun için evrensel olarak iyi çözücüler olduğu doğru değil ..." yazıyor. Bu durumlar için cümlelerin değişkenlere oranına bakabildiniz mi, c = m / n? Başka bir deyişle, sert bölgedeydiler, c = ~ 4.2 ya da değil? Çünkü benim bir CSP örneğini bir SAT örneğine indirdiğinizde, bir değişkene sahip olduğunuzu ve bunun nedeni genellikle zor bölgede olduğu için değil, SAT çözücünün daha uzun sürdüğüdür. çözme zamanı.
Tayfun

1
Öte yandan, bu örneklerin SAT'ın zor bölgesinde bulunduğunu biliyorsanız, c = ~ 4.2, bu gerçek hayattaki sorunun ne olduğunu bilebilir miyim? Gerçek hayattaki problemlerin, SAT'nın zor bölgesinde ne zaman azaldıklarını bilmekle ilgiliydi. Thank you
Tayfun

2
Açıkçası, pratik SAT çözme deneyimim çok az ya da hiç yok. Asıl çalışmam, bu sorunun saf teori tarafındaydı. Ancak, sorunuzla ilgili olabileceği gibi, benim izlenimim: Rasgele k-SAT ve madde yoğunluğunun (bahsettiğiniz) sonuçlarının sadece girdi örneğinizin tam anlamıyla tekdüze olarak rastgele bir formül olması halinde geçerli olduğudur. Aynı zamanda sınır ~ 4.2'nin sadece karma uzunluktaki bir CNF formülünün aksine formül 3-SAT olması durumunda geçerli olduğunu unutmayın.
Magnus Wahlström

1
Ve "SAT çözücüler tarafından iyi çözülemeyen problemler" derken, çoğunlukla iyi bir kripto kırma gibi gerçekten anlaşılmaz olduğu düşünülen problemler kastediyorum. Bununla birlikte, hiçbir CDCL çözücüsünün, güvercin deliği prensibi formülleri gibi kanıt-teorik alt sınırlar nedeniyle etkili bir şekilde çözemeyeceği formüller de vardır. "CDCL SAT çözücüler başarısız oldu" mesajıyla en az bir konuşma gördüm, burada bir miktar kazma probleminin kodlamada bir güvercin deliği benzeri bir özellik sakladığını ortaya çıkardı (örneğin, atama probleminde bir değişiklik var). Ne yazık ki, ayrıntıları hatırlayamıyorum.
Magnus Wahlström

15

"Bir kağıt yoktur Dayanıklı Karmaşıklık Tedbirleri ve SAT Pratik Sertlik İlişkin CP '12 yılında Matti Järvisalo Arie Matsliah Jakob Nordström ve Stanislav ZIVNÝ tarafından" o çözünürlüklü kanıtı CDC çözücüleri tarafından belirli formüller çözme sertlik veya kolaylığını bağlamak için girişimler karmaşıklık önlemleri, özellikle çözünürlük geçirmez alan. Sonuçlar biraz karışık, ama bence doğru yönde bir adım.


Ne yazık ki, kısa cevap, kanıtlama karmaşıklığı önlemleriyle gerçekten net ve zorlayıcı bir bağlantı olmadığı görülüyor. Yine de önemsiz korelasyonlar olabilir, ancak teorinin çok temiz olduğu ve gerçekliğin gerçekten iyi bir eşleşme olamayacak kadar dağınık olduğu görülüyor. “Kanıtlanmış Karmaşıklık Ölçütlerini İlişkin Ölçütler” makalesiyle ilgili olarak, daha ayrıntılı deneylerin daha az net sonuçlarla çok daha karmaşık bir görüntü sağladığı ortaya çıktı - şu anda bu konuda herhangi bir on yıl rapor eden tam bir dergi sürümüne geçmeyi umuyoruz, ancak karmaşık , yine de umarım ilginç olsa da.
Jakob Nordstrom

15

Bu alanda uzman değilim, ancak rasgele SAT / faz geçişi malzemelerinin endüstriyel / pratik uygulamalar ile tamamen veya ilgisiz olduğunu düşünüyorum.

Örneğin, rastgele örnekler için çok iyi çözücüler (örneğin, https://www.gableske.net/dimetheus gibi ) istatistiksel fizik yöntemlerine (inanç yayılımı vb.) Dayanmaktadır, oysa ki çok iyi 'genel' çözücülere (böyle olarak http://fmv.jku.at/lingeling/ ) Kaveh inanıyorum) bahsettiğini gibi (daha ilgisiz teknikler kullanmaktadırlar.

Ama dediğim gibi belki de sözümü tutmuyorum; Bu kesin bir uzman olmayan geliyor.


Evet. Rastgele SAT ve endüstriyel SAT tamamen farklı oyunlardır ve kullanılan yöntemler farklıdır. Ek olarak, eğer gerçekten çok zorlayıcı kombinasyonları çözmek istiyorsanız, o zaman diğer teknikler daha başarılı olur (örneğin, eğer sorun yeterince zorsa, o zaman cümle öğrenmesi yapmak, belki de çok yerel olarak hariç), gerçekten işe yaramaz. Ancak, bir şekilde, yan tümcelerin değişkenlere oranının, herhangi bir CNF SAT örneği için değil, sadece rastgele örnekler için geçerli olması gerektiği gibi (en azından SAT topluluğunun uygulamalı tarafında) oldukça yaygın bir yanılgı gibi görünmektedir.
Jakob Nordstrom
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.