JavaScript promise rejection: Loading CSS chunk katex failed. (error: https://git.gaminggeneration.de/assets/css/katex.faca27c4.css). Open browser console to see more details. (49)
Files
.idea
Writerside
cfg
images
topics
02
04
Datenbanken
HCI
Informatik und Gesellschaft
Projektmanagement
Rechnernetze
Software Engineering
Theoretische Informatik
Hausaufgaben
ti_hausaufgabe1.md
ti_hausaufgabe2.md
ti_hausufgabe3.md
Übungen
01Einleitung.md
02_GrundlagenFormaleSprachen.md
03_GrundlagenEndlicherAutomaten.md
04_GrenzenGroesseEA.md
06
StartPage.md
c.list
in.tree
v.list
writerside.cfg
.gitlab-ci.yml
README.md
zusammenfassungen/Writerside/topics/04/Theoretische Informatik/Hausaufgaben/ti_hausufgabe3.md
David Schirrmeister 36ff80e545 update
2025-05-02 11:21:55 +02:00

7.2 KiB
Raw Blame History

Übungsblatt 3

Übung 1

Betrachten Sie den nichtdeterministischen Automaten N aus Abbildung 1 über dem Alphabet Σ = \{ 0, 1 \}^*.

image_784.png Automat N für Worte aus \{ 0, 1 \}^*, deren drittletztes Zeichen eine 0 ist.

1(a)

Wie viele Berechnungspfade gibt e, die das Wort 1111 lesen? Wie viele Berechnungsschritte (Verarbeitungen eines Zeichens) sind insgesamt notwendig, um all diese Berechnungspfade (deterministisch) zu simulieren? Begründen Sie nachvollziehbar, wie Sie auf Ihre Antworten gekommen sind.

1(b)

Konstruieren Sie den Potenzautomaten A_N zu N. Geben Sie bei der Konstruktion die Übergangsfunktion δ des Automaten A_N in tabellarischer Form an. Machen Sie nach dem Abarbeiten einer Zeile deutlich, welche neuen Metazustände Sie gefunden haben.

Zustand δ(.,0) δ(.,1)
a {a,b} a
{a,b} {a,b,c} {a,c}
{a,b,c} {a,b,c,d} {a,c,d}
{a,c} {a,b,d} {a,d}
{a,b,c,d} [$∈ Q_A$] {a,b,c,d,ε} {a,c,d,ε}
{a,c,d} [$∈ Q_A$] {a,b,d,ε} {a,d,ε}
{a,b,d} [$∈ Q_A$] {a,b,c,ε} {a,c,ε}
{a,d} [$∈ Q_A$] {a,b,ε} {a,ε}
{a,b,c,d,ε} [$∈ Q_A$] {a,b,c,d,ε} {a,c,d,ε}
{a,c,d,ε} [$∈ Q_A$] {a,b,d,ε} {a,d,ε}
{a,b,d,ε} [$∈ Q_A$] {a,b,c,ε} {a,c,ε}
{a,d,ε} [$∈ Q_A$] {a,b,ε} {a,ε}
{a,b,c,ε} {a,b,c,d,ε} {a,c,d,ε}
{a,c,ε} {a,b,d,ε} {a,d,ε}
{a,b,ε} {a,b,c,ε} {a,c,ε}
{a,ε} {a,b,ε} {a,ε}
b c c
c d d
d [$∈ Q_A$] ε ε
ε ε ε
@startuml
scale 0.75

top to bottom direction
skinparam dpi 150

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

state "d" as d##[bold]
state "a" as a
state "{a,b}" as ab
state "{a,b,c}" as abc
state "{a,c}" as ac
state "{a,b,c,d}" as abcd##[bold]
state "{a,c,d}" as acd##[bold]
state "{a,b,d}" as abd##[bold]
state "{a,d}" as ad##[bold]
state "{a,b,c,d,ε}" as abcde##[bold]
state "{a,c,d,ε}" as acde##[bold]
state "{a,b,d,ε}" as abde##[bold]
state "{a,d,ε}" as ade##[bold]
state "{a,b,c,ε}" as abce
state "{a,c,ε}" as ace
state "{a,b,ε}" as abe
state "{a,ε}" as ae
state "b" as b
state "c" as c
state "ε" as e



[*] --> a

' Übergänge von a
a --> a : 1
a --> ab : 0

' Übergänge von {a,b}
ab --> abc : 0
ab --> ac : 1

' Übergänge von {a,b,c}
abc --> abcd : 0
abc --> acd : 1

' Übergänge von {a,c}
ac --> abd : 0
ac --> ad : 1

' Übergänge von {a,b,c,d}
abcd --> abcde : 0
abcd --> acde : 1

' Übergänge von {a,c,d}
acd --> abde : 0
acd --> ade : 1

' Übergänge von {a,b,d}
abd --> abce : 0
abd --> ace : 1

' Übergänge von {a,d}
ad --> abe : 0
ad --> ae : 1

' Übergänge von {a,b,c,d,ε}
abcde --> abcde : 0
abcde --> acde : 1

' Übergänge von {a,c,d,ε}
acde --> abde : 0
acde --> ade : 1

' Übergänge von {a,b,d,ε}
abde --> abce : 0
abde --> ace : 1

' Übergänge von {a,d,ε}
ade --> abe : 0
ade --> ae : 1

' Übergänge von {a,b,c,ε}
abce --> abcde : 0
abce --> acde : 1

' Übergänge von {a,c,ε}
ace --> abde : 0
ace --> ade : 1

' Übergänge von {a,b,ε}
abe --> abce : 0
abe --> ace : 1

' Übergänge von {a,ε}
ae --> abe : 0
ae --> ae : 1

' Übergänge von b
b --> c : 0
b --> c : 1

' Übergänge von c
c --> d : 0
c --> d : 1

' Übergänge von d (Endzustand Q_A)
d --> e : 0
d --> e : 1

' Schleife auf ε
e --> e : 0
e --> e : 1
@enduml

1(c)

Gibt es einen deterministischen endlichen Automaten mit weniger Zuständen als A_N, der L(N) akzeptiert? Begründen Sie Ihre Antwort.

Um A_N zu minimieren, könnte man nicht erreichbare Zustände, in diesem Fall {{b},{c},{d},{ε}}, entfernen. Ansonsten ist der Automat bereits in minimaler Form, da die Zustände sich alle in ihrer Erreichbarkeit und/oder ihrem Umgang mit Eingaben unterscheiden.

Übung 2

Betrachten Sie den nichtdeterministischen Automaten N aus Abbildung 2 über dem Alphabet Σ = \{ x, y, z \}^*. Weiterhin seien die Zeichenketten s_1 = zzx, s_2 = xxyz, s_3 = yyy, s_4 = xxz und s_5 = xxzxxzxxzxxz definiert.

image_785.png Automat N für Worte aus \{x,y,z\}^*, die kein y enthalten und die Zeichenkette xxy beinhalten

2(a)

Geben Sie für jedes s_i (i ∈ \{ 1, 2, . . . , 5 \}) an, ob es eine Berechnung (Bearbeitungspfad) für den Automaten N gibt, welche die Zeichenkette si vollständig liest (also alle Zeichen abarbeitet bevor entschieden wird, ob s_i akzeptiert wird oder nicht.)

2(b)

Geben Sie für jedes s_i (i ∈ \{ 1, 2, . . . , 5 \}) die Menge aller Zustände an, die N durch die Zeichenkette si erreichen kann

2(c)

Wie viele Berechnungspfade gibt es, die das Wort s_5 vollständig lesen? Begründen Sie nachvollziehbar, wie Sie auf Ihre Antwort gekommen sind.

2(d)

Beschreiben Sie die Sprache L(N) aller Worte, die der Automat N akzeptiert (formal oder informal, Ihre Wahl). Welche der Zeichenketten s_i (i ∈ \{ 1, 2, . . . , 5 \}) gehören zu L(N ), welche nicht?

2(e)

Beschreiben Sie die Sprache aller Worte, welche der Automat N nicht vollständig bearbeiten kann, unabhängig davon ob N die Worte akzeptiert oder nicht (formal oder informal, Ihre Wahl). Also die Worte, für die kein Berechnungspfad existiert der alle Zeichen liest

Übung 3

3(a)

Gegeben sei ein beliebiger deterministischer endlicher Automat A = (Σ, Q, q_s, Q_a, δ). Konstruieren Sie einen deterministischen endlichen Automaten A in formaler Tupel- Darstellung, der genau die Worte akzeptiert die A nicht akzeptiert. Beweisen Sie die Korrektheit Ihrer Konstruktion.

3(b)

Gegeben sei ein beliebiger nichtdeterministischer endlicher Automat N = (Σ, Q, q_s, Q_a, δ). Können Sie hier auf ähnliche Weise wie in Punkt (a) einen nichtdeterministischen endlichen Automaten N konstruieren, der genau die Worte akzeptiert, die N nicht akzeptiert? Falls ja, beweisen Sie die Korrektheit der Konstruktion. Falls nein, geben Sie ein Beispiel für das die Konstruktion scheitert.

Übung 4

Betrachten Sie die beiden deterministischen endlichen Automaten A_1 und A_2 aus Abbildung 3 image_786.png

4(a)

Beschreiben Sie den Aufbau von Worten w aus der Sprache L(A_1) L(A_2) (formal oder informal, Ihre Wahl)

4(b)

Konstruieren Sie einen nichtdeterministischen endlichen Automaten N_, der die Sprache L(A_1) L(A_2) akzeptiert

4(c)

Beschreiben Sie den Aufbau von Worten w aus der Sprache L(A_1) ∩ L(A_2) (formal oder informal, Ihre Wahl)

4(d)

Konstruieren Sie einen nichtdeterministischen endlichen Automaten N_∩, der die Sprache L(A_1) ∩ L(A_2) akzeptiert