• Keine Ergebnisse gefunden

Sommersemester2007 BernhardBeckert GrundlagenderTheoretischenInformatik/EinführungindieTheoretischeInformatikI Vorlesung

N/A
N/A
Protected

Academic year: 2021

Aktie "Sommersemester2007 BernhardBeckert GrundlagenderTheoretischenInformatik/EinführungindieTheoretischeInformatikI Vorlesung"

Copied!
78
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I

Bernhard Beckert

Institut für Informatik

Sommersemester 2007

(2)

Diese Vorlesungsmaterialien basieren ganz wesentlich auf den Folien zu den Vorlesungen von

Katrin Erk (gehalten an der Universität Koblenz-Landau) Jürgen Dix (gehalten an der TU Clausthal)

Ihnen beiden gilt mein herzlicher Dank.

– Bernhard Beckert, April 2007

(3)

Erinnerung: Endliche Automaten

akzeptieren reguläre Sprachen

Einziger Speicher: derZustand(endlich).

Die Zustandsmenge kann groß sein, ist aber endlich.

Das Eingabewort wird nur einmal gelesen, von links nach rechts.

(4)

Erinnerung: Endliche Automaten akzeptieren reguläre Sprachen

Einziger Speicher: derZustand(endlich).

Die Zustandsmenge kann groß sein, ist aber endlich.

Das Eingabewort wird nur einmal gelesen, von links nach rechts.

(5)

Erinnerung: Endliche Automaten akzeptieren reguläre Sprachen

Einziger Speicher: derZustand(endlich).

Die Zustandsmenge kann groß sein, ist aber endlich.

Das Eingabewort wird nur einmal gelesen, von links nach rechts.

(6)

Erinnerung: Endliche Automaten akzeptieren reguläre Sprachen

Einziger Speicher: derZustand(endlich).

Die Zustandsmenge kann groß sein, ist aber endlich.

Das Eingabewort wird nur einmal gelesen, von links nach rechts.

(7)

Erinnerung: Pushdown-Automaten

akzeptieren kontextfreie Sprachen Erster Speicher: der Zustand (endlich) Zweiter Speicher: derKeller

(unbeschränkte Größe, beschränkte Zugriffsart)

Das Eingabewort wird nur einmal gelesen, von links nach rechts.

(8)

Erinnerung: Pushdown-Automaten akzeptieren kontextfreie Sprachen Erster Speicher: der Zustand (endlich) Zweiter Speicher: derKeller

(unbeschränkte Größe, beschränkte Zugriffsart)

Das Eingabewort wird nur einmal gelesen, von links nach rechts.

(9)

Erinnerung: Pushdown-Automaten akzeptieren kontextfreie Sprachen Erster Speicher: der Zustand (endlich) Zweiter Speicher: derKeller

(unbeschränkte Größe, beschränkte Zugriffsart)

Das Eingabewort wird nur einmal gelesen, von links nach rechts.

(10)

Erinnerung: Pushdown-Automaten akzeptieren kontextfreie Sprachen Erster Speicher: der Zustand (endlich) Zweiter Speicher: derKeller

(unbeschränkte Größe, beschränkte Zugriffsart)

Das Eingabewort wird nur einmal gelesen, von links nach rechts.

(11)

Ausblick: Turing-Maschinen

akzeptieren Sprachenvom Typ 0.

Erster Speicher: der Zustand (endlich) Zweiter Speicher: Band

