Informatik zum Jahresanfang – noch eine Variation
bearbeitet von Gunnar Bittersmann@@Gunnar Bittersmann
> > Ich mach mal den Columbo: Eine Frage hätte ich da noch. Wie müsste man den Automaten verändern, wenn führende Nullen nicht erlaubt sind?
>
> Wie „ein Sektglas. Passend zum Jahresanfang.“ —@Matthias Apsel
>
> ![endlicher Automat](/images/ceffeec0-e031-4c91-bae7-9b5f61fa80d0.png){:width="355"}
Das lässt sich auch verallgemeinern: Wir brauchen in dem [allgemeinen Automaten für *n*](https://forum.selfhtml.org/self/2019/jan/2/informatik-zum-jahresanfang/1740293#m1740293) zwei zusätzliche Zustände; ich nenne sie mal $$s_{\mathrm{zero}}$$ und $$s_{\mathrm{trap}}$$ (entsprechen *ZO* und *ZF* im Fuß von Matthias’ Sektglas), wobei $$s_{\mathrm{zero}}$$ ein weiterer Endzustand ist. Dann ist also
$$\begin{align}
S &= \{s_{-0}, s_{\mathrm{zero}}, s_{\mathrm{trap}}, s_0, s_1, \ldots, s_n\} \\
F &= \{s_{\mathrm{zero}}, s_0\}
\end{align}$$
(wobei der Startzustand $$s_{-0}$$ dem *ZS* in Matthias’ Sektglas entspricht).
In der Übergangsfunktion müssen wir den Pfeil für die 0 von $$s_{-0}$$ zu $$s_{\mathrm{zero}}$$ umbiegen und die Ausgänge von $$s_{\mathrm{zero}}$$ und $$s_{\mathrm{trap}}$$ zu $$s_{\mathrm{trap}}$$ hinzufügen:
$$\delta(s_u, d) = \begin{cases}
s_v \text{ mit } v = (10u + d) \bmod n & \text{ für } u = 0, \ldots, 9\text{ sowie für } u = -0 \text{ und } d = 1, \ldots, 9 \\
s_{\mathrm{zero}} & \text{ für } u = -0 \text{ und } d = 0 \\
s_{\mathrm{trap}} & \text{ für } s_u \in \{s_{\mathrm{zero}}, s_{\mathrm{trap}}\}
\end{cases}$$
LLAP 🖖
--
*„Wer durch Wissen und Erfahrung der Klügere ist, der sollte nicht nachgeben. Und nicht aufgeben.“* —Kurt Weidemann
Informatik zum Jahresanfang – noch eine Variation
bearbeitet von Gunnar Bittersmann@@Gunnar Bittersmann
> > Ich mach mal den Columbo: Eine Frage hätte ich da noch. Wie müsste man den Automaten verändern, wenn führende Nullen nicht erlaubt sind?
>
> Wie „ein Sektglas. Passend zum Jahresanfang.“ —@Matthias Apsel
>
> ![endlicher Automat](/images/ceffeec0-e031-4c91-bae7-9b5f61fa80d0.png){:width="355"}
Das lässt sich auch verallgemeinern: Wir brauchen in dem [allgemeinen Automaten für *n*](https://forum.selfhtml.org/self/2019/jan/2/informatik-zum-jahresanfang/1740293#m1740293) zwei zusätzliche Zustände; ich nenne sie mal $$s_{\mathrm{zero}}$$ und $$s_{\mathrm{trap}}$$ (entsprechen *ZO* und *ZF* im Fuß von Matthias’ Sektglas), wobei $$s_{\mathrm{zero}}$$ ein weiterer Endzustand ist. Dann ist also
$$\begin{align}
S &= \{s_{-0}, s_{\mathrm{zero}}, s_{\mathrm{trap}}, s_0, s_1, \ldots, s_n\} \\
F &= \{s_{\mathrm{zero}}, s_0\}
\end{align}$$
(wobei $$s_{-0}$$ dem *ZS* in Matthias’ Sektglas entspricht).
In der Übergangsfunktion müssen wir den Pfeil für die 0 von $$s_{-0}$$ zu $$s_{\mathrm{zero}}$$ umbiegen und die Ausgänge von $$s_{\mathrm{zero}}$$ und $$s_{\mathrm{trap}}$$ zu $$s_{\mathrm{trap}}$$ hinzufügen:
$$\delta(s_u, d) = \begin{cases}
s_v \text{ mit } v = (10u + d) \bmod n & \text{ für } u = 0, \ldots, 9\text{ sowie für } u = -0 \text{ und } d = 1, \ldots, 9 \\
s_{\mathrm{zero}} & \text{ für } u = -0 \text{ und } d = 0 \\
s_{\mathrm{trap}} & \text{ für } s_u \in \{s_{\mathrm{zero}}, s_{\mathrm{trap}}\}
\end{cases}$$
LLAP 🖖
--
*„Wer durch Wissen und Erfahrung der Klügere ist, der sollte nicht nachgeben. Und nicht aufgeben.“* —Kurt Weidemann
Informatik zum Jahresanfang – noch eine Variation
bearbeitet von Gunnar Bittersmann@@Gunnar Bittersmann
> > Ich mach mal den Columbo: Eine Frage hätte ich da noch. Wie müsste man den Automaten verändern, wenn führende Nullen nicht erlaubt sind?
>
> Wie „ein Sektglas. Passend zum Jahresanfang.“ —@Matthias Apsel
>
> ![endlicher Automat](/images/ceffeec0-e031-4c91-bae7-9b5f61fa80d0.png){:width="355"}
Das lässt sich auch verallgemeinern: Wir brauchen in dem [allgemeinen Automaten für *n*](https://forum.selfhtml.org/self/2019/jan/2/informatik-zum-jahresanfang/1740293#m1740293) zwei zusätzliche Zustände; ich nenne sie mal $$s_{\mathrm{zero}}$$ und $$s_{\mathrm{trap}}$$ (entsprechen *ZO* und *ZF* im Fuß von Matthias’ Sektglas), wobei $$s_{\mathrm{zero}}$$ ein weiterer Endzustand ist. Dann ist also
$$\begin{align}
S &= \{s_{-0}, s_{\mathrm{zero}}, s_{\mathrm{trap}}, s_0, s_1, \ldots, s_n\} \\
F &= \{s_{\mathrm{zero}}, s_0\}
\end{align}$$
In der Übergangsfunktion müssen wir den Pfeil für die 0 von $$s_{-0}$$ zu $$s_{\mathrm{zero}}$$ umbiegen und die Ausgänge von $$s_{\mathrm{zero}}$$ und $$s_{\mathrm{trap}}$$ zu $$s_{\mathrm{trap}}$$ hinzufügen:
$$\delta(s_u, d) = \begin{cases}
s_v \text{ mit } v = (10u + d) \bmod n & \text{ für } u = 0, \ldots, 9\text{ sowie für } u = -0 \text{ und } d = 1, \ldots, 9 \\
s_{\mathrm{zero}} & \text{ für } u = -0 \text{ und } d = 0 \\
s_{\mathrm{trap}} & \text{ für } s_u \in \{s_{\mathrm{zero}}, s_{\mathrm{trap}}\}
\end{cases}$$
LLAP 🖖
--
*„Wer durch Wissen und Erfahrung der Klügere ist, der sollte nicht nachgeben. Und nicht aufgeben.“* —Kurt Weidemann