|
Orbital library | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorbital.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 Form| Nested 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 AlgorithmicTemplatep - 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 | |||||||||