Figure 15

The following script was used to generate the graphs of Figure 15 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 fig15_cluster import pool


REP = 0 # change this to display other runs (provided the data is installed).

expcfgs = pool()
data = experiments.load_explorations([expcfgs[0]], rep=REP)

graphs.output_notebook()
graphs.reuse_coverage(data[0], milestones=(200, 500, 1000),
                      nor=True, src=False, tgt=True, # no reuse and reuse graphs
                      grid=True, xgridlines=range(-600, 1401, 200),
                                 ygridlines=range(-400, 1601, 200))
graphs.reuse_coverage(data[0], milestones=(200, 500, 1000), 
                      nor=False, src=True, tgt=False, # source graphs
                      grid=True, xgridlines=range(-300, 301, 100),
                                 ygridlines=range(-300, 301, 100))
exp: data loaded in /Users/fabien/research/data/frontiers2016/objects/pool/[dov_pool][rmb300.rgb.p0.025][dov_pool.s]/[dov_pool][rmb300.rgb.p0.025][dov_pool.s].00.d
exp: data loaded in /Users/fabien/research/data/frontiers2016/objects/pool/[dov_pool][rmb300.rgb.p0.05][dov_ball45_0.s]/[dov_pool][rmb300.rgb.p0.05][dov_ball45_0.s].00.d
exp: data loaded in /Users/fabien/research/data/frontiers2016/objects/pool/[dov_pool][rmb300.rgb.p0.05][dov_ball45_0.s][reuse_300_0.5_40_p0.025][dov_pool.s]/[dov_pool][rmb300.rgb.p0.05][dov_ball45_0.s][reuse_300_0.5_40_p0.025][dov_pool.s].00.d

Provenance Data

The cluster provenance code examines all the exploration data files of this experiment to check and compare their embedded provenance data.

In [2]:
import provenance
prov_data = provenance.cluster(pool()) # this may take a minute.
print(prov_data.message())
All the code involved in the cluster computation was commited during job execution.
Every job was run with the same code version.

The cluster jobs were launched with commit: da6fd2a17bd325a2488f78a51c17e18fb37f31a5.

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
    FCL 0.3.1
    geos 3.5.0
    VREP 3.2.3, rev 4
    dmpbbo [4bbb90ae679053e04bb4604bee0acbaf75f64875]
    FLANN 1.8.4
    libccd 2.0
    Boost 1.55

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.