DNF'den CNF'ye dönüştürme: Kolay veya Zor


10

Konuya ilişkin olarak CNF'den DNF dönüşüm NP Sert olduğunu gösteren (ve ilgili bir matematik iplik ):

DNF'den CNF'ye diğer yöne ne dersiniz? Kolay mı, zor mu?

Bu makalenin 2. sayfasında, " CNF temsilinden DNF temsiline (ya da tam tersi) geçiş yaparken maksimum boyut patlamasıyla ilgileniyoruz " derken her iki yönün de eşit derecede zor olduğunu ima ediyorlar .

Ancak DNF-SAT P ve CNF-SAT NP -tamamlanmıştır . Dolayısıyla bir DNF ifadesi verildiğinde , uzunluğu ϕ 1 uzunluğunda polinom olan eşitlenebilir bir CNF ifadesi ϕ 2 olmalıdır . Ve ϕ 1ϕ 2 dönüşümü poli zamanda yapılabilir. Bu doğru mu?ϕ1ϕ2ϕ1ϕ1ϕ2

Düzenleme: Değiştirilen eşdeğer için equisatisfiable (olduğunu, ilave değişkenler izin verilir ).ϕ2


Herhangi bir formülden, orijinal formül polinom zamanında tam olarak tatmin edilebilir bir CNF'ye gidebilirsiniz. Bu yüzden CNF-SAT NP-tamamlanmış. Herhangi bir SAT örneği (NP-tamamlama problemi) polinom zamanında CNF-SAT'a indirilebilir. Tam olarak tercüme etmeyi düşünüyorum, sadece tatmin edilebilirliği korumak her zaman üstel bir patlama getirecek, ama bunu kesin olarak söyleyemem.
Jake

Bkz. En.wikipedia.org/wiki/Tseitin_transformation . Temel olarak, yardımcı değişkenlerin girişine izin verirseniz, bu dönüşümü poli zamanda yapabilirsiniz (formülün boyutunu en doğrusal olarak arttırmak).
jschnei

Dönüşümünüzün yeni değişkenler getirmesine izin vermek isteyip istemediğinize veya dönüştürülen formülün aynı değişken grubuna (yeni değişken yok) gönderme yapması gerekip gerekmediğine karar vermeniz gerekir. Bu, cevap üzerinde dramatik bir etkisi olan ince bir noktadır. Peki, hangisini sormak istiyorsun?
DW

@Jake CNF-SAT NP-tam olduğundan herhangi bir formülden eşitlenebilir bir CNF'ye gidebilirsiniz . Gerçekten "neden" CNF-SAT NP-tam değildir: CNF-SAT'ın NP-tam olduğuna dair olağan kanıt, keyfi formüllerin CNF'ye çevrilmesini içermez; bunun yerine Turing makinelerini CNF formüllerine çevirir.
David Richerby

DW ve diğerleri için - Aklımda dengeye yatkınlığım vardı . Bu anlamda, dengeye yatkınlık sadece bir azalma (bu durumda başka bir Boole formülü için) gibi görünüyor.
Martin Seymour

Yanıtlar:


14

Ek değişkenler getirmek istiyorsanız , Tseitin dönüşümünü kullanarak DNF'den CNF formuna polinom zamanda dönüştürebilirsiniz . Ortaya çıkan CNF formülü, orijinal DNF formülü ile dengelenebilir olacaktır: CNF formülü, yalnızca orijinal DNF formülü tatmin edilebilirse ve tatmin edici olacaktır. Ayrıca bkz . Https://en.wikipedia.org/wiki/Conjunctive_normal_form#Conversion_into_CNF .

Ek değişkenlerin eklenmesine izin vermek istemiyorsanız, DNF'den CNF formuna dönüştürmek co-NP-zordur. Özellikle, bir DNF formülünün bir totoloji olup olmadığını test etmek ko-NP-zordur. Bununla birlikte, bir CNF formülünün bir totoloji olup olmadığını test etmek polinom zamanında yapılabilir (her bir cümlenin bir totoloji olup olmadığını ayrı ayrı kontrol edersiniz, çünkü her bir cümle değişmezdir. Bu nedenle, DNF formundan CNF formuna polinom zamanda yeni değişkenler girmeden dönüştürebiliyorsanız, bir DNF formülünün bir totoloji olup olmadığını test etmek için bir polinom zamanı algoritması elde edersiniz - beklenmedik bir şey. P, ko-NP'ye eşit değildir. Veya başka bir deyişle, ek değişkenler eklemeden DNF'den CNF formuna dönüştürmek ko-NP-zordur.

Bu denklik ile eşitlik arasındaki farktır . Eşdeğerlik, iki formülün aynı çözüm setine sahip olmasını gerektirir (ve bu nedenle ek değişkenlerin girilmesine izin vermez). Eşitlenebilirlik sadece her iki formülün de tatmin edilebilir olmasını veya her ikisinin de tatmin edilemez olmasını gerektirir (ve bu nedenle ek değişkenlerin kullanılmasına izin verir).


@Mehrdad, lütfen yeni sorular sormak için yorumları kullanmayın. Sormak istediğiniz yeni bir sorunuz varsa, sağ üstte bir 'Soru Sor' var. Ancak, sadece küçük bir ipucu ... yeni bir soru sormadan önce bu sayfanın üst kısmındaki soruyu okumak isteyebilirsiniz ... ya da bu nedenle bu yorumu yayınlayabilirsiniz. Yardım edemem ama cevabın sorunuzla aynı sayfada nerede bulunduğunu sorduğunuza dikkat edin.
DW

@DW: Hata! Aslında diğer gönderiyi biraz sonra gördüm ve yorumumu kaldırmayı unuttum, üzgünüm. Şimdi kaldırıldı.
user541686
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.