Introduction
Introduction
Automata is the study of mathematical machinery or systems. The finite Automata Machine(FA)
is the most basic machine used for pattern recognition. The finite Automata, also known as the
finite state machine, is an abstract machine with five elements or tuples. It has a set of states
and rules for moving from one state to the next state, but it is dependent on the input symbol
used. It is primarily an abstract model of a digital computer.
Input: In this, all the input strings or numbers are given i.e I1, I2, I3…In.
Output: In the output state, the possible outputs are mentioned for the respective inputs i.e. O1,
O2, O3….On.
Automata states: In this, all the states of the DFA are mentioned i.e. q1, q2, q3…qn.
State relation: In this state relation, the relationship between various states is described.
Here there is a fixed set of states that the machine can be in at any given time.
The machine can be in one state at a particular time.
The machine receives a series of inputs.
Every state has a sequence of transitions, and each transition has an input and points to a
state.
Consider a machine that accepts strings containing at least one a from the alphabets a and b.
In the above picture, the initial state of the machine is q0, and the final state of the machine is
qf, the state which determines whether the string is accepted or not.
As it can be seen in the diagram above when b enters the system, it is accepted by q0 and
remains there. When we give the machine the symbol a, we can see that when q0 accepts a, it
proceeds to the final state, qf. (The double circles represent the final state.)
The string a is accepted by the machine and the string has ended, we can conclude that the
given string is accepted by the DFA.
Transition table
The transition table is a table that shows how the transition function works. It takes two inputs (a
state and a symbol) and outputs a state (the "next state").
Each input symbol must have one transition for each state.
Vending Machines
Traffic Lights
Video Games
Text Parsing
Regular Expression Matching
CPU Controllers
Protocol Analysis
Natural Language Processing
Speech Recognition
Design a DFA over the input alphabets {a,b} which accepts all strings that end with a.
Step 1: Consider the strings {a,aa,ba,aba,bba………} that follow the above condition.
We can derive from the preceding example that any number of alphabets can come before a.
As we can see, in order to answer the question, we need a machine that accepts strings that
end in a, it doesn’t matter what is the starting of the string, only the ending string should be a.
Because our condition only involves one symbol, we have only one necessary transition, so we
take two states. In this case, the string can begin with any symbol but must end with an a. As a
result, any presence of b is directed to q0, which is our initial state, whereas a's are directed to
the final state qf, which is the final state of the DFA.
However, if we arrive at a point where the machine can no longer progress to its final state, we
have arrived at a dead state. A Dummy state is another name for a dead state.
Let us look at the following example to understand the dead state in a better way
In this example, the machine will begin, and if we want to read strings that begin with 0, the
machine will reach its final state B, which will allow it to accept a string.
However, if we start the machine with 1, it will not be able to advance to the final state. It will
reach another intermediate state which is C. We are now in a dead state after reading 1. And
the string will not be accepted by DFA.
Conclusion
To sum up, we covered the notion of finite automata, its significance, formal definition, and
types. Deterministic finite automata were also addressed, their formal definition and
representation in graphical form. Lastly, we saw examples of DFA to understand it in a better
way.