In Finite Automata (FA), we need a way to represent how states change when input symbols are read.
👉 This is done using:
A Transition Graph is a diagrammatic representation of a finite automaton, showing:
Language: Strings ending with “ab”
→ (q0) --a--> (q1)
(q1) --b--> (q2*)
(q0) --b--> (q0)
(q1) --a--> (q1)
(q2) --a--> (q1)
(q2) --b--> (q0)
| String | Result |
|---|---|
| ab | ✅ Accepted |
| aab | ✅ Accepted |
| aba | ❌ Rejected |
👉 Visual representation of FA 👉 Easy to understand behavior 👉 Used for both DFA and NFA
A Transition Table is a tabular representation of a finite automaton showing transitions for each state and input.
| State | Input a | Input b |
|---|---|---|
| q0 | q1 | q0 |
| q1 | q1 | q2 |
| q2 | q1 | q0 |
| State | a | b |
|---|---|---|
| → q0 | q1 | q0 |
| q1 | q1 | q2 |
| *q2 | q1 | q0 |
👉 Systematic representation 👉 Easy to implement in programs 👉 Used in compiler design
A Transition Function (δ) defines how states change.
δ(q, a) = next state
δ(q0, a) = q1
δ(q1, b) = q2
| Feature | Transition Graph | Transition Table |
|---|---|---|
| Form | Diagram | Table |
| Representation | Visual | Tabular |
| Understanding | Easy | Moderate |
| Implementation | Hard | Easy |
| Use | Design & explanation | Coding & execution |
| State | 0 | 1 |
|---|---|---|
| → q0 | q1 | q0 |
| q1 | q1 | q2 |
| *q2 | q2 | q2 |
→ (q0) --0--> (q1)
(q0) --1--> (q0)
(q1) --0--> (q1)
(q1) --1--> (q2*)
(q2) --0--> (q2)
(q2) --1--> (q2)
👉 Frequently asked:
| Aspect | Transition Graph | Transition Table |
|---|---|---|
| Definition | Diagram of FA | Table of transitions |
| Representation | Nodes & edges | Rows & columns |
| Readability | Easy | Moderate |
| Implementation | Difficult | Easy |
| Use | Understanding | Programming |
| Includes | States, arrows | States, next states |
| Exam Importance | High | Very High |
Open this section to load past papers