• For any problem, if the answer is yes or no, then that problem is known as a decision problem otherwise it is an optimization problem.
  • For any problem, if the algorithm is possible to solve that problem, then it is decidable problem.

There are three problems in Finite Automata

  • Emptiness Problem
  • Finiteness Problem
  • Equivalence Problem

Emptiness Problem

The emptiness problem in Finite Automata is to decide whether the given automata are accepting empty language or not.

There is an Algorithm available to check the emptiness of Finite Automata.

  • Step 1: Select those states which are not reachable from the initial state, delete those states and transitions. Using DFS or BFS.
  • Step 2: In the remaining Finite Automata, if at least one final state then it is accepting non-empty language otherwise empty language.

Conclusion: The emptiness problem of finite automata is decidable and decision problem.

Example: Consider a Finite Automata

Given FA is accepting empty language. There is no final state in reachable states.

Finiteness Problem

The finiteness problem in Finite Automata is to decide whether the given automata is accepting finite language or infinite language.

There is an Algorithm available to check the finiteness of Finite Automata.

  • Step 1: Select those states which are not reachable from the initial state, delete those states and transitions. Using DFS or BFS.
  • Step 2: In the remaining Finite Automata, if any state from which we cannot reach the final state, delete those states and transitions.
  • Step 3: In the remaining Finite Automata, if at least one cycle is available then it is accepting infinite language otherwise finite language.

Conclusion: The finiteness problem of finite automata is decidable and decision problem.

Example: Consider a Finite Automata

After applying the first 2 steps the resultant Finite Automata is

Loops exist in the resultant finite automata, hence accepting infinite language.

Equivalence Problem

The equivalence problem in Finite Automata is to decide whether the given two automata are accepting the same language or not.

There is an Algorithm available to check the equivalence of given two Finite Automata.

  • Step 1: Create a transition table for given FAs.
  • Step 2: If any entry of the table contains the final state of one automaton and the non-final state of other automata then the given FAs are not accepting the same language.

Conclusion: The equivalence problem of finite automata is decidable and decision problem.

Example: Consider the following two Finite Automata

The transition table for the above two automata is

Transition table entries are in form of (A, B), where A is the state from Finite Automata 1 and B is the state from Finite Automata 2.
NF means Non-Final State
F means Final State

Above transition table does not contain any conflicting entry hence the given FAs are accepting the same language.