X-Git-Url: https://fleuret.org/cgi-bin/gitweb/gitweb.cgi?a=blobdiff_plain;ds=inline;f=mtp.cc;h=286597de638981c28a35bee5c2da5e0662d49ea9;hb=8db91faf223fcb893b589c7b85d4ef5e03ffb6ce;hp=bd6d2965fde899744d708c1ce651513e5be31950;hpb=455e5736828233445ac8aea8f15b3bde7e16e9bf;p=mtp.git diff --git a/mtp.cc b/mtp.cc index bd6d296..286597d 100644 --- a/mtp.cc +++ b/mtp.cc @@ -22,8 +22,6 @@ // EXAMPLE: ./mtp ./graph2.txt | dot -T pdf -o- | xpdf - -#define VERBOSE - #include #include #include @@ -44,30 +42,36 @@ void find_best_paths(int nb_vertices, int *result_edge_occupation) { MTPGraph graph(nb_vertices, nb_edges, ea, eb, source, sink); graph.find_best_paths(el, result_edge_occupation); + graph.print_dot(); } ////////////////////////////////////////////////////////////////////// int main(int argc, char **argv) { - int nb_locations = 3; - int nb_time_steps = 4; + int nb_locations = 6; + int nb_time_steps = 5; - Tracker tracker(nb_time_steps, nb_locations); + { + Tracker tracker(nb_time_steps, nb_locations); - for(int l = 0; l < nb_locations; l++) { - for(int k = 0; k < nb_locations; k++) { - if(abs(l - k) <= 1) tracker.set_allowed_motion(l, k); + for(int l = 0; l < nb_locations; l++) { + for(int k = 0; k < nb_locations; k++) { + tracker.set_allowed_motion(l, k, abs(l - k) <= 1); + } } - } - for(int t = 0; t < nb_time_steps; t++) { - for(int l = 0; l < nb_locations; l++) { - tracker.set_detection_score(t, l, -1.0); + for(int t = 0; t < nb_time_steps; t++) { + for(int l = 0; l < nb_locations; l++) { + tracker.set_detection_score(t, l, + (drand48() < 0.9 ? -1.0 : 1.0) + drand48() * 0.1 - 0.05); + } + tracker.set_detection_score(t, 0, + (drand48() < 0.9 ? 1.0 : -1.0) + drand48() * 0.1 - 0.05); } - tracker.set_detection_score(t, 0, 1.0); - } - tracker.track(); + tracker.build_graph(); + tracker.track(); + } exit(0); @@ -100,10 +104,10 @@ int main(int argc, char **argv) { source, sink, result_edge_occupation); - dot_print(nb_vertices, nb_edges, - vertex_from, vertex_to, edge_lengths, - source, sink, - result_edge_occupation); + // dot_print(nb_vertices, nb_edges, + // vertex_from, vertex_to, edge_lengths, + // source, sink, + // result_edge_occupation); delete[] result_edge_occupation; delete[] edge_lengths;