Berechnen eingeschränkt Schwellwertschalter ( ) ist das Sortieren Wesentlichen Eingangsbits.∑ixi≥k
Wenn Sie die Bits sortieren können, ist es einfach, das Ergebnis mit zu vergleichen und den eingeschränkten Schwellenwert zu berechnen.k
Angenommen, wir haben Schaltkreise zur Berechnung des eingeschränkten Schwellenwerts. Wir können eine parallele Suche durchführen, um die Anzahl von Einsen in der Eingabe zu finden und die sortierte Liste auszugeben.
Diese erhalten die Schaltkreistiefe. Wenn Sie sich also eine neue -Schaltung einfallen lassen , um den eingeschränkten Schwellenwert zu berechnen, erhält man eine Sortierschaltung für die Tiefe O ( lg n ) . Wenn wir also mit einem einfachen Argument kommen für Mehrheit zeigt , ist in N C 1
Sie haben ein einfaches Tiefen- gefunden O ( lg n ) Sortierschaltung (außer dem auf AKS Sortier Netzwerk basiert eins).NC1O(lgn)NC1O(lgn)
Es ist zu beachten, dass es einfach ist, den eingeschränkten Schwellenwert mit Mehrheit zu implementieren, indem dem Mehrheitsgatter neue 1- und 0-Eingänge hinzugefügt werden.
Zuvor behauptete diese Antwort, dass dies unter Verwendung von Dividieren und Erobern und der Tatsache, dass die binäre Addition in . Dies zeigt nur, dass die Mehrheit in A C 1 und N C 2 liegt, da wir unbegrenzte Fan-In-Gates in der binären Addition haben, wenn wir dies direkt tun. Es kann jedoch mit etwas mehr Arbeit getan werden.AC0AC1NC2
Wir müssen den Trick Drei für Zwei verwenden , um in der Tiefe zu bleiben .O(lgn)
Drei-für-Zwei-Binäraddition:
Bei drei Binärzahlen können wir zwei Binärzahlen x , y so berechnen , dass
a + b + c = x + y .a,b,cx,ya+b+c=x+y
Eine andere Methode ist die Verwendung der vorzeichenbehafteten Stellendarstellung von ganzen Zahlen, wobei die Addition in Tiefe und Fan-In 2 erfolgen kann Überträge verbreiten sich nicht).O(1)
Siehe Abschnitt 4 und Übung 4 in