• Keine Ergebnisse gefunden

Idee des Push-Down-Automaten

N/A
N/A
Protected

Academic year: 2021

Aktie "Idee des Push-Down-Automaten"

Copied!
6
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Vorlesung

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

Bernhard Beckert

Institut für Informatik

Sommersemester 2007

B. Beckert – Grundlagen d. Theoretischen Informatik: SS 2007 1 / 359

Dank

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

B. Beckert – Grundlagen d. Theoretischen Informatik: SS 2007 2 / 359

Teil IV

1 Ableitungsbäume

2 Umformung von Grammatiken

3 Normalformen

4 Pumping-Lemma für kontextfreie Sprachen

5 Pushdown-Automaten (PDAs)

6 Abschlusseigenschaften

7 Wortprobleme

8 Der CYK-Algorithmus

Erzeugende Grammatiken – akzeptierende Automaten

Erinnerung: Reguläre Sprachen

werden erzeugt von rechtslinearen Grammatiken werden akzeptiert von endlichen Automaten

Jetzt: Kontextfreie Sprachen

werden erzeugt von kontextfreien Grammatiken werden akzeptiert vonPushdown-Automaten

(2)

Idee des Push-Down-Automaten

Beispiel 22.1

Die „prototypische“ cf-Sprache

{

anbn

|

n

N0

}

Endliche Automaten reichen nicht aus.

Sie können sich nicht merken, wie oft sie einen Zustand durchlaufen haben.

Füranbnmuss man abermitzählen.

B. Beckert – Grundlagen d. Theoretischen Informatik: Pushdown-Automaten (PDAs) SS 2007 275 / 359

Idee des Push-Down-Automaten

Idee: Wie kann man diese Sprache akzeptieren?

Weitere Informationen auf demStacksichern Späterzurückholen

Ähnlich einem „Prozeduraufruf“

Grammatikregel wieS

aAbentspricht Aufruf einer Prozedur für dasA.

Stack, Stapel, Keller Last in, first out

Zuletzt gespeicherte Information liegt immer „obenauf“

Beliebig viel Information kann gespeichert werden (Aber kein beliebiger Zugriff!)

B. Beckert – Grundlagen d. Theoretischen Informatik: Pushdown-Automaten (PDAs) SS 2007 276 / 359

Push-Down-Automat

Push-Down-Automat (PDA): Informell

Wie endlicher Automat, aberzusätzlichereinen Stack

Übergangsrelation bezieht das oberste Stacksymbol in den Übergang ein Bei Zustandsübergang: lesen und schreiben auf Stack

Push-Down-Automat

Definition 22.2 (Push-Down-Automat) EinPush-Down-Automat (PDA)ist ein Tupel

M

= (

K

, Σ,Γ,∆,

s0

,

Z0

,

F

)

Dabei ist

K eine endliche Menge von Zuständen

Σ

das Eingabealphabet

Γ

das Stack- oder Kelleralphabet s0

K der Startzustand

Z0

∈ Γ

das Anfangssymbol im Keller F

K eine Menge von finalen Zuständen

die Zustandsübergangsrelation, eine endliche Relation:

∆ ⊂ (

K

× (Σ∪ {ε}) × Γ) × (

K

×Γ

)

(3)

Push-Down-Automat

Arbeitsschritt eines PDA

In Abhängigkeit

vom aktuellen Zustand

vom nächsten Eingabezeichen (oder auch unabhängig davon) vom obersten Kellersymbol

geschieht folgendes

nächstesEingabezeichenwirdgelesen oder nicht(bei

ε

), das obersteKellersymbolwirdentfernt,

derZustandwirdgeändert,

es werden null oder mehrZeichen auf den Kellergeschoben Bei neuen Keller-Wort

γ =

A1

. . .

AnwirdAnzuerst auf den Keller geschoben usw., so daß am SchlussA1obenauf liegt.

B. Beckert – Grundlagen d. Theoretischen Informatik: Pushdown-Automaten (PDAs) SS 2007 279 / 359

Push-Down-Automat

Notation

a

,

b

,

cfür Buchstaben aus

Σ

u

,

v

,

wfür Wörter aus

Σ

A

,

Bfür Stacksymbole aus

Γ γ,η

für Stackinhalte aus

Γ

