Liczba bramek binarnych potrzebnych do obliczenia AND i OR n bitów wejściowych jednocześnie


16

Jaka jest minimalna liczba bramek binarnych potrzebnych do jednoczesnego obliczenia AND i OR bitów wejściowych? Trywialna górna granica wynosi 2 n - 2 . Uważam, że jest to optymalne, ale jak to udowodnić? Nie działa tutaj standardowa technika eliminacji bramki, ponieważ poprzez przypisanie stałej do dowolnej zmiennej wejściowej trywializuje jedno z wyjść.n2)n-2)

Problem podano również jako ćwiczenie 5.12 w książce „Złożoność funkcji boolowskich” autorstwa Ingo Wegenera w nieco innej formie: „Niech . Przez metodą eliminacji można udowodnić tylko dolną granicę wielkości n + Ω ( 1 ) . Spróbuj udowodnić większe dolne granice. ”fn(x)=x1…xn∨x¯1…x¯nn+Ω(1)


1
@Ryan: Nie chodzi o I od OR ale o I i OR. Jednak nie znam odpowiedzi na pytanie Sashy.
— Tsuyoshi Ito,

1
@TsuyoshiIto Dzięki, jakoś udało mi się to parsować niepoprawnie. Jest to zdecydowanie nietrywialny problem - można sobie wyobrazić użycie innego rodzaju bramek, aby uzyskać przewagę nad . 2n−2)
— Ryan Williams

2
@Sasha, czy próbowałeś zastosować solwery SAT do małych przykładów (jak ), tak jak w niektórych swoich wcześniejszych artykułach? n=4
— Ryan Williams

2
@ Ryan Tak, jasne. Wiemy, że , C 4 = 5 , C 5 ≤ 7 . Dotyczy to funkcji z książki (wynosi 1 iff, wszystkie n bitów wejściowych są równe). Rośnie jak 2 n - 3 . A obwód o wielkości 2 n - 3 jest łatwy do zbudowania: najpierw obliczyć x i ≡ x i + 1 dla wszystkich i = 1 , … , n -C3=3C4=5C5≤71n2n−32n−3xi≡xi+1 ( ( n - 1 ) bramek), a następnie oblicz ich koniunkcję ( ( n - 2 ) bramek). i=1,…,n−1(n−1)(n−2)
— Alexander S. Kulikov,

1
@Tsuyoshi: Myślę, że funkcja bramek Sashy jest drugą funkcją pytania ( f n ( x ) = x 1 … x n ∨ ˉ x 1 … ˉ x n ), którą można zbudować za pomocą n - 1 bramki XNOR (zastosowane do x i , x i + 1 ) oraz n - 2 ORAZ bramki zastosowane do XNOR. 2n−3fn(x)=x1…xn∨x¯1…x¯nn−1xi,xi+1n−2
— Marzio De Biasi,

Odpowiedzi:


14

Ten artykuł Blum & Seysen może być przydatny:

N.Blum, M. Seysen. Charakterystyka wszystkich sieci optymalnych do jednoczesnego obliczania AND i NOR . Acta Inf. 21: 171–181 (1984)

Myślałem, że dla 2 n - c dolną granicę można uzyskać metodami Bluma i Seysena, ale wydaje się, że tak nie jest.x1…xn∨x¯1…x¯n 2n−c


1
Czy jest dostępna publiczna wersja pdf artykułu Blum i Seysen?
— Marzio De Biasi,

@Vladimir, dziękuję za odniesienie! Postaram się sprawdzić, czy ich metody mają zastosowanie w tym przypadku, gdy znajdę artykuł.
— Alexander S. Kulikov,

3
@Vladimir, dzięki jeszcze raz! W rzeczywistości ten artykuł zawiera dokładnie odpowiedź na moje pytanie i jeszcze bardziej: mówi, że do obliczenia AND i OR jednocześnie potrzebne są i każdy obwód tego rozmiaru oblicza AND i OR niezależnie (to ciekawe!). Nie jest również trudne do wykazania, że C ( f n ) ≥ C ( A N D , O R ) - c ≥ 2 n - c ' . 2n−2C(fn)≥C(AND,OR)−c≥2n−c′
— Alexander S. Kulikov,

@Sasha, tak, brakowało mi tej prostej konstrukcji. Aby to wyjaśnić, w artykule rozważono funkcje AND i NOR, więc dla AND i OR otrzymujemy dolną granicę poprzez zmianę jednej bramki i dla x 1 … x n ∨ ˉ x 1 … ˉ x n --- 2 n - 52n−2x1…xn∨x¯1…x¯n2n−5
— Vladimir Lysikov,

1
Przypomnienie @SashaK. jeśli podoba Ci się odpowiedź, „zaakceptuj” ją, klikając znacznik pod liczbą głosów.
— Suresh Venkat,

3

Twoje pytanie wiąże się ze znanym pytaniem dotyczącym obliczania minimalnej i maksymalnej liczby list jednocześnie przy użyciu minimalnej liczby porównań. W takim przypadku odpowiedź wynosi .3⌊n/2⌋

Sprytny algorytm potwierdzający górną granicę przekłada się na obwód AND / OR z tą samą granicą, którą otrzymujesz, ponieważ jedno z porównań oblicza zarówno minimum, jak i maksimum.

Jednak dolna granica (podana przez argument przeciwnika) wydaje się tłumaczyć, przynajmniej w przypadku obwodów monotonicznych (ponieważ obwód AND / OR przekłada się na algorytm max / min). Oznaczałoby to dolną granicę . Być może można uzyskać ścisłą dolną granicę, analizując argument przeciwnika.3⌊n/2⌋

Górna granica pojawia się w „Wprowadzenie do algorytmów”, gdzie można również znaleźć prosty argument pokazujący, że obwody komparatora maks./min są prawidłowe, jeśli działają dla wejść logicznych (należy zastosować odpowiedni próg). Dolną granicę można znaleźć np . Tutaj .


2
Zauważ, że w pytaniu Sashy wszystkie 2-bitowe funkcje boolowskie mogą być użyte do budowy obwodu.
— Ryan Williams,

Tak, nie jest jasne, w jaki sposób dolną granicę można przełożyć na przypadek wszystkich funkcji binarnych.
— Alexander S. Kulikov,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.