Wird als reguläre Sprache klassifiziert?
Ich bin verwirrt, weil ich weiß, dass nicht regulär ist. Welchen Unterschied macht der Kleene-Stern?
Wird als reguläre Sprache klassifiziert?
Ich bin verwirrt, weil ich weiß, dass nicht regulär ist. Welchen Unterschied macht der Kleene-Stern?
Antworten:
Eine Sprache ist per Definition regulär, wenn sie von einem DFA akzeptiert wird. (Dies ist mindestens eine gebräuchliche Definition.) Können Sie sich vorstellen, dass ein EDA die Sprache akzeptiert?
Ein bekanntes Ergebnis (das in vielen Lehrbüchern bewiesen ist) besagt, dass die Sprache eines regulären Ausdrucks regulär ist. Da ein regulärer Ausdruck ist, muss seine Sprache regulär sein (wenn Sie diesem Ergebnis glauben).
Schließlich Ihre Frage zu beantworten (was für einen Unterschied macht die Kleene Stern make): in der Sprache , müssen wir zählen die Anzahl der s und s; in der Sprache tun wir das nicht.
ist eine reguläre Sprache, da sie durch einen regulären Ausdruck generiert wird.
Der Hauptunterschied zwischen und besteht darin, dass Zählen der und erfordert , um zu überprüfen, ob es dasselbe gibt Anzahl von ihnen, während keine Zählung erfordert. Das Zählen erfordert unbegrenzten Speicher, wenn die Anzahl größer wird, aber endliche Automaten haben nur eine begrenzte Menge an Speicher, so dass ein endlicher Automat nicht erkennen kann . Andererseits kann ein endlicher Automat da dies lediglich die Überprüfung erfordert, ob das (eine beliebige Zahl) vor dem (eine beliebige Zahl) steht.
Aus diesem Grund definiert der Kleene-Stern keine Sprachen, für deren Erkennung unbegrenztes Gedächtnis erforderlich ist. Er bedeutet „beliebige Zahl“, und jedes Mal, wenn der Stern angetroffen wird, kann die Zahl unterschiedlich sein.
Jede Sprache, für die Sie ein DFA entwickeln können.
Überprüfen Sie einfach, ob Sie für beide Sprachen einen DFA zeichnen können.
bezeichnen alle Vorkommen des Alphabets
Zeichenfolgen: , a, b, aa, ab, bb, ..
Um einen Satz von Zeichenfolgen zu generieren, die zu , muss die Maschine die Anzahl der a und b nicht verfolgen. Da sich FA nur an das zuletzt verarbeitete Alphabet erinnern kann, kann DFA entwickelt werden.
DFA existieren.
Deshalb regelmäßig.
Zeichenfolgen: , aa, bb, aaa, bbb, ..
Um einen Satz von Zeichenfolgen zu , die zu , muss die Maschine die Anzahl der gedruckten a verfolgen, um die gleiche Anzahl von b zu drucken. FA kann sich jedoch nur an das zuletzt verarbeitete Alphabet erinnern.
Um eine Maschine zu konstruieren, die akzeptiert, wir einen weiteren Speicher hinzufügen. Eine solche Maschine heißt PDA (Push Down Automate).
Es ist kein DFA vorhanden.
Daher nicht regelmäßig.