2.6 Untere und obere Schranken
Wir haben zwei Methoden gesehen, zu einer beliebigen Booleschen Funktion
Theorem 2.6.1 (Shannon). Es gibt
Boolesche Funktionen
Beweis.
Die Beweismethode ist vielleicht neu für Sie, aber in der Komplexitätstheorie und
Kombinatorik
sehr wichtig. Wir stellen uns zwei Zählaufgaben: (1) wie viele Boolesche
Funktion
Die Antwort auf (1) ist einfach: es gibt genau
Behauptung Sei
Beweis.
Wir bauen den Schaltkreis, indem wir erst einmal
- Für jedes der
Gates, was es sein soll.- Ein Input-Gate? Dann müssen wir es
mit einer der
Input-Variablen beschriften. - Ein Not-Gate? Dann müssen wir eines der anderen Gates
als Vorgänger-Gate wählen. Wir haben höchstens
Möglichkeiten. - Ein And-Gate? Dann müssen wir zwei der anderen Gates als
Vorgänger-Gates wählen. Wir haben höchstesn
Möglichkeiten. - Ein Or-Gate? Dann haben wir auch höchstens
Möglichkeiten.
Insgesamt haben wir also
Möglichkeiten. - Ein Input-Gate? Dann müssen wir es
mit einer der
-
Für den gesamten Schaltkreis: welches Gate Output-Gate sein soll. Da haben
wir
Möglichkeiten.
Um die Gesamtzahl der Möglichkeiten abzuschätzen, müssen wir das alles multiplizieren. Wir haben höchstens
Wählen wir nun
Also: es gibt mehr Boolesche Funktionen in
Übungsaufgabe 2.6.1 In Theorem und Beweis sprechen wir die ganze Zeit nur von Schaltkreisen mit Fan-in 2. Was geschieht, wenn wir beliebigen Fan-in erlauben? Wie ändern sich Aussage und Beweis?
Was geschieht, wenn wir weitere Gates, z.B.
Der obige Beweis sagt noch mehr: der Anteil Boolescher Funktionen, bei denen wir mit
Forschungsprojekt. Finde eine konkret
beschreibbare Funktion
Kandidaten für solche Funktionen gibt es viele. Im Prinzip gibt uns jedes Entscheidungsproblem, dass für eine "schwierige" Komplexitätsklasse vollständig ist, einen Kandidaten. Also zum Beispiel Graphenfärbbarkeit.
Entscheidungsproblem 3-Färbbarkeit. Gegeben
ein Graph
so dass
3-Färbbarkeit ist ein zentrales NP-vollständiges Problem. Wir vermuten also, dass es dafür keinen polynomiellen Algorithmus gibt. Wir können es zur Zeit (April 2024) aber nicht beweisen. Dies ist das berühmte Problem P vs NP, von dem Sie sicher schon gehört haben und das als eines der großen offenen Probleme der Mathematik insgesamt gilt. Die Frage, ob NP-Probleme polynomiell große Schaltkreise haben, ist noch offener.
Übungsaufgabe 2.6.2
Formal gesehen ist Graphenfärbbarkeit eine Sprache
Obere Schranken: Die Lupanov-Schranke
Wir haben nun eine Konstruktion, die uns für jede beliebige
Funktion
Theorem 2.6.2 (Lupanov). Für jede Boolesche
Funktion in
Beweis.
Der Beweis fußt auf zwei Kernideen: erstens bauen wir den Schaltkreis nicht
mit AND- und OR- und NOT-Gates, sondern mit AND- und XOR-Gates. Da wir
nach vollendeter Konstruktion jedes XOR-Gates durch einen kleinen Schaltkreis
aus vier AND/OR/NOT-Gates ersetzen können, spielt dies keine Rolle (der Faktor
4 verschwindet in der
Die zweite Idee ist, dass wir anstreben, für
eine bliebige Menge
Übungsaufgabe 2.6.3
Zeigen Sie, dass sich jede Boolesche Funktion
Tipp: beschränken Sie sich zuerst auf Funktionen
Wann sind zwei Polynome gleich? Wenn sie die gleichen Monome haben (mit
gleichen Koeffizienten, aber die spielen hier ja keine Rolle).
Wir würden also sagen, dass
Übungsaufgabe 2.6.4
Zeigen Sie, dass sich jede Funktion
Ein
Schreiben wir
Gates. Allerdings ist das eine ungenaue Rechnung: Selbst wenn alle
Übungsaufgabe 2.6.5 Rechnen Sie genauer! Wenn Sie alle Monome berechnen wollen, brauchen Sie
viele AND-Gates. Finden Sie eine geschlossene Formel für diesen Ausdruck.
Als nächstes wollen wir zeigen, wie man
Lemma 2.6.3 Es gibt einen
Schaltkreis
Beweis.
Die Idee ist: wenn wir
Formal geht es mit Induktion über
Die zweite Kernidee ist, dass Synergien auftreten, dass
wir die Variablen
Die obige Summe beinhaltet also
Lemma. Es gibt einen
Schaltkreis mit Input-Gates
Übungsaufgabe 2.6.6 Beweisen Sie das Lemma. Konstrukieren Sie zuerst wie im vorherigen Lemma einen Schaltkreis, der Ihnen alle Monome berechnet.
Übungsaufgabe 2.6.7
Zeigen Sie, dass die obige Konstruktion verbessert werden kann, indem
Sie einen Schaltkreis mit nur
Tip. Jedes Gate muss also gleichzeitig ein Output-Gate sein.
Wenn wir nun einen Schaltkreis haben, der uns jedes
Für jedes
Wir müssen nun
Ich habe keine explizite Formel, um das für
und wir können gleich aufhören, da der erste Term bereits
Das ist die behauptete Schranke.