X-Git-Url: https://ruin.nu/git/?a=blobdiff_plain;f=src%2Fmain.cpp;h=90d3564d3d39fc08ae7fc48cb45610b146703f5d;hb=efe42ca948704593c847996d0ae8da71d15bb75b;hp=34ac34fbfc54cfa749900b90d337cd3a4b9be66f;hpb=cc8cefc83ca7216594d937b839673efafeee68f4;p=germs.git diff --git a/src/main.cpp b/src/main.cpp index 34ac34f..90d3564 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -12,8 +12,8 @@ using namespace std; #include "modelidentifier.h" #include "genesorter.h" #include "sortaction.h" - -typedef pair modelpair; +#include "genealgorithms.h" +#include "model.h" int main(int argc, char** argv){ @@ -60,16 +60,25 @@ int main(int argc, char** argv){ //TODO: Identify ModelIdentifier mi(ann); - map scores = mi.identify(go); - for (map::iterator m = scores.begin(); - m != scores.end(); ++m){ - cout << "Model: " << m->first << " score: " << m->second << endl; - } + priority_queue > pq = mi.identify(go); + 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(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; }