n 개의 입력 비트의 AND 및 OR를 동시에 계산하는 데 필요한 이진 게이트 수


16

입력 비트 의 AND와 OR를 동시에 계산하는 데 필요한 최소 이진 게이트 수는 얼마입니까? 사소한 상한은 입니다. 나는 이것이 최적이라고 생각하지만 이것을 증명하는 방법은 무엇입니까? 표준 게이트 제거 기술은 입력 변수 중 하나에 상수를 할당하여 출력 중 하나를 트리 비아 리즈하는 것처럼 작동하지 않습니다.n2n−2

이 문제는 Ingo Wegener의 "부울 함수의 복잡성"책에서 약간 다른 형식으로 5.12 연습으로 제시됩니다. " . 제거 방법을 사용하면 크기의 하한 만 증명할 수 있습니다 . 더 큰 하한을 증명해보십시오. "fn(x)=x1…xn∨x¯1…x¯nn+Ω(1)


1
@Ryan : AND 의 OR에 관한 것이 아니라 AND 와 OR 에 관한 질문입니다 . 하지만 사샤의 질문에 대한 답은 모르겠습니다.
— 이토 쓰요시

1
@TsuyoshiIto 고마워, 어떻게 든 잘못 구문 분석했습니다. 그것은 확실히 사소 문제 - 하나 이상의 이점을 얻을 게이트의 다른 종류를 사용하여 상상할 수 . 2n−2
— 라이언 윌리엄스

2
@Sasha, 이전 논문의 일부 에서처럼 SAT 솔버를 작은 예제 ( )에 적용 해 보셨습니까 ? n=4
— 라이언 윌리엄스

2
@Ryan 그렇습니다. 우리가 아는 것은 , C 4 = 5 , C 5 ≤ 7 입니다. 이것은 책의 함수이다 (그것은이다 한 모든 IFF에 N 개의 입력 비트가 동일). 이 같은 성장 이 N - 3 . 크기의 회로 (2) N - (3)을 구성하는 쉽다 : 제 계산 X I ≡ X I + 1 모두 내가 = 1 , ... , N -C3=3C4=5C5≤71n2n−32n−3xi≡xi+1 ( ( n - 1 ) 게이트), 그리고 이들의 연결 ( ( n - 2 ) 게이트)을 계산합니다. i=1,…,n−1(n−1)(n−2)
— Alexander S. Kulikov

1
@Tsuyoshi : 나는이라고 생각 질문 번째 함수 게이트 사샤의 함수 ( F N ( X ) = X 1 ... X N ∨ ˉ X 1 ... ˉ X N )을 구축 할 수 없음 - 1 XNOR 게이트 ( x i , x i + 1에 적용됨 ) 및 n - 2 AND 게이트가 XNOR에 적용됩니다. 2n−3fn(x)=x1…xn∨x¯1…x¯nn−1xi,xi+1n−2
— Marzio De Biasi

답변:


14

이 Blum & Seysen 백서가 유용 할 수 있습니다.

N.Blum, M. Seysen. AND와 NOR의 동시 계산을위한 모든 최적 네트워크의 특성 분석 . 액타 산업 21 : 171-181 (1984)

나는 Blum & Seysen의 방법을 사용하여 2 n - c 하한을 얻을 수 있다고 생각했지만, 그렇지 않은 것 같습니다.x1…xn∨x¯1…x¯n 2n−c


1
Blum 및 Seysen 논문의 공개 PDF 버전이 있습니까?
— Marzio De Biasi

@ 블라디미르, 참조 주셔서 감사합니다! 이 경우 기사를 찾을 때 해당 방법이 적용 가능한지 확인하려고합니다.
— Alexander S. Kulikov

3
@Vladimir, 다시 한번! 실제로,이 논문은 내 질문에 대한 답을 훨씬 더 정확하게 포함합니다. AND와 OR를 동시에 계산하려면 필요 하고이 크기의 회로는 AND와 OR을 독립적으로 계산합니다 (흥미 롭습니다). 이 표시하는 것도 어렵지 않다 그 C ( F의 N ) ≥ C ( N D , O R ) - C ≥ 2 N - C ' . 2n−2C(fn)≥C(AND,OR)−c≥2n−c′
— Alexander S. Kulikov

@Sasha, 예, 나는이 간단한 구성을 놓쳤습니다. 및 용지에, 일을 명확히하기 위해 NOR 기능을 고려, 그래서위한 AND 및 OR 우리가 얻을 수 낮은 하나 개의 게이트를 변경하여 및 행 X 1 ... X N ∨ ˉ X 1 ... ˉ X N --- 2 n − 52n−2x1…xn∨x¯1…x¯n2n−5
— 블라디미르 리시 코프

1
단지 @SashaK를 상기시켜줍니다. 답변이 마음에 들면 투표 수 아래에있는 체크 표시를 클릭하여 "수락"하십시오.
— Suresh Venkat

3

귀하의 질문은 최소 비교 횟수를 사용하여 목록의 최소값과 최대 값을 동시에 계산하는 것에 대한 잘 알려진 질문과 관련이 있습니다. 이 경우 정답은 입니다.3⌊n/2⌋

상한을 입증하는 영리한 알고리즘은 비교 중 하나가 최소값과 최대 값을 모두 계산하기 때문에 동일한 경계 값을 가진 AND / OR 회로로 변환됩니다.

그러나 (적대적 주장에 의해 주어진) 하한은 적어도 모노톤 회로의 경우에 (AND / OR 회로가 최대 / 최소 알고리즘으로 변환되기 때문에) 변환하는 것처럼 보입니다. 이것은 하한이 합니다. 적대적 논증을 분석하여 확실한 하한을 확보 할 수 있습니다.3⌊n/2⌋

The upper bound appears in "Introduction to Algorithms", where you can also find the easy argument showing that max/min comparator circuits are valid iff they work for boolean inputs (use an appropriate threshold). The lower bound can be found e.g. here.


2
Note in Sasha's question, all 2-bit Boolean functions can be used to construct the circuit.
— Ryan Williams

Yes, it is not clear how the lower bound can be translated to the case of all binary functions.
— Alexander S. Kulikov
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.