Page principale | Hiérarchie des classes | Liste des composants | Liste des fichiers | Composants

color.h

00001 
00002 /* Graph coloring problems solved as MaxCSP */
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 
00026 /* Coloring with Impasse algorithm : the assigned variables respect the constraints,
00027 an n+1 th virtual color is assigned to variables which cannot be assigned without conflicts with the
00028 current configuration */
00029 
00030 
00031 class ImpasseColor : public ColorCSProblem
00032 { public :
00033   ImpasseColor(int nvar, int nconst, int nbcolor, int degree);
00036 /* indicates the criterion to be minimized : 0 number of variables that cannot be assigned, 1 sum of degrees
00037 of variables that cannot be assigned */
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);

Généré le Fri Sep 26 16:54:19 2003 pour INCOP par doxygen 1.3.3