Automat cu stare finită nedeterminist

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

În teoria calculului, un automat cu stare finită nedeterministică (ASFND, în engleză nondeterministic finite automaton, NFA) este o mașină cu stări finite în care pentru fiecare pereche intrarea simbol-stare poate avea mai multe stări de destinație.

Spre deosebire de automatele finite deterministe , NFA-urile pot schimba starea independent de simbolul citit, prin tranziții epsilon . Automatele care prezintă acest tip de tranziții se mai numesc ε-NFA.

Definiție formală

Un automat finit nedeterminist este un cvintuplu cu:

  • set finit de simboluri numit alfabet
  • ansamblu finit de stări
  • funcție de tranziție , unde este ansamblul părților lui S
  • stare initiala
  • set de stări finale

Având un NFA și un șir , A acceptă șirul cu dacă există o succesiune de stări astfel încât:

Aparatul pornește din starea inițială și citește un șir. Prin relația de tranziție starea sau stările de destinație sunt determinate pe baza stării curente și a simbolului citit. Dacă după citirea ultimului simbol aparatul se află în cel puțin una dintre stările aparținând lui F, aparatul acceptă șirul, altfel îl respinge. Setul tuturor șirurilor acceptate de automatul de stare finită nedeterminist este limbajul acceptat de automat.

Limbajul acceptat de automatele finite nedeterministe este un limbaj obișnuit .

Echivalența dintre automatul nedeterminist și determinist

Pentru orice automat cu stare finită nedeterministă este posibil să se construiască un automat cu stare finită determinist capabil să recunoască același limbaj folosind construcția subseturilor .

Automat cu stare finită nedeterminist cu tranziții epsilon

Este posibil să se definească o variantă a automatelor finite nedeterministe care să permită tranziții de stare spontane, adică tranziții pe un șir gol . Pentru astfel de automate este suficient să se redefinească funcția de tranziție ca:

.

Funcția de închidere

Funcția de închidere activată este definit inductiv.
Baza: .
Ipoteză inductivă: .
Pas inductiv: .

Funcție de tranziție extinsă

Funcția de tranziție extinsă trebuie redefinit în termeni de după cum urmează:
Baza: .
Ipoteză inductivă: .
Pas inductiv: .

Exemplu

Următorul exemplu prezintă un automat finit nedeterminist , pe alfabetul binar , capabil să determine dacă șirul de intrare conține un număr par de zero sau unul.

unde este

  • Funcția de tranziție este definit de următorul tabel de tranziție:
0 1
Automat cu stare finită al exemplului

De asemenea, este important să rețineți că poate fi obținut din unirea a două automate finite deterministe ale căror stări sunt respectiv Și . Limbajul regulat recunoscut de automat este de asemenea exprimabil prin expresie regulată

Bibliografie

  • (EN) automat finit nedeterministic, în Academic Press Dictionary of Science and Technology, Oxford, Elsevier Science & Technology, 1992.
  • (EN) teoria automatelor , în Encyclopedia of Computer Science, Hoboken, Wiley, 2003.
  • ( EN ) John E. Hopcroft , Rajeev Motwani; Jeffrey D. Ullman , Automate finite , în Introducere în teoria automatelor, limbaje și calcul , Addison Wesley, 15 iulie 2006, ISBN 978-0-321-46225-1 .
  • (EN) Martin Davis , Ron Sigal; Elaine J. Weyuker, Automate finite , în Computabilitate, Complexitate și Limbi: Fundamente ale științei teoretice a computerelor , Morgan Kaufmann, 17 februarie 1994, ISBN 978-0-12-206382-4 .

Elemente conexe

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