Welche der folgenden Aussagen ist korrekt?
- Es bestehen ausreichende und notwendige Bedingungen für die Regelmäßigkeit einer Sprache, die jedoch noch nicht entdeckt wurden.
Es gibt keine ausreichende und notwendige Bedingung für die Regelmäßigkeit einer Sprache.
Das Pumplemma ist eine notwendige Bedingung für die Nichtregelmäßigkeit einer Sprache.
- Das Pumplemma ist eine ausreichende Bedingung für die Nichtregelmäßigkeit einer Sprache.
Ich weiß, dass # (4) richtig und # (3) falsch ist, weil "die Umkehrung dieser Aussage nicht wahr ist: Eine Sprache, die diese Bedingungen erfüllt, ist möglicherweise immer noch nicht regulär", aber was kann über (1) und gesagt werden? (2)?
Antworten:
Hier sind einige notwendige und ausreichende Bedingungen, damit eine Sprache regelmäßig ist.
Satz. Lassen . Die folgenden Bedingungen sind gleichwertig:L ⊆ Σ∗
Wenn eine Sprache die Bedingungen des Pump-Lemmas für reguläre Sprachen nicht erfüllt , ist sie nicht regulär. Dies bedeutet, dass das Pumpen von Lemma eine ausreichende Bedingung für die Nichtregelmäßigkeit einer Sprache ist.
Zusammenfassend sind die Aussagen 1, 2 und 3 falsch, während die Aussage 4 wahr ist, wie Sie erwähnt haben.
quelle
Es ist ausreichend (und notwendig), das Vorhandensein eines DFA, einer NFA oder eines regulären Ausdrucks nachzuweisen, um zu beweisen, dass eine Sprache regulär ist, was (1) und (2) widerlegt. Um zu zeigen, dass eine Sprache nicht regulär ist, muss gezeigt werden, dass kein DFA, NFA oder regulärer Ausdruck vorhanden ist.
Das Pump-Lemma ist ein nützliches Werkzeug, um (möglicherweise im Widerspruch) zu zeigen, dass eine Sprache nicht regulär ist, indem gezeigt wird, dass kein DFA existiert.
quelle
Die Bedingung 'es gibt einen regulären Ausdruck, der genau erzeugt ' ist eine notwendige und ausreichende Bedingung für die Regelmäßigkeit einer Sprache L , da sie ihre Definition ist.L L
Diese Bedingung macht es jedoch nicht gerade einfach, die Unregelmäßigkeit einer Sprache zu beweisen. Mir sind keine leicht zu überprüfenden Bedingungen bekannt, die immer beweisen, dass eine nicht reguläre Sprache nicht regelmäßig ist.
Es gibt zwei weitere "Tests", die die Nicht-Regelmäßigkeit einer Sprache beweisen können (obwohl sie möglicherweise nicht funktionieren): Sie können versuchen, eine reguläre Sprache so anzugeben, dass ihre Vereinigung / Schnittmenge / Differenz / Verkettung / Quotient nicht regelmäßig ist ( Es gibt weitere Operationen wie diese), und Sie können versuchen, die Anzahl der generierten Wörter zu zählen und zu überprüfen, ob sie dem Ausdruck für die Anzahl der Wörter in einer regulären Sprache widersprechen (wie auf der von Ihnen verlinkten Wikipedia-Seite zu finden).
quelle
Es gibt diese wunderbare Verbindung zwischen formaler Sprachtheorie und formalen Potenzreihen, die von Chomsky und Schützenberger [CS63] bewiesen wurden . In der Form in [SS78] Kap. II, Satz 5.1
Sei eine reguläre Sprache und K ein Semiring. Dann c h a r ( L )L K char(L) ist ,K -rationalen.
Wenn Sie sich also die charakteristische Reihe c h a r ansehenchar(L)
[SS78] Arto Salomaa und Matti Soittola. Automatentheoretische Aspekte formaler Potenzreihen. Springer-Verlag, New York, 1978.
[CS63] Noam Chomsky und Marcel P. Schützenberger. Die algebraische Theorie kontextfreier Sprachen. In P. Braffort und D. Hirschberg, Herausgeber, Computerprogrammierung und formale Sprachen, Seiten 118–161. Nordholland, 1963.
quelle
Intuitiv entspricht dies der Vorstellung, dass es in der Zustandsmaschine endlich viele Zustände gibt. In der Tat ist die Anzahl der verschiedenen Äquivalenzklassen unter derIL L .
Myhill-Nerode ist besonders nützlich, weil Sie positive Beweise (die Sprache ist regulär) und negative Beweise (die Sprache ist nicht regelmäßig) unter Verwendung des gleichen Rahmens erstellen können: der BeziehungIL
quelle