|
Orbital library | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object orbital.algorithm.template.MarkovDecisionProcess
public abstract class MarkovDecisionProcess
Markov decision process (MDP). For closed-loop planning.
f*:S→R is the optimal evaluation function ⇔ f*(s) = mina∈A(s) Qf*(s,a)Which is one form of the Bellman optimality equation.
By the way, a minor generalization is sometimes used that would change a policy to be a stochastic function π:S×A→[0,1] specifying the probability π(s,a) with that it chooses the action a∈A(s) in state s∈S. But this does not usually improve the quality of solution policies.
To apply MDP planning, perform something like:
MarkovDecisionProcess planner = ...; // obtain a plan Function plan = planner.solve(problem); // follow the plan for (Object state = initial; !problem.isSolution(state); state = observe()) { perform(plan.apply(state)); }
MarkovDecisionProblem
,
Hector Geffner. Modelling and Problem Solving,
"A. Barto, S. Bradtke, and S. Singh. Learning to act using real-time dynamic programming. Artificial Intelligence, 72:81-138, 1995.",
Serialized FormNested Class Summary | |
---|---|
static class |
MarkovDecisionProcess.DynamicProgramming
Abstract base class for Markov decision processes solved per dynamic programming. |
Nested classes/interfaces inherited from interface orbital.algorithm.template.AlgorithmicTemplate |
---|
AlgorithmicTemplate.Configuration |
Constructor Summary | |
---|---|
MarkovDecisionProcess()
|
Method Summary | |
---|---|
protected MarkovDecisionProblem |
getProblem()
Get the current problem. |
protected abstract Function |
plan()
Run the planning. |
java.lang.Object |
solve(AlgorithmicProblem p)
Solves an MDP problem. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface orbital.algorithm.template.AlgorithmicTemplate |
---|
complexity, spaceComplexity |
Constructor Detail |
---|
public MarkovDecisionProcess()
Method Detail |
---|
protected final MarkovDecisionProblem getProblem()
public java.lang.Object solve(AlgorithmicProblem p)
solve
in interface AlgorithmicTemplate
p
- algorithmic problem hook class which must fit the concrete
algorithmic template framework implementation.
null
if no solution could be found.Function.apply(Object)
protected abstract Function plan()
null
if no solution could be found.
|
Orbital library 1.3.0: 11 Apr 2009 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |