• Keine Ergebnisse gefunden

November 2020 Aufgabe 6.1: In der Vorlesung wurde eine Konstruktion eines NFA für die Sprache L(A) aus einem gege- benen vollständigen DFAA vorgestellt

N/A
N/A
Protected

Academic year: 2022

Aktie "November 2020 Aufgabe 6.1: In der Vorlesung wurde eine Konstruktion eines NFA für die Sprache L(A) aus einem gege- benen vollständigen DFAA vorgestellt"

Copied!
2
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

HTWK Leipzig, Fakultät IMN

Prof. Dr. Sibylle Schwarz sibylle.schwarz@htwk-leipzig.de

6. Übung zu Theoretische Informatik: Automaten und formale Sprachen

Wintersemester 2020/21 zu lösen bis 23. November 2020

Aufgabe 6.1:

In der Vorlesung wurde eine Konstruktion eines NFA für die Sprache L(A) aus einem gege- benen 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.

Das kann man durch Angabe zweier Automaten als Gegenbeispiele zeigen:

a. ein vollständiger, aber nicht deterministischer NFAA, für den die Konstruktion zu einem AutomatenB mit L(B)6=L(A)führt.

b. ein deterministischer, aber nicht vollständiger NFAA, für den die Konstruktion zu einem AutomatenB mit L(B)6=L(A)führt.

Aufgabe 6.2:

a. Verstehen Sie die Produktkonstruktion für zwei NFA A und B (auf Folie 98) zur Kon- struktion eines NFA C mit L(C) =L(A)∩L(B).

b. Ist für die Korrektheit dieser Konstruktion notwendig, dassAundBDFA sind? Warum?

c. Berechen sie nach dieser Konstruktion den NFAC mitL(C) =L(A)∩L(B) für die auf Folie 97 gegebenen DFA Aund B.

d. Berechen sie nach dieser Konstruktion den NFADmitL(D) =L(A)∩L(B)für die auf der Tafel zu Folie 97 gegebenen DFAA undB.

e. In der Modifikation werden sogar vollständige DFA A und B gefordert. Ist das für die Korrektheit dieser Konstruktion notwendig? Warum?

f. Berechen sie nach dieser Konstruktion den NFA C0 mit L(C0) = L(A)∪L(B) für die auf Folie 97 gegebenen DFAA und B.

g. Berechen sie nach dieser Konstruktion den NFA D0 mit L(D0) =L(A)∪L(B) für die auf der Tafel zu Folie 97 gegebenen DFA Aund B.

h. Welche Eigenschaften haben die Automaten C, C0, D, D0, wenn A und B vollständige DFA sind? Warum?

Aufgabe 6.3:

In der Vorlesung wurde betont, dass in den vorgestellten Konstruktionen des NFA für Verei- nigung 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 (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?

(2)

Aufgabe 6.4:

a. Geben Sie ein (möglichst einfaches) Verfahren zur Konstruktion eines vollständigen DFA C mit L(C) =L(A)∆L(B) aus zwei gegebenen NFAA und B an.

Hinweis: Aus das ist mit dem Produktautomaten möglich.

Zeigen Sie, dass der so konstruierte NFA C die Anforderung erfüllt.

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.

Aufgabe 6.5:

Gegeben ist derε-NFAA= ({a, b},{0,1,2,3,4}, δ,{0},{4}) mit

δ(a) ={(0,1),(3,4)},δ(b) ={(1,2),(2,3)} undδ(ε) ={(1,3),(3,1),(4,1)}.

a. Welche Sprache akzeptiert dieserε-NFA?

b. Konstruieren Sie einen zu Aäquivalenten NFA.

c. Konstruieren Sie einen zu Aäquivalenten DFA.

d. Konstruieren Sie einen NFA, der die SpracheL(A) akzeptiert.

e. Konstruieren Sie einen regulären AusdruckE mitL(E) =L(A).

Aufgabe 6.6:

a. Geben Sie ein Verfahren an, wie sich zu jedem beliebigen NFA A = (X, Q, δ, I, F) mit I∩F =∅ein äquivalenter NFAB (d.h. ohneε-Übergänge) mit genau einem Start- und genau einem akzeptierenden Zustand konstruieren lässt.

b. Konstruieren Sie mit diesem Verfahren einen zum NFA

A= ({a, b},{0,1,2,3}, δ,{0,1},{2,3})mit δ(a) ={(0,1),(0,2),(0,0)} und

δ(b) = {(0,3),(1,3),(2,2)} äquivalenten NFA B mit genau einem Start- und genau einem akzeptierenden Zustand.

c. Warum ist die Bedingung I∩F =∅ notwendig? Konstruieren Sie ein Gegenbeispiel.

Aufgabe 6.7:

a. Geben Sie ein Verfahren an zur Konstruktion eines NFAC = (X, QC, δC, IC, FC)(ohne ε-Übergänge), welcher für zwei gegebene NFAA= (X, QA, δA, IA, FA) und

B = (X, QB, δB, IB, FB) die SpracheL(A)◦L(B)◦L(A) akzeptiert.

(a) Entwerfen Sie einen Algorithmus zur Konstruktion des NFA C, welcher die Kon- struktionen aus der Vorlesung als „Unterprogramme“ verwendet.

(b) Leiten Sie daraus ein direkte Konstruktionsvorschrift (wie in den Konstruktionen auf den Vorlesungsfolien) für den NFA C ab.

Hinweis: Vergessen Sie die Spezialfälle nicht, z.B.

L(A) =∅, L(B) =∅, ε∈L(A), ε∈L(B) (auch kombiniert).

b. Demonstrieren Sie Ihre Konstruktionsvorschrift mit den Automaten

A = (X, QA, δA, IA, FA) mit QA = {0,1}, IA = FA = {0} und δA(a) = {(0,1)}, δA(b) ={(1,0),(1,1)},

B = (X, QB, δB, IB, FB) mit QB = {0,1,2}, IB = {0}, FB = {2} und δB(a) = {(0,1),(1,2),(2,0)},δB(b) =∅, beide mit X={a, b}.

Übungsaufgaben, Folien und weitere Hinweise zur Vorlesung finden Sie online unter https://informatik.htwk-leipzig.de/schwarz/lehre/ws20/tib

Referenzen

ÄHNLICHE DOKUMENTE

1: Zeitreihe der Dauerbeobachtungsflächen im NFA Rotenburg; n>sw: Anzahl Bäume, bei denen die Warnschwelle überschritten wurde von insg.. 10 untersuchten Bäume pro

Der Auftrag gemäss Ziffer 1 der vorliegenden Motion, wonach die dem Kanton Bern durch die NFA zufliessenden Mittel für gezielte Steuerentlastungen zu verwenden sind, deckt

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

Zeigen Sie, dass der Automat A beide Bedingungen (vollständig und deterministisch) erfüllen muss, damit die vorgestellte Konstruktion zu einem korrekten Ergebnis führt. Hinweis:

Zeigen Sie, dass für jede NFA-akzeptierbare Sprache L auch die Sprache L R NFA-akzeptierbar ist..

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

In der Vorlesung wurde betont, dass in den vorgestellten Konstruktionen der NFA für Vereinigung zweier NFA-akzeptierbarer Sprachen mitunter eine Umbenennung der Zu- stände

Übungsaufgaben, Folien und weitere Hinweise zur Vorlesung finden Sie online