• Keine Ergebnisse gefunden

Automatentheorie und Formale Sprachen

N/A
N/A
Protected

Academic year: 2022

Aktie "Automatentheorie und Formale Sprachen"

Copied!
12
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Grundlagen der Programmierung (Vorlesung 20)

❚ Vorige Vorlesung

❙ (Asymptotische) Komplexität von Algorithmen

❚ Inhalt dieser Vorlesung

❙ Automatentheorie und Formale Sprachen

❚ Lernziele

❙ Grundkenntnisse in der Beschreibung von Programmiersprachen (sowie Teilen davon)

❙ Kennenlernen von abstrakten Maschinen zur Charakterisierung von Problemen

Ralf Möller, FH-Wedel

(2)

Danksagung

❚ Die Präsentationen sind an den Inhalt des Buches

"Theoretische Informatik kurzgefaßt" von Uwe Schöning angeleht und wurden aus den Unterlagen zu der Vorlesung "Informatik IV – Theoretische Informatik" an der TU München von Angelika

Steger übernommen

❚ Die Originalunterlagen befinden sich unter:

http://www14.in.tum.de/lehre/2000SS/info4/

(3)

Festlegung von Sprachen: Ein erstes Beispiel

(4)

Vorbemerkung: Alphabet, Zeichen, Worte

❚ Im Zusammenhang mit Formalen Sprachen heißt eine endliche nicht-leere Menge Alphabet

Beispiel: Σ = {a, b}

❚ Die Elemente eines Alphabets heißen Zeichen oder Symbole

Also: in unserem Beispiel sind a und b Zeichen

❚ Zeichen können "hintereinandergefügt" werden und bilden durch die Reihung Worte

❚ Der Operator hierzu heißt Konkatenation

Auch Worte können zu neuen Worten konkateniert werden

❚ Eine Reihung ohne Zeichen heißt leeres Wort (Notation: ε)

(5)

Vorbemerkung: Monoid

❚ Die Menge aller Worte, die sich durch Konkatenation aus einer Menge

Σ

bilden lassen, wird mit

Σ

* bezeichnet:

❙ Σ* = { ε, a, b, aa, ab, ba, bb, aaa, aab, ... }

❚ Mit

Σ

+ bezeichnen wir

Σ

* - {ε}

❚ Sei "o" die Bezeichnung für die Konkatenation.

❚ In der algebraischen Struktur (

Σ

*, o) sind die folgenden Axiome erfüllt (die Struktur wird Monoid genannt):

x Ï Σ* fi y Ï Σ* ¡ x o y = xy Ï Σ* (Abgeschlossenheit)

(x o y) o z = x o (y o z) = xyz (Assoziativität)

ε o x = x o ε = x (neutrales Element)

(6)

Vorbemerkungen: Länge, Mächtigkeit, Sprache

❚ Für n

Ï

N0 ist wn definiert als w o (w o (w o ..)..), w0 = ε

❚ Für ein Wort w bezeichnet |w| die Länge (also die Anzahl der Zeichen des Wortes) und für eine Menge M

bezeichnet |M| die Mächtigkeit (also die Anzahl der Elemente)

❚ Eine Formale Sprache (über einem Alphabet

Σ

) ist eine

Teilmenge von

Σ

*

(7)

Grammatik

(8)

Übergang

(9)

Transitive Hülle einer Relation: Motivation

❚ Ein Wort wird durch Produktionsregeln in ein neues Wort abgebildet

❚ Was in was abgebildet wird, ist durch die Übergangsrelation => gegeben

❚ Im Kontext einer Grammatik können Produktionsregeln mehrfach hintereinander angewendet werden

❚ Es soll nun alles, was auch mehrschrittig abgeleitet werden kann, betrachtet werden

❚ Es ist in diesem Fall nicht die direkte Übergangsrelation zu betrachten, sondern die sogenannte Hülle der

Übergangsrelation

(10)

Transitive Hülle einer Relation: Definition

❚ Seien R und S zwei zweistellige Relationen über einer Menge M, so daß R ⊆ M x M und S ⊆ M x M

❚ Wir definieren

RS := { (x, y) |

Ô

z

Ï

M. (x, z)

Ï

R (z, y)

Ï

S }

❚ Wir definieren R0 := { (x, x) | x

Ï

M } und dann Rn+1 := RRn

❚ Damit können wir dann definieren (n

Ï

N0):

R* :=

ê

Rn (transitive, reflexive Hülle)

n0

R+ :=

ê

Rn (transitive Hülle)

n1

(11)

Erzeugte Sprache, Ableitung

(12)

Was kommt beim nächsten Mal?

❚ Fortsetzung der Theorie der Formalen Sprachen

❚ BNF-Grammatik für "unsere" Programmiersprache

❚ Entscheidungsprobleme

Referenzen

ÄHNLICHE DOKUMENTE

Aufbauend auf den in der „Einführung in die Computerlinguistik“ erworbenen Grundkenntnissen bietet dieses Seminar eine Einführung in die Theorie der Automaten und formalen

Aufbauend auf den in der „Einführung in die Computerlinguistik“ erworbenen Grundkenntnissen bietet dieses Seminar eine Einführung in die Theorie der Automaten und formalen

Inhalt/Seminarplan: Ziel der Veranstaltung ist es, elementare Kenntnisse über die Theorie von Automaten und formalen Sprachen zu vermitteln.. Diese Theorie liefert die

head: left hand side of a rule body: right hand side of a rule clause: rule or fact.. predicate: collection of clauses with

5 Der Hund, der den Vogel, der den Wurm, der den Rasen, der den Garten bedeckte, durchquerte, fraÿ, jagte, starb... Allgemeine Form: der Hund (der den maskulines Nomen) n

Gruppe 4: Beschreiben sie an Beispielen, wie man endliche Automaten zur Konkatenation zweier regulärer Sprachen und zur Vereinigung und zur Schnittmenge zweier Sprachen bildet, und

Gruppe 4: Beschreiben sie an Beispielen, wie man endliche Automaten zur Konkatenation zweier regulärer Sprachen und zur Vereinigung und zur Schnittmenge zweier Sprachen bildet, und

• *mer d'chind de Hans es huus lönd hälfe aastriiche wir die Kinder AKK Hans AKK das Haus AKK ließen helfen anstreichen wir die Kinder-AKK Hans-AKK das Haus-AKK