Automatentheorie
Automatentheorie ist ein Teilgebiet der Theoretischen Informatik, das abstrakte Maschinen (Automaten) und formale Sprachen untersucht. Sie fragt, welche Sprachen von bestimmten Arten von Automaten erkannt oder erzeugt werden können, und wie formale Grammatiken deren Struktur beschreiben. Die Theorie verbindet Modelle der Berechnung mit der Struktur von Sprachen und liefert zentrale Ergebnisse zur Berechenbarkeit und zu Entscheidungsproblemen. In der Chomsky-Hierarchie werden Sprachenklassen wie reguläre, kontextfreie, kontext-sensitive und rekursiv aufzählbare Sprachen unterschieden; ihre Beziehungen werden durch Automatenmodelle wie endliche Automaten, Pushdown-Automaten und Turingmaschinen repräsentiert. Die Grundlagen gehen auf Arbeiten von Kleene, Chomsky, Turing und andere zurück.
Endliche Automaten umfassen deterministische (DFA) und nichtdeterministische (NFA) Varianten. Sie arbeiten mit einer endlichen Anzahl von
Pushdown-Automaten (PDA) erweitern endliche Automaten um einen Stack und ermöglichen die Erkennung kontextfreier Sprachen. PDAs modellieren
Turingmaschinen bilden das allgemeinste mathematische Modell der Berechenbarkeit. Sie können jedes berechenbare Problem simulieren. Entscheidebar sind
Anwendungen der Automatentheorie finden sich im Compilerbau (Lexing, Parsing), in der Textverarbeitung, in der Software-Verifikation (Modellprüfung)