45 _m_indivPols_PolicyPureVector.at(agI) = pol;
56 , _m_indivPols_PolicyPureVector(pu.GetNrAgents())
68 , _m_indivPols_PolicyPureVector(pu.GetNrAgents())
89 vector<PolicyPureVector*>::const_iterator it =
91 vector<PolicyPureVector*>::const_iterator last =
123 vector<PolicyPureVector*>::iterator it =
125 vector<PolicyPureVector*>::iterator last =
142 if (
this == &o)
return *
this;
169 (*this_pol) = (*o_pol);
187 throw E(
" JPolComponent_VectorImplementation::RandomInitialization(agI) this_pol is 0!?");
205 throw E(
" JPolComponent_VectorImplementation::ZeroInitialization(agI) this_pol is 0!?");
215 bool carry_over =
true;
217 Index agentI = nrAgents - 1;
236 vector<LIndex> nrElems(2);
240 vector<LIndex> indexVec(2);
242 vector<LIndex> nrIndPol(nrAgents);
243 vector<LIndex> individualIndices(nrAgents);
244 for(
int k=0;k<nrAgents;++k)
252 LIndex i=individualIndices[0];
254 for(
int k=1;k<nrAgents;++k)
257 nrElems[0]*=nrIndPol[k-1];
258 nrElems[1]=nrIndPol[k-1];
261 indexVec[1]=individualIndices[k];
278 vector<LIndex> nrElems(2);
282 vector<LIndex> indexVec(2);
285 vector<LIndex> nrIndPol(nrAgents);
286 for(
int k=0;k<nrAgents;++k)
289 nrElems[0]*=nrIndPol[k];
295 for(
int k=nrAgents-1;k>0;--k)
297 nrElems[0]*=nrIndPol[k-1];
298 nrElems[1]=nrIndPol[k-1];
315 Index ohI, aThisAgent, ja_i;
334 const vector<Index> &individualDomainIndices =
_m_PTPDP->
335 JointToIndividualPolicyDomainIndicesRef(jdI,
_m_idc );
340 ohI=individualDomainIndices[agentI];
349 vector<Index> individualDomainIndices =
_m_PTPDP->
350 JointToIndividualPolicyDomainIndices(jdI,
_m_idc);
353 if( individualDomainIndices.size() !=
354 static_cast<vector<Index>::size_type
>(nrA) )
357 ss<<
" JPolComponent_VectorImplementation::GetJointActionIndex Dimension "<<
358 "mismatch, jdI has " << individualDomainIndices.size() <<
359 "individual actions, but there are "<< nrA <<
" agents!\n";
363 vector<Index> individualActionIndices(individualDomainIndices.size());
364 for(
Index agentI=0; agentI < individualDomainIndices.size();
367 ohI=individualDomainIndices[agentI];
369 individualActionIndices[agentI]=aThisAgent;
373 individualActionIndices);
382 vector<PolicyPureVector*>::iterator it =
384 vector<PolicyPureVector*>::iterator last =
397 throw E(
"JPolComponent_VectorImplementation:SoftPrintBrief - Error!!! _m_PTPDP==0");
400 ss <<
"JPolComponent_VectorImplementation index " <<
GetIndex()
405 agentI < static_cast< vector<PolicyPureVector*>::size_type>
410 ss <<
"Policy for agent " << agentI <<
" (index "
420 throw E(
"JPolComponent_VectorImplementation::SoftPrintBrief - Error!!! _m_PTPDP==0");