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:

  1. Take all pairs with
  2. Mark all pairs that have accepting and non-accepting states
  3. For all unmarked pairs and all characters test whether are marked. If yes in at least one case, then also mark .
  4. Repeat last step until no change.
  5. All unmarked pairs can be merged.

Example

After iterating through all the pairs: Which leaves us with:

1 item under this folder.