LARA

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
Next revision Both sides next revision
minimization_of_state_machines [2008/09/20 18:07]
vkuncak
minimization_of_state_machines [2008/09/24 09:57]
vkuncak
Line 7: Line 7:
  
 This is the process of //​minimization//​ of $M$. This is the process of //​minimization//​ of $M$.
 +  * an easy case of minimizing size of '​generated code' in compiler
  
 We say that state machine $M$ distinguishes strings $w$ and $w'$ iff it is not the case that ($w \in L(M)$ iff $w' \in L(M)$). We say that state machine $M$ distinguishes strings $w$ and $w'$ iff it is not the case that ($w \in L(M)$ iff $w' \in L(M)$).
Line 65: Line 66:
  
 Note that if two distinct states are non-equivalent,​ there is $w$ such that states $\delta(q_0,​s_q w)$ and $\delta(q_0,​s_{q'​} w)$ have different acceptance, so $M$ distinguishes $s_q w$ and $s_{q'​}w$. ​ Now, if we take any other state machine ​ $M' = (\Sigma,​Q',​\delta',​q'​_0,​F'​)$ with $L(M'​)=L(M)$,​ it means that $\delta'​(q'​_0,​s_q) \neq \delta'​(q'​_0,​s_{q'​})$,​ otherwise $M'$ would not distinguish $s_q w$ and $s_{q'​} w$.  So, if there are $K$ pairwise non-equivalent states in $M$, then a minimal finite state machine for $L(M)$ must have at least $K$ states. ​ Note that if the algorithm constructs a state machine with $K$ states, it means that $Q^2 \setminus \tau$ had $K$ equivalence relations, which means that there exist $K$ non-equivalent states. ​ Therefore, any other deterministic machine will have at least $K$ states, proving that the constructed machine is minimal. Note that if two distinct states are non-equivalent,​ there is $w$ such that states $\delta(q_0,​s_q w)$ and $\delta(q_0,​s_{q'​} w)$ have different acceptance, so $M$ distinguishes $s_q w$ and $s_{q'​}w$. ​ Now, if we take any other state machine ​ $M' = (\Sigma,​Q',​\delta',​q'​_0,​F'​)$ with $L(M'​)=L(M)$,​ it means that $\delta'​(q'​_0,​s_q) \neq \delta'​(q'​_0,​s_{q'​})$,​ otherwise $M'$ would not distinguish $s_q w$ and $s_{q'​} w$.  So, if there are $K$ pairwise non-equivalent states in $M$, then a minimal finite state machine for $L(M)$ must have at least $K$ states. ​ Note that if the algorithm constructs a state machine with $K$ states, it means that $Q^2 \setminus \tau$ had $K$ equivalence relations, which means that there exist $K$ non-equivalent states. ​ Therefore, any other deterministic machine will have at least $K$ states, proving that the constructed machine is minimal.
 +
 +=== Example ===
 +
 +Construct automaton recognizing
 +  * language {=,<=}
 +  * language {=,<​=,​==}
 +Minimize the automaton.