|
MultiAgentDecisionProcess
|
ValueFunctionDecPOMDPDiscrete represents and calculates the value function of a (pure) joint policy for a discrete Dec-POMDP. More...
#include <ValueFunctionDecPOMDPDiscrete.h>
Public Member Functions | |
| template<bool CACHED> | |
| double | CalculateV () |
| Calculates the value function, which is stored and returns V(0). call with "CalculateV<true>()" for the cached version or call with "CalculateV<false>()" for the non-cached version. More... | |
| ValueFunctionDecPOMDPDiscrete (PlanningUnitDecPOMDPDiscrete &p, JointPolicyDiscretePure &jp) | |
| Constructor. More... | |
| ValueFunctionDecPOMDPDiscrete (PlanningUnitDecPOMDPDiscrete *p, JointPolicyDiscretePure *jp) | |
| Constructor. More... | |
| ValueFunctionDecPOMDPDiscrete (const ValueFunctionDecPOMDPDiscrete &a) | |
| Copy constructor. More... | |
| ~ValueFunctionDecPOMDPDiscrete () | |
| Destructor. More... | |
Public Member Functions inherited from ValueFunction | |
| virtual | ~ValueFunction () |
| Destructor. More... | |
Private Types | |
| typedef boost::numeric::ublas::matrix < double > | Matrix |
Private Member Functions | |
| template<bool CACHED> | |
| double | CalculateVsjohRecursively (Index sI, Index johI, unsigned int stage) |
| Function used by CalculateV0Recursively. More... | |
| double | CalculateVsjohRecursively_cached (Index sI, Index johI, unsigned int stage) |
| Wraps and adds caching to method CalculateVsjohRecursively() More... | |
| void | CreateV () |
| Creates a brand new value function (deleting the current one if it exists). More... | |
| void | DeleteV () |
| Deletes the current value function. More... | |
| Index | GetCombinedIndex (Index sI, Index JOHI) const |
| JointPolicyDiscretePure * | GetJPol () const |
| PlanningUnitDecPOMDPDiscrete * | GetPU () const |
| Return a reference to the planning unit. More... | |
| bool | IsCached (Index sI, Index JOHI) |
| void | SetCached (Index sI, Index JOHI) |
Private Attributes | |
| std::set< Index > | _m_cached |
| size_t | _m_h |
| JointPolicyDiscretePure * | _m_jointPolicyDiscretePure |
| JointPolicyDiscretePure * | _m_jpol |
| size_t | _m_nrJO |
| size_t | _m_nrJOH |
| size_t | _m_nrS |
| Matrix * | _m_p_V |
| PlanningUnitDecPOMDPDiscrete * | _m_planningUnitDecPOMDPDiscrete |
| PlanningUnitDecPOMDPDiscrete * | _m_pu |
| bool | _m_V_initialized |
ValueFunctionDecPOMDPDiscrete represents and calculates the value function of a (pure) joint policy for a discrete Dec-POMDP.
|
private |
| ValueFunctionDecPOMDPDiscrete::ValueFunctionDecPOMDPDiscrete | ( | PlanningUnitDecPOMDPDiscrete & | p, |
| JointPolicyDiscretePure & | jp | ||
| ) |
| ValueFunctionDecPOMDPDiscrete::ValueFunctionDecPOMDPDiscrete | ( | PlanningUnitDecPOMDPDiscrete * | p, |
| JointPolicyDiscretePure * | jp | ||
| ) |
| ValueFunctionDecPOMDPDiscrete::ValueFunctionDecPOMDPDiscrete | ( | const ValueFunctionDecPOMDPDiscrete & | a | ) |
Copy constructor.
References _m_jpol, _m_nrJOH, _m_p_V, _m_pu, and _m_V_initialized.
| ValueFunctionDecPOMDPDiscrete::~ValueFunctionDecPOMDPDiscrete | ( | ) |
Destructor.
References DeleteV().
| template double ValueFunctionDecPOMDPDiscrete::CalculateV< false > | ( | ) |
Calculates the value function, which is stored and returns V(0). call with "CalculateV<true>()" for the cached version or call with "CalculateV<false>()" for the non-cached version.
References _m_nrS, _m_pu, CalculateVsjohRecursively_cached(), CreateV(), PlanningUnitMADPDiscrete::GetInitialStateProbability(), GetJPol(), Globals::INITIAL_JOHI, and JointPolicy::Print().
Referenced by JESPExhaustivePlanner::ExhaustiveBestResponse(), BruteForceSearchPlanner::Plan(), and DICEPSPlanner::Plan().
|
private |
Function used by CalculateV0Recursively.
This recursively Calculates the expected payoff of the joint policy starting from state sI and joint observation history johI.
References _m_h, _m_nrJO, _m_nrS, _m_pu, CalculateVsjohRecursively_cached(), JointPolicyDiscretePure::GetJointActionIndex(), GetJPol(), PlanningUnitMADPDiscrete::GetObservationProbability(), PlanningUnitDecPOMDPDiscrete::GetReward(), PlanningUnitMADPDiscrete::GetSuccessorJOHI(), and PlanningUnitMADPDiscrete::GetTransitionProbability().
|
inlineprivate |
Wraps and adds caching to method CalculateVsjohRecursively()
References _m_p_V, IsCached(), and SetCached().
Referenced by CalculateV(), and CalculateVsjohRecursively().
|
private |
Creates a brand new value function (deleting the current one if it exists).
References _m_nrJOH, _m_nrS, _m_p_V, _m_V_initialized, and DeleteV().
Referenced by CalculateV().
|
private |
Deletes the current value function.
References _m_cached, _m_p_V, and _m_V_initialized.
Referenced by CreateV(), and ~ValueFunctionDecPOMDPDiscrete().
Referenced by IsCached(), and SetCached().
|
inlineprivate |
References _m_jpol.
Referenced by CalculateV(), and CalculateVsjohRecursively().
|
inlineprivatevirtual |
References _m_cached, and GetCombinedIndex().
Referenced by CalculateVsjohRecursively_cached().
References _m_cached, and GetCombinedIndex().
Referenced by CalculateVsjohRecursively_cached().
|
private |
Referenced by DeleteV(), IsCached(), and SetCached().
|
private |
Referenced by CalculateVsjohRecursively(), and ValueFunctionDecPOMDPDiscrete().
|
private |
|
private |
Referenced by GetJPol(), and ValueFunctionDecPOMDPDiscrete().
|
private |
Referenced by CalculateVsjohRecursively(), and ValueFunctionDecPOMDPDiscrete().
|
private |
Referenced by CreateV(), and ValueFunctionDecPOMDPDiscrete().
|
private |
Referenced by CalculateV(), CalculateVsjohRecursively(), CreateV(), and ValueFunctionDecPOMDPDiscrete().
|
private |
Referenced by CalculateVsjohRecursively_cached(), CreateV(), DeleteV(), and ValueFunctionDecPOMDPDiscrete().
|
private |
|
private |
Referenced by CalculateV(), CalculateVsjohRecursively(), GetPU(), and ValueFunctionDecPOMDPDiscrete().
|
private |
Referenced by CreateV(), DeleteV(), and ValueFunctionDecPOMDPDiscrete().