ความซับซ้อนของการแปลงวงจรบูลีนเป็นสูตรบูลีน


10

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


วงจรประเภทใดที่ประตูมี?
Lev Reyzin

1
ข้อ จำกัด เกี่ยวกับการเข้า - ออกหรือการออก ถ้ามันเป็นเพียงแค่ fan-out เพียงครั้งเดียวก็เป็นเรื่องเล็กน้อย: วงจรตัวเองเป็นหลัก AST สำหรับสูตร
Mark Reitblatt

1
fan-in ที่ถูก จำกัด ให้เป็นแบบทั่วไป แต่เพื่อความแม่นยำสมมติว่า AND และ OR มี fan-in 2 ในการอ้างอิงจำนวนมากในวรรณคดีฉันพบว่ามีการใช้วงจรและสูตรแทนกัน แต่ฉันต้องการทราบว่าการแปลงวงจรเป็นสูตรนั้นง่ายหรือไม่ ปัญหา.
Nikhil

6
โดยทั่วไปคุณคาดหวังว่าสูตรที่เทียบเท่าใด ๆ อาจมีขนาดเป็นเลขชี้กำลังแม้กระทั่งสำหรับวงจรขนาดเล็ก
Kristoffer Arnsfelt Hansen

4
สูตรขนาดพหุนามเทียบเท่ากับวงจร วงจร POLYSIZE ( ) จะไม่ทราบว่าจะเทียบเท่ากับ 1 สูตรและวงจรที่ใช้ในการสลับกันโดยปกติเมื่อความลึกของวงจรถูก จำกัด ขอบเขต NC1 N C 1P/polyNC1
Kaveh

คำตอบ:


8

ถ้าฉันเข้าใจคำถามของคุณถูกต้องฉันจะบอกว่าคุณสามารถใช้การลดมาตรฐานจาก CIRCUIT-SAT ถึง SAT: แทนแต่ละประตูเป็นตัวแปรใหม่แล้วแสดงวงจรทั้งหมดในรูปแบบ CNF โดยแต่ละประโยคมีรูปแบบโดยที่คือตัวแปรใหม่และสูตรสำหรับเกตได้รับจากโดยใช้ตัวแปรสำหรับประตูอื่น ๆ เพื่อเป็นตัวแทนของอินพุต สิ่งนี้สามารถทำได้โดยการสำรวจเส้นทางง่ายๆ (ในเวลาเชิงเส้นซึ่งเป็นที่เหมาะสมอย่างชัดเจน)v ϕ(vϕ)vϕ

ตัวอย่างเช่นถ้าคุณ hade สามปัจจัยการผลิต ,และมีการเชื่อมโยงและประตูและเช่นเดียวกับและและหรือประตูเชื่อมโยงผลของพวกเขาคุณสามารถแนะนำสามตัวแปรเพื่อเป็นตัวแทนของ gates- ,และตามลำดับ - และเขียนสูตรไปที่โปรดทราบว่าตัวแปรเอาต์พุตรวมอย่างชัดเจนx1x2x3x1x2x2x3v1v2v3

(v1(x1x2))(v2(x2x3))(v3(v1v2))v3.

รู้เบื้องต้นเกี่ยวกับอัลกอริทึมโดย Cormen และคณะ อธิบายรายละเอียดในบทที่เกี่ยวกับ NP-Completeeness


CIRCUIT-SAT ใช้ fan-out 1 ประตูหรือไม่
Mark Reitblatt

1
แน่นอน - แต่เท่าที่ฉันเห็นนั่นไม่ส่งผลกระทบต่อการลด / การแปลง แนวคิดของการแสดงแต่ละเอาต์พุตเป็นตัวแปรใหม่หมายความว่าคุณสามารถนำแต่ละเอาต์พุตมาใช้ใหม่เป็นอินพุตได้หลายครั้ง กล่าวอีกนัยหนึ่งวิธีแก้ปัญหาที่ให้ไว้ในคำตอบนี้ควรใช้กับวงจรโดยพลการ
Magnus Lie Hetland

3
ฉันเดาว่านี่ไม่ใช่สิ่งที่ถูกขอ ฉันคิดว่าสิ่งที่ต้องการคือการทำสูตรในตัวแปรชุดเดียวกับวงจร
Kristoffer Arnsfelt Hansen

1
ฮึ่ม ใช่คุณพูดถูก การแนะนำตัวแปรใหม่นั้นสมเหตุสมผลในกรณี CIRCUIT-SAT กับ CNF-SAT แต่ไม่ใช่ในสภาพแวดล้อมทั่วไป - ฉันเห็นด้วย
Magnus Lie Hetland

1
@ Kristoffer: ฉันหมายถึงสิ่งที่คุณพูด ให้วงจรบนฉันต้องการสูตรเป็นนิพจน์บูลีนที่แน่นอนสำหรับวงจร x 1 , x 2 , , x n ϕ ( x 1 , x 2 , , x n )Cx1,x2,,xnϕ(x1,x2,,xn)
Nikhil
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.