Daphne Norton


A wide variety of algorithms can be used to determine the equivalence of two Deterministic Finite Automata (DFAs) and/or Nondeterministic Finite Automata (NFAs). This project focuses on three key areas: 1. A detailed discussion of several algorithms that can be used to prove the equivalence of two DFAs (and/or NFAs, since every NFA has an equivalent DFA), with an analysis of the time complexity involved in each case. 2. Modifications to a few of these algorithms to produce a 'witness' string if the two automata are not equivalent. This string is accepted by one of the automata, but not by the other, so it serves as a clear demonstration of why the two automata are inequivalent. 3. A Java implementation of a couple of efficient algorithms to prove equivalence. The code is designed specially to work with JFLAP, the Java Formal Language and Automata Package. JFLAP is a popular program from Duke University which can be used to demonstrate and manipulate models such as finite automata. JFLAP software allows students to enter finite automata via an easy-to-use GUI, and this project incorporates functionality so that instructors can grade homework assignments and/or allow students to receive detailed feedback in the form of a witness

Publication Date


Document Type

Master's Project

Student Type


Department, Program, or Center

Computer Science (GCCIS)


Bezakova, Ivona

Advisor/Committee Member

Homan, Christopher


Note: imported from RIT’s Digital Media Library running on DSpace to RIT Scholar Works in February 2013.


RIT – Main Campus