This commit is contained in:
David Schirrmeister 2025-04-22 16:33:51 +02:00
parent 572476ef59
commit 72000ea9bf
5 changed files with 89 additions and 0 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

View File

@ -111,6 +111,7 @@
</toc-element>
<toc-element topic="01Einleitung.md"/>
<toc-element topic="02_GrundlagenFormaleSprachen.md"/>
<toc-element topic="03_GrundlagenEndlicherAutomaten.md"/>
</toc-element>
</toc-element>

View File

@ -0,0 +1,88 @@
# Grundlagen endlicher Automaten
## Definition
### Deterministischer endlicher Automat (DEA)
- 5-Tupel
- $A=(Σ,Q,q_s,Q_a, δ)$
- $Σ$: endliches Eingabealphabet
- $Q$: endliche Menge von Zuständen
- $q_s ∈ Q$: Startzustand
- $Q_a ⊆ Q$: akzeptierte Zustände
- $ δ: Q x Σ → Q$: Übergangsfunktion
### Graphdarstellung $G_A$
- Graphknoten: $Q$
- Startzustand: _Knoten mit eingehender Kante ohne Quelle_
- akzeptierter Zustand: _Knoten mit Doppelkreis_
- gelabelte Kanten: Zustandsübergänge
- Kante von $q$ nach $q'$ mit Label $a ↔ δ(q,a) = q'$
### Beispiel einfacher endlicher Automat
- $ A=(Σ,Q,q_s,Q_a, δ)$
- $Σ=\{0,1\}$
- $Q=\{q_1,q_2,q_3\}$
- $q_s=q_1$
- $Q_a=\{q_3\}$
- $δ:$
- | Zustand | $ δ(.,0)$ | $ δ(.,1)$ |
|---------|-----------|-----------|
| $q_1$ | $q_1$ | $q_2$ |
| $q_2$ | $q_1$ | $q_3$ |
| $q_3$ | $q_3$ | $q_3$ |
- Graphdarstellung
- ![image_740.png](image_740.png)
### Sprache eines Automaten
> Sei $A=( Σ,Q,q_s,Q_a, δ)$ ein DEA. Die fortgesetzte Übergangsfunktion $ δ^*: Q x Σ^* →Q$ ist definiert durch
>
> $ δ^*(q, ∈):=q$ und
>
> $ δ^*(q,wx):= δ( δ^*(q,w),x)$ für $w ∈ Σ^* und x ∈ Σ$
↑ ~_induktive Definition_
> Sei $A= ( Σ,Q, q_s, Q_A, δ) ein DEA.
>
> (a) Wir sagen $A$ akzeptiert $w ∈ Σ^*$, wenn $ δ^*(q_s,w) ∈ Q_A$
>
> (b) Die von $A$ akzeptierte Sprache ist $L(A) := \{w ∈ Σ^* \space| \space A\space akzeptiert \space w\}$
### Unvollständige Automaten
> Ein unvollständiger deterministischer Automat $A=( Σ, Q,Q_s, Q_A, δ)$ ist wie ein normaler DEA
> mit folgenden Änderungen:
>
> (a) Die Übergangsfunktion $ δ$ darf partiell sein
>
> (b) Ist während einer Berechnung der nächste Zustand nicht definiert → Eingabe verwerfen
#### Beispiel unvollständiger Automat:
![image_741.png](image_741.png)
## Nichtdeterministischer endlicher Automat (NEA)
### Nichtdeterminismus
- Erlauben pro Zustand/Zeichen-Paar mehrere Folgezustände
- _die wiederum selbst wieder mehrere Folgezustände haben können_
- **Eine Eingabe, mehrere Berechnungspfade**
- Eingabe wird akzeptiert, wenn
- Berechnungspfad existiert, der in akzeptierendem Zustand endet
### Definition NEA
- 5-Tupel
- $A=(Σ,Q,q_s,Q_a, δ)$
- $Σ$: endliches Eingabealphabet
- $Q$: endliche Menge von Zuständen
- $q_s ∈ Q$: Startzustand
- $Q_a ⊆ Q$: akzeptierte Zustände
- $ δ: Q x Σ → P(Q)$: Übergangsfunktion
- jede einzelne Berechnung wie beim DEA
- starte in $q_s$
- lies nächstes Zeichen
- berechne Folgezustand mit $ δ$
- wechsle in Folgezustand
- ist akzeptierend? → `:)`
- sonst → verwerfe
-
#### Beispiel NEA
![image_742.png](image_742.png)