deterministische und nicht-deterministische endliche Automaten gibt zwei Arten von konzeptionellen "Maschinen" entworfen , um zu überprüfen , ob eine bestimmte Folge von Symbolen bestimmte Regeln gehorcht - wenn es akzeptabel als eine Nachricht in irgendeiner Sprache oder Code . Die Automaten liest ein einzelnes Symbol zu einer Zeit , und besteht immer in einer bestimmten "-Zustand. " Jeder Staat in einen Automaten sein kann, hat eine Reihe von Regeln für die Reaktion auf das nächste Symbol gelesen werden - es kann zu einem anderen bestimmten Zustand zu ändern, oder bleiben gleich. Ergibt sich nach einer ganzen String gelesen wurde , die Automaten aus einem Satz von akzeptablen eingegeben hat " Endzustand " der String ist grammatisch akzeptabel in der Sprache der Automaten für die Prüfung ist . Anleitung
1
Untersuchen der Automaten -Regeln . Dazu gehören: . All der Automaten der möglichen Zustände , die Menge von Endzuständen und die Auswirkungen jeder möglichen Symbol auf jeder Staat
2
prüfen , um zu sehen , wenn eine der Automaten Bundesstaaten mehrere mögliche Reaktionen zu haben ein bestimmtes Symbol . Wenn eine zu tun, ist die nicht-deterministischen Automaten - eine Ndfa . Zum Beispiel, wenn eines Automaten ursprünglichen Zustand auf das Symbol reagieren kann "A" entweder , indem sie zu einem zweiten Staat oder gleich bleibt , ist es ein Ndfa . Ein Ndfa liefert ein positives Ergebnis , wenn es einen Weg gibt , um einen Endzustand mit einem gegebenen String zu erreichen.
3
Beachten Sie, dass ein DFA für jede Ndfa existiert. Da eine Rückkehr Ndfa ein positives Ergebnis nach einer bestimmten Zeichenfolge mindestens eine erfolgreichen Weg durch die er für diesen String haben muss , muss es durch die Notwendigkeit einer entsprechenden DFA , die den String akzeptieren , die nur die Regeln für die einzelnen Pfad , der verwendet wurde sein . Hier ist ein sehr einfaches Beispiel : Angenommen, Sie haben eine Ndfa mit einem Endzustand S1 genannt , dessen Grundzustand S0 reagiert auf das Symbol "A" entweder durch den Wechsel zu S1 oder bei Verbleiben in S0 . Diese Maschine akzeptieren würde eine Zeichenfolge bestehend einfach von "A", weil es einen möglichen Weg zu S1 , und es gibt eine entsprechende DFA , in dem "A" immer ändert S1 zu S0, den Verzicht auf die ungenutzten Weg
.