Formale Grundlagen für Informatik Zusammenfassung

Werbung
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
Herunterladen