(unbeschränkte Größe,Zugriff an beliebiger Stelle

Turing-Maschine hat einen Schreib-/Lesekopf, den sie über diesem Band in einem Rechenschritt um ein Feld nach rechts oder links bewegen kann.

Das Eingabewort steht (am Anfang) auf dem Band.

Die Maschine kann esbeliebig oft lesen.

(12)

Ausblick: Turing-Maschinen

akzeptieren Sprachenvom Typ 0.

Erster Speicher: der Zustand (endlich) Zweiter Speicher: Band

(unbeschränkte Größe,Zugriff an beliebiger Stelle

Turing-Maschine hat einen Schreib-/Lesekopf, den sie über diesem Band in einem Rechenschritt um ein Feld nach rechts oder links bewegen kann.

Das Eingabewort steht (am Anfang) auf dem Band.

Die Maschine kann esbeliebig oft lesen.

(13)

Ausblick: Turing-Maschinen

akzeptieren Sprachenvom Typ 0.

Erster Speicher: der Zustand (endlich) Zweiter Speicher: Band

(unbeschränkte Größe,Zugriff an beliebiger Stelle

Turing-Maschine hat einen Schreib-/Lesekopf, den sie über diesem Band in einem Rechenschritt um ein Feld nach rechts oder links bewegen kann.

Das Eingabewort steht (am Anfang) auf dem Band.

Die Maschine kann esbeliebig oft lesen.

(14)

Ausblick: Turing-Maschinen

akzeptieren Sprachenvom Typ 0.

Erster Speicher: der Zustand (endlich) Zweiter Speicher: Band

(unbeschränkte Größe,Zugriff an beliebiger Stelle

Turing-Maschine hat einen Schreib-/Lesekopf, den sie über diesem Band in einem Rechenschritt um ein Feld nach rechts oder links bewegen kann.

Das Eingabewort steht (am Anfang) auf dem Band.

Die Maschine kann esbeliebig oft lesen.

(15)

Ausblick: Turing-Maschinen

akzeptieren Sprachenvom Typ 0.

Erster Speicher: der Zustand (endlich) Zweiter Speicher: Band

(unbeschränkte Größe,Zugriff an beliebiger Stelle

Turing-Maschine hat einen Schreib-/Lesekopf, den sie über diesem Band in einem Rechenschritt um ein Feld nach rechts oder links bewegen kann.

Das Eingabewort steht (am Anfang) auf dem Band.

Die Maschine kann esbeliebig oft lesen.

(16)

Definition 9.1 (Turing-Maschine (DTM))

Einedeterminierte Turing-Maschine (DTM)Mist ein Tupel M= (K,Σ,δ,s)

Dabei ist

K eine endliche Menge von Zuständen mith6∈K, (hist derHaltezustand)

Σein Alphabet mitL,R6∈Σ,#∈Σ,

δ:K×Σ→(K∪ {h})×(Σ∪ {L,R})eine Übergangsfunktion s∈K ein Startzustand.

Anzahl der Zustände: |K| −1 (Startzustand wird nicht mitgezählt).

(17)

Definition 9.1 (Turing-Maschine (DTM))

Einedeterminierte Turing-Maschine (DTM)Mist ein Tupel M= (K,Σ,δ,s)

Dabei ist

K eine endliche Menge von Zuständen mith6∈K, (hist derHaltezustand)

Σein Alphabet mitL,R6∈Σ,#∈Σ,

δ:K×Σ→(K∪ {h})×(Σ∪ {L,R})eine Übergangsfunktion s∈K ein Startzustand.

Anzahl der Zustände: |K| −1 (Startzustand wird nicht mitgezählt).

(18)

Definition 9.1 (Turing-Maschine (DTM))

Einedeterminierte Turing-Maschine (DTM)Mist ein Tupel M= (K,Σ,δ,s)

Dabei ist

K eine endliche Menge von Zuständen mith6∈K, (hist derHaltezustand)

Σein Alphabet mitL,R6∈Σ,#∈Σ,

δ:K×Σ→(K∪ {h})×(Σ∪ {L,R})eine Übergangsfunktion s∈K ein Startzustand.

Anzahl der Zustände: |K| −1 (Startzustand wird nicht mitgezählt).

(19)

Definition 9.1 (Turing-Maschine (DTM))

Einedeterminierte Turing-Maschine (DTM)Mist ein Tupel M= (K,Σ,δ,s)

Dabei ist

K eine endliche Menge von Zuständen mith6∈K, (hist derHaltezustand)

Σein Alphabet mitL,R6∈Σ,#∈Σ,

δ:K×Σ→(K∪ {h})×(Σ∪ {L,R})eine Übergangsfunktion s∈K ein Startzustand.

Anzahl der Zustände: |K| −1 (Startzustand wird nicht mitgezählt).

(20)

Definition 9.1 (Turing-Maschine (DTM))

Einedeterminierte Turing-Maschine (DTM)Mist ein Tupel M= (K,Σ,δ,s)

Dabei ist

K eine endliche Menge von Zuständen mith6∈K, (hist derHaltezustand)

Σein Alphabet mitL,R6∈Σ,#∈Σ,

δ:K×Σ→(K∪ {h})×(Σ∪ {L,R})eine Übergangsfunktion s∈K ein Startzustand.

Anzahl der Zustände: |K| −1 (Startzustand wird nicht mitgezählt).

(21)

Definition 9.1 (Turing-Maschine (DTM))

Einedeterminierte Turing-Maschine (DTM)Mist ein Tupel M= (K,Σ,δ,s)

Dabei ist

K eine endliche Menge von Zuständen mith6∈K, (hist derHaltezustand)

Σein Alphabet mitL,R6∈Σ,#∈Σ,

δ:K×Σ→(K∪ {h})×(Σ∪ {L,R})eine Übergangsfunktion s∈K ein Startzustand.

Anzahl der Zustände: |K| −1 (Startzustand wird nicht mitgezählt).

(22)

Definition 9.1 (Turing-Maschine (DTM))

Einedeterminierte Turing-Maschine (DTM)Mist ein Tupel M= (K,Σ,δ,s)

Dabei ist

K eine endliche Menge von Zuständen mith6∈K, (hist derHaltezustand)

Σein Alphabet mitL,R6∈Σ,#∈Σ,

δ:K×Σ→(K∪ {h})×(Σ∪ {L,R})eine Übergangsfunktion s∈K ein Startzustand.

Anzahl der Zustände: |K| −1 (Startzustand wird nicht mitgezählt).

(23)

Arbeitsschritt einer Turing-Maschine Übergang

δ(q,a) = (q0,x) bedeutet:

In Abhängigkeit

vom aktuellen Zustandq∈K

von dem Zeichena∈Σ, das unter dem Schreib-/Lesekopf steht geschieht folgendes:

entweder einSchritt nach links, fallsx=List oder einSchritt nach rechts, fallsx =Rist

oderdas Zeichena, das momentan unter dem Schreib-/Lesekopf steht, wirddurchb∈Σüberschreiben, fallsx =b∈Σ

derZustandwird zuq0∈K∪ {h}geändert,

(24)

Arbeitsschritt einer Turing-Maschine Übergang

δ(q,a) = (q0,x) bedeutet:

In Abhängigkeit

vom aktuellen Zustandq∈K

von dem Zeichena∈Σ, das unter dem Schreib-/Lesekopf steht geschieht folgendes:

entweder einSchritt nach links, fallsx=List oder einSchritt nach rechts, fallsx =Rist

oderdas Zeichena, das momentan unter dem Schreib-/Lesekopf steht, wirddurchb∈Σüberschreiben, fallsx =b∈Σ

derZustandwird zuq0∈K∪ {h}geändert,

(25)

Arbeitsschritt einer Turing-Maschine Übergang

δ(q,a) = (q0,x) bedeutet:

In Abhängigkeit

vom aktuellen Zustandq∈K

von dem Zeichena∈Σ, das unter dem Schreib-/Lesekopf steht geschieht folgendes:

entweder einSchritt nach links, fallsx=List oder einSchritt nach rechts, fallsx =Rist

oderdas Zeichena, das momentan unter dem Schreib-/Lesekopf steht, wirddurchb∈Σüberschreiben, fallsx =b∈Σ

derZustandwird zuq0∈K∪ {h}geändert,

(26)

Arbeitsschritt einer Turing-Maschine Übergang

δ(q,a) = (q0,x) bedeutet:

In Abhängigkeit

vom aktuellen Zustandq∈K

von dem Zeichena∈Σ, das unter dem Schreib-/Lesekopf steht geschieht folgendes:

entweder einSchritt nach links, fallsx=List oder einSchritt nach rechts, fallsx =Rist

oderdas Zeichena, das momentan unter dem Schreib-/Lesekopf steht, wirddurchb∈Σüberschreiben, fallsx =b∈Σ

derZustandwird zuq0∈K∪ {h}geändert,

(27)

Arbeitsschritt einer Turing-Maschine Übergang

δ(q,a) = (q0,x) bedeutet:

In Abhängigkeit

vom aktuellen Zustandq∈K

von dem Zeichena∈Σ, das unter dem Schreib-/Lesekopf steht geschieht folgendes:

entweder einSchritt nach links, fallsx=List oder einSchritt nach rechts, fallsx =Rist

oderdas Zeichena, das momentan unter dem Schreib-/Lesekopf steht, wirddurchb∈Σüberschreiben, fallsx =b∈Σ

derZustandwird zuq0∈K∪ {h}geändert,

(28)

Arbeitsschritt einer Turing-Maschine Übergang

δ(q,a) = (q0,x) bedeutet:

In Abhängigkeit

vom aktuellen Zustandq∈K

von dem Zeichena∈Σ, das unter dem Schreib-/Lesekopf steht geschieht folgendes:

entweder einSchritt nach links, fallsx=List oder einSchritt nach rechts, fallsx =Rist

oderdas Zeichena, das momentan unter dem Schreib-/Lesekopf steht, wirddurchb∈Σüberschreiben, fallsx =b∈Σ

derZustandwird zuq0∈K∪ {h}geändert,

(29)

Arbeitsschritt einer Turing-Maschine Übergang

δ(q,a) = (q0,x) bedeutet:

In Abhängigkeit

vom aktuellen Zustandq∈K

von dem Zeichena∈Σ, das unter dem Schreib-/Lesekopf steht geschieht folgendes:

entweder einSchritt nach links, fallsx=List oder einSchritt nach rechts, fallsx =Rist

oderdas Zeichena, das momentan unter dem Schreib-/Lesekopf steht, wirddurchb∈Σüberschreiben, fallsx =b∈Σ

derZustandwird zuq0∈K∪ {h}geändert,

(30)

Arbeitsschritt einer Turing-Maschine Übergang

δ(q,a) = (q0,x) bedeutet:

In Abhängigkeit

vom aktuellen Zustandq∈K

von dem Zeichena∈Σ, das unter dem Schreib-/Lesekopf steht geschieht folgendes:

entweder einSchritt nach links, fallsx=List oder einSchritt nach rechts, fallsx =Rist

oderdas Zeichena, das momentan unter dem Schreib-/Lesekopf steht, wirddurchb∈Σüberschreiben, fallsx =b∈Σ

derZustandwird zuq0∈K∪ {h}geändert,

(31)

Leerzeichen

Das spezielle Zeichen#(blank) ist das Leerzeichen.

Es ist nie Teil des Eingabeworts; man kann es u.a. dazu benutzen, Wörter voneinander abzugrenzen.

(32)

Begrenzung des Bandes

Das Band einer DTM isteinseitig unbeschränkt:

Nach rechts ist es unendlich lang.

Nach links hat es ein Ende.

Wenn eine DTM versucht, das Ende zu überschreiten, bleibt sie „hängen“.

In diesem Fallhält sie nicht.

(33)

Begrenzung des Bandes

Das Band einer DTM isteinseitig unbeschränkt:

Nach rechts ist es unendlich lang.

Nach links hat es ein Ende.

Wenn eine DTM versucht, das Ende zu überschreiten, bleibt sie „hängen“.

In diesem Fallhält sie nicht.

(34)

Begrenzung des Bandes

Das Band einer DTM isteinseitig unbeschränkt:

Nach rechts ist es unendlich lang.

Nach links hat es ein Ende.

Wenn eine DTM versucht, das Ende zu überschreiten, bleibt sie „hängen“.

In diesem Fall hält sie nicht.

(35)

Anfangskonfiguration

Ganz links auf dem Band steht ein Blank Direkt rechts davon steht das Eingabewort

Wenn eine DTM mehrere Eingabewörter hintereinander bekommt, sind sie durch Blanks getrennt.

Rechts vom letzten Eingabewort stehen nur noch Blanks.

Der Schreib-/Lesekopf der DTM steht auf dem Blank direkt rechts neben dem (letzten) Eingabewort.

Merke

Das Band enthält immer nur endlich viele Symbole, die keine Blanks sind.

(36)

Anfangskonfiguration

Ganz links auf dem Band steht ein Blank Direkt rechts davon steht das Eingabewort

Wenn eine DTM mehrere Eingabewörter hintereinander bekommt, sind sie durch Blanks getrennt.

Rechts vom letzten Eingabewort stehen nur noch Blanks.

Der Schreib-/Lesekopf der DTM steht auf dem Blank direkt rechts neben dem (letzten) Eingabewort.

Merke

Das Band enthält immer nur endlich viele Symbole, die keine Blanks sind.

(37)

Anfangskonfiguration

Ganz links auf dem Band steht ein Blank Direkt rechts davon steht das Eingabewort

Wenn eine DTM mehrere Eingabewörter hintereinander bekommt, sind sie durch Blanks getrennt.

Rechts vom letzten Eingabewort stehen nur noch Blanks.

Der Schreib-/Lesekopf der DTM steht auf dem Blank direkt rechts neben dem (letzten) Eingabewort.

Merke

Das Band enthält immer nur endlich viele Symbole, die keine Blanks sind.

(38)

Anfangskonfiguration

Ganz links auf dem Band steht ein Blank Direkt rechts davon steht das Eingabewort

Wenn eine DTM mehrere Eingabewörter hintereinander bekommt, sind sie durch Blanks getrennt.

Rechts vom letzten Eingabewort stehen nur noch Blanks.

Der Schreib-/Lesekopf der DTM steht auf dem Blank direkt rechts neben dem (letzten) Eingabewort.

Merke

Das Band enthält immer nur endlich viele Symbole, die keine Blanks sind.

(39)

Anfangskonfiguration

Ganz links auf dem Band steht ein Blank Direkt rechts davon steht das Eingabewort

Wenn eine DTM mehrere Eingabewörter hintereinander bekommt, sind sie durch Blanks getrennt.

Rechts vom letzten Eingabewort stehen nur noch Blanks.

Der Schreib-/Lesekopf der DTM steht auf dem Blank direkt rechts neben dem (letzten) Eingabewort.

Merke

Das Band enthält immer nur endlich viele Symbole, die keine Blanks sind.

(40)

Anfangskonfiguration

Ganz links auf dem Band steht ein Blank Direkt rechts davon steht das Eingabewort

Wenn eine DTM mehrere Eingabewörter hintereinander bekommt, sind sie durch Blanks getrennt.

Rechts vom letzten Eingabewort stehen nur noch Blanks.

Der Schreib-/Lesekopf der DTM steht auf dem Blank direkt rechts neben dem (letzten) Eingabewort.

Merke

Das Band enthält immer nur endlich viele Symbole, die keine Blanks sind.

(41)

Anfangskonfiguration

Ganz links auf dem Band steht ein Blank Direkt rechts davon steht das Eingabewort

Wenn eine DTM mehrere Eingabewörter hintereinander bekommt, sind sie durch Blanks getrennt.

Rechts vom letzten Eingabewort stehen nur noch Blanks.

Der Schreib-/Lesekopf der DTM steht auf dem Blank direkt rechts neben dem (letzten) Eingabewort.

Merke

Das Band enthält immer nur endlich viele Symbole, die keine Blanks sind.

(42)

Beispiel 9.2 (R(a):a’s durchb’s ersetzen)

Die folgende Turing-MaschineR(a)erwarteteinEingabewort.

Sie liest es von rechts nach links einmal durch und macht dabei jedesazu einemb.

Es ist

R(a)= ({q0,q1},{a,b,#},δ,q0) mit folgenderδ-Funktion:

q0,#7→q1,L q1,#7→ h,#

q0,a7→q0,a q1,a7→q1,b q0,b7→q0,b q1,b7→q1,L

(43)

Beispiel 9.2 (R(a):a’s durchb’s ersetzen)

Die folgende Turing-MaschineR(a)erwarteteinEingabewort.

Sie liest es von rechts nach links einmal durch und macht dabei jedesazu einemb.

Es ist

R(a)= ({q0,q1},{a,b,#},δ,q0) mit folgenderδ-Funktion:

q0,#7→q1,L q1,#7→ h,#

q0,a7→q0,a q1,a7→q1,b q0,b7→q0,b q1,b7→q1,L

(44)

Beispiel 9.2 (R(a):a’s durchb’s ersetzen)

Die folgende Turing-MaschineR(a)erwarteteinEingabewort.

Sie liest es von rechts nach links einmal durch und macht dabei jedesazu einemb.

Es ist

R(a)= ({q0,q1},{a,b,#},δ,q0) mit folgenderδ-Funktion:

q0,#7→q1,L q1,#7→ h,#

q0,a7→q0,a q1,a7→q1,b q0,b7→q0,b q1,b7→q1,L

(45)

Beispiel 9.3 (L#)

Die folgende Turing-MaschineL#läuft zum ersten Blank links von der momentanen Position.

Es istL#= ({q0,q1},{a,b,#},δ,q0)mit folgenderδ-Funktion:

q0,#7→q1,L q1,#7→ h,# q0,a7→q1,L q1,a7→q1,L q0,b7→q1,L q1,b7→q1,L q0: Anfangsposition

q1: Anfangsposition verlassen

(46)

Beispiel 9.3 (L#)

Die folgende Turing-MaschineL#läuft zum ersten Blank links von der momentanen Position.

Es istL#= ({q0,q1},{a,b,#},δ,q0)mit folgenderδ-Funktion:

q0,#7→q1,L q1,#7→ h,# q0,a7→q1,L q1,a7→q1,L q0,b7→q1,L q1,b7→q1,L q0: Anfangsposition

q1: Anfangsposition verlassen

(47)

Beispiel 9.3 (L#)

Die folgende Turing-MaschineL#läuft zum ersten Blank links von der momentanen Position.

Es istL#= ({q0,q1},{a,b,#},δ,q0)mit folgenderδ-Funktion:

q0,#7→q1,L q1,#7→ h,# q0,a7→q1,L q1,a7→q1,L q0,b7→q1,L q1,b7→q1,L q0: Anfangsposition

q1: Anfangsposition verlassen

(48)

Beispiel 9.3 (L#)

Die folgende Turing-MaschineL#läuft zum ersten Blank links von der momentanen Position.

Es istL#= ({q0,q1},{a,b,#},δ,q0)mit folgenderδ-Funktion:

q0,#7→q1,L q1,#7→ h,# q0,a7→q1,L q1,a7→q1,L q0,b7→q1,L q1,b7→q1,L q0: Anfangsposition

q1: Anfangsposition verlassen

(49)

Beispiel 9.4 (Copy)

Die folgende DTMCerhält als Eingabe einen String Einsen.

Dieser String wird kopiert:

FallsnEinsen auf dem Band stehen, stehen nach Ausführung vonC2n Einsen auf dem Band stehen, (getrennt durch ein Blank#).

state # 1 c

q0 hq1,ci − − q1 hq2,Ri hq1,Li hq1,Li q2 − hq3,#i hq7,#i q3 hq4,Ri − − q4 hq5,1i hq4,Ri hq4,Ri q5 hq6,1i hq5,Li hq5,Li q6 − hq2,Ri − q7 hq8,Ri − − q8 hh,#i hq8,Ri −

(50)

Beispiel 9.4 (Copy)

Die folgende DTMCerhält als Eingabe einen String Einsen.

Dieser String wird kopiert:

FallsnEinsen auf dem Band stehen, stehen nach Ausführung vonC2n Einsen auf dem Band stehen, (getrennt durch ein Blank#).

state # 1 c

q0 hq1,ci − − q1 hq2,Ri hq1,Li hq1,Li q2 − hq3,#i hq7,#i q3 hq4,Ri − − q4 hq5,1i hq4,Ri hq4,Ri q5 hq6,1i hq5,Li hq5,Li q6 − hq2,Ri − q7 hq8,Ri − − q8 hh,#i hq8,Ri −

(51)

Beispiel 9.4 (Copy)

Die folgende DTMCerhält als Eingabe einen String Einsen.

Dieser String wird kopiert:

FallsnEinsen auf dem Band stehen, stehen nach Ausführung vonC2n Einsen auf dem Band stehen, (getrennt durch ein Blank#).

state # 1 c

q0 hq1,ci − − q1 hq2,Ri hq1,Li hq1,Li q2 − hq3,#i hq7,#i q3 hq4,Ri − − q4 hq5,1i hq4,Ri hq4,Ri q5 hq6,1i hq5,Li hq5,Li q6 − hq2,Ri − q7 hq8,Ri − − q8 hh,#i hq8,Ri −

(52)

Übergangsfunktionδnicht überall definiert

Wir erlauben ab jetzt auch, daßδnicht überall definiert ist.

Falls die DTM dann in einen solchen nichtdefinierten Zustand kommt, sagen wirdie DTM hängt. Siehältalso nicht.

Dies wird z.T. in der Literatur anders gehandhabt.

(53)

Übergangsfunktionδnicht überall definiert

Wir erlauben ab jetzt auch, daßδnicht überall definiert ist.

Falls die DTM dann in einen solchen nichtdefinierten Zustand kommt, sagen wirdie DTM hängt. Siehältalso nicht.

Dies wird z.T. in der Literatur anders gehandhabt.

(54)

Übergangsfunktionδnicht überall definiert

Wir erlauben ab jetzt auch, daßδnicht überall definiert ist.

Falls die DTM dann in einen solchen nichtdefinierten Zustand kommt, sagen wirdie DTM hängt. Siehältalso nicht.

Dies wird z.T. in der Literatur anders gehandhabt.

(55)

Beispiel 9.5 (Printn)

Für jedesn∈Nkonstruieren wir eine Maschine, die genaunEinsen auf das leere Band schreibt (mit möglichst wenig Zuständen):

1 schreibebn2cviele Einsen auf das Band (höchstensbn

2cZustände)

2 kopiere diesen String (8 Zustände)

3 ersetze das trennende # durch eine 1

4 fallsngerade ist, ersetzen die letzte 1 durch # (2 neue Zustände) Insgesamt können wirnEinsen mit höchstensbn2c+10 Zuständen konstruieren

(56)

Beispiel 9.5 (Printn)

Für jedesn∈Nkonstruieren wir eine Maschine, die genaunEinsen auf das leere Band schreibt (mit möglichst wenig Zuständen):

1 schreibebn2cviele Einsen auf das Band (höchstensbn

2cZustände)

2 kopiere diesen String (8 Zustände)

3 ersetze das trennende # durch eine 1

4 fallsngerade ist, ersetzen die letzte 1 durch # (2 neue Zustände) Insgesamt können wirnEinsen mit höchstensbn2c+10 Zuständen konstruieren

(57)

Beispiel 9.5 (Printn)

Für jedesn∈Nkonstruieren wir eine Maschine, die genaunEinsen auf das leere Band schreibt (mit möglichst wenig Zuständen):

1 schreibebn2cviele Einsen auf das Band (höchstensbn

2cZustände)

2 kopiere diesen String (8 Zustände)

3 ersetze das trennende # durch eine 1

4 fallsngerade ist, ersetzen die letzte 1 durch # (2 neue Zustände) Insgesamt können wirnEinsen mit höchstensbn2c+10 Zuständen konstruieren

(58)

Beispiel 9.5 (Printn)

Für jedesn∈Nkonstruieren wir eine Maschine, die genaunEinsen auf das leere Band schreibt (mit möglichst wenig Zuständen):

1 schreibebn2cviele Einsen auf das Band (höchstensbn

2cZustände)

2 kopiere diesen String (8 Zustände)

3 ersetze das trennende # durch eine 1

4 fallsngerade ist, ersetzen die letzte 1 durch # (2 neue Zustände)

Insgesamt können wirnEinsen mit höchstensbn2c+10 Zuständen konstruieren

(59)

Beispiel 9.5 (Printn)

Für jedesn∈Nkonstruieren wir eine Maschine, die genaunEinsen auf das leere Band schreibt (mit möglichst wenig Zuständen):

1 schreibebn2cviele Einsen auf das Band (höchstensbn

2cZustände)

2 kopiere diesen String (8 Zustände)

3 ersetze das trennende # durch eine 1

4 fallsngerade ist, ersetzen die letzte 1 durch # (2 neue Zustände) Insgesamt können wirnEinsen mit höchstensbn2c+10 Zuständen konstruieren

(60)

Beispiel 9.5 (Printn)

Für jedesn∈Nkonstruieren wir eine Maschine, die genaunEinsen auf das leere Band schreibt (mit möglichst wenig Zuständen):

1 schreibebn2cviele Einsen auf das Band (höchstensbn

2cZustände)

2 kopiere diesen String (8 Zustände)

3 ersetze das trennende # durch eine 1

4 fallsngerade ist, ersetzen die letzte 1 durch # (2 neue Zustände) Insgesamt können wirnEinsen mit höchstensbn2c+10 Zuständen konstruieren

(61)

Begriff der Konfigurationen

Konfigurationbeschreibt diekompletteaktuelle Situation der Maschine in einer Rechnung.

EineRechnungist eine Folge von Konfigurationen,

wobei immer von einer Konfiguration zu einer Nachfolgekonfiguration übergegangen wird.

Konfiguration einer DTM Besteht aus 4 Elementen:

das aktuellen Zustandq,

das Wortwlinks vom Schreib-/Lesekopf, das Zeichena, auf dem der Kopf gerade steht, das Worturechts von der aktuellen Kopfposition.

(62)

Begriff der Konfigurationen

Konfigurationbeschreibt diekompletteaktuelle Situation der Maschine in einer Rechnung.

EineRechnungist eine Folge von Konfigurationen,

wobei immer von einer Konfiguration zu einer Nachfolgekonfiguration übergegangen wird.

Konfiguration einer DTM Besteht aus 4 Elementen:

das aktuellen Zustandq,

das Wortwlinks vom Schreib-/Lesekopf, das Zeichena, auf dem der Kopf gerade steht, das Worturechts von der aktuellen Kopfposition.

(63)

Begriff der Konfigurationen

Konfigurationbeschreibt diekompletteaktuelle Situation der Maschine in einer Rechnung.

EineRechnungist eine Folge von Konfigurationen,

wobei immer von einer Konfiguration zu einer Nachfolgekonfiguration übergegangen wird.

Konfiguration einer DTM Besteht aus 4 Elementen:

das aktuellen Zustandq,

das Wortwlinks vom Schreib-/Lesekopf, das Zeichena, auf dem der Kopf gerade steht, das Worturechts von der aktuellen Kopfposition.

(64)

Begriff der Konfigurationen

Konfigurationbeschreibt diekompletteaktuelle Situation der Maschine in einer Rechnung.

EineRechnungist eine Folge von Konfigurationen,

wobei immer von einer Konfiguration zu einer Nachfolgekonfiguration übergegangen wird.

Konfiguration einer DTM Besteht aus 4 Elementen:

das aktuellen Zustandq,

das Wortwlinks vom Schreib-/Lesekopf, das Zeichena, auf dem der Kopf gerade steht, das Worturechts von der aktuellen Kopfposition.

(65)

Begriff der Konfigurationen

Konfigurationbeschreibt diekompletteaktuelle Situation der Maschine in einer Rechnung.

EineRechnungist eine Folge von Konfigurationen,

wobei immer von einer Konfiguration zu einer Nachfolgekonfiguration übergegangen wird.

Konfiguration einer DTM Besteht aus 4 Elementen:

das aktuellen Zustandq,

das Wortwlinks vom Schreib-/Lesekopf, das Zeichena, auf dem der Kopf gerade steht, das Worturechts von der aktuellen Kopfposition.

(66)

Begriff der Konfigurationen

Konfigurationbeschreibt diekompletteaktuelle Situation der Maschine in einer Rechnung.

EineRechnungist eine Folge von Konfigurationen,

wobei immer von einer Konfiguration zu einer Nachfolgekonfiguration übergegangen wird.

Konfiguration einer DTM Besteht aus 4 Elementen:

das aktuellen Zustandq,

das Wortwlinks vom Schreib-/Lesekopf, das Zeichena, auf dem der Kopf gerade steht, das Worturechts von der aktuellen Kopfposition.

(67)

Begriff der Konfigurationen

Konfigurationbeschreibt diekompletteaktuelle Situation der Maschine in einer Rechnung.

EineRechnungist eine Folge von Konfigurationen,

wobei immer von einer Konfiguration zu einer Nachfolgekonfiguration übergegangen wird.

Konfiguration einer DTM Besteht aus 4 Elementen:

das aktuellen Zustandq,

das Wortwlinks vom Schreib-/Lesekopf, das Zeichena, auf dem der Kopf gerade steht, das Worturechts von der aktuellen Kopfposition.

(68)

Konfigurationen sind endlich

wenthält das Anfangsstück des Bandes vom linken Ende bis zur aktuellen Kopfposition.

Links ist das Band endlich!

w=εbedeutet, daß der Kopf ganz links steht

uenthält den Bandinhalt rechts vom Schreib-/Lesekopf bis zum letzten Zeichen, das kein Blank ist.

Nach rechts ist das Band unendlich, aber es enthält nach rechts von einer bestimmten Bandposition an nur noch Blanks.

u=εbedeutet, daß rechts vom Schreib-/Lesekopf nur noch Blanks stehen.

(69)

Konfigurationen sind endlich

wenthält das Anfangsstück des Bandes vom linken Ende bis zur aktuellen Kopfposition.

Links ist das Band endlich!

w=εbedeutet, daß der Kopf ganz links steht

uenthält den Bandinhalt rechts vom Schreib-/Lesekopf bis zum letzten Zeichen, das kein Blank ist.

Nach rechts ist das Band unendlich, aber es enthält nach rechts von einer bestimmten Bandposition an nur noch Blanks.

u=εbedeutet, daß rechts vom Schreib-/Lesekopf nur noch Blanks stehen.

(70)

Konfigurationen sind endlich

wenthält das Anfangsstück des Bandes vom linken Ende bis zur aktuellen Kopfposition.

Links ist das Band endlich!

w=εbedeutet, daß der Kopf ganz links steht

uenthält den Bandinhalt rechts vom Schreib-/Lesekopf bis zum letzten Zeichen, das kein Blank ist.

Nach rechts ist das Band unendlich, aber es enthält nach rechts von einer bestimmten Bandposition an nur noch Blanks.

u=εbedeutet, daß rechts vom Schreib-/Lesekopf nur noch Blanks stehen.

(71)

Konfigurationen sind endlich

wenthält das Anfangsstück des Bandes vom linken Ende bis zur aktuellen Kopfposition.

Links ist das Band endlich!

w=εbedeutet, daß der Kopf ganz links steht

uenthält den Bandinhalt rechts vom Schreib-/Lesekopf bis zum letzten Zeichen, das kein Blank ist.

Nach rechts ist das Band unendlich, aber es enthält nach rechts von einer bestimmten Bandposition an nur noch Blanks.

u=εbedeutet, daß rechts vom Schreib-/Lesekopf nur noch Blanks stehen.

(72)

Definition 9.6 (Konfiguration einer DTM)

EineKonfigurationCeiner DTMM= (K,Σ,δ,s)ist ein Wort der Form C=q,w au. Dabei ist

q∈K∪ {h}der aktuelle Zustand, w∈Σder Bandinhalt links des Kopfes,

a∈Σdas Bandzeichen unter der Schreib-/Lesekopf.

Notation:Die Position des Schreib-/Lesekopfes ist durch einen Unterstrich gekennzeichnet.

u∈Σ(Σ− {#})∪ {ε}der Bandinhalt rechts des Kopfes.

(73)

Definition 9.6 (Konfiguration einer DTM)

EineKonfigurationCeiner DTMM= (K,Σ,δ,s)ist ein Wort der Form C=q,w au. Dabei ist

q∈K∪ {h}der aktuelle Zustand, w∈Σder Bandinhalt links des Kopfes,

a∈Σdas Bandzeichen unter der Schreib-/Lesekopf.

Notation:Die Position des Schreib-/Lesekopfes ist durch einen Unterstrich gekennzeichnet.

u∈Σ(Σ− {#})∪ {ε}der Bandinhalt rechts des Kopfes.

(74)

Definition 9.6 (Konfiguration einer DTM)

EineKonfigurationCeiner DTMM= (K,Σ,δ,s)ist ein Wort der Form C=q,w au. Dabei ist

q∈K∪ {h}der aktuelle Zustand, w∈Σder Bandinhalt links des Kopfes,

a∈Σdas Bandzeichen unter der Schreib-/Lesekopf.

Notation:Die Position des Schreib-/Lesekopfes ist durch einen Unterstrich gekennzeichnet.

u∈Σ(Σ− {#})∪ {ε}der Bandinhalt rechts des Kopfes.

(75)

Definition 9.6 (Konfiguration einer DTM)

EineKonfigurationCeiner DTMM= (K,Σ,δ,s)ist ein Wort der Form C=q,w au. Dabei ist

q∈K∪ {h}der aktuelle Zustand, w∈Σder Bandinhalt links des Kopfes,

a∈Σdas Bandzeichen unter der Schreib-/Lesekopf.

Notation:Die Position des Schreib-/Lesekopfes ist durch einen Unterstrich gekennzeichnet.

u∈Σ(Σ− {#})∪ {ε}der Bandinhalt rechts des Kopfes.

(76)

Definition 9.7 (Nachfolgekonfiguration)

Eine Konfiguration

C2

heißt

Nachfolgekonfiguration

von

C1

, in Zeichen

C1

`

MC2

falls gilt:

Ci

=

qi

,

wiaiui

für

i

∈ { 1 , 2 } , und

es gibt einen Übergang δ(

q1

,

a1

) = (

q2

,

b

) wie folgt:

Fall 1:

b

∈ Σ.

Dann istw1

=

w2

,

u1

=

u2

,

a2

=

b.

Fall 2:

b

=

L

.

Dann gilt fürw2unda2:w1

=

w2a2.

Füru2gilt: Wenna1

= #

undu1

= ε

ist, so istu2

= ε

, sonst istu2

=

a1u1.

Fall 3:

b

=

R

.

Dann istw2

=

w1a1.

Füra2undu2gilt: Wennu1

= ε

ist, dann istu2

= ε

unda2

= #

, ansonsten istu1

=

a2u2.

(77)

Definition 9.7 (Nachfolgekonfiguration)

Eine Konfiguration

C2

heißt

Nachfolgekonfiguration

von

C1

, in Zeichen

C1

`

MC2

falls gilt:

Ci

=

qi

,

wiaiui

für

i

∈ { 1 , 2 } , und

es gibt einen Übergang δ(

q1

,

a1

) = (

q2

,

b

) wie folgt:

Fall 1:

b

∈ Σ. Dann ist

w1

=

w2

,

u1

=

u2

,

a2

=

b.

Fall 2:

b

=

L

.

Dann gilt fürw2unda2:w1

=

w2a2.

Füru2gilt: Wenna1

= #

undu1

= ε

ist, so istu2

= ε

, sonst istu2

=

a1u1.

Fall 3:

b

=

R

.

Dann istw2

=

w1a1.

Füra2undu2gilt: Wennu1

= ε

ist, dann istu2

= ε

unda2

= #

, ansonsten istu1

=

a2u2.

(78)

Definition 9.7 (Nachfolgekonfiguration)

Eine Konfiguration

C2

heißt

Nachfolgekonfiguration

von

C1

, in Zeichen

C1

`

MC2

falls gilt:

Ci

=

qi

,

wiaiui

für

i

∈ { 1 , 2 } , und

es gibt einen Übergang δ(

q1

,

a1

) = (

q2

,

b

) wie folgt:

Fall 1:

b

∈ Σ. Dann ist

w1

=

w2

,

u1

=

u2

,

a2

=

b.

Fall 2:

b

=

L

. Dann gilt für

w2

und

a2

:

w1

=

w2a2

.

Für

u2

gilt: Wenn

a1

= # und

u1

= ε ist, so ist

u2

= ε , sonst ist

u2

=

a1u1

.

Fall 3:

b

=

R

.

Dann istw2

=

w1a1.

Füra2undu2gilt: Wennu1

= ε

ist, dann istu2

= ε

unda2

= #

, ansonsten istu1

=

a2u2.

Referenzen

ÄHNLICHE DOKUMENTE

(bspw. für Algorithmentechnik, Software Engineering, Compilerbau) hilft, weitere Themen/Vorlesungen der Informatik zu verstehen veraltet nicht.

Zudem darf an der Nachklausur (wie auch an den Teilklausuren) teilnehmen, wer an einer Prüfung zu „Einführung in die Theoretische Informatik I“ in frühren Semestern teilgenommen

Diese Vorlesungsmaterialien basieren ganz wesentlich auf den Folien zu den Vorlesungen von. Katrin Erk (gehalten an der Universität Koblenz-Landau) Jürgen Dix (gehalten an der

Diese Vorlesungsmaterialien basieren ganz wesentlich auf den Folien zu den Vorlesungen von. Katrin Erk (gehalten an der Universität Koblenz-Landau) Jürgen Dix (gehalten an der

Jede Regelprämisse muss mindestens eine Variable enthalten Das Wort kann im Lauf der Ableitung beliebig wachsen und wieder schrumpfen. (Weitere) Beschränkung der Form, die Regeln

Jede Regelprämisse muss mindestens eine Variable enthalten Das Wort kann im Lauf der Ableitung beliebig wachsen und wieder schrumpfen. (Weitere) Beschränkung der Form, die Regeln

Ein Algorithmus für ein Problem P ist eine Vorschrift (ein Programm), die zu beliebigem Objekt o berechnet, ob die Eigenschaft für o zutrifft oder nicht..Q. Probleme und Algorithmen

Ein Algorithmus für ein Problem P ist eine Vorschrift (ein Programm), die zu beliebigem Objekt o berechnet, ob die Eigenschaft für o zutrifft oder