Formale Methoden der Informatik WS 2010/2011 Lehrstuhl für Datenbanken und Künstliche Intelligenz Prof. Dr. Dr. F. J. Radermacher • H. Ünver • T. Rehfeld • J. Dollinger 11. Aufgabenblatt Besprechung in den Tutorien vom 26.01.2011 (ab Übungstermin) bis 02.02.2011 (bis Übungstermin) 59. Aufgabe (4 Punkte) Verständnisfragen: a) Was ist ein Ableitungs- bzw. Syntaxbaum? b) Welche (Typen von) Sprachen lassen sich mit Hilfe von Regulären Ausdrücken beschreiben? c) Welche Komponenten enthält ein endlicher Automat? d) Wann akzeptiert ein endlicher Automat ein Wort w? e) Kann es mehr als einen Start- bzw. Endzustand in einem Endlichen Automaten geben? f) Endet der Lauf durch einen Endlichen Automaten, sobald ein Endzustand erreicht wird? g) Was ist ein vollständiger bzw. ein unvollständiger Endlicher Automat? h) Welche Arten (Typen) von Sprachen lassen sich mit Hilfe von Endlichen Automaten darstellen? 60. Aufgabe (3+1 Punkte) Grammatik (Gebirge): Mit den Zeichen -, /, \ kann man Gebirge der folgenden Form erzeugen: /\ / \ _/ \ \__/\_ \ / \/ /\___ ; / __/\_ \ / \/ / _/ /\ \ \_ \ / \/ _/\__ ; ... a) Geben Sie eine Grammatik an, mit der man solche Gebirge erzeugen kann. Wichtig: das Gebirge soll wie im Beispiel auf der gleichen Höhe beginnen und enden. b) Welchen Chomsky-Typ besitzt Ihre Grammatik? Hinweis: Sie müssen sich nur um die Reihenfolge der Symbole, nicht aber um die Darstellung kümmern. D.h.: -/\-\/- ist eine gültige Zeichenkette. 61. Aufgabe (4 Punkte) Endlicher Automat (zwei Worte erkennen): Geben Sie einen Endlichen Automaten an, a) der genau die Worte 0011 und 11100 akzeptiert; b) der genau die Worte 1001 und 1011 akzeptiert. 62. Aufgabe (4 Punkte) Endlicher Automat: Gegeben sei der folgende endliche Automat. B 0 1 0 1 D A 1 0 1 0 C a) Geben Sie vier Wörter an, die vom Automat akzeptiert werden. b) Geben Sie einen regulären Ausdruck an, der die gleiche Wortmenge beschreibt, die auch der Automat erkennt. 63. Aufgabe (4 Punkte): Gegeben sind die beiden folgenden Endlichen Automaten: i.) 0 1 ii.) 0 1 A 0 1 B 0 a b 1 a) Beschreiben Sie mit eigenen Worten (informell), welche Eigenschaften die Worte besitzen, die die beiden Automaten jeweils besitzen. b) Geben Sie einen Automaten an, das ein Wort akzeptiert, genau dann, wenn beide ursprünglichen Automaten das Wort akzeptieren (= Schnittmenge). Hinweis: Konstruieren Sie eine Kreuzproduktautomaten. 64. Aufgabe (4 Punkte) Sei L die Sprache L = {w ∈ {0, 1}∗ | der Teilstring 001 ist nicht in w enthalten} a) Zeichnen Sie einen endlichen Automaten, der L akzeptiert. (Bemerkung: Es ist einfacher, einen Automaten für L̄ (das Komplement zu L) zu zeichnen und den dann so zu ändern, dass er L erkennt.) b) Geben Sie eine reguläre Grammatik G an, die L erzeugt. 65. Aufgabe (8 Punkte): Beschreiben Sie in Worten die Sprachen L = L(r), die von den folgenden regulären Ausdrcken R beschrieben werden. Geben Sie jeweils einen Endlichen Automaten sowie eine reguläre Grammatik an, die jeweils die gleiche Sprache erzeugen wie L. a) R1 = a∗ (a | b)b∗ b) R2 = (a | bbb)(a | b)∗