Files
2010-09-30 22:54:44 -07:00

69 lines
1.6 KiB
Perl

$data = {
# settings controlling the operation of the experiment
'settings' => {
'experiment' => 'xor',
'population' => 100, # desired number of networks
'limit' => 10, # max offspring per topology
'penalty' => 10, # max investment/stagnant topology
'retest-elites' => 0,
'save-epochs' => 0,
'activation' => 'perl',
'max-weight' => 10,
'gain' => 5,
'debug' => 0,
'topology-limit' => 50,
# 'allow-recurrent' => 1,
},
# the state of the experiment
'save' => {
'unique-id' => 0, # innovation id
'generation' => 0, # which generation this is
'max-fitness' => 0,
'max-weight' => 0,
'min-weight' => 0,
},
# nodes listed by the unique node-id
'nodes' => {
'one' => {
'id' => 'one', # redundant, but useful
'type' => 'input',
},
'two' => {
'id' => 'two', # redundant, but useful
'type' => 'input',
},
'bias' => {
'id' => 'bias', # redundant, but useful
'type' => 'input',
},
'output' => {
'id' => 'output', # redundant, but useful
'type' => 'output',
'function' => 'sigmoid',
'gain' => '5',
},
},
# one entry per network in the population
'population' => {
'initial' => {
'id' => 'initial',
'fitness' => 0,
'elite' => 0,
'nodes' => {
'one' => {},
'two' => {},
'bias' => {},
'output' => {},
},
},
},
# a record of all the topologies in the population
# this tracks statistics about each one
'topologies' => {},
# for all nodes formed by splitting connections, the
# mapping between the nodes connected and the node created
# exists primarily for search-speed
# can be removed before saving,
'node-lookup' => {},
};