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.