Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

1 Vorlesung Informatik 3 Einführung in die Theoretische Informatik (05 – Reguläre Ausdrücke) Prof. Dr. Th. Ottmann.

Ähnliche Präsentationen


Präsentation zum Thema: "1 Vorlesung Informatik 3 Einführung in die Theoretische Informatik (05 – Reguläre Ausdrücke) Prof. Dr. Th. Ottmann."—  Präsentation transkript:

1 1 Vorlesung Informatik 3 Einführung in die Theoretische Informatik (05 – Reguläre Ausdrücke) Prof. Dr. Th. Ottmann

2 2 Motivation für reguläre Ausdrücke Ziel: Automatenfreie Charakterisierung der regulären Sprachen, also der von endlichen Automaten akzeptierbaren Mengen von Worten. Kompakte Notation zur Bezeichnung von regulären Sprachen. Unterschied: Regulärer Ausdruck α (Bezeichnung, syntaktisches Konzept) und die von einem regulären Ausdruck α bezeichnete Menge L(α) von Worten (semantisches Konzept). Reguläre Sprachen besitzen Abgeschlossenheitseigenschaften gegenüber Operationen an Mengen von Worten. Reguläre Sprachen haben viele Anwendungen, sind aber leider sehr beschränkt.

3 3 Reguläre Ausdrücke Wir definieren simultan, was unter einem regulären Ausdruck α über dem Alphabet und der von α bezeichneten Menge L(α) * verstanden wird: Sei ein endliches Alphabet. 1. ist ein regulärer Ausdruck über und L( ) =. 2.ε ist ein regulärer Ausdruck über und L(ε) = {ε}. 3.Für jedes a ist a ein regulärer Ausdruck über und L(a) = {a}. 4.Sind α und β reguläre Ausdrücke über, so auch (α β), (α β), α* und L((α β)) = L(α) L(β) L(α* ) = (L(α))* Konvention: Klammern dürfen weggelassen werden, wenn keine Missverständnisse zu befürchten sind.

4 4 Bemerkungen und Beispiele

5 5 Konstruktion von DFAs zu regulären Ausdrücken Satz 1: Zu jedem regulären Ausdruck α über dem Alphabet kann man einen DFA A = (Q,, δ, s 0, F) angeben mit L(A) = L(α). Bew.: Durch Induktion über den Aufbau von α. (1) Sei α =. Dann ist L(α) = L(A) für den wie folgt definierten DFA A: (2) Sei α = ε. Dann ist L(α) = L(A) für den wie folgt definierten DFA A:

6 6 (3) Sei α = a, mit a. Dann ist L(α) = L(A) für den wie folgt definierten DFA A: (4) Hat man bereits DFAs A und B, die die von α und β bezeichneten Mengen L(α) und L(β) akzeptieren, also L(A) = L(α) und L(B) = L(β), so kann man offensichtlich DFAs konstruieren, die L((α β)) = L(α) L(β) L(α* ) = (L(α))* akzeptieren. Denn die Klasse der regulären Sprachen ist abgeschlossen gegenüber Vereinigung, Verkettung und Kleene Stern!

7 7 Beispiel Gegeben sei der reguläre Ausdruck α = (ab a)* über dem Alphabet {a, b}.

8 8 Konstruktion eines regulären Ausdrucks zu DFA Satz: Zu jedem DFA A =(S,, δ, s 1, F) kann man einen regulären Ausdruck α angeben mit L(A) = L(α).

9 9 Weitere Abschlusseigenschaften Sei für ein Wort w = a 1 a 2 … a n, n 0, w *, das Spiegelbild sp(w) definiert durch sp(w) = a n a n-1 … a 1. Satz: Zu jedem regulären Ausdruck α über kann man einen regulären Ausdruck α sp angeben, so dass L(α sp ) = {sp(w); w L(α)}


Herunterladen ppt "1 Vorlesung Informatik 3 Einführung in die Theoretische Informatik (05 – Reguläre Ausdrücke) Prof. Dr. Th. Ottmann."

Ähnliche Präsentationen


Google-Anzeigen