pylint: disable=missing-docstring, global-statement, invalid-name, too-few-public-methods, no-self-use
A random mother cachelot and calf
Copyright (C) 2017 Jonas Colmsjö, Claes Strannegård
Configuration that is common for the different cachelot examples.
from gzutils.gzutils import DotDict, get_output_dir
from sea import Squid
terrain = ('WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW\n' +
'WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW\n' +
'WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW\n' +
'WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW\n' +
'WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW\n' +
'WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW\n' +
'WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW')
the mother and calf have separate and identical lanes
things = ('XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n' +
' \n' +
' ssss ssss \n' +
'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\n' +
' \n' +
' ssss ssss \n' +
'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')
the mother and calf have separate and identical lanes
exogenous_things = (' \n' +
' \n' +
' ssss ssss \n' +
' \n' +
' \n' +
' ssss ssss \n' +
' ')
mom_start_pos = (0, 1)
calf_start_pos = (0, 4)
motors
can perform several actions
. The Sea Environment has four available
actions
: eat
, down
, up
, forward
. There is also one nsaction
which is sing
sensors
are boolean variables indicating percepts (Things
of different kinds)
that are perceived. Active sensors
are sent as input to the program
OPTIONS = DotDict({
'output_path': get_output_dir(file=__file__),
'terrain': terrain.split('\n'),
'things': things.split('\n'),
'exogenous_things': exogenous_things.split('\n'),
'exogenous_things_prob': 0.005,
'objectives': {'energy': 1.0},
'rewards':{
'sing_eat_and_forward': {
Squid: {
'energy': 0.1
},
None: {
'energy': -0.05
}
},
'eat_and_forward': {
Squid: {
'energy': 0.1
},
None: {
'energy': -0.05
}
},
'dive_and_forward': {
None: {
'energy': -0.002
}
},
'up_and_forward': {
None: {
'energy': -0.001
}
},
'forward': {
None: {
'energy': -0.001
}
},
None: {
None: {
'energy': -0.001
}
},
},
'wss_cfg': {
'numTilesPerSquare': (1, 1),
'drawGrid': True,
'randomTerrain': 0,
'agents': {
'mom': {
'name': 'M',
'pos': mom_start_pos,
'hidden': False
},
'calf': {
'name': 'c',
'pos': calf_start_pos,
'hidden': False
}
}
}
})