![]() |
BackupPURPOSE
Backup for a given belief (continuous state version).
SYNOPSIS
function [alpha a v]=Backup(P,b,V,Alphas_j_a_o)
DESCRIPTION
Backup for a given belief (continuous state version). Belief backup function for POMDP defined on continuous state spaces. The backup operator is introduced in Section 4 (page 12) but without any assumption on the type of state space. This function corresponds to the particularization of the backup for continuous state spaces given on Section 5.2 of the paper (pages 15 and 16). This function basically computes one Alpha-element for each action and selects the one that gives higher value for the given belief. Parameters: P: The POMDP b: The belief V: The previous policy/value function/set of alpha-elements. Alphas_j_a_o: The set of pre-compute alpha_j_a_o elements. If empty, the alpha_j_a_o elements are computed on the fly. CROSS-REFERENCE INFORMATION
This function calls:
SOURCE CODE
0001 function [alpha a v]=Backup(P,b,V,Alphas_j_a_o) 0002 % Backup for a given belief (continuous state version). 0003 % 0004 % Belief backup function for POMDP defined on continuous state spaces. 0005 % The backup operator is introduced in Section 4 (page 12) but without any 0006 % assumption on the type of state space. 0007 % This function corresponds to the particularization of the backup for 0008 % continuous state spaces given on Section 5.2 of the 0009 % paper (pages 15 and 16). 0010 % 0011 % This function basically computes one Alpha-element for each action and 0012 % selects the one that gives higher value for the given belief. 0013 % 0014 % Parameters: 0015 % P: The POMDP 0016 % b: The belief 0017 % V: The previous policy/value function/set of alpha-elements. 0018 % Alphas_j_a_o: The set of pre-compute alpha_j_a_o elements. If empty, 0019 % the alpha_j_a_o elements are computed on the fly. 0020 0021 A=get(P,'ActionSpace'); % This is suposed to be discrete 0022 if isa(A,'CSpace') 0023 error('The Action Space must be discrete at this point'); 0024 end 0025 Elements_a=arrayfun(@(a)(ComputeAlpha_a(P,V,b,a,Alphas_j_a_o)),1:dim(A),'UniformOutput',false); 0026 fprintf('a'); 0027 [v na]=max(cellfun(@(ea)(Expectation(b,ea)),Elements_a)); 0028 fprintf('c'); 0029 alpha=Compress(Elements_a{na},P.maxAlphaC); 0030 v=Expectation(b,alpha); 0031 a=A(na); |