Hvad er forskellen mellem en finite-maskine og en pushdown-automat?


Svar 1:

Forskellen afhænger af implementeringen. Som Jim allerede har nævnt vil pushdown-automatik typisk være en stak med tilstande, hvor hver tilstand i stakken kun ville have 2 overgange (en på hver side), hvorimod en endelig tilstandsmaskine kan være en graf med overgange, der løber på tværs af tilstande. Kontekstfølsomme kunstige assistenter (som eksempel) kunne implementeres som en push-down-automat, mens applikationslaget på enhver brugerinteraktiv enhed kunne implementeres som en endelig statemachine.

Man kunne tro, at implementering af hierarkiske statemachines er pushdown-automatik kombineret med endelige statemachines på hvert niveau.


Svar 2:

Overgang af finite-state-maskiner er en funktion fra statussæt til statussæt. Når der gives et input, er maskinens fremtidige konfiguration (eller tilstand) kun afhængig af den tilstand, du starter med. I pda går overgangsfunktionen fra et øverste symbol på stabel og en placering til et andet sted. Så fremtiden for automaten, der gives et input, afhænger af tilstanden og indholdet af stakken (næste tilstand afhænger af toppen af ​​stablen, næste til næste afhænger muligvis af det andet element, ved siden af ​​næste til næste på muligvis tredje og så videre) . Størrelsen på stakken er ubundet. Således kan tilstanden eller konfigurationen være ubundet.


Svar 3:

Overgang af finite-state-maskiner er en funktion fra statussæt til statussæt. Når der gives et input, er maskinens fremtidige konfiguration (eller tilstand) kun afhængig af den tilstand, du starter med. I pda går overgangsfunktionen fra et øverste symbol på stabel og en placering til et andet sted. Så fremtiden for automaten, der gives et input, afhænger af tilstanden og indholdet af stakken (næste tilstand afhænger af toppen af ​​stablen, næste til næste afhænger muligvis af det andet element, ved siden af ​​næste til næste på muligvis tredje og så videre) . Størrelsen på stakken er ubundet. Således kan tilstanden eller konfigurationen være ubundet.