reinforce-0.0.0.1: Reinforcement learning in Haskell

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

Environments.Gym.ClassicControl.MountainCarContinuousV0

Description

Environment description: > A car is on a one-dimensional track, positioned between two "mountains". > The goal is to drive up the mountain on the right; however, the car's > engine is not strong enough to scale the mountain in a single pass. > Therefore, the only way to succeed is to drive back and forth to build up > momentum. Here, the reward is greater if you spend less energy to reach the > goal. > > MountainCarContinuous-v0 defines "solving" as getting average reward of > 90.0 over 100 consecutive trials. > > This problem was first described by Andrew Moore in his PhD thesis [Moore90]. > > Here, this is the continuous version.

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

Synopsis

Documentation

data Action Source #

Actions a car can perform to get out of it's predicament

Constructors

MoveLeft 
DoNothing 
MoveRight 

Instances

Bounded Action Source # 
Enum Action Source # 
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 # 
(MonadThrow t, MonadIO t) => MonadEnv (EnvironmentT t) State Action Reward Source # 
type Rep Action Source # 
type Rep Action = D1 (MetaData "Action" "Environments.Gym.ClassicControl.MountainCarV0" "reinforce-0.0.0.1-BYNakn0URySEY5wecxfdnO" False) ((:+:) (C1 (MetaCons "MoveLeft" PrefixI False) U1) ((:+:) (C1 (MetaCons "DoNothing" PrefixI False) U1) (C1 (MetaCons "MoveRight" PrefixI False) U1)))

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

type alias of RunnerT in IO

data State Source #

State of a car stuck between two hills

Constructors

State 

Fields

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 # 
(MonadThrow t, MonadIO t) => MonadEnv (EnvironmentT t) State Action Reward Source # 
type Rep State Source # 
type Rep State = D1 (MetaData "State" "Environments.Gym.ClassicControl.MountainCarV0" "reinforce-0.0.0.1-BYNakn0URySEY5wecxfdnO" False) (C1 (MetaCons "State" PrefixI True) ((:*:) (S1 (MetaSel (Just Symbol "position") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Float)) (S1 (MetaSel (Just Symbol "velocity") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Float))))

type EnvironmentT t = GymEnvironmentT State Action t Source #

Alias to GymEnvironmentT with MountainCarV0 type dependencies