Median-SAT'ın karmaşıklığı nedir?


14

değişkenleri ve cümleleri olan bir CNF formülü olsun . değişken bir atamayı temsil etsin ve değişken atama tarafından yerine getirilen cümle sayısını . Daha sonra Median-SAT'ı nin tüm medyan değerini hesaplama sorunu olarak tanımlayın . Örneğin, bir totoloji ise, Median-SAT çözümü olacaktır, çünkü atamadan bağımsız olarak her fıkra tatmin edilecektir. Ancakφnmt{0,1}nfφ(t){0,,m}φfφ(t)t{0,1}nφmSAT¯Median-SAT çözümü ile arasında herhangi bir yerde olabilir .0m1

Bu soru, SAT, MAX-SAT ve #SAT'ın iki doğal uzantısını düşündüğümde ve ortaya çıkan sorunun bir araya getirilmesinin zorluğunun ne olacağını ortaya çıkardı. MAX-SAT için, tarafından tatmin edilen değişken sayısını en üst düzeye çıkarmak için belirli bir değişken ataması bulmalıyız . #SAT için birçok atamaları bütün tatmin nasıl saymak zorunda hükümlerini . Bu varyant esas olarak #SAT'ın (ve aslında #WSAT'ın ) bir uzantısı olarak rüzgarlanır , ancak MAX-SAT'ın lezzetinin bir kısmını korur, çünkü bunların hepsinin memnun olup olmadığına karar vermek yerine tatmin edici hükümlerin sayısını sayıyoruz. değil.φmφ

Bu sorun #SAT veya #WSAT'tan daha zor görünüyor. Her bir değişken atama #SAT için bu atama yerine getirip Boolean sorunu karar Medyan-SAT belirler ise veya "ne ölçüde" maddeleri bu bir atama tatmin sayısı açısından tatmin edilir.φφ

Bu sorunun biraz keyfi olduğunun farkındayım; her değişken atamasından memnun edilen ortalama veya mod cümle sayısını hesaplamak aynı kaliteyi yakalamaktadır. Muhtemelen birçok sorun da var.

Bu sorun, belki de farklı bir kisvesi altında mı incelenmiştir? #SAT ile karşılaştırıldığında ne kadar zor? Bana göre, Median-SAT'ın FPSPACE'de bulunduğuna rağmen, FPSPACE'de bile bulunduğu bir önsezi açık değil.


3
Bu öyle : her biri için biz en azından tatmin atamalarının sayısını sayabilirsiniz bir #P Oracle kullanarak maddelerine. FP#PFPSPACEkmk
Colin McQuillan

1
@Colin bunu bir cevap haline getirir mi?
Suresh Venkat

Evet, bu iyi bir cevap olurdu. yan tümcelerinin karşılanıp karşılanmadığını kontrol etmek için #P kehanetini nasıl sorgulayacağınızı açıklayabilir misiniz ? Nasıl verimli bir şekilde yapılacağını anlayamadım. km
Huck Bennett

@Tsuyoshi, SAT tanımınız nedir? Maddelerin tekrarlanmasına izin veriyor muyuz? veya belirli bir yan tümcedeki değişkenler ve / veya değişkenler? Çünkü belirli bir cümlede değişmez değerlerin ve / veya değişkenlerin tekrarlanmasına izin vermezseniz, totoloji olan bir CNF formülüne sahip olamazsınız.
Tayfun Pay

@Tayfun - Aslında bu soruyu sordum, Tsuyoshi küçük bir düzenlemeye yardımcı oldu. CNF formülündeki tekrarlanan değişmez değerler gerektiren bir totoloji konusunda haklısınız. Herhangi bir SAT değişkeni ilginç olacaktır, CNF-SAT cümle içinde değişken tekrarı (bu durumda totolojiler imkansızdır) veya belki daha genel olarak CIRCUIT-SAT olacaktır. Bu seçimin sorunun tadını değiştirdiğini sanmıyorum.
Huck Bennett

Yanıtlar:


13

Bir SAT, bir tamsayı ve bir değişken ataması göz önüne alındığında , polinom zamanında tam olarak cümlelerinin tatmin edilip edilmediğine karar verebiliriz , sadece tatmin edici cümlelerin sayısını sayarak ve bu sayının eşit olup olmadığını test edebiliriz . Bu nedenle, # kehanetini kullanarak tam olarak maddelerini karşılayan değişken varsayımların toplam sayısını hesaplayabiliriz .kkkk

Max-SAT gibi, Median-SAT bir kehaneti kullanılarak polinom zamanda hesaplanabilir . Bu, sorunun .#PFP#PFPSPACE


Kesinlikle haklısın. Bu çok temiz bir argüman ve sanırım #P'nin tanımından oldukça açık. Bir şey öğrendim.
Huck Bennett

1
Bunu biraz daha açıklayayım: Colin diyor ki, polinom zamanında belirli bir değişken atamanın değişken olmayan bir atamayı belirsiz olarak tahmin edebileceğimiz maddelerini karşılayıp karşılamadığını belirleyebiliriz ve daha sonra bu sorguyu kaç kabul yolunu (yani değişken atamaları kabul ederek) sayabiliriz kullanıyordu ( tanımı ). K = 1 ila m arasında yineleyerek, içinde tatmin edilen ortalama cümle sayısını sayabiliriz . k#P#PFP#P
Huck Bennett

3

Bu sorun için bir kehanetin çağrıları kullanılarak çözülebilir.lgm+1

Let için arzu edilen bir medyan değeri göstermek . Sabit için formülünü tanımlayın, böylece iff ataması yan tümcelerinin en az değerini karşılar . Verilen bu Bildirimi CNF form ve verilen yılında , kolayca oluşturabilirsiniz polinom zamanda CNF formda.M(φ)φkψkxxkφφkψk

Şimdi varsayalım ki MAJSAT için bir kehanetimiz var. formülünde sorgulandığında , atamaların çoğunun formülünü doğru mu, yoksa formülünü mü sağlayıp sağlamadığını söyler . Bu nedenle, öğrenmek için ikili arama uygulayın ( ile başlayın , sonra kâhin sonuçlarına göre artırın veya azaltın ). Sonra yineleme ikili arama değerini ortaya . Her yineleme MAJSAT için kehanetimize bir sorgu gerektirir.ψkψkM(φ)kM(φ)k=m/2klgm+1M(φ)

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.