Machine constants set up using operation 0: $setup_constants()
Machine constants set up using operation 0: $setup_constants()
%% Cell type:code id: tags:
%% Cell type:code id: tags:
``` prob
``` prob
:init
:init
```
```
%% Output
%% Output
Machine initialised using operation 1: $initialise_machine()
Machine initialised using operation 1: $initialise_machine()
%% Cell type:markdown id: tags:
%% Cell type:markdown id: tags:
Markiere alle Paare $\{z, z'\}$ mit
Markiere alle Paare $\{z, z'\}$ mit
* $z \in F \Longleftrightarrow z' \not\in F$.
* $z \in F \Longleftrightarrow z' \not\in F$.
Dies wird in der B Maschine in der INITIALISATION Klausel gemacht. Im Graphen unten sind die markierten Paare mit $\times$ gekennzeichnet.
Dies wird in der B Maschine in der INITIALISATION Klausel gemacht. Im Graphen unten sind die markierten Paare mit $\times$ gekennzeichnet.
%% Cell type:code id: tags:
%% Cell type:code id: tags:
``` prob
``` prob
:pref DOT_ENGINE=circo
:pref DOT_ENGINE=circo
```
```
%% Output
%% Output
Preference changed: DOT_ENGINE = circo
Preference changed: DOT_ENGINE = circo
%% Cell type:code id: tags:
%% Cell type:code id: tags:
``` prob
``` prob
:dot custom_graph
:dot custom_graph
```
```
%% Output
%% Output
<Dot visualization: custom_graph []>
<Dot visualization: custom_graph []>
%% Cell type:markdown id: tags:
%% Cell type:markdown id: tags:
Sei $\{z, z'\}$ ein unmarkiertes Paar. Prüfe für jedes
Sei $\{z, z'\}$ ein unmarkiertes Paar. Prüfe für jedes
$a \in \Sigma$, ob $\{\delta(z,a), \delta(z',a)\}$ bereits markiert
$a \in \Sigma$, ob $\{\delta(z,a), \delta(z',a)\}$ bereits markiert
ist. Ist mindestens ein Test erfolgreich, so markiere auch
ist. Ist mindestens ein Test erfolgreich, so markiere auch
$\{z,z'\}$.
$\{z,z'\}$.
Dies ist hier der Fall:
Dies ist hier der Fall:
%% Cell type:code id: tags:
%% Cell type:code id: tags:
``` prob
``` prob
:exec Markiere
:exec Markiere
```
```
%% Output
%% Output
Executed operation: Markiere(z1,z0,0)
Executed operation: Markiere(z1,z0,0)
%% Cell type:code id: tags:
%% Cell type:code id: tags:
``` prob
``` prob
:dot custom_graph
:dot custom_graph
```
```
%% Output
%% Output
<Dot visualization: custom_graph []>
<Dot visualization: custom_graph []>
%% Cell type:code id: tags:
%% Cell type:code id: tags:
``` prob
``` prob
:exec Markiere
:exec Markiere
```
```
%% Output
%% Output
Executed operation: Markiere(z2,z0,0)
Executed operation: Markiere(z2,z0,0)
%% Cell type:code id: tags:
%% Cell type:code id: tags:
``` prob
``` prob
:dot custom_graph
:dot custom_graph
```
```
%% Output
%% Output
<Dot visualization: custom_graph []>
<Dot visualization: custom_graph []>
%% Cell type:markdown id: tags:
%% Cell type:markdown id: tags:
Es kann jetzt kein Markieren mehr ausgeführt werden, man kann nun Zustände fusionieren. Die Fusion selber ist hier nur grafisch angedeutet, nicht ausgeführt.
Es kann jetzt kein Markieren mehr ausgeführt werden, man kann nun Zustände fusionieren. Die Fusion selber ist hier nur grafisch angedeutet, nicht ausgeführt.
%% Cell type:code id: tags:
%% Cell type:code id: tags:
``` prob
``` prob
:exec Fertig
:exec Fertig
```
```
%% Output
%% Output
Executed operation: Fertig()
Executed operation: Fertig()
%% Cell type:code id: tags:
%% Cell type:code id: tags:
``` prob
``` prob
:dot custom_graph
:dot custom_graph
```
```
%% Output
%% Output
<Dot visualization: custom_graph []>
<Dot visualization: custom_graph []>
%% Cell type:markdown id: tags:
%% Cell type:markdown id: tags:
Anmerkung: wenn man oben zum Beispiel $F = \{z2\}$ setzt kommt ein anderes Ergebnis heraus.
Anmerkung: wenn man oben zum Beispiel $F = \{z2\}$ setzt kommt ein anderes Ergebnis heraus.
%% Cell type:markdown id: tags:
Das sind die Zustände die fusioniert werden können: