]> ruin.nu Git - germs.git/blobdiff - src/main.cpp
genesorter now uses models to score actions, specific actions are now derived from...
[germs.git] / src / main.cpp
index 153aff40e608bce08a91bfe77a4980f017379ca8..90d3564d3d39fc08ae7fc48cb45610b146703f5d 100644 (file)
@@ -12,6 +12,7 @@ using namespace std;
 #include "modelidentifier.h"
 #include "genesorter.h"
 #include "sortaction.h"
+#include "genealgorithms.h"
 #include "model.h"
 
 int main(int argc, char** argv){
@@ -60,15 +61,24 @@ int main(int argc, char** argv){
        //TODO: Identify
        ModelIdentifier mi(ann);
        priority_queue<pair<double,Model> > pq = mi.identify(go);
-       while (pq.size() > 0){
-               cout << "Model: " << pq.top().second.name() << " score: " << pq.top().first << endl;
-               pq.pop();
-       }
+       Model model = pq.top().second;
+       //while (pq.size() > 0){
+       cout << "Model: " << model.name() << " score: " << pq.top().first << endl;
+               //pq.pop();
+       //}
+
+       cout << "Distance: " << inversionDistance(go) << " : ";
+       copy(go.begin(), go.end(), ostream_iterator<int>(cout, " "));
+       cout << endl;
 
        //TODO: Chose a sorter
        GeneSorter so;
        //TODO: Sort
-       GeneSorter::ActionList al = so.sort(go);
+       GeneSorter::ActionList al = so.sort(go,model);
+
+       for (GeneSorter::ActionList::iterator sa = al.begin(); sa != al.end(); ++sa){
+               cout << "Action: " << sa->toString() << " model score: " << model.score(*sa) << endl;
+       }
        //TODO: Print result
        return EXIT_SUCCESS;
 }