Kompleksitas mengubah sirkuit boolean ke formula boolean

10

Diberikan sirkuit boolean pada n variabel (yang menggunakan gerbang NOT, AND dan OR), apa cara paling efisien untuk mengekstrak rumus boolean yang diwakili oleh sirkuit? Apakah ada algoritma polytime untuk masalah ini?Cn

Nikhil
sumber
apa jenis gerbang yang dimiliki sirkuit?
Lev Reyzin
1
Apa batasan fan-in atau fan-out? Jika hanya fan-out tunggal maka itu sepele: sirkuit itu sendiri pada dasarnya adalah AST untuk formula.
Mark Reitblatt
1
Penggemar terikat untuk menjadi umum. Tetapi lebih tepatnya, katakanlah AND dan ATAU memiliki fan-in 2. Dalam banyak referensi dalam literatur, saya menemukan bahwa rangkaian dan rumus digunakan secara bergantian, tetapi saya ingin tahu apakah mengubah sirkuit ke rumus adalah hal yang mudah. masalah.
Nikhil
6
Secara umum Anda akan mengharapkan bahwa rumus yang setara dapat berukuran eksponensial bahkan untuk sirkuit kecil.
Kristoffer Arnsfelt Hansen
4
Rumus ukuran polinomial setara dengan sirkuit . Sirkuit polysize ( P / p o l y ) tidak diketahui setara dengan N C 1 . Rumus dan sirkuit digunakan secara bergantian biasanya ketika kedalaman sirkuit dibatasi. NC1 P/polyNC1
Kaveh

Jawaban:

8

(vϕ)vϕ

x1x2x3x1x2x2x3v1v2v3

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

Pengantar Algoritma oleh Cormen et al. menjelaskan ini secara rinci, dalam bab tentang NP-Completeness.

Magnus Lie Hetland
sumber
Tidakkah CIRCUIT-SAT menggunakan gerbang keluar 1?
Mark Reitblatt
1
Tentu — tapi sejauh yang saya bisa lihat, itu tidak mempengaruhi pengurangan / transformasi. Gagasan untuk mewakili setiap output sebagai variabel baru berarti bahwa Anda dapat menggunakan kembali setiap output sebagai input beberapa kali (sesuai dengan fan-out besar yang sewenang-wenang). Dengan kata lain, solusi yang diberikan dalam jawaban ini harus bekerja untuk rangkaian arbitrer.
Magnus Lie Hetland
3
Dugaan saya adalah bahwa ini bukan yang diminta. Saya pikir yang diinginkan adalah membuat formula pada rangkaian variabel yang sama dengan rangkaian.
Kristoffer Arnsfelt Hansen
1
Hm Ya, Anda mungkin benar. Memperkenalkan variabel baru masuk akal dalam kasus CIRCUIT-SAT ke CNF-SAT, tetapi tidak dalam pengaturan yang lebih umum — saya setuju.
Magnus Lie Hetland
1
Cx1,x2,,xnϕ(x1,x2,,xn)