การแปลง DNF เป็น CNF: ง่ายหรือยาก


10

เกี่ยวข้องกับเธรดการพิสูจน์ว่าการแปลงจาก CNF เป็น DNF คือ NP-Hard (และเธรด Mathที่เกี่ยวข้อง):

แล้วทิศทางอื่นจาก DNF ถึง CNF ล่ะ? มันง่ายหรือยาก

ในหน้า 2 ของบทความนี้พวกเขาบอกใบ้ว่าทั้งสองทิศทางนั้นยากพอ ๆ กันเมื่อพวกเขาพูดว่า " เราสนใจที่จะขยายขนาดสูงสุดเมื่อเปลี่ยนจากการเป็นตัวแทน CNF ไปเป็นตัวแทน DNF (หรือกลับกัน) "

แต่ DNF-SAT อยู่ในPและ CNF-SAT เป็นNP- ที่สมบูรณ์ ให้ดังนั้นการแสดงออก DNF , ควรมีequisatisfiableแสดงออก CNF φ 2มีความยาวพหุนามในความยาวของφ 1 และϕ 1φ1φ2φ1สามารถทำได้ในเวลาโพลี ถูกต้องหรือไม่φ1φ2

แก้ไข: เปลี่ยนเทียบเท่ากับที่น่าพอใจ (นั่นคืออนุญาตให้ใช้ตัวแปรเพิ่มเติมได้ในφ2 )


คุณสามารถเปลี่ยนจากสูตรใด ๆ เป็น CNF ซึ่งเป็นที่น่าพอใจอย่างแน่นอนเมื่อสูตรดั้งเดิมอยู่ในเวลาพหุนาม นี่คือเหตุผลที่ CNF-SAT เสร็จสมบูรณ์แล้ว อินสแตนซ์ SAT ใด ๆ (ปัญหา NP-complete) สามารถลดเป็น CNF-SAT ในเวลาพหุนาม ฉันคิดว่าการแปลมันไม่เพียง แต่รักษาความพึงพอใจบางครั้งจะทำให้เกิดการระเบิดชี้แจง แต่ฉันไม่สามารถพูดได้อย่างแน่นอน
เจค

ดูen.wikipedia.org/wiki/Tseitin_transformation โดยพื้นฐานแล้วหากคุณอนุญาตให้มีการแนะนำตัวแปรเสริมคุณสามารถทำการแปลงนี้ในเวลาโพลี (เพิ่มขนาดของสูตรเป็นเส้นตรงมากที่สุด)
jschnei

คุณจะต้องตัดสินใจว่าคุณต้องการอนุญาตให้การแปลงของคุณนำเสนอตัวแปรใหม่หรือไม่ว่าสูตรที่แปลงแล้วจะต้องอ้างถึงชุดตัวแปรเดียวกัน (ไม่มีตัวแปรใหม่) นี่เป็นจุดที่ลึกซึ้งที่มีผลอย่างมากต่อคำตอบ แล้วคุณต้องการถามเรื่องอะไร
DW

@ เจคคุณสามารถเปลี่ยนจากสูตรใดก็ได้เป็น CNF ที่ไม่น่าพอใจเนื่องจาก CNF-SAT นั้นเป็นปัญหาที่สมบูรณ์ มันไม่ได้จริงๆ "ทำไม" CNF-SAT เป็น NP-complete: หลักฐานทั่วไปที่ CNF-SAT เป็น NP-complete ไม่เกี่ยวข้องกับการแปลสูตรโดยพลการไปยัง CNF; ค่อนข้างจะแปลทัวริงเครื่องเป็นสูตร CNF
David Richerby

สำหรับ DW และคนอื่น ๆ - ฉันมีความพึงพอใจที่เสมอภาคในใจ .. ในแง่นี้ดูเหมือนว่าความสามารถในการทำให้พอใจนั้นเป็นเพียงการลดลง (ในกรณีนี้คือสูตรบูลีนอื่น)
Martin Seymour

