aut_nfa.add_transition(2,'y',3) aut_nfa.add_transition(3,'x',3) aut_nfa.add_transition(3,'y',3) #### aut_nfa.add_final_state(3) aut_nfa.display_automata() automata.display_nx_automata(aut_nfa, "nfa", "NFA") ########## # Part 2 # ########## nfa2dfa_obj = nfa2dfa('nfa2dfa') nfa2dfa_obj.set_nfa(aut_nfa) nfa2dfa_obj.set_charset(aut_nfa.char_set) nfa2dfa_obj.build_dfa() aut_dfa = nfa2dfa_obj.dfa nfa2dfa_obj.display_automata() automata.display_nx_automata(aut_dfa, "dfa", "DFA") ########## # Part 3 # ########## nfa2mindfa_obj = dfa2mindfa(aut_dfa) nfa2mindfa_obj.minimiseIt() aut_min_dfa = automata("min_dfa") aut_min_dfa = nfa2mindfa_obj.create_new_dfa() aut_min_dfa.display_automata() automata.display_nx_automata(aut_min_dfa, "min_dfa", "MINIMAL DFA")
def minimise(self): min = dfa2mindfa() min.simplify(self.dfa, self)