update
This commit is contained in:
parent
8c1179ad2e
commit
7c4b1939bd
BIN
Writerside/images/image_678.png
Normal file
BIN
Writerside/images/image_678.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 25 KiB |
BIN
Writerside/images/image_679.png
Normal file
BIN
Writerside/images/image_679.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 15 KiB |
@ -100,6 +100,7 @@
|
|||||||
</toc-element>
|
</toc-element>
|
||||||
<toc-element toc-title="Theoretische Informatik">
|
<toc-element toc-title="Theoretische Informatik">
|
||||||
<toc-element topic="01Einleitung.md"/>
|
<toc-element topic="01Einleitung.md"/>
|
||||||
|
<toc-element topic="02_GrundlagenFormaleSprachen.md"/>
|
||||||
</toc-element>
|
</toc-element>
|
||||||
|
|
||||||
</toc-element>
|
</toc-element>
|
||||||
|
@ -0,0 +1,86 @@
|
|||||||
|
# Grundlagen formaler Sprachen
|
||||||
|
## Von einer Problembeschreibung zur Codierung
|
||||||
|
|
||||||
|
**Erinnerung k-Clique**
|
||||||
|
- Eingabe: Graph $V = (V, E)$ und $k ∈ Ν$
|
||||||
|
- Ausgabe: Gibt es eine Clique C der Größe k in G
|
||||||
|
|
||||||
|
> Wie erhält ein Algorithms diese Eingabe (Graph)
|
||||||
|
>
|
||||||
|
> Wie teilt der Algorithmus die Ausgabe (Ja/Nein) mit?
|
||||||
|
|
||||||
|
### Beispiel: Codierung eines gerichteten Graphen
|
||||||
|
- Graph sei über Adjazenzlisten gegeben
|
||||||
|
- Wir Codieren den Graphen als Bitstring
|
||||||
|
|
||||||
|
**Mögliche Codierung eines Graphen**
|
||||||
|

|
||||||
|
|
||||||
|
- andere Codierungen oder auch anderes Alphabet denkbar
|
||||||
|
- geht auch für gerichtete Graphen (z.B. für k-Clique)
|
||||||
|
|
||||||
|
|
||||||
|
## Grundbegriffe
|
||||||
|
### Alphabete und Zeichenketten
|
||||||
|
> Alphabet Σ: endliche Menge von Zeichen
|
||||||
|
>
|
||||||
|
> Zeichenkette s über Alphabet Σ: endliche Zeichenfolge aus Σ
|
||||||
|
|
||||||
|
- die leere Zeichenkette bezeichnen wir als ε
|
||||||
|
- $s_1 * s_2$ ist die **Konkatenation** (_Verkettung_) zweier Zeichenketten $s_1$ und $s_2$
|
||||||
|
|
||||||
|
- $Σ^*$: Menge aller (auch leerer) Zeichenketten über Σ
|
||||||
|
- $Σ^+$: Menge aller nicht-leerer Zeichenketten über Σ
|
||||||
|
|
||||||
|
#### Beispiel Alphabete und Zeichenketten
|
||||||
|
Sei $Σ=\{a,b,c\}$
|
||||||
|
- Alle Zeichenketten der Länge 2 über Σ:
|
||||||
|
- {$aa$, $ab$, $ac$, $ba$, $bb$, $bc$, $ca$, $cb$, $cc$}
|
||||||
|
- $s_1 = ababc ∈ Σ^*$ und $s_2 = cbbb ∈ Σ^*$
|
||||||
|
- für $s = ababccbbb$ gilt $s = s_1 * s_2 ∈ Σ^*$
|
||||||
|
|
||||||
|
|
||||||
|
### Präfixe, Suffixe und Teilzeichenketten
|
||||||
|
> Sei s ∈ $Σ^*$ eine Zeichenkette über Σ.
|
||||||
|
>
|
||||||
|
>
|
||||||
|
> Suffix u von s: $∃s' in Σ^*$ so dass $s = s' * u$
|
||||||
|
>
|
||||||
|
> Präfix u von s: $∃s'' ∈ E^*$ so dass $s = u * s''$
|
||||||
|
>
|
||||||
|
> Teilzeichenkette u von s: $∃s',s'' ∈ E^*$ so dass $s = s' * u * s''$
|
||||||
|
|
||||||
|
- $|s|$: Länge der Zeichenkette s
|
||||||
|
- $\#_a(s)$: Häufigkeit des Zeichens $a ∈ Σ$ in Zeichenkette $s ∈ Σ^*$
|
||||||
|
|
||||||
|
#### Beispiel Präfixe, Suffixe und Teilzeichenketten
|
||||||
|
Sei $Σ = \{0,1\}$ und $s = 101011110$.
|
||||||
|
- Wieviele Präfixe hat s?
|
||||||
|
- 8
|
||||||
|
- Wie viele Zeilzeichenketten der Länge 3 hat s?
|
||||||
|
- 3?
|
||||||
|
- **kompaktere Notation**: $s:s = 101011110 = (10)^21^40$
|
||||||
|
|
||||||
|
## Sprachen und das Wortproblem
|
||||||
|
> im Folgenden sei immer Σ das zugrunde liegende Alphabet
|
||||||
|
|
||||||
|
**Definition**:
|
||||||
|
> formale Sprache L über Σ: eine Teilmenge von $Σ^*$
|
||||||
|
>
|
||||||
|
> Wort w aus L: ein Element $w ∈ L$
|
||||||
|
|
||||||
|
- L kann unendliche ($|l| = ∞$) oder endliche ($|L| = k ∈ Ν$) sein
|
||||||
|
|
||||||
|
**Beispiel**
|
||||||
|
- Σ = {0,1,...,9}
|
||||||
|
- Beschreibe die Worte aus $L=\{007*s | s ∈ Σ^*\}$.
|
||||||
|
- $(007)^1\{0,1,...,9\}^*$ **?**
|
||||||
|
- Wie viele Wörter enthält $L=\{s ∈ \{0,1,2\}^* | |s| ≤ 5\}$?
|
||||||
|
- $ \sum_{n=0}^{5} 5^n$ **?**
|
||||||
|
|
||||||
|
### Algorithmisches Problem für formale Sprachen
|
||||||
|
- L sei eine beliebige Sprache über Σ
|
||||||
|
- 
|
||||||
|
- es handelt sich also um ein Entscheidungsproblem
|
||||||
|
- wir geben typischerweise $1$ aus, wenn $s ∈ L$ und sonst $0$
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user