Ein endlicher Automat liest eine endliche von Symbolen das Eingabewort aus einer endlichen Menge von Symbolen dem Eingabealphabet und schreibt gemäß seiner Programmierung eine Folge von Symbolen das Ausgabewort aus einer Menge von Symbolen dem Ausgabealphabet .
Abhängig von seinem Programm besitzt der eine bestimmte endliche Anzahl von Zuständen in denen er sich befinden kann. Beginn befindet er sich in einem speziell Startzustand .
Beim Lesen der Eingabe und Schreiben Ausgabe geht der Automat schrittweise vor wobei in jedem Schritt das jeweils nächste Symbol Eingabewortes liest. Abhängig von diesem Eingabesymbol und momentanen Zustandes produziert er dann in einem eine endliche Folge von Ausgabesymbolen (und erweitert die Ausgabe) und geht in einen neuen über.
Welche Möglichkeiten es gibt hängt vom Automaten also von seiner Programmierung ab.
Eine einfachere Variante die man auch als endlicher Akzeptor bezeichnet produziert dagegen keine Ausgabe sondern nach dem vollständigen Lesen der Eingabe entweder einem akzeptierenden oder einem nichtakzeptierenden Zustand. Man also die Gültigkeit eines Eingabe wortes überprüfen d.h. überprüfen ob ein gegebenes Wort in einer Sprache ist oder nicht. wird dies durch den Automaten indem er Startzustand beginnt die einzelnen Buchstaben des Wortes einzulesen und bei jedem den Zustand wechselt (er kann auch im verbleiben). Ist das Ende des Wortes erreicht die Gültigkeit des Wortes am letzten Zustand. der Zustand in der Menge <math>Z_E</math> ( s.u. ) wird das Wort akzeptiert und gehört zur entsprechenden Sprache andernfalls ist das Wort ungültig.
Eine weitere Variante sind die sogenannten ω-Automaten bei denen die Eingabe eine unendliche von Symbolen ist. Bei diesem Automatenmodell wird Akzeptanz üblicherweise durch die Menge der Zustände die unendlich oft angenommen werden. Der griechische ω ( omega ) steht hier für die kleinste unendliche Ordinalzahl .
Weiterhin lassen sich die endlichen Automaten zwei Gruppen aufteilen: