SAT En İyi Üst Sınırlar


43

Başka bir konu , Joe Fitzsimons "3SAT'taki en iyi güncel alt sınırlar" diye sordu.

Diğer yoldan gitmek isterdim: 3SAT'taki en iyi güncel üst sınırlar hangisi ? Başka bir deyişle, en verimli SAT çözücüsünün zaman karmaşıklığı nedir?

Özellikle, SAT için üstel (henüz süper polinom) algoritması bulmak düşünülebilir mi?


2
Analitik sonuçlar hakkında bilgim yok, ancak deneysel sonuçları burada bulabilirsiniz baldur.iti.uka.de/sat-race-2010/results.html ("HTML" linklerine bakın)
Radu GRIGore

1
Bu sorunun başlığı, bu sorunun varlığından dolayı biraz yanıltıcıdır: cstheory.stackexchange.com/questions/1295/sat-solver-download . Sanırım 'SAT'taki En İyi Üst Sınırlar' olarak silinebilir misiniz?
Suresh Venkat

@Suresh: "#SAT" ile ilgili sorduğunuz soru, buna karşılık SAT'ye karşılık geliyor. Ayrıca, bu soru bundan bir hafta sonra soruldu. Her neyse, hala bu unvanı değiştirmeyi öneriyor musun?
MS Dousti

evet, çünkü "SAT Çözücü" belirli bir iyi bilinen nesnedir - SAT çözümü için gerçek bir kod temeli. Google'ın kafası karışacak ve buraya kod arayanları yönlendirecek :).
Suresh Venkat

4
Bu soru için motivasyon ile ilgili olarak, birkaç kişinin 17x17 örneklerinde SAT çözücülerini denediğini düşündüm. SAT çözücüyle ele alınabileceklerin sınırı gibi görünüyor. Bunun yerine paralel bir çözücü deneyebilirsiniz, ancak Bill Gasarch'ın geniş çaplı bir çabaya ihtiyaç duyacağınız mesajlarına dayanarak izlenim altındaydım. Ayrıca bir SMT çözücüsünü uygun bir teoriyle uygulayabilir ya da verimli bir yayıcıya sahip küresel bir kısıtlama uygulayan bir sınırlayıcı çözücü kullanabilirsiniz. Bu davaların her birinde, yeni fikir, maddeleri kullanmakta zorlanan önemli bir özelliği ifade etmek olacaktır.
András Salamon

Yanıtlar:


38

İki tür "en iyi" SAT çözücüsü vardır, biri teori, biri pratik.

teori

3SAT için randomize .Ö(1,32113n)

3SAT için randomize .Ö(1,321n)

3SAT için deterministik .Ö(1,439n)

Uygulama

Her yıl için rekabet sonuçları için SAT konferansını kontrol edin .


Ben bir bağlantı bulundu İwama ve arkadaşları. Kağıt . Peki, , SAT'ı şimdiye kadar çözmenin en son ve en iyi sonucu mu? Ö(1,32113n)
MS Dousti

@ Sadeq: Sanırım, ama sadece 3 SAT için, SAT değil.
Tian Liu,

2
Şimdi en iyi algoritma Timon Hertli, Robin A. Moser ve Dominik Scheder tarafından zamanındadır. Ö(1,321n)
Tian Liu

10
Yine bir başka güncelleme: FOCS 2011'de Timon Hertli ( arxiv.org/abs/1103.2165 ), PPSZ algoritmasının her 3SAT örneğini çözdüğünü kanıtladı . 1.308n
Ryan Williams

21

Hiç farkında değilim sıfır hata randomize algoritmaları (ya da koni / Eadvice , algoritmalar
, bilinen deterministik algoritmalar daha iyi sınırlar içermez SAT için bu konuda)
ne olursa olsun en az bir tatmin atama olacaksa vaat olup olmadığını ait.


"Sorun 3-SAT zaman deterministik çözülebilir ".Ö~(1,3303n)


" değişkenleri üzerinde benzersiz bir şekilde tatmin edici 3-CNF (sırasıyla 4-CNF) için , tatmin edici atama , çoğu O'da deterministik çalışma süresinde bulunabilir.n
(sırasıyla OÖ(1,3071n) ). "Ö(1,4699n)


  1. Msgstr "" " O
    zamanında çalışan tek taraflı bir hatayla 3-SAT için rastgele bir algoritma var. . " Ö(1,30704n)
  2. Msgstr "" " O
    zamanında çalışan tek taraflı bir hatayla 4-SAT için randomize bir algoritma var. . "Ö(1,46899n)


