8 Sep 2006 12:24:46 -0400

Related articles |
---|

Algorithms for finding if two DFA's are equivalent Roger.Sindreu@gmail.com (2006-09-08) |

Re: Algorithms for finding if two DFA's are equivalent Szabolcs.Ivan@gmail.com (Szabolcs Ivan) (2006-09-08) |

Re: Algorithms for finding if two DFA's are equivalent torbenm@app-3.diku.dk (2006-09-08) |

Re: Algorithms for finding if two DFA's are equivalent sasha.mal@excite.com (sasha mal) (2006-09-08) |

Re: Algorithms for finding if two DFA's are equivalent rpboland@gmail.com (2006-09-08) |

From: | torbenm@app-3.diku.dk (=?iso-8859-1?q?Torben_=C6gidius_Mogensen?=) |

Newsgroups: | comp.compilers,comp.theory |

Followup-To: | comp.theory |

Date: | 8 Sep 2006 12:24:46 -0400 |

Organization: | Department of Computer Science, University of Copenhagen |

References: | 06-09-014 |

Keywords: | lex, DFA |

Roger.Sindreu@gmail.com writes:

*> I would like to know all the methods you know for finding if two DFA's*

*> are equivalent.*

*>*

*> I know the trivial algorithm which is finding the mininimum DFA for*

*> each DFA, and just check if they are equal. Do you know any other*

*> algorithm? Do not care much about its cost, this is not a goal for me.*

You can test for bisimulation.

Or you can construct a DFA for the complement language of one of the

DFAs and then the intersection between this and the other and finally

test for emptyness.

From the pumping lemma, we can see that two DFAs are equivalent of

they agree on all strings under a certain length (that depends on the

number of states in the DFAs). So compute this length and compare the

DFAs on all strings under this length. This is bound to be the least

efficient way of testing equivalence.

Torben

Post a followup to this message

Return to the
comp.compilers page.

Search the
comp.compilers archives again.