DiscretizeObsModel
PURPOSE 
Discretizes the observation model on the observation side.
SYNOPSIS 
function CS_DO_OM=DiscretizeObsModel(CS_CO_OM,V,ba,nSamples)
DESCRIPTION 
CROSS-REFERENCE INFORMATION 
This function calls:
- Values Belief value with all alpha-elements in the Policy.
- size Returns the size of a policy.
- Update Belief evolution under an observation model.
- Update Belief evolution under an observation model.
- get Get for GBeliefs.
- Update Belief evolution under an observation model.
- GMixture Gaussian mixture constructor.
- get Get function for the GMixture object.
- get Gaussian object get function.
- CS_DO_ObsModel CS_DO_ObsModel constructor.
- Update Belief evolution under an observation model.
- get Get function for CS_CO_CA_POMDPs.
- get Get function for CS_CO_DA_POMDPs.
- get Get function for CS_CO_POMDPs.
- get Get function for CS_DO_CA_POMDPs.
- Discretize Discretizes the state space of the CS_DO_DA_POMDP.
- get Get function for CS_DO_DA_POMDPs.
- get Get function for CS_POMDPs.
- get Get function for DS_CO_CA_POMDPs.
- get Get function for DS_CO_DA_POMDPs.
- get Get function for DS_DO_CA_POMDPs.
- get Get function for DS_DO_DA_POMDPs.
- get Get functio for POMDPs.
- Discretize Converts a continuous space into a discrete one.
- UniformProbability Uniform probability value on a continuous space.
- dim Dimensionality of a continuous space.
- max Upper bound of a CSpace
- min Lower bound of a CSpace
- DSpace DSpace constructor.
- UniformProbability Uniform probability value on a discrete space.
- dim Dimensionality of a discrete space.
This function is called by:
SOURCE CODE 
0001 function CS_DO_OM=DiscretizeObsModel(CS_CO_OM,V,ba,nSamples)
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014 nj=size(V);
0015 oData=cell(1,nj);
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033
0034 if dim(CS_CO_OM.O)==1
0035 oMin=min(CS_CO_OM.O);
0036 oMax=max(CS_CO_OM.O);
0037 oStep=(oMax-oMin)/(nSamples-1);
0038 os=oMin:oStep:oMax;
0039 else
0040 DO=Discretize(CS_CO_OM.O,nSamples);
0041 os=zeros(dim(DO),nSamples);
0042 for i=1:nSamples
0043 os(:,i)=DO{i};
0044 end
0045 end
0046
0047 nm=zeros(1,nj);
0048 po=UniformProbability(CS_CO_OM.O);
0049
0050 for i=1:nSamples
0051 o=os(:,i);
0052
0053 [bao Os]=Update(CS_CO_OM,ba,o,CS_CO_OM.S);
0054 [v j]=max(Values(V,bao));
0055
0056 if nm(j)==0
0057 oData{j}=get(Os,'w')/po;
0058 else
0059 oData{j}=oData{j}+get(Os,'w')/po;
0060 end
0061 nm(j)=nm(j)+1;
0062 end
0063
0064
0065
0066
0067 ps=UniformProbability(CS_CO_OM.S);
0068 for i=1:nj
0069 if nm(i)==0
0070 oData{i}=GMixture();
0071 else
0072 oData{i}=GMixture(oData{i}*(ps/nSamples),CS_CO_OM.gS);
0073 end
0074 end
0075
0076 CS_DO_OM=CS_DO_ObsModel(CS_CO_OM.S,DSpace(nj),oData);
0077
|