logo

Différence entre DFA et NFA

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.