B. Beckert – Grundlagen d. Theoretischen Informatik: Pushdown-Automaten (PDAs) SS 2007 280 / 359

Push-Down-Automat: Konfiguration

Konfiguration eines PDA: Informell

Konfiguration beschreibt die aktuelle Situation des PDAkomplett Bestandteile:

aktueller Zustand

noch zu lesendes Restwort kompletter Stackinhalt

Für KonfigurationenC1

,

C2bedeutet

C1

`

C2

daß der PDA in einem Schritt vonC1nachC2gelangen kann.

Push-Down-Automat: Konfiguration

Definition 22.3 (Konfiguration eines PDA,`)

EineKonfigurationCeines PDAM

= (

K

,Σ,Γ,∆,

s0

,

Z0

,

F

)

ist ein Tripel

(

q

,

w

,γ) ∈

K

× Σ

× Γ

.

qder aktuelle Zustand

wder noch zu lesendes Restwort

γ

der komplette Stackinhalt

Definition 22.4 (Startkonfiguration)

Bei Eingabewortwist dieStartkonfiguration:

(

s0

,

w

,

Z0

)

(4)

Push-Down-Automat: Konfiguration

Definition 22.5 (Nachfolgekonfiguration) C2heißtNachfolgekonfigurationvonC1,

C1

`

C2

falls

a

∈ Σ ∃

A

∈ Γ ∃

w

∈ Σ

∃γ,η ∈ Γ

so dass

entweder C1

= (

q1

,

aw

,

A

γ)

,C2

= (

q2

,

w

, ηγ

), und

(

q1

,

a

,

A

) ∆ (

q2

,η)

, oder C1

= (

q1

,

w

,

A

γ)

,C2

= (

q2

,

w

, ηγ)

, und

(

q1

,ε,

A

) ∆ (

q2

,η)

,

B. Beckert – Grundlagen d. Theoretischen Informatik: Pushdown-Automaten (PDAs) SS 2007 283 / 359

Push-Down-Automat: Rechnung

Definition 22.6 (Rechnung eines PDA) SeiAein Push-Down-Automat.

C

`

AC0

gdw es eine Reihe von Konfigurationen

C0

,

C1

, . . . ,

Cn

(

n

0

)

so daß C

=

C0, C0

=

Cn,

Ci

`

ACi+1für alle 0

i

<

n

Dann heißtC0

,

C1

, . . . ,

CneineRechnungvonA

B. Beckert – Grundlagen d. Theoretischen Informatik: Pushdown-Automaten (PDAs) SS 2007 284 / 359

Push-Down-Automat: Akzeptierte Sprache

Definition 22.7 (von PDA akzeptierte Sprache)

Ein PDAMkann auf zwei verschiedene Arten eine Sprache akzeptieren:

überfinale Zustände überleeren Keller

Lf

(

M

) = {

w

∈ Σ

| ∃

q

F

∃γ ∈ Γ

(

s0

,

w

,

Z0

) `

M

(

q

,ε,γ) }

Ll

(

M

) = {

w

∈ Σ

| ∃

q

K

(

s0

,

w

,

Z0

) `

M

(

q

,ε,ε)

}

Bemerkung

Das zu akzeptierende Wortwmuss vonMganz gelesen werden:

(

s0

,

w

,

Z0

) `

(

q

, ε,·)

ist gefordert.

Push-Down-Automat

Bemerkung

Das unterste Symbol im Keller kann gelöscht werden.

Dann aberhängtder PDA

Er kann nicht mehr weiter rechnen Es gibt keineNachfolgekonfiguration

(5)

Push-Down-Automat: Beispiel

Beispiel 22.8

Sprache der Palindrome über

{

a

,

b

}

:

L

= {

w

∈ {

a

,

b

}

|

w

=

wR

}

Lwird über leeren Keller akzeptiert von dem PDA

M:= ({s0

,

s1

},{

a

,

b

}, {

Z0

,

A

,

B

},∆,

s0

,

Z0

, 0) /

mit . . .

B. Beckert – Grundlagen d. Theoretischen Informatik: Pushdown-Automaten (PDAs) SS 2007 287 / 359

Push-Down-Automat: Beispiel

Beispiel (Forts.) Idee:

Ein Palindromw

=

wRhat die Form

vvR oder vavR oder vbvR

für einv

∈ {

a

,

b

}

Der AutomatMliestv und merkt sich jeden Buchstaben.

Er rät indeterminiert die Wortmitte.

Falls das Wort eine ungerade Anzahl von Buchstaben hat, alsow

=

vavRoderw

=

vbvR,

dann muss dabei ein Buchstabe überlesen werden.

Der Stack enthält nunvR.

Mmuss jetzt nur noch jeden weiteren gelesenen Buchstaben mit dem jeweils obersten Kellersymbol vergleichen.

B. Beckert – Grundlagen d. Theoretischen Informatik: Pushdown-Automaten (PDAs) SS 2007 288 / 359

Push-Down-Automat: Beispiel

Beispiel (Forts.)

(

s0

, ε,

Z0

) ∆ (

s1

, ε) ε

akzeptieren

(

s0

,

a

,

Z0

) ∆ (

s0

,

A

) (

s0

,

a

,

A

) ∆ (

s0

,

AA

) (

s0

,

a

,

B

) ∆ (

s0

,

AB

) (

s0

,

b

,

Z0

) ∆ (

s0

,

B

) (

s0

,

b

,

A

) ∆ (

s0

,

BA

) (

s0

,

b

,

B

) ∆ (

s0

,

BB

)













Stack aufbauen

Push-Down-Automat: Beispiel

Beispiel (Forts.)

(

s0

,ε,

A

) ∆ (

s1

,ε) (

s0

,ε,

B

) ∆ (

s1

,ε)

Richtungswechsel für Palindrome mit ungerader Buchstabenanzahl

(

s0

,

a

,

A

) ∆ (

s1

,ε) (

s0

,

b

,

B

) ∆ (

s1

,ε)

Richtungswechsel für Palindrome mit gerader Buchstabenanzahl

(

s1

,

a

,

A

) ∆ (

s1

,ε) (

s1

,

b

,

B

) ∆ (

s1

,ε)

Stack abbauen

(6)

Push-Down-Automat: Beispiel

Beispiel (Forts.)

Für das EingabewortabbabbarechnetMso:

(

s0

,

abbabba

,

Z0

) ` (

s0

,

bbabba

,

A

) ` (

s0

,

babba

,

BA

) ` (

s0

,

abba

,

BBA

) ` (

s0

,

bba

,

ABBA

) ` (

s1

,

bba

,

BBA

) `

(

s1

,

ba

,

BA

) ` (

s1

,

a

,

A

) ` (

s1

,ε,ε)

B. Beckert – Grundlagen d. Theoretischen Informatik: Pushdown-Automaten (PDAs) SS 2007 291 / 359

Referenzen

ÄHNLICHE DOKUMENTE

„Wir sind erleichtert, dass die Erweiterung vorerst nicht vorangetrieben wird und hoffen, dass in der Gemeinde nun eine zukunftsfähige Lösung für die Entwicklung des

Deshalb habe ich jetzt meinen ganzen Mut für diese Zeilen zusammen genom- men, suche SIE, die Frau, die mit mir eine fröhliche Zukunft in allen Ehren erleben möchte, die auch

Alternative: Stammzelltransplan- tation Handelt es sich um jüngere Pa- tienten in gutem Allgemeinzustand oder spricht die Leukämie nicht auf eine Chemotherapie an, kann auch

Die Schüler lernen hier nicht nur ver- antwortungsbewußtes Handeln für eine größere Gemeinschaft, sondern können handwerkl. kreative Fä- higkeiten

Tatsächlich sorgte die brasilianische Regierung für einen der wenigen Höhe- punkte der Konferenz, als sie einen konkreten nationalen Klimaplan vorlegte, in dessen Mittelpunkt

Zu einer Zeit, als Est- land noch Bestandteil der Sowjetdiktatur und die Sehn- sucht nach Selbständigkeit allseits vorhanden war, be- schrieb Kross einen Kampf der

Hoffen wir mal auf herbstliche Temperaturen und moderaten Regen, aber möglichst nur nachts, sodass wir auch im November noch viel Zeit beim Sport oder beim Entspannen

Die Liebe als Basis Wie gut, wenn es Angehörige wie Söhne, Töchter oder sonstige Verwandte gibt, die einen pflege- oder betreuungsbe- dürftigen alten Menschen bei sich