Uncommon Deterministic Finite Automata

A deterministic finite automaton (DFA) is defined as a 5-tuple (Q, \Sigma, \delta, q_0, F ), where

  1. Q is a finite set called the states
  2. \Sigma is a finite set called the alphabet,
  3. \delta : Q \times \Sigma \rightarrow Q is the transition function
  4. q_0 \in Q is the start state
  5. F \subseteq Q is the set of accept/final states.

This formal description is not very restrictive and can allow for some uncommon DFAs.

States

The minimum number of states a DFA can have is 1. This is because the formal definition requires one state q_0 to be the start state and q_0 \in Q. If this state is also an accepting state, then the DFA will accept every string in \Sigma^*.

Rendered by QuickLaTeX.com

If this state is not an accepting state, then the DFA doesn’t accept any string.

Rendered by QuickLaTeX.com




Alphabet

The formal definition of a DFA allows an empty alphabet set. Since the transition function has to be a total function, an empty alphabet will result in an empty transition function. This restricts the number of states of such a DFA to just 1 because there isn’t any alphabet to follow a transition. If this state is also an accepting state, then the DFA will accept the empty string \epsilon.

Rendered by QuickLaTeX.com

If this state is not an accepting state, then the DFA doesn’t accept any string.

Rendered by QuickLaTeX.com

Transition Function

The formal definition also allows the transition function to be defined in such a way that some states are unreachable from the start state.

Rendered by QuickLaTeX.com

In the above DFA, the transition function is total. However, the states q_2 and q_3 are unreachable from the start state and thus do not contribute in deciding whether a string is accepted by the DFA. In fact, removing these two states and their transitions will not affect the language of the DFA.

Accepting States

The set of accepting states can be empty. Such a DFA will obviously will not accept any string which makes it pointless. However, the formal definition allows to define such DFAs. In the other extreme, if all the states of the DFA are accepting, then the DFA will accept every string in \Sigma^*.

Rendered by QuickLaTeX.com

Leave a Reply

Your email address will not be published. Required fields are marked *