Deterministic Finite Automata
In order to describe a Deterministic Finite Automation, , we describe 5 things:
- its states
- its input alphabet
- its (unique) initial state
- its favourable (or accepting) states there can be none, or more than one
- its transition function: for every (state, input symbol) pair we have to tell what the next state should be
A word is accepted by DFA if the computation of on input ends up in some favourable state. Otherwise, is rejected by .
Link to original






DFA Minimisation
Mainstream method for optimising DFAs:
- Take all pairs with
- Mark all pairs that have accepting and non-accepting states
- For all unmarked pairs and all characters test whether are marked. If yes in at least one case, then also mark .
- Repeat last step until no change.
- All unmarked pairs can be merged.
Example
After iterating through all the pairs:
Which leaves us with:
After iterating through all the pairs:
Which leaves us with:
