smbot/presets.lua

191 lines
3.0 KiB
Lua

-- these are all still very experimental,
-- but they should at least give you a head-start.
local presets = {}
local function make_preset(cfg)
local name = cfg.name
if name ~= nil then
cfg.log_fn = cfg.log_fn or 'logs-'..name..'.csv'
cfg.params_fn = cfg.params_fn or 'params-'..name..'.txt'
end
presets[name] = cfg
return cfg
end
make_preset{
name = 'snes',
es = 'snes',
starting_lives = 1,
min_time = 300,
timer_loser = 1.0,
epoch_trials = 100,
negate_trials = false,
deviation = 1.0,
min_refresh = 0.2,
param_rate = 0.5,
sigma_rate = 0.1,
param_decay = 0.02,
sigma_decay = 0.01,
}
make_preset{
name = 'snes2',
es = 'snes',
start_big = true,
min_time = 300,
timer_loser = 1.0,
score_multiplier = 0,
init_zeros = true,
reduce_tiles = true,
bias_out = false,
deterministic = false,
deviation = 0.5,
negate_trials = false,
min_refresh = 0.5,
epoch_trials = 100,
param_rate = 1.0,
sigma_rate = 0.01,
param_decay = 0.02,
sigma_decay = 0.01,
}
make_preset{
name = 'xnes',
es = 'xnes',
start_big = true,
min_time = 300,
timer_loser = 1.0,
score_multiplier = 0,
init_zeros = true,
reduce_tiles = true,
bias_out = false,
deterministic = false,
deviation = 0.5,
negate_trials = false,
epoch_trials = 50,
param_rate = 1.0,
sigma_rate = 0.01,
covar_rate = 0.01,
}
make_preset{
name = 'xnes2',
es = 'xnes',
log_fn = 'logs-xnes4.csv',
params_fn = 'params-xnes4.txt',
start_big = true,
min_time = 300,
timer_loser = 1.0,
score_multiplier = 0,
init_zeros = true,
reduce_tiles = true,
bias_out = false,
deterministic = false,
deviation = 1.0,
negate_trials = true, --false,
epoch_trials = 10, --50,
param_rate = 0.5,
sigma_rate = 0.04,
covar_rate = 0.04,
param_decay = 0.004,
sigma_decay = 0.00128,
}
make_preset{
name = 'xnes3',
es = 'xnes',
log_fn = 'logs-xnes5b.csv',
params_fn = 'params-xnes5b.txt',
start_big = true,
timer_loser = 1.0,
score_multiplier = 0,
init_zeros = true,
reduce_tiles = true,
bias_out = false,
deterministic = false,
deviation = 0.1207,
negate_trials = true,
epoch_trials = 10,
param_rate = 0.5,
sigma_rate = 0.16,
covar_rate = 0.04,
param_decay = 0.004, -- this should be ok now that it's mul by sigma.
sigma_decay = 0.00128, -- this might be okay... but watch out.
}
make_preset{
name = 'ars',
es = 'ars',
epoch_top_trials = 20 * 2,
ars_lips = false,
start_big = true,
min_time = 300,
timer_loser = 1.0,
bias_out = false,
deterministic = false,
graycode = false,
deviation = 0.1,
negate_trials = false,
epoch_trials = 25 * 2,
param_rate = 1.0,
param_decay = 0.0025,
}
make_preset{
name = 'play',
playable_mode = true,
}
return presets