GithubHelp home page GithubHelp logo

yifanshi86 / dyna-gym Goto Github PK

View Code? Open in Web Editor NEW

This project forked from sureli/dyna-gym

0.0 1.0 0.0 1.15 MB

This is a pip package implementing Reinforcement Learning algorithms in non-stationary environments supported by the OpenAI Gym toolkit.

Python 100.00%

dyna-gym's Introduction

Dyna Gym

This is a pip package implementing Reinforcement Learning algorithms in non-stationary environments supported by the OpenAI Gym toolkit. It contains both the dynamic environments i.e. whose transition and reward functions depend on the time and some algorithms implementations.

Environments

The implemented environments are the following and can be found at dyna-gym/dyna_gym/envs. For each environment, the id given as argument to the gym.make function is writen in bold.

  • CartPoleDynamicTransition-v0. A cart pole environment with a time-varying direction of the gravitational force;

Cart pole in the CartPoleDynamicTransition-v0 environment. The red bar indicates the direction of the gravitational force.

  • CartPoleDynamicReward-v1. A cart pole environment with a double objective: to balance the pole and to keep the position of the cart along the x-axis within a time-varying interval;

Cart pole in the CartPoleDynamicReward-v1 environment. The two red dots correspond to the limiting interval.

  • CartPoleDynamicReward-v2. A cart pole environment with a time-varying cone into which the pole should balance.

Cart pole in the CartPoleDynamicReward-v2 environment. The two black lines correspond to the limiting angle interval.

Algorithms

The implemented algorithms are the following and can be found at dyna-gym/dyna_gym/agents.

  • Random action selection;
  • Vanilla MCTS algorithm (random tree policy);
  • UCT algorithm;
  • OLUCT algorithm;
  • Online Asynchronous Dynamic Programming with tree structure.

Installation

Type the following commands in order to install the package:

cd dyna-gym
pip install -e .

Examples are provided in the example/ repository. You can run them using your installed version of Python.

Dependencies

Edit June 12 June 2018.

The package depends on several classic Python libraries. An up to date list is the following: copy; csv; gym; itertools; logging; math; matplotlib; numpy; random; setuptools; statistics.

Non classic libraries are also used by some algorithms: scikit-learn (see website); LWPR (see git repository for a Python 3 binding).

dyna-gym's People

Contributors

erwanlecarpentier avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.