Blatt 2 - Lehrstuhl Informatik 1
Transcription
Blatt 2 - Lehrstuhl Informatik 1
¨ Ubungen zur Vorlesung Grundbegriffe der Theoretischen Informatik Thomas Schwentick Jan Eric Lenssen, Axel Plinge, Martin Schuster, Nils Vortmeier SoSe 2015 ¨ Ubungsblatt 2 14.4.2015 Abgabe bis sp¨ atestens am 21.4.2015, • (vor der Vorlesung) im HG II, HS 3, oder • in den Briefk¨ asten im Durchgangsflur, der die 1. Etage der OH 12 mit dem Erdgeschoss der OH 14 verbindet. Beachten Sie die Schließzeiten der Geb¨ aude! ¨ Auf manchen Ubungsbl¨ attern gibt es neben den Quizaufgaben und den zu bearbeitenden Aufgaben eine Zusatzaufgabe. Diese Aufgabe ist f¨ ur diejenigen, die Freude daran haben, an etwas herausfordernderen Problemen zu knabbern. Die Zusatzaufgaben d¨ urfen Sie schriftlich bearbeiten und abge¨ ben, sie werden allerdings in den Ubungsgruppen nicht besprochen. Ansonsten gelten die Hinweise von Blatt 1. Quizfragen: Welche der folgenden Aussagen sind richtig, welche sind falsch? Und warum? keine Punkte 1. Zu jedem DFA mit n Zust¨ anden gibt es einen NFA mit n Zust¨anden, der die selbe Sprache entscheidet. 2. Sei A ein ǫ-NFA. Ein Zustand des Potenzmengen-Automaten zu A ist genau dann akzeptierend, wenn alle in ihm enthaltenen Zust¨ ande von A akzeptierend sind. 3. Bei einem NFA mit Eingabealphabet Σ gibt es f¨ ur jedes Wort aus Σ˚ einen Lauf. 4. Sei A ein ǫ-NFA mit n Zust¨ anden und q einer dieser Zust¨ande. Die Menge ǫ-closurepqq enth¨alt q und ¨ alle Zust¨ ande, die sich von q aus durch h¨ochstens pn ´ 1q ǫ-Uberg¨ ange erreichen lassen. 5. In jedem NFA gibt es f¨ ur jeden Zustand q und jedes Eingabesymbol σ mindestens einen Zustand q 1 , 1 so dass pq, σ, q q in der Transitionsrelation liegt; f¨ ur einen ǫ-NFA gilt das aber nicht. ¨ Ubungsblatt 2 ¨ Ubungen zur GTI Seite 2 Aufgabe 2.1 [Interpretation von Automaten] 2 Punkte Bestimmen Sie f¨ ur die folgenden Automaten jeweils die von ihnen akzeptierte Sprache, und geben Sie diese umgangssprachlich oder in Mengenschreibweise an. Erl¨autern Sie jeweils auch kurz (1-3 S¨atze) die Funktionsweise des entsprechenden Automaten. a) F¨ ur den folgenden DFA A: 1 s 1 a 0, 2 c b 0, 1, 2 0, 2 1 0, 2 (1 Punkt) b) F¨ ur den folgenden NFA B: 0, 1, 2 a 0, 1, 2 s 0 0 d 0, 1, 2 1 b 1 e 2 c 2 f 0, 1, 2 (1 Punkt) Aufgabe 2.2 [Automatenkonstruktion] 8 Punkte Beschreiben Sie f¨ ur jeden der von Ihnen entworfenen Automaten kurz dessen Funktionsweise und insbesondere die Bedeutung der Zust¨ ande (mit h¨ ochstens einem Satz pro Zustand). a) Entwerfen sie einen DFA f¨ ur die Sprache L “ tw P ta, b, cu˚ | w enth¨ alt mindestens ein c und beginnt und endet mit demselben Symbol. u (2,5 Punkte) b) Der friesische Schleusenw¨ arter Bes Ersicher hat geh¨ort, das man mit endlichen Automaten Systeme modellieren kann. Daher m¨ ochte er, dass ihm die Theoretische Informatik hilft, seine Schleuse vor Unf¨allen zu sch¨ utzen. In der Schleusenwarte gibt es vier Kn¨opfe: Ablassen, Fluten, Oberes Tor, Unteres Tor. Die Kn¨ opfe A und F ver¨ andern den Wasserstand innerhalb der Schleuse. Die Kn¨opfe O und U ¨offnen jeweils das zugeh¨ orige Tor; die Tore schließen sich nach Ein- oder Ausfahrt eines Schiffes automatisch, und in der Zwischenzeit kann kein Knopf bet¨atigt werden. Es soll sichergestellt werden, dass die Kn¨ opfe nur dann bet¨ atigt werden, wenn f¨ ur die durch sie ausgel¨osten Aktionen die folgenden Regeln eingehalten werden. Andernfalls soll ein Fehler ausgegeben werden. • Man darf nur bei Hochwasser Wasser ablassen und nur bei Niedrigwasser fluten. ¨ Ubungsblatt 2 ¨ Ubungen zur GTI Seite 3 • Ebenso kann man das obere Tor nur bei Hochwasser ¨offnen und das untere nur bei Niedrigwasser. • Wird entgegen diesen Regeln ein falscher Knopf bet¨atigt, so wird in der Schleusenwarte ein Fehler angezeigt und der Schleusenbetrieb gestoppt. O U A F Helfen Sie dem Schleusenw¨ arter, indem Sie einen DFA f¨ ur die Schleuse entwerfen. Zu Beginn des Schleusenbetriebs soll stets Hochwasser sein. Worte w P Σ˚ u ¨ber dem Alphabet Σ “ tA, F, O, U u der Kn¨opfe sollen nur akzeptiert werden, wenn kein Fehler passiert, der zum Stoppen des Schleusenbetriebs f¨ uhrt. Also ist z.B. F, UU, AFU nicht erlaubt, wohl aber AUU, OAUUFO, AUFAU usw. (2,5 Punkte) c) Im Morse-Code werden die Buchstaben von A bis Z als Folgen von kurzen (‚) und langen (´) Signalen kodiert. Um einzelne Buchstaben voneinander unterscheiden zu k¨onnen, werden zwischen den Buchstaben Pausen gelassen, die wir hier mit dem Symbol \ notieren. Der Einfacheit halber betrachten wir hier nur die Codierungen der Buchstaben G (´ ´ ‚), T (´), I (‚‚) und U (‚ ‚ ´). Konstruieren Sie einen ǫ-NFA u ¨ber dem Alphabet Σ “ t‚, ´, \u, der genau die korrekten MorseCodierungen beliebiger nichtleerer Zeichenketten aus den Buchstaben G, T, I und U entscheidet, wobei die Codierungen zweier Buchstaben jeweils durch Pausen getrennt werden m¨ ussen, Eingabestrings aber nicht mit einer Pause beginnen oder enden d¨ urfen. (3 Punkte) Aufgabe 2.3 [Potenzmengenkonstruktion] 5 Punkte Konstruieren Sie jeweils den Potenzmengen-Automaten zu a) dem NFA A (2,5 Punkte) b) und dem ǫ-NFA B. (2,5 Punkte) ¨ Ubungsblatt 2 ¨ Ubungen zur GTI 2 A: 1 c 1 2 2 B: y 2 a Seite 4 b 1, 2 s 1 1, 2 d y ǫ b a 1, 2 x ǫ x c Der Automat A ist u ¨ber dem Alphabet t1, 2u und der Automat B u ¨ber tx, yu definiert. Beschr¨anken Sie sich auf die vom jeweiligen Startzustand aus erreichbaren Zust¨ande. Aufgabe 2.4 [Korrektheit] 0 Punkte Zeigen Sie, dass der nachfolgend angegebene DFA 1 A: q0 q1 0 q2 1 0 1 0 die Sprache L “ tǫu Y tw P t0, 1u` | w ist Bin¨ardarstellung einer durch 3 teilbaren Zahlu entscheidet, also L “ LpAq gilt. Hinweis: Zeigen und benutzen Sie die folgende Hilfsaussage. Hilfsaussage: F¨ ur alle i P t0, 1, 2u und alle W¨orter w P t0, 1u` gilt δ ˚ pq0 , wq “ qi genau dann, wenn w Bin¨ ardarstellung einer Zahl ist, die nach Teilung durch 3 den Rest i hinterl¨asst. Zusatzaufgabe [Universelle Automaten] Universelle endliche Automaten (UFA) sind ¨ahnlich wie nichtdeterministische endliche Automaten eine Erweiterung von endlichen Automaten. Anders als nichtdeterministische Automaten, die akzeptieren, wenn es mindestens einen akzeptierenden Berechnungspfad gibt, akzeptieren UFA eine Zeichenkette dann und nur dann, wenn alle m¨ oglichen Berechnungen auf dieser Zeichenkette zum Akzeptieren f¨ uhren. Beispielsweise w¨ urde der Automat a b 1 a 2 a 3 die Zeichenkette ba nicht akzeptieren (da es einen Berechnungspfad u ¨ber Zustand 3 gibt, der im nichtakzeptierenden Zustand 2 endet), baa hingegen schon (da s¨amtliche Berechnungspfade, die baa lesen, im akzeptierenden Zustand 1 enden). b a) Definieren Sie die formale Semantik eines UFA. b) Zeigen Sie, dass die von einem UFA entschiedene Sprache stets regul¨ar ist.