David Schirrmeister eb6cace722 update
2025-05-26 15:36:05 +02:00

3.7 KiB

Übungsblatt 6

Wenzel Schwan (1125033), Paul Kneidl (1125219), David Schirrmeister (1125746), Michelle Klein (1126422)

Übung 1

Betrachten Sie folgendes algorithmisches Problem:

Bestimmung des Nerode-Index

  • Eingabe: ein (vollständiger) NEA N
  • Ausgabe: der Nerode-Index der Sprache L(N)

Beschreiben Sie eine algorithmische Lösung dieses Problems (stichpunktartig oder als Pseudocode).
Nutzen Sie dazu das in der Vorlesung gesammelte Wissen und begründen Sie damit die Durchführbarkeit und Korrektheit Ihrer Lösung.

Lösung:

  • Potenzautomat bilden
  • DEA minimieren
  • Zustände zählen

Übung 2

Betrachten Sie den Automaten A aus Abbildung 1 über dem Alphabet \Sigma = \{0,1\}.
image_864.png

2(a)

Wenden Sie das in den Vorlesungsfolien beschriebene Verfahren zur Minimierung des Automaten A an, um die Zustands-Äquivalenzklassen des Automaten A zu bestimmen.
Stellen Sie Ihr Vorgehen nachvollziehbar dar (orientieren Sie sich dazu an dem finalen Beispiel des Foliensatzes 4).

  • Äquivalenzklassen finden

    • {a,b,c,d,h,f}, {e,g}
      • Zeuge: ε
    • {a,c,d,f}, {b,h}, {e,g}
      • Zeuge: 1
    • {a,d,c}, {f}, {b,h}, {e,g}
      • Zeuge: 01
    • {a,c}, {d}, {f}, {b,h}, {e,g}
      • Zeuge: 11
    • {a,c}, {d}, {f}, {b}, {h}, {e,g}
      • Zeuge: 001
  • Zustandsübergänge

    • ≡_{a,c}
      • 1 → ≡_{d}
      • 0 → ≡_{b}
    • ≡_{d}
      • 0,1 → ≡_{b}
    • ≡_{b}
      • 0 → ≡_{a,c}
      • 1 → ≡_{e,g}
    • ≡_{e,g}
      • 0 → ≡_{f}
      • 1 → ≡_{h}
    • ≡_{h}
      • 0 → ≡_{f}
      • 1 → ≡_{e,g}
    • ≡_{f}
      • 0, 1 → ≡_{f}

2(b)

Konstruieren Sie den Quotientenautomaten zu A mit Hilfe der von Ihnen bestimmten Zustands-Äquivalenzklassen (in der Graphdarstellung).

@startuml
scale 0.50

left to right direction
skinparam dpi 150

skinparam state {
    BackgroundColor #FFFACD
    BorderColor black
    FontName Helvetica
    RoundCorner 30
    Shadowing false
    LineThickness 0
}


state eg##[bold]

[*] --> ac
ac --> d: 1 
ac --> b: 0
d --> b: 0,1
b --> ac: 0
b --> eg: 1
eg --> h: 1
eg --> f: 0
h --> eg: 1
h --> f: 0
f --> f: 0,1


@enduml

2(c)

Welche Sprache akzeptiert der Automat A?

Übung 3

Betrachten Sie die beiden deterministischen endlichen Automaten A_1 und A_2 aus Abbildung 2.
Lesen Sie Kapitel 2.3.3 über das Äquivalenzproblem für endliche Automaten aus dem Skript.
Nutzen Sie das dort beschriebene Vorgehen, um nachvollziehbar zu überprüfen, ob die Automaten A_1 und A_2 die gleiche Sprache akzeptieren.

image_865.png

Übung 4

4(a)

Geben Sie die folgende Grammatik G_1 in formaler Tupel-Darstellung an.
Leiten Sie außerdem 5 Wörter der Sprache L(G_1) ab und beschreiben Sie anschließend L(G_1) in formaler Mengenschreibweise.

Grammatik G_1:

  • S \Rightarrow aSa\ |\ bSb\ |\ X
  • X \Rightarrow 0\ |\ 1

4(b)

Geben Sie die folgende Grammatik G_2 in formaler Tupel-Darstellung an.
Leiten Sie außerdem 5 Wörter der Sprache L(G_2) ab und beschreiben Sie anschließend L(G_2) in formaler Mengenschreibweise.

Grammatik G_2:

  • S \Rightarrow A00A
  • A \Rightarrow 0A\ |\ 1A\ |\ 0\ |\ 1

4(c)

Geben Sie alle möglichen Ableitungen mit Regeln aus der Grammatik G_2 für das Wort 10001 an.

Übung 5

Betrachten Sie folgende Grammatik G:

  • S \Rightarrow x\ |\ yS
  • xy \Rightarrow yx
  • yx \Rightarrow xy

5(a)

Können Sie mit G das Wort xxy ableiten?
Können Sie mit G das Wort xyy ableiten?
Begründen Sie jeweils Ihre Antwort.

5(b)

Beschreiben Sie die von G erzeugte Sprache in formaler Mengenschreibweise.

5(c)

Gibt es eine Grammatik G' mit L(G') = L(G), sodass G' weniger als vier Regeln hat?