Einführung in die Theoretische Informatik Zusammenfassung der

Werbung
Zusammenfassung
Zusammenfassung der letzten LVA
Definition
eine deterministische, einbändige Turingmaschine (TM) M ist ein 9-Tupel
Einführung in die Theoretische Informatik
M = (Q, Σ, Γ, `, t, δ, s, t, r )
sodass
Christina Kohl
Alexander Maringele
Georg Moser
Michael Schaper
Manuel Schneckenreither
Institut für Informatik @ UIBK
Wintersemester 2015
1
Q eine endliche Menge von Zuständen,
2
Σ eine endliche Menge von Eingabesymbolen,
3
Γ eine endliche Menge von Bandsymbolen, mit Σ ⊆ Γ,
4
` ∈ Γ \ Σ, der linke Endmarker,
5
t ∈ Γ \ Σ, das Blanksymbol,
6
δ : Q × Γ → Q × Γ × {L, R} die Übergangsfunktion,
7
s ∈ Q, der Startzustand,
8
t ∈ Q, der akzeptierende Zustand und
9
r ∈ Q, der verwerfende Zustand mit t 6= r .
GM (IFI)
Einführung in die Theoretische Informatik
180/1
Übersicht
Zusammenfassung
Unentscheidbarkeit
Inhalte der Lehrveranstaltung
Einführung in die Logik
Satz
es kann kein Testprogramm für hello, world“-Programme geben
”
Syntax & Semantik der Aussagenlogik, Formales Beweisen, Konjunktive
und Disjunktive Normalformen
Definition (informell)
Einführung in die Algebra
ein Problem, das nicht algorithmisch lösbar ist,
wird unentscheidbar genannt
Boolesche Algebra, Universelle Algebra, Logische Schaltkreise
Einführung in die Theorie der Formalen Sprachen
Grammatiken und Formale Sprachen, Reguläre Sprachen, Kontextfreie
Sprachen
Satz
die folgenden Probleme sind unentscheidbar:
1 das Halteproblem
2
das Postsche Korrespondenzproblem
3
ist eine beliebige kontextfreie Grammatik eindeutig
4
...
GM (IFI)
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
Einführung in die Theoretische Informatik
181/1
GM (IFI)
Einführung in die Theoretische Informatik
182/1
Turingmaschinen
Turingmaschinen
Konfiguration einer TM
Schrittfunktion von TMs
Definition
Definition
eine Konfiguration einer TM M ist ein Tripel (p, x, n), sodass
Relation −→ ist wie folgt definiert:
M
(
(q, z 0 , n − 1) wenn δ(p, zn ) = (q, b, L)
1
(p, z, n)−→
M
(q, z 0 , n + 1) wenn δ(p, zn ) = (q, b, R)
1
p ∈ Q Zustand,
2
x = y t∞ Bandinhalt
3
n ∈ N Position des Lese/Schreibkopfes
1
y ∈ Γ∗
z 0 ist String, den wir aus z erhalten, wenn zn durch b ersetzt
Definition
Definition
Startkonfiguration bei Eingabe x ∈ Σ∗ :
(s, ` xt∞ , 0)
∗
reflexive, transitive Hülle −→:
1
M
0
α−→α
M
n+1
n
1
M
M
n
Beispiel
2
α−−→β, wenn α−→γ −→β für Konfiguration γ
Sei 0011 die Eingabe der TM M, dann ist die Startkonfiguration gegeben
durch (s, ` 0011t∞ , 0)
3
α−→β, wenn ∃ n α−→β
GM (IFI)
Einführung in die Theoretische Informatik
183/1
Turingmaschinen
M
M
GM (IFI)
Einführung in die Theoretische Informatik
184/1
Turingmaschinen
Beispiel (Wiederholung)
Beispiel
sei M = ({s, t, r , q1 , q2 , q3 }, {0, 1}, {`, t, 0, 1, X, Y}, `, t, δ, s, t, r )
mit δ wie folgt; M akzeptiert die Sprache {0n 1n | n > 1}
p∈Q
s
s
s
s
s
s
q1
q1
q1
q1
q1
q1
t
GM (IFI)
M
∗
a∈Γ
δ(p, a)
`
(s, `, R)
t
(r , t, R)
0
(q1 , X, R)
1
(r , 1, R)
X
(r , X, R)
Y
(q3 , Y, R)
`
(r , `, R)
t
(r , `, R)
0
(q1 , 0, R)
1
(q2 , Y, L)
X
(r , X, R)
Y
(q1 , Y, R)
∗
(t, ∗, R)
p∈Q
q2
q2
q2
q2
q2
q2
q3
q3
q3
q3
q3
q3
r
Wir betrachten die Schrittfunktion für eine akzeptierende Berechnung
von M bei Eingabe 0011:
a∈Γ
δ(p, a)
`
(r , `, R)
t
(r , t, R)
0
(q2 , 0, L)
1
(r , 1, R)
X
(s, X, R)
Y
(q2 , Y, L)
`
(r , `, R)
t
(t, t, R)
0
(r , 0, R)
1
(r , 1, R)
X
(r , X, R)
Y
(q3 , Y, R)
∗
(r , ∗, R)
Einführung in die Theoretische Informatik
1
1
M
1
M
(s, ` 0011t∞ , 0) −→ (s, ` 0011t∞ , 1) −→ (q1 , ` X011t∞ , 2)
1
−→ (q1 , ` X011t∞ , 3) −→ (q2 , ` X0Y1t∞ , 2)
M
1
M
1
−→ (q2 , ` X0Y1t∞ , 1) −→ (s, ` X0Y1t∞ , 2)
M
1
∞
M
1
M
1
∞
M
1
−→ (q1 , ` XXY1t , 3) −→ (q1 , ` XXY1t∞ , 4)
−→ (q2 , ` XXYYt , 3) −→ (q2 , ` XXYYt∞ , 2)
M
1
∞
M
1
−→ (s, ` XXYYt , 3) −→ (q3 , ` XXYYt∞ , 4)
M
1
M
1
M
M
−→ (q3 , ` XXYYt∞ , 5) −→ (t, ` XXYY t t∞ , 6)
185/1
GM (IFI)
Einführung in die Theoretische Informatik
186/1
Turingmaschinen
Turingmaschinen
Definition
Satz
Sei L eine Sprache, die von einer TM akzeptiert wird. Dann ist L rekursiv
aufzählbar
eine TM M
• akzeptiert x ∈
Σ∗ ,
wenn ∃ y , n:
∗
(s, ` xt∞ , 0) −→ (t, y , n)
M
Definition (Berechenbarkeit mit einer TM)
• verwirft x ∈ Σ∗ , wenn ∃ y , n:
• Sei M = (Q, {u, 2}, {`, t, u, 2}, `, t, δ, s, t, r )
∗
(s, ` xt∞ , 0) −→ (r , y , n)
• Eine partielle Funktion f : Nk → N heißt M-berechenbar, wenn:
M
• hält bei Eingabe x, wenn x akzeptiert oder verworfen
gdw. (s, ` un1 2 · · · 2 unk t∞ , 0)
∗
−→ (t, ` um t∞ , n)
M
• Eine partielle Funktion f : Nk → N heißt berechenbar mit einer TM,
wenn eine TM M über dem Alphabet {u, 2} existiert, sodass f
M-berechenbar
f (n1 , . . . , nk ) = m
• hält nicht bei Eingabe x, wenn x weder akzeptiert, noch verworfen
• ist total, wenn M auf allen Eingaben hält
Definition
u kodiert Zahlen; 2 dient als Trennsymbol
die Sprache einer TM M ist wie folgt definiert:
L(M) := {x ∈ Σ∗ | M akzeptiert x}
GM (IFI)
Einführung in die Theoretische Informatik
187/1
Turingmaschinen
GM (IFI)
188/1
Turingmaschinen
Registermaschinen
Semantik von Registermaschinen
Definition
1
Eine Registermaschine (RM) R ist ein Paar R = ((xi )16i6n , P) sodass
1
(xi )16i6n eine Sequenz von n Registern xi , die natürliche Zahlen
beinhalten
2
P ein Programm
2
bedeuten, dass der Inhalt des Register xi entweder um 1 erhöht oder
vermindert wird
1
Für jedes Register xi sind die folgenden Instruktionen sowohl Befehle
wie Programme: xi := xi + 1 und xi := xi − 1
2
wenn P1 , P2 Programme sind, dann ist P1 ; P2 ein Programm
3
wenn P1 ein Programm und xi ein Register, dann ist
while xi 6= 0 do P1 end
3
P1 ; P2 bedeutet, dass zunächst das Programm P1 und dann das
Programm P2 ausgeführt wird
4
Der Befehl (und das Programm)
while xi 6= 0 do P1 end
bedeutet, der Schleifenrumpf P1 wird ausgeführt, bis die Bedingung
xi 6= 0 falsch ist
sowohl ein Befehl als auch ein Programm
Einführung in die Theoretische Informatik
Zu Beginn der Berechnung steht die Eingabe (als natürliche Zahlen)
in den Registern
Die Befehle
• xi := xi + 1
• xi := xi − 1
Programme sind endliche Folgen von Befehlen und sind induktiv
definiert:
GM (IFI)
Einführung in die Theoretische Informatik
189/1
GM (IFI)
Einführung in die Theoretische Informatik
190/1
Turingmaschinen
Turingmaschinen
Beispiel
Definition (Berechenbarkeit mit einer RM)
Sei R = ((xi )16i65 , P) eine RM mit dem folgenden Programm:
Zuweisung xi := xj
• Sei R = ((xi )16i6n , P) eine RM
• Eine partielle Funktion f : Nk → N, heißt R-berechenbar, wenn gilt
Multiplikation
while xi 6= 0 do
xi := xi − 1
end;
while xk 6= 0 do
xk := xk − 1
end
while xj 6= 0 do
xi := xi + 1;
xj := xj − 1;
xk := xk + 1
end;
while xk 6= 0 do
xj := xj + 1;
xk := xk − 1
end
f (n1 , . . . , nk ) = m
gdw. R mit ni in den Registern xi für
1 6 i 6 k startet und die Programmausführung mit ni in den
Registern xi für 1 6 i 6 k und
m im Register xk+1 abbricht.
k
• Eine partielle Funktion f : N → N heißt berechenbar auf einer RM,
wenn eine RM R existiert, sodass f R-berechenbar
x3 := 0;
while x1 6= 0 do
x1 := x1 − 1;
x4 := x2 ;
while x2 6= 0 do
x2 := x2 − 1;
x3 := x3 + 1
end;
x2 := x4
end
Satz
Jede partielle Funktion f : Nk → N, die berechenbar auf einer RM ist, ist
auf einer TM berechenbar und umgekehrt
Bei Eingabe (m, n, 0, 0, 0) berechnet R (0, n, m × n, n, 0)
GM (IFI)
Einführung in die Theoretische Informatik
191/1
Turingmaschinen
Church-Turing-These
These
Jedes algorithmisch lösbare Problem ist auch mit Hilfe einer Turingmaschine lösbar.
Demo
Programming Turing Machines, by Michael Schaper
GM (IFI)
Einführung in die Theoretische Informatik
193/1
GM (IFI)
Einführung in die Theoretische Informatik
192/1
Herunterladen