คำตอบ:


14

หากคุณยินดีที่จะแนะนำตัวแปรเพิ่มเติมคุณสามารถแปลงจากรูปแบบ DNF เป็น CNF ในเวลาพหุนามโดยใช้การแปลง Tseitinเปลี่ยน สูตร CNF ที่ได้จะเป็นผลลัพธ์ที่ไม่น่าพึงพอใจกับสูตร DNF ดั้งเดิม: สูตร CNF จะเป็นที่พอใจถ้าหากสูตร DNF ดั้งเดิมนั้นเป็นที่น่าพอใจ ดูเพิ่มเติมhttps://en.wikipedia.org/wiki/Conjunctive_normal_form#Conversion_into_CNF

หากคุณไม่ต้องการให้มีการแนะนำตัวแปรเพิ่มเติมการแปลงจากรูปแบบ DNF เป็น CNF คือ co-NP-hard โดยเฉพาะอย่างยิ่งการทดสอบว่าสูตร DNF เป็นภาษาที่ซ้ำซากคือ co-NP-hard หรือไม่ อย่างไรก็ตามการทดสอบว่าสูตร CNF เป็นเรื่องซ้ำซากสามารถทำได้ในเวลาพหุนาม (คุณเพียงตรวจสอบแยกกันว่าข้อทุกข้อเป็นเรื่องซ้ำซากซึ่งเป็นเรื่องง่ายเพราะแต่ละประโยคเป็นความแตกต่างของตัวอักษร) ดังนั้นหากคุณสามารถแปลงจากรูปแบบ DNF เป็นรูปแบบ CNF ในเวลาพหุนามโดยไม่ต้องแนะนำตัวแปรใหม่คุณจะได้รับอัลกอริธึมเวลาพหุนามสำหรับการทดสอบว่าสูตร DNF เป็นเรื่องซ้ำซาก - สิ่งที่ดูเหมือนไม่น่าเป็นไปตามที่เราคาดหวัง P ไม่เท่ากับ co-NP หรือหากต้องการกล่าวอีกวิธีหนึ่งการแปลงจากรูปแบบ DNF เป็น CNF โดยไม่แนะนำตัวแปรเพิ่มเติมคือ co-NP-hard

นี่คือความแตกต่างระหว่างความเท่าเทียมและความเท่าเทียมกัน ความเท่าเทียมกันต้องใช้สูตรทั้งสองเพื่อให้มีชุดโซลูชันเดียวกัน (และไม่อนุญาตให้มีการแนะนำตัวแปรเพิ่มเติม) การได้มาซึ่งความพึงพอใจต้องการเพียงว่าทั้งสองสูตรนั้นเป็นที่น่าพอใจหรือทั้งสองอย่างนั้นไม่น่าพึงพอใจ (และอนุญาตให้มีการแนะนำตัวแปรเพิ่มเติม)


@ Mehrdad โปรดอย่าใช้ความคิดเห็นเพื่อถามคำถามใหม่ เรามี 'ถามคำถาม' ที่ด้านบนขวาหากคุณมีคำถามใหม่ที่คุณต้องการถาม แต่เพียงเล็กน้อย ... คุณอาจต้องการอ่านคำถามที่ด้านบนของหน้านี้ก่อนถามคำถามใหม่ ... หรือสำหรับเรื่องนั้นโพสต์ความคิดเห็นนี้ ฉันอดไม่ได้ที่จะสังเกตว่าคุณถามคำถามว่าคำตอบนั้นอยู่ที่ไหนในหน้าเดียวกับคำถามของคุณ
DW

@DW: อ๊ะฉันเห็นโพสต์อื่น ๆ หลังจากนั้นเล็กน้อยและลืมลบความคิดเห็นของฉันที่นี่ขอโทษ ลบออกทันที
user541686
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.