def clicouMinimizar(self): try: af = self.obterAF() afd = util.determinizar_af(af) self.setarAF(util.minimizar_afd(afd)) except Exception as excecao: self.mostrarErro(str(excecao))
def obterAFD(self): automato = self.__constroi_automato(self.__exp_reg) automato = util.determinizar_af(automato) automato = util.minimizar_afd(automato) return automato
def testDadoUmAFDNaoMinimoGeraUmAFDMinimoEquivalente(self): afd_nao_minimo = construirAFDNaoMinimo() self.assertFalse(afd_nao_minimo.ehMinimo()) afd_minimo = util.minimizar_afd(afd_nao_minimo) self.assertTrue(afd_minimo.ehMinimo()) self.assertTrue(util.sao_equivalentes_af(afd_nao_minimo,afd_minimo))
def testSeOAFDJaEhMinimoRetornaOMesmo(self): afd_minimo = construirAFDMinimo() self.assertTrue(afd_minimo.ehMinimo()) self.assertEqual(afd_minimo, util.minimizar_afd(afd_minimo))
def testOAutomatoMinimoDeUmAutomatoQueGeraApenasEpsilonEhEleMesmo(self): afd = util.gerar_automato_finito_epsilon() afd2 = util.minimizar_afd(afd) self.assertEqual(afd, afd2)