Closed GoogleCodeExporter closed 9 years ago
I was trying to run sarsa on a fixed maze in the Maze module over condor and I
found that my results for each run were always the same as the agent always
followed the same steps. This is happening because the epsilon greedy policy
is always using the same random seed. I tried using the --random argument and
also changing the seeds value in appConfig.py (which has been removed from the
repository) but the results are always the same.
Steps to reproduce:
Add something like the following to generate() in mods/Maze/mazer.py when
generating a random maze in order to always have the same maze:
seed = random.randint(0,999999)
random.seed(346)
random.shuffle(wall_list) # randomly order the walls
random.seed(seed)
Start the a sarsa agent in the Maze module and notice the path it takes.
Restart OpenNero and notice that the sarsa agent follows the identical path as
before no matter what random seed is specified at the command line. I got
around this problem by adding a C++ function that allowed for a random seed to
be injected by the python code in the Maze module into the TD.cpp random number
generator but I really shouldn't of had to do this.
Original comment by pat...@gmail.com
on 2 Mar 2011 at 2:40
Original comment by ikarpov
on 7 Mar 2011 at 5:25
Original comment by ikarpov
on 10 Mar 2011 at 1:04
We have two random number generators with independent seeding - the one used by
Python, and the one used by the C++ code. TDAgent subclasses use the C++ random
number generator, which apparently does not get affected by the --random
parameters.
appConfig.py has been removed intentionally because some parameters needed to
be processed before Python was loaded, making it difficult to keep both a
Python-based configuration file and the command-line parameters.
We should be able to make sure that both the C++-side and the Python-side
random number generators are seeded with the command-line value.
Original comment by ikarpov
on 16 Mar 2011 at 4:26
r910 should address this issue for the C++ generator, please verify.
Original comment by ikarpov
on 16 Mar 2011 at 5:11
Original issue reported on code.google.com by
ikarpov
on 22 Feb 2011 at 8:36