Safe Haskell | None |
---|---|
Language | Haskell2010 |
- data Q_Opts = Q_Opts {}
- defaultOpts :: Q_Opts
- type TD_Number = Double
- type Q s a = M s a TD_Number
- emptyQ :: TD_Number -> Q s a
- toV :: (Bounded a, Enum a, Eq a, Hashable a, Eq s, Hashable s) => Q s a -> HashMap s TD_Number
- class (Monad m, Eq s, Hashable s, Show s, Eq a, Hashable a, Enum a, Bounded a, Show a) => TD_Problem pr m s a | pr -> m, pr -> s, pr -> a where
- queryQ :: (Hashable s, Hashable k, MonadState (M s k v) f, Eq s, Eq k, Enum k, Bounded k) => s -> f [(k, v)]
- modifyQ :: (TD_Problem pr m s a, MonadTrans t, MonadState (Q s a) (t m)) => pr -> s -> a -> (TD_Number -> TD_Number) -> t m ()
- action :: (TD_Problem pr m1 s1 a, MonadRnd g m, Hashable s, MonadState (M s a num) m, Real num, Fractional num, Eq s) => pr -> s -> num -> m (a, num)
- transition :: (TD_Problem pr m b a, MonadTrans t, MonadState (Q b a) (t m)) => pr -> b -> a -> t m b
- q_learn :: (MonadRnd g m, TD_Problem pr m s a) => Q_Opts -> Q s a -> s -> pr -> m (s, Q s a)
- q_exec :: (MonadRnd g m, TD_Problem pr m s a) => Q_Opts -> Q s a -> s -> pr -> m s
Documentation
defaultOpts :: Q_Opts Source #
toV :: (Bounded a, Enum a, Eq a, Hashable a, Eq s, Hashable s) => Q s a -> HashMap s TD_Number Source #
class (Monad m, Eq s, Hashable s, Show s, Eq a, Hashable a, Enum a, Bounded a, Show a) => TD_Problem pr m s a | pr -> m, pr -> s, pr -> a where Source #
queryQ :: (Hashable s, Hashable k, MonadState (M s k v) f, Eq s, Eq k, Enum k, Bounded k) => s -> f [(k, v)] Source #
modifyQ :: (TD_Problem pr m s a, MonadTrans t, MonadState (Q s a) (t m)) => pr -> s -> a -> (TD_Number -> TD_Number) -> t m () Source #
action :: (TD_Problem pr m1 s1 a, MonadRnd g m, Hashable s, MonadState (M s a num) m, Real num, Fractional num, Eq s) => pr -> s -> num -> m (a, num) Source #
transition :: (TD_Problem pr m b a, MonadTrans t, MonadState (Q b a) (t m)) => pr -> b -> a -> t m b Source #