reinforce-0.0.0.1: Reinforcement learning in Haskell

Copyright(c) Sentenai 2017
LicenseBSD3
Maintainersam@sentenai.com
Stabilityexperimental
Safe HaskellNone
LanguageHaskell2010

Environments.Gym.ClassicControl.PendulumV0

Description

The inverted pendulum swingup problem is a classic problem in the control literature. In this version of the problem, the pendulum starts in a random position, and the goal is to swing it up so it stays upright.

https://gym.openai.com/envs/Pendulum-v0

Synopsis

Documentation

newtype Action Source #

Force to exert on the pendulum

Constructors

Action 

Fields

Instances

Eq Action Source # 

Methods

(==) :: Action -> Action -> Bool #

(/=) :: Action -> Action -> Bool #

Ord Action Source # 
Show Action Source # 
Generic Action Source # 

Associated Types

type Rep Action :: * -> * #

Methods

from :: Action -> Rep Action x #

to :: Rep Action x -> Action #

Hashable Action Source # 

Methods

hashWithSalt :: Int -> Action -> Int #

hash :: Action -> Int #

ToJSON Action Source # 
(MonadIO t, MonadThrow t) => MonadEnv (EnvironmentT t) State Action Reward Source # 
type Rep Action Source # 
type Rep Action = D1 (MetaData "Action" "Environments.Gym.ClassicControl.PendulumV0" "reinforce-0.0.0.1-BYNakn0URySEY5wecxfdnO" True) (C1 (MetaCons "Action" PrefixI True) (S1 (MetaSel (Just Symbol "getAction") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Float)))

type Runner s a x = RunnerT s a IO x Source #

type alias of RunnerT in IO

data State Source #

State of a PendulumV0 environment FIXME: give these semantics or move to a tuple?

Constructors

State 

Instances

Eq State Source # 

Methods

(==) :: State -> State -> Bool #

(/=) :: State -> State -> Bool #

Ord State Source # 

Methods

compare :: State -> State -> Ordering #

(<) :: State -> State -> Bool #

(<=) :: State -> State -> Bool #

(>) :: State -> State -> Bool #

(>=) :: State -> State -> Bool #

max :: State -> State -> State #

min :: State -> State -> State #

Show State Source # 

Methods

showsPrec :: Int -> State -> ShowS #

show :: State -> String #

showList :: [State] -> ShowS #

Generic State Source # 

Associated Types

type Rep State :: * -> * #

Methods

from :: State -> Rep State x #

to :: Rep State x -> State #

Hashable State Source # 

Methods

hashWithSalt :: Int -> State -> Int #

hash :: State -> Int #

FromJSON State Source # 
(MonadIO t, MonadThrow t) => MonadEnv (EnvironmentT t) State Action Reward Source # 
type Rep State Source # 
type Rep State = D1 (MetaData "State" "Environments.Gym.ClassicControl.PendulumV0" "reinforce-0.0.0.1-BYNakn0URySEY5wecxfdnO" False) (C1 (MetaCons "State" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "cosTheta") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Float)) ((:*:) (S1 (MetaSel (Just Symbol "sinTheta") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Float)) (S1 (MetaSel (Just Symbol "thetaDot") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Float)))))

type EnvironmentT t = GymEnvironmentT State Action t Source #

Alias to GymEnvironmentT with PendulumV0 type dependencies