Was bisher geschah Wissensrepräsentation und -verarbeitung in I Zustandsübergangssystemen I Constraint-Systemen I Logiken Repräsentation von Mengen aussagenlogischer Regeln: I Wissensbasis (Kontextwissen): Formelmenge, Problembeschreibung (Wissen über den speziellen Fall): Formel Problemlöseverfahren: Schließen, (evtl. Folgern) I Wissensbasis: Entscheidungstabelle, Problembeschreibung: Faktenmenge Problemlöseverfahren: Auswahl der zur Faktenmenge passenden Regel (Folgern) I Wissensbasis: (binärer) Entscheidungsbaum, Problembeschreibung: Faktenmenge Problemlöseverfahren: Verfolgung des zur Faktenmenge passenden Pfades (Folgern) 111 Allgemeine Entscheidungsbäume Verallgemeinerung binärer Entscheidungsbäume: I Knotenmarkierung: Variable mit mehreren möglichen Werten, I innere Knoten mit beliebig vielen Nachfolgern (mehrere Alternativen möglich) Allgemeiner Entscheidungsbaum: Baum (gerichteter azyklischer Graph) mit den Eigenschaften I eine Wurzel, I jeder Knoten hat genau einen Vorgänger, I Blätter, Knotenmarkierung: Klassen I innere Knoten mit Knotenmarkierung: Merkmal, (Frage nach Merkmalswert) ausgehende Kanten markiert mit möglichen Werten oder Wertebereichen dieses Merkmals (Antworten) Jeder innere Knoten hat so viele Nachfolger wie mögliche Alternativen (Werte oder Wertebereiche) Beispiel: Kino 112 Effektivere Darstellung binärer Entscheidungsbäume Beispiel: ϕ mit Mod(ϕ) = {W0000 , W0011 , W1100 , W1111 } Schrittweise Anwendung (ebenenweise von Blättern zur Wurzel) der folgenden Operationen auf einen Entscheidungsbaum T (oder BDD): Verschmelzung von Knoten , die Wurzeln gleicher Teilbäume sind (Vereinigung der Kantenmarkierungen) Kontraktion von Kanten zwischen einem Knoten und seinem Kind, falls dieses sein einziges Kind ist (Vereinigung der Knotenmarkierungen, gleichzeitige Entscheidung nach mehreren Kriterien) Ergebnis: markierter gerichteter azyklischer Graph (DAG), hat meist weniger Knoten als T 113 Binary Decision Diagrams kompakte Darstellungsform für Boolesche Funktionen Binary Decision Diagram (BDD): markierter gerichteter azyklischer Graph (DAG) mit Markierungen: I innere Knoten: Variablen I Kanten: 0 oder 1 und den folgenden Eigenschaften: I BDD hat eine Wurzel, I jeder innere Knoten hat Grad 2, je einen mit 0 und einen mit 1 markierten Nachfolger I jedes Blatt hat Grad 0 114 ROBDDs Variablenordnung: totale Ordnung > auf Variablenmenge BDD heißt genau dann bzgl. der Variablenordnung > geordnet, falls auf jedem Pfad von der Wurzel zu einem Blatt die Variablen in der Reihenfolge der Variablenordnung vorkommen. Beispiel: ϕ mit Mod(ϕ) = {W0000 , W0011 , W1100 , W1111 } mit Variablenordnungen [x, y , z, u] und [x, z, y , u] BDD heißt genau dann OBDD (ordered binary decision diagram), wenn es bzgl. einer Variablenordnung geordnet ist OBDD heißt genau dann ROBDD (reduced ordered binary decision diagram), wenn keine der Reduktionsoperationen (Knotenverschmelzung, Kantenkontraktion) möglich ist. 115 Eigenschaften von ROBDDs I für jede Variablenordnung kanonische Repräsentation (bis auf Isomorphie eindeutig) I Erfüllbarkeit, Allgemeingültigkeit trivial I Größe ist abhängig von Variablenordnung Beispiel: (u ∧ v ) ∨ (w ∧ x) ∨ (y ∧ z) mit Variablenordnungen [u, v , w, x, y , z] und [u, w, y , v , x, z] I es gibt Formeln, für die jede Variablenreihenfolge ein exponentiell großes ROBDD liefert I Verfahren zur Konstruktion 116 AL(P) → BDD gegeben: Variablenordnung I top-down (Shannon-Expansion, I-NF): IA: falls ϕ Wahrheitswert, direkte BDD-Erzeugung (Blatt) IS: rekursive Erzeugung von BDDs mit I I I Wurzelmarkierung: größte vorkommende Variable x linkes Kind: BDD für Formel ϕ[x 7→ 0] rechtes Kind: BDD für Formel ϕ[x 7→ 1] danach Reduktion Beispiel: (x ∨ y ) ∧ (x ∨ ¬y ∨ z) ∧ ¬z I bottom-up: falls ϕ Wahrheitwertkonstante oder Atom, direkte BDD-Erzeugung Konstruktion des BDD für ϕ aus BDDs für Teilformeln mit Hilfe der BDD-Operationen (für ∨, ∧, ¬) 117 Operationen auf BDDs gegeben: BDDs Bϕ und Bψ I ϕ ∧ ψ: jeden 1-Knoten in Bϕ durch Bψ ersetzen I ϕ ∨ ψ: jeden 0-Knoten in Bϕ durch Bψ ersetzen I ¬ϕ: alle Blattmarkierungen x durch 1 − x ersetzen Ergebnis meist nicht geordnet und nicht reduziert 118 BDD → AL(P) direktes Ablesen I einer Formel in I-NF oder I einer Menge von Regeln Beispiele: Für BDD (Tafel): I I-Formel I Menge aussagenlogischer Regeln 119 Darstellungsformen Boolescher Funktionen Boolesche Funktion f : {0, 1}m → {0, 1}n I Wertetabelle (Wahrheitswerttabelle, Entscheidungstabelle) I aussagenlogische Formel(n) ϕ ∈ AL({x1 , . . . , xn }) I Modellmenge (Urbild f −1 (1)) I I-Formel(n) I binäre Entscheidungsbäume I (RO)BDDs Beispiele: I verschiedene Darstellungen für (p ∧ q) ∨ (r ∧ s) I BDD zur I-Formel I(p, I(q, I(r , t, f), f), t) (Tafel) I zu p → (q ∧ r ) äquivalente I-Formel: I(p, I(q, I(r , t, f), f), t) 120