SAT örneklerinin zorluğunun ölçülmesi


28

Bir SAT örneği göz önüne alındığında, örneği çözmenin ne kadar zor olacağını tahmin edebilmek istiyorum.

Bir yol var olan çözücüleri yönetmektir, ancak bu tür zorlukları tahmin etmenin amacını yitirir. İkinci bir yol, cümleciklerin değişkenlere oranını rasgele-SAT'daki faz geçişleri için olduğu gibi arıyor olabilir, ancak eminim ki daha iyi yöntemler var.

Bir SAT örneği göz önüne alındığında, zorluğu ölçmek için hızlı bir sezgisel buluşma var mı? Tek koşul, bu sezgisel taramaların var olan SAT çözücülerini çalıştırmaktan daha hızlı olmasıdır.


İlgili soru

Hangi SAT problemleri kolaydır? cstheory.SE. Bu sorular izlenebilir örnek kümeleri hakkında sorular sorar. Bu benzer bir sorudur, ancak tamamen aynı değildir. Tek bir örnek verildiğinde, örneğin çözülmesi zor olacaksa, bir tür yarı-akıllı tahmin yapan sezgisel olarak gerçekten ilgileniyorum.


“Yoğunluk” ile yapılan faz geçişinin neden ihtiyacınız olmadığını belirleyebilir misiniz?
Raphael

@Raphael bu oldukça iyi bir yöntem ve ben sorumu söylüyorum. Ama daha iyi bir sezgisel varlığın var olduğu izlenimini edindim. Faz geçişi, tek bir rahatsız ediyor beni bu işin püf (eğer kılık çalıştığınız birine sadece ekleme kolayca karşılanabilir hükümler veya örnek) o kadar kolay görünüyor, çünkü
Artem Kaznatcheev

Üzgünüm, sorunuzun bir bölümünü özledim. Doğru, yorum yapanların belirttiği gibi, faz geçişi rastgele olmayan formüllere karşı hassas görünüyor.
Raphael

2
Bir SAT (CNF'de) formülünü iki bölümlü bir grafik olarak temsil edebilir, her formül için köşeleri ve cümlecik ve oluşumları temsil eden kenarları belirleyebilirsiniz. Bu grafiğin bölümlenmesi kolaydır, sorun bölümlenmiş alt yazılara ayrıştırılabilir. Belki bu yararlı bir önlem olabilir mi? Hiçbir fikrim yok (bu yüzden bu bir yorum ve cevap değil).
Alex ten Brink

Yanıtlar:


22

Genel olarak, bu çok alakalı ve ilginç bir araştırma sorusudur. “Bir yol var olan çözücüleri çalıştırmak…” ve bu bize tam olarak ne söyleyecekti? Ampirik olarak, bir örneğin belirli bir çözücü veya belirli bir algoritma / sezgisel tarama için zor göründüğünü görebiliyorduk, ancak bu gerçekten örneğin sertliği hakkında ne söylüyor?

İzlenen yollardan biri, verimli algoritmalara yol açan örneklerin çeşitli yapısal özelliklerinin tanımlanmasıdır. Bu özelliklerin gerçekten "kolayca" tanımlanabilir olması tercih edilir. Bir örnek, çeşitli grafik genişliği parametreleri kullanılarak ölçülen, temel kısıtlama grafiğinin topolojisidir. Örneğin, temel kısıtlama grafiğinin toplam genişliği sabit ile sınırlanırsa, bir örneğin polinom zamanında çözülebilir olduğu bilinmektedir.

Başka bir yaklaşım, örneklerin gizli yapısının rolüne odaklanmıştır . Bir örnek, arka kapı kümesidir , yani değişkenler kümesi başlatıldıklarında geriye kalan sorun izlenebilir bir sınıfa basitleşir. Örneğin, Williams ve diğerleri, 2003 [1], arka kapı değişkenlerini arama maliyetini hesaba katsa bile, setin yeterince küçük olması koşuluyla, arka kapı setine odaklanarak genel bir hesaplama avantajı elde edebileceğini göstermektedir. Ayrıca, Dilkina ve diğerleri, 2007 [2], Satz-Rand adlı bir çözücünün, çeşitli deney alanlarında küçük güçlü arka kapılar bulmakta dikkate değer derecede iyi olduğuna dikkat çekti .

Daha yakın zamanda, Ansotegui ve diğerleri, 2008 [3], ağaç benzeri alan karmaşıklığının DPLL tabanlı çözücüler için bir önlem olarak kullanılmasını önermektedir. Sürekli sınırlı alanın, polinomun derecesi olan bir polinom zaman karar algoritmasının varlığını ima ettiğini kanıtlarlar (makalede Teorem 6). Dahası, alanın döngü kesiklerinin boyutundan daha küçük olduğunu gösteriyorlar. Aslında, bazı varsayımlar altında, alan aynı zamanda arka kapı boyutundan daha küçüktür.

Ayrıca, peşinde olduğunuzu düşündüğüm şeyi resmileştiriyorlar.

Bir ölçü bulun ve formülü verilen bir algoritma, zamanındaki doygunluğa karar verir . Ölçü ne kadar küçükse, formülün sertliğini o kadar iyi karakterize eder .ψΓO(nψ(Γ))


[1] Williams, Ryan, Carla P. Gomes ve Bart Selman. "Tipik durum karmaşıklığına arka kapı." Yapay Zeka Uluslararası Ortak Konferansı. Vol. 18, 2003.

[2] Dilkina, Bistra, Carla Gomes ve Ashish Sabharwal. "Arka Kapı Tespiti Karmaşıklığındaki Travmalar." Kısıtlama Programlamanın İlkeleri ve Uygulaması (CP 2007), s. 256-270, 2007.

[3] Ansótegui, Carlos, Maria Luisa Bonet, Jordi Levy ve Felip Manya. "SAT Örneklerinin Sertliğini Ölçme." 23. Ulusal Yapay Zeka Konferansı Bildirilerinde (AAAI'08), s. 222-228, 2008.


Alıntı yaptığınız formalizasyonu seviyorum. Ayrıca, nın verimli bir şekilde hesaplanabilir olduğunu açıkça ifade etmeyi de rafine etmek güzel olurdu . Cevap için teşekkürler! İnsanların “pratikte” kullanabilecekleri daha az resmi tedbirler biliyor musunuz? ψ(Γ)
Artem Kaznatcheev

@ ArtemKaznatcheev Ben arka kapı seti muhtemelen gerçekten kullanılan tek olduğunu düşünüyorum. Bir çözücü çalıştırırken, formülün sertliğini gerçekten umursamıyoruz; bu durumda yine de çözülmesi gerekiyor. Ölçüm bize bir hesaplama avantajı vermeli ya da uygun bir buluşsal yöntem seçmek için kullanabiliriz. Bunun dışında sertlik ölçüleri hala oldukça deneysel.
Juho,

1

Faz geçişi hakkında bilgi sahibi olduğunuz için, farkında olduğum birkaç basit kontrolden bahsetmeme izin verin (ki bunlar muhtemelen kısıt grafik analizi tarafından kabul edilir):

  • Bazı erken rastgele SAT jeneratörleri istemeden çoğunlukla kolay formüller yarattılar çünkü "sabit yoğunluk" kullandılar, yani tüm cümle uzunluklarının kabaca eşit bir kısmını ifade ediyorlardı. Bunlar çoğunlukla kolaydı çünkü 2-cetveller ve birimler, problemi beklendiği gibi önemli ölçüde basitleştiriyor, ve gerçekten uzun cümle ya fazla dallanma eklemiyor ya da hiper-çözünürlüğü daha da kolaylaştırıyor. Bu nedenle, sabit uzunlukta cümleciklere bağlı kalmak ve diğer parametreleri değiştirmek daha iyi görünüyor.
  • |x|*|¬x|x
  • v1,v2,v3{v1,v2,...},{v2,v3,...},{v1,v3,...}

[1] https://arxiv.org/pdf/1903.03592.pdf


0

Juho'nun mükemmel cevabının tepesinde, işte başka bir yaklaşım:

Ercsey-Ravasz & Toroczkai, Kısıt memnuniyetine analog yaklaşımda geçici kaos olarak optimizasyon sertliği , Nature Physics cilt 7, sayfa 966-970 (2011).

Bu yaklaşım, SAT sorununu sistemin herhangi bir çekicisinin SAT sorununa bir çözüm olduğu dinamik bir sisteme yeniden yazmaktır . Sistemin çekiciliğinin temelleri, sorun zorlaştıkça daha fraktaldır ve bu nedenle SAT örneğinin "zorluğu", geçici sistemlerin birleşmeden önce ne kadar kaotik olduğunu inceleyerek ölçülebilir.

Uygulamada bu, farklı başlangıç ​​konumlarından bir avuç çözücünün başlatılması ve çözücülerin çekiciye ulaşmadan önce kaotik geçici olaylardan kaçma oranlarının incelenmesi anlamına gelir.

"Çözümlerin" belirli bir SAT sorununa çözüm olduğu dinamik bir sistem bulmak zor değil, ancak çözümlerin tümünün cezbedici ve çekici olmadığından emin olmak biraz zor. Bunların çözümü, bir kısıtlamanın ne kadar kötü bir şekilde ihlal edildiğini göstermek için enerji değişkenlerini (Lagrange çarpanlarına benzer şekilde) tanıtmak ve sistemi sistemin enerjisini en aza indirgemeye çalışmaktır.

İlginç bir şekilde, dinamik sistemlerini kullanarak, SAT problemlerini analog bir bilgisayarda polinom zamanında çözebilirsiniz, ki bu kendi başına kayda değer bir sonuçtur. Bir yakalama var; enerji değişkenlerini temsil etmek için üssel olarak yüksek voltajlar gerektirebilir, bu nedenle ne yazık ki bunu fiziksel donanım konusunda gerçekleştiremezsiniz.


1
“Dinamik sistemlerini kullanarak, SAT problemlerini analog bir bilgisayarda polinom zaman içerisinde çözebiliyorsunuz ki bu kendi başına kayda değer bir sonuçtur.” Bunun dikkate değer olduğunu kabul etmiyorum. Not ettiğiniz gibi: üstel bir hassasiyet gerektirir. Bu aslında doğrudan NP tanımına bağlanan standart bir püf noktasıdır. Eğer üstel olarak doğru ölçebiliyorsanız, yalnızca kabul eden yolları (veya rastgele yürüyüş din sistemi sys olarak görüntüleyebilirsiniz) tahmin etmeye çalışabilir ve tam olarak sıfır mı yoksa az mı (tabii ki, üstel olarak doğru bir ölçüm gerektirecektir. Dinamik sistemde olduğu gibi).
Artem Kaznatcheev,

Bunun için teşekkürler. Analog hesaplama hakkında pek teorik sonuç bilmiyorum.
Sahte
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.