- Automata Theory Tutorial
- Automata Theory - Home
- Automata Theory - Getting Started
- Automata Theory - History
- Automata Theory - Applications
- Automata Theory Terminology
- Basics of String in Automata
- Set Theory for Automata
- Language and Grammars
- Grammars in Theory of Computation
- Language Generated by a Grammar
- Chomsky Classification of Grammars
- Finite Automata
- Deterministic Finite Automaton (DFA)
- Non-deterministic Finite Automaton (NFA)
- Conversion from NFA to DFA
- Minimization of DFA
- Moore vs Mealy Machines
- Complement of DFA
- Regular Expressions
- Regular Expression in Automata
- The Arden’s Theorem in Automata
- Convert Regular Expression to Finite Automata
- Pumping Lemma for Regular Grammar
- Regular Sets in Theory of Computation
- Context-Free Grammars
- Context-Free Grammars (CFG)
- Ambiguity in Context-Free Grammars
- Closure Properties of Context Free Languages
- Simplifying Context Free Grammars
- Chomsky Normal Form (CNF)
- Greibach Normal Form (GNF)
- Pumping Lemma for Context-Free Grammars
- Pushdown Automata
- Pushdown Automata (PDA)
- Pushdown Automata Acceptance
- Construction of PDA from CFG
- Pushdown Automata and Parsing
- Turing Machines
- Basics of Turing Machine (TM)
- Turing Machine Accepted Languages
- Multi-tape Turing Machine
- Multitrack Turing Machine
- Non-Deterministic Turing Machine
- Semi-Infinite Tape Turing Machine
- Linear-Bounded Automata (LBA)
- Computability and Undecidability
- Turing Language Decidability
- Undecidable Languages
- Turing Machine Halting Problem
- Rice's Theorem in Theory of Computation
- Post’s Correspondence Problem (PCP)
- Automata Theory Resources
- Automata Theory - Quick Guide
- Automata Theory - Resources
- Automata Theory - Discussion
Deterministic Finite Automaton
Finite Automaton can be classified into two types −
- Deterministic Finite Automaton (DFA)
- Non-deterministic Finite Automaton (NDFA / NFA)
Deterministic Finite Automaton (DFA)
In DFA, for each input symbol, one can determine the state to which the machine will move. Hence, it is called Deterministic Automaton. As it has a finite number of states, the machine is called Deterministic Finite Machine or Deterministic Finite Automaton.
Formal Definition of a DFA
A DFA can be represented by a 5-tuple (Q, ∑, δ, q0, F) where −
Q is a finite set of states.
∑ is a finite set of symbols called the alphabet.
δ is the transition function where δ: Q × ∑ → Q
q0 is the initial state from where any input is processed (q0 ∈ Q).
F is a set of final state/states of Q (F ⊆ Q).
Graphical Representation of a DFA
A DFA is represented by digraphs called state diagram.
- The vertices represent the states.
- The arcs labeled with an input alphabet show the transitions.
- The initial state is denoted by an empty single incoming arc.
- The final state is indicated by double circles.
Example
Let a deterministic finite automaton be →
- Q = {a, b, c},
- ∑ = {0, 1},
- q0 = {a},
- F = {c}, and
Transition function δ as shown by the following table −
| Present State | Next State for Input 0 | Next State for Input 1 |
|---|---|---|
| a | a | b |
| b | c | a |
| c | b | c |
Its graphical representation would be as follows −