CNF-SAT için deterministik olmayan bir doğrusal zaman algoritması var mı?


19

Karar problemi CNF-SAT aşağıdaki gibi tanımlanabilir:

Girdi: Normal normal formda bir boole formülü .ϕ

Soru: sağlayan değişken bir atama var mı?ϕ

Belirleyici olmayan iki bantlı bir Turing makinesi ile CNF-SAT'ı çözmek için birkaç farklı yaklaşım düşünüyorum .

CNF-SAT'ı adımlarında çözen bir NTM olduğuna inanıyorum .npoly(log(n))

Soru: adımlarda CNF-SAT'ı çözen bir NTM var mı ?O(n)

İlgili referanslar, yalnızca doğrusal zamana yakın deterministik olmayan yaklaşımlar sunsalar bile takdir edilmektedir.


5
2001 yılında Santhanam şunu yazdı: "SAT NTIME ( n polilog ( n ) ), SAT'ın bir NRAM üzerinde n polilog ( n ) zamanında kabul edilebileceği ve NRM'lerin NTM'ler tarafından verimli bir simülasyonunun var olduğu gerçeğinin bir sonucu. Gurevich ve Shelah yüzünden. " Bu yüzden SAT bana zor görünüyor NTIME ( n ) bilinmektedir. (Referans, 1989'dan LNCS 363'e aittir.)n(n)n(n)n
András Salamon

5
@Boson, size sadece tatmin edici bir ödev değil, aynı zamanda formülün tam bir hesaplaması verildiğini varsayın. Doğrusal zamanda geçerli bir hesaplama olup olmadığını nasıl kontrol edersiniz? 3CNF-SAT için bile yapabileceğiniz açık değil çünkü değişkenlere atamayı aramak için atlamak zorundasınız.
Kaveh

4
@Boson Atamanın iki bantlı TM ile doğrusal zamanda formülü karşıladığını doğrulayıp doğrulayamayacağınız açık değil. Büyük olasılıkla bant kafasını birçok kez ileri geri hareket ettirmeniz gerekir. Bu doğrulama için etkili bir yaklaşımınız varsa lütfen bize bildirin. :)
Michael Wehar

5
Sadece bir not: değişkenler (SAT hala NPC) tekli temsil edilir, sonra bir tekli karşılanabilir formülü tanıyan iki bantlar LTB orada içinde 2 | φ | adımlarφ2|φ|
Marzio De Biasi

3
@MichaelWehar, bir sayma sıralaması kullanırsanız, makul bir rasgele erişim modelinde O (n + k) aralığında [0, k] aralığında n tuşunu sıralayabilirsiniz (örn. O (günlük) alabileceğiniz Rastgele erişim Turing makinesi n) bir indeks yazma zamanı, daha sonra 1 adımda kasetin bu indeksine atlayabilirsiniz). Her bir değişmezi (günlük n + 1) bit dizesi olarak kodlarsanız, toplam yan tümce ve değişken sayısı en fazla O (n / günlük n) olur; bu durumda tüm değişmez değerlerde O (günlük n) zamanı işlemleri iyi. İki banda TM uzanmak, en azından sayma sıralaması ile kolay değildir.
Ryan Williams

Yanıtlar:


5

Bu sadece genişletilmiş bir yorumdur. Birkaç kez önce (kendim :-) (makul kodlanmış) bir NP tam dili kabul bir çok bantlı NTM ne kadar hızlı sordum. Bu fikri buldum:

3-SAT, değişkenler tekli olarak gösterilse bile NP-tam kalır. Varsayalım - özellikle bir madde dönüştürebilir - isteğe bağlı bir 3-SAT formül cp ile n değişkenleri ve m, bir karakter dizisi olarak maddeleri alfabe üzerinde Σ = { + , - , 1 } Her değişken oluşumun tekli olarak temsil edildiği:(xi¬xjxk)φnmΣ={+,,1}

+1i0,1j,+1k

Örneğin, şu biçime dönüştürülebilir:(x2x3+4)

+110-1110+11110

Böylece, 3-SAT formülünü , cümlelerini birleştiren eşdeğer bir U ( φ i ) dizesine dönüştürebiliriz . L U = { U ( φ i ) φ i3 - S A T } dili NP-tamamlanmıştır.φiU(φi)LU={U(φi)φi3SAT}

2 bantlı NTM, 2 zaman içinde dizgisi olup olmadığına karar verebilir | x | Böylece.xLU2|x|

  • ilk kafa girdiyi soldan sağa doğru tarar ve dahili mantıkla bir cümleye girdiğinde veya bir cümleden çıkarken ya da formülün sonuna ulaştığında iz tutar. Bir veya - bulduğunda ikinci kafa, x i'yi temsil eden 1 i üzerinde sağa doğru hareket etmeye başlar . 1 i'nin sonunda , eğer ikinci kafa 0 üzerindeyse, o zaman bir doğru değeri tahmin eder + veya - (bir ödev yapar) ve ikinci banda yazar; bir + veya - bulursa, bu değişkene zaten bir değer atanmıştır;+1ixi1i0++
  • her iki durumda da, dahili mantık kullanılarak NTM, ikinci başlığın (atama) altındaki doğruluk değerini son görülen veya - ile eşleştirir ; eğer eşleşirlerse, hüküm yerine getirilir;+
  • daha sonra ikinci kafa en sağdaki hücreye dönebilir;
  • dahili mantıkla NTM, ilk kafa girişin sonuna doğru hareket ederken tüm yan tümceler yerine getirilirse takip edebilir.

Misal:

Tape 1 (formula)    Tape 2 (variable assignments)
+110-1110+11110...  0000000000000...
^                   ^
+110-1110+11110...  0000000000000...
 ^                  ^
+110-1110+11110...  0000000000000...
  ^                  ^
+110-1110+11110...  0+00000000000... first guess set x2=T; matches +
  ^                  ^               so remember that current clause is satisfied
+110-1110+11110...  0+00000000000... 
  ^                  ^
...
+110-1110+11110...  0+00000000000... 
    ^               ^
...
+110-1110+11110...  0++0000000000... second guess set x3=T
       ^              ^              don't reject because current
                                     clause is satisfied (and in every
                                     case another literal must be parsed)

Zaman cümle temsiline gereksiz semboller eklersek:|x|

+1i0i,1j0j,+1k0k...+++

( formülün sonunu işaretler)+++

Bu şekilde, ilk başlık bölümünü tararken ikinci kafa en soldaki hücreye dönebilir . Formülün sonu için ++ yan tümcesini sınırlayıcı olarak ve +++ öğesini kullanarak , yan tümce başına rastgele sayıda değişmez değere sahip CNF formülleri için aynı temsili kullanabiliriz.0i+++++


1
Tekli gösterim açık değildir, bu nedenle ilk örnek için 011011110111110 vererek +/- için 0/1 kullanılabilir. 00 daha sonra yan tümce işareti olarak işlev görür, çünkü 000 başka türlü gerçekleşemez (00 oluşursa, bir değişkenin ve bir sonraki işaretin son işaretidir, bu nedenle bir sonraki sembol 1 olmalıdır). Tek çalışma bandı , v değişkenlerine tahmin edilen bit atamasını içerir . Bir değişken okunduğunda, çalışma bandı kafası ileri doğru hareket eder ve 0 göründüğünde başlangıca geri döner, böylece girişin her biti için en fazla 2 adım. vv2
András Salamon

2
Başka bir deyişle, tek yönlü giriş bandı ve tek bir çalışma bandına sahip bir NDTM bile bir Boole alfabesi ile kodlanmış Unary SAT için en fazla adım kullanır . 2n
András Salamon

1
İşleri daha düzenli hale getirmek için, girişin önce tekli olarak belirtilen değişkenlerinin sayısıyla birlikte bir önek içermesi gerekebilir. Bu, önek okunurken tahminin oluşturulmasına izin verir. Bu, her bir değişken formülde en az bir kez göründüğü ve değişkenler 0 - v - 1 olarak numaralandırıldığı sürece, standart bir SAT örneğinde en çok ikinci dereceden boyutta bir tür "tekli SATLIB" kodlamasıdır . Bunlar makul gereksinimler gibi görünüyor. vv1
András Salamon

1
@ AndrásSalamon: iyi! Kodlama ve modeli (tek yönlü okuma bandı + 2 yönlü çalışma bandı) sabitleyerek , n boyutlarının girişlerinde en kötü çalışma süresini elde ederiz , burada c , TM dahili mantığına bazı sabit depolama alanlarını yerleştirerek keyfi olarak büyük yapılabilir . Giriş kasetinin tek yönlülüğü ve kesişen bir bölüm argümanı kullanılarak bir şeyin kanıtlanıp kanıtlanamayacağını araştırmak ilginç olabilir. 2ncnc
Marzio De Biasi

1
Evet, Unary SAT için zaman uzayı ürününün standart bir argümanla. Değişkenlerin tekli gösterimi,CNF-SAT içinen iyi bilinenΩ(n2/(logn) 1 + ε )alt sınırı ile düz birO(n3/(logn) ε )üst sınırıarasındaki boşluğu önler(yine de bu durumda daha iyi bir algoritma da boşluğu azaltabilir). Θ(nn)Ω(n2/(logn)1+ε)O(n3/(logn)ε)
András Salamon

2

Tam olarak aradığınız şey değil, ancak 1-bant NTM için cevap negatif görünüyor: SAT, deterministik olmayan doğrusal zamanda 1-bant NTM tarafından çözülemez.

Göre bu kağıdın (teoremi 4.1), düzenli dillerin sınıfı tam olarak zaman içinde bir 1-bant LTB tarafından tanınan dillerin sınıfı o ( n- log ( n ) ) . Böylece, eğer zaman içinde SAT çözme 1-teyp NTM varolduğunu o ( n log ( n ) ) , ardından SAT (daha doğrusu CNF içinde karşılanabilir formüllerin kümesi) deterministik sabit uzayda dolayısıyla çözülebilir düzenli dil, olurdu.REG o(nlog(n))o(nlog(n))


5
Bu teorem sadece tek kafalı Turing makineleriyle ilgilidir.(Örneğin, iki kafalı Turing makineleri palindrom diline doğrusal zaman ve sabit alanda kolayca karar verebilir .)

Bu harika! Çok teşekkür ederim. Ancak, en çok iki bantlı kasayla ilgileniyorum. :)
Michael Wehar

2
@Ricky yazdığı gibi. AFAIK, SAT'ın deterministik lineer zamanda olduğunu bildiklerimizle hala tutarlıdır. Aksi kanıtlamak için SAT için bir süper lineer zaman alt sınır gerekir ve biz bir tane yok (birine yakın gibi görünmüyor).
Kaveh
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.