1. DFAE : DFA fait référence à un automate fini déterministe. Un automate fini (FA) est dit déterministe s'il correspond à un symbole d'entrée, il y a un seul état résultant, c'est-à-dire qu'il n'y a qu'une seule transition. Un automate fini déterministe est un ensemble de cinq tuples représentés par,

Où,
Q : Un ensemble fini d'états non vide dans le contrôle fini (qo, q1, q2, …).
Σ : Un ensemble fini non vide de symboles d’entrée.
δ : C'est une fonction de transition qui prend deux arguments, un état et un symbole d'entrée, elle renvoie un seul état.
qo : C'est l'état de départ, l'un des états de Q.
F : C'est un ensemble non vide d'états finaux/états acceptants de l'ensemble appartenant à Q.
2. CAUSES :
NFA fait référence à un automate fini non déterministe. Un automate fini (FA) est dit non déterministe s’il existe plus d’une transition possible à partir d’un état sur le même symbole d’entrée.
Un automate fini non déterministe est également un ensemble de cinq tuples et représenté comme suit :

Où,
Q : Un ensemble d’états finis non vides.
Σ : Un ensemble de symboles d'entrée finis non vides.
δ : C'est une fonction de transition qui prend un état de Q et un symbole d'entrée et renvoie un sous-ensemble de Q.
qo : État initial de NFA et membre de Q.
F : Un ensemble non vide d’états finaux et membre de Q.
Prérequis - Fini Automatique
Différence entre DFA et NFA :
| DFAE | NFA |
|---|---|
| DFA signifie Automates finis déterministes. | NFA signifie Automates finis non déterministes. |
| Pour chaque représentation symbolique de l'alphabet, il n'existe qu'une seule transition d'état dans DFA. | Inutile de préciser comment réagit la NFA en fonction d'un symbole. |
| DFA ne peut pas utiliser la transition de chaîne vide. | NFA peut utiliser la transition de chaîne vide. |
| DFA peut être considéré comme une seule machine. | NFA peut être compris comme plusieurs petites machines informatiques en même temps. |
| Dans DFA, le prochain état possible est clairement défini. | Dans NFA, chaque paire d'état et de symbole d'entrée peut avoir de nombreux états suivants possibles. |
| DFA est plus difficile à construire. | NFA est plus facile à construire. |
| DFA rejette la chaîne si elle se termine dans un état différent de l'état d'acceptation. | NFA rejette la chaîne en cas de mort ou de refus de toutes les branches. |
| Le temps nécessaire à l'exécution d'une chaîne d'entrée est moindre. | Le temps nécessaire à l'exécution d'une chaîne d'entrée est plus long. |
| Tous les DFA sont des NFA. | Tous les NFA ne sont pas des DFA. |
| DFA nécessite plus d'espace. | NFA nécessite moins d’espace que DFA. |
| La configuration morte n'est pas autorisée. Par exemple : si nous donnons l'entrée 0 sur l'état q0, nous devons donc donner 1 comme entrée à q0 comme boucle automatique. | La configuration morte est autorisée. Par exemple : si nous donnons l'entrée 0 sur l'état q0 afin que nous puissions donner l'entrée suivante 1 sur q1 qui passera à l'état suivant. |
| δ : QxΣ -> Q, c'est-à-dire que le prochain état possible appartient à Q. | δ : Qx(Σ U ε) -> 2^Q c'est-à-dire que le prochain état possible appartient à l'ensemble de puissance de Q. |
| Le retour en arrière est autorisé dans DFA. | Le retour en arrière n’est pas toujours possible dans NFA. |
| La conversion d'une expression régulière en DFA est difficile. | La conversion d'une expression régulière en NFA est plus simple que DFA. |
| Le déplacement Epsilon n'est pas autorisé dans DFA | Le déplacement d'Epsilon est autorisé dans la NFA |
| DFA n'autorise qu'un seul déplacement pour un alphabet à saisie unique. | Il peut y avoir un choix (plus d'un mouvement) pour un alphabet à entrée unique. |