yswhynot / taxi

Hierarchical Online Planning and Reinforcement Learning on Taxi

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Hierarchical online planning and reinforcement learning on Taxi

Build Status

This release consists of codes for two projects:

  • The MAXQ-based hierarchical online planning algorithm: MAXQ-OP
  • The HAMQ-based hierarchical reinforcement learning algorithm: HAMQ-INT

hamq-int

  • This is an ongoing work. The idea is to identify and take advantage of internal transitions within a HAM for efficient hierarchical reinforcement learning.

maxq-op

This is the code release of MAXQ-OP algorithm for the Taxi domain as shown in papers:

It has also some less-tested implementations of other reinforcement learning and offline/online planning algorithms, such as dynamic programming, Q learning, SARSA learning, expected A*, UCT, etc.

Files

  • maxqop.{h, cpp}: the MAXQ-OP algorithm
  • HierarchicalFSMAgent.{h, cpp}: the HAMQ-INT algorithm
  • MaxQ0Agent.{h, cpp}: the MAXQ-0 algorithm
  • MaxQQAgent.{h, cpp}: the MAXQ-Q algorithm
  • agent.h: abstract Agent class
  • state.{h, cpp}: abstract State class
  • policy.{h, cpp}: Policy classes
  • taxi.{h, cpp}: the Taxi domain
  • system.{h, cpp}: agent-environment driver code
  • table.h: tabular V/Q functions
  • dot_graph.{h, cpp}: tools to generate graphviz dot files

WrightEagle

The base code of WrightEagle soccer simulation 2D team (following the maxq-op algorithm) can be found at: https://github.com/wrighteagle2d/wrighteaglebase

Dependencies

  • libboost-dev
  • libboost-program-options-dev
  • gpuplot

About

Hierarchical Online Planning and Reinforcement Learning on Taxi

License:GNU General Public License v2.0


Languages

Language:C++ 91.4%Language:Gnuplot 4.3%Language:Shell 2.6%Language:CMake 1.3%Language:Makefile 0.3%Language:GDB 0.1%