VTU 21CS51 ATC Module 1 Automata Part
VTU 21CS51 ATC Module 1 Automata Part
Syllabus:
Points to Remember:
Finite Automata
Here's a breakdown of its components, also called the 5 tuples of finite automata:
Finite Set of States(k/Q): These are the distinct states the automaton can be in at any
given time. Each state represents a particular condition or situation of the system.
Alphabet(∑): This is a finite set of symbols from which strings are formed. The
automaton reads input strings symbol by symbol from this alphabet.
Transition Function(δ): This function dictates how the automaton moves from one
state to another based on the current state and the input symbol being read. It defines
the behavior or rules of the automaton.
Start State(S): This is the initial state where the automaton begins processing input
strings.
Final State/Accepting State(F/A): These are the states where the automaton ends up
after processing an input string. If the automaton reaches any of these states after
reading the entire input string, it accepts the string as part of its language.
Finite automata come in two main types: deterministic finite automata (DFAs) and
nondeterministic finite automata (NFAs).
M = (Q, ∑, δ, S, F)
where,
M is the name of the machine
Q is non-empty, finite set of states
∑ is non-empty, finite set of input alphabets
δ is a transition function which is a mapping of Q x ∑ to Q which is denoted
by δ : Q x ∑ to Q
S ϵ Q and is the initial state
F ϵ Q and is a non-empty set of all final states.
Deterministic- Exactly 1 transition for every input from any given state.
Finite- Has finite number of states and edges.
Automata- A machine that will either accept or reject a string.
M = (Q, ∑, δ, S, F)
where,
M is the name of the machine
Q is non-empty, finite set of states
∑ is non-empty, finite set of input alphabets
δ is a transition function which is a mapping of Q x ∑ to Q which is denoted
by δ : Q x ∑ to Q. Here there can be multiple transitions of the same state and same
alphabet and there also is an option for “no move”
S ϵ Q and is the initial state
F ϵ Q and is a non-empty set of all final states.
Initialize the Table: Create a table where each cell corresponds to a pair of states
from the DFA. Initially, mark cells corresponding to final and non-final state pairs as
"X" (distinguishable).
Iterative Refinement:
Step 1: For each pair of states (p, q), if p is a final state and q is not a final state, or
vice versa, mark the cell (p, q) as "D" (distinguishable).
Step 2: Repeat the following until no new cells are marked:
For each pair of states (p, q) where p and q are not marked:
For each input symbol a in the alphabet:
Let x be the state reached from p by input symbol a, and y be the state reached from q
by input symbol a.
If the cell (x, y) is marked as "D", mark the cell (p, q) as "D" (distinguishable).
Minimization: Merge all pairs of states that are not marked as "D" to form the
minimized DFA. Each merged group of states represents an equivalent state in the
minimized DFA.
Finalization: Update the transitions of the minimized DFA based on the merged
states.
Designate the initial state and final states of the minimized DFA according to the
original DFA.
Result: The minimized DFA obtained after merging equivalent states represents an
equivalent DFA that accepts the same language as the original DFA but with a
minimized number of states.