Informatik

Wann ist eine Sprache regulär?

Eine Sprache LL ist regulär, wenn sie von einem deterministischen oder nichtdeterministischen endlichen Automaten (DFA/NFA) erkannt werden kann oder wenn sie durch einen regulären Ausdruck beschrieben werden kann.

Formelle Definition

Eine Sprache LL ist regulär, wenn es einen endlichen Automaten M=(Q,Σ,δ,q0,F)M = (Q, Σ, δ, q_0, F) gibt, wobei:

Beispiel

Die Sprache L={anbnn0}L = \{ a^n b^n \,|\, n \geq 0 \} ist nicht regulär, während die Sprache L={ann0}L' = \{ a^n \,|\, n \geq 0 \} regulär ist, da sie von einem DFA erkannt werden kann:

DFA für LL':

start q0 q0 start->q0 q0->q0 a dead dead q0->dead anderes dead->dead Σ