"Unique-3-SAT için rastgele bir algoritma var. ε=1/(1024)ve
3-SAT gitmekte önceki kağıt çalışma zamanını sağlar gerçek sayı ifade edilebilir şekildeS
Ö(2(S+Ö(1))n), mevcut makalenin algoritması zaman içinde çalışır . "Ö(2(S-ε+Ö(1))n)



16

Schoening'in algoritması, çalışma zamanı olan k-SAT için olasılıklı bir algoritmadır , burada a = 2 ( k - 1 ) / k . Bu , 3SAT için bir O ( 1.33334 n ) algoritması, 4SAT için bir O ( 1.5 n ) algoritması ile sonuçlanır.Ö(birn)bir=2(k-1)/kÖ(1,33334n)Ö(1.5n)

Algoritma ayrıca, (hemen hemen tamamen) Moser ve SCHEDER, kSAT çalışma süresi çözmek için belirleyici bir algoritma elde tarafından derandomized olmuştur bir önceki ile aynı derecede sabittir ve ε > 0 yapılabilir keyfi küçük.Ö((bir+ε)n)birε>0

Not: Bu cevapta büyük Oh notasyonu poli (n) faktörlerini gizler. Ben kullanmak istedi gösterimi, ancak düzgün render değildir.Ö*


1
Neden "neredeyse tamamen" diyorsun? Gazetede bir şey mi kaçırdım?
András Salamon

1
Bir deterministik Orada k-SAT algoritması için sekiz kişi, bu yüzden hepsinden bahsetmediğim için beni affet. İşte link:linkinghub.elsevier.com/retrieve/pii/S0304397501001748. Yanik=3içinO(1.5n) varve burada sunulan 3-SAT için diğer sınırlar kadar iyi değil, ama k-SAT için bildiğim kadarıyla en iyisi. Ö((2-2k+1)n)k=3Ö(1.5n)
Grigory Yaroslavtsev

4
Orada sadece bir epsilon faktörü olduğunu göstermek için "neredeyse tamamen" dedim. Sanırım, tamamen derandomizasyonun aynı çalışma süresine (polinom faktörlerine kadar) ulaşması beklenir. Ya da belki de bu beklenmedik bir şey değil.
Robin Kothari

1
@Grigory Yaroslavtsev: kSAT için Moser-Scheder'in belirleyici algoritması, bahsettiğinizden daha hızlı bahsettiğim değil mi? Bir şey mi eksik?
Robin Kothari

1
Ben sadece sizin için sizin endişe duyuyordum , bu yüzden gerçekten daha hızlı. Belge birkaç gün önce arXiv'de yayınlanmış gibi görünüyor: arxiv.org/PS_cache/arxiv/pdf/1008/1008.4067v1.pdf , bu yüzden hiç bilmiyorum. ε
Grigory Yaroslavtsev

12

Daha önce de belirtildiği gibi, teorik çalışma süresi garantileri ile ilgileniyorsanız, bu soru iki yönlüdür.

Fakat şunu belirtmek isterim ki, eğer somut bir problemi çözmek istiyorsanız (bahsettiğiniz renklendirme problemi gibi), teorik üst sınırları incelemek için kesinlikle hiçbir anlam ifade etmiyor.

"Mühendislik" yönünden kaçınmak istemenize rağmen, bazı popüler SAT çözücülerini almanızı, denemenizi ve ne olduğunu görmenizi öneririm (çoğu aynı DIMACS dosya biçimini okuyabilir, bu nedenle denemek kolaydır. farklı çözücüler). Hem olumlu hem de olumsuz sürprizleriniz olabilir. Son zamanlarda SAT ailesi vardı; on binlerce değişken ve bir milyondan fazla maddeye sahip bir grup durumun çözülmesi kolay olduğu ortaya çıktı, ancak sadece yüzlerce değişkene ve binlerce maddeye sahip daha basit örnekleri denediğim herhangi bir çözücü için çok zordu.


8
Jukka'nın özetine ek olarak, iki ana SAT çözücüsü olduğunu da belirtmek gerekir: rastgele SAT örnekleri için iyi sonuç veren anket yayılımına dayanan ve işe yarama eğilimi gösteren ünite çözünürlüğü ile birlikte yan tümce öğrenmeyi kullananlar kombinatoryal yapıyı keşfetmek için iyi. Bunların oldukça farklı davranışları var. SAT çözücüler için en kötü durum, tatmin edilemeyen durumlar olma eğilimindedir, ancak nogoods alanının çok fazla budamaya izin vermeyen karmaşık bir yapıya sahip olduğu durumlardır. Maalesef kombinatoriklerden örnekler bu tür olma eğilimindedir.
András Salamon

11

Ö(1,308n)


Biri daha iyi bir üst sınır bulduğu zaman bu makaleyi alıntılayacaklarını farz ediyorum. "İkili Bazda Formüller için Bir Tatmin Edilebilirlik Algoritması ve Ortalama Durum Sertliği" olan bu yazıya yalnızca bir kez atıfta bulunuldu ve yalnızca belirli formüller hakkında konuştukları görülüyor. Bu nedenle, şu ana kadarki en iyi Üst Sınır gibi görünüyor.
Tayfun,

@TayfunPay: Cevabımdaki alt kağıt o kağıdı gösteriyor.

@ RickyDemer Uhuh! bundan daha mı bağlı? Gösterim benim için çok açık değil.
Tayfun,

@TayfunPay: Evet ve aşağıda anlatıldığı gibi iki bildiriyle avlayabilirsiniz. S3Sk 11. sayfanın başında, bu makale algoritmalarının PPSZ ile aynı sınırı verdiğini söylüyor, bu da önceki cümlemde bahsettiğimden daha fazla bir şey göstermedikleri anlamına geliyor. (devam etti ...)

(... devam etti) Benzersiz 3-SAT kağıdının 2. sayfasında, değerini veriyorlarS2Sn beriSS3

8

Üstel zaman hipotezi yanlış olmadığı sürece, 3SAT için üstel algoritmalar kullanmak imkansızdır .

Ö(1,324n)

Ö(1,32216n)3SAT için .


15
Bu bir totoloji değil mi?
Tsuyoshi Ito

1
2Ö(n)

Kazuo Iwama ve ark. (2004) Schoening'in (1999 )dakinden daha yeni. Acaba daha da yeni sonuçlar mevcut mu?
MS Dousti

8
Karışıklık olasılığını önlemek için, son yorumum cevabın ilk cümlesini ifade ediyor: “Üstel zaman hipotezi (ETH) yanlış olmadığı sürece, 3SAT'ın üstel üstel algoritmalara sahip olması imkansız.” Benim anlayışım üstel zamanın hipotez, değişkenlerin sayısında çalışma süresi düşük (yani 2 ^ {o (n)}) olan 3SAT için bir algoritma olmadığını belirten hipotezdir.
Tsuyoshi Ito

10
Daha fazla kafa karışıklığından kaçınmak için, Tsuyoshi'nin yorumunu yayınladığında, cevabın sadece yorumunu çok uygun kılan bir cümleyi içerdiğini de ekleyeceğim.
Robin Kothari

7

Bu gönderi SAT üzerindeki üst sınırlarla ilgileniyor. Bu bir iyi alt sınır olmaksızın fırsatlar. Bu bağlantı , tümü indirilebilir olan SAT çözücü uygulamalarını karşılaştıran yıllık rekabetin ayrıntılarını verir. Basit olması için, SAT çözümü için Java tabanlı bir kütüphane olan SAT4J ile başlayabilirsiniz .


Bu sorunun daha önce sorulduğu ortaya çıktı; Sadece web sitesini aradığımda görmedim. Tian Liu'nun üst sınırlar sorusuna cevabı tam olarak aradığım şeydi. Bağlantılar için teşekkürler, Dave!
Daniel Apon

1
Bu, burada çok fazla zaman harcadığımın kanıtı ;-)
Dave Clarke

yaptığınız için memnunuz :)
Suresh Venkat 28:10

2
Sat4J'yi önerebilir miyim emin değilim, sadece son teknolojiden daha yavaş değil, aynı zamanda biraz daha karmaşık. Bununla birlikte, nesne yönelimli yapısı nedeniyle güzel bir şekilde özelleştirilebilir olduğu doğrudur. MiniSat çok güzel yazılmış ve 2.2 son teknoloji ürünü.
Mikolas

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.