• Keine Ergebnisse gefunden

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

N/A
N/A
Protected

Academic year: 2021

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

Copied!
3
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 / 112

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 / 112

Inhalt von Teil II

In den folgenden Abschnitten führen wir die Begriffe Sprache

Grammatik ein.

Wir untersuchen insbesondere

1 wie man Probleme aus der Mathematik, Graphentheorie, Logik als Probleme über Sprachenformulieren kann.

2 wie man Klassen von Grammatiken von steigendem Schwierigkeitsgrad definiert:Chomsky-Hierarchie.

3 wievieleGrammatiken und Sprachenes überhaupt gibt

(soviele wie natürliche Zahlen, reelle Zahlen oder komplexe Zahlen?)

B. Beckert – Grundlagen d. Theoretischen Informatik: SS 2007 48 / 112

Teil II Terminologie

1 Sprache, Grammatik

2 Warum Sprachen?

3 Die Chomsky-Hierarchie

4 Probleme über Sprachen

5 Endlich, unendlich und dann?

B. Beckert – Grundlagen d. Theoretischen Informatik: Sprache, Grammatik SS 2007 49 / 112

(2)

Alphabete, Wörter

Definition 6.1 (Alphabet)

EinAlphabetist eine Menge von Zeichen/Buchstaben

Grundlage einer Sprache (die zur Verfügung stehenden Zeichen) Meist endlich

Definition 6.2 (Wort)

EinWort(über einem AlphabetΣ) ist eine endliche Folge von Zeichen ausΣ

|w| bezeichnet Länge eines Wortesw ε bezeichnet dasleere Wort

B. Beckert – Grundlagen d. Theoretischen Informatik: Sprache, Grammatik SS 2007 50 / 112

Alphabete, Wörter

Operationen auf Wörtern Verknüpfung (Konkatenation):

w◦w0

assoziativ, oft geschrieben alsww0 i-te Potenz:

w0

=

ε, wi+1

=

wwi

Reverse:

wR

=

das Wortwrückwärts

B. Beckert – Grundlagen d. Theoretischen Informatik: Sprache, Grammatik SS 2007 51 / 112

Sprache

Definition 6.3 (Sprache)

Eine SpracheL(über einem AlphabetΣ) ist eine Menge von Wörtern überΣ.

Operationen auf Sprachen Konkatenation:

L◦M

=

{w◦w0 |w∈L, w0∈M} i-te Potenz:

L0

=

{ε}, Li+1:=LLi Reverse:

LR

=

{wR: w∈L}

B. Beckert – Grundlagen d. Theoretischen Informatik: Sprache, Grammatik SS 2007 52 / 112

Sprache

Kleene-Hülle

L

=

L0∪L1∪L2∪. . .

Variante:

L+

=

LL

=

L1∪L2∪. . .

Σbezeichnet die Menge aller Wörter überΣ

Genau genommen besteht ein Unterschied:

ein Buchstabe 6= Wort, das nur aus dem einen Buchstaben besteht Darum istΣselbst keine Sprache überΣ

(Oft wird über diesen Unterschied hinweggesehen)

B. Beckert – Grundlagen d. Theoretischen Informatik: Sprache, Grammatik SS 2007 53 / 112

(3)

Reguläre Ausdrücke

Definition 6.4 (Reguläre Ausdrücke)

MengeRegΣderregulären Ausdrücke(überΣ) ist definiert durch:

1 0 ist ein regulärer Ausdruck

2 Für jedesa∈Σistaein regulärer Ausdruck

3 Sindr undsreguläre Ausdrücke, so auch (r+s) (Vereinigung),

(rs) (Konkatenation), (r) (Kleene Stern)

Klammern können weggelassen werden, dann

hat Vorrang vor Konkatenation Konkatenation hat Vorrang vor

+

B. Beckert – Grundlagen d. Theoretischen Informatik: Sprache, Grammatik SS 2007 54 / 112

Reguläre Ausdrücke

Definition 6.5 (Semantik regulärer Ausdrücke)

Ein regulärer Ausdruckrstellt eine SpracheI(r

)

überΣwie folgt dar:

I(0

)

:= 0/

I(a

)

:= {a} füra∈Σ I(r

+

s

)

:= I(r

)∪I(

s

)

I(r s

)

:= I(r

)I(

s

)

I(r

)

:= I(r

)

Wir benutzen auch das Makro . . .

1 := 0

Es gilt: I(1

) =

{ε}

B. Beckert – Grundlagen d. Theoretischen Informatik: Sprache, Grammatik SS 2007 55 / 112

Reguläre Ausdrücke

Übung

Welche Sprachen werden durch die folgenden regulären Ausdrücke dargestellt?

aa

(

a

+

b

)

aa

+

bb

B. Beckert – Grundlagen d. Theoretischen Informatik: Sprache, Grammatik SS 2007 56 / 112

Referenzen

ÄHNLICHE DOKUMENTE

ein Buchstabe 6= Wort, das nur aus dem einen Buchstaben besteht Darum ist Σ selbst keine Sprache über Σ. (Oft wird über diesen

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

Daraus, dass das Pumping-Lemma für eine Sprache gilt, folgt nicht, dass sie regulär

Eine Regel in R 0 entsteht aus einer Regel in R, indem einige nullbare Variablen gestrichen werden. (m kann auch 0 sein, dann war die Regel selbst schon

Wie kann man dann garantieren, daß der Automat in endlich vielen Schritten das Wort w zu Ende gelesen hat. Deshalb: verwende

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

Zu jeder zw-DTM M , die eine Funktion f berechnet oder eine Sprache L akzeptiert, existiert eine Standard-DTM M 0 , die ebenfalls f berechnet bzw.. Theoretischen Informatik:

Wenn die alte Maschine simuliert wird, muss die neue nur 4 statt r Schritte machen: 2 um die neuen Felder zu drucken und weitere 2 um den Kopf auf das neue und wieder zurück auf