CS 복잡성 이론에 의해 사용 된 회로 복잡성 클래스가 VLSI 커뮤니티와는 다른 예측을하고 다른 메트릭을 사용하는 것이 훨씬 더 흥미 롭다고 생각합니다. 에서 부울 함수의 VLSI의 복잡성 :
변수 의 모든 부울 함수는 게이트 (Lupanov의 정리) 를 갖는 논리 회로에 의해 계산 될 수 있으며이 크기의 논리 회로를 필요로하는 n 변수의 부울 함수가 존재한다는 것은 잘 알려져 있습니다 ( 섀넌의 정리). 우리는 Thompson의 VLSI 칩 모델을 사용하여 VLSI 회로에 의해 계산 된 부울 함수에 대한 해당 결과를 제시합니다. 우리는 모든 부울 함수 증명 변수의 VLSI 회로에 의해 계산 될 수 영역 및 기간 1, 우리는 부울 함수가 존재한다는 증명 매 (볼록) VLSI 칩 있어야하는 변수 영역.O ( 2 N / N ) N O ( 2 N ) N Ω ( 2 N )nO(2n/n)nO(2n)nΩ(2n)
흥미롭게도, VLSI 회로 복잡도는 중요한 경로, 즉 중요한 경로가 하나뿐이기 때문에 깊이를 "무의미한"것으로 취급하는 경향이 있습니다. 대부분의 실제 목적을 위해 임의로 복잡한 회로는 대기 시간이 로 처리 될 수 있습니다 .nO(1)n
실제로 / 의 개념이 VLSI 회로의 복잡성으로 직접 변환 되는지 확실하지 않습니다 . Shannons 결과 조차도 쉽게 번역되지 않습니다. Shannons 결과는 arity {AND, OR, NOT} 으로 구성된 부울 기준에 대해서만 유효 합니다 . 이것이 유일한 기초는 아니며, 더 많은 게이트 유형을 허용함에 따라 필요한 "게이트"수는 급격히 떨어집니다. 다음은 2 개의 입력 NAND 게이트 크기로 정규화 된 상용 VLSI 표준 셀 라이브러리의 입니다.N L o g T i m e 2 n / n ≤ 2 a r e a 2DLogTimeNLogTime2n/n≤2area2
2 3 4 <-Arity
및 1.14 1.28 1.41
낸드 1.00 1.14 1.28
또는 1.14 1.41 1.41
1.00 1.14 1.41
xor 1.62 2.44
xnor 1.62 2.44
buf 1.14
인비 0.80
aoi22 1.28
aoi222 1.62
aoi33 1.62
oai22 1.41
oai222 1.72
oai33 1.62
addf 2.64
구체적으로, 메모 aoi
/의 oai
되는 게이트 And Or Invert
/ Or And Invert
이루어진 인수에 대응하는 크기가 제 기능 의 수가 제 함수 먹이 1 함수 게이트 배의 수와 동일한 인수에 대응에 나타날. 예를 들어, aoi22
"NOR 게이트를 공급하는 2 개의 입력 AND 게이트"를 나타냅니다.
요점은 다음과 같습니다. 개별적으로, oai222
상호 연결에 사용되는 영역을 포함하지 않고 총 ~ 4.56의 영역에 대해 3 개의 2 개의 입력 OR 게이트와 3 개의 입력 NAND 게이트를 사용하여 기능을 구축 할 수 있습니다. 그러나이 프리미티브는 단지 1.72의 영역에서 실현 될 수 있는데, 이는 동일한 부울 함수의 개별 표현이 2.65 배 더 많은 영역을 소비 함을 의미합니다.
또한 입력 {AND, NAND, OR, NOR, XOR, XNOR} 게이트 의 영역 ( 여기서 )은 이산 2 입력 게이트를 사용하여 동일한 기능을 구축하는 데 필요한 영역보다 훨씬 작습니다. 또한이 프로세스에 대해 {XOR, XNOR}에 지정된 영역이 다른 게이트에 비해 "대형"이지만 더 적은 영역을 사용하여 동일한 입력 게이트 를 빌드하는 다른 방법이 있습니다.n ≥ 2 nnn≥2n
더 복잡한 프리미티브의 전파 특성은 이산 게이트를 사용하여 얻을 수있는 것보다 훨씬 우수합니다.
이것이 왜 중요한가? 적어도 저에게있어, 일단 가정이 위반되면 결과를 쓸모 없거나 틀리게 만드는 효과를 갖는 일련의 가정에 기초한 복잡성 이론의 결과를 조사하는 데 엄청난 시간을 소비했습니다. 다음은 Steven Cooks 대 .N PPNP
따라서 을 증명하기 위해서는 3-와 같은 특정 -완전한 문제를 해결하는 부울 회로 패밀리의 크기에 대한 초 다항식 하한을 증명하기에 충분합니다. 수능. 1949 년에 Shannon은 거의 모든 부울 함수 에 대해 모든 부울 회로 계산 에 적어도 게이트가 필요 하다는 것을 증명했습니다 . 불행히도, 그의 계산 주장은 문제에 대한 하한을 증명하는 방법에 대한 실마리를 제공하지 않습니다 .P≠NPNPf:{0,1}n→{0,1}f2n/nNP
나는 쿡 스가 궁금해하는 것을 발견했다. Shannons 결과는 모든 에 유효하므로 문제가 비트로 설명 될 수있는 경우 ~ 게이트 에서 만족할 수 있는지 여부를 결정할 수있는 {AND, OR, NOT} 기본 회로가 있어야합니다 (실제 용지는 가능한 모든 기능에 대해 더 큰 상한을 제공하지만 제한적 임). 이것이 우리에게 알려주는 것은 개 이상의 게이트 를 사용하는 것입니다 . 여기서 은 크기의 상한입니다.f:{0,1}n→{0,1}NP{0,1}n2n/nnnNP문제는 필요한 것보다 많은 게이트를 사용하는 것입니다. 더 크지 만 완전한 부울 기준을 사용하면 필요한 게이트 수만 줄어 듭니다. VLSI와 같은 다른 회로 복잡도 모델을 사용하면 "더 나은"결과 범위가 제공됩니다. 궁금한. 그러나 ~ "게이트"(게이트가 단계 / 동작에 느슨하게 사용되는)를 사용 하는 문제에 대한 해결책은 으로 수행된다는 사실을 알고 있습니다. ... 그리고 최적의 방법으로 솔루션을 찾는 방법에는 무한한 방법이 있습니다.NP2n/n
VLSI 구현의 복잡성과 정수 곱셈에 대한 부울 함수의 그래프 표현 에서 OBDD 모델을 사용하여 회로 복잡성을 예측하면 실제 회로 복잡도를 과대 평가하는 것으로 나타났습니다.
두 가지 다른 모델에서 부울 함수 복잡성에 대한 하한 결과가 논의됩니다. 첫 번째는 초대형 집적 회로 (VLSI) 회로에서 칩 면적과 속도 사이의 트레이드 오프를 추상화 한 것입니다. 두 번째는 부울 함수를 상징적으로 표현하고 조작하기위한 데이터 구조로 사용되는 정렬 된 이진 결정 다이어그램 (OBDD) 표현입니다. 하한은 구현 매체로서의 VLSI와 데이터 구조로서의 OBDD의 근본적인 한계를 보여줍니다. 단일 출력 부울 함수의 VLSI 구현에 영역 시간 복잡성이 있음을 증명하는 데 사용 된 동일한 기술 는 함수의 OBDD 표현에 일부 대한 꼭짓점Ω ( c n ) c < 1 A T 2 = O ( n 1 + c )AT2=Ω(n2)Ω(cn)c<1그러나 그 대화는 사실이 아닙니다. OBDD 표현이 지수 크기 인 함수가 있지만 복잡도 의 VLSI 구현이 있습니다 .AT2=O(n1+c)
출력 번호가 0 (최하위)에서 (가장 중요) 인 워드 크기 대한 정수 곱셈기 가 설명됩니다. 출력 또는 출력 나타내는 부울 함수 ( 여기서 )의 경우 다음과 같은 하한이 입증됩니다. 모든 VLSI 구현에는 가 있어야합니다. OBDD 표현에는 꼭짓점 이 있어야합니다 .2 N - 1 I - 1 2 N - I - 1 1 ≤ I ≤ N T (2) = Ω ( I 2 ) Ω ( 1.09 I )n2n−1i−12n−i−11≤i≤nAT2=Ω(i2)Ω(1.09i)