Formale Systeme Prof. Dr. Bernhard Beckert WS / KIT INSTITUT FÜR THEORETISCHE INFORMATIK KIT University of the State of Baden-Württemberg and National Large-scale Research Center of the Helmholtz Association
Shannon Formeln Shannon Formeln sind aussagenlogische Formeln, die aufgebaut sind aus dem dreistelligen Operator sh den Konstanten und Aussagevariablen P,..., P n,... Der Wahrheitswerteverlauf von sh wird gegeben durch { P falls P sh(p, P, P ) = = P falls P = oder in Tabellenform: P P P sh(p, P, P ) Prof. Dr. Bernhard Beckert Formale Systeme WS / /8
Eigenschaften des sh-operators sh(p, P, P ) ( P P ) (P P ) sh(, P, P ) P sh(, P, P ) P sh(p,, ) P sh(p,, ) P sh(p, P, P ) P sh(sh(p, P, P ), P 4, P 5 ) sh(p, sh(p, P 4, P 5 ), sh(p, P 4, P 5 )) A sh(p, A P=, A P= ) sh(a, B, C) sh(a, B, C) Prof. Dr. Bernhard Beckert Formale Systeme WS / /8
Normierte Shannon Formeln Wir fixieren eine Ordnung auf der Menge der Aussagevariablen, etwa die durch die Ordnung der Indizes gegebene. Definition Die Konstanten, sind normierte sh-formeln. sh(p i, A, B) ist eine normierte sh-formel wenn A und B normierte sh-formeln sind und für jede in A oder B vorkommende Aussagenvariable P j gilt j > i. Theorem Zu jeder aussagenlogischen Formel A gibt es eine äquivalente normierte sh-formel B. Prof. Dr. Bernhard Beckert Formale Systeme WS / 4/8
Shannon Graphen Definition Ein sh-graph ist ein gerichteter, binärer, zusammenhängender Graph. Jedem nichtterminalen Knoten v ist eine natürliche Zahl index(v) zugeordnet. Von jedem nichtterminalen Knoten v gehen zwei Kanten aus. Eine davon ist mit, die andere mit gekennzeichnet. Jedem terminalen Knoten v ist eine der Zahlen oder zugeordnet, bezeichnet mit wert(v). Ist der nichtterminale Knoten w ein unmittelbarer Nachfolger von v, dann gilt index(v) < index(w). Es gibt genau einen Wurzelknoten. Prof. Dr. Bernhard Beckert Formale Systeme WS / 5/8
Beispiele von Shannon Graphen i i Prof. Dr. Bernhard Beckert Formale Systeme WS / 6/8
Shannon Graphen vs normierte Shannon Formeln Es gibt eine offensichtliche Korrespondenz zwischen Shannon Graphen und normierten Shannon Formeln: n-te Variable entspricht Knoten mit Index n Von jetzt an betrachten wir nur noch Shannon Graphen. Prof. Dr. Bernhard Beckert Formale Systeme WS / 7/8
Shannon Graphen und Boolesche Funktionen Jedem sh-graphen G kann man eine m-stellige Boolesche Funktion f G zuordnen, wobei m die Anzahl der in G vorkommenden verschiedenen Indizes i,..., i m ist. Wir fassen f G als eine Funktion mit den Eingabevariabeln P i,..., P im auf und bestimmen den Funktionswert f G (P i,..., P im ), indem wir an der Wurzel von G beginnend einen Pfad durch G wählen. Am Knoten v folgen wir der Kante, wenn die Eingabevariable P index(v) den Wert hat, sonst der Kante. Der Wert des terminalen Knotens ist dann der gesuchte Funktionswert. Prof. Dr. Bernhard Beckert Formale Systeme WS / 8/8
Shannongraph als Boolesche Funktion G: f G (,, ) =? Prof. Dr. Bernhard Beckert Formale Systeme WS / 9/8
Shannongraph als Boolesche Funktion G: f G (,, ) =? Prof. Dr. Bernhard Beckert Formale Systeme WS / /8
Reduzierte Shannon Graphen Definition Ein sh-graph heißt reduziert, wenn es keine zwei Knoten v und w (v w) gibt, so daß der in v verwurzelte Teilgraph G v mit dem in w verwurzelten Teilgraph G w isomorph ist. es keinen Knoten v gibt, so dass die beiden von v ausgehenden Kanten zum selben Nachfolgerknoten führen. Ein reduzierter Shannongraph heißt auch ordered binary decision diagram (OBDD). Prof. Dr. Bernhard Beckert Formale Systeme WS / /8
Ein Beispiel Prof. Dr. Bernhard Beckert Formale Systeme WS / /8
Doppelte Kanten Prof. Dr. Bernhard Beckert Formale Systeme WS / /8
Elimination doppelter Kanten Prof. Dr. Bernhard Beckert Formale Systeme WS / 4/8
Isomorphe Teilgraphen Prof. Dr. Bernhard Beckert Formale Systeme WS / 5/8
Isomorphe Teilgraphen Prof. Dr. Bernhard Beckert Formale Systeme WS / 6/8
Reduktion isomorpher Teilgraphen Prof. Dr. Bernhard Beckert Formale Systeme WS / 7/8
Weitere Beispiele 4 Prof. Dr. Bernhard Beckert Formale Systeme WS / 8/8
Isomorphie von Shannon Graphen Definition Seien zwei sh-graphen H, G gegeben. Ihre Knotenmengen seien V, V. H, G heißen zueinander isomorph (H = G) genau dann, wenn es eine bijektive Abbildung π von V nach V gibt mit: index(k) = index(π(k)) für jeden Nichtterminalknoten k V wert(k) = wert(π(k)) für jeden Terminalknoten k V Für jeden Nichtterminalknoten k V, dessen -Kante/-Kante zu dem Knoten k /k führt, gilt: die -Kante von π(k) führt zu π(k ), die -Kante zu π(k ). Prof. Dr. Bernhard Beckert Formale Systeme WS / 9/8
Einfachstes Beipiel isomorpher Shannon Graphen Prof. Dr. Bernhard Beckert Formale Systeme WS / /8
Komplexeres Beipiel isomorpher Shannon Graphen Prof. Dr. Bernhard Beckert Formale Systeme WS / /8
Erste Reduktion Prof. Dr. Bernhard Beckert Formale Systeme WS / /8
Zweite Reduktion Prof. Dr. Bernhard Beckert Formale Systeme WS / /8
Letzte Reduktion Prof. Dr. Bernhard Beckert Formale Systeme WS / 4/8
Ein Kriterium für Reduziertheit Theorem Sei G ein Shannongraph, so daß für jedes Paar von Knoten v, w gilt wenn dann die -Nachfolger von v und w gleich sind und die -Nachfolger von v und w gleich sind v = w Dann erfüllt G die Bedingung () aus der Definition reduzierter Shannongraphen, d.h. für jedes Paar x, y von Knoten gilt wenn dann G x isomorph zu G y ist x = y Prof. Dr. Bernhard Beckert Formale Systeme WS / 5/8
Eindeutigkeit reduzierter Shannon Graphen Theorem Sind G, H reduzierte sh-graphen zu Σ = {P,..., P n }, dann gilt f G = f H G = H. (Zu jeder Booleschen Funktion f gibt es bis auf Isomorphie genau einen reduzierten sh-graphen H mit f = f H ). Prof. Dr. Bernhard Beckert Formale Systeme WS / 6/8
Abhängigkeit von der Variablenordnung Zwei BDDs für (x y) (x y ) x y y x y y Ordnung: x < y < x < y x x x y y y y y y Ordnung: x < x < y < y Prof. Dr. Bernhard Beckert Formale Systeme WS / 7/8
Eine harte Nuß [BDD für Multiplikationen] X enthalte k Variablen {x,..., x k, y,..., y k } x = x... x k und y = y... y k bezeichnen k-stellige Binärzahlen. für i < k bezeichne Mult i die boolsche Funktion, die das i-te Bit des Produktes von x mit y beschreibt. Theorem Für jede Ordnung < der Variablen in X gibt es einen Index i < k, so dass der BDD B Multi,< mindestens k/8 Knoten besitzt. Prof. Dr. Bernhard Beckert Formale Systeme WS / 8/8