Typ | Grammatik | Maschinen |
---|---|---|
Typ-0 | Beliebige Grammatiken | Turing-Maschinen (DTM, NTM, k-Band-DTM...) |
Typ-1 | Monotone Grammatiken | Linear-Beschränkte Automaten (NTM mit beschr. Band) |
Typ-2 | Kontextfreie Grammatiken | Kellerautomaten (PDA) |
Typ-3 | Rechtslineare Grammatiken | Endliche Automaten (DFA, NFA, \epsilon-NFA...), RegEx |
Schnitt \cap | Vereinigung \cup | Komplement \neg | Produkt \cdot | Stern ^* | |
---|---|---|---|---|---|
Regulär (T3) | ✔️ | ✔️ | ✔️ | ✔️ | ✔️ |
DCFL (T2) | ❌ | ❌ | ✔️ | ❌ | ❌ |
CFL (T2) | ❌ | ✔️ | ❌ | ✔️ | ✔️ |
s-e. (T0) | ✔️ | ✔️ | ✔️ | ❌ | ✔️ |
Wortproblem | Leerheitsproblem | Endlichkeitsproblem | Äquivalenzproblem | |
---|---|---|---|---|
DFA | O(|w|+|M|) | O(|Q||\Sigma|) | ✔️ | O(|Q_1||Q_2||\Sigma|) |
NFA | O(|Q|^2|w|+|N|) | O(|Q|^2|\Sigma|) | ✔️ | O(2^{|Q_1|+|Q_2|}) |
Wortproblem | Leerheit | Äquivalenz | Schnittproblem | |
---|---|---|---|---|
DFA | O(n) | ✔️ | ✔️ | ✔️ |
DPDA | O(n) | ✔️ | ✔️ | ❌ |
CFG | O(n^3) | ✔️ | ❌ | ❌ |
WHILE
, IF
, ELSE
, DO
, END
, :=
, +
, -
, ;
, ≠
, Variablen x_1,x_2..., Konstanten c \in \N
WHILE
-Bedingung immer x_i \neq 0IF
-Bedingung immer x_i = 0GOTO ...
, IF ... GOTO ...
(diesmal X_i = n erlaubt) und HALT
bool solve_L1(string w) { return solve_L2(f(w)); } bool solve_L2(string w) { return ...; }
bool solve_L1(string w) {
return solve_L2(f(w));
}
bool solve_L2(string w) {
return ...;
}