Was ist der Unterschied zwischen einer Finite-State-Maschine und einem Pushdown-Automaten?


Antwort 1:

Der Unterschied hängt von der Implementierung ab. Wie Jim bereits erwähnt hat, handelt es sich bei Pushdown-Automaten in der Regel um einen Stapel von Zuständen, wobei jeder Zustand im Stapel nur zwei Übergänge (einen auf jeder Seite) aufweist, während eine Zustandsmaschine ein Graph mit Übergängen sein kann, die über Zustände laufen. Kontextsensitive künstliche Assistenten (als Beispiel) könnten als Push-Down-Automaten implementiert werden, wohingegen die Anwendungsschicht jedes benutzerinteraktiven Geräts als endliche Zustandsmaschine implementiert werden könnte.

Man könnte denken, dass die Implementierung hierarchischer Statemaschinen Pushdown-Automaten in Kombination mit endlichen Statemaschinen auf jeder Ebene sind.


Antwort 2:

Der Übergang der Zustandsautomaten ist eine Funktion von Satz zu Satz. Daher hängt die zukünftige Konfiguration (oder der Zustand) der Maschine bei einer Eingabe nur von dem Zustand ab, mit dem Sie beginnen. In pda wechselt die Übergangsfunktion von einem oberen Symbol des Stapels und einer Position zu einer anderen Position. Somit hängt die Zukunft der Automaten, die eine Eingabe erhalten, vom Zustand und dem Inhalt des Stapels ab (der nächste Zustand hängt von der Oberseite des Stapels ab, der nächste hängt möglicherweise vom zweiten Element ab, der nächste von der nächsten von möglicherweise dem dritten usw.). . Die Größe des Stapels ist unbegrenzt. Somit könnte der Zustand oder die Konfiguration unbegrenzt sein.


Antwort 3:

Der Übergang der Zustandsautomaten ist eine Funktion von Satz zu Satz. Daher hängt die zukünftige Konfiguration (oder der Zustand) der Maschine bei einer Eingabe nur von dem Zustand ab, mit dem Sie beginnen. In pda wechselt die Übergangsfunktion von einem oberen Symbol des Stapels und einer Position zu einer anderen Position. Somit hängt die Zukunft der Automaten, die eine Eingabe erhalten, vom Zustand und dem Inhalt des Stapels ab (der nächste Zustand hängt von der Oberseite des Stapels ab, der nächste hängt möglicherweise vom zweiten Element ab, der nächste von der nächsten von möglicherweise dem dritten usw.). . Die Größe des Stapels ist unbegrenzt. Somit könnte der Zustand oder die Konfiguration unbegrenzt sein.