Différence entre NFA et DFA Différence entre

Anonim

NFA vs DFA

La théorie du calcul est une branche de l'informatique qui traite de la résolution des problèmes à l'aide d'algorithmes. Il a trois branches, à savoir; la théorie de la complexité informatique, la théorie de la calculabilité et la théorie des automates.

La théorie des automates ou des automates est l'étude de machines ou de systèmes mathématiques abstraits pouvant être utilisés pour résoudre des problèmes de calcul. Un automate est composé d'états et de transitions, et comme il voit un symbole ou une lettre d'entrée, il fait une transition vers un autre état en prenant l'état et le symbole en entrée.

La théorie des automates ou des automates comporte plusieurs classes qui incluent les automates finis déterministes (DFA) et les automates finis non déterministes (NFA). Ces deux classes sont des fonctions de transition d'automates ou d'automates.

En cours de transition, DFA ne peut pas utiliser n chaîne vide et peut être comprise comme une seule machine. Si la chaîne se termine à un état qui n'est pas acceptable, DFA le rejettera. Une machine DFA peut être construite avec chaque entrée et sortie.

DFA n'a qu'une seule transition d'état pour chaque symbole de l'alphabet, et il n'y a qu'un seul état final pour sa transition, ce qui signifie que pour chaque caractère lu, il y a un état correspondant dans DFA. Il est plus facile de vérifier l'adhésion à DFA, mais il est plus difficile à construire. Le retour arrière est autorisé dans DFA et nécessite plus d'espace que NFA.

Le retour en arrière n'est pas toujours autorisé dans NFA. Alors que c'est possible dans certains cas, dans d'autres ce n'est pas le cas. Il est plus facile de construire NFA, et il nécessite également moins d'espace, mais il n'est pas possible de construire une machine NFA pour chaque entrée et sortie.

Il est entendu que plusieurs machines minuscules calculent simultanément, et l'adhésion peut être plus difficile à vérifier. Il utilise la transition de chaîne vide, et il existe de nombreux états possibles pour chaque paire d'états et de symboles d'entrée. Il commence à un état spécifique et lit les symboles, et l'automate détermine alors l'état suivant qui dépend de l'entrée courante et d'autres événements conséquents. A son état d'acceptation, NFA accepte la chaîne et la rejette autrement.

Résumé:

1. "DFA" signifie "Deterministic Finite Automata" alors que "NFA" signifie "Automates Finis Non Déterministes". "

2. Les deux sont des fonctions de transition d'automates. Dans DFA, l'état possible suivant est défini distinctement tandis que dans l'AFN, chaque paire d'états et de symboles d'entrée peut avoir plusieurs états possibles.

3. NFA peut utiliser une transition de chaîne vide alors que DFA ne peut pas utiliser une transition de chaîne vide.

4. NFA est plus facile à construire, alors qu'il est plus difficile de construire DFA.

5. Le retour arrière est autorisé dans DFA alors que dans NFA, il peut être autorisé ou non.

6. DFA nécessite plus d'espace tandis que NFA nécessite moins d'espace.

7. Alors que DFA peut être compris comme une machine et qu'une machine DFA peut être construite pour chaque entrée et sortie, 8. NFA peut être compris comme plusieurs petites machines qui calculent ensemble, et il n'y a aucune possibilité de construire une machine NFA pour chaque entrée et sortie.