Ich dachte, alle regulären Sprachen könnten mit regulären Ausdrücken ausgedrückt werden (wenn eine Sprache regulär ist, kann sie mit regulärem Ausdruck ausgedrückt werden), aber mir wurde gesagt, dass Sie alle drei regulären Operationen (Verkettung, Vereinigung und Stern) dafür benötigen halten.
Mir wurde zum Beispiel gesagt, dass es eine reguläre Sprache geben würde, die ich mit diesen beiden nicht beschreiben kann , wenn ich nur die regulären Operationen union und concatenation regex (2 von 3) verwenden kann.
Das gleiche gilt für Kleene Star und Union. Was sind einige Beispiele dafür?
quelle
Ein weiterer interessanter Fall ergibt sich, indem Komplementierung als mögliche Operation zugelassen wird. Mit Vereinigung, Verkettung und Ergänzung (aber ohne Stern) kann man die Sprache erhaltenEIN∗ als Ergänzung der leeren Sprache. Man kann auch Sprachen wie erhalten( a b )∗ und ( a ( a b )∗b )∗ (nicht so einfach zu sehen, wenn Sie den Trick nicht kennen), aber es gibt keine Möglichkeit, ihn zu erhalten ( a a )∗ .
Wenn man nun erlaubt, Sterne zu verwenden, aber keine verschachtelten Sterne, dann ist es ein offenes Problem (seit mindestens 45 Jahren) zu wissen, ob man alle regulären Sprachen erhalten kann. Diese Frage ist als das verallgemeinerte Sternhöhenproblem bekannt . Es ähnelt dem von Yuval Filmus erwähnten Problem der Sternenhöhe, mit dem Unterschied, dass Komplementierung jetzt zulässig ist.
quelle