Unterschied zwischen deterministische und nicht deterministische endliche Automaten

June 23

Erfolgreiche Computer-Programmierung beginnt lange, bevor Sie vor einem Monitor sitzen oder erschließen Sie Ihren Laptop. Ein Programm ist eine Lösung für ein bestimmtes Problem, und beim Erstellen eines Plans, um dieses Problem zu lösen, Ihre Lösung kommen, die viel einfacher für Sie. Endliche Automaten helfen Ihnen, diese Lösung zu planen, und wissen den Unterschied zwischen deterministisch oder nicht deterministisch endliche Automaten erhöhen Ihre Chancen auf Erfolg.

Statuscomputer

Ein Zustandsautomat ist nur ein anderer Name für einen endlichen Automaten. Es ist eine Sammlung verschiedener Staaten, die zur Erreichung des Ziels der Wunsch der gegebenen Aufgabe zusammenarbeiten. Beispielsweise können Sie erstellen eine State-Machine zu erkennen, ob eine Zeichenfolge ein bestimmtes Wort darstellt. Eingabe des Wortes, sagen Sie das Wort "Person," wäre der Statuscomputer Prozess beginnen.

Staaten

Staaten stellen eine andere Stufe des Prozesses dar. Für das Wort erkennen endlicher Automat für den letzten Abschnitt ist die erste oder erste Phase der Anfangsphase, wo wir für den ersten Buchstaben des gewünschten Wortes aussehen könnte. In diesem Beispiel wäre die erste Phase der Buchstabe "p", den ersten Buchstaben im Wort "Person." Ist der erste Buchstabe "p", dann der erste Zustand erreicht ist und der endliche Automat hat sich engagiert.

Übergänge

Übergänge verbinden die Staaten in endliche Automaten. Um jeden neuen aufeinanderfolgenden Zustand zu erhalten, muss eine Eigenschaft gefunden werden, um wahr zu sein. Das Beispiel ist der notwendige Übergang, daß der nächste Buchstabe Buchstaben "e." Wenn der Buchstabe "e" in der Tat der nächste Buchstabe ist, reist dann die Eingabe in den nächsten Status. Die Eingabe wird dann in den folgenden Staaten überprüft, und jedes Mal, wenn die Eingabe die notwendige Bedingung des Staates, erfüllt es wird den Übergang bis der endgültige Zustand erreicht ist oder die Eingabe erweist sich als falsch.

Deterministische und nicht deterministische

Der im vorherigen Abschnitt beschriebenen Statuscomputer ist ein deterministischer endlicher Automat, in dem jeder Staat eindeutig ist. Was machen würde, einen endlichen Automaten nicht deterministisch ist, wenn jeder Staat nicht war. Beispielsweise wenn der Automat zu beliebigen Buchstaben haben als zweiten Buchstaben des Wortes "Mensch" für den Übergang in die nächste Eingabe erlaubt dann der nächste Status nicht eindeutig wäre, so dass es einen nichtdeterministischen endlichen Automaten.