부울 회로를 부울 공식으로 변환하는 복잡성


10

NOT, AND 및 OR 게이트를 사용하는 변수 에 대한 부울 회로 주어지면 회로로 표현되는 부울 수식을 추출하는 가장 효율적인 방법은 무엇입니까? 이 문제에 대한 폴리 타임 알고리즘이 있습니까?Cn


회로에는 어떤 유형의 게이트가 있습니까?
Lev Reyzin

1
팬인 또는 팬 아웃에 어떤 제한이 있습니까? 단일 팬 아웃 인 경우에는 사소합니다. 회로 자체는 본질적으로 공식의 AST입니다.
Mark Reitblatt

1
바운드 팬인이 일반적입니다. 그러나 정확하게 말하면 AND와 OR에 fan-in 2가 있다고 가정합니다. 문헌에서 많은 참고 문헌에서 회로와 수식을 서로 바꿔 사용할 수 있지만 회로를 수식으로 변환하는 것이 쉬운 지 알고 싶습니다. 문제.
Nikhil

6
일반적으로 작은 회로에서도 등가 공식이 지수 크기 일 수 있습니다.
Kristoffer Arnsfelt Hansen

4
다항식 크기 ​​공식 회로 와 같습니다 . 사이즈 회로 ( )는 과 같은 것으로 알려져 있지 않습니다 . 공식과 회로는 일반적으로 회로의 깊이가 제한 될 때 상호 교환 적으로 사용됩니다. P / p o l y N C 11 /영형와이1
Kaveh

답변:


8

귀하의 질문을 올바르게 이해하면 CIRCUIT-SAT에서 SAT로 표준 축소를 사용할 수 있다고 말하고 싶습니다. 각 게이트를 새로운 변수로 표현한 다음 CNF 형식으로 전체 회로를 표현하고 각 절의 형식은 (여기서 v 는 새로운 변수이며 게이트의 공식 은 입력을 나타내는 다른 게이트의 변수를 사용하여 ϕ 로 표시됩니다. 이것은 간단한 순회 (선형 시간으로 명확하게 최적 임)로 수행 할 수 있습니다.(Vϕ)Vϕ

예를 들어, , x 2x 3 , AND 게이트가 x 1x 2 뿐만 아니라 x 2x 3을 연결하고 OR 게이트가 출력을 연결하는 3 개의 입력이있는 경우 3 개의 변수를 도입 할 수 있습니다 게이트 ( v 1 , v 2 , v 3 )를 각각 나타내는 식을 ( v 1( x 1x 2 ) ) 엑스1엑스2엑스엑스1엑스2엑스2엑스V1V2V출력 변수는 명시 적으로 포함됩니다.

(V1(엑스1엑스2))(V2(엑스2엑스))(V(V1V2))V.

Cormen et al.의 알고리즘 소개 . NP-Completeness에 관한 장에서 이것을 자세히 설명합니다.


CIRCUIT-SAT는 팬 아웃 1 게이트를 사용하지 않습니까?
Mark Reitblatt

1
물론 — 내가 아는 한 축소 / 변형에는 영향을 미치지 않습니다. 각 출력을 새 변수로 표시한다는 아이디어는 각 출력을 여러 번 입력으로 재사용 할 수 있다는 것을 의미합니다 (임의로 큰 팬 아웃에 해당). 다시 말해,이 답변에 제공된 솔루션은 임의 회로에 적합해야합니다.
Magnus Lie Hetland

3
내 생각 엔 이것이 요구되는 것이 아니다 . 원하는 것은 회로와 동일한 변수 세트에서 공식을 만드는 것입니다.
Kristoffer Arnsfelt Hansen

1
흠. 예, 당신 말이 맞을 것입니다. 새로운 변수를 도입하는 것은 CIRCUIT-SAT에서 CNF-SAT의 경우에 의미가 있지만보다 일반적인 설정에는 해당되지 않습니다.
Magnus Lie Hetland

1
엑스1,엑스2,,엑스ϕ(엑스1,엑스2,,엑스)
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.