Simulation Campaigns with sasa
- to take advantage of the batch capabilities of
sasa
to perform Self-stabilizing Algorithms comparisons; - to empirically study the influence of the topology, or the daemons on the number of moves, steps, and rounds.
We consider 3 randomized graph coloring algorithms. Each process internal state contains an integer representing its color. A free color for a process is a color that is not used by one of its neighbors. The objective of the algorithms below is to stabilize when all processors colors are free.
The programs that automate the simulation campaign we describe below
are written in Ocaml, but they could have been written in any
language, as they only depend on a CLI tools: sasa
, gg
, and
gg-deco
. To run them you need to have in your shell path: make
,
ocaml
, and R
.
The 3 Algorithms
In the remaining, we study the 3 following graph coloring algorithms:
- « Uniform When Triggered »: 1
- a process is enabled if its color is not free;
- when triggered, it uniformly chooses one of the free color;
- « Smallest When Triggered »: 2
- a process is enabled if its color is not free;
- when triggered, it chooses the smallest free color;
- « Always the Biggest »: 3
- a process is enabled if its color is not the biggest free color;
- when triggered, it chooses the biggest free color;
Those algorithms are randomized in the sense that, when an action
is triggered, it is executed with a probability of 0.5
. This
randomness is useful to stabilize under distributed or synchronous
daemons.
The algorithms 2 and 3 are similar. Choosing the biggest or the smallest free colors does not change anything – we just wanted to be faithful to the way their were defined in their corresponding articles. The only difference is that the 3rd algorithm is more specific into its choice of colors: actions may be enabled even when the color is free! As a consequence, this third algorithm has less legitimate configurations, and is thus expected to stabilize slower.
TL;DR
In order to run the whole experiment, do:
git clone https://gricad-gitlab.univ-grenoble-alpes.fr/verimag/synchrone/sasa.git # is not already done before
cd sasa/tools/simca/
make # executes the first rule which generates the Makefile.expe-rules file
make cmxs # generates the necessary dependencies (one by one => no -j !!)
make -j 30 log # runs the simulations on a machine with losts of CPUs
make pdf # visualizes the results (.pdf files)
Note that in any case, you can run make pdf
even while make -j 30 log
is
running.
If you want to run your own experiments, you can use the tools/simca/coloring_campaign.ml (or tools/simca/nonreg_test_campaign.ml) as a starting point. But probably you will need this read the post a little bit more.
Automating Simulation Campaigns
We now describe a set of small Ocaml programs that automates the execution of lots of simulations. Those programs are designed to automatically run:
- several algorithms,
- using various daemons,
- on various graphs.
We first present the OCaml function gen_makefile
, which inputs
- a list of directories (which paths are relative to the current
directory)
dirl
supposed to contain asasa
implementation of an algorithm, - a list of daemons
dl
, - a list of graphs
gl
.
This function, as its name hints, outputs Makefile rules to build
.log
targets (|dirl| x |dl| x |gl|
of them);.log
targets dependencies such as the.dot
graphs (using the gg and gg-deco tools), or the.cmxs
files.
Each .log
target is a file which name is made of the names of the
directory, daemon, and graph. They are generated by running sasa
on
the corresponding algorithm/daemon/graph several times, and contains
estimations for 3 complexity measure numbers: moves, steps, and
rounds. New simulations are performed (at least 10) as long as the
size of the Confidence Interval with a confidence level of 95% (CI_95)
is higher than 1% of the estimation, and this for the 3 complexity
numbers.
The gen_makefile
function is defined in genExpeMakefiles.ml
:
|
|
nb: if you want to add your own algorithms, you will need to extend
the algo_to_deco
that is use by gen_makefile
function (via
functions defined in genExpeMakefilesUtils.ml
).
The coloring_campaign.ml
program below is an example of use of
gen_makefile
. It will allow to perform simulations
of
- 3 algorithms:
"../alea-coloring-alt"
,"../alea-coloring-unif"
,"../alea-coloring"
- using 3 daemons: synchronous, locally central, and distributed
- on
- 10 cliques of size 30, 60, …, 300
- 10 rings of size 500, 1000, …, 5000
- 10 random graphs (Erdos-Renyi) of size 30, 60, …, 300
|
|
nb: the precision
is set to 0.01
(line 2). In order to lower
the computation time, and if you just want a rough idea of the
execution time, it might be wise to use a bigger number here. In the
same vein, executing coloring_campaign.ml
takes several days to
proceed. If you want to give it a try, it is probably better to start
with sasa/tools/simca/nonreg_test_campaign.ml
:
|
|
Indeed, nonreg_test_campaign.ml
do the same things, except that it
uses less graphs (15 instead of 30), and more importantly, its
calls gen_makefile
with 0.1
instead of 0.01
. This means that
new simulations are performed as long as the size of the Confidence
Interval is higher than 10% of the estimation, (instead of 1%).
Hence, much less simulations will be performed, and the whole
experiments should last a few minutes only.
In order to use those test campaign programs, one can take advantage
of the following sasa/tools/simca/Makefile
:
|
|
In the following, we suppose that the lines 2 and 3 of this Makefile
have
been commented out to generate more data and smother curves. One
can thus run make Makefile.expe-rules
(or even just make
, as it is
the first rule) to generate the Makefile.expe-rules
file below, which
contains rules to build 3x3x10x3=270
.log
files:
# Generated by nonreg_test_campaign.ml
ring500_algo_331-sd-alea-coloring-alt.log:
[ -f ../../test/alea-coloring-alt/ring500_algo_331.cmxs ] || \
(echo "\n ===> do a 'make cmxs' before!\n\n"; exit 1)
cd ../../test/alea-coloring-alt \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus false 0.100000 1000 60.0 \"sasa -l 20000 ring500_algo_331.dot -sd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/ring500_algo_331-sd-alea-coloring-alt.log \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus false 0.100000 1000 60.0 \"sasa -l 20000 ring500_algo_331.dot -lcd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/ring500_algo_331-lcd-alea-coloring-alt.log \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus false 0.100000 1000 60.0 \"sasa -l 20000 ring500_algo_331.dot -dd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/ring500_algo_331-dd-alea-coloring-alt.log \
&& echo "ring500_algo_331-sd-alea-coloring-alt.log done"
ring500_p-sd-alea-coloring-unif.log:
[ -f ../../test/alea-coloring-unif/ring500_p.cmxs ] || \
(echo "\n ===> do a 'make cmxs' before!\n\n"; exit 1)
cd ../../test/alea-coloring-unif \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus false 0.100000 1000 60.0 \"sasa -l 20000 ring500_p.dot -sd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/ring500_p-sd-alea-coloring-unif.log \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus false 0.100000 1000 60.0 \"sasa -l 20000 ring500_p.dot -lcd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/ring500_p-lcd-alea-coloring-unif.log \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus false 0.100000 1000 60.0 \"sasa -l 20000 ring500_p.dot -dd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/ring500_p-dd-alea-coloring-unif.log \
&& echo "ring500_p-sd-alea-coloring-unif.log done"
ring500_p-sd-alea-coloring.log:
[ -f ../../test/alea-coloring/ring500_p.cmxs ] || \
(echo "\n ===> do a 'make cmxs' before!\n\n"; exit 1)
cd ../../test/alea-coloring \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus false 0.100000 1000 60.0 \"sasa -l 20000 ring500_p.dot -sd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/ring500_p-sd-alea-coloring.log \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus false 0.100000 1000 60.0 \"sasa -l 20000 ring500_p.dot -lcd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/ring500_p-lcd-alea-coloring.log \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus false 0.100000 1000 60.0 \"sasa -l 20000 ring500_p.dot -dd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/ring500_p-dd-alea-coloring.log \
&& echo "ring500_p-sd-alea-coloring.log done"
../../test/alea-coloring-alt/ring500_algo_331.dot:
echo "gg ring -n 500 -o ../../test/alea-coloring-alt/ring500_algo_331.dot" > ../../test/alea-coloring-alt/ring500_algo_331.dot.sh
echo "gg-deco \"0-:algo_331.ml\" ../../test/alea-coloring-alt/ring500_algo_331.dot -o ../../test/alea-coloring-alt/ring500_algo_331.dot" >> ../../test/alea-coloring-alt/ring500_algo_331.dot.sh
sh ../../test/alea-coloring-alt/ring500_algo_331.dot.sh
../../test/alea-coloring-alt/ring500_algo_331.cmxs: ../../test/alea-coloring-alt/ring500_algo_331.dot
cd ../../test/alea-coloring-alt; make ring500_algo_331.cmxs
../../test/alea-coloring-unif/ring500_p.dot:
echo "gg ring -n 500 -o ../../test/alea-coloring-unif/ring500_p.dot" > ../../test/alea-coloring-unif/ring500_p.dot.sh
echo "gg-deco \"0-:p.ml\" ../../test/alea-coloring-unif/ring500_p.dot -o ../../test/alea-coloring-unif/ring500_p.dot" >> ../../test/alea-coloring-unif/ring500_p.dot.sh
sh ../../test/alea-coloring-unif/ring500_p.dot.sh
../../test/alea-coloring-unif/ring500_p.cmxs: ../../test/alea-coloring-unif/ring500_p.dot
cd ../../test/alea-coloring-unif; make ring500_p.cmxs
../../test/alea-coloring/ring500_p.dot:
echo "gg ring -n 500 -o ../../test/alea-coloring/ring500_p.dot" > ../../test/alea-coloring/ring500_p.dot.sh
echo "gg-deco \"0-:p.ml\" ../../test/alea-coloring/ring500_p.dot -o ../../test/alea-coloring/ring500_p.dot" >> ../../test/alea-coloring/ring500_p.dot.sh
sh ../../test/alea-coloring/ring500_p.dot.sh
../../test/alea-coloring/ring500_p.cmxs: ../../test/alea-coloring/ring500_p.dot
cd ../../test/alea-coloring; make ring500_p.cmxs
ring400_algo_331-sd-alea-coloring-alt.log:
[ -f ../../test/alea-coloring-alt/ring400_algo_331.cmxs ] || \
(echo "\n ===> do a 'make cmxs' before!\n\n"; exit 1)
cd ../../test/alea-coloring-alt \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus false 0.100000 1000 60.0 \"sasa -l 20000 ring400_algo_331.dot -sd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/ring400_algo_331-sd-alea-coloring-alt.log \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus false 0.100000 1000 60.0 \"sasa -l 20000 ring400_algo_331.dot -lcd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/ring400_algo_331-lcd-alea-coloring-alt.log \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus false 0.100000 1000 60.0 \"sasa -l 20000 ring400_algo_331.dot -dd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/ring400_algo_331-dd-alea-coloring-alt.log \
&& echo "ring400_algo_331-sd-alea-coloring-alt.log done"
ring400_p-sd-alea-coloring-unif.log:
[ -f ../../test/alea-coloring-unif/ring400_p.cmxs ] || \
(echo "\n ===> do a 'make cmxs' before!\n\n"; exit 1)
cd ../../test/alea-coloring-unif \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus false 0.100000 1000 60.0 \"sasa -l 20000 ring400_p.dot -sd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/ring400_p-sd-alea-coloring-unif.log \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus false 0.100000 1000 60.0 \"sasa -l 20000 ring400_p.dot -lcd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/ring400_p-lcd-alea-coloring-unif.log \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus false 0.100000 1000 60.0 \"sasa -l 20000 ring400_p.dot -dd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/ring400_p-dd-alea-coloring-unif.log \
&& echo "ring400_p-sd-alea-coloring-unif.log done"
ring400_p-sd-alea-coloring.log:
[ -f ../../test/alea-coloring/ring400_p.cmxs ] || \
(echo "\n ===> do a 'make cmxs' before!\n\n"; exit 1)
cd ../../test/alea-coloring \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus false 0.100000 1000 60.0 \"sasa -l 20000 ring400_p.dot -sd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/ring400_p-sd-alea-coloring.log \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus false 0.100000 1000 60.0 \"sasa -l 20000 ring400_p.dot -lcd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/ring400_p-lcd-alea-coloring.log \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus false 0.100000 1000 60.0 \"sasa -l 20000 ring400_p.dot -dd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/ring400_p-dd-alea-coloring.log \
&& echo "ring400_p-sd-alea-coloring.log done"
../../test/alea-coloring-alt/ring400_algo_331.dot:
echo "gg ring -n 400 -o ../../test/alea-coloring-alt/ring400_algo_331.dot" > ../../test/alea-coloring-alt/ring400_algo_331.dot.sh
echo "gg-deco \"0-:algo_331.ml\" ../../test/alea-coloring-alt/ring400_algo_331.dot -o ../../test/alea-coloring-alt/ring400_algo_331.dot" >> ../../test/alea-coloring-alt/ring400_algo_331.dot.sh
sh ../../test/alea-coloring-alt/ring400_algo_331.dot.sh
../../test/alea-coloring-alt/ring400_algo_331.cmxs: ../../test/alea-coloring-alt/ring400_algo_331.dot
cd ../../test/alea-coloring-alt; make ring400_algo_331.cmxs
../../test/alea-coloring-unif/ring400_p.dot:
echo "gg ring -n 400 -o ../../test/alea-coloring-unif/ring400_p.dot" > ../../test/alea-coloring-unif/ring400_p.dot.sh
echo "gg-deco \"0-:p.ml\" ../../test/alea-coloring-unif/ring400_p.dot -o ../../test/alea-coloring-unif/ring400_p.dot" >> ../../test/alea-coloring-unif/ring400_p.dot.sh
sh ../../test/alea-coloring-unif/ring400_p.dot.sh
../../test/alea-coloring-unif/ring400_p.cmxs: ../../test/alea-coloring-unif/ring400_p.dot
cd ../../test/alea-coloring-unif; make ring400_p.cmxs
../../test/alea-coloring/ring400_p.dot:
echo "gg ring -n 400 -o ../../test/alea-coloring/ring400_p.dot" > ../../test/alea-coloring/ring400_p.dot.sh
echo "gg-deco \"0-:p.ml\" ../../test/alea-coloring/ring400_p.dot -o ../../test/alea-coloring/ring400_p.dot" >> ../../test/alea-coloring/ring400_p.dot.sh
sh ../../test/alea-coloring/ring400_p.dot.sh
../../test/alea-coloring/ring400_p.cmxs: ../../test/alea-coloring/ring400_p.dot
cd ../../test/alea-coloring; make ring400_p.cmxs
ring300_algo_331-sd-alea-coloring-alt.log:
[ -f ../../test/alea-coloring-alt/ring300_algo_331.cmxs ] || \
(echo "\n ===> do a 'make cmxs' before!\n\n"; exit 1)
cd ../../test/alea-coloring-alt \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus false 0.100000 1000 60.0 \"sasa -l 20000 ring300_algo_331.dot -sd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/ring300_algo_331-sd-alea-coloring-alt.log \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus false 0.100000 1000 60.0 \"sasa -l 20000 ring300_algo_331.dot -lcd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/ring300_algo_331-lcd-alea-coloring-alt.log \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus false 0.100000 1000 60.0 \"sasa -l 20000 ring300_algo_331.dot -dd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/ring300_algo_331-dd-alea-coloring-alt.log \
&& echo "ring300_algo_331-sd-alea-coloring-alt.log done"
ring300_p-sd-alea-coloring-unif.log:
[ -f ../../test/alea-coloring-unif/ring300_p.cmxs ] || \
(echo "\n ===> do a 'make cmxs' before!\n\n"; exit 1)
cd ../../test/alea-coloring-unif \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus false 0.100000 1000 60.0 \"sasa -l 20000 ring300_p.dot -sd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/ring300_p-sd-alea-coloring-unif.log \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus false 0.100000 1000 60.0 \"sasa -l 20000 ring300_p.dot -lcd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/ring300_p-lcd-alea-coloring-unif.log \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus false 0.100000 1000 60.0 \"sasa -l 20000 ring300_p.dot -dd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/ring300_p-dd-alea-coloring-unif.log \
&& echo "ring300_p-sd-alea-coloring-unif.log done"
ring300_p-sd-alea-coloring.log:
[ -f ../../test/alea-coloring/ring300_p.cmxs ] || \
(echo "\n ===> do a 'make cmxs' before!\n\n"; exit 1)
cd ../../test/alea-coloring \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus false 0.100000 1000 60.0 \"sasa -l 20000 ring300_p.dot -sd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/ring300_p-sd-alea-coloring.log \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus false 0.100000 1000 60.0 \"sasa -l 20000 ring300_p.dot -lcd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/ring300_p-lcd-alea-coloring.log \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus false 0.100000 1000 60.0 \"sasa -l 20000 ring300_p.dot -dd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/ring300_p-dd-alea-coloring.log \
&& echo "ring300_p-sd-alea-coloring.log done"
../../test/alea-coloring-alt/ring300_algo_331.dot:
echo "gg ring -n 300 -o ../../test/alea-coloring-alt/ring300_algo_331.dot" > ../../test/alea-coloring-alt/ring300_algo_331.dot.sh
echo "gg-deco \"0-:algo_331.ml\" ../../test/alea-coloring-alt/ring300_algo_331.dot -o ../../test/alea-coloring-alt/ring300_algo_331.dot" >> ../../test/alea-coloring-alt/ring300_algo_331.dot.sh
sh ../../test/alea-coloring-alt/ring300_algo_331.dot.sh
../../test/alea-coloring-alt/ring300_algo_331.cmxs: ../../test/alea-coloring-alt/ring300_algo_331.dot
cd ../../test/alea-coloring-alt; make ring300_algo_331.cmxs
../../test/alea-coloring-unif/ring300_p.dot:
echo "gg ring -n 300 -o ../../test/alea-coloring-unif/ring300_p.dot" > ../../test/alea-coloring-unif/ring300_p.dot.sh
echo "gg-deco \"0-:p.ml\" ../../test/alea-coloring-unif/ring300_p.dot -o ../../test/alea-coloring-unif/ring300_p.dot" >> ../../test/alea-coloring-unif/ring300_p.dot.sh
sh ../../test/alea-coloring-unif/ring300_p.dot.sh
../../test/alea-coloring-unif/ring300_p.cmxs: ../../test/alea-coloring-unif/ring300_p.dot
cd ../../test/alea-coloring-unif; make ring300_p.cmxs
../../test/alea-coloring/ring300_p.dot:
echo "gg ring -n 300 -o ../../test/alea-coloring/ring300_p.dot" > ../../test/alea-coloring/ring300_p.dot.sh
echo "gg-deco \"0-:p.ml\" ../../test/alea-coloring/ring300_p.dot -o ../../test/alea-coloring/ring300_p.dot" >> ../../test/alea-coloring/ring300_p.dot.sh
sh ../../test/alea-coloring/ring300_p.dot.sh
../../test/alea-coloring/ring300_p.cmxs: ../../test/alea-coloring/ring300_p.dot
cd ../../test/alea-coloring; make ring300_p.cmxs
ring200_algo_331-sd-alea-coloring-alt.log:
[ -f ../../test/alea-coloring-alt/ring200_algo_331.cmxs ] || \
(echo "\n ===> do a 'make cmxs' before!\n\n"; exit 1)
cd ../../test/alea-coloring-alt \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus false 0.100000 1000 60.0 \"sasa -l 20000 ring200_algo_331.dot -sd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/ring200_algo_331-sd-alea-coloring-alt.log \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus false 0.100000 1000 60.0 \"sasa -l 20000 ring200_algo_331.dot -lcd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/ring200_algo_331-lcd-alea-coloring-alt.log \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus false 0.100000 1000 60.0 \"sasa -l 20000 ring200_algo_331.dot -dd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/ring200_algo_331-dd-alea-coloring-alt.log \
&& echo "ring200_algo_331-sd-alea-coloring-alt.log done"
ring200_p-sd-alea-coloring-unif.log:
[ -f ../../test/alea-coloring-unif/ring200_p.cmxs ] || \
(echo "\n ===> do a 'make cmxs' before!\n\n"; exit 1)
cd ../../test/alea-coloring-unif \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus false 0.100000 1000 60.0 \"sasa -l 20000 ring200_p.dot -sd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/ring200_p-sd-alea-coloring-unif.log \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus false 0.100000 1000 60.0 \"sasa -l 20000 ring200_p.dot -lcd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/ring200_p-lcd-alea-coloring-unif.log \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus false 0.100000 1000 60.0 \"sasa -l 20000 ring200_p.dot -dd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/ring200_p-dd-alea-coloring-unif.log \
&& echo "ring200_p-sd-alea-coloring-unif.log done"
ring200_p-sd-alea-coloring.log:
[ -f ../../test/alea-coloring/ring200_p.cmxs ] || \
(echo "\n ===> do a 'make cmxs' before!\n\n"; exit 1)
cd ../../test/alea-coloring \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus false 0.100000 1000 60.0 \"sasa -l 20000 ring200_p.dot -sd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/ring200_p-sd-alea-coloring.log \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus false 0.100000 1000 60.0 \"sasa -l 20000 ring200_p.dot -lcd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/ring200_p-lcd-alea-coloring.log \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus false 0.100000 1000 60.0 \"sasa -l 20000 ring200_p.dot -dd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/ring200_p-dd-alea-coloring.log \
&& echo "ring200_p-sd-alea-coloring.log done"
../../test/alea-coloring-alt/ring200_algo_331.dot:
echo "gg ring -n 200 -o ../../test/alea-coloring-alt/ring200_algo_331.dot" > ../../test/alea-coloring-alt/ring200_algo_331.dot.sh
echo "gg-deco \"0-:algo_331.ml\" ../../test/alea-coloring-alt/ring200_algo_331.dot -o ../../test/alea-coloring-alt/ring200_algo_331.dot" >> ../../test/alea-coloring-alt/ring200_algo_331.dot.sh
sh ../../test/alea-coloring-alt/ring200_algo_331.dot.sh
../../test/alea-coloring-alt/ring200_algo_331.cmxs: ../../test/alea-coloring-alt/ring200_algo_331.dot
cd ../../test/alea-coloring-alt; make ring200_algo_331.cmxs
../../test/alea-coloring-unif/ring200_p.dot:
echo "gg ring -n 200 -o ../../test/alea-coloring-unif/ring200_p.dot" > ../../test/alea-coloring-unif/ring200_p.dot.sh
echo "gg-deco \"0-:p.ml\" ../../test/alea-coloring-unif/ring200_p.dot -o ../../test/alea-coloring-unif/ring200_p.dot" >> ../../test/alea-coloring-unif/ring200_p.dot.sh
sh ../../test/alea-coloring-unif/ring200_p.dot.sh
../../test/alea-coloring-unif/ring200_p.cmxs: ../../test/alea-coloring-unif/ring200_p.dot
cd ../../test/alea-coloring-unif; make ring200_p.cmxs
../../test/alea-coloring/ring200_p.dot:
echo "gg ring -n 200 -o ../../test/alea-coloring/ring200_p.dot" > ../../test/alea-coloring/ring200_p.dot.sh
echo "gg-deco \"0-:p.ml\" ../../test/alea-coloring/ring200_p.dot -o ../../test/alea-coloring/ring200_p.dot" >> ../../test/alea-coloring/ring200_p.dot.sh
sh ../../test/alea-coloring/ring200_p.dot.sh
../../test/alea-coloring/ring200_p.cmxs: ../../test/alea-coloring/ring200_p.dot
cd ../../test/alea-coloring; make ring200_p.cmxs
ring100_algo_331-sd-alea-coloring-alt.log:
[ -f ../../test/alea-coloring-alt/ring100_algo_331.cmxs ] || \
(echo "\n ===> do a 'make cmxs' before!\n\n"; exit 1)
cd ../../test/alea-coloring-alt \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus false 0.100000 1000 60.0 \"sasa -l 20000 ring100_algo_331.dot -sd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/ring100_algo_331-sd-alea-coloring-alt.log \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus false 0.100000 1000 60.0 \"sasa -l 20000 ring100_algo_331.dot -lcd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/ring100_algo_331-lcd-alea-coloring-alt.log \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus false 0.100000 1000 60.0 \"sasa -l 20000 ring100_algo_331.dot -dd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/ring100_algo_331-dd-alea-coloring-alt.log \
&& echo "ring100_algo_331-sd-alea-coloring-alt.log done"
ring100_p-sd-alea-coloring-unif.log:
[ -f ../../test/alea-coloring-unif/ring100_p.cmxs ] || \
(echo "\n ===> do a 'make cmxs' before!\n\n"; exit 1)
cd ../../test/alea-coloring-unif \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus false 0.100000 1000 60.0 \"sasa -l 20000 ring100_p.dot -sd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/ring100_p-sd-alea-coloring-unif.log \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus false 0.100000 1000 60.0 \"sasa -l 20000 ring100_p.dot -lcd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/ring100_p-lcd-alea-coloring-unif.log \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus false 0.100000 1000 60.0 \"sasa -l 20000 ring100_p.dot -dd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/ring100_p-dd-alea-coloring-unif.log \
&& echo "ring100_p-sd-alea-coloring-unif.log done"
ring100_p-sd-alea-coloring.log:
[ -f ../../test/alea-coloring/ring100_p.cmxs ] || \
(echo "\n ===> do a 'make cmxs' before!\n\n"; exit 1)
cd ../../test/alea-coloring \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus false 0.100000 1000 60.0 \"sasa -l 20000 ring100_p.dot -sd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/ring100_p-sd-alea-coloring.log \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus false 0.100000 1000 60.0 \"sasa -l 20000 ring100_p.dot -lcd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/ring100_p-lcd-alea-coloring.log \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus false 0.100000 1000 60.0 \"sasa -l 20000 ring100_p.dot -dd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/ring100_p-dd-alea-coloring.log \
&& echo "ring100_p-sd-alea-coloring.log done"
../../test/alea-coloring-alt/ring100_algo_331.dot:
echo "gg ring -n 100 -o ../../test/alea-coloring-alt/ring100_algo_331.dot" > ../../test/alea-coloring-alt/ring100_algo_331.dot.sh
echo "gg-deco \"0-:algo_331.ml\" ../../test/alea-coloring-alt/ring100_algo_331.dot -o ../../test/alea-coloring-alt/ring100_algo_331.dot" >> ../../test/alea-coloring-alt/ring100_algo_331.dot.sh
sh ../../test/alea-coloring-alt/ring100_algo_331.dot.sh
../../test/alea-coloring-alt/ring100_algo_331.cmxs: ../../test/alea-coloring-alt/ring100_algo_331.dot
cd ../../test/alea-coloring-alt; make ring100_algo_331.cmxs
../../test/alea-coloring-unif/ring100_p.dot:
echo "gg ring -n 100 -o ../../test/alea-coloring-unif/ring100_p.dot" > ../../test/alea-coloring-unif/ring100_p.dot.sh
echo "gg-deco \"0-:p.ml\" ../../test/alea-coloring-unif/ring100_p.dot -o ../../test/alea-coloring-unif/ring100_p.dot" >> ../../test/alea-coloring-unif/ring100_p.dot.sh
sh ../../test/alea-coloring-unif/ring100_p.dot.sh
../../test/alea-coloring-unif/ring100_p.cmxs: ../../test/alea-coloring-unif/ring100_p.dot
cd ../../test/alea-coloring-unif; make ring100_p.cmxs
../../test/alea-coloring/ring100_p.dot:
echo "gg ring -n 100 -o ../../test/alea-coloring/ring100_p.dot" > ../../test/alea-coloring/ring100_p.dot.sh
echo "gg-deco \"0-:p.ml\" ../../test/alea-coloring/ring100_p.dot -o ../../test/alea-coloring/ring100_p.dot" >> ../../test/alea-coloring/ring100_p.dot.sh
sh ../../test/alea-coloring/ring100_p.dot.sh
../../test/alea-coloring/ring100_p.cmxs: ../../test/alea-coloring/ring100_p.dot
cd ../../test/alea-coloring; make ring100_p.cmxs
clique50_algo_331-sd-alea-coloring-alt.log:
[ -f ../../test/alea-coloring-alt/clique50_algo_331.cmxs ] || \
(echo "\n ===> do a 'make cmxs' before!\n\n"; exit 1)
cd ../../test/alea-coloring-alt \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus false 0.100000 1000 60.0 \"sasa -l 20000 clique50_algo_331.dot -sd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/clique50_algo_331-sd-alea-coloring-alt.log \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus false 0.100000 1000 60.0 \"sasa -l 20000 clique50_algo_331.dot -lcd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/clique50_algo_331-lcd-alea-coloring-alt.log \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus false 0.100000 1000 60.0 \"sasa -l 20000 clique50_algo_331.dot -dd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/clique50_algo_331-dd-alea-coloring-alt.log \
&& echo "clique50_algo_331-sd-alea-coloring-alt.log done"
clique50_p-sd-alea-coloring-unif.log:
[ -f ../../test/alea-coloring-unif/clique50_p.cmxs ] || \
(echo "\n ===> do a 'make cmxs' before!\n\n"; exit 1)
cd ../../test/alea-coloring-unif \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus false 0.100000 1000 60.0 \"sasa -l 20000 clique50_p.dot -sd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/clique50_p-sd-alea-coloring-unif.log \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus false 0.100000 1000 60.0 \"sasa -l 20000 clique50_p.dot -lcd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/clique50_p-lcd-alea-coloring-unif.log \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus false 0.100000 1000 60.0 \"sasa -l 20000 clique50_p.dot -dd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/clique50_p-dd-alea-coloring-unif.log \
&& echo "clique50_p-sd-alea-coloring-unif.log done"
clique50_p-sd-alea-coloring.log:
[ -f ../../test/alea-coloring/clique50_p.cmxs ] || \
(echo "\n ===> do a 'make cmxs' before!\n\n"; exit 1)
cd ../../test/alea-coloring \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus false 0.100000 1000 60.0 \"sasa -l 20000 clique50_p.dot -sd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/clique50_p-sd-alea-coloring.log \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus false 0.100000 1000 60.0 \"sasa -l 20000 clique50_p.dot -lcd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/clique50_p-lcd-alea-coloring.log \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus false 0.100000 1000 60.0 \"sasa -l 20000 clique50_p.dot -dd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/clique50_p-dd-alea-coloring.log \
&& echo "clique50_p-sd-alea-coloring.log done"
../../test/alea-coloring-alt/clique50_algo_331.dot:
echo "gg clique -n 50 -o ../../test/alea-coloring-alt/clique50_algo_331.dot" > ../../test/alea-coloring-alt/clique50_algo_331.dot.sh
echo "gg-deco \"0-:algo_331.ml\" ../../test/alea-coloring-alt/clique50_algo_331.dot -o ../../test/alea-coloring-alt/clique50_algo_331.dot" >> ../../test/alea-coloring-alt/clique50_algo_331.dot.sh
sh ../../test/alea-coloring-alt/clique50_algo_331.dot.sh
../../test/alea-coloring-alt/clique50_algo_331.cmxs: ../../test/alea-coloring-alt/clique50_algo_331.dot
cd ../../test/alea-coloring-alt; make clique50_algo_331.cmxs
../../test/alea-coloring-unif/clique50_p.dot:
echo "gg clique -n 50 -o ../../test/alea-coloring-unif/clique50_p.dot" > ../../test/alea-coloring-unif/clique50_p.dot.sh
echo "gg-deco \"0-:p.ml\" ../../test/alea-coloring-unif/clique50_p.dot -o ../../test/alea-coloring-unif/clique50_p.dot" >> ../../test/alea-coloring-unif/clique50_p.dot.sh
sh ../../test/alea-coloring-unif/clique50_p.dot.sh
../../test/alea-coloring-unif/clique50_p.cmxs: ../../test/alea-coloring-unif/clique50_p.dot
cd ../../test/alea-coloring-unif; make clique50_p.cmxs
../../test/alea-coloring/clique50_p.dot:
echo "gg clique -n 50 -o ../../test/alea-coloring/clique50_p.dot" > ../../test/alea-coloring/clique50_p.dot.sh
echo "gg-deco \"0-:p.ml\" ../../test/alea-coloring/clique50_p.dot -o ../../test/alea-coloring/clique50_p.dot" >> ../../test/alea-coloring/clique50_p.dot.sh
sh ../../test/alea-coloring/clique50_p.dot.sh
../../test/alea-coloring/clique50_p.cmxs: ../../test/alea-coloring/clique50_p.dot
cd ../../test/alea-coloring; make clique50_p.cmxs
clique40_algo_331-sd-alea-coloring-alt.log:
[ -f ../../test/alea-coloring-alt/clique40_algo_331.cmxs ] || \
(echo "\n ===> do a 'make cmxs' before!\n\n"; exit 1)
cd ../../test/alea-coloring-alt \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus false 0.100000 1000 60.0 \"sasa -l 20000 clique40_algo_331.dot -sd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/clique40_algo_331-sd-alea-coloring-alt.log \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus false 0.100000 1000 60.0 \"sasa -l 20000 clique40_algo_331.dot -lcd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/clique40_algo_331-lcd-alea-coloring-alt.log \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus false 0.100000 1000 60.0 \"sasa -l 20000 clique40_algo_331.dot -dd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/clique40_algo_331-dd-alea-coloring-alt.log \
&& echo "clique40_algo_331-sd-alea-coloring-alt.log done"
clique40_p-sd-alea-coloring-unif.log:
[ -f ../../test/alea-coloring-unif/clique40_p.cmxs ] || \
(echo "\n ===> do a 'make cmxs' before!\n\n"; exit 1)
cd ../../test/alea-coloring-unif \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus false 0.100000 1000 60.0 \"sasa -l 20000 clique40_p.dot -sd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/clique40_p-sd-alea-coloring-unif.log \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus false 0.100000 1000 60.0 \"sasa -l 20000 clique40_p.dot -lcd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/clique40_p-lcd-alea-coloring-unif.log \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus false 0.100000 1000 60.0 \"sasa -l 20000 clique40_p.dot -dd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/clique40_p-dd-alea-coloring-unif.log \
&& echo "clique40_p-sd-alea-coloring-unif.log done"
clique40_p-sd-alea-coloring.log:
[ -f ../../test/alea-coloring/clique40_p.cmxs ] || \
(echo "\n ===> do a 'make cmxs' before!\n\n"; exit 1)
cd ../../test/alea-coloring \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus false 0.100000 1000 60.0 \"sasa -l 20000 clique40_p.dot -sd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/clique40_p-sd-alea-coloring.log \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus false 0.100000 1000 60.0 \"sasa -l 20000 clique40_p.dot -lcd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/clique40_p-lcd-alea-coloring.log \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus false 0.100000 1000 60.0 \"sasa -l 20000 clique40_p.dot -dd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/clique40_p-dd-alea-coloring.log \
&& echo "clique40_p-sd-alea-coloring.log done"
../../test/alea-coloring-alt/clique40_algo_331.dot:
echo "gg clique -n 40 -o ../../test/alea-coloring-alt/clique40_algo_331.dot" > ../../test/alea-coloring-alt/clique40_algo_331.dot.sh
echo "gg-deco \"0-:algo_331.ml\" ../../test/alea-coloring-alt/clique40_algo_331.dot -o ../../test/alea-coloring-alt/clique40_algo_331.dot" >> ../../test/alea-coloring-alt/clique40_algo_331.dot.sh
sh ../../test/alea-coloring-alt/clique40_algo_331.dot.sh
../../test/alea-coloring-alt/clique40_algo_331.cmxs: ../../test/alea-coloring-alt/clique40_algo_331.dot
cd ../../test/alea-coloring-alt; make clique40_algo_331.cmxs
../../test/alea-coloring-unif/clique40_p.dot:
echo "gg clique -n 40 -o ../../test/alea-coloring-unif/clique40_p.dot" > ../../test/alea-coloring-unif/clique40_p.dot.sh
echo "gg-deco \"0-:p.ml\" ../../test/alea-coloring-unif/clique40_p.dot -o ../../test/alea-coloring-unif/clique40_p.dot" >> ../../test/alea-coloring-unif/clique40_p.dot.sh
sh ../../test/alea-coloring-unif/clique40_p.dot.sh
../../test/alea-coloring-unif/clique40_p.cmxs: ../../test/alea-coloring-unif/clique40_p.dot
cd ../../test/alea-coloring-unif; make clique40_p.cmxs
../../test/alea-coloring/clique40_p.dot:
echo "gg clique -n 40 -o ../../test/alea-coloring/clique40_p.dot" > ../../test/alea-coloring/clique40_p.dot.sh
echo "gg-deco \"0-:p.ml\" ../../test/alea-coloring/clique40_p.dot -o ../../test/alea-coloring/clique40_p.dot" >> ../../test/alea-coloring/clique40_p.dot.sh
sh ../../test/alea-coloring/clique40_p.dot.sh
../../test/alea-coloring/clique40_p.cmxs: ../../test/alea-coloring/clique40_p.dot
cd ../../test/alea-coloring; make clique40_p.cmxs
clique30_algo_331-sd-alea-coloring-alt.log:
[ -f ../../test/alea-coloring-alt/clique30_algo_331.cmxs ] || \
(echo "\n ===> do a 'make cmxs' before!\n\n"; exit 1)
cd ../../test/alea-coloring-alt \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus false 0.100000 1000 60.0 \"sasa -l 20000 clique30_algo_331.dot -sd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/clique30_algo_331-sd-alea-coloring-alt.log \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus false 0.100000 1000 60.0 \"sasa -l 20000 clique30_algo_331.dot -lcd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/clique30_algo_331-lcd-alea-coloring-alt.log \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus false 0.100000 1000 60.0 \"sasa -l 20000 clique30_algo_331.dot -dd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/clique30_algo_331-dd-alea-coloring-alt.log \
&& echo "clique30_algo_331-sd-alea-coloring-alt.log done"
clique30_p-sd-alea-coloring-unif.log:
[ -f ../../test/alea-coloring-unif/clique30_p.cmxs ] || \
(echo "\n ===> do a 'make cmxs' before!\n\n"; exit 1)
cd ../../test/alea-coloring-unif \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus false 0.100000 1000 60.0 \"sasa -l 20000 clique30_p.dot -sd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/clique30_p-sd-alea-coloring-unif.log \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus false 0.100000 1000 60.0 \"sasa -l 20000 clique30_p.dot -lcd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/clique30_p-lcd-alea-coloring-unif.log \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus false 0.100000 1000 60.0 \"sasa -l 20000 clique30_p.dot -dd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/clique30_p-dd-alea-coloring-unif.log \
&& echo "clique30_p-sd-alea-coloring-unif.log done"
clique30_p-sd-alea-coloring.log:
[ -f ../../test/alea-coloring/clique30_p.cmxs ] || \
(echo "\n ===> do a 'make cmxs' before!\n\n"; exit 1)
cd ../../test/alea-coloring \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus false 0.100000 1000 60.0 \"sasa -l 20000 clique30_p.dot -sd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/clique30_p-sd-alea-coloring.log \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus false 0.100000 1000 60.0 \"sasa -l 20000 clique30_p.dot -lcd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/clique30_p-lcd-alea-coloring.log \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus false 0.100000 1000 60.0 \"sasa -l 20000 clique30_p.dot -dd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/clique30_p-dd-alea-coloring.log \
&& echo "clique30_p-sd-alea-coloring.log done"
../../test/alea-coloring-alt/clique30_algo_331.dot:
echo "gg clique -n 30 -o ../../test/alea-coloring-alt/clique30_algo_331.dot" > ../../test/alea-coloring-alt/clique30_algo_331.dot.sh
echo "gg-deco \"0-:algo_331.ml\" ../../test/alea-coloring-alt/clique30_algo_331.dot -o ../../test/alea-coloring-alt/clique30_algo_331.dot" >> ../../test/alea-coloring-alt/clique30_algo_331.dot.sh
sh ../../test/alea-coloring-alt/clique30_algo_331.dot.sh
../../test/alea-coloring-alt/clique30_algo_331.cmxs: ../../test/alea-coloring-alt/clique30_algo_331.dot
cd ../../test/alea-coloring-alt; make clique30_algo_331.cmxs
../../test/alea-coloring-unif/clique30_p.dot:
echo "gg clique -n 30 -o ../../test/alea-coloring-unif/clique30_p.dot" > ../../test/alea-coloring-unif/clique30_p.dot.sh
echo "gg-deco \"0-:p.ml\" ../../test/alea-coloring-unif/clique30_p.dot -o ../../test/alea-coloring-unif/clique30_p.dot" >> ../../test/alea-coloring-unif/clique30_p.dot.sh
sh ../../test/alea-coloring-unif/clique30_p.dot.sh
../../test/alea-coloring-unif/clique30_p.cmxs: ../../test/alea-coloring-unif/clique30_p.dot
cd ../../test/alea-coloring-unif; make clique30_p.cmxs
../../test/alea-coloring/clique30_p.dot:
echo "gg clique -n 30 -o ../../test/alea-coloring/clique30_p.dot" > ../../test/alea-coloring/clique30_p.dot.sh
echo "gg-deco \"0-:p.ml\" ../../test/alea-coloring/clique30_p.dot -o ../../test/alea-coloring/clique30_p.dot" >> ../../test/alea-coloring/clique30_p.dot.sh
sh ../../test/alea-coloring/clique30_p.dot.sh
../../test/alea-coloring/clique30_p.cmxs: ../../test/alea-coloring/clique30_p.dot
cd ../../test/alea-coloring; make clique30_p.cmxs
clique20_algo_331-sd-alea-coloring-alt.log:
[ -f ../../test/alea-coloring-alt/clique20_algo_331.cmxs ] || \
(echo "\n ===> do a 'make cmxs' before!\n\n"; exit 1)
cd ../../test/alea-coloring-alt \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus false 0.100000 1000 60.0 \"sasa -l 20000 clique20_algo_331.dot -sd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/clique20_algo_331-sd-alea-coloring-alt.log \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus false 0.100000 1000 60.0 \"sasa -l 20000 clique20_algo_331.dot -lcd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/clique20_algo_331-lcd-alea-coloring-alt.log \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus false 0.100000 1000 60.0 \"sasa -l 20000 clique20_algo_331.dot -dd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/clique20_algo_331-dd-alea-coloring-alt.log \
&& echo "clique20_algo_331-sd-alea-coloring-alt.log done"
clique20_p-sd-alea-coloring-unif.log:
[ -f ../../test/alea-coloring-unif/clique20_p.cmxs ] || \
(echo "\n ===> do a 'make cmxs' before!\n\n"; exit 1)
cd ../../test/alea-coloring-unif \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus false 0.100000 1000 60.0 \"sasa -l 20000 clique20_p.dot -sd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/clique20_p-sd-alea-coloring-unif.log \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus false 0.100000 1000 60.0 \"sasa -l 20000 clique20_p.dot -lcd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/clique20_p-lcd-alea-coloring-unif.log \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus false 0.100000 1000 60.0 \"sasa -l 20000 clique20_p.dot -dd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/clique20_p-dd-alea-coloring-unif.log \
&& echo "clique20_p-sd-alea-coloring-unif.log done"
clique20_p-sd-alea-coloring.log:
[ -f ../../test/alea-coloring/clique20_p.cmxs ] || \
(echo "\n ===> do a 'make cmxs' before!\n\n"; exit 1)
cd ../../test/alea-coloring \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus false 0.100000 1000 60.0 \"sasa -l 20000 clique20_p.dot -sd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/clique20_p-sd-alea-coloring.log \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus false 0.100000 1000 60.0 \"sasa -l 20000 clique20_p.dot -lcd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/clique20_p-lcd-alea-coloring.log \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus false 0.100000 1000 60.0 \"sasa -l 20000 clique20_p.dot -dd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/clique20_p-dd-alea-coloring.log \
&& echo "clique20_p-sd-alea-coloring.log done"
../../test/alea-coloring-alt/clique20_algo_331.dot:
echo "gg clique -n 20 -o ../../test/alea-coloring-alt/clique20_algo_331.dot" > ../../test/alea-coloring-alt/clique20_algo_331.dot.sh
echo "gg-deco \"0-:algo_331.ml\" ../../test/alea-coloring-alt/clique20_algo_331.dot -o ../../test/alea-coloring-alt/clique20_algo_331.dot" >> ../../test/alea-coloring-alt/clique20_algo_331.dot.sh
sh ../../test/alea-coloring-alt/clique20_algo_331.dot.sh
../../test/alea-coloring-alt/clique20_algo_331.cmxs: ../../test/alea-coloring-alt/clique20_algo_331.dot
cd ../../test/alea-coloring-alt; make clique20_algo_331.cmxs
../../test/alea-coloring-unif/clique20_p.dot:
echo "gg clique -n 20 -o ../../test/alea-coloring-unif/clique20_p.dot" > ../../test/alea-coloring-unif/clique20_p.dot.sh
echo "gg-deco \"0-:p.ml\" ../../test/alea-coloring-unif/clique20_p.dot -o ../../test/alea-coloring-unif/clique20_p.dot" >> ../../test/alea-coloring-unif/clique20_p.dot.sh
sh ../../test/alea-coloring-unif/clique20_p.dot.sh
../../test/alea-coloring-unif/clique20_p.cmxs: ../../test/alea-coloring-unif/clique20_p.dot
cd ../../test/alea-coloring-unif; make clique20_p.cmxs
../../test/alea-coloring/clique20_p.dot:
echo "gg clique -n 20 -o ../../test/alea-coloring/clique20_p.dot" > ../../test/alea-coloring/clique20_p.dot.sh
echo "gg-deco \"0-:p.ml\" ../../test/alea-coloring/clique20_p.dot -o ../../test/alea-coloring/clique20_p.dot" >> ../../test/alea-coloring/clique20_p.dot.sh
sh ../../test/alea-coloring/clique20_p.dot.sh
../../test/alea-coloring/clique20_p.cmxs: ../../test/alea-coloring/clique20_p.dot
cd ../../test/alea-coloring; make clique20_p.cmxs
clique10_algo_331-sd-alea-coloring-alt.log:
[ -f ../../test/alea-coloring-alt/clique10_algo_331.cmxs ] || \
(echo "\n ===> do a 'make cmxs' before!\n\n"; exit 1)
cd ../../test/alea-coloring-alt \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus false 0.100000 1000 60.0 \"sasa -l 20000 clique10_algo_331.dot -sd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/clique10_algo_331-sd-alea-coloring-alt.log \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus false 0.100000 1000 60.0 \"sasa -l 20000 clique10_algo_331.dot -lcd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/clique10_algo_331-lcd-alea-coloring-alt.log \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus false 0.100000 1000 60.0 \"sasa -l 20000 clique10_algo_331.dot -dd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/clique10_algo_331-dd-alea-coloring-alt.log \
&& echo "clique10_algo_331-sd-alea-coloring-alt.log done"
clique10_p-sd-alea-coloring-unif.log:
[ -f ../../test/alea-coloring-unif/clique10_p.cmxs ] || \
(echo "\n ===> do a 'make cmxs' before!\n\n"; exit 1)
cd ../../test/alea-coloring-unif \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus false 0.100000 1000 60.0 \"sasa -l 20000 clique10_p.dot -sd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/clique10_p-sd-alea-coloring-unif.log \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus false 0.100000 1000 60.0 \"sasa -l 20000 clique10_p.dot -lcd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/clique10_p-lcd-alea-coloring-unif.log \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus false 0.100000 1000 60.0 \"sasa -l 20000 clique10_p.dot -dd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/clique10_p-dd-alea-coloring-unif.log \
&& echo "clique10_p-sd-alea-coloring-unif.log done"
clique10_p-sd-alea-coloring.log:
[ -f ../../test/alea-coloring/clique10_p.cmxs ] || \
(echo "\n ===> do a 'make cmxs' before!\n\n"; exit 1)
cd ../../test/alea-coloring \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus false 0.100000 1000 60.0 \"sasa -l 20000 clique10_p.dot -sd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/clique10_p-sd-alea-coloring.log \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus false 0.100000 1000 60.0 \"sasa -l 20000 clique10_p.dot -lcd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/clique10_p-lcd-alea-coloring.log \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus false 0.100000 1000 60.0 \"sasa -l 20000 clique10_p.dot -dd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/clique10_p-dd-alea-coloring.log \
&& echo "clique10_p-sd-alea-coloring.log done"
../../test/alea-coloring-alt/clique10_algo_331.dot:
echo "gg clique -n 10 -o ../../test/alea-coloring-alt/clique10_algo_331.dot" > ../../test/alea-coloring-alt/clique10_algo_331.dot.sh
echo "gg-deco \"0-:algo_331.ml\" ../../test/alea-coloring-alt/clique10_algo_331.dot -o ../../test/alea-coloring-alt/clique10_algo_331.dot" >> ../../test/alea-coloring-alt/clique10_algo_331.dot.sh
sh ../../test/alea-coloring-alt/clique10_algo_331.dot.sh
../../test/alea-coloring-alt/clique10_algo_331.cmxs: ../../test/alea-coloring-alt/clique10_algo_331.dot
cd ../../test/alea-coloring-alt; make clique10_algo_331.cmxs
../../test/alea-coloring-unif/clique10_p.dot:
echo "gg clique -n 10 -o ../../test/alea-coloring-unif/clique10_p.dot" > ../../test/alea-coloring-unif/clique10_p.dot.sh
echo "gg-deco \"0-:p.ml\" ../../test/alea-coloring-unif/clique10_p.dot -o ../../test/alea-coloring-unif/clique10_p.dot" >> ../../test/alea-coloring-unif/clique10_p.dot.sh
sh ../../test/alea-coloring-unif/clique10_p.dot.sh
../../test/alea-coloring-unif/clique10_p.cmxs: ../../test/alea-coloring-unif/clique10_p.dot
cd ../../test/alea-coloring-unif; make clique10_p.cmxs
../../test/alea-coloring/clique10_p.dot:
echo "gg clique -n 10 -o ../../test/alea-coloring/clique10_p.dot" > ../../test/alea-coloring/clique10_p.dot.sh
echo "gg-deco \"0-:p.ml\" ../../test/alea-coloring/clique10_p.dot -o ../../test/alea-coloring/clique10_p.dot" >> ../../test/alea-coloring/clique10_p.dot.sh
sh ../../test/alea-coloring/clique10_p.dot.sh
../../test/alea-coloring/clique10_p.cmxs: ../../test/alea-coloring/clique10_p.dot
cd ../../test/alea-coloring; make clique10_p.cmxs
er100_algo_331-sd-alea-coloring-alt.log:
[ -f ../../test/alea-coloring-alt/er100_algo_331.cmxs ] || \
(echo "\n ===> do a 'make cmxs' before!\n\n"; exit 1)
cd ../../test/alea-coloring-alt \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus true 0.100000 1000 60.0 \"sasa -l 20000 er100_algo_331.dot -sd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/er100_algo_331-sd-alea-coloring-alt.log \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus true 0.100000 1000 60.0 \"sasa -l 20000 er100_algo_331.dot -lcd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/er100_algo_331-lcd-alea-coloring-alt.log \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus true 0.100000 1000 60.0 \"sasa -l 20000 er100_algo_331.dot -dd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/er100_algo_331-dd-alea-coloring-alt.log \
&& echo "er100_algo_331-sd-alea-coloring-alt.log done"
er100_p-sd-alea-coloring-unif.log:
[ -f ../../test/alea-coloring-unif/er100_p.cmxs ] || \
(echo "\n ===> do a 'make cmxs' before!\n\n"; exit 1)
cd ../../test/alea-coloring-unif \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus true 0.100000 1000 60.0 \"sasa -l 20000 er100_p.dot -sd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/er100_p-sd-alea-coloring-unif.log \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus true 0.100000 1000 60.0 \"sasa -l 20000 er100_p.dot -lcd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/er100_p-lcd-alea-coloring-unif.log \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus true 0.100000 1000 60.0 \"sasa -l 20000 er100_p.dot -dd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/er100_p-dd-alea-coloring-unif.log \
&& echo "er100_p-sd-alea-coloring-unif.log done"
er100_p-sd-alea-coloring.log:
[ -f ../../test/alea-coloring/er100_p.cmxs ] || \
(echo "\n ===> do a 'make cmxs' before!\n\n"; exit 1)
cd ../../test/alea-coloring \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus true 0.100000 1000 60.0 \"sasa -l 20000 er100_p.dot -sd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/er100_p-sd-alea-coloring.log \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus true 0.100000 1000 60.0 \"sasa -l 20000 er100_p.dot -lcd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/er100_p-lcd-alea-coloring.log \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus true 0.100000 1000 60.0 \"sasa -l 20000 er100_p.dot -dd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/er100_p-dd-alea-coloring.log \
&& echo "er100_p-sd-alea-coloring.log done"
../../test/alea-coloring-alt/er100_algo_331.dot:
echo "gg ER -n 100 -p 0.400000 -o ../../test/alea-coloring-alt/er100_algo_331.dot" > ../../test/alea-coloring-alt/er100_algo_331.dot.sh
echo "gg-deco \"0-:algo_331.ml\" ../../test/alea-coloring-alt/er100_algo_331.dot -o ../../test/alea-coloring-alt/er100_algo_331.dot" >> ../../test/alea-coloring-alt/er100_algo_331.dot.sh
sh ../../test/alea-coloring-alt/er100_algo_331.dot.sh
../../test/alea-coloring-alt/er100_algo_331.cmxs: ../../test/alea-coloring-alt/er100_algo_331.dot
cd ../../test/alea-coloring-alt; make er100_algo_331.cmxs
../../test/alea-coloring-unif/er100_p.dot:
echo "gg ER -n 100 -p 0.400000 -o ../../test/alea-coloring-unif/er100_p.dot" > ../../test/alea-coloring-unif/er100_p.dot.sh
echo "gg-deco \"0-:p.ml\" ../../test/alea-coloring-unif/er100_p.dot -o ../../test/alea-coloring-unif/er100_p.dot" >> ../../test/alea-coloring-unif/er100_p.dot.sh
sh ../../test/alea-coloring-unif/er100_p.dot.sh
../../test/alea-coloring-unif/er100_p.cmxs: ../../test/alea-coloring-unif/er100_p.dot
cd ../../test/alea-coloring-unif; make er100_p.cmxs
../../test/alea-coloring/er100_p.dot:
echo "gg ER -n 100 -p 0.400000 -o ../../test/alea-coloring/er100_p.dot" > ../../test/alea-coloring/er100_p.dot.sh
echo "gg-deco \"0-:p.ml\" ../../test/alea-coloring/er100_p.dot -o ../../test/alea-coloring/er100_p.dot" >> ../../test/alea-coloring/er100_p.dot.sh
sh ../../test/alea-coloring/er100_p.dot.sh
../../test/alea-coloring/er100_p.cmxs: ../../test/alea-coloring/er100_p.dot
cd ../../test/alea-coloring; make er100_p.cmxs
er80_algo_331-sd-alea-coloring-alt.log:
[ -f ../../test/alea-coloring-alt/er80_algo_331.cmxs ] || \
(echo "\n ===> do a 'make cmxs' before!\n\n"; exit 1)
cd ../../test/alea-coloring-alt \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus true 0.100000 1000 60.0 \"sasa -l 20000 er80_algo_331.dot -sd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/er80_algo_331-sd-alea-coloring-alt.log \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus true 0.100000 1000 60.0 \"sasa -l 20000 er80_algo_331.dot -lcd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/er80_algo_331-lcd-alea-coloring-alt.log \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus true 0.100000 1000 60.0 \"sasa -l 20000 er80_algo_331.dot -dd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/er80_algo_331-dd-alea-coloring-alt.log \
&& echo "er80_algo_331-sd-alea-coloring-alt.log done"
er80_p-sd-alea-coloring-unif.log:
[ -f ../../test/alea-coloring-unif/er80_p.cmxs ] || \
(echo "\n ===> do a 'make cmxs' before!\n\n"; exit 1)
cd ../../test/alea-coloring-unif \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus true 0.100000 1000 60.0 \"sasa -l 20000 er80_p.dot -sd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/er80_p-sd-alea-coloring-unif.log \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus true 0.100000 1000 60.0 \"sasa -l 20000 er80_p.dot -lcd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/er80_p-lcd-alea-coloring-unif.log \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus true 0.100000 1000 60.0 \"sasa -l 20000 er80_p.dot -dd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/er80_p-dd-alea-coloring-unif.log \
&& echo "er80_p-sd-alea-coloring-unif.log done"
er80_p-sd-alea-coloring.log:
[ -f ../../test/alea-coloring/er80_p.cmxs ] || \
(echo "\n ===> do a 'make cmxs' before!\n\n"; exit 1)
cd ../../test/alea-coloring \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus true 0.100000 1000 60.0 \"sasa -l 20000 er80_p.dot -sd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/er80_p-sd-alea-coloring.log \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus true 0.100000 1000 60.0 \"sasa -l 20000 er80_p.dot -lcd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/er80_p-lcd-alea-coloring.log \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus true 0.100000 1000 60.0 \"sasa -l 20000 er80_p.dot -dd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/er80_p-dd-alea-coloring.log \
&& echo "er80_p-sd-alea-coloring.log done"
../../test/alea-coloring-alt/er80_algo_331.dot:
echo "gg ER -n 80 -p 0.400000 -o ../../test/alea-coloring-alt/er80_algo_331.dot" > ../../test/alea-coloring-alt/er80_algo_331.dot.sh
echo "gg-deco \"0-:algo_331.ml\" ../../test/alea-coloring-alt/er80_algo_331.dot -o ../../test/alea-coloring-alt/er80_algo_331.dot" >> ../../test/alea-coloring-alt/er80_algo_331.dot.sh
sh ../../test/alea-coloring-alt/er80_algo_331.dot.sh
../../test/alea-coloring-alt/er80_algo_331.cmxs: ../../test/alea-coloring-alt/er80_algo_331.dot
cd ../../test/alea-coloring-alt; make er80_algo_331.cmxs
../../test/alea-coloring-unif/er80_p.dot:
echo "gg ER -n 80 -p 0.400000 -o ../../test/alea-coloring-unif/er80_p.dot" > ../../test/alea-coloring-unif/er80_p.dot.sh
echo "gg-deco \"0-:p.ml\" ../../test/alea-coloring-unif/er80_p.dot -o ../../test/alea-coloring-unif/er80_p.dot" >> ../../test/alea-coloring-unif/er80_p.dot.sh
sh ../../test/alea-coloring-unif/er80_p.dot.sh
../../test/alea-coloring-unif/er80_p.cmxs: ../../test/alea-coloring-unif/er80_p.dot
cd ../../test/alea-coloring-unif; make er80_p.cmxs
../../test/alea-coloring/er80_p.dot:
echo "gg ER -n 80 -p 0.400000 -o ../../test/alea-coloring/er80_p.dot" > ../../test/alea-coloring/er80_p.dot.sh
echo "gg-deco \"0-:p.ml\" ../../test/alea-coloring/er80_p.dot -o ../../test/alea-coloring/er80_p.dot" >> ../../test/alea-coloring/er80_p.dot.sh
sh ../../test/alea-coloring/er80_p.dot.sh
../../test/alea-coloring/er80_p.cmxs: ../../test/alea-coloring/er80_p.dot
cd ../../test/alea-coloring; make er80_p.cmxs
er60_algo_331-sd-alea-coloring-alt.log:
[ -f ../../test/alea-coloring-alt/er60_algo_331.cmxs ] || \
(echo "\n ===> do a 'make cmxs' before!\n\n"; exit 1)
cd ../../test/alea-coloring-alt \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus true 0.100000 1000 60.0 \"sasa -l 20000 er60_algo_331.dot -sd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/er60_algo_331-sd-alea-coloring-alt.log \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus true 0.100000 1000 60.0 \"sasa -l 20000 er60_algo_331.dot -lcd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/er60_algo_331-lcd-alea-coloring-alt.log \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus true 0.100000 1000 60.0 \"sasa -l 20000 er60_algo_331.dot -dd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/er60_algo_331-dd-alea-coloring-alt.log \
&& echo "er60_algo_331-sd-alea-coloring-alt.log done"
er60_p-sd-alea-coloring-unif.log:
[ -f ../../test/alea-coloring-unif/er60_p.cmxs ] || \
(echo "\n ===> do a 'make cmxs' before!\n\n"; exit 1)
cd ../../test/alea-coloring-unif \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus true 0.100000 1000 60.0 \"sasa -l 20000 er60_p.dot -sd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/er60_p-sd-alea-coloring-unif.log \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus true 0.100000 1000 60.0 \"sasa -l 20000 er60_p.dot -lcd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/er60_p-lcd-alea-coloring-unif.log \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus true 0.100000 1000 60.0 \"sasa -l 20000 er60_p.dot -dd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/er60_p-dd-alea-coloring-unif.log \
&& echo "er60_p-sd-alea-coloring-unif.log done"
er60_p-sd-alea-coloring.log:
[ -f ../../test/alea-coloring/er60_p.cmxs ] || \
(echo "\n ===> do a 'make cmxs' before!\n\n"; exit 1)
cd ../../test/alea-coloring \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus true 0.100000 1000 60.0 \"sasa -l 20000 er60_p.dot -sd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/er60_p-sd-alea-coloring.log \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus true 0.100000 1000 60.0 \"sasa -l 20000 er60_p.dot -lcd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/er60_p-lcd-alea-coloring.log \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus true 0.100000 1000 60.0 \"sasa -l 20000 er60_p.dot -dd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/er60_p-dd-alea-coloring.log \
&& echo "er60_p-sd-alea-coloring.log done"
../../test/alea-coloring-alt/er60_algo_331.dot:
echo "gg ER -n 60 -p 0.400000 -o ../../test/alea-coloring-alt/er60_algo_331.dot" > ../../test/alea-coloring-alt/er60_algo_331.dot.sh
echo "gg-deco \"0-:algo_331.ml\" ../../test/alea-coloring-alt/er60_algo_331.dot -o ../../test/alea-coloring-alt/er60_algo_331.dot" >> ../../test/alea-coloring-alt/er60_algo_331.dot.sh
sh ../../test/alea-coloring-alt/er60_algo_331.dot.sh
../../test/alea-coloring-alt/er60_algo_331.cmxs: ../../test/alea-coloring-alt/er60_algo_331.dot
cd ../../test/alea-coloring-alt; make er60_algo_331.cmxs
../../test/alea-coloring-unif/er60_p.dot:
echo "gg ER -n 60 -p 0.400000 -o ../../test/alea-coloring-unif/er60_p.dot" > ../../test/alea-coloring-unif/er60_p.dot.sh
echo "gg-deco \"0-:p.ml\" ../../test/alea-coloring-unif/er60_p.dot -o ../../test/alea-coloring-unif/er60_p.dot" >> ../../test/alea-coloring-unif/er60_p.dot.sh
sh ../../test/alea-coloring-unif/er60_p.dot.sh
../../test/alea-coloring-unif/er60_p.cmxs: ../../test/alea-coloring-unif/er60_p.dot
cd ../../test/alea-coloring-unif; make er60_p.cmxs
../../test/alea-coloring/er60_p.dot:
echo "gg ER -n 60 -p 0.400000 -o ../../test/alea-coloring/er60_p.dot" > ../../test/alea-coloring/er60_p.dot.sh
echo "gg-deco \"0-:p.ml\" ../../test/alea-coloring/er60_p.dot -o ../../test/alea-coloring/er60_p.dot" >> ../../test/alea-coloring/er60_p.dot.sh
sh ../../test/alea-coloring/er60_p.dot.sh
../../test/alea-coloring/er60_p.cmxs: ../../test/alea-coloring/er60_p.dot
cd ../../test/alea-coloring; make er60_p.cmxs
er40_algo_331-sd-alea-coloring-alt.log:
[ -f ../../test/alea-coloring-alt/er40_algo_331.cmxs ] || \
(echo "\n ===> do a 'make cmxs' before!\n\n"; exit 1)
cd ../../test/alea-coloring-alt \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus true 0.100000 1000 60.0 \"sasa -l 20000 er40_algo_331.dot -sd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/er40_algo_331-sd-alea-coloring-alt.log \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus true 0.100000 1000 60.0 \"sasa -l 20000 er40_algo_331.dot -lcd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/er40_algo_331-lcd-alea-coloring-alt.log \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus true 0.100000 1000 60.0 \"sasa -l 20000 er40_algo_331.dot -dd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/er40_algo_331-dd-alea-coloring-alt.log \
&& echo "er40_algo_331-sd-alea-coloring-alt.log done"
er40_p-sd-alea-coloring-unif.log:
[ -f ../../test/alea-coloring-unif/er40_p.cmxs ] || \
(echo "\n ===> do a 'make cmxs' before!\n\n"; exit 1)
cd ../../test/alea-coloring-unif \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus true 0.100000 1000 60.0 \"sasa -l 20000 er40_p.dot -sd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/er40_p-sd-alea-coloring-unif.log \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus true 0.100000 1000 60.0 \"sasa -l 20000 er40_p.dot -lcd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/er40_p-lcd-alea-coloring-unif.log \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus true 0.100000 1000 60.0 \"sasa -l 20000 er40_p.dot -dd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/er40_p-dd-alea-coloring-unif.log \
&& echo "er40_p-sd-alea-coloring-unif.log done"
er40_p-sd-alea-coloring.log:
[ -f ../../test/alea-coloring/er40_p.cmxs ] || \
(echo "\n ===> do a 'make cmxs' before!\n\n"; exit 1)
cd ../../test/alea-coloring \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus true 0.100000 1000 60.0 \"sasa -l 20000 er40_p.dot -sd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/er40_p-sd-alea-coloring.log \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus true 0.100000 1000 60.0 \"sasa -l 20000 er40_p.dot -lcd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/er40_p-lcd-alea-coloring.log \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus true 0.100000 1000 60.0 \"sasa -l 20000 er40_p.dot -dd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/er40_p-dd-alea-coloring.log \
&& echo "er40_p-sd-alea-coloring.log done"
../../test/alea-coloring-alt/er40_algo_331.dot:
echo "gg ER -n 40 -p 0.400000 -o ../../test/alea-coloring-alt/er40_algo_331.dot" > ../../test/alea-coloring-alt/er40_algo_331.dot.sh
echo "gg-deco \"0-:algo_331.ml\" ../../test/alea-coloring-alt/er40_algo_331.dot -o ../../test/alea-coloring-alt/er40_algo_331.dot" >> ../../test/alea-coloring-alt/er40_algo_331.dot.sh
sh ../../test/alea-coloring-alt/er40_algo_331.dot.sh
../../test/alea-coloring-alt/er40_algo_331.cmxs: ../../test/alea-coloring-alt/er40_algo_331.dot
cd ../../test/alea-coloring-alt; make er40_algo_331.cmxs
../../test/alea-coloring-unif/er40_p.dot:
echo "gg ER -n 40 -p 0.400000 -o ../../test/alea-coloring-unif/er40_p.dot" > ../../test/alea-coloring-unif/er40_p.dot.sh
echo "gg-deco \"0-:p.ml\" ../../test/alea-coloring-unif/er40_p.dot -o ../../test/alea-coloring-unif/er40_p.dot" >> ../../test/alea-coloring-unif/er40_p.dot.sh
sh ../../test/alea-coloring-unif/er40_p.dot.sh
../../test/alea-coloring-unif/er40_p.cmxs: ../../test/alea-coloring-unif/er40_p.dot
cd ../../test/alea-coloring-unif; make er40_p.cmxs
../../test/alea-coloring/er40_p.dot:
echo "gg ER -n 40 -p 0.400000 -o ../../test/alea-coloring/er40_p.dot" > ../../test/alea-coloring/er40_p.dot.sh
echo "gg-deco \"0-:p.ml\" ../../test/alea-coloring/er40_p.dot -o ../../test/alea-coloring/er40_p.dot" >> ../../test/alea-coloring/er40_p.dot.sh
sh ../../test/alea-coloring/er40_p.dot.sh
../../test/alea-coloring/er40_p.cmxs: ../../test/alea-coloring/er40_p.dot
cd ../../test/alea-coloring; make er40_p.cmxs
er20_algo_331-sd-alea-coloring-alt.log:
[ -f ../../test/alea-coloring-alt/er20_algo_331.cmxs ] || \
(echo "\n ===> do a 'make cmxs' before!\n\n"; exit 1)
cd ../../test/alea-coloring-alt \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus true 0.100000 1000 60.0 \"sasa -l 20000 er20_algo_331.dot -sd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/er20_algo_331-sd-alea-coloring-alt.log \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus true 0.100000 1000 60.0 \"sasa -l 20000 er20_algo_331.dot -lcd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/er20_algo_331-lcd-alea-coloring-alt.log \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus true 0.100000 1000 60.0 \"sasa -l 20000 er20_algo_331.dot -dd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/er20_algo_331-dd-alea-coloring-alt.log \
&& echo "er20_algo_331-sd-alea-coloring-alt.log done"
er20_p-sd-alea-coloring-unif.log:
[ -f ../../test/alea-coloring-unif/er20_p.cmxs ] || \
(echo "\n ===> do a 'make cmxs' before!\n\n"; exit 1)
cd ../../test/alea-coloring-unif \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus true 0.100000 1000 60.0 \"sasa -l 20000 er20_p.dot -sd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/er20_p-sd-alea-coloring-unif.log \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus true 0.100000 1000 60.0 \"sasa -l 20000 er20_p.dot -lcd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/er20_p-lcd-alea-coloring-unif.log \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus true 0.100000 1000 60.0 \"sasa -l 20000 er20_p.dot -dd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/er20_p-dd-alea-coloring-unif.log \
&& echo "er20_p-sd-alea-coloring-unif.log done"
er20_p-sd-alea-coloring.log:
[ -f ../../test/alea-coloring/er20_p.cmxs ] || \
(echo "\n ===> do a 'make cmxs' before!\n\n"; exit 1)
cd ../../test/alea-coloring \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus true 0.100000 1000 60.0 \"sasa -l 20000 er20_p.dot -sd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/er20_p-sd-alea-coloring.log \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus true 0.100000 1000 60.0 \"sasa -l 20000 er20_p.dot -lcd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/er20_p-lcd-alea-coloring.log \
&& echo "#use \"/home/jahier/sasa/tools/simca/runSimus.ml\";;\n \
run_simus true 0.100000 1000 60.0 \"sasa -l 20000 er20_p.dot -dd -nd > /dev/null\";;\n" \
| ocaml > /home/jahier/sasa/tools/simca/er20_p-dd-alea-coloring.log \
&& echo "er20_p-sd-alea-coloring.log done"
../../test/alea-coloring-alt/er20_algo_331.dot:
echo "gg ER -n 20 -p 0.400000 -o ../../test/alea-coloring-alt/er20_algo_331.dot" > ../../test/alea-coloring-alt/er20_algo_331.dot.sh
echo "gg-deco \"0-:algo_331.ml\" ../../test/alea-coloring-alt/er20_algo_331.dot -o ../../test/alea-coloring-alt/er20_algo_331.dot" >> ../../test/alea-coloring-alt/er20_algo_331.dot.sh
sh ../../test/alea-coloring-alt/er20_algo_331.dot.sh
../../test/alea-coloring-alt/er20_algo_331.cmxs: ../../test/alea-coloring-alt/er20_algo_331.dot
cd ../../test/alea-coloring-alt; make er20_algo_331.cmxs
../../test/alea-coloring-unif/er20_p.dot:
echo "gg ER -n 20 -p 0.400000 -o ../../test/alea-coloring-unif/er20_p.dot" > ../../test/alea-coloring-unif/er20_p.dot.sh
echo "gg-deco \"0-:p.ml\" ../../test/alea-coloring-unif/er20_p.dot -o ../../test/alea-coloring-unif/er20_p.dot" >> ../../test/alea-coloring-unif/er20_p.dot.sh
sh ../../test/alea-coloring-unif/er20_p.dot.sh
../../test/alea-coloring-unif/er20_p.cmxs: ../../test/alea-coloring-unif/er20_p.dot
cd ../../test/alea-coloring-unif; make er20_p.cmxs
../../test/alea-coloring/er20_p.dot:
echo "gg ER -n 20 -p 0.400000 -o ../../test/alea-coloring/er20_p.dot" > ../../test/alea-coloring/er20_p.dot.sh
echo "gg-deco \"0-:p.ml\" ../../test/alea-coloring/er20_p.dot -o ../../test/alea-coloring/er20_p.dot" >> ../../test/alea-coloring/er20_p.dot.sh
sh ../../test/alea-coloring/er20_p.dot.sh
../../test/alea-coloring/er20_p.cmxs: ../../test/alea-coloring/er20_p.dot
cd ../../test/alea-coloring; make er20_p.cmxs
# ZZZ do not do 'make -j 20 $(CMXS)'! (p.cmxs is regenerated
# at each target, which causes failures)
# But 'make -j 20 $(LOG)' is fine!
CMXS=../../test/alea-coloring/er20_p.cmxs ../../test/alea-coloring-unif/er20_p.cmxs ../../test/alea-coloring-alt/er20_algo_331.cmxs ../../test/alea-coloring/er40_p.cmxs ../../test/alea-coloring-unif/er40_p.cmxs ../../test/alea-coloring-alt/er40_algo_331.cmxs ../../test/alea-coloring/er60_p.cmxs ../../test/alea-coloring-unif/er60_p.cmxs ../../test/alea-coloring-alt/er60_algo_331.cmxs ../../test/alea-coloring/er80_p.cmxs ../../test/alea-coloring-unif/er80_p.cmxs ../../test/alea-coloring-alt/er80_algo_331.cmxs ../../test/alea-coloring/er100_p.cmxs ../../test/alea-coloring-unif/er100_p.cmxs ../../test/alea-coloring-alt/er100_algo_331.cmxs ../../test/alea-coloring/clique10_p.cmxs ../../test/alea-coloring-unif/clique10_p.cmxs ../../test/alea-coloring-alt/clique10_algo_331.cmxs ../../test/alea-coloring/clique20_p.cmxs ../../test/alea-coloring-unif/clique20_p.cmxs ../../test/alea-coloring-alt/clique20_algo_331.cmxs ../../test/alea-coloring/clique30_p.cmxs ../../test/alea-coloring-unif/clique30_p.cmxs ../../test/alea-coloring-alt/clique30_algo_331.cmxs ../../test/alea-coloring/clique40_p.cmxs ../../test/alea-coloring-unif/clique40_p.cmxs ../../test/alea-coloring-alt/clique40_algo_331.cmxs ../../test/alea-coloring/clique50_p.cmxs ../../test/alea-coloring-unif/clique50_p.cmxs ../../test/alea-coloring-alt/clique50_algo_331.cmxs ../../test/alea-coloring/ring100_p.cmxs ../../test/alea-coloring-unif/ring100_p.cmxs ../../test/alea-coloring-alt/ring100_algo_331.cmxs ../../test/alea-coloring/ring200_p.cmxs ../../test/alea-coloring-unif/ring200_p.cmxs ../../test/alea-coloring-alt/ring200_algo_331.cmxs ../../test/alea-coloring/ring300_p.cmxs ../../test/alea-coloring-unif/ring300_p.cmxs ../../test/alea-coloring-alt/ring300_algo_331.cmxs ../../test/alea-coloring/ring400_p.cmxs ../../test/alea-coloring-unif/ring400_p.cmxs ../../test/alea-coloring-alt/ring400_algo_331.cmxs ../../test/alea-coloring/ring500_p.cmxs ../../test/alea-coloring-unif/ring500_p.cmxs ../../test/alea-coloring-alt/ring500_algo_331.cmxs
LOG=er20_p-sd-alea-coloring.log er20_p-sd-alea-coloring-unif.log er20_algo_331-sd-alea-coloring-alt.log er40_p-sd-alea-coloring.log er40_p-sd-alea-coloring-unif.log er40_algo_331-sd-alea-coloring-alt.log er60_p-sd-alea-coloring.log er60_p-sd-alea-coloring-unif.log er60_algo_331-sd-alea-coloring-alt.log er80_p-sd-alea-coloring.log er80_p-sd-alea-coloring-unif.log er80_algo_331-sd-alea-coloring-alt.log er100_p-sd-alea-coloring.log er100_p-sd-alea-coloring-unif.log er100_algo_331-sd-alea-coloring-alt.log clique10_p-sd-alea-coloring.log clique10_p-sd-alea-coloring-unif.log clique10_algo_331-sd-alea-coloring-alt.log clique20_p-sd-alea-coloring.log clique20_p-sd-alea-coloring-unif.log clique20_algo_331-sd-alea-coloring-alt.log clique30_p-sd-alea-coloring.log clique30_p-sd-alea-coloring-unif.log clique30_algo_331-sd-alea-coloring-alt.log clique40_p-sd-alea-coloring.log clique40_p-sd-alea-coloring-unif.log clique40_algo_331-sd-alea-coloring-alt.log clique50_p-sd-alea-coloring.log clique50_p-sd-alea-coloring-unif.log clique50_algo_331-sd-alea-coloring-alt.log ring100_p-sd-alea-coloring.log ring100_p-sd-alea-coloring-unif.log ring100_algo_331-sd-alea-coloring-alt.log ring200_p-sd-alea-coloring.log ring200_p-sd-alea-coloring-unif.log ring200_algo_331-sd-alea-coloring-alt.log ring300_p-sd-alea-coloring.log ring300_p-sd-alea-coloring-unif.log ring300_algo_331-sd-alea-coloring-alt.log ring400_p-sd-alea-coloring.log ring400_p-sd-alea-coloring-unif.log ring400_algo_331-sd-alea-coloring-alt.log ring500_p-sd-alea-coloring.log ring500_p-sd-alea-coloring-unif.log ring500_algo_331-sd-alea-coloring-alt.log
The interesting part is at the very end of this Makefile, where you
can find the definition of the LOG
and the CMXS
variables.
- The
CMXS
variable contains all the.cmxs
files necessary to launch sasa simulations. Via a dependency, it also generates the necessary.dot
files (usinggg
andgg-deco
; cf the post explaining how to Generate Graphs). - the
LOG
variable contains all the.log
files to generate: it can therefore launch all the simulations (via therun_simus
function described before).
make cmxs
make -j 30 log
The -j
option of make
specifies the number of jobs to run
simultaneously, which can speed-up the experiments a lot (well, by 30)
if you own a multi-processor machine.
In average, 2200 simulations per log files were necessary (8000 at worst), so that the CI_95 size gets smaller than 1% of the estimated numbers. It lasted a couple of days using 30 CPUs.
Note the cmxs
rule could have been avoided by adding at each .log
files a dependence to the corresponding .cmxs
file. We have chosen
not to do so for the following reason: .cmxs
files building can not
be done concurrently, as a comment at the end of Makefile.expe-rules
suggests.
Extracting data from log files
As soon as make log
is run, the .log
files generation starts. The
following parseLog.ml
Ocaml program parses the generated log files
to produce .data
files:
#use "parseLogUtils.ml";;
(* [parse_log algo_labels graphs daemons] generates as many .data
files as there are graphs i.e., if graphs=["g1"; "g2"; etc.], then
this function generates "g1.data", "g2.data", etc. If the .data
files do not exist, there are created. Otherwise, data are
appended at the end. *)
let parse_log
(algo_labels:(string * string) list) (* (algo label, algo directory) *)
(graphs: string list) (* graph label (clique, ring, udg) *)
(daemons:string list) = (* sasa daemon short option name *)
let f l a g d =
let log_mask = Printf.sprintf "%s*%s-*%s.log" g d a in
Printf.printf "parse_log \"%s\" \"%s\" \"%s\" \"%s\" mask='%s'\n%!" l a g d log_mask;
data_from_log log_mask d l (g^".data")
in
List.iter (fun (l, a) -> List.iter (fun g -> List.iter (fun d ->
f l a g d) daemons) graphs) algo_labels
;;
This programs can be used even if the log
files generation is
ongoing.
The remaining of the coloring_campaign.ml
file illustrates the use
of the parse_log
function on the current coloring experiment:
|
|
Here is the content of a er.data
that it has been
generated by a call to gen_pdf()
(via make pdf
for example):
100 "Synchronous" "Uniform When Triggered" moves 140.0 178.9 226.0
100 "Synchronous" "Uniform When Triggered" steps 4.000 4.936 6.000
100 "Synchronous" "Uniform When Triggered" rounds 4.000 4.936 6.000
10 "Synchronous" "Uniform When Triggered" moves 8.0 15.9 36.0
10 "Synchronous" "Uniform When Triggered" steps 2.000 3.635 10.000
10 "Synchronous" "Uniform When Triggered" rounds 2.000 3.635 10.000
110 "Synchronous" "Uniform When Triggered" moves 159.0 195.0 232.0
110 "Synchronous" "Uniform When Triggered" steps 4 5 6
110 "Synchronous" "Uniform When Triggered" rounds 4 5 6
120 "Synchronous" "Uniform When Triggered" moves 172.0 214.3 252.0
120 "Synchronous" "Uniform When Triggered" steps 4.00 5.07 7.00
120 "Synchronous" "Uniform When Triggered" rounds 4.00 5.07 7.00
130 "Synchronous" "Uniform When Triggered" moves 201.0 235.0 274.0
130 "Synchronous" "Uniform When Triggered" steps 4.000 5.097 7.000
130 "Synchronous" "Uniform When Triggered" rounds 4.000 5.097 7.000
140 "Synchronous" "Uniform When Triggered" moves 206.0 255.6 302.0
140 "Synchronous" "Uniform When Triggered" steps 4.00 5.18 7.00
140 "Synchronous" "Uniform When Triggered" rounds 4.00 5.18 7.00
150 "Synchronous" "Uniform When Triggered" moves 234 274 318
150 "Synchronous" "Uniform When Triggered" steps 4.000 5.187 6.000
150 "Synchronous" "Uniform When Triggered" rounds 4.000 5.187 6.000
160 "Synchronous" "Uniform When Triggered" moves 246.0 293.6 349.0
160 "Synchronous" "Uniform When Triggered" steps 4.000 5.221 7.000
160 "Synchronous" "Uniform When Triggered" rounds 4.000 5.221 7.000
170 "Synchronous" "Uniform When Triggered" moves 266.0 309.6 357.0
170 "Synchronous" "Uniform When Triggered" steps 4.000 5.143 8.000
170 "Synchronous" "Uniform When Triggered" rounds 4.000 5.143 8.000
180 "Synchronous" "Uniform When Triggered" moves 285.0 330.2 395.0
180 "Synchronous" "Uniform When Triggered" steps 4.000 5.257 6.000
180 "Synchronous" "Uniform When Triggered" rounds 4.000 5.257 6.000
190 "Synchronous" "Uniform When Triggered" moves 300.0 353.6 417.0
190 "Synchronous" "Uniform When Triggered" steps 4.00 5.38 7.00
190 "Synchronous" "Uniform When Triggered" rounds 4.00 5.38 7.00
200 "Synchronous" "Uniform When Triggered" moves 330.0 369.0 429.0
200 "Synchronous" "Uniform When Triggered" steps 4.000 5.306 6.000
200 "Synchronous" "Uniform When Triggered" rounds 4.000 5.306 6.000
20 "Synchronous" "Uniform When Triggered" moves 20.0 32.6 52.0
20 "Synchronous" "Uniform When Triggered" steps 2.000 3.999 8.000
20 "Synchronous" "Uniform When Triggered" rounds 2.000 3.999 8.000
210 "Synchronous" "Uniform When Triggered" moves 339.0 387.7 459.0
210 "Synchronous" "Uniform When Triggered" steps 4.000 5.309 7.000
210 "Synchronous" "Uniform When Triggered" rounds 4.000 5.309 7.000
220 "Synchronous" "Uniform When Triggered" moves 358.0 410.3 471.0
220 "Synchronous" "Uniform When Triggered" steps 4.000 5.355 7.000
220 "Synchronous" "Uniform When Triggered" rounds 4.000 5.355 7.000
230 "Synchronous" "Uniform When Triggered" moves 371.0 425.8 494.0
230 "Synchronous" "Uniform When Triggered" steps 4.000 5.304 7.000
230 "Synchronous" "Uniform When Triggered" rounds 4.000 5.304 7.000
240 "Synchronous" "Uniform When Triggered" moves 381.0 446.3 521.0
240 "Synchronous" "Uniform When Triggered" steps 4.000 5.384 7.000
240 "Synchronous" "Uniform When Triggered" rounds 4.000 5.384 7.000
250 "Synchronous" "Uniform When Triggered" moves 410.0 462.3 524.0
250 "Synchronous" "Uniform When Triggered" steps 4.000 5.373 7.000
250 "Synchronous" "Uniform When Triggered" rounds 4.000 5.373 7.000
30 "Synchronous" "Uniform When Triggered" moves 34.00 50.34 78.00
30 "Synchronous" "Uniform When Triggered" steps 3.000 4.293 8.000
30 "Synchronous" "Uniform When Triggered" rounds 3.000 4.293 8.000
40 "Synchronous" "Uniform When Triggered" moves 45.00 67.23 96.00
40 "Synchronous" "Uniform When Triggered" steps 3.000 4.409 7.000
40 "Synchronous" "Uniform When Triggered" rounds 3.000 4.409 7.000
50 "Synchronous" "Uniform When Triggered" moves 64.00 85.36 118.00
50 "Synchronous" "Uniform When Triggered" steps 3.000 4.545 6.000
50 "Synchronous" "Uniform When Triggered" rounds 3.000 4.545 6.000
60 "Synchronous" "Uniform When Triggered" moves 75.0 103.9 144.0
60 "Synchronous" "Uniform When Triggered" steps 3.000 4.644 8.000
60 "Synchronous" "Uniform When Triggered" rounds 3.000 4.644 8.000
70 "Synchronous" "Uniform When Triggered" moves 96.0 121.7 167.0
70 "Synchronous" "Uniform When Triggered" steps 3.000 4.736 7.000
70 "Synchronous" "Uniform When Triggered" rounds 3.000 4.736 7.000
80 "Synchronous" "Uniform When Triggered" moves 115.0 140.8 177.0
80 "Synchronous" "Uniform When Triggered" steps 4.000 4.835 7.000
80 "Synchronous" "Uniform When Triggered" rounds 4.000 4.835 7.000
90 "Synchronous" "Uniform When Triggered" moves 123.0 159.9 193.0
90 "Synchronous" "Uniform When Triggered" steps 4.000 4.926 6.000
90 "Synchronous" "Uniform When Triggered" rounds 4.000 4.926 6.000
100 "Locally Central" "Uniform When Triggered" moves 1781 2152 2631
100 "Locally Central" "Uniform When Triggered" steps 37.00 44.12 54.00
100 "Locally Central" "Uniform When Triggered" rounds 1.000 1.115 2.000
10 "Locally Central" "Uniform When Triggered" moves 13.00 34.03 76.00
10 "Locally Central" "Uniform When Triggered" steps 3.000 6.895 15.000
10 "Locally Central" "Uniform When Triggered" rounds 1.000 1.351 4.000
110 "Locally Central" "Uniform When Triggered" moves 2212 2559 3011
110 "Locally Central" "Uniform When Triggered" steps 41.0 47.9 57.0
110 "Locally Central" "Uniform When Triggered" rounds 1.000 1.116 2.000
120 "Locally Central" "Uniform When Triggered" moves 2623 3053 3629
120 "Locally Central" "Uniform When Triggered" steps 43.00 52.01 62.00
120 "Locally Central" "Uniform When Triggered" rounds 1.000 1.091 2.000
130 "Locally Central" "Uniform When Triggered" moves 3033 3536 4106
130 "Locally Central" "Uniform When Triggered" steps 47.00 55.51 62.00
130 "Locally Central" "Uniform When Triggered" rounds 1.000 1.139 2.000
140 "Locally Central" "Uniform When Triggered" moves 3596 4129 4650
140 "Locally Central" "Uniform When Triggered" steps 54.00 60.24 66.00
140 "Locally Central" "Uniform When Triggered" rounds 1.000 1.137 2.000
150 "Locally Central" "Uniform When Triggered" moves 4062 4680 5146
150 "Locally Central" "Uniform When Triggered" steps 56.0 63.7 71.0
150 "Locally Central" "Uniform When Triggered" rounds 1.000 1.092 2.000
160 "Locally Central" "Uniform When Triggered" moves 4640 5339 6245
160 "Locally Central" "Uniform When Triggered" steps 60.00 67.94 79.00
160 "Locally Central" "Uniform When Triggered" rounds 1.000 1.076 2.000
170 "Locally Central" "Uniform When Triggered" moves 4931 5965 6733
170 "Locally Central" "Uniform When Triggered" steps 62.00 71.61 79.00
170 "Locally Central" "Uniform When Triggered" rounds 1.000 1.086 2.000
180 "Locally Central" "Uniform When Triggered" moves 5941 6741 7633
180 "Locally Central" "Uniform When Triggered" steps 68.00 76.37 84.00
180 "Locally Central" "Uniform When Triggered" rounds 1.000 1.094 2.000
190 "Locally Central" "Uniform When Triggered" moves 6639 7496 8697
190 "Locally Central" "Uniform When Triggered" steps 70.00 80.23 92.00
190 "Locally Central" "Uniform When Triggered" rounds 1.000 1.049 2.000
200 "Locally Central" "Uniform When Triggered" moves 7237 8286 9199
200 "Locally Central" "Uniform When Triggered" steps 73.00 84.51 93.00
200 "Locally Central" "Uniform When Triggered" rounds 1.000 1.086 2.000
20 "Locally Central" "Uniform When Triggered" moves 67.0 107.8 181.0
20 "Locally Central" "Uniform When Triggered" steps 7.00 11.22 18.00
20 "Locally Central" "Uniform When Triggered" rounds 1.000 1.273 3.000
210 "Locally Central" "Uniform When Triggered" moves 7893 9066 10458
210 "Locally Central" "Uniform When Triggered" steps 80.0 87.9 97.0
210 "Locally Central" "Uniform When Triggered" rounds 1.00 1.04 2.00
220 "Locally Central" "Uniform When Triggered" moves 8993 9949 10765
220 "Locally Central" "Uniform When Triggered" steps 87.00 92.26 101.00
220 "Locally Central" "Uniform When Triggered" rounds 1.000 1.158 2.000
230 "Locally Central" "Uniform When Triggered" moves 9402 10858 12477
230 "Locally Central" "Uniform When Triggered" steps 84.00 96.32 107.00
230 "Locally Central" "Uniform When Triggered" rounds 1.000 1.061 2.000
240 "Locally Central" "Uniform When Triggered" moves 10802 11793 14006
240 "Locally Central" "Uniform When Triggered" steps 90 100 111
240 "Locally Central" "Uniform When Triggered" rounds 1.00 1.06 2.00
250 "Locally Central" "Uniform When Triggered" moves 11292 12797 14085
250 "Locally Central" "Uniform When Triggered" steps 93.0 104.3 114.0
250 "Locally Central" "Uniform When Triggered" rounds 1.000 1.068 2.000
30 "Locally Central" "Uniform When Triggered" moves 149.0 221.8 343.0
30 "Locally Central" "Uniform When Triggered" steps 11.00 15.36 23.00
30 "Locally Central" "Uniform When Triggered" rounds 1.000 1.207 3.000
40 "Locally Central" "Uniform When Triggered" moves 243.0 376.1 513.0
40 "Locally Central" "Uniform When Triggered" steps 13.00 19.44 28.00
40 "Locally Central" "Uniform When Triggered" rounds 1.000 1.203 3.000
50 "Locally Central" "Uniform When Triggered" moves 416.0 557.6 766.0
50 "Locally Central" "Uniform When Triggered" steps 17.0 23.4 30.0
50 "Locally Central" "Uniform When Triggered" rounds 1.000 1.169 3.000
60 "Locally Central" "Uniform When Triggered" moves 615.0 802.2 1030.0
60 "Locally Central" "Uniform When Triggered" steps 21.0 27.7 35.0
60 "Locally Central" "Uniform When Triggered" rounds 1.000 1.144 3.000
70 "Locally Central" "Uniform When Triggered" moves 806 1075 1334
70 "Locally Central" "Uniform When Triggered" steps 25.00 31.75 39.00
70 "Locally Central" "Uniform When Triggered" rounds 1.000 1.143 2.000
80 "Locally Central" "Uniform When Triggered" moves 1144 1396 1700
80 "Locally Central" "Uniform When Triggered" steps 30.00 35.96 43.00
80 "Locally Central" "Uniform When Triggered" rounds 1.000 1.164 2.000
90 "Locally Central" "Uniform When Triggered" moves 1373 1760 2078
90 "Locally Central" "Uniform When Triggered" steps 32.00 40.14 46.00
90 "Locally Central" "Uniform When Triggered" rounds 1.000 1.149 2.000
100 "Distributed" "Uniform When Triggered" moves 197.0 239.6 289.0
100 "Distributed" "Uniform When Triggered" steps 5.000 7.298 10.000
100 "Distributed" "Uniform When Triggered" rounds 1.000 1.528 3.000
10 "Distributed" "Uniform When Triggered" moves 7.00 21.75 47.00
10 "Distributed" "Uniform When Triggered" steps 2.000 4.711 12.000
10 "Distributed" "Uniform When Triggered" rounds 1.000 1.805 6.000
110 "Distributed" "Uniform When Triggered" moves 221.0 264.1 315.0
110 "Distributed" "Uniform When Triggered" steps 5.000 7.472 11.000
110 "Distributed" "Uniform When Triggered" rounds 1.00 1.55 3.00
120 "Distributed" "Uniform When Triggered" moves 227 287 346
120 "Distributed" "Uniform When Triggered" steps 6.000 7.445 10.000
120 "Distributed" "Uniform When Triggered" rounds 1.000 1.441 3.000
130 "Distributed" "Uniform When Triggered" moves 255.0 313.3 367.0
130 "Distributed" "Uniform When Triggered" steps 6.00 7.63 11.00
130 "Distributed" "Uniform When Triggered" rounds 1.000 1.493 3.000
140 "Distributed" "Uniform When Triggered" moves 297.0 336.7 393.0
140 "Distributed" "Uniform When Triggered" steps 6.000 7.656 10.000
140 "Distributed" "Uniform When Triggered" rounds 1.000 1.432 3.000
150 "Distributed" "Uniform When Triggered" moves 317.0 359.7 413.0
150 "Distributed" "Uniform When Triggered" steps 6.00 7.79 11.00
150 "Distributed" "Uniform When Triggered" rounds 1.000 1.443 3.000
160 "Distributed" "Uniform When Triggered" moves 337.0 386.3 463.0
160 "Distributed" "Uniform When Triggered" steps 6.000 7.925 11.000
160 "Distributed" "Uniform When Triggered" rounds 1.000 1.396 3.000
170 "Distributed" "Uniform When Triggered" moves 358.0 410.4 474.0
170 "Distributed" "Uniform When Triggered" steps 6.000 7.959 11.000
170 "Distributed" "Uniform When Triggered" rounds 1.0 1.4 3.0
180 "Distributed" "Uniform When Triggered" moves 378.0 434.4 512.0
180 "Distributed" "Uniform When Triggered" steps 6.000 7.977 12.000
180 "Distributed" "Uniform When Triggered" rounds 1.000 1.401 3.000
190 "Distributed" "Uniform When Triggered" moves 407.0 459.5 544.0
190 "Distributed" "Uniform When Triggered" steps 6.000 8.093 11.000
190 "Distributed" "Uniform When Triggered" rounds 1.000 1.404 3.000
200 "Distributed" "Uniform When Triggered" moves 418.0 482.9 560.0
200 "Distributed" "Uniform When Triggered" steps 6.000 8.188 10.000
200 "Distributed" "Uniform When Triggered" rounds 1.000 1.465 4.000
20 "Distributed" "Uniform When Triggered" moves 27.00 46.35 77.00
20 "Distributed" "Uniform When Triggered" steps 3.000 5.573 11.000
20 "Distributed" "Uniform When Triggered" rounds 1.00 1.74 5.00
210 "Distributed" "Uniform When Triggered" moves 422.0 508.1 575.0
210 "Distributed" "Uniform When Triggered" steps 6.000 8.204 12.000
210 "Distributed" "Uniform When Triggered" rounds 1.000 1.369 3.000
220 "Distributed" "Uniform When Triggered" moves 467.0 530.8 615.0
220 "Distributed" "Uniform When Triggered" steps 6.00 8.31 12.00
220 "Distributed" "Uniform When Triggered" rounds 1.000 1.436 3.000
230 "Distributed" "Uniform When Triggered" moves 468.0 558.4 643.0
230 "Distributed" "Uniform When Triggered" steps 6.000 8.306 12.000
230 "Distributed" "Uniform When Triggered" rounds 1.000 1.386 3.000
240 "Distributed" "Uniform When Triggered" moves 521.0 581.9 664.0
240 "Distributed" "Uniform When Triggered" steps 6.000 8.375 11.000
240 "Distributed" "Uniform When Triggered" rounds 1.000 1.378 3.000
250 "Distributed" "Uniform When Triggered" moves 546.0 606.2 688.0
250 "Distributed" "Uniform When Triggered" steps 7.000 8.382 12.000
250 "Distributed" "Uniform When Triggered" rounds 1.000 1.369 3.000
30 "Distributed" "Uniform When Triggered" moves 46.00 70.75 102.00
30 "Distributed" "Uniform When Triggered" steps 4.000 5.996 10.000
30 "Distributed" "Uniform When Triggered" rounds 1.000 1.656 5.000
40 "Distributed" "Uniform When Triggered" moves 62.00 93.89 128.00
40 "Distributed" "Uniform When Triggered" steps 4.0 6.3 10.0
40 "Distributed" "Uniform When Triggered" rounds 1.000 1.656 3.000
50 "Distributed" "Uniform When Triggered" moves 86.0 118.8 161.0
50 "Distributed" "Uniform When Triggered" steps 4.000 6.492 10.000
50 "Distributed" "Uniform When Triggered" rounds 1.000 1.614 3.000
60 "Distributed" "Uniform When Triggered" moves 109.0 141.9 172.0
60 "Distributed" "Uniform When Triggered" steps 4.000 6.757 9.000
60 "Distributed" "Uniform When Triggered" rounds 1.000 1.592 3.000
70 "Distributed" "Uniform When Triggered" moves 127.0 167.4 203.0
70 "Distributed" "Uniform When Triggered" steps 5.000 6.944 10.000
70 "Distributed" "Uniform When Triggered" rounds 1.000 1.553 3.000
80 "Distributed" "Uniform When Triggered" moves 158.0 191.2 231.0
80 "Distributed" "Uniform When Triggered" steps 5.000 7.017 10.000
80 "Distributed" "Uniform When Triggered" rounds 1.00 1.49 3.00
90 "Distributed" "Uniform When Triggered" moves 169.0 215.7 274.0
90 "Distributed" "Uniform When Triggered" steps 5.000 7.203 10.000
90 "Distributed" "Uniform When Triggered" rounds 1.000 1.493 3.000
100 "Synchronous" "Smallest When Triggered" moves 1126 1240 1368
100 "Synchronous" "Smallest When Triggered" steps 18.0 21.9 26.0
100 "Synchronous" "Smallest When Triggered" rounds 18.0 21.9 26.0
10 "Synchronous" "Smallest When Triggered" moves 14.00 32.12 75.00
10 "Synchronous" "Smallest When Triggered" steps 3.000 6.126 16.000
10 "Synchronous" "Smallest When Triggered" rounds 3.000 6.126 16.000
110 "Synchronous" "Smallest When Triggered" moves 1329 1444 1573
110 "Synchronous" "Smallest When Triggered" steps 20.00 23.15 29.00
110 "Synchronous" "Smallest When Triggered" rounds 20.00 23.15 29.00
120 "Synchronous" "Smallest When Triggered" moves 1522 1660 1823
120 "Synchronous" "Smallest When Triggered" steps 21.00 24.32 29.00
120 "Synchronous" "Smallest When Triggered" rounds 21.00 24.32 29.00
130 "Synchronous" "Smallest When Triggered" moves 1732 1881 2095
130 "Synchronous" "Smallest When Triggered" steps 23.00 25.53 29.00
130 "Synchronous" "Smallest When Triggered" rounds 23.00 25.53 29.00
140 "Synchronous" "Smallest When Triggered" moves 2010 2126 2390
140 "Synchronous" "Smallest When Triggered" steps 24.00 26.94 37.00
140 "Synchronous" "Smallest When Triggered" rounds 24.00 26.94 37.00
150 "Synchronous" "Smallest When Triggered" moves 2121 2348 2488
150 "Synchronous" "Smallest When Triggered" steps 24.00 27.97 33.00
150 "Synchronous" "Smallest When Triggered" rounds 24.00 27.97 33.00
160 "Synchronous" "Smallest When Triggered" moves 2418 2620 2755
160 "Synchronous" "Smallest When Triggered" steps 26.00 29.22 38.00
160 "Synchronous" "Smallest When Triggered" rounds 26.00 29.22 38.00
170 "Synchronous" "Smallest When Triggered" moves 2730 2870 3025
170 "Synchronous" "Smallest When Triggered" steps 28.0 30.3 35.0
170 "Synchronous" "Smallest When Triggered" rounds 28.0 30.3 35.0
180 "Synchronous" "Smallest When Triggered" moves 2945 3145 3350
180 "Synchronous" "Smallest When Triggered" steps 28.00 31.14 35.00
180 "Synchronous" "Smallest When Triggered" rounds 28.00 31.14 35.00
190 "Synchronous" "Smallest When Triggered" moves 3258 3442 3621
190 "Synchronous" "Smallest When Triggered" steps 29.00 32.75 39.00
190 "Synchronous" "Smallest When Triggered" rounds 29.00 32.75 39.00
200 "Synchronous" "Smallest When Triggered" moves 3535 3714 3947
200 "Synchronous" "Smallest When Triggered" steps 30.00 33.41 39.00
200 "Synchronous" "Smallest When Triggered" rounds 30.00 33.41 39.00
20 "Synchronous" "Smallest When Triggered" moves 67.00 99.38 141.00
20 "Synchronous" "Smallest When Triggered" steps 6.000 8.965 18.000
20 "Synchronous" "Smallest When Triggered" rounds 6.000 8.965 18.000
210 "Synchronous" "Smallest When Triggered" moves 3818 4030 4208
210 "Synchronous" "Smallest When Triggered" steps 31.00 34.86 42.00
210 "Synchronous" "Smallest When Triggered" rounds 31.00 34.86 42.00
220 "Synchronous" "Smallest When Triggered" moves 4190 4349 4625
220 "Synchronous" "Smallest When Triggered" steps 32.00 35.98 42.00
220 "Synchronous" "Smallest When Triggered" rounds 32.00 35.98 42.00
230 "Synchronous" "Smallest When Triggered" moves 4522 4662 4857
230 "Synchronous" "Smallest When Triggered" steps 34.00 36.62 40.00
230 "Synchronous" "Smallest When Triggered" rounds 34.00 36.62 40.00
240 "Synchronous" "Smallest When Triggered" moves 4699 4995 5228
240 "Synchronous" "Smallest When Triggered" steps 35.00 38.11 45.00
240 "Synchronous" "Smallest When Triggered" rounds 35.00 38.11 45.00
250 "Synchronous" "Smallest When Triggered" moves 5047 5335 5646
250 "Synchronous" "Smallest When Triggered" steps 36.00 39.19 45.00
250 "Synchronous" "Smallest When Triggered" rounds 36.00 39.19 45.00
30 "Synchronous" "Smallest When Triggered" moves 144.0 188.2 247.0
30 "Synchronous" "Smallest When Triggered" steps 8.00 11.15 18.00
30 "Synchronous" "Smallest When Triggered" rounds 8.00 11.15 18.00
40 "Synchronous" "Smallest When Triggered" moves 234.0 296.6 378.0
40 "Synchronous" "Smallest When Triggered" steps 9.00 12.96 18.00
40 "Synchronous" "Smallest When Triggered" rounds 9.00 12.96 18.00
50 "Synchronous" "Smallest When Triggered" moves 337.0 420.3 492.0
50 "Synchronous" "Smallest When Triggered" steps 11.00 14.63 21.00
50 "Synchronous" "Smallest When Triggered" rounds 11.00 14.63 21.00
60 "Synchronous" "Smallest When Triggered" moves 471.0 560.7 697.0
60 "Synchronous" "Smallest When Triggered" steps 13.00 16.29 24.00
60 "Synchronous" "Smallest When Triggered" rounds 13.00 16.29 24.00
70 "Synchronous" "Smallest When Triggered" moves 631.0 711.0 788.0
70 "Synchronous" "Smallest When Triggered" steps 14.00 17.63 24.00
70 "Synchronous" "Smallest When Triggered" rounds 14.00 17.63 24.00
80 "Synchronous" "Smallest When Triggered" moves 782.0 878.8 990.0
80 "Synchronous" "Smallest When Triggered" steps 16.0 19.3 26.0
80 "Synchronous" "Smallest When Triggered" rounds 16.0 19.3 26.0
90 "Synchronous" "Smallest When Triggered" moves 924 1057 1173
90 "Synchronous" "Smallest When Triggered" steps 17.00 20.55 25.00
90 "Synchronous" "Smallest When Triggered" rounds 17.00 20.55 25.00
100 "Locally Central" "Smallest When Triggered" moves 3194 4151 5704
100 "Locally Central" "Smallest When Triggered" steps 65.00 85.92 113.00
100 "Locally Central" "Smallest When Triggered" rounds 1.000 2.788 6.000
10 "Locally Central" "Smallest When Triggered" moves 15.00 55.86 133.00
10 "Locally Central" "Smallest When Triggered" steps 4.00 10.71 30.00
10 "Locally Central" "Smallest When Triggered" rounds 1.000 2.011 7.000
110 "Locally Central" "Smallest When Triggered" moves 3856 5004 6250
110 "Locally Central" "Smallest When Triggered" steps 76.0 94.1 116.0
110 "Locally Central" "Smallest When Triggered" rounds 1.0 2.8 6.0
120 "Locally Central" "Smallest When Triggered" moves 4145 5920 7562
120 "Locally Central" "Smallest When Triggered" steps 77.0 101.9 133.0
120 "Locally Central" "Smallest When Triggered" rounds 1.000 3.014 8.000
130 "Locally Central" "Smallest When Triggered" moves 5247 6995 9460
130 "Locally Central" "Smallest When Triggered" steps 88.0 110.7 140.0
130 "Locally Central" "Smallest When Triggered" rounds 1.000 2.936 6.000
140 "Locally Central" "Smallest When Triggered" moves 6454 8053 9891
140 "Locally Central" "Smallest When Triggered" steps 92.0 118.5 141.0
140 "Locally Central" "Smallest When Triggered" rounds 1.0 2.9 7.0
150 "Locally Central" "Smallest When Triggered" moves 7145 9271 11959
150 "Locally Central" "Smallest When Triggered" steps 101.0 127.0 154.0
150 "Locally Central" "Smallest When Triggered" rounds 1.000 3.003 6.000
160 "Locally Central" "Smallest When Triggered" moves 7923 10441 12764
160 "Locally Central" "Smallest When Triggered" steps 105 134 160
160 "Locally Central" "Smallest When Triggered" rounds 1.000 2.863 6.000
170 "Locally Central" "Smallest When Triggered" moves 9409 11877 14431
170 "Locally Central" "Smallest When Triggered" steps 119.0 143.6 170.0
170 "Locally Central" "Smallest When Triggered" rounds 1.000 2.997 7.000
180 "Locally Central" "Smallest When Triggered" moves 10889 13187 15452
180 "Locally Central" "Smallest When Triggered" steps 126.0 150.4 176.0
180 "Locally Central" "Smallest When Triggered" rounds 1.000 2.897 7.000
190 "Locally Central" "Smallest When Triggered" moves 11935 14657 17886
190 "Locally Central" "Smallest When Triggered" steps 128.0 158.5 184.0
190 "Locally Central" "Smallest When Triggered" rounds 1.00 2.93 7.00
200 "Locally Central" "Smallest When Triggered" moves 12829 16327 20581
200 "Locally Central" "Smallest When Triggered" steps 135.0 166.8 210.0
200 "Locally Central" "Smallest When Triggered" rounds 1.000 2.929 7.000
20 "Locally Central" "Smallest When Triggered" moves 92.0 193.7 354.0
20 "Locally Central" "Smallest When Triggered" steps 9.00 19.66 40.00
20 "Locally Central" "Smallest When Triggered" rounds 1.000 2.238 5.000
210 "Locally Central" "Smallest When Triggered" moves 15395 18174 21918
210 "Locally Central" "Smallest When Triggered" steps 154.0 176.2 211.0
210 "Locally Central" "Smallest When Triggered" rounds 1.000 2.934 6.000
220 "Locally Central" "Smallest When Triggered" moves 16287 19674 23105
220 "Locally Central" "Smallest When Triggered" steps 153.0 182.9 216.0
220 "Locally Central" "Smallest When Triggered" rounds 1.000 3.004 6.000
230 "Locally Central" "Smallest When Triggered" moves 17557 21440 24906
230 "Locally Central" "Smallest When Triggered" steps 167.0 190.5 218.0
230 "Locally Central" "Smallest When Triggered" rounds 1.000 2.994 7.000
240 "Locally Central" "Smallest When Triggered" moves 19794 23416 29140
240 "Locally Central" "Smallest When Triggered" steps 167.0 199.0 236.0
240 "Locally Central" "Smallest When Triggered" rounds 1.000 3.077 6.000
250 "Locally Central" "Smallest When Triggered" moves 21490 25417 31369
250 "Locally Central" "Smallest When Triggered" steps 176.0 207.4 246.0
250 "Locally Central" "Smallest When Triggered" rounds 1.000 2.893 6.000
30 "Locally Central" "Smallest When Triggered" moves 246 409 640
30 "Locally Central" "Smallest When Triggered" steps 16.00 28.23 47.00
30 "Locally Central" "Smallest When Triggered" rounds 1.000 2.442 7.000
40 "Locally Central" "Smallest When Triggered" moves 436.0 708.7 1086.0
40 "Locally Central" "Smallest When Triggered" steps 22.00 36.82 58.00
40 "Locally Central" "Smallest When Triggered" rounds 1.000 2.576 6.000
50 "Locally Central" "Smallest When Triggered" moves 708 1080 1587
50 "Locally Central" "Smallest When Triggered" steps 28.00 44.84 68.00
50 "Locally Central" "Smallest When Triggered" rounds 1.000 2.619 8.000
60 "Locally Central" "Smallest When Triggered" moves 1056 1542 2218
60 "Locally Central" "Smallest When Triggered" steps 37.0 53.1 74.0
60 "Locally Central" "Smallest When Triggered" rounds 1.00 2.64 6.00
70 "Locally Central" "Smallest When Triggered" moves 1484 2068 2910
70 "Locally Central" "Smallest When Triggered" steps 45.00 61.44 87.00
70 "Locally Central" "Smallest When Triggered" rounds 1.000 2.726 6.000
80 "Locally Central" "Smallest When Triggered" moves 1897 2690 3550
80 "Locally Central" "Smallest When Triggered" steps 53.00 69.79 93.00
80 "Locally Central" "Smallest When Triggered" rounds 1.000 2.725 7.000
90 "Locally Central" "Smallest When Triggered" moves 2537 3386 4434
90 "Locally Central" "Smallest When Triggered" steps 61.00 77.67 104.00
90 "Locally Central" "Smallest When Triggered" rounds 1.000 2.783 5.000
100 "Distributed" "Smallest When Triggered" moves 1350 1499 1647
100 "Distributed" "Smallest When Triggered" steps 21.00 25.37 34.00
100 "Distributed" "Smallest When Triggered" rounds 3.000 5.003 8.000
10 "Distributed" "Smallest When Triggered" moves 13.00 39.48 89.00
10 "Distributed" "Smallest When Triggered" steps 3.000 7.597 19.000
10 "Distributed" "Smallest When Triggered" rounds 1.000 2.736 9.000
110 "Distributed" "Smallest When Triggered" moves 1597 1738 1894
110 "Distributed" "Smallest When Triggered" steps 22.00 26.56 34.00
110 "Distributed" "Smallest When Triggered" rounds 3.000 5.032 9.000
120 "Distributed" "Smallest When Triggered" moves 1813 1995 2171
120 "Distributed" "Smallest When Triggered" steps 23.00 28.13 35.00
120 "Distributed" "Smallest When Triggered" rounds 3.000 5.338 9.000
130 "Distributed" "Smallest When Triggered" moves 2060 2257 2459
130 "Distributed" "Smallest When Triggered" steps 25.00 29.51 37.00
130 "Distributed" "Smallest When Triggered" rounds 3.000 5.431 9.000
140 "Distributed" "Smallest When Triggered" moves 2377 2538 2790
140 "Distributed" "Smallest When Triggered" steps 26.00 30.55 37.00
140 "Distributed" "Smallest When Triggered" rounds 3.000 5.525 9.000
150 "Distributed" "Smallest When Triggered" moves 2623 2820 3034
150 "Distributed" "Smallest When Triggered" steps 27.00 32.09 40.00
150 "Distributed" "Smallest When Triggered" rounds 3.000 5.781 10.000
160 "Distributed" "Smallest When Triggered" moves 2861 3127 3377
160 "Distributed" "Smallest When Triggered" steps 28.00 33.28 43.00
160 "Distributed" "Smallest When Triggered" rounds 3.000 5.786 11.000
170 "Distributed" "Smallest When Triggered" moves 3175 3440 3689
170 "Distributed" "Smallest When Triggered" steps 31.00 34.47 44.00
170 "Distributed" "Smallest When Triggered" rounds 4.000 5.898 9.000
180 "Distributed" "Smallest When Triggered" moves 3506 3756 4031
180 "Distributed" "Smallest When Triggered" steps 31.00 35.47 43.00
180 "Distributed" "Smallest When Triggered" rounds 4.000 6.081 9.000
190 "Distributed" "Smallest When Triggered" moves 3859 4082 4327
190 "Distributed" "Smallest When Triggered" steps 32.00 36.58 44.00
190 "Distributed" "Smallest When Triggered" rounds 4.000 6.288 10.000
200 "Distributed" "Smallest When Triggered" moves 4144 4422 4692
200 "Distributed" "Smallest When Triggered" steps 33.00 37.66 46.00
200 "Distributed" "Smallest When Triggered" rounds 4.000 6.295 10.000
20 "Distributed" "Smallest When Triggered" moves 65 112 173
20 "Distributed" "Smallest When Triggered" steps 6.00 10.78 19.00
20 "Distributed" "Smallest When Triggered" rounds 1.000 3.157 7.000
210 "Distributed" "Smallest When Triggered" moves 4437 4771 5052
210 "Distributed" "Smallest When Triggered" steps 35.00 38.91 45.00
210 "Distributed" "Smallest When Triggered" rounds 4.000 6.475 10.000
220 "Distributed" "Smallest When Triggered" moves 4810 5130 5477
220 "Distributed" "Smallest When Triggered" steps 36.00 39.88 47.00
220 "Distributed" "Smallest When Triggered" rounds 4.000 6.451 10.000
230 "Distributed" "Smallest When Triggered" moves 5126 5514 5789
230 "Distributed" "Smallest When Triggered" steps 37.00 40.97 47.00
230 "Distributed" "Smallest When Triggered" rounds 4.0 6.6 10.0
240 "Distributed" "Smallest When Triggered" moves 5561 5890 6260
240 "Distributed" "Smallest When Triggered" steps 37.00 42.31 53.00
240 "Distributed" "Smallest When Triggered" rounds 4.000 6.881 12.000
250 "Distributed" "Smallest When Triggered" moves 5968 6279 6688
250 "Distributed" "Smallest When Triggered" steps 39.00 42.99 49.00
250 "Distributed" "Smallest When Triggered" rounds 5.000 6.819 10.000
30 "Distributed" "Smallest When Triggered" moves 148.0 212.7 284.0
30 "Distributed" "Smallest When Triggered" steps 9.00 13.31 22.00
30 "Distributed" "Smallest When Triggered" rounds 1.000 3.564 10.000
40 "Distributed" "Smallest When Triggered" moves 262.0 343.2 439.0
40 "Distributed" "Smallest When Triggered" steps 12.00 15.52 24.00
40 "Distributed" "Smallest When Triggered" rounds 1.000 3.805 7.000
50 "Distributed" "Smallest When Triggered" moves 388.0 493.8 586.0
50 "Distributed" "Smallest When Triggered" steps 12.0 17.6 25.0
50 "Distributed" "Smallest When Triggered" rounds 2.000 4.115 7.000
60 "Distributed" "Smallest When Triggered" moves 560.0 666.9 796.0
60 "Distributed" "Smallest When Triggered" steps 15.00 19.33 29.00
60 "Distributed" "Smallest When Triggered" rounds 2.000 4.316 9.000
70 "Distributed" "Smallest When Triggered" moves 740.0 849.8 977.0
70 "Distributed" "Smallest When Triggered" steps 17.00 20.94 28.00
70 "Distributed" "Smallest When Triggered" rounds 2.000 4.452 8.000
80 "Distributed" "Smallest When Triggered" moves 922 1053 1180
80 "Distributed" "Smallest When Triggered" steps 17.00 22.59 31.00
80 "Distributed" "Smallest When Triggered" rounds 3.000 4.683 8.000
90 "Distributed" "Smallest When Triggered" moves 1121 1263 1403
90 "Distributed" "Smallest When Triggered" steps 20.00 23.98 32.00
90 "Distributed" "Smallest When Triggered" rounds 3.000 4.822 9.000
100 "Synchronous" "Always the Biggest" moves 1294 1449 1706
100 "Synchronous" "Always the Biggest" steps 22.00 29.49 41.00
100 "Synchronous" "Always the Biggest" rounds 22.00 29.49 41.00
10 "Synchronous" "Always the Biggest" moves 18.00 45.32 111.00
10 "Synchronous" "Always the Biggest" steps 4.000 9.332 26.000
10 "Synchronous" "Always the Biggest" rounds 4.000 9.332 26.000
110 "Synchronous" "Always the Biggest" moves 1443 1669 2047
110 "Synchronous" "Always the Biggest" steps 24.00 31.22 45.00
110 "Synchronous" "Always the Biggest" rounds 24.00 31.22 45.00
120 "Synchronous" "Always the Biggest" moves 1703 1893 2485
120 "Synchronous" "Always the Biggest" steps 24.00 31.88 46.00
120 "Synchronous" "Always the Biggest" rounds 24.00 31.88 46.00
130 "Synchronous" "Always the Biggest" moves 1859 2129 2441
130 "Synchronous" "Always the Biggest" steps 26.00 33.16 50.00
130 "Synchronous" "Always the Biggest" rounds 26.00 33.16 50.00
140 "Synchronous" "Always the Biggest" moves 2128 2382 2704
140 "Synchronous" "Always the Biggest" steps 26.00 34.43 53.00
140 "Synchronous" "Always the Biggest" rounds 26.00 34.43 53.00
150 "Synchronous" "Always the Biggest" moves 2384 2637 3029
150 "Synchronous" "Always the Biggest" steps 28.00 35.63 47.00
150 "Synchronous" "Always the Biggest" rounds 28.00 35.63 47.00
160 "Synchronous" "Always the Biggest" moves 2657 2901 3257
160 "Synchronous" "Always the Biggest" steps 29.0 36.7 53.0
160 "Synchronous" "Always the Biggest" rounds 29.0 36.7 53.0
170 "Synchronous" "Always the Biggest" moves 2938 3194 3588
170 "Synchronous" "Always the Biggest" steps 30.0 38.3 50.0
170 "Synchronous" "Always the Biggest" rounds 30.0 38.3 50.0
180 "Synchronous" "Always the Biggest" moves 3189 3470 4039
180 "Synchronous" "Always the Biggest" steps 32.00 39.17 50.00
180 "Synchronous" "Always the Biggest" rounds 32.00 39.17 50.00
190 "Synchronous" "Always the Biggest" moves 3505 3764 4043
190 "Synchronous" "Always the Biggest" steps 34.00 40.21 53.00
190 "Synchronous" "Always the Biggest" rounds 34.00 40.21 53.00
200 "Synchronous" "Always the Biggest" moves 3770 4069 4426
200 "Synchronous" "Always the Biggest" steps 34.00 40.79 49.00
200 "Synchronous" "Always the Biggest" rounds 34.00 40.79 49.00
20 "Synchronous" "Always the Biggest" moves 77.0 134.6 243.0
20 "Synchronous" "Always the Biggest" steps 7.00 14.04 33.00
20 "Synchronous" "Always the Biggest" rounds 7.00 14.04 33.00
210 "Synchronous" "Always the Biggest" moves 4070 4405 4903
210 "Synchronous" "Always the Biggest" steps 35.00 42.25 55.00
210 "Synchronous" "Always the Biggest" rounds 35.00 42.25 55.00
220 "Synchronous" "Always the Biggest" moves 4360 4705 5164
220 "Synchronous" "Always the Biggest" steps 36.00 43.58 60.00
220 "Synchronous" "Always the Biggest" rounds 36.00 43.58 60.00
230 "Synchronous" "Always the Biggest" moves 4692 5053 5367
230 "Synchronous" "Always the Biggest" steps 36.00 44.39 61.00
230 "Synchronous" "Always the Biggest" rounds 36.00 44.39 61.00
240 "Synchronous" "Always the Biggest" moves 5046 5390 5809
240 "Synchronous" "Always the Biggest" steps 38.00 45.23 60.00
240 "Synchronous" "Always the Biggest" rounds 38.00 45.23 60.00
250 "Synchronous" "Always the Biggest" moves 5421 5747 6366
250 "Synchronous" "Always the Biggest" steps 39.00 46.14 57.00
250 "Synchronous" "Always the Biggest" rounds 39.00 46.14 57.00
30 "Synchronous" "Always the Biggest" moves 168.0 246.7 381.0
30 "Synchronous" "Always the Biggest" steps 10.00 17.08 38.00
30 "Synchronous" "Always the Biggest" rounds 10.00 17.08 38.00
40 "Synchronous" "Always the Biggest" moves 274.0 377.7 511.0
40 "Synchronous" "Always the Biggest" steps 12.00 19.56 38.00
40 "Synchronous" "Always the Biggest" rounds 12.00 19.56 38.00
50 "Synchronous" "Always the Biggest" moves 407.0 521.5 752.0
50 "Synchronous" "Always the Biggest" steps 14.00 21.45 35.00
50 "Synchronous" "Always the Biggest" rounds 14.00 21.45 35.00
60 "Synchronous" "Always the Biggest" moves 544.0 684.9 904.0
60 "Synchronous" "Always the Biggest" steps 16.00 23.59 37.00
60 "Synchronous" "Always the Biggest" rounds 16.00 23.59 37.00
70 "Synchronous" "Always the Biggest" moves 718.0 859.9 1089.0
70 "Synchronous" "Always the Biggest" steps 18.00 25.19 38.00
70 "Synchronous" "Always the Biggest" rounds 18.00 25.19 38.00
80 "Synchronous" "Always the Biggest" moves 875 1038 1252
80 "Synchronous" "Always the Biggest" steps 19.00 26.54 39.00
80 "Synchronous" "Always the Biggest" rounds 19.00 26.54 39.00
90 "Synchronous" "Always the Biggest" moves 1049 1242 1625
90 "Synchronous" "Always the Biggest" steps 21.00 28.48 43.00
90 "Synchronous" "Always the Biggest" rounds 21.00 28.48 43.00
100 "Locally Central" "Always the Biggest" moves 2943 4174 5951
100 "Locally Central" "Always the Biggest" steps 68.00 88.78 116.00
100 "Locally Central" "Always the Biggest" rounds 2.000 4.977 15.000
10 "Locally Central" "Always the Biggest" moves 22.00 63.06 146.00
10 "Locally Central" "Always the Biggest" steps 6.00 13.64 31.00
10 "Locally Central" "Always the Biggest" rounds 2.000 4.258 16.000
110 "Locally Central" "Always the Biggest" moves 3743 5036 6651
110 "Locally Central" "Always the Biggest" steps 71.00 97.14 131.00
110 "Locally Central" "Always the Biggest" rounds 2.000 5.027 16.000
120 "Locally Central" "Always the Biggest" moves 4284 5968 7824
120 "Locally Central" "Always the Biggest" steps 79.0 105.5 135.0
120 "Locally Central" "Always the Biggest" rounds 2.000 5.123 14.000
130 "Locally Central" "Always the Biggest" moves 5423 6993 9353
130 "Locally Central" "Always the Biggest" steps 89.0 113.3 147.0
130 "Locally Central" "Always the Biggest" rounds 2.000 5.085 14.000
140 "Locally Central" "Always the Biggest" moves 6221 8061 11325
140 "Locally Central" "Always the Biggest" steps 95.0 121.2 156.0
140 "Locally Central" "Always the Biggest" rounds 2.000 5.109 12.000
150 "Locally Central" "Always the Biggest" moves 7224 9220 11481
150 "Locally Central" "Always the Biggest" steps 98 129 170
150 "Locally Central" "Always the Biggest" rounds 2.000 5.151 17.000
160 "Locally Central" "Always the Biggest" moves 7877 10467 13097
160 "Locally Central" "Always the Biggest" steps 105.0 137.4 167.0
160 "Locally Central" "Always the Biggest" rounds 2.000 5.215 15.000
170 "Locally Central" "Always the Biggest" moves 9522 11812 14793
170 "Locally Central" "Always the Biggest" steps 117.0 145.4 185.0
170 "Locally Central" "Always the Biggest" rounds 2.000 5.161 15.000
180 "Locally Central" "Always the Biggest" moves 10364 13266 16915
180 "Locally Central" "Always the Biggest" steps 118.0 153.9 187.0
180 "Locally Central" "Always the Biggest" rounds 2.00 5.17 15.00
190 "Locally Central" "Always the Biggest" moves 11717 14752 18624
190 "Locally Central" "Always the Biggest" steps 130.0 161.9 203.0
190 "Locally Central" "Always the Biggest" rounds 2.000 5.166 16.000
200 "Locally Central" "Always the Biggest" moves 13213 16370 20378
200 "Locally Central" "Always the Biggest" steps 133.0 170.3 206.0
200 "Locally Central" "Always the Biggest" rounds 2.000 5.199 15.000
20 "Locally Central" "Always the Biggest" moves 100 201 371
20 "Locally Central" "Always the Biggest" steps 12.00 22.59 46.00
20 "Locally Central" "Always the Biggest" rounds 2.000 4.513 13.000
210 "Locally Central" "Always the Biggest" moves 14557 17951 22456
210 "Locally Central" "Always the Biggest" steps 143.0 177.7 213.0
210 "Locally Central" "Always the Biggest" rounds 2.000 5.226 15.000
220 "Locally Central" "Always the Biggest" moves 16407 19739 24414
220 "Locally Central" "Always the Biggest" steps 152.0 186.3 220.0
220 "Locally Central" "Always the Biggest" rounds 2.000 5.247 14.000
230 "Locally Central" "Always the Biggest" moves 17382 21550 26689
230 "Locally Central" "Always the Biggest" steps 161.0 194.1 241.0
230 "Locally Central" "Always the Biggest" rounds 3.000 5.194 17.000
240 "Locally Central" "Always the Biggest" moves 18635 23378 28762
240 "Locally Central" "Always the Biggest" steps 163.0 201.7 238.0
240 "Locally Central" "Always the Biggest" rounds 2.000 5.277 15.000
250 "Locally Central" "Always the Biggest" moves 20304 25350 29787
250 "Locally Central" "Always the Biggest" steps 164.0 209.8 248.0
250 "Locally Central" "Always the Biggest" rounds 2.000 5.259 13.000
30 "Locally Central" "Always the Biggest" moves 234.0 418.6 674.0
30 "Locally Central" "Always the Biggest" steps 18.00 31.17 49.00
30 "Locally Central" "Always the Biggest" rounds 2.000 4.692 14.000
40 "Locally Central" "Always the Biggest" moves 451.0 716.5 1250.0
40 "Locally Central" "Always the Biggest" steps 24.00 39.71 63.00
40 "Locally Central" "Always the Biggest" rounds 2.000 4.728 12.000
50 "Locally Central" "Always the Biggest" moves 683 1088 1589
50 "Locally Central" "Always the Biggest" steps 32.0 47.8 69.0
50 "Locally Central" "Always the Biggest" rounds 2.000 4.846 14.000
60 "Locally Central" "Always the Biggest" moves 951 1553 2254
60 "Locally Central" "Always the Biggest" steps 37.0 56.2 78.0
60 "Locally Central" "Always the Biggest" rounds 2.000 4.792 13.000
70 "Locally Central" "Always the Biggest" moves 1416 2087 3004
70 "Locally Central" "Always the Biggest" steps 47.0 64.5 88.0
70 "Locally Central" "Always the Biggest" rounds 2 5 14
80 "Locally Central" "Always the Biggest" moves 1859 2688 3879
80 "Locally Central" "Always the Biggest" steps 51.00 72.35 98.00
80 "Locally Central" "Always the Biggest" rounds 2.000 4.997 18.000
90 "Locally Central" "Always the Biggest" moves 2408 3390 4613
90 "Locally Central" "Always the Biggest" steps 58.00 80.74 111.00
90 "Locally Central" "Always the Biggest" rounds 2.000 5.099 18.000
100 "Distributed" "Always the Biggest" moves 1399 1717 2089
100 "Distributed" "Always the Biggest" steps 25.00 38.34 61.00
100 "Distributed" "Always the Biggest" rounds 3.00 10.16 24.00
10 "Distributed" "Always the Biggest" moves 21.00 50.12 119.00
10 "Distributed" "Always the Biggest" steps 4 11 28
10 "Distributed" "Always the Biggest" rounds 2.000 4.922 16.000
110 "Distributed" "Always the Biggest" moves 1731 1979 2287
110 "Distributed" "Always the Biggest" steps 27.00 39.93 63.00
110 "Distributed" "Always the Biggest" rounds 4.00 10.39 27.00
120 "Distributed" "Always the Biggest" moves 1993 2254 2649
120 "Distributed" "Always the Biggest" steps 29.00 41.35 64.00
120 "Distributed" "Always the Biggest" rounds 5.0 10.5 25.0
130 "Distributed" "Always the Biggest" moves 2218 2538 3059
130 "Distributed" "Always the Biggest" steps 30.0 42.9 74.0
130 "Distributed" "Always the Biggest" rounds 5.00 10.73 28.00
140 "Distributed" "Always the Biggest" moves 2486 2837 3252
140 "Distributed" "Always the Biggest" steps 31.00 44.21 70.00
140 "Distributed" "Always the Biggest" rounds 4.00 10.75 29.00
150 "Distributed" "Always the Biggest" moves 2762 3140 3577
150 "Distributed" "Always the Biggest" steps 34.00 45.45 70.00
150 "Distributed" "Always the Biggest" rounds 5 11 29
160 "Distributed" "Always the Biggest" moves 3099 3463 3879
160 "Distributed" "Always the Biggest" steps 36.00 47.06 77.00
160 "Distributed" "Always the Biggest" rounds 5.00 11.21 29.00
170 "Distributed" "Always the Biggest" moves 3404 3786 4208
170 "Distributed" "Always the Biggest" steps 37.00 48.26 72.00
170 "Distributed" "Always the Biggest" rounds 6.00 11.36 27.00
180 "Distributed" "Always the Biggest" moves 3762 4123 4728
180 "Distributed" "Always the Biggest" steps 38.00 49.27 71.00
180 "Distributed" "Always the Biggest" rounds 5.0 11.4 25.0
190 "Distributed" "Always the Biggest" moves 4021 4468 4897
190 "Distributed" "Always the Biggest" steps 38.00 50.63 73.00
190 "Distributed" "Always the Biggest" rounds 5.00 11.55 31.00
200 "Distributed" "Always the Biggest" moves 4444 4825 5260
200 "Distributed" "Always the Biggest" steps 40.00 51.67 76.00
200 "Distributed" "Always the Biggest" rounds 6.00 11.72 27.00
20 "Distributed" "Always the Biggest" moves 75.0 139.1 243.0
20 "Distributed" "Always the Biggest" steps 8.0 16.4 38.0
20 "Distributed" "Always the Biggest" rounds 2.000 6.298 20.000
210 "Distributed" "Always the Biggest" moves 4785 5191 5666
210 "Distributed" "Always the Biggest" steps 40.00 52.92 79.00
210 "Distributed" "Always the Biggest" rounds 6.00 11.82 28.00
220 "Distributed" "Always the Biggest" moves 5115 5571 6005
220 "Distributed" "Always the Biggest" steps 42.00 53.97 79.00
220 "Distributed" "Always the Biggest" rounds 5.00 11.91 30.00
230 "Distributed" "Always the Biggest" moves 5514 5946 6417
230 "Distributed" "Always the Biggest" steps 42.0 55.1 76.0
230 "Distributed" "Always the Biggest" rounds 7.00 12.08 29.00
240 "Distributed" "Always the Biggest" moves 5873 6351 6958
240 "Distributed" "Always the Biggest" steps 43.00 56.24 76.00
240 "Distributed" "Always the Biggest" rounds 6.0 12.1 28.0
250 "Distributed" "Always the Biggest" moves 6265 6745 7207
250 "Distributed" "Always the Biggest" steps 46.00 57.33 82.00
250 "Distributed" "Always the Biggest" rounds 6.00 12.29 33.00
30 "Distributed" "Always the Biggest" moves 151.0 263.2 443.0
30 "Distributed" "Always the Biggest" steps 10.00 20.96 43.00
30 "Distributed" "Always the Biggest" rounds 2.000 7.404 27.000
40 "Distributed" "Always the Biggest" moves 272.0 418.9 607.0
40 "Distributed" "Always the Biggest" steps 14.00 24.69 59.00
40 "Distributed" "Always the Biggest" rounds 3.000 8.111 36.000
50 "Distributed" "Always the Biggest" moves 405.0 595.8 818.0
50 "Distributed" "Always the Biggest" steps 15.0 27.7 50.0
50 "Distributed" "Always the Biggest" rounds 3.000 8.667 29.000
60 "Distributed" "Always the Biggest" moves 618.0 793.1 1076.0
60 "Distributed" "Always the Biggest" steps 19.00 30.46 55.00
60 "Distributed" "Always the Biggest" rounds 3.000 9.159 26.000
70 "Distributed" "Always the Biggest" moves 803 1003 1324
70 "Distributed" "Always the Biggest" steps 21.00 32.62 56.00
70 "Distributed" "Always the Biggest" rounds 4.000 9.415 27.000
80 "Distributed" "Always the Biggest" moves 984 1229 1502
80 "Distributed" "Always the Biggest" steps 22.00 34.71 57.00
80 "Distributed" "Always the Biggest" rounds 4.000 9.672 26.000
90 "Distributed" "Always the Biggest" moves 1221 1468 1768
90 "Distributed" "Always the Biggest" steps 26.00 36.61 60.00
90 "Distributed" "Always the Biggest" rounds 4.000 9.958 26.000
Similarly, the gen_pdf
function has generated a ring.data
file,
and a er.data
.
Viewing .data
files with an R
Script
You may have noticed that the gen_pdf
function also calls the
following R
script, that reads .data
files to produce .pdf
ones.
#! /usr/bin/env Rscript
args <- commandArgs(TRUE)
if (length(args) == 0) {
stop("At least one argument is necessary
usage:
gen_pdf.r file.data [a_label [ordinate_label]]
where the optional arguments
a_label is used to build output file names (use current dir by default)
ordinate_label is used to label the ordinate axis (use 'Nodes' by default)
example:
gen_pdf.r clique.data
gen_pdf.r clique.data coloring
gen_pdf.r clique.data coloring Diameter
", call.=FALSE)
}
datafilename <- args[1]
campaign <- ifelse(is.na(args[2]), basename(getwd()), args[2])
abscissa <- ifelse(is.na(args[3]),"Nodes",args[3])
graphname <- tools::file_path_sans_ext(args[1])
# Read the data file
data <- data.frame(val=read.table(datafilename))
# Give to columns a name
names(data) <- c("n", "Daemons", "Algorithms", "complexity_kind", "min", "mean", "max")
# Ordering the grid manually
data$complexity_kind_f = factor(data$complexity_kind, levels=c('rounds','steps','moves'))
# Generate a pdf visualisation of the Data with ggplot2
library(ggplot2)
library(dplyr)
gen_pdf <- function(pdffilename, x1, x2){
pdf(pdffilename,onefile=TRUE)
mplot <- ggplot(data, aes_string(x="n",y="mean",colour=x1))+ geom_line() +
facet_grid(c(paste("complexity_kind_f"), paste(x2)) , scales='free') +
ylab("Round/Step/Move Numbers")+xlab(paste(abscissa,"Number"))+
ggtitle(paste("Compare", x1, "on various", x2, "Numbers on",
stringr::str_to_title(graphname), sep = " "))+
theme(legend.position="bottom")
mplot2 <- mplot+geom_ribbon(aes_string(x="n", ymax="max", ymin="min"), alpha=0.2) +
ggtitle(paste("Compare", x1, "on various", x2, "Numbers on",
stringr::str_to_title(graphname), "(+ min/max ribbon)", sep = " "))+
theme(legend.position="bottom")
print(mplot)
print(mplot2)
for (cm in c("moves","steps","rounds")){
datax <- filter(data, complexity_kind == cm)
plot <- ggplot(datax,aes_string(x="n",y="mean",colour=x1))+ geom_line() +
facet_grid(c(paste(x2)), scales='free') +
ylab(paste(cm, "Number", sep=" ")) + xlab(paste(abscissa,"Number"))+
ggtitle(paste(stringr::str_to_title(cm), "Numbers on",
stringr::str_to_title(graphname), sep = " "))+
theme(legend.position="bottom")
plot1 <- plot + geom_point()
plot2 <- plot+geom_ribbon(aes_string(x="n", ymax="max", ymin="min"), alpha=0.2)+
ggtitle(paste(stringr::str_to_title(cm), "Numbers on",
stringr::str_to_title(graphname),
"(+ min/max ribbon)", sep = " "))+
theme(legend.position="bottom")
print(plot1)
print(plot2)
plot <- ggplot(datax,aes_string(x="n",y="mean",colour=x1,shape=x2))+ geom_line() +
ylab(paste(cm, "Number", sep=" ")) + xlab(paste(abscissa,"Number"))+
ggtitle(paste(stringr::str_to_title(cm), "Numbers on",
stringr::str_to_title(graphname), sep = " "))+
theme(legend.position="bottom")
plot1 <- plot + geom_point()
plot2 <- plot+geom_ribbon(aes_string(x="n", ymax="max", ymin="min"), alpha=0.2)+
ggtitle(paste(stringr::str_to_title(cm), "Numbers on",
stringr::str_to_title(graphname),
"(+ min/max ribbon)", sep = " "))+
theme(legend.position="bottom")
print(plot1)
print(plot2)
}
pngfilename = paste(pdffilename,".png", sep ="")
png(pngfilename)
print(mplot2)
}
pdffilename1 = paste(campaign, datafilename,"algos.pdf", sep ="-")
pdffilename2 = paste(campaign, datafilename,"demons.pdf", sep ="-")
gen_pdf(pdffilename1, "Algorithms", "Daemons")
gen_pdf(pdffilename2, "Daemons", "Algorithms")
Hence,
./gen_pdf.r coloring ring.data
./gen_pdf.r coloring clique.data
./gen_pdf.r coloring er.data
generates the 2 multi-pages pdf
files per graph kinds (click on them):
Cliques 10..500 - Focus on Algorithms | Cliques 10..500 - Focus on Daemons |
---|---|
![]() |
![]() |
Rings 100..10000 - Focus on Algorithms | Rings 100..10000 - Focus on Daemons |
---|---|
![]() |
![]() |
Erdos-Renyi 10..250 - Focus on Algorithms | Erdos-Renyi 10..250 - Focus on Daemons |
---|---|
![]() |
![]() |
Both pdf
presents a different view of the same data. The first
one focuses on Algorithms performance comparison, while the second
focuses on the role of daemons.
Of course, if you run this experiment by commenting out the 2 line of
the tools/simca/Makefile, you would use nonreg_test_campaign.ml
instead of coloring_campaign.ml
, which would lead to the same kind of
graphics, but quicker, with less points and more Gaussian noise.
We describe a way to perform statistical analysis of the generated data here.
- “Probabilistic Self-stabilizing Vertex Coloring in Unidirectional Anonymous Networks” by Samuel Bernard, Stéphane Devismes, Katy Paroux, Maria Potop-Butucaru, and Sébastien Tixeuil [return]
- It is a randomized version Algorithm 3.1 (page 43) of ``Introduction to Distributed Self-Stabilizing Algorithms” By Karine Altisen, Stéphane Devismes, Swan Dubois, and Frank Petit . [return]
- Algorithm 3.3.1 (page 16) of “Self-stabilizing Vertex Coloring of Arbitrary Graphs” by Maria Gradinariu and Sebastien Tixeuil [return]