Figure 14

The following script was used to generate the graphs of Figure 14 of the article "Behavioral Diversity Generation in Autonomous Exploration Through Reuse of Past Experience" by Fabien C. Y. Benureau and Pierre-Yves Oudeyer.

The full code is available and is distributed under the Open Science License. For any questions, remarks or difficulties running this code, contact fabien.benureau@gmail.com.

In [1]:
import experiments

import dotdot
import graphs

from fig14_cluster import dissimilar

expcfgs = dissimilar()
results = experiments.load_results(expcfgs, 'tcov', mask=(True, False, True))

graphs.output_notebook()
graphs.reuse_quantiles(results[:1], y_max=360000, src_quantiles=(0, 10, 100), tgt_quantiles=(0, 10, 100))
graphs.reuse_quantiles(results[1:], y_max=360000)
exp: data loaded in /Users/fabien/research/data/frontiers2016/objects/reuse/[dov_reuse][rmb200.rgb.p0.05][dov_ball45_4.s]/[dov_reuse][rmb200.rgb.p0.05][dov_ball45_4.s].100.tcov.r.d
exp: data loaded in /Users/fabien/research/data/frontiers2016/objects/reuse/[dov_reuse][rmb200.rgb.p0.05][dov_ball45_0.s][reuse_200_0.5_20_p0.05][dov_ball45_4.s]/[dov_reuse][rmb200.rgb.p0.05][dov_ball45_0.s][reuse_200_0.5_20_p0.05][dov_ball45_4.s].100.tcov.r.d
exp: data loaded in /Users/fabien/research/data/frontiers2016/objects/reuse/[dov_reuse][rmb200.rgb.p0.05][dov_ball45_0.s]/[dov_reuse][rmb200.rgb.p0.05][dov_ball45_0.s].100.tcov.r.d
exp: data loaded in /Users/fabien/research/data/frontiers2016/objects/reuse/[dov_reuse][rmb200.rgb.p0.05][dov_ball45_4.s][reuse_200_0.5_20_p0.05][dov_ball45_0.s]/[dov_reuse][rmb200.rgb.p0.05][dov_ball45_4.s][reuse_200_0.5_20_p0.05][dov_ball45_0.s].100.tcov.r.d

Provenance Data

The cluster provenance code examines all the exploration data files of this experiment to check and compare their embedded provenance data. Note that for this experiment, the cluster jobs were run under two different code revisions: one for the first 25 repetitions, and another for 75 more. No difference impacting the experiment behavior exists between the two versions.

In [2]:
import provenance
prov_data = provenance.cluster(dissimilar()) # this may take a minute.
print(prov_data.message())
All the code involved in the cluster computation was commited during job execution.
At least 2 different versions of the code were used to compute the cluster jobs.
No job was computed with more than one version.

The cluster jobs were launched with commits: 9375aaae70197cc68084f16ef7437e263a6b4b6e, 599a0f72271a1b55d1c3e535c049e55bb3e3c66e.

Installed research packages during cluster jobs execution:
    fastlearners [870e9d472f50c0920b66b8f10df1823dbcd9d659]
    clusterjobs  [7505201203af95d3b1074d751c0afac76f3cc619]
    environments [30c1cc66d7a9d976a9a0618effe491f03ae01b43]
    scicfg       [63c4c5c794114ed1606124806b55aa6a56ecb689]
    experiments  [f235afcbe178f6dcaa02425a137fd3bbfe25393a]
    dovecot      [d925b1dbead4bc8b3069f2e73dcb2114a76df15c]
    learners     [c43380e0e0cd7e6f914dbd9cd2e62e1d87003abc]
    explorers    [1d284f3b1479b935f94b99b8e12c1e9432963421]

Installed third-party python packages during cluster jobs execution:
    sympy 0.7.6.1
    scipy 0.17.0
    numpy 1.10.4
    shapely 1.5.13
    sklearn 0.17

Installed third-party non-python packages during cluster jobs execution:
    Eigen 3.2.7
    Boost 1.55
    geos 3.5.0
    VREP 3.2.3, rev 4
    dmpbbo [4bbb90ae679053e04bb4604bee0acbaf75f64875]
    FLANN 1.8.4
    libccd 2.0
    FCL 0.3.1

Cluster jobs were executed with:
    CPython 2.7.11 ('default', 'Jan 31 2016 09:15:49')
    [GCC 4.8.2]

This notebook was executed with code commit: efe8d71f8242d148d3d1825f0157a48b458eb1d9.