\section{Was sind Automaten?} \label{sec:auto}

\subsection{Definition und Grundlagen}

\dfn{Automat}{
	Ein Automat beschreibt ein System, welches auf sein Eingang reagiert und ein Ausgang produziert, der von dem Eingangssignal und von dem momentanen Zustand des Systems abhängt. \cite{Luisier2024} Ein typisches Beispiel für ein Automaten sind Schaltwerke.
	\\
	Wenn wir von Automaten sprechen, reden wir hauptsächlich von endlichen Automaten. Endliche Automaten haben nur die möglichkeit endlich viele Eingänge, Ausgänge und gespeicherte Zustände zu haben. Unendliche Automaten gibt es nicht.
}

Bei den Automaten unterscheiden wir zwischen synchrone und asynchrone Automaten.
\\
\subsubsection*{Synchrone Automaten}

Bei synchrone Automaten haben alle Speicherelemente (Flipflops) das gleiche Taktsignal. Daraus folgt, dass interne Zustandsänderungen synchron mit dem Taktsignal laufen.

\includegraphics[width=\linewidth]{fig/Fig_33.png} \cite{Luisier2024}

\subsubsection*{Asynchrone Automaten}

In vergleich zu synchrone Automaten haben die Speicherelemente in asynchrone Automaten nicht das gleiche Taktsignal. Eine Zustandsänderung wird durch die Eingangssignale initiiert.
\\
\\
Ein endlicher Automat wird durch ein 6-Tupel charakterisiert:

\begin{tabular}{ p{0.2\linewidth} p{0.8\linewidth} }
	$X = (x_1, x_2, ... , x_e)$               & Eingabealphabet mit $e$ Eingängen $x_i$, die durch binäre Eingangsvariablen $\{ 0,1 \}$ repräsentiert werden.                                                   \\
	$Y = (y_1, y_2, ... , y_b)$               & Ausgabealphabet mit $b$ Ausgängen $y_i$, die als Bits mit Wert $\{ 0,1 \}$ dargestellt werden.                                                                  \\
	$Z = (z_1, z_2, ... , z_m)$               & Zustandsmenge mit $m$ inneren Zustansvariablen $z_i$, die einen Wert $z_i$, die einen Wert $\{ 0,1 \}$ haben können. Insfesamt gibt es $n_m = 2 ^{m}$ Zustände. \\
	$Z_0 \in Z$                               & Anfangszustand                                                                                                                                                  \\
	$f_{c 1}: (X_n, Z_n) \rightarrow Z_{n+1}$ & Übergangs-, Überführungsfunktion                                                                                                                                \\
	$f_{c 1}: (X_n, Z_n) \rightarrow Y_n$     & Ausgangs-, Ausgabefunktion                                                                                                                                      \\
\end{tabular}

\subsection{Automatentypen: Mealy vs. Moore}

\dfn{Mealy Automat}{
	Ein Mealy Automat ist ein endlicher Automat, dessen Ausgang abhängig ist vom Eingang $X_n$, sowie den momentanen Zustand $Z_n$. Der Folgezustand $Z_{n+1}$ ist abhängig vom momentanen Zustand sowie dem Eingang.

	\includegraphics[width=\textwidth]{fig/Fig_34.png} \cite{Luisier2024}
}

\dfn{Moore Automat}{
	Im Vergleich zum Mealy Automat ist der Ausgang vom Moore Automat nur abhängig vom momentanen Zustand $Z_n$. Der Folgezustand $Z_{n+1}$ ist wie beim Mealy Automat abhängig vom momentanen Zustand, sowie dem Eingang.

	\includegraphics[width=\linewidth]{fig/Fig_35.png} \cite{Luisier2024}
}

Eine weitere Art von Automat ist der Medwedjew Automat. Dieser unterscheidet sich vom Moore Automat dadurch, dass sein Ausgang gleich dem momentanen Zustand ist. Der Folgezustand ist wie beim Mealy Automat abhängig vom momentanen Zustand und dem Eingang.

\includegraphics[width=\textwidth]{fig/Fig_36.png} \cite{Luisier2024}

\nt{
	Medwedjew Automaten haben eine grosse Relevanz für Zähler.
}

