Formale Grundlagen für Informatik Zusammenfassung Skript SS2001 Inhalt 1 2 3 4 5 6 7 8 Mengen, Relationen, Funktionen ...........................................................................................................................2 Ordnungsrelationen, Bäume, Boolsche Algebren, Verbände ................................................................................4 Graphen, Anjazenzmatrizen, Hüllen, Petri Netze...................................................................................................4 Logik .......................................................................................................................................................................7 Prädikatenlogik .......................................................................................................................................................9 Deduktion .............................................................................................................................................................10 Tableaux-Beweise ................................................................................................................................................11 Sprachen – Grammatiken – Automaten...............................................................................................................12 productions Formale Grundlagen für Informatik, SS2001 1 Mengen, Relationen, Funktionen Mengen Durchschnittsmenge A ∩ B = {x x ∈ A ∧ x ∈ B} Vereinigungsmenge A ∪ B = {x x ∈ A ∨ x ∈ B} Leere Menge ø Komplementärmenge A c = {x x ∉ A ∧ x ∈ G} Potenzmenge P ( A) = {U U ⊆ A} Menge aller Teilmengen von A Differenzmenge A − B = {x x ∈ A ∧ x ∉ B} Symm. Differenzmenge A ⊕ B = (A ∪ B) − (A ∩ B) Mengen-Gesetze Kartesisches Produkt A × B = {(a, b) a ∈ A ∧ b ∈ B} A2 = A × A binäre Relation R auf A: R ⊆ A × A p. 2/14 ©iezzi.ch productions 10/6/2001 Formale Grundlagen für Informatik, SS2001 Umkehrrelation / Komposition Eigenschaften von Relationen linkstotal / rechtstotal linkseindeutig / rechtseindeutig Äquivalenzrelation reflexiv – symmetrisch – transitiv R ⊆ M ×M (Ordnungsrelation: reflexiv – antisymmetrisch – transitiv) Funktionen - surjektiv (rechtstotal) - injektiv (linkseindeutig) - bijektiv (surjektiv + injektiv & Funktion) Eine Funktion ist eine Relation, die linkstotal und rechtseindeutig ist. linkseindeutig rechtseindeutig < > p. 3/14 ©iezzi.ch productions 10/6/2001 Formale Grundlagen für Informatik, SS2001 Kardinalitäten 2 Ordnungsrelationen, Bäume, Boolsche Algebren, Verbände Ordnungsrelation Ordnungsrelation: z.B. ( X , ≤ ) reflexiv, antisymmetrisch, transitiv strikte Ordnungsrelation: z.B. ( X , < ) asymmetrisch, transitiv partiell geordnete Menge: ( X , ≤ ) kleinstes Element grösstes Element minimales Element maximales Element Infimum (gr. untere Schranke) Supremum (kl. obere Schranke) Trees PreOrder InOrder PostOrder 1mal 2mal 3mal ∀X ∀X ∀X ∀X z= z= ∈ M : ( s, x ) ∈ O ∈ M : ( x, s ) ∈ O ∈ M : ( x, s ) ∈ O ⇒ x = s ∈ M : ( s, x ) ∈ O ⇒ x = s x ∧ y (ggT) x ∨ y (kgV) root Æ l Æ r l Æ root Æ r l Æ r Æ root Boolsche Algebra (Β, Ο, Ι,∨,∧, ¬) Def. Verband falls Infimum (grösste untere Schranke) und Supremum (kleinste obere Schranke) existiert. Jede boolsche Algebra ist ein Verband. ∨ = kgV ∧ = ggT 3 Graphen, Adjazenzmatrizen, Hüllen, Petri Netze Graphen • • • • Einfache Graphen (ungerichtete Einzelkanten) Diagraph (gerichtete Einfachkanten, OHNE SCHLAUFEN ! - irreflexiv) Multigraph (ungerichtete Mehrfachkanten) Dimultigraph (gerichtete Mehrfachkanten) p. 4/14 ©iezzi.ch productions 10/6/2001 Formale Grundlagen für Informatik, SS2001 adjazent / indizent [e: Kante von Knoten x nach y ] x, y indizent zu e e indizent zu x, y x, y adjazent Zyklus (Eigenschaften) • • • Weg mit gleichem Anfangs- u. Endpunkt Mind. Länge 3 Jede Kante max. 1mal erreichbar: Weg von x nach y zusammenhängend: x von y und y von x erreichbar Baum • • • • • Wald zusammenhängender Graph enthält keine Zyklen (wird unzusammenhängend, sobald eine Kante entfernt wird) N = E +1 mind. 1 Knoten mit Grad < 2 planar N > E bipartiter Graph Graph in zwei nicht leere, disjunkte Mengen zerlegbar Kein Paar aus A und kein Paar aus B ist adjazent Matching Bipartiter Graph: Menge von Kanten, die keine gemeinsamen Knoten haben. • • vollständiges Matching: alle Knoten aus A kommen in einer Kante vor perfektes Matching: alle Knoten kommen in einer Kante vor (keine freistehenden Knoten, d.h. A= B) Graphen isomorphe Graphen Graphen, die sich nur in der Benennung unterscheiden bijektive Funktion f: G Æ H vollständige Graphen ohne Schlaufen, n Knoten (Kanten zw. allen Knoten) keine Kanten nur ein einziger Zyklus nur ein einziger Weg ∀u , v ∈ E : (u , v ) ∈ T ⇔ ( f (u ), f (v) ) ∈ ∆ Nn Nullgraph Cn Zyklusgraph Pn Weggraph Flächen in endlichem planaren Graphen V + F = E +1 F = E − V +1 V: vertices (Knoten) EULER Planarität E: nodes (Kanten) 1) nicht planar: 3⋅ N < E + 6 2) nicht planar: 2 ⋅ N < E + 4 und keine Dreiecke 3) nicht planar: nur Knoten vom Grade ≥ 6 p. 5/14 ©iezzi.ch productions 10/6/2001 Formale Grundlagen für Informatik, SS2001 chromatische Zahl kleinste Zahl von Farben, mit denen ein Graph gefärbt werden kann. Scheduling: Färbungsproblem Färben von planarem Graph: ≤ 5 Farben genügen Transitive Hülle (transitive closure) A + A 2 + ... + A n −1 ("+": OR) reflexiv trans. Hülle: Art = I + A + A + ... + A 2 WARSHALL (transitive closure) A0 = A + I a m (r , s ) = a m −1 (r , s ) + a m −1 (r , m ) * a m −1 (m, s ) Gewicht der minimalen Wege einer bestimmten Länge A 2 , A 3 ,... min anstatt "+" + anstatt "*" 2 Æ min( J , A, A ,..., A FLOYD (all shortest paths) n −1 n +1 ) minimale Wege zwischen allen Knoten A0 = A , Hauptdiagonale auf 0 setzen a m (r , s ) = min (a m −1 (r , s ), a m −1 (r , m ) + a m −1 (m, s )) DIJKSTRA (shortest path) min. Wege von einem Startknoten zu allen anderen Knoten priority queue Æ von Punkt aus kürzeste Strecke PRIM (min spanning tree) minimaler Spannbaum priority queue Æ von Baum aus nächster Punkt Eulerscher Weg / Graph Eulerscher Weg: Jede Verbindungskante genau 1mal Eulerscher Graph: geschlossener Eulerscher Weg vorhanden Theoreme: 1) Eulerscher Graph: zusammenhängend und grad(N) = geradzahlig 2) offener Eulerscher Weg: zusammenhängend und ≤ 2 Knoten mit ungeradz. Grad 3) Anz. Knoten mit ungeradz. Grad: gerade p. 6/14 ©iezzi.ch productions 10/6/2001 Formale Grundlagen für Informatik, SS2001 Hamiltonischer Graph Jeder Knoten genau 1mal! Hamiltonischer Graph: geschlossener Hamilt. Weg vorhanden Theroreme: N ≥3 1) hamiltonisch: 2) ∀N : grad ( N ) ≥ N 2 N ≥3 für jedes Paar nicht adjazenter Knoten ist die Summe der Grade ≥ Anz. seiner Knoten Travelling Salesman Suche nach min. Hamilt. Zyklus Petri Netz (S, T, r) : (Stellen, Transitionen, Flussrelationen) markierte Stelle: S mind. Mit einer Marke (Token) belegt aktivierte Transition: jede Eingangsstelle von t markiert 4 Logik atomare Aussagen Deklarative Sätze T / F ¬ Negation (NOT) ∧ Konjunktion (AND) ∨ Disjunktion (OR) logische Konnektoren Æ Implikation ("wenn… dann") (Reihenfolge: Vorrangsregeln) Wahrheitstabellen Konjunkt. Implik. Disjunkt. p q p∧q p→q p∨q T T T T T T F F F T F T F T T F F F T F (P Æ Q): P hinreichend für Q, Q notwendig für P Aussagen erfüllbar, wenn sie durch Belegung mit Wahrheitswerten wahr gemacht werden können widerlegbar, wenn sie durch Belegung mit Wahrheitsw. falsch gemacht werden können Tautologie |= P Kontradiktion logisch kontingent immer wahr immer falsch weder Tautologie noch Kontraktion p. 7/14 ©iezzi.ch productions 10/6/2001 Formale Grundlagen für Informatik, SS2001 logische Äquivalenz P ≡ Q , falls gleiche Wahrheitstabelle Jede ist die logische Konsequenz der andern Implikation Æ Disjunktion P → Q ≡ (¬P ) ∨ Q Konnektoren Wahrheitstabellen für n Aussagen hat 2n Einträge, jeder Eintrag W/F Æ n Aussagen: n 2 2 Wahrheitstabellen n 2 2 Konnektoren Bsp.: 2 Aussagen: 16 Konnektoren Adäquate Menge von Konnektoren: {¬,∨}, {¬,∧} Literale Atomare Aussagen oder negierte atomare Aussagen Konjunktive Normalform D1 ∧ D2 ∧ ... ∧ Dn Di = Li1 ∨ Li 2 ∨ ... ∨ Lim Disjunktive Normalform "Konjunktion von Disjunktionen" K 1 ∨ K 2 ∨ ... ∨ K n K i = Li1 ∧ Li 2 ∧ ... ∧ Lim Umwandlung in Normalform 1) Elimination von Æ ( →≡ ¬ ∨ ) 2) Verteilung von ¬ auf atomare Ausdrücke (deMorgan) 3) distributive Regel Regeln ⊥ T Kontradiktion ⊥ R∧ ¬R≡ ⊥ ⊥ ∧R≡ ⊥ ⊥ ∨R≡R p. 8/14 Tautologie T R∨ ¬R≡T T∨R≡T T∧R≡R ©iezzi.ch productions 10/6/2001 Formale Grundlagen für Informatik, SS2001 5 Prädikatenlogik Prädikatenlogik Die Sonne scheint: scheint(Sonne) Prädikat(Term) "Alle Menschen sind sterblich" ∀X ( mensch( X ) → sterblich( X )) "Es gibt sterbliche Menschen" ∃X (mensch( X ) ∧ sterblich( X )) Skopus: Gültigkeitsbereich gebunden: im Skopus eines Quantors frei: nicht gebunden geschlossen: Ausdruck ohne freie Variabel ∀X∃Y ≠ ∃Y∀X ∀X∃Y (mensch( X ) → (mensch(Y ) ∧ liebt ( X , Y ) )) Jeder Mensch liebt einen oder mehrere Menschen. ∃Y∀X (mensch( X ) → (mensch(Y ) ∧ liebt ( X , Y ) )) Es gibt ein oder mehrere Mensch, der von allen Menschen geliebt wird. Umformung quantifizierter Ausdrücke Substitution (P) {X/T} X Variable, T Term, P Ausdruck Normalform: Pränexform Q1 X 1 (Q2 X 2 ...(Qn X n ( A))...) Semantik Ausdrücke erhalten ihren Wahrheitswert durch eine Interpretation I und eine Variablenbelegung V in einem Diskursbereich D I ⋅V (X ) = V (X )∈ D |=I P[V] |≠I P[V] P wird von I und V erfüllt, d.h. bezügl. I und V wahr P wird von I und V nicht erfüllt (Bsp. 5-22) p. 9/14 ©iezzi.ch productions 10/6/2001 Formale Grundlagen für Informatik, SS2001 Modelle Eine Interpretation I, die eine Menge von Ausdrücken M für alle Variabelzuordnungen wahr macht, heisst ein Modell von M erfüllbar widerlegbar tautologisch / gültig inkonsistent mind. 1 Modell mind. 1 I, die kein Modell ist jede I ist ein Modell kein Modell Es gibt unendlich viele Modelle zu einer Menge von Ausdrücken. Meist interessiert jedoch nur das intendierte Modell ("ein spezifisches") 6 Deduktion Deduktion Aussagenlogik: log. Konsequenz A |= T, wenn jede Zuordnung von Wahrheitswerten, die A wahr macht, auch T wahr macht Prädikatenlogik: log. Konsequenz A |= T, wenn jedes Modell der Menge A auch ein Modell der Menge T ist. "herleitbar" A |– T A Axiome, T Theoreme herleitbar; Beweis: effizient, zielgerichtet Deduktionssystem korrekt vollständig A |– T Æ A |= T A |= T Æ A |– T Entscheidbarkeit Aussagenlogik: entscheidbar Prädik.logik: semi-entscheidbar (wenn A|= T, dann unter Umständen kein Beweis) KLAUSELFORM [konjunkt. Normalform] D1 ∧ D2 ∧ ... ∧ Dn Di = Li1 ∨ Li 2 ∨ ... ∨ Lim 1) 2) 3) 4) Di : Klauseln, Lij : Literale Elimination von Æ Verteilung von ¬ auf atomare Ausdrücke (deMorgan) Umwandlung in Konj. von Disjunktionen Darstellung als Menge von Klauseln Klausel: NÆP (Konj. der neg. Literale impliziert die Disjunktion der pos. Lit.) modus ponens modus tollens leere Klausel: Widerspruch! {} Æ Klauselmenge M ist inkonsistent p. 10/14 ©iezzi.ch productions 10/6/2001 Formale Grundlagen für Informatik, SS2001 Deduktion mit Resolution Beweis durch Widerspruch M |– P genau dann, wenn M ∪ {¬P} inkonsistent ist. Resolution in Aussagenlogik Korrektheit falls K aus M durch Resolution abgeleitet werden kann, dann M |= K Korollar falls M |– {}, dann M inkonsistent Vollständigkeit bzgl. Refutation Resolution in Prädikatenlogik Umwandlung in Klauselform: 1) Æ eliminieren 2) Verteilung von ¬ auf atomare Ausdrücke (deMorgan) 3) Variabeln umbenennen, damit nur je 1mal quantifiziert 4) ∃ eliminieren • ∃X ( p ( X ) ) → p ( a ) Konstante • ∀X (∃Y ( p ( X , Y ) )) → ∀X ( p ( X , f ( X )) ) Funkt. von X 5) ∀ eliminieren 6) Konj. Normalform 7) Menge von Klauseln 8) Variabeln umbenennen Substitution, Unifikator Resolution mit Variabeln: Substitution: {X/a} Variable/Term (aus W von X, hier: Konstante) Unifikator: [L1]s = [L2]s s Unifikator von L1, L2 mgu most-general-unificator Bsp: Horn-Klauseln [p(a,Y,Z)] {X/a, Y/b} ≡ [p(X,b,Z)] {X/a, Y/b} ≡ p(a,b,Z) definite Klauseln enthalten genau 1 pos. Literal H ← B1 , B2 ,..., Bn Kopf Körper Klausel heisst Regel, wenn n>0 Klausel heisst Fakt, wenn n=0 (nur 1 pos. Literal und nix mehr) definite Zielklausel nur neg. Literale 7 Tableaux-Beweise (nicht Prüfungsrelevant) p. 11/14 ©iezzi.ch productions 10/6/2001 Formale Grundlagen für Informatik, SS2001 8 Sprachen – Grammatiken – Automaten Wörter Menge aller Wörter: A + = A* − {ε } A* = {a1 a 2 ...a n | ai ∈ A} ∪ {ε } un = uuu…u u0 = ε Grammatik G = (N,T,S,R) N Nichtterminalsymbole T Terminalsymbole S ∈ N Startsymbol R Menge von Regeln R ⊆ ( N ∪ T ) + x( N ∪ T ) * Regeln Chomsky linksmaximal / rechtsmaximal Linksableitung / Rechtsableitung Typ 0 Sprache Regeln Phrasenstrukturgramm (keine Einschränkungen) Bedingung: |LHS| < |RHS| 1 Kontextsensitive Gramm 2 Kontextfreie Gramm N Æ RHS Reguläre Gramm. NÆT N Æ NT (links-regulär) N Æ TN (rechts-regulär) NÆ ε 3 Reguläre Sprachen (Typ 3) Automaten linkslinear rechtslinear linksregulär rechtsregulär NÆT NÆT NÆT NÆT uNv Æ uRHSv uN Æ uRHS Nv Æ RHSv N Æ NT N Æ TN N Æ NT N Æ TN NÆ NÆ ε ε - endlich viele Zustände (Anfangs- / Endzustände) - kann Speicher haben deterministisch: Folgezustand eindeutig. t(z,a) für jedes Paar (z,a) genau 1 Element nichtdeterministisch: mehrere Folgezustände M = (Z,A,z0,t) Z endliche Menge von Zuständen A endl. Eingabealphabet Z0 ∈ Z Anfangszustand t Zustandsübergangsfunktionen p. 12/14 ©iezzi.ch productions 10/6/2001 Formale Grundlagen für Informatik, SS2001 Endlicher Automat M = (Z,A,z0,t,E) E Endzustände Äquivalent, wenn sie dieselbe Sprache akzeptieren Einfachster äquivalenter Automat: Æ Determinierung Æ Vereinfachung (nicht erreichbare Zustände entfernen) Æ Reduzierung (keine äquivalenten Zustände mehr. Aufsplittung in Äquivalenzklassen) MOORE Automaten M = (Z,E,z0,t,A,w) a z0 | 0 z1 | 1 Ausgabefunktion w, die vom Zustand abhängt MEALEY Automaten M = (Z,E,z0,t,A,w) z0 a|1 z1 Ausgabefunktion w, die vom zuletzt gelesenen Eingabewert abhängt kontextfreie Sprachen (Typ 2) Kontextfreie Gramm Chomsky Normalform Greibach Normalform NÆR NÆT NÆT N Æ TNN N Æ NN N Æ NT Reduzierte Grammatik Kellerautomaten (Stack) M = (Z,A,K,z0,#,E,t) Z Zustände A Eingabealphabet K Kelleralphabet z0 Anfangszustand # Anfangskellerzeichen E Endzustand t Zustandsübergangsfunktionen t(z,a,k) Akzeptanz: - akzeptiert (E erreicht + Keller leer) - zustandsakzeptiert (E erreicht) - kellerakzeptiert (Keller leer) Palindrome: OTTO, ANNA, … Grammatik (Alphabet {a,b,$}): S Æ aSa | bSb | $ Mehrdeutigkeit für dasselbe Wort w gibt es verschiedene Syntaxbäume z.B. S Æ Ac Æ abc S Æ aB Æ abc p. 13/14 ©iezzi.ch productions 10/6/2001 Formale Grundlagen für Informatik, SS2001 (Extended) Backus Naur Form Kontextfreie Gramm. Zus.fass. Optionale Elemente Wiederholungen Kontextsensitive Sprachen (Typ 1) Kontextsensitive Gramm. |LHS| ≤ |RHS| RHS ≠ ε Kuroda Normalform NÆT NÆN N Æ NN NN Æ NN Rekursiv aufzählbare Sprachen (Typ 0) Turingmaschinen A Æ R1 | R2 | … | Rn A Æ R1[O]R2 A Æ R1{W}R2 Allg. Gramm. beliebige Regeln Sparierte Gramm. NÆT NÆ ε N1 N2…Nn Æ ε N1 N2…Nn Æ Nn+1 Nn+2…Nn+m Normale Gramm Reduktionsregel N Æ ε Terminierungsregel NÆT Expansionsregel N Æ NN Doppelsubstitution NN Æ NN M = (Z,A,B,t,z0,#,E) p. 14/14 ©iezzi.ch productions 10/6/2001