Bonjour a tous !!
Je dois réalisé la minimisation d'un automate par un programme java, moon probleme est que je maitrise parfaitement la minimisation manuelle sur papier, mais je n'arrive pas à l'automatisé...
Pour le java je me débrouilleré, mais j'aurai besoin de votre aide pour avoir un algorithme cohérent
voici un début d'algorithme (vous notterez le mélange algo+java)
Arraylist classe = new Arraylist<Arraylist>()
Arraylist<Etat> G1 = new Arraylist<etat> ;
Arraylist<Etat> G2= new Arraylist<etat> ;
Classe.add(G1) ;
Classe.add(G2) ;
G1 = so ; //so est une arraylist contenant tous les etats de sortie de mon automate...
G2 = tous les autres ;
A1 = Classe.get(1).get(1) ;
A2 = classe.get(1).get(2) ;
Boolean changement ; //me permettra de sav oir si j'ai réalisé des changement ou pas (condition de fin si false)
On parcourt ensuite tr ; //tr est une arraylist contenant toutes mes transitions (construit sur la forme {attribut,etat_debut,etat_fin})
1) Si etat_debut = A1 on regarde son attribut et son etat_fin que l’on stock :
attrib = tr.get(i).getattribut() ;
fin = tr.get(i).getetatfin() ;
2) on reparcourt alors tr a la recherche cette fois de la condition
SI etat_debut=A2 alors
Si tr.get(j).getattribut() == attrib alors
Si (tr.get(j).getetatfin && fin) Є au meme Gi alors j++ et on remonte 2)
Sinon on crée une nouvelle arraylist<etat>
//c'est ici que je bloque car je ne sais pas comment appelé mon arraylist, je voudrais que ca suive la logique G3, G4, G5 mais je ne sais pas comment faire, ni meme si cela a un interet...
Partager