Eine Finite-State-Machine (FSM) ist ein Rechenmodell, das zur Darstellung verschiedener Systeme verwendet werden kann. Es besteht aus einer endlichen Anzahl von Zuständen und einer Reihe von Übergängen, die die Bedingungen definieren, unter denen das System von einem Zustand in einen anderen wechseln kann. Wenn sich ein FSM in einem bestimmten Zustand befindet, kann er entweder in diesem Zustand bleiben oder basierend auf der empfangenen Eingabe in einen anderen Zustand übergehen.
Hier ist ein einfaches Beispiel, um die Funktionsweise einer endlichen Zustandsmaschine zu veranschaulichen. Stellen Sie sich einen Lichtschalter vor, der zwei Zustände haben kann:EIN und AUS. Wenn sich der Schalter im EIN-Zustand befindet, ist das Licht eingeschaltet. Wenn sich der Schalter im AUS-Zustand befindet, ist das Licht ausgeschaltet. Die Übergänge zwischen diesen beiden Zuständen werden durch die Eingabe bestimmt, bei der es sich um die Aktion beim Umlegen des Schalters handelt. Wenn der Schalter umgelegt wird, wechselt das FSM von einem Zustand in den anderen.
Finite-State-Maschinen können zur Modellierung verschiedener Systeme wie Ampeln, Verkaufsautomaten und sogar einfacher Computerprogramme verwendet werden. Sie sind nützlich für Systeme, die eine begrenzte Anzahl von Zuständen und einen genau definierten Satz von Übergängen haben.