Finite Automata(FA) este cea mai simplă mașină pentru a recunoaște modele. Este folosit pentru a caracteriza un limbaj obișnuit, de exemplu: /baa+!/.
De asemenea, este folosit pentru a analiza și recunoaște expresiile în limbaj natural. Automatele finite sau mașina cu stări finite este o mașină abstractă care are cinci elemente sau tupluri. Are un set de stări și reguli pentru trecerea de la o stare la alta, dar depinde de simbolul de intrare aplicat. Pe baza stărilor și a setului de reguli, șirul de intrare poate fi fie acceptat, fie respins. Practic, este un model abstract al unui computer digital care citește un șir de intrare și își schimbă starea internă în funcție de simbolul de intrare curent. Fiecare automat definește un limbaj, adică un set de șiruri de caractere pe care îl acceptă. Figura următoare prezintă câteva caracteristici esențiale ale automatizării generale.

Figura: Caracteristici ale automatelor finite
Figura de mai sus prezintă următoarele caracteristici ale automatelor:
- Intrare
- Ieșire
- Stări ale automatelor
- Relația de stat
- Relația de ieșire
Un automat finit este format din următoarele:
Q : Finite set of states. ? : set of Input Symbols. q : Initial state. F : set of Final States. ? : Transition Function.>
Specificația formală a mașinii este
{ Q, ?, q, F, ? }> FA se caracterizează în două tipuri:
vârsta pete davidson
1) Automate finite deterministe (DFA):
DFA consists of 5 tuples {Q, ?, q, F, ?}. Q : set of all states. ? : set of input symbols. ( Symbols which machine takes as input ) q : Initial state. ( Starting state of a machine ) F : set of final state. ? : Transition Function, defined as ? : Q X ? -->Q.> Într-un DFA, pentru un anumit caracter de intrare, aparatul trece la o singură stare. O funcție de tranziție este definită pe fiecare stare pentru fiecare simbol de intrare. De asemenea, în DFA mutarea nulă (sau?) nu este permisă, adică DFA nu poate schimba starea fără niciun caracter de intrare.
De exemplu, construiți un DFA care acceptă un limbaj cu toate șirurile care se termină cu „a”.
Dat: ? = {a,b}, q = {q0}, F={q1}, Q = {q0, q1}
În primul rând, luați în considerare un set de limbaj al tuturor șirurilor de caractere acceptabile posibile pentru a construi o diagramă de tranziție de stare precisă.
L = {a, aa, aaa, aaaa, aaaaa, ba, bba, bbba, tată, tată, tată, tată}
Mai sus este un subset simplu al șirurilor posibile acceptabile, există multe alte șiruri care se termină cu „a” și conține simbolurile {a,b}.
string.format java

Fig 1. Diagrama de tranziție a stării pentru DFA cu ? = {a, b}
Șirurile de caractere neacceptate sunt,
ab, bb, aab, abbb etc.
Tabel de tranziție de stare pentru automatul de mai sus,
| ?StatSimbol? | A | b |
|---|---|---|
| q0 | q1 | q0 |
| q1 | q1 | q0 |
Un lucru important de remarcat este, pot exista multe DFA posibile pentru un model . Un DFA cu un număr minim de state este, în general, de preferat.
2) Automate finite nedeterministe (NFA): NFA este similar cu DFA, cu excepția următoarelor caracteristici suplimentare:
- Mișcarea nulă (sau?) este permisă, adică se poate deplasa înainte fără a citi simboluri.
- Abilitatea de a transmite către orice număr de stări pentru o anumită intrare.
Cu toate acestea, aceste caracteristici de mai sus nu adaugă nicio putere NFA. Dacă le comparăm pe ambele din punct de vedere al puterii, ambele sunt echivalente.
Datorită caracteristicilor suplimentare de mai sus, NFA are o funcție de tranziție diferită, restul este la fel ca DFA.
?: Transition Function ?: Q X (? U ? ) -->2 ^ Î.>>>După cum puteți vedea în funcția de tranziție este pentru orice intrare, inclusiv nulă (sau?), NFA poate merge la orice număr de stări. De exemplu, mai jos este un NFA pentru problema de mai sus.
shreya ghoshal primul soțFig 2. Diagrama de tranziție a stării pentru NFA cu ? = {a, b}
Tabel de tranziție de stat pentru automatul de mai sus,
| ?StatSimbol? | A | b |
|---|---|---|
| q0 | {q0,q1} | q0 |
| q1 | ? | ? |
Un lucru important de reținut este, în NFA, dacă orice cale pentru un șir de intrare duce la o stare finală, atunci șirul de intrare este admis . De exemplu, în NFA de mai sus, există mai multe căi pentru șirul de intrare 00. Deoarece una dintre căi duce la o stare finală, 00 este acceptată de NFA de mai sus.
Câteva puncte importante:
- Justificare:
