"Der entstandene PDA hat die gleiche Zustandsmenge, wie der gegebene DFA.\n",
"Die Überführungen erfolgen ebenfalls analog.\n",
"Damit der PDA allerdings ein Wort akzeptiert muss der Keller leer sein. Dafür werden lambda-Übergänge eingefügt, mit denen man in einem Endzustand des DFA den Keller leeren kann.\n",
"Die vollständige Überführungsfunktion des PDA ist durch folgende Tabelle gegeben: "
"Die vollständige Überführungsfunktion des PDA ist durch die nachfolgende Tabelle gegeben. Dabei ist die Spalte **keller_symbole** als aneinanderkettung der Symbole in der Menge zu verstehen. Also bei {(1↦Bottom)} wird Bottom und bei ∅ wird kein Symbol wieder auf den Keller gelegt."
Im folgenden werden wir uns damit befassen wie die verschiedenen Automatenmodelle in Verbinndung stehen und wie man sie ineinander übersetzt.
Wie bereits aus der Vorlesung bekannt ist, akzeptieren DFAs reguläre, PDAs kontextfreie und Turingmaschienen $\mathbb{L}_0$ Sprachen. Da die $REG\subseteq CF \subseteq \mathbb{L}_0$ kann jeder DFA durch einen PDA und jeder PDA durch eine TM dargestellt werden. Folgende Maschiene demonstriert eine Möglichkeit dies zu tun:
CUSTOM_GRAPH_EDGES4 == rec(color:"black",label:"",edges:{""}*{z_start}); // Kanten für Startknoten
END
```
%% Output
Loaded machine: DFA_PDA_TM
%% Cell type:code id: tags:
``` prob
:constants DFA=({a, b}, //Σ
{z_0,z_1,z_2,z_3}, //Z
{(z_0,a)↦z_1, (z_0,b)↦z_3,
(z_1,a)↦z_3, (z_1,b)↦z_2,
(z_2,a)↦z_2, (z_2,b)↦z_2,
(z_3,a)↦z_3, (z_3,b)↦z_3 }, //δ
z_0, {z_0, z_2}) //z0, F
```
%% Output
Machine constants set up using operation 0: $setup_constants()
%% Cell type:markdown id: tags:
Der Zustandsgraph des DFA sieht wie folgt aus:
%% Cell type:code id: tags:
``` prob
:dot custom_graph
```
%% Output
<Dot visualization: custom_graph []>
%% Cell type:code id: tags:
``` prob
:init
```
%% Output
Machine initialised using operation 1: $initialise_machine()
%% Cell type:markdown id: tags:
Der entstandene PDA hat die gleiche Zustandsmenge, wie der gegebene DFA.
Die Überführungen erfolgen ebenfalls analog.
Damit der PDA allerdings ein Wort akzeptiert muss der Keller leer sein. Dafür werden lambda-Übergänge eingefügt, mit denen man in einem Endzustand des DFA den Keller leeren kann.
Die vollständige Überführungsfunktion des PDA ist durch folgende Tabelle gegeben:
Die vollständige Überführungsfunktion des PDA ist durch die nachfolgende Tabelle gegeben. Dabei ist die Spalte **keller_symbole** als aneinanderkettung der Symbole in der Menge zu verstehen. Also bei {(1↦Bottom)} wird Bottom und bei ∅ wird kein Symbol wieder auf den Keller gelegt.