Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rlglue gridworld #1

Open
wants to merge 23 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
0c43205
added 25x25 maze
yasuiniko Nov 15, 2017
da4a159
updated gridworld code to work with RL Glue
yasuiniko Nov 15, 2017
4b6e267
updated gridworld to use RL-Glue, except for bug in sarsa lambda
yasuiniko Nov 16, 2017
8bb00e2
updated gridworld to work better with RL-Glue
yasuiniko Nov 18, 2017
45f3df9
backlogged changes to combine RL-Glue and RL-toolkit
yasuiniko Mar 26, 2018
e4b7d45
preparing for merge
yasuiniko Mar 27, 2018
986737d
small updates to API
yasuiniko Apr 6, 2018
f88ca21
fixed infinitely long list bug
yasuiniko Apr 7, 2018
fe7dbbb
replaced Tiles with tiles3
yasuiniko Jul 29, 2018
315d9b7
modified Q-learning to take binary feature representations
yasuiniko Jul 29, 2018
30cd1df
updated GridAgent to be a better base class
yasuiniko Jul 29, 2018
5237f71
streamlined agents
yasuiniko Jul 31, 2018
b056279
removed a lot of unnecessary code
yasuiniko Aug 9, 2018
8118d4d
added gui for mountain car
yasuiniko Aug 14, 2018
c0db6ad
cleaned up RL Glue code for readability
yasuiniko Aug 16, 2018
a092222
rewrote mountain car demo for rl_glue
yasuiniko Aug 16, 2018
0effc57
finished merging rl_glue and rl_toolkit
yasuiniko Aug 17, 2018
09e7357
updated demos
yasuiniko Aug 17, 2018
64c3fc9
replaced replacing with accumulating traces
yasuiniko Aug 21, 2018
1aeaf9b
fixed visualization of run information
yasuiniko Aug 21, 2018
9494031
added target policy
yasuiniko Aug 22, 2018
35dcdd1
enabled non-tilecoded env
yasuiniko Aug 22, 2018
8b01f1e
updated tilecoding to be faster
yasuiniko Sep 17, 2018
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
80 changes: 32 additions & 48 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,59 +1,43 @@
# RLtoolkit
RLtoolkit Version 1.0 b7 October 27, 2017
Version 2.0 b0 August 17, 2018

Note: the arrangement of modules in this package is subject to change (and most likely will!) with future releases.


##To use:
1. Move the RLtoolkit folder to your site-packages folder for Python
## To use:
1. Recommended: `python3 -m pip install git+https://github.com/AmiiThinks/rltoolkit.git`

Alternate:
Move the RLtoolkit folder to your site-packages folder for Python
OR
`export PYTHONPATH=$PYTHONPATH:/path/to/rltoolkit`

2. You can then import as you would any other package

In Python:
from RLtoolkit import Tiles.tiles as tiles
from RLtoolkit.traces import *
from RLtoolkit import *
etc.
```pythonstub
from RLtoolkit import tiles3.tiles as tiles
from RLtoolkit.rl_glue import RLGlue
etc.
```
From the command line:
python -m RLtoolkit.gridworld.gwDemoG

```pythonstub
python -m RLtoolkit.examples.mountain_car_gui.py
```


## Contents:

- **examples** - a folder of demos to run, using the toolkit
- mountain car (GUI)
- random walk (text-based)
- gridworld (GUI)
- gridworld (text-based)
- **gridworld** - gridworld code, including a demo
- **G** - a general low level graphics drawing package
- **Quickgraph** - a simple graphing package (uses g) for 2 and 3d graphs

- **rl_glue** - main interface for connecting agents and environments
- **utilities** - some general utilities
- **glue_guiwindow** - a generic simulation window with buttons and menus
(not yet documented for users, uses RL-Glue)
- **tiles3** - the tile coding package from http://www.incompleteideas.net/tiles/tiles3.html

##Contents:

examples - a folder of demos to run, using the toolkit
- the maintenance example
- mountain car (GUI and nonGUI)

fa - function approximation demo
(currently only uses tile coding)
gridworld - gridworld demo
G - a general low level graphics drawing package
Quickgraph - a simple graphing package (uses g) for 2 and 3d graphs
Tiles - the tile coding package

basicclasses.py - definitions for simulation, agent and environment objects
RLinterface - contains the rl interface object and methods for it
traces - eligibility traces handling
utilities - some general utilities
guiwindow - a generic simulation window with buttons and menus
(not yet documented for users)
demo - helps load the demos and run them
guiuser - loads all the major tools from the toolkit
(if you do from guiuser import *, you get all the tools with no need to
prefix module names)

These are shortcuts to some of the tool packages:
tiles - imports Tiles.tiles
g.py - imports G.g
graph.py - imports Quickgraph.graph
graph3d.py - imports Quickgraph.graph3d

There are some extra things for the RLinterface:
RLinterface2 is the interface described on the first RLAI web page as RL 6
RLinterface3 is a start of the interface described on the RL benchmarks page
rlitest2a is a simple test of RLinterface2
rlitest2b is the random walk example with RLinterface2
rlittest3a is a simple test of RLinterface3
rlitest3b is the random walk example with RLinterface3
12 changes: 0 additions & 12 deletions RLtoolkit/CTiles/Makefile

This file was deleted.

1 change: 0 additions & 1 deletion RLtoolkit/CTiles/__init__.py

This file was deleted.

Loading