Automatentheorie, ein Zweig der theoretischen Informatik, gründete seine Wurzeln im 20. ten Jahrhundert, als Mathematiker sowohl theoretisch begann mit der Entwicklung und buchstäblich Maschinen , die bestimmte Merkmale des Menschen imitiert, Abschluss Berechnungen schneller und zuverlässiger. Die Automatentheorie befasst sich mit der Logik der Berechnung in Bezug auf einfache Maschinen, die als Automaten bezeichnet werden .
Durch Automaten können Informatiker verstehen, wie Maschinen Funktionen berechnen und Probleme lösen und vor allem, was es bedeutet, eine Funktion als berechenbar zu definieren oder eine Frage als entscheidbar zu beschreiben .
Automaten sind abstrakte Modelle von Maschinen, die Berechnungen an einer Eingabe durchführen, indem sie sich durch eine Reihe von Zuständen oder Konfigurationen bewegen. Bei jedem Berechnungszustand bestimmt eine Übergangsfunktion die nächste Konfiguration auf der Grundlage eines endlichen Abschnitts der gegenwärtigen Konfiguration. Als Ergebnis akzeptiert die Berechnung, sobald sie eine akzeptierende Konfiguration erreicht, diese Eingabe. Finite Automaten können in zwei Typen eingeteilt werden:
Contents
Ein deterministischer endlicher Automat (DFA), auch als deterministischer endlicher Akzeptor (DFA), deterministischer endlicher Automat (DFSM) oder deterministischer endlicher Automat (DFSA) bezeichnet, ist ein endlicher Automat, der eine gegebene Zeichenkette akzeptiert oder ablehnt. durch Durchlaufen einer durch die Zeichenfolge eindeutig bestimmten Zustandssequenz.
Es kann auch als abstraktes mathematisches Konzept beschrieben werden, das häufig in Hardware und Software zur Lösung verschiedener spezifischer Probleme implementiert wird. Ein DFA kann beispielsweise eine Software modellieren, die entscheidet, ob Online-Benutzereingaben wie E-Mail-Adressen gültig sind oder nicht.
DFAs recognize exactly the set of regular languages, which are, among other things, useful for doing lexical analysis and pattern matching. DFAs can be built from nondeterministic finite automata (NFAs) using the powerset construction method.
A nondeterministic finite automaton (NFA) also referred to as nondeterministic finite-state machine, were introduced in 1959 by Michael O. Rabin and Dana Scott. Nondeterminism is an important concept in the theory of computing. It refers to the possibility of having multiple choices for what can happen at various points in a computation.
An NFA, similar to a DFA, consumes a string of input symbols. For each input symbol, it transitions to a new state until all input symbols have been consumed. In each step, the automaton arbitrarily chooses one of the applicable transitions. If there exist some sequence of choices leading to an accepting state after completely consuming the input, it is accepted. Otherwise, if no choice sequence at all can consume all the input and lead to an accepting state, the input is rejected.
BASIS OF COMPARISON | DFA | NFA |
Description | Deterministic Finite Automata is a type FA whereby only one path is possible for any specific input to transit from its current state to the next state. There usually exists a unique transition for each input symbol. | Non-Deterministic Finite Automata is a type of FA whereby it is possible to have many paths for a given set of inputs to make their transition from their current state to the next states. |
Next Possible States | In DFA, the next possible state is distinctly set. | In NFA, each pair of state and input symbol can have many possible next states. |
Backtracking | Backtracking is allowed in DFA. | In NFA, backtracking may or may not be allowed. |
Reading Of Input Symbols | DFA recognizes natural languages to perform lexical analysis, pattern matching etc. | The reading of input symbols is not required for every individual state transition. |
Empty String Transition | DFA cannot use empty string transition. | NFA can use empty string transition. |
State Transition | For every symbol of the alphabet, there is only one state transition in DFA. | No user-specifications are required for making NFAs react in line to symbols. |
String Rejection | DFA reject the string in case the termination state is other than the accepting state. | NFA rejects the string only when all branches of the NFA are dead or do not accept the string. |
Description In Terms Of Units | A DFA is best explained in the form of one machine and not as separate units for computing purposes. | NFA is a collection of multiple little-sized units that are combined together to perform computation activities. |
Construction | DFA is more difficult to construct. | NFA is easier to construct. |
Space Requirement | DFA requires more space. | NFA requires little space. |
Transition From One State To Another | In DFA we cannot move from one state to another without consuming a symbol. | NFA allows (null) as the second argument of the transition function. This means that the NFA can make a transition without consuming an input symbol. |
Time Required For Executing An Input String | The time needed for executing an input string is less when compared to NFA. | Time needed for executing an input string is more when compared to DFA. |
Number Of Next States | In DFA transition function, the number of the next states is zero or one or more. | In NFA transition function, the number of next states is exactly one. |
Relation | All DFA are NFA. | Not all NFA are DFA. |
Einleitung: Die Begriffe "Freeway" und "Highway" werden oft synonym verwendet, aber es gibt subtile Unterschiede…
Burritos und Enchiladas sind zwei beliebte Gerichte der mexikanischen Küche, die oft miteinander verwechselt werden.…
In der Zellbiologie spielen Replikation und Transkription entscheidende Rollen im genetischen Prozess. Beide sind Mechanismen,…
Osmose und Diffusion sind zwei grundlegende Prozesse, die in der Zellbiologie und Chemie eine entscheidende…
Einleitung: Die Evolution der mobilen Kommunikationstechnologie hat einen bedeutenden Meilenstein erreicht, als 4G (LTE) zu…
Einleitung: JPG und PNG sind zwei gängige Bildformate, die im Internet weit verbreitet sind. Obwohl…