İki CNF'nin aynı sayıda çözüme sahip olup olmadığını kontrol etmenin karmaşıklığı


14

İki CNF verildiğinde, doğru yapmak için aynı sayıda ödeve sahiplerse, "Evet" yanıtı, aksi takdirde "Hayır" yanıtını verin.

olduğunu görmek kolaydır , çünkü bu iki CNF'ye kesin çözüm sayısını bilirsek, sadece onları kamp eder ve "Evet" veya "Hayır" yanıtını veririz.P#P

Bu sorunun karmaşıklığı nedir?

Yanıtlar:


14

Sorun coNP -hard; UNSAT problemini bu probleme kolayca azaltabilirsiniz.

Daha kesin bir karakterizasyon, problemin C = P-tamamlanmış olmasıdır . Aslında, C = P sınıfının bir tanımı, bu çok probleme indirgenebilen polinom-zaman çok-bir olan problem sınıfıdır (genellikle bu tanım GapP fonksiyonları ile belirtilir ). Fakat bu fazla bir şey söylemediğinden, bu sınıfı başka bir şekilde tanımlayayım.

C = P, polinom-zaman çok-biri aşağıdaki probleme indirgenebilen problemler sınıfı olsun : bir boole devresi φ ve bir tamsayı K (ikili olarak) verildiğinde, φ tatmin edici atama sayısının K'ye eşit olup olmadığına karar verin . # 3SAT'ın # P-tamlığını gösteren standart bir indirgeme ile, φ sınıfı etkilemeden 3CNF formülü olarak kısıtlayabiliriz . C = P sınıfı , hem UP hem de coNP içeren US adında bir sınıf içerir .

Bu tanımla, sorununuz C = P-complete'tur. Aslında, C = P sertliğinin C = P (3CNF formüllerini kullanan) sınıfının tanımından görülmesi kolaydır .

C üyelik kanıtlamak için = P, iki verilen CNF formülleri karar vermek olduğunu varsayalım j 1 ve cp 2 atamaları veya olmasın tatmin aynı sayıda. Genelliği kaybetmeden, iki formülün aynı sayıda değişkene sahip olduğunu varsayabiliriz, örneğin n . Bir Boole devre Construct cp alır , n atamaları tatmin sayısı böylece girdi olarak +1 bit cp eşittir c 1 + (2 N - c 2 ), c 1 ve c 2sırasıyla φ 1 ve φ 2 tatmin edici atamaların sayısı olmalıdır . O zaman φ yerine getiren atamaların sayısı sadece ve eğer c 1 = c 2 ise 2 n'ye eşittir .


@Kaveh: Ayrıntılı yapabilir misin?
Tsuyoshi Ito

1
@Kaveh: Hayır, istediğimiz bu değil. Φ_1 ve φ_2'nin aynı sayıda tatmin edici atamaya sahip olup olmadığına karar vermek istiyoruz .
Tsuyoshi Ito

1
C=PC=PFPC=P

1
C=PC=P

1
C=PC=P

6

O(f1,f2)f1f2

Mφφ

MOφiφ

MO


Cehaletimi affedin, ancak önceden belirlenmiş sayıda çözüm içeren bir formül nasıl oluşturursunuz?
Giorgio Camerani

3
M=i=0kmi2iSimi=1x0,,xky0,,ykiSFi{x0,,xki}{y0,,yk}yiFi2i{xki+1,,xk}ijFiFjyiSFiM

F_1 ve f_2 olmak üzere iki CNF formülü verildiğinde, f_1'nin f_2'den daha tatmin edici atamalara sahip olup olmadığına karar vermenin PP-eksiksiz olduğunu unutmayın.
Tsuyoshi Ito

@mikero: Ah, aptal beni! Bunu hayal etmeliydim. Aydınlatıcı açıklamanız için teşekkürler.
Giorgio Camerani

5

Tek bir çözümle kolayca bir SAT formülü oluşturabildiği için en az NP-zor gibi görünüyor. Daha sonra Valiant-Vazirani teoremi ile, her SAT formülünden bir dizi Unique-SAT sorununa (bir formülün benzersiz bir çözümü olup olmadığını belirleme) olasılıklı bir azalma ve bu Benzersiz-SAT sorunlarını yapılandırılmış SAT formülü ile tek bir çözümle karşılaştırma dikkate alınan SAT formülünün tatmin edilebilirliğini belirlemenizi sağlar.


Kesin olmak gerekirse, ilk cümlede “randomize indirgenebilirlik altında” belirtilmelidir (ikinci cümlede belirtmenize rağmen).
Tsuyoshi Ito
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.