Decison Properties of Regular Languages
Decision Properties
A decision property of a class of languages is a property that can be decided by an algorithm that tells whether or not some property holds. It is useful, for example, in designing protocols. We usually want to know whether the protocol is finite, or whether it is possible to reach a certain state.
The Membership Problem
Our first problem is the membership problem. Given a regular language
The Emptiness Problem
Given a regular language
The Finiteness Problem
Given a regular language
The Pumping Lemma
For every regular
- For all
,
We can show that the number
Applications
We have claimed that
Proof Suppose
Equivalence between Languages
Given two regular languages
Product DFA
Given two DFAs
- The states of
are the pairs of states of and (Cartesian product). - The start state of
is the pair of start states of and . - The transition function of
is defined as follows: for each pair of states and each input symbol , the next state of on input is . - The final states of
are the pairs of final states of and . - The symbol set of
is the same as the symbol set of and .
Then we can construct the product DFA
Similarly, we can check if
Minimization of Efficient State
Construct a table with all pairs of states. If you find a string that distinguishes two states, then these two states are not equivalent. We can use this idea to minimize the number of states in a DFA.
The first step is to create a table that contains all unique pairs of states in the DFA. For an automaton with states
- Basis: If one state
is final and the other is not, mark the pair . It is easy to see that itself is distinguishable. - Induction: For a string
, if we have marked a pair , then mark every where and .
Finally, we can merge all the unmarked pairs to get the minimized DFA. It can be proved that the minimized DFA is the smallest DFA that accepts the same language.