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

queen.h

00001 
00002 /* the N-queen problem coded as Max-CSP : standard CSP neighborhood */
00003 class Nqueen: public BinaryCSProblem
00004 { public :
00005   Nqueen(int nvar);
00006   int config_evaluation(Configuration * Configuration);
00007   void fullincr_update_conflicts(FullincrCSPConfiguration* configuration,Move* move);
00008   void init_domaines(int nbvar, int s );
00009   Configuration* create_configuration();
00010 };
00011 
00012 Nqueen* probleme_reines(int nbvar);
00013 Nqueen* queen_problem_creation(int nbvar);
00014 
00016 /* the N-queen problem with a exchange type move (SwapMove) neighborhood */
00017 class SwNqueen : public Nqueen
00018 { public :
00019   int var_conflict_size;
00020   SwNqueen(int nvar);
00021   int config_evaluation(Configuration * Configuration);
00022   void fullincr_update_conflicts(FullincrCSPConfiguration* configuration,Move* move);
00023   virtual void update_conflicts1(Configuration* configuration,Move* move);
00024   void move_execution(Configuration* configuration, Move* move);
00025   Move* create_move();
00026   void next_move(Configuration* configuration, Move* move, NeighborhoodSearch* nbhs);
00027   void random_configuration(Configuration* configuration);
00028   int move_evaluation(Configuration* configuration,Move* move);
00029   void adjust_parameters(Configuration* configuration, int& maxneighbors, int& minneighbors);
00030   int random_conflict_variable(Configuration* configuration);
00031   void compute_var_conflict(Configuration* configuration);
00032   int compute_var_conflict_size(Configuration* configuration);
00033 };
00034 
00035 SwNqueen* probleme_swreines(int nbvar);
00036 SwNqueen* swqueen_problem_creation(int nbvar);
00037 
00038 
00041 /* N-queen Problem with SwapMove and without any incremental datastructure for evaluation : the most efficient implementation */
00042 
00043 class SwNiNqueen : public SwNqueen
00044 { public :
00045   SwNiNqueen(int nvar);
00046   int config_evaluation(Configuration * Configuration);
00047   int move_evaluation(Configuration* configuration,Move* move);
00048   void adjust_parameters(Configuration* configuration, int& maxneighbors, int& minneighbors);
00049   Configuration* create_configuration();
00050 
00051 };
00052 
00053 SwNiNqueen* probleme_swnireines(int nbvar);
00054 SwNiNqueen* swniqueen_problem_creation(int nbvar);
00055 
00056 

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