42 "The Dec-Tiger Problem",
43 "A toy problem, 2-agent Dec-POMDP. 2 agents have to select 1 out of 2 doors, behind one is a tiger, behind the other treasure.",
47 NUMBER_OF_OBSERVATIONS(2),
58 if(
DEBUG_CJA) cout <<
"\n>>>Creating joint actions and set...\n"<<endl;
61 if(
DEBUG_CA) cout <<
"testNRJA="<<testNRJA<<endl;
68 if(
DEBUG_CO) cout <<
"testNRJO="<<testNRJO<<endl;
73 if(
DEBUG_PDT) cout <<
"\n>>>Adding Transition model...\n"<<endl;
78 if(
DEBUG_PDT) cout <<
"\n>>>Adding Observation model...\n"<<endl;
86 if(
DEBUG_PDT) cout <<
"Model created..."<<endl;
96 if(
DEBUG_CA) cout <<
"Creating actions and action sets..."<<endl;
97 size_t nrJointActions = 1;
100 if(
DEBUG_CA) cout <<
"\nCreating agent "<<agentIndex<<
"'s actions..."<<endl;
102 nrJointActions *= nrActionsThisAgent;
103 if(
DEBUG_CA) cout <<
"inserting this agent's nrActions...("<<nrActionsThisAgent<<
")"<<endl;
105 if(
DEBUG_CA) cout <<
"inserting this new(=empty) actionSet..."<<endl;
106 vector<ActionDiscrete> av_temp;
109 if(
DEBUG_CA) cout <<
"inserted the new(=empty) actionSet"<<endl;
110 for(
Index actionI=0; actionI < nrActionsThisAgent; actionI++)
112 if(
DEBUG_CA) cout <<
"\nCreating action"<<actionI<<
":";
116 string strActionI, strAgentI;
126 case(
LISTEN): whatAction =
"Listen";
128 case(
OPENLEFT): whatAction =
"OpenLeft";
130 case(
OPENRIGHT):whatAction =
"OpenRight";
133 name +=
":" + whatAction;
135 string descr(
"Action ");
136 descr += whatAction+
" - #";
137 descr += strActionI +
" of agent " + strAgentI;
152 size_t nrJointObservations = 1;
156 nrJointObservations *= nrObservationsThisAgent;
159 vector<ObservationDiscrete> ov_temp;
162 for(
Index obsI=0; obsI < nrObservationsThisAgent; obsI++)
166 string strObsI, strAgentI;
176 case(
HEARLEFT): whatObs =
"HearLeft";
181 name +=
":" + whatObs;
183 string descr(
"Observation ");
184 descr += whatObs +
" - #";
185 descr += strObsI +
" of agent " + strAgentI;
204 if(
DEBUG_TM) cout <<
"ProblemDecTiger::FillTransitionModel() - calling SetTransitionProbability("<<s1<<
", "<<ja<<
", "<<s2<<
", 0.5)"<<endl;
228 if (s1 ==
SLEFT) prob = 0.85*0.85;
229 else if (s1 ==
SRIGHT) prob = 0.15*0.15;
233 if (s1 ==
SLEFT) prob = 0.85*0.15;
234 else if (s1 ==
SRIGHT) prob = 0.15*0.85;
238 if (s1 ==
SLEFT) prob = 0.85*0.15;
239 else if (s1 ==
SRIGHT) prob = 0.15*0.85;
243 if (s1 ==
SLEFT) prob = 0.15*0.15;
244 else if (s1 ==
SRIGHT) prob = 0.85*0.85;