HTWK Leipzig, Fakultät IMN
Prof. Dr. Sibylle Schwarz sibylle.schwarz@htwk-leipzig.de
5. Übung zu Theoretische Informatik: Automaten und formale Sprachen
Wintersemester 2018/19 zu lösen bis 22. November 2018
Aufgabe 5.1:
a. Finden Sie mit Hilfe der Potenzmengenkonstruktion einen vollständigen DFA B, der zum NFA A = ({a, b},{0,1,2}, δ,{0,1},{2}) mit δ(a) = {(0,0)} und δ(b) = {(0,0),(0,1),(1,2)}
äquivalent ist.
b. Geben Sie einen regulären Ausdruck E mitL(E) =L(A) an.
c. Geben Sie einen zu A äquivalenten NFAC an, der genauso viele Zustände wie A hat, aber weder zuA noch zuB isomorph ist.
d. Gibt es einen zuA äquivalenten NFA, der weniger Zustände alsA hat? Warum?
Aufgabe 5.2:
In der Vorlesung wurde betont, dass in den vorgestellten Konstruktionen der NFA für Vereinigung und Verkettung zweier NFA-akzeptierbarer Sprachen mitunter eine Umbenennung der Zustände eines Automaten notwendig ist.
a. Geben Sie für Vereinigung und Verkettung je ein Beispiel
(je ein NFA A und ein NFA B) an, für welches die in der Vorlesung vorgestellte Konstruktion ohne Umbenennung zu einem falschen Ergebnis führt.
b. Ist diese Umbenennung auch in der Produkt-Konstruktion von Automaten für den Schnitt zweier NFA-akzeptierbarer Sprachen notwendig? Warum?
Aufgabe 5.3:
In der Vorlesung wurde eine Konstruktion eines NFA für die Sprache L(A) aus einem gegebenen vollständigen DFAA vorgestellt.
Zeigen Sie, dass der AutomatAbeide Bedingungen (vollständig und deterministisch) erfüllen muss, damit die vorgestellte Konstruktion zu einem korrekten Ergebnis führt.
Hinweis: Man kann das durch Angabe zweier Automaten als Gegenbeispiele zeigen:
a. ein vollständiger, aber nicht deterministischer NFA A, für den die Konstruktion zu einem AutomatenB mit L(B)6=L(A)führt.
b. ein deterministischer, aber nicht vollständiger NFA A, für den die Konstruktion zu einem AutomatenB mit L(B)6=L(A)führt.
Aufgabe 5.4:
a. Geben Sie ein (möglichst einfaches) Verfahren zur Konstruktion eines vollständigen DFA C mitL(C) =L(A)∆L(B)(symmetrische Differenz der SprachenL(A)undL(B)) aus den NFA A undB an.
b. Demonstrieren Sie Ihr Verfahren an den NFA
A= ({a, b},{0,1}, δA,{0},{1}) mit δA(a) ={(0,1),(1,0)} undδA(b) ={(0,0),(1,1)}
undB = ({a, b},{0,1,2}, δB,{0},{1}) mit δB(a) ={(0,2),(1,0),(2,1)}und
δB(b) ={(0,1),(1,2),(2,0)}. Geben Sie auch die SprachenL(A),L(B)undL(A)∆L(B)an.
Übungsaufgaben, Folien und weitere Hinweise zur Vorlesung finden Sie online unter https://informatik.htwk-leipzig.de/schwarz/lehre/ws18/tib