Ich habe mich gefragt, welche Sprachen durch Einschränkungen regulärer Ausdrücke erzeugt werden. Angenommen, alle Einschränkungen haben ein konstantes Symbol für jedes Element von und Verkettung. Dann können acht Klassen durch das Vorhandensein oder Fehlen von Komplement / Negation, Veränderung / Vereinigung und dem Kleene-Stern gebildet werden. (Ja, 'normale' reguläre Ausdrücke haben keinen C- Operator, aber hier ist es praktisch.)
Ausdrücke, die einen Wechsel ermöglichen, und der Kleene-Stern mit oder ohne Ergänzung (was ist eine kleine doppelt exponentielle Explosion unter Freunden?) Erzeugen die regulären Sprachen. Ausdrücke, die Abwechslung und Ergänzung erlauben, aber nicht den Kleene-Stern, erzeugen die sternfreien Sprachen. Ausdrücke, die eine Abwechslung zulassen, aber nicht ergänzen, oder der Kleene-Stern erzeugen die endlichen Sprachen.
Aber können interessante Sprachklassen ohne Wechsel generiert werden? Ohne einen der drei Operatoren kann nur ein einziges Wort generiert werden. Der Komplementoperator hilft hier nicht viel.
Mit nur dem Kleene-Stern ist die Klasse etwas interessant ... es ist nicht klar, ob sie schneller als normale Sprachen erkannt werden können. (Ist etwas nicht Triviales darüber bekannt?)
Bekommst du mit dem Kleene-Stern und der Ergänzung etwas Interessantes? Hat diese Klasse einen Namen?
Diese Frage wurde von der Frage zum regulären Ausdruck auf math.se inspiriert.