Figure 19

The following script was used to generate the graphs of Figure 19 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 fig19a_cluster import rgap

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

graphs.output_notebook()
graphs.reuse_quantiles(results, y_max=360000)
exp: data loaded in /Users/fabien/research/data/frontiers2016/objects/rgap/[dov_rgap][rmb200.rgb.p0.05][dov_ball45_0.s]/[dov_rgap][rmb200.rgb.p0.05][dov_ball45_0.s].25.tcov.r.d
exp: data loaded in /Users/fabien/research/data/frontiers2016/objects/rgap/[dov_rgap][rmb200.rgb.p0.05][dov_ball45_0.k][reuse_200_0.5_20_p0.05][dov_ball45_0.s]/[dov_rgap][rmb200.rgb.p0.05][dov_ball45_0.k][reuse_200_0.5_20_p0.05][dov_ball45_0.s].25.tcov.r.d
In [2]:
from fig19b_cluster import rgap_h

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

graphs.output_notebook()
graphs.reuse_perflines(results, y_max= 360000, tight=False)
exp: data loaded in /Users/fabien/research/data/frontiers2016/objects/rgap_hard/[dov_rgap][rmb300.rgb.mesh25.p0.07.h][dov_ball45_0.h]/[dov_rgap][rmb300.rgb.mesh25.p0.07.h][dov_ball45_0.h].04.tcov.r.d
exp: data loaded in /Users/fabien/research/data/frontiers2016/objects/rgap_hard/[dov_rgap][rmb300.rgb.mesh25.p0.07.h][dov_ball45_0.k][reuse_300_0.5_25_rgb.mesh25.p0.07.h][dov_ball45_0.h]/[dov_rgap][rmb300.rgb.mesh25.p0.07.h][dov_ball45_0.k][reuse_300_0.5_25_rgb.mesh25.p0.07.h][dov_ball45_0.h].04.tcov.r.d

Provenance Data

As no provenance data is available for the hardware experiments (the provenance code was developed after the experiments were conducted), the following provenance concerns only Figure 19a.

In [3]:
import provenance
prov_data = provenance.cluster(rgap()) # 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: 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.