Overall design of RLPark?

29 views
Skip to first unread message

Shane Conway

unread,
Aug 25, 2014, 2:05:01 PM8/25/14
to github...@googlegroups.com
I'm wondering whether there are any papers that explain the thinking behind how RLPark is designed.  Short of looking through the examples, I'm interested to know what's required to add a new problem.  For instance, it looks like you need to specify the following:

1) Problem/Environment (e.g. Maze, MountainCar)
2) Actions (e.g. TabularActions)
3) Learning model (e.g. QLearning)
4) Acting policy (e.g. EpsilonGreedy)
5) Control (e.g. QLearningControl)
6) Agent (e.g. LearnerAgentFA)
7) Value function (e.g. MazeValueFunction)

Is there any documentation that specifies all the things that are required to solve certain kinds of problems?

Also, what is the motivation behind the project?  Is it intended to be used for educational purposes, or to solve real-world problems?  How should a new user think of it compared to something like RL-Glue/RL-Library and RLToolkit?

Thomas

unread,
Aug 26, 2014, 1:05:39 PM8/26/14
to github...@googlegroups.com
Hello,

the thinking behind how RLPark is designed is the following: a class does not need to implement an interface unless it is used by a component that requires this interface to be implemented. A typical example is an environment: a new environment does not need to implement any interface unless it is used by
rltoys.environments.envio.Runner in which case it needs to implement the RLEnvironment interface. To summarize, a class needs to implement an interface depending only on what other part of the code is going to use it. Finally, about documentation, your IDE code inspection tool (in Netbeans, Eclipse, ...) is your best friend because you can ask what classes implement such and such interface, who is calling such and such methods, etc

RLPark started as a RL library to quickly test and debug code on small problems. It then has been used to solve a few real world robotic problems, as shown on the publication page (http://rlpark.github.io/publications.html). But you should also know that, as the main contributor, I have not been working on it for a while and that I have no plan to do so.

Thomas
Reply all
Reply to author
Forward
0 new messages