-
Notifications
You must be signed in to change notification settings - Fork 9
Evolution Automator
Tiago Rodrigues edited this page Mar 22, 2015
·
6 revisions
EvolutionAutomator is a side-project that was created to facilitate launching complex and/or large numbers of experiments. It allows you to create a single configuration file that runs several runs of one or more different experiments. Another interesting feature is that it performs a post-evaluation of the best controllers from each evolutionary run over a large number of samples, allowing you to determine which run is has the best performance.
Below is a general overview of the Automator's configuration file:
%runs:5
%maxevolutions:1
--robots
classname=simulation.robot.DifferentialDriveRobot,
sensors=(
PreyCarriedSensor_1=(
classname=simulation.robot.sensors.PreyCarriedSensor,
id=1
),
SimpleNestSensor_2=(
classname=simulation.robot.sensors.SimpleNestSensor,
range=2,
numbersensors=4,
id=2
),
SimplePreySensor_3=(
classname=simulation.robot.sensors.PreySensor,
numbersensors=4,
id=3
)
),
actuators=(
TwoWheelActuator_1=(
classname=simulation.robot.actuators.TwoWheelActuator,
id=1
),
PreyPickerActuator_2=(
classname=simulation.robot.actuators.PreyPickerActuator,
id=2
)
)
--controllers
classname=evolutionaryrobotics.neuralnetworks.NeuralNetworkController,
network=(
classname=evolutionaryrobotics.neuralnetworks.CTRNNMultilayer
)
--executor classname=taskexecutor.ParallelTaskExecutor
--evolution classname=evolutionaryrobotics.evolution.GenerationalEvolution
--evaluation classname=evolutionaryrobotics.evaluationfunctions.ForagingEvaluationFunction
--environment classname=RoundForageEnvironment, steps=1000
%pop {
--population classname=evolutionaryrobotics.populations.MuLambdaPopulation
}
#forage{
%pop
--postevaluation samples=100
}