]> ruin.nu Git - germs.git/blobdiff - src/modelidentifier.h
started a refactoring with Model class to score different sort actions
[germs.git] / src / modelidentifier.h
index a42e0efb7097fe05ed34a8175c9a05633baf5d18..ee163e315d278d427ce646f8a52b29ec98052271 100644 (file)
 
 #include "geneorder.h"
 
-#include <map>
+#include <queue>
 #include <string>
 #include <stdexcept>
 
 struct fann;
+class Model;
+
 
 /**
  * Identifies the model this gene order belongs to
@@ -35,9 +37,6 @@ struct fann;
  */
 class ModelIdentifier{
        public:
-               //TODO: Make a Model class with functions for scoring SortActions
-               //one subclass for each model. Possibly storing name as string too.
-               enum Model{Whirl,X,FatX,Zipper,Cloud};
 
                /**
                 * Creates a new identifier given an artificial neural network
@@ -54,9 +53,7 @@ class ModelIdentifier{
                 *
                 * \returns a map with the model as key and the score between -1 and 1
                 */
-               std::map<Model,double> identify(const GeneOrder& go);
-
-               static std::string modelName(Model m);
+               std::priority_queue<std::pair<double,Model> > identify(const GeneOrder& go);
 
                ~ModelIdentifier();
        private: