Einführung in die Theoretische Informatik

Werbung
Einführung in die Theoretische Informatik
Christina Kohl
Alexander Maringele
Georg Moser
Michael Schaper
Manuel Schneckenreither
Institut für Informatik @ UIBK
Wintersemester 2015
Zusammenfassung
Zusammenfassung der letzten LVA
Definition
Eine Grammatik G ist ein Quadrupel G = (V , Σ, R, S), wobei
1
V eine endliche Menge von Variablen (oder Nichtterminale)
2
Σ ein Alphabet, die Terminale, V ∩ Σ = ∅
3
R eine endliche Menge von Regeln
4
S ∈ V das Startsymbol von G
Definition
Eine formale Sprache L heißt
• beschränkt wenn ∃ beschränkte Grammatik G , L = L(G )
• rekursiv aufzählbar (vom Typ 0)
wenn ∃ Grammatik G , L = L(G )
GM (IFI)
Einführung in die Theoretische Informatik
132/1
Zusammenfassung
Chomsky-Hierarchie
L
L0
L1
L2
L3
L(G3 ) =
{an bn cn | n > 1}
L(G2 ) =
Klammerausdrücke“
”
L(G1 ) = {0, 1}+
GM (IFI)
Einführung in die Theoretische Informatik
133/1
Übersicht
Inhalte der Lehrveranstaltung
Einführung in die Logik
Syntax & Semantik der Aussagenlogik, Formales Beweisen, Konjunktive
und Disjunktive Normalformen
Einführung in die Algebra
Boolesche Algebra, Universelle Algebra, Logische Schaltkreise
Einführung in die Theorie der Formalen Sprachen
Grammatiken und Formale Sprachen, Reguläre Sprachen, Kontextfreie
Sprachen
Einführung in die Berechenbarkeitstheorie
Algorithmisch unlösbare Probleme, Turing Maschinen, Registermaschinen
Einführung in die Programmverifikation
Prinzipien der Analyse von Programmen, Verifikation nach Hoare
GM (IFI)
Einführung in die Theoretische Informatik
134/1
Übersicht
Inhalte der Lehrveranstaltung
Einführung in die Logik
Syntax & Semantik der Aussagenlogik, Formales Beweisen, Konjunktive
und Disjunktive Normalformen
Einführung in die Algebra
Boolesche Algebra, Universelle Algebra, Logische Schaltkreise
Einführung in die Theorie der Formalen Sprachen
Grammatiken und Formale Sprachen, Reguläre Sprachen, Kontextfreie
Sprachen
Einführung in die Berechenbarkeitstheorie
Algorithmisch unlösbare Probleme, Turing Maschinen, Registermaschinen
Einführung in die Programmverifikation
Prinzipien der Analyse von Programmen, Verifikation nach Hoare
GM (IFI)
Einführung in die Theoretische Informatik
134/1
Reguläre Sprachen
Reguläre Sprachen
Anwendungen von regulären Sprachen
• Software zum Entwurf und Testen von digitalen Schaltkreisen
GM (IFI)
Einführung in die Theoretische Informatik
135/1
Reguläre Sprachen
Reguläre Sprachen
Anwendungen von regulären Sprachen
• Software zum Entwurf und Testen von digitalen Schaltkreisen
• Softwarebausteine eines Compilers, etwa in der lexikalischen Analyse:
1 lexikalische Scanner ( Lexer“) wird mit endlichen Automaten
”
implementiert
2 Der lexikalische Scanner dient zur Aufteilung des Eingabetextes in
logische Einheiten, wie Bezeichner oder Schlüsselwörter
GM (IFI)
Einführung in die Theoretische Informatik
135/1
Reguläre Sprachen
Reguläre Sprachen
Anwendungen von regulären Sprachen
• Software zum Entwurf und Testen von digitalen Schaltkreisen
• Softwarebausteine eines Compilers, etwa in der lexikalischen Analyse:
1 lexikalische Scanner ( Lexer“) wird mit endlichen Automaten
”
implementiert
2 Der lexikalische Scanner dient zur Aufteilung des Eingabetextes in
logische Einheiten, wie Bezeichner oder Schlüsselwörter
• Software zum Durchsuchen umfangreicher Texte
GM (IFI)
Einführung in die Theoretische Informatik
135/1
Reguläre Sprachen
Reguläre Sprachen
Anwendungen von regulären Sprachen
• Software zum Entwurf und Testen von digitalen Schaltkreisen
• Softwarebausteine eines Compilers, etwa in der lexikalischen Analyse:
1 lexikalische Scanner ( Lexer“) wird mit endlichen Automaten
”
implementiert
2 Der lexikalische Scanner dient zur Aufteilung des Eingabetextes in
logische Einheiten, wie Bezeichner oder Schlüsselwörter
• Software zum Durchsuchen umfangreicher Texte
• Software zur Verifizierung aller Arten von Systemen, die eine
endliche Anzahl verschiedener Zustände besitzen
GM (IFI)
Einführung in die Theoretische Informatik
135/1
Reguläre Sprachen
Reguläre Sprachen
Anwendungen von regulären Sprachen
• Software zum Entwurf und Testen von digitalen Schaltkreisen
• Softwarebausteine eines Compilers, etwa in der lexikalischen Analyse:
1 lexikalische Scanner ( Lexer“) wird mit endlichen Automaten
”
implementiert
2 Der lexikalische Scanner dient zur Aufteilung des Eingabetextes in
logische Einheiten, wie Bezeichner oder Schlüsselwörter
• Software zum Durchsuchen umfangreicher Texte
• Software zur Verifizierung aller Arten von Systemen, die eine
endliche Anzahl verschiedener Zustände besitzen
• Softwarebausteine eines Computerspiels:
Kontrolle von Spielfiguren kann mit Hilfe eines endlichen Automaten
implementiert werden
2 erlaubt eine bessere Modularisierung des Codes
1
GM (IFI)
Einführung in die Theoretische Informatik
135/1
Reguläre Sprachen
Reguläre Sprachen
Anwendungen von regulären Sprachen
• Software zum Entwurf und Testen von digitalen Schaltkreisen
• Softwarebausteine eines Compilers, etwa in der lexikalischen Analyse:
1 lexikalische Scanner ( Lexer“) wird mit endlichen Automaten
”
implementiert
2 Der lexikalische Scanner dient zur Aufteilung des Eingabetextes in
logische Einheiten, wie Bezeichner oder Schlüsselwörter
• Software zum Durchsuchen umfangreicher Texte
• Software zur Verifizierung aller Arten von Systemen, die eine
endliche Anzahl verschiedener Zustände besitzen
• Softwarebausteine eines Computerspiels:
Kontrolle von Spielfiguren kann mit Hilfe eines endlichen Automaten
implementiert werden
2 erlaubt eine bessere Modularisierung des Codes
1
GM (IFI)
Einführung in die Theoretische Informatik
135/1
Endliche Automaten: Informell
Beispiel
Wir untersuchen Protokolle, die den Gebrauch elektronischen Geldes“
”
ermöglichen; dabei handeln: der Kunde, die Bank und das Geschäft:
GM (IFI)
Einführung in die Theoretische Informatik
136/1
Endliche Automaten: Informell
Beispiel
Wir untersuchen Protokolle, die den Gebrauch elektronischen Geldes“
”
ermöglichen; dabei handeln: der Kunde, die Bank und das Geschäft:
• Der Kunde kann zahlen
GM (IFI)
Einführung in die Theoretische Informatik
136/1
Endliche Automaten: Informell
Beispiel
Wir untersuchen Protokolle, die den Gebrauch elektronischen Geldes“
”
ermöglichen; dabei handeln: der Kunde, die Bank und das Geschäft:
• Der Kunde kann zahlen
• Der Kunde kann das Geld löschen
GM (IFI)
Einführung in die Theoretische Informatik
136/1
Endliche Automaten: Informell
Beispiel
Wir untersuchen Protokolle, die den Gebrauch elektronischen Geldes“
”
ermöglichen; dabei handeln: der Kunde, die Bank und das Geschäft:
• Der Kunde kann zahlen
• Der Kunde kann das Geld löschen
• Das Geschäft kann dem Kunden Waren zusenden
GM (IFI)
Einführung in die Theoretische Informatik
136/1
Endliche Automaten: Informell
Beispiel
Wir untersuchen Protokolle, die den Gebrauch elektronischen Geldes“
”
ermöglichen; dabei handeln: der Kunde, die Bank und das Geschäft:
• Der Kunde kann zahlen
• Der Kunde kann das Geld löschen
• Das Geschäft kann dem Kunden Waren zusenden
• Das Geschäft kann Geld einlösen
GM (IFI)
Einführung in die Theoretische Informatik
136/1
Endliche Automaten: Informell
Beispiel
Wir untersuchen Protokolle, die den Gebrauch elektronischen Geldes“
”
ermöglichen; dabei handeln: der Kunde, die Bank und das Geschäft:
• Der Kunde kann zahlen
• Der Kunde kann das Geld löschen
• Das Geschäft kann dem Kunden Waren zusenden
• Das Geschäft kann Geld einlösen
• Die Bank kann Geld überweisen
GM (IFI)
Einführung in die Theoretische Informatik
136/1
Endliche Automaten: Informell
Beispiel
Wir untersuchen Protokolle, die den Gebrauch elektronischen Geldes“
”
ermöglichen; dabei handeln: der Kunde, die Bank und das Geschäft:
• Der Kunde kann zahlen
• Der Kunde kann das Geld löschen
• Das Geschäft kann dem Kunden Waren zusenden
• Das Geschäft kann Geld einlösen
• Die Bank kann Geld überweisen
Wir treffen die folgenden Grundannahmen:
• Der Kunde ist unverantwortlich
• Das Geschäft ist verantwortlich, aber gutgläubig
• Die Bank ist strikt
GM (IFI)
Einführung in die Theoretische Informatik
136/1
Endliche Automaten: Informell
Beispiel
Wir untersuchen Protokolle, die den Gebrauch elektronischen Geldes“
”
ermöglichen; dabei handeln: der Kunde, die Bank und das Geschäft:
• Der Kunde kann zahlen
• Der Kunde kann das Geld löschen
• Das Geschäft kann dem Kunden Waren zusenden
• Das Geschäft kann Geld einlösen
• Die Bank kann Geld überweisen
Wir treffen die folgenden Grundannahmen:
• Der Kunde ist unverantwortlich
• Das Geschäft ist verantwortlich, aber gutgläubig
• Die Bank ist strikt
wir betrachten die Handlungen der Akteure als extern“; die Sequenz der
”
Handlungen ist wichtig, nicht wer sie initiiert
GM (IFI)
Einführung in die Theoretische Informatik
136/1
Endliche Automaten: Informell
Beispiel (Fortsetzung)
Start
a
Zahlen
b
Einlösen
d
Liefern
Geschäftsautomat G
GM (IFI)
c
Einlösen
Überw.
f
Liefern
e
Überw.
Einführung in die Theoretische Informatik
Liefern
g
137/1
Endliche Automaten: Informell
Beispiel (Fortsetzung)
Start
a
Zahlen
b
Einlösen
d
Liefern
Geschäftsautomat G
c
Einlösen
Überw.
f
Liefern
e
Überw.
Liefern
g
Zahlen
Start
Löschen
Kundenautomat K
GM (IFI)
Einführung in die Theoretische Informatik
137/1
Endliche Automaten: Informell
Beispiel (Fortsetzung)
Start
a
Zahlen
b
Einlösen
Liefern
Geschäftsautomat G
c
Überw.
d
f
Liefern
Einlösen
e
Liefern
Überw.
g
Zahlen
Start
Start
1
Löschen
Kundenautomat K
GM (IFI)
Einlösen
3
Überw.
4
Löschen
2
Einführung in die Theoretische Informatik
Bankautomat B
137/1
Endliche Automaten: Informell
Beispiel (Fortsetzung)
Lö, Z
Lö
Start
a
Z
Lö, Z
E
b
Lö, Z
c
Ü
d
L
Lö, Z
L
E
e
L
Ü
Lö, Z
GM (IFI)
f
Einführung in die Theoretische Informatik
g
Lö, Z
138/1
Endliche Automaten: Informell
Beispiel (Fortsetzung)
Lö, Z
Lö
Start
a
Z
Lö, Z
E
b
Lö, Z
c
Ü
d
L
Lö, Z
L
E
e
L
Ü
Lö, Z
GM (IFI)
f
Einführung in die Theoretische Informatik
g
Zahlen. . . Z
Einlösen. . . E
Löschen. . . Lö
Liefern. . . L
Überw. . . . Ü
Lö, Z
138/1
Endliche Automaten: Informell
Beispiel (Fortsetzung)
Lö, Z
Lö
Start
a
Z
Lö, Z
E
b
Lö, Z
L, E, Lö
c
Ü
d
L
Lö, Z
f
L
E
e
L
Ü
Lö, Z
g
Zahlen. . . Z
Einlösen. . . E
Löschen. . . Lö
Liefern. . . L
Überw. . . . Ü
Lö, Z
Start
Ü, Z
GM (IFI)
Einführung in die Theoretische Informatik
138/1
Endliche Automaten: Informell
Beispiel (Fortsetzung)
Lö, Z
Lö
Start
a
Z
Lö, Z
E
b
L, E, Lö
Start
E
Lö
Ü, Z
2
GM (IFI)
Lö, Z
E
1
L
Ü
e
L, Z
Start
f
L
c
Lö, Z
Ü
d
L
Lö, Z
3
g
Zahlen. . . Z
Einlösen. . . E
Löschen. . . Lö
Liefern. . . L
Überw. . . . Ü
Lö, Z
Ü
4
E, L, Lö, Z E, L, Lö, Z
L, Z
Einführung in die Theoretische Informatik
138/1
Endliche Automaten: Informell
Beispiel (Fortsetzung)
Wir definieren den Produktautomaten B × G aus B und G :
GM (IFI)
Einführung in die Theoretische Informatik
139/1
Endliche Automaten: Informell
Beispiel (Fortsetzung)
Wir definieren den Produktautomaten B × G aus B und G :
1
Die Zustände dieses Automaten sind:
(i, x)
GM (IFI)
wobei i ∈ {1, 2, 3, 4}, x ∈ {a, b, c, d, e, f , g }
Einführung in die Theoretische Informatik
139/1
Endliche Automaten: Informell
Beispiel (Fortsetzung)
Wir definieren den Produktautomaten B × G aus B und G :
1
Die Zustände dieses Automaten sind:
(i, x)
2
wobei i ∈ {1, 2, 3, 4}, x ∈ {a, b, c, d, e, f , g }
Die Übergänge werden durch paralleles Ausführen von B und G
definiert:
Aktion
Aktion
wenn i −−−−→ i 0 und x −−−−→ x 0
GM (IFI)
dann
Einführung in die Theoretische Informatik
Aktion
(i, x) −−−−→ (i 0 , x 0 )
139/1
Endliche Automaten: Informell
Beispiel (Fortsetzung)
Wir definieren den Produktautomaten B × G aus B und G :
1
Die Zustände dieses Automaten sind:
(i, x)
2
wobei i ∈ {1, 2, 3, 4}, x ∈ {a, b, c, d, e, f , g }
Die Übergänge werden durch paralleles Ausführen von B und G
definiert:
Aktion
Aktion
wenn i −−−−→ i 0 und x −−−−→ x 0
dann
Aktion
(i, x) −−−−→ (i 0 , x 0 )
Betrachte B und G :
GM (IFI)
Einführung in die Theoretische Informatik
139/1
Endliche Automaten: Informell
Beispiel (Fortsetzung)
Wir definieren den Produktautomaten B × G aus B und G :
1
Die Zustände dieses Automaten sind:
(i, x)
2
wobei i ∈ {1, 2, 3, 4}, x ∈ {a, b, c, d, e, f , g }
Die Übergänge werden durch paralleles Ausführen von B und G
definiert:
Aktion
Aktion
wenn i −−−−→ i 0 und x −−−−→ x 0
dann
Aktion
(i, x) −−−−→ (i 0 , x 0 )
Betrachte B und G :
• in B gilt, dass aus Zustand 1 durch die Aktion Einlösen“
Einlösen
Zustand 3 wird, konzise: 1 −−−−−→ 3
GM (IFI)
Einführung in die Theoretische Informatik
”
139/1
Endliche Automaten: Informell
Beispiel (Fortsetzung)
Wir definieren den Produktautomaten B × G aus B und G :
1
Die Zustände dieses Automaten sind:
(i, x)
2
wobei i ∈ {1, 2, 3, 4}, x ∈ {a, b, c, d, e, f , g }
Die Übergänge werden durch paralleles Ausführen von B und G
definiert:
Aktion
Aktion
wenn i −−−−→ i 0 und x −−−−→ x 0
dann
Aktion
(i, x) −−−−→ (i 0 , x 0 )
Betrachte B und G :
• in B gilt, dass aus Zustand 1 durch die Aktion Einlösen“
”
Einlösen
Zustand 3 wird, konzise: 1 −−−−−→ 3
• in G gilt, dass aus Zustand b mit Aktion Einlösen“ d wird
Einlösen
Konzise: b −−−−−→ d
GM (IFI)
”
Einführung in die Theoretische Informatik
139/1
Endliche Automaten: Informell
Beispiel (Fortsetzung)
Wir definieren den Produktautomaten B × G aus B und G :
1
Die Zustände dieses Automaten sind:
(i, x)
2
wobei i ∈ {1, 2, 3, 4}, x ∈ {a, b, c, d, e, f , g }
Die Übergänge werden durch paralleles Ausführen von B und G
definiert:
Aktion
Aktion
wenn i −−−−→ i 0 und x −−−−→ x 0
dann
Aktion
(i, x) −−−−→ (i 0 , x 0 )
Betrachte B und G :
• in B gilt, dass aus Zustand 1 durch die Aktion Einlösen“
”
Einlösen
Zustand 3 wird, konzise: 1 −−−−−→ 3
• in G gilt, dass aus Zustand b mit Aktion Einlösen“ d wird
Einlösen
Konzise: b −−−−−→ d
”
• also gilt in B × G , dass aus Zustand (1, b) mit Aktion Einlösen“
”
Zustand (3, d) wird
GM (IFI)
Einführung in die Theoretische Informatik
139/1
Endliche Automaten: Informell
Beispiel (Fortsetzung)
Wir definieren den Produktautomaten B × G aus B und G :
1
Die Zustände dieses Automaten sind:
(i, x)
2
wobei i ∈ {1, 2, 3, 4}, x ∈ {a, b, c, d, e, f , g }
Die Übergänge werden durch paralleles Ausführen von B und G
definiert:
Aktion
Aktion
wenn i −−−−→ i 0 und x −−−−→ x 0
dann
Aktion
(i, x) −−−−→ (i 0 , x 0 )
Betrachte B und G :
• in B gilt, dass aus Zustand 1 durch die Aktion Einlösen“
”
Einlösen
Zustand 3 wird, konzise: 1 −−−−−→ 3
• in G gilt, dass aus Zustand b mit Aktion Einlösen“ d wird
Einlösen
Konzise: b −−−−−→ d
”
• also gilt in B × G , dass aus Zustand (1, b) mit Aktion Einlösen“
Einlösen
Zustand (3, d) wird, konzise: (1, b) −−−−−→ (3, d)
GM (IFI)
Einführung in die Theoretische Informatik
”
139/1
Endliche Automaten: Informell
Beispiel (Fortsetzung)
Z
(1, a)
Z
(1, b)
Lö
(2, a)
L
Z
Z
(1, c)
(1, d)
Lö
Lö
(2, c)
(2, d)
Lö
Z
(2, b)
L
Z
Z
E
(3, a)
Z
Lö
(4, a)
Lö
GM (IFI)
(3, b)
L
Lö, Z
Z
(4, b)
Lö, Z
L
E
Z
E
(3, c)
(3, d)
Lö, Z
E
Lö, Z
E
(4, c)
(4, d)
Lö, Z
Lö, Z
L
Z
Z
(1, e)
(1, f )
Lö
L
E
L
L
Z
Lö
(2, e)
(2, f )
Z
Lö, Z
Z
Lö, Z
(3, e)
Ü
(3, f )
Ü
(4, e)
(4, f )
Lö, Z
Lö, Z
Einführung in die Theoretische Informatik
L
(1, g )
Lö
L
(2, g )
Z
Lö, ZZ
L
L
(3, g )
(4, g )
Lö, Z
140/1
Endliche Automaten: Informell
Beispiel (Fortsetzung)
Z
(1, a)
Z
(1, b)
Lö
(2, a)
L
Z
Z
(1, c)
(1, d)
Lö
Lö
(2, c)
(2, d)
Lö
Z
(2, b)
L
Z
Z
E
(3, a)
Z
Lö
(4, a)
Lö
GM (IFI)
(3, b)
L
Lö, Z
Z
(4, b)
Lö, Z
L
E
Z
E
(3, c)
(3, d)
Lö, Z
E
Lö, Z
E
(4, c)
(4, d)
Lö, Z
Lö, Z
L
Z
Z
(1, e)
(1, f )
Lö
L
E
L
L
Z
Lö
(2, e)
(2, f )
Z
Lö, Z
Z
Lö, Z
(3, e)
Ü
(3, f )
Ü
(4, e)
(4, f )
Lö, Z
Lö, Z
Einführung in die Theoretische Informatik
L
(1, g )
Lö
L
(2, g )
Z
Lö, ZZ
L
L
(3, g )
(4, g )
Lö, Z
140/1
Deterministische endliche Automaten
Beispiel (Fortsetzung)
Als Schlussfolgerung ergibt sich, dass das Protokoll nicht sicher ist:
Der Automat B × G kann in den Zustand (2, c) gelangen, in
welchem die Waren geschickt wurden und trotzdem nie eine
Überweisung an das Geschäft erfolgen wird
GM (IFI)
Einführung in die Theoretische Informatik
141/1
Deterministische endliche Automaten
Beispiel (Fortsetzung)
Als Schlussfolgerung ergibt sich, dass das Protokoll nicht sicher ist:
Der Automat B × G kann in den Zustand (2, c) gelangen, in
welchem die Waren geschickt wurden und trotzdem nie eine
Überweisung an das Geschäft erfolgen wird
Definition (Deterministischer endlicher Automat (kurz: DEA))
Ein DEA ist ein 5-Tupel A = (Q, Σ, δ, q0 , F ) sodass
1
GM (IFI)
Q eine endliche Menge von Zuständen
Einführung in die Theoretische Informatik
141/1
Deterministische endliche Automaten
Beispiel (Fortsetzung)
Als Schlussfolgerung ergibt sich, dass das Protokoll nicht sicher ist:
Der Automat B × G kann in den Zustand (2, c) gelangen, in
welchem die Waren geschickt wurden und trotzdem nie eine
Überweisung an das Geschäft erfolgen wird
Definition (Deterministischer endlicher Automat (kurz: DEA))
Ein DEA ist ein 5-Tupel A = (Q, Σ, δ, q0 , F ) sodass
1
Q eine endliche Menge von Zuständen
2
Σ eine endliche Menge von Eingabesymbole, (Σ wird auch
Eingabealphabet genannt)
GM (IFI)
Einführung in die Theoretische Informatik
141/1
Deterministische endliche Automaten
Beispiel (Fortsetzung)
Als Schlussfolgerung ergibt sich, dass das Protokoll nicht sicher ist:
Der Automat B × G kann in den Zustand (2, c) gelangen, in
welchem die Waren geschickt wurden und trotzdem nie eine
Überweisung an das Geschäft erfolgen wird
Definition (Deterministischer endlicher Automat (kurz: DEA))
Ein DEA ist ein 5-Tupel A = (Q, Σ, δ, q0 , F ) sodass
1
Q eine endliche Menge von Zuständen
2
Σ eine endliche Menge von Eingabesymbole, (Σ wird auch
Eingabealphabet genannt)
3
δ : Q × Σ → Q die Übergangsfunktion
GM (IFI)
Einführung in die Theoretische Informatik
141/1
Deterministische endliche Automaten
Beispiel (Fortsetzung)
Als Schlussfolgerung ergibt sich, dass das Protokoll nicht sicher ist:
Der Automat B × G kann in den Zustand (2, c) gelangen, in
welchem die Waren geschickt wurden und trotzdem nie eine
Überweisung an das Geschäft erfolgen wird
Definition (Deterministischer endlicher Automat (kurz: DEA))
Ein DEA ist ein 5-Tupel A = (Q, Σ, δ, q0 , F ) sodass
1
Q eine endliche Menge von Zuständen
2
Σ eine endliche Menge von Eingabesymbole, (Σ wird auch
Eingabealphabet genannt)
3
δ : Q × Σ → Q die Übergangsfunktion
4
q0 ∈ Q der Startzustand
GM (IFI)
Einführung in die Theoretische Informatik
141/1
Deterministische endliche Automaten
Beispiel (Fortsetzung)
Als Schlussfolgerung ergibt sich, dass das Protokoll nicht sicher ist:
Der Automat B × G kann in den Zustand (2, c) gelangen, in
welchem die Waren geschickt wurden und trotzdem nie eine
Überweisung an das Geschäft erfolgen wird
Definition (Deterministischer endlicher Automat (kurz: DEA))
Ein DEA ist ein 5-Tupel A = (Q, Σ, δ, q0 , F ) sodass
1
Q eine endliche Menge von Zuständen
2
Σ eine endliche Menge von Eingabesymbole, (Σ wird auch
Eingabealphabet genannt)
3
δ : Q × Σ → Q die Übergangsfunktion
4
q0 ∈ Q der Startzustand
5
F ⊆ Q eine endliche Menge von akzeptierenden Zuständen
GM (IFI)
Einführung in die Theoretische Informatik
141/1
Deterministische endliche Automaten
Beispiel (Fortsetzung)
Als Schlussfolgerung ergibt sich, dass das Protokoll nicht sicher ist:
Der Automat B × G kann in den Zustand (2, c) gelangen, in
welchem die Waren geschickt wurden und trotzdem nie eine
Überweisung an das Geschäft erfolgen wird
Definition (Deterministischer endlicher Automat (kurz: DEA))
Ein DEA ist ein 5-Tupel A = (Q, Σ, δ, q0 , F ) sodass
1
Q eine endliche Menge von Zuständen
2
Σ eine endliche Menge von Eingabesymbole, (Σ wird auch
Eingabealphabet genannt)
3
δ : Q × Σ → Q die Übergangsfunktion
4
q0 ∈ Q der Startzustand
5
F ⊆ Q eine endliche Menge von akzeptierenden Zuständen
Zu beachten: δ muss für alle möglichen Argumente definiert sein
GM (IFI)
Einführung in die Theoretische Informatik
141/1
Alternative Darstellungen
Zustandstabelle
q1 ∈ Q
q2 ∈ Q
..
.
GM (IFI)
a1 ∈ Σ
δ(q1 , a1 )
δ(q2 , a1 )
..
.
a2 ∈ Σ
δ(q1 , a2 )
Einführung in die Theoretische Informatik
···
···
142/1
Alternative Darstellungen
Zustandstabelle
q1 ∈ Q
q2 ∈ Q
..
.
a1 ∈ Σ
δ(q1 , a1 )
δ(q2 , a1 )
..
.
a2 ∈ Σ
δ(q1 , a2 )
···
···
Zustandsgraph
Sei A = (Q, Σ, δ, q0 , F ) ein DEA, der Zustandsgraph ist definiert, sodass
1
die Ecken die Zustände sind,
2
für Zustände p, q ∈ Q sind die Kanten von p nach q alle Tripel
(p, a, q)
mit
a∈Σ
und
δ(p, a) = q .
GM (IFI)
Einführung in die Theoretische Informatik
142/1
Alternative Darstellungen
Zustandstabelle
q1 ∈ Q
q2 ∈ Q
..
.
a1 ∈ Σ
δ(q1 , a1 )
δ(q2 , a1 )
..
.
a2 ∈ Σ
δ(q1 , a2 )
···
···
Zustandsgraph
Sei A = (Q, Σ, δ, q0 , F ) ein DEA, der Zustandsgraph ist definiert, sodass
1
die Ecken die Zustände sind,
2
für Zustände p, q ∈ Q sind die Kanten von p nach q alle Tripel
(p, a, q)
mit
a∈Σ
und
δ(p, a) = q .
Konvention
• Zu jeder Kante (p, a, q) schreibt man die Eingabe a
• Den Startzustand markiert man mit einem Pfeil; die akzeptierenden
Zustände werden mit einem doppelten Kreis gekennzeichnet
GM (IFI)
Einführung in die Theoretische Informatik
142/1
Alternative Darstellungen
Definition (erweiterte Übergangsfunktion)
Sei δ eine Übergangsfunktion, wir definieren die erweiterte
Übergangsfunktion δ̂ : Q × Σ∗ → Q induktiv:
GM (IFI)
Einführung in die Theoretische Informatik
143/1
Alternative Darstellungen
Definition (erweiterte Übergangsfunktion)
Sei δ eine Übergangsfunktion, wir definieren die erweiterte
Übergangsfunktion δ̂ : Q × Σ∗ → Q induktiv:
δ̂(q, ) := q
GM (IFI)
Einführung in die Theoretische Informatik
143/1
Alternative Darstellungen
Definition (erweiterte Übergangsfunktion)
Sei δ eine Übergangsfunktion, wir definieren die erweiterte
Übergangsfunktion δ̂ : Q × Σ∗ → Q induktiv:
δ̂(q, ) := q
δ̂(q, xa) := δ(δ̂(q, x), a)
GM (IFI)
x ∈ Σ∗ , a ∈ Σ
Einführung in die Theoretische Informatik
143/1
Alternative Darstellungen
Definition (erweiterte Übergangsfunktion)
Sei δ eine Übergangsfunktion, wir definieren die erweiterte
Übergangsfunktion δ̂ : Q × Σ∗ → Q induktiv:
δ̂(q, ) := q
δ̂(q, xa) := δ(δ̂(q, x), a)
x ∈ Σ∗ , a ∈ Σ
Definition
Sei A = (Q, Σ, δ, q0 , F ) ein DEA; die Sprache L(A) von A:
L(A) := {x ∈ Σ∗ | δ̂(q0 , x) ∈ F }
GM (IFI)
Einführung in die Theoretische Informatik
143/1
Alternative Darstellungen
Definition (erweiterte Übergangsfunktion)
Sei δ eine Übergangsfunktion, wir definieren die erweiterte
Übergangsfunktion δ̂ : Q × Σ∗ → Q induktiv:
δ̂(q, ) := q
δ̂(q, xa) := δ(δ̂(q, x), a)
x ∈ Σ∗ , a ∈ Σ
Definition
Sei A = (Q, Σ, δ, q0 , F ) ein DEA; die Sprache L(A) von A:
L(A) := {x ∈ Σ∗ | δ̂(q0 , x) ∈ F }
Satz
Sei A ein DEA, dann ist L(A) regulär und umgekehrt existiert zu jeder
regulären Sprache L ein DEA A, sodass L = L(A)
GM (IFI)
Einführung in die Theoretische Informatik
143/1
Alternative Darstellungen
Beispiel
Definiere DEA A, der alle aus 0en und 1en bestehenden Zeichenketten
akzeptiert, die die Folge 01 enthalten
GM (IFI)
Einführung in die Theoretische Informatik
144/1
Alternative Darstellungen
Beispiel
Definiere DEA A, der alle aus 0en und 1en bestehenden Zeichenketten
akzeptiert, die die Folge 01 enthalten
L = {x01y | x, y sind beliebige Zeichenketten aus 0en und 1en}
GM (IFI)
Einführung in die Theoretische Informatik
144/1
Alternative Darstellungen
Beispiel
Definiere DEA A, der alle aus 0en und 1en bestehenden Zeichenketten
akzeptiert, die die Folge 01 enthalten
L = {x01y | x, y sind beliebige Zeichenketten aus 0en und 1en}
Wir machen die folgende Hilfsüberlegung:
GM (IFI)
Einführung in die Theoretische Informatik
144/1
Alternative Darstellungen
Beispiel
Definiere DEA A, der alle aus 0en und 1en bestehenden Zeichenketten
akzeptiert, die die Folge 01 enthalten
L = {x01y | x, y sind beliebige Zeichenketten aus 0en und 1en}
Wir machen die folgende Hilfsüberlegung:
q0
GM (IFI)
A hat Sequenz 01 noch nicht gefunden
A wechselt in Zustand q1 , sobald 0 gelesen wird
Sonst verharrt A in Zustand q0
Einführung in die Theoretische Informatik
144/1
Alternative Darstellungen
Beispiel
Definiere DEA A, der alle aus 0en und 1en bestehenden Zeichenketten
akzeptiert, die die Folge 01 enthalten
L = {x01y | x, y sind beliebige Zeichenketten aus 0en und 1en}
Wir machen die folgende Hilfsüberlegung:
q0
A hat Sequenz 01 noch nicht gefunden
A wechselt in Zustand q1 , sobald 0 gelesen wird
Sonst verharrt A in Zustand q0
q1
A hat Sequenz 0 gelesen
A wechselt in Zustand q2 , sobald 1 gelesen wird
Sonst verharrt A in Zustand q1
GM (IFI)
Einführung in die Theoretische Informatik
144/1
Alternative Darstellungen
Beispiel
Definiere DEA A, der alle aus 0en und 1en bestehenden Zeichenketten
akzeptiert, die die Folge 01 enthalten
L = {x01y | x, y sind beliebige Zeichenketten aus 0en und 1en}
Wir machen die folgende Hilfsüberlegung:
q0
A hat Sequenz 01 noch nicht gefunden
A wechselt in Zustand q1 , sobald 0 gelesen wird
Sonst verharrt A in Zustand q0
q1
A hat Sequenz 0 gelesen
A wechselt in Zustand q2 , sobald 1 gelesen wird
Sonst verharrt A in Zustand q1
q2
A hat Sequenz 01 gelesen
A akzeptiert jede weitere Eingabe
GM (IFI)
Einführung in die Theoretische Informatik
144/1
Alternative Darstellungen
Beispiel (Fortsetzung)
Nun kann der Automat leicht angegeben werden:
1
q0
GM (IFI)
0, 1
0
0
q1
1
Einführung in die Theoretische Informatik
q2
145/1
Alternative Darstellungen
Beispiel (Fortsetzung)
Nun kann der Automat leicht angegeben werden:
1
0, 1
0
q0
0
q1
1
q2
Gleichzeitig ist auch eine Darstellung durch die Zustandstabelle denkbar.
0 1
→ q0 q1 q0
q1 q1 q2
∗q2 q2 q2
GM (IFI)
Einführung in die Theoretische Informatik
145/1
Alternative Darstellungen
Abschlusseigenschaften von regulären Sprachen
Satz
Seien L, M reguläre Sprachen (über dem Alphabet Σ), dann gilt
1
Die Vereinigung L ∪ M ist regulär
2
Das Komplement ∼ L ist regulär
3
Der Schnitt L ∩ M ist regulär
4
Die Mengendifferenz L \ M ist regulär
GM (IFI)
Einführung in die Theoretische Informatik
146/1
Herunterladen