36 #define DEBUG_PerseusBGPlanner 0
37 #define PerseusBGPlanner_alternativeSampling 0
45 _m_backupType(params.bgBackupType)
75 #if PerseusBGPlanner_alternativeSampling
101 for(
int k=0;k<nrB;++k)
111 Q1[a].push_back(alpha);
112 Qalphas.push_back(alpha);
118 cout <<
"Added vectors for " << k <<
" (V " << VBalpha[k]
135 vector<vector<double> > QB;
136 for(
unsigned int a=0;a!=Q.size();++a)
144 vector<bool> stillNeedToBeImproved(nrB,
true);
153 while(nrNotImproved!=0)
165 double x=S[k]->InnerProduct(alpha.GetValues());
171 #if DEBUG_PerseusBGPlanner
172 cout <<
"Getting n-1 vector for action " << a <<
", belief "
173 << k <<
" (" << x <<
" < " <<oldValue <<
")" << endl;
180 cout <<
"Added vector for action " << a <<
", belief "
181 << k <<
" (Q " << x <<
" >= " << oldValue <<
")"
186 Q1[a].push_back(alpha);
187 Qalphas.push_back(alpha);
192 int nrImprovedByAlpha=0;
193 for(
int b=0;b!=nrB;b++)
194 if(stillNeedToBeImproved[b] && VBalpha[b]>=VB[b])
196 stillNeedToBeImproved[b]=
false;
202 cout <<
"Added vectors for " << k <<
" (V " << VBalpha[k]
203 <<
" improved " << nrImprovedByAlpha <<
")" << endl;
222 vector<bool> stillNeedToBeImproved(nrB,
true);
233 while(nrNotImproved!=0)
244 double x=S[k]->InnerProduct(alpha.GetValues());
248 #if DEBUG_PerseusBGPlanner
249 cout <<
"Getting n-1 vector for action " << a <<
", belief "
250 << k <<
" (" << x <<
" < " << VB[k] <<
")" << endl;
257 cout <<
"Added vector for action " << a <<
", belief "
258 << k <<
" (Q " << x <<
" >= " << VB[k] <<
")"
264 Q1[a].push_back(alpha);
265 Qalphas.push_back(alpha);
270 int nrImprovedByAlpha=0;
271 for(
int b=0;b!=nrB;b++)
272 if(stillNeedToBeImproved[b] && VBalpha[b]>=VB[b])
274 stillNeedToBeImproved[b]=
false;
280 cout <<
"Added vectors for " << k <<
" (V " << VBalpha[k]
281 <<
" improved " << nrImprovedByAlpha <<
")" << endl;