MultiAgentDecisionProcess
BGforStageCreation Class Reference

BGforStageCreation is a class that provides some functions to aid the construction of Bayesian games for a stage of a Dec-POMDP. More...

#include <BGforStageCreation.h>

Public Member Functions

virtual ~BGforStageCreation ()
 Destructor. More...
 

Protected Member Functions

void Fill_FirstOHtsI (const PlanningUnitMADPDiscrete *pu, Index ts, std::vector< Index > &firstOHtsI)
 Extends a previous policy jpolPrevTs to the next stage. More...
 
void Fill_jaI_Array (const PlanningUnitMADPDiscrete *pu, Index ts, Index joIs[], const boost::shared_ptr< const JointPolicyDiscretePure > &jpolPrevTs, Index *jaI_arr)
 Gets the joint observation history from joI_Array. More...
 
void Fill_joI_Array (const PlanningUnitMADPDiscrete *pu, const Index ts, const std::vector< Index > &indTypes, const std::vector< Index > &firstOHtsI, Index *joI_arr)
 Fills the array of joint observation given the individual types and offsets (firstOHtsI). More...
 

Detailed Description

BGforStageCreation is a class that provides some functions to aid the construction of Bayesian games for a stage of a Dec-POMDP.

this is a dummy class that only contains static functions. (but by inheriting from this, derived classes can use these functions)

Constructor & Destructor Documentation

virtual BGforStageCreation::~BGforStageCreation ( )
inlinevirtual

Destructor.

Member Function Documentation

void BGforStageCreation::Fill_FirstOHtsI ( const PlanningUnitMADPDiscrete pu,
Index  ts,
std::vector< Index > &  firstOHtsI 
)
protected

Extends a previous policy jpolPrevTs to the next stage.

This function extends a previous policy jpolPrevTs for ts-1 with the behavior specified by the policy of the BayesianGame for time step ts (jpolBG). jpolPrevTs - a joint policy for the DecPOMDP up to time step ts-1 (i.e. with depth=ts-2) jpolBG - a joint policy for the BayesianGame for time step ts. nrOHts - a vector that specifies the number of observation histories for eac agents at time step ts. firstOHtsI - a vector that specifies the index of the first time step ts observation history for each agent (this functions as the offset in the conversion BG->DecPOMDP index conversion).

returns a new JointPolicyDiscretePure (so it must be explicitly deleted) PartialJointPolicyDiscretePure* ConstructExtendedPolicy( PartialJointPolicyDiscretePure & jpolPrevTs , JointPolicyDiscretePure& jpolBG , std::vector<size_t>& nrOHts , std::vector<Index>& firstOHtsI);Fills the (empty) vector firstOHtsI, with the indices (for each agent) of the first observation history of time step ts.

References Globals::CastLIndexToIndex(), PlanningUnitMADPDiscrete::GetFirstObservationHistoryIndex(), and PlanningUnitMADPDiscrete::GetNrAgents().

void BGforStageCreation::Fill_jaI_Array ( const PlanningUnitMADPDiscrete pu,
Index  ts,
Index  joIs[],
const boost::shared_ptr< const JointPolicyDiscretePure > &  jpolPrevTs,
Index jaI_arr 
)
protected

Gets the joint observation history from joI_Array.

Fills the array jaI_arr with the joint actions taken for the JOHs as specified by the array of joint observations joIs according to jpolPrevTs.

References PlanningUnitMADPDiscrete::GetSuccessorJOHI().

void BGforStageCreation::Fill_joI_Array ( const PlanningUnitMADPDiscrete pu,
const Index  ts,
const std::vector< Index > &  indTypes,
const std::vector< Index > &  firstOHtsI,
Index joI_arr 
)
protected

Fills the array of joint observation given the individual types and offsets (firstOHtsI).

References PlanningUnitMADPDiscrete::GetNrAgents(), PlanningUnitMADPDiscrete::GetObservationHistoryArrays(), and PlanningUnitMADPDiscrete::IndividualToJointObservationIndices().