Main Page | Class Hierarchy | Compound List | File List | Compound Members

color.h

00001 /* Coloriage de graphe */
00003 class ColorCSProblem : public BinaryCSProblem
00004 { public :
00005   ColorCSProblem(int nvar, int nconst, int nbcolor);
00006   int config_evaluation(Configuration*  configuration);
00007   void incr_update_conflicts(IncrCSPConfiguration* configuration,Move* move);
00008   void fullincr_update_conflicts(FullincrCSPConfiguration* configuration,Move* move);
00009 //  int random_variable(Configuration* configuration);
00010   void init_domains(int nbvar, int s );
00011 //  void init_tabdomains(int s);
00012   void best_config_analysis();
00013   void best_config_write();
00014   void analyse_conflicts(Configuration* configuration);
00015   Configuration* create_configuration();
00016   int compute_conflict (Configuration* configuration,int var, int val);
00017   //  void compute_var_conflict(Configuration* configuration);
00018 };
00019 
00020 
00021 
00022 
00023 /* Coloriage avec l'algorithme Impasse :  les variables affectées respectent les contraintes ,
00024 une n+1 ème couleur fictive est affectée aux variables qu'on n'a pu affecter sans conflit 
00025 avec une des n couleurs */
00031 class ImpasseColor : public ColorCSProblem
00032 { public :
00033   ImpasseColor(int nvar, int nconst, int nbcolor, int degree);
00034 /* indicateur de la mesure à minimiser : 0 (nombre de variables non affectées) ,
00035  1 (somme des degrés des variables non affectées) */
00038   int sumdegree;
00039   int config_evaluation(Configuration*  configuration);
00040   void fullincr_update_conflicts(FullincrCSPConfiguration* configuration,Move* move);
00041 //  int move_evaluation(Configuration* configuration,int valeur,Move* move);
00042   void move_execution(Configuration* configuration, Move* move);
00043   //  int random_variable(Configuration* configuration);
00044   void random_configuration(Configuration* configuration);
00045   void compute_var_conflict(Configuration* configuration);      
00046   void init_domains(int nbvar, int s );
00047   void init_tabdomains(int s);
00048   void best_config_analysis();
00049   void best_config_write();
00050 //  int compute_conflict (Configuration* configuration,int var, int val);
00051 
00052 };
00053 ColorCSProblem* probleme_coloriage(int nbvar,int nbconst,int s,int** constraint1);
00054 ImpasseColor* coloriage_impasse(int nbvar,int nbconst,int s,int degree, int** constraint1);
00055 
00056 ColorCSProblem* color_problem_creation (int nbcol,ifstream & file);
00057 ImpasseColor* impasse_problem_creation (int nbcol,int degre,ifstream & file);
00058 
00059 void lire_debut_fichier_coloriage(ifstream & file, int& nbvar, int& nbconst);
00060 void lire_fichier_coloriage (ifstream& file, vector<int>* connexions,int ** constraint1);

Generated on Fri Sep 26 17:27:25 2003 for INCOP by doxygen 1.3.3