În teoria automatelor , un automat pushdown este o mașină cu stări finite care folosește o stivă pentru a stoca stări.
Spre deosebire de automatele finite obișnuite, un automat pushdown este un set [1]
Unde
K este un set finit de stări automate, este singura stare inițială permisă a automatului, — un set de stări finale și F=Ø și F=K sunt admisibile, Σ este un alfabet de intrare valid din care se formează șiruri care sunt citite de automat, S - alfabetul memoriei (magazin), este un caracter de memorie nul.Memoria funcționează ca o stivă , adică ultimul element scris în ea este disponibil pentru citire. Deci funcția de tranziție este o mapare . Adică, pe baza combinației dintre starea curentă, simbolul de intrare și simbolul din partea de sus a magazinului, automatul selectează următoarea stare și, eventual, simbolul de scris în magazin. În cazul în care este prezent în partea dreaptă a regulii automate , nu se adaugă nimic în magazin, iar elementul din partea de sus este șters. Dacă magazinul este gol, atunci se declanșează regulile c din partea stângă.
Clasa de limbi recunoscute de automatele push-down este aceeași cu clasa de limbi fără context .
În forma sa pură, automatele push-pull sunt rar folosite. De obicei, acest model este folosit pentru a vizualiza diferența dintre automatele finite obișnuite și gramaticile sintactice . Implementarea automatelor pushdown diferă de automatele finite prin faptul că starea actuală a automatului depinde puternic de oricare dintre cele anterioare.
Există automate pushdown deterministe și nedeterministe .
Pentru automatele nedeterministe (spre deosebire de cele deterministe), există două criterii de terminare echivalente:
Un automat determinist se termină numai când ajunge în starea finală.
Limbi formale și gramatici formale | |
---|---|
Concepte generale | |
Tip 0 | |
Tipul 1 |
|
Tip 2 | |
Tip 3 | |
analizare |