PARITY를 계산하는 회로의 최소 크기는 얼마입니까?


21

입력 변수로부터 PARITY를 계산하는 모든 팬인 2 AND-OR-NOT 회로는 크기가 이며 이는 예리한 결과입니다. 크기를 AND 및 OR 게이트 수로 정의합니다. 증거는 게이트 제거에 의한 것이며 임의의 팬인을 허용하면 실패하는 것 같습니다. 이 경우로 알려진 것은 무엇입니까?3(n1)

구체적으로, 더 큰 팬인이 도움이 될 때, 예를 들어 미만의 게이트 가 필요한 경우 누구든지 예를 알고 있습니까?3(n1)

요금부터 10 월 18 일 MARZIO 찾는 것으로 나타났다 , 심지어 게이트 PARITY CNF의 형태를 사용하여도 충분. 이것은 일반 대해 의 경계를 의미합니다 . 더 잘할 수 있습니까?5 5n=35N52n2n


이 문서 는 관련 있을 수 있습니다. 그러나 기본은 AND, OR보다 훨씬 큽니다.
Stasys

다음 답변은 귀하의 질문과 관련이 있습니다. cstheory.stackexchange.com/questions/3624/…
헤르만 그루버

1
및 상한 모두에서 실제로 변수가 아닌 모든 곳에서 부정을 무시하고 있습니까? 53n52n
에밀 예라 벡은 모니카 지원

1
게이트를 긍정적으로 또는 부정적으로 사용하는 경우 게이트를 복제하지 않고 어떻게합니까?
에밀 예라 벡은 모니카 지원

1
@Harry : k-1 팬인 게이트가 필요하지만 깊이 배치 할 수 있습니다 . 이 질문은 크기가 아니라 깊이에 관한 것입니다! logk
domotorp

답변:


10

2.33n + C 게이트 만 사용하여 패리티를 계산할 수 있습니다. 구성은 매우 간단 하며이 기사에서 제공됩니다.

http://link.springer.com/article/10.3103/S0027132215050083

다음은 12 개의 게이트 만 사용하는 6 개의 변수 패리티에 대한 회로의 예입니다 (각 게이트는 AND 게이트이며 게이트 입력 근처의 원은이 입력이 반전됨을 의미합니다). DNF 블록 (Marzio의 상한과 같이)을 쌓아 만든 6 개의 변수 패리티 회로는 13 개의 게이트로 구성됩니다.

n = 2,3,4,5,6의 최적 회로 크기가 3,5,8,10,12인지 확인했습니다. 이 값은 또한 2.33n 상한을 제공하는 회로의 크기입니다. 2.33n이 모든 n에 대한 최적 회로의 크기인지 여전히 알 수 없습니다. 더구나, 나는 7 변수의 패리티에 대한 최적 회로의 크기를 모른다 (14와 15의 두 가지 가능한 값이있다). 6 개 변수의 패티를위한 회로


10

이 게이트 제거 하한은 Marzio의 상한과 일치하지 않지만 시작입니다.

제안 : 변수의 모든 무한 팬인 AND / OR / NOT 회로 컴퓨팅 패리티 에는 최소 AND 및 OR 게이트가 포함됩니다.2 n 1n22n1

편의상 유일한 게이트는 AND 게이트 인 모델을 사용하지만 부정 와이어는 허용합니다. 에는 게이트가 필요 하다는 것을 쉽게 알 수 있으므로, 가 변수 에 대한 최소 크기 회로 컴퓨팅 패리티 라면 적어도 하나를 죽이는 하나의 변수에 대한 제한을 찾을 수 있음 을 보여주는 것으로 충분합니다 두 개의 문.n = 2 C n > 23n=2Cn>2

일부 변수 에 적어도 두 개의 양의 부모가있는 경우 (즉, 부정되지 않은 전선으로 두 개의 다른 게이트에 연결됨)이 변수를 설정 하면 부모가 종료되고 완료됩니다. 부모가 두 명인 경우도 마찬가지입니다. 따라서 각 변수에는 최대 하나의 양수와 최대 하나의 음의 부모가 있다고 가정 할 수 있습니다. 0xi0

하자 회로의 최하위 레벨 게이트 될. 일반성을 잃지 않으면 서 입니다. 설정 되고 강제 종료 합니다. 제한된 회로 여전히 패리티를 계산하며, 특히 의존 하므로 는 음의 부모 . 공지 사항에 있음을 , 더 에 따라 달라집니다 없습니다 . 할당이 있다면 ( 위에 )aa=x1x2x1=0a=0Cx2x2b=¬x2c1crCcjx2x3,,xnx1=0cjfalse이면이 할당에 의해 제한되는 회로는 일정하며 또는 계산한다는 사실과 상반 됩니다. 따라서 에서 모든 상수 계산 하고 계산 하므로 와 함께 제거 할 수 있습니다 .x2¬x2c j 1 b ¬ x 2 aCcj1b¬x2a

편집 : 유리 Kombarov의 논문에서 배운대로,이 하한뿐만 아니라 Marzio De Biasi의 대답에 의해 암시 된 상한은 원래 증명되었습니다.52n152n2

[1] Ingo Wegener, 무한 팬인, 무한 깊이 회로에서 패리티 함수의 복잡성 , Theorytical Computer Science 85 (1991), no. 1, 155–170 쪽. http://dx.doi.org/10.1016/0304-3975(91)90052-4


예, 문제는 2 개의 변수를 수정하여 5 개의 게이트를 제거 할 수 있는지입니다.
domotorp

n

8

내 의견을 확장합니다.

kk1Ii2gi

|C|+i(Ii2)3(n1)

3(n1)(x1,x2,x3)

여기에 이미지 설명을 입력하십시오


실제로 n = 3의 경우 CNF에는 5 개의 게이트 만 있습니다! 나는 일반적으로 더 잘 할 수 있는지 궁금합니다.
domotorp

나는 그것에 대해 너무 많이 생각하지 않았지만, 당신은 분명히 위의 회로를 병행하여 병렬로 사용할 수 있으며, 예를 들어 24 개 대신 20 개의 게이트만을 사용하는 9 개의 변수에 대한 PARITY 회로를 얻을 수있다
Marzio De Biasi

나는하고 내 질문을 업데이트했습니다.
domotorp

2

이것은 우리가 경계를 증명하려고 할 때 Emil의 주장이 무엇을 나타내는지를 보여주는 확장 된 주석 입니다. 여기서 우리는 하나의 변수로 3 개의 게이트를 제거하거나 2 개의 변수로 5 개의 게이트를 제거 할 수 있습니다.5n/2

부모가 3 개인 리터럴이있는 경우 하나의 변수로 3 개를 모두 제거 할 수 있습니다.

두 개의 리터럴이 두 개의 다른 게이트에서 함께 발생하면 Emil의 답변에서 주요 논점을 적용하여 하나의 변수로 세 개의 게이트를 다시 제거 할 수 있습니다.

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