Automat cu baterie

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare

Un automat stivuit sau (cunoscut și sub acronimul PDA , din engleza pushdown automaton ) este un tip de mașină abstractă , în special un automat a cărui memorie de lucru este alcătuită dintr-un teanc , o structură de date ale cărei date pot fi extrase în mod necesar invers ordin cu privire la cea de inserare. Un automat stivuit este capabil să recunoască și să accepte toate limbajele care în teoria gramaticilor formale sunt numite non-contextuale sau de tip 2 conform clasificării ierarhice a lui Chomsky .

Definiție formală

Automat nedeterminist stivuit

Automatul stivei nedeterministe este un sistem formal compus din [1] , unde:

  1. este alfabetul introdus;
  2. este alfabetul simbolurilor grămezii;
  3. este caracterul de pornire al stivei;
  4. este un set finit și ne-gol de stări;
  5. este starea inițială;
  6. este ansamblul stărilor finale;
  7. este funcția de tranziție parțială ( este șirul gol).

Automat de stivă determinist

Un automat determinist acționat pe baterie este un automat acționat pe baterie astfel încât pentru orice personaj o di , pentru fiecare stat din și pentru fiecare stat din da ai

Configurarea unui automat cu baterie

Având un automat acționat de baterie se numește configurație a un triplu , unde este aparține lui , la Și la .

Acceptarea automatelor cu baterii

Un automat stivuit are două moduri diferite de a accepta o limbă:

Acceptare pentru stiva goală

Având un automat acționat de baterie , una dintre configurațiile sale este acceptarea dacă . Pe baza acestei definiții, un șir este acceptat de un automat cu baterie dacă și numai dacă la sfârșitul procesării stiva este goală.

Acceptarea statutului final

Exemplu

Să vedem acum exemplul unui automat determinist alimentat de baterie, care recunoaște limbajul pentru statutul final:

PDA pentru (pentru statutul final)

, cu

  • alfabet de intrare:
  • alfabetul simbolului stivei:
  • caracterul de pornire al stivei:
  • Statele:
  • stare initiala:
  • stări finale:
  • funcție de tranziție ( este șirul gol) - format din următoarele 6 instrucțiuni:
,
,
,
,
,
.

Primele două afirmații spun că într-o stare p , pentru fiecare citire 0 , A se adaugă la stivă. Adăugarea unui A peste un alt A este formalizată prin scrierea AA (la fel cum AZ simbolizează introducerea unui A peste un Z ). A treia și a patra afirmație indică o tranziție epsilon (adică o tranziție nedeterministă, care poate avea loc în orice moment) de la starea p la starea q . A cincea afirmație spune că într-o stare q , pentru fiecare 1 pat, un A este scos din partea de sus a stivei. În cele din urmă, a șasea instrucțiune spune că mașina trece de la starea q la starea finală r numai atunci când stiva este alcătuită doar din variabila Z (adică variabila inițial pe stivă). Aceasta înseamnă că automatul acceptă numai cuvinte în care numărul de 0 este echilibrat cu numărul următoarelor 1 .

Având un automat acționat de baterie , una dintre configurațiile sale este acceptare dacă Și aparține lui . Conform acestei definiții un șir este acceptat de dacă și numai dacă la sfârșitul procesării șirul automatului se află într-o stare finală.

În general, cu un automat acționat de baterie , limba recunoscută de pentru stiva goală este diferită de limba recunoscută de pentru starea finală. Cu toate acestea, este important să rețineți că clasa de limbi recunoscute de automatele stivuite nu se schimbă dacă se alege acceptarea pentru stiva goală sau pentru starea finală. Adică, adică este un limbaj acceptat pentru stiva goală de un automat stivuit dacă și numai dacă este un limbaj acceptat pentru starea finală de un automat alimentat cu baterie . În special, clasa de limbi acceptate de automatele stivei coincide cu cea a limbajelor fără context.

Notă

  1. ^ (EN) Dexter C. Kozen, Pushdown Automata , Springer Berlin Heidelberg, 1977, pp. 157–163, DOI : 10.1007 / 978-3-642-85706-5_27 , ISBN 978-3-642-85708-9 . Adus pe 3 noiembrie 2020 .

Alte proiecte

Teoria automatelor : limbaje formale și gramatici formale
Ierarhia Chomsky Gramatica formală Limba Automat minim
Tipul-0 (nelimitat) Recursiv enumerabil Mașină Turing
(nelimitat) Recursiv Decider
Tipul 1 Context dependent Context dependent Automat liniar
Tipul 2 Fără context Fără context Automat cu baterie ND
Tipul 3 Regulat Regulat Stări finite
Fiecare categorie de limbă sau gramatică este un subset adecvat al categoriei imediat deasupra acesteia.
Informatică Portal IT : accesați intrările Wikipedia care se ocupă cu IT