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ść.
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. ”
cc.complexity-theory
lower-bounds
circuit-complexity
Alexander S. Kulikov
źródło
źródło
Odpowiedzi:
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
źródło
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 .
źródło