Institut de Robòtica i Informàtica Industrial

CS_DA_ActionModel

PURPOSE ^

CS_DA_ActionModel constructor.

SYNOPSIS ^

function AM=CS_DA_ActionModel(varargin)

DESCRIPTION ^

   CS_DA_ActionModel constructor.

   Defines an Action Model on continuous state and discrete action spaces.
   Parameters:
     S: The continuous state space
     A: The discrete action space
     mean: Cell array with the displacements in state space produce for 
           each action.
     Sigma: Noise for each action (a single Covariance matrix if all
            actions produce same noise).

CROSS-REFERENCE INFORMATION ^

This function calls:
  • size Returns the size of a policy.
  • ActionModel Action Model constructor.
  • Gaussian Gaussian construtor.
  • dim Dimensionality of a continuous space.
  • dim Dimensionality of a discrete space.
This function is called by:

SOURCE CODE ^

0001 function AM=CS_DA_ActionModel(varargin)
0002 %   CS_DA_ActionModel constructor.
0003 %
0004 %   Defines an Action Model on continuous state and discrete action spaces.
0005 %   Parameters:
0006 %     S: The continuous state space
0007 %     A: The discrete action space
0008 %     mean: Cell array with the displacements in state space produce for
0009 %           each action.
0010 %     Sigma: Noise for each action (a single Covariance matrix if all
0011 %            actions produce same noise).
0012 
0013 
0014   switch nargin
0015     case 1
0016       if isa(varargin{1},'CS_DA_ActionModel')
0017         AM=varargin{1};
0018       else
0019         error('Wrong parameter type in CS_DA_ActionModel constructor');
0020       end
0021     case 4
0022       
0023       if isa(varargin{1},'CSpace')
0024         AM.S=varargin{1};
0025       else
0026         error('Wrong parameter type in CS_DA_ActionModel constructor');
0027       end
0028       
0029       if isa(varargin{2},'DSpace')
0030         AM.A=varargin{2};
0031       else
0032         error('Wrong parameter type in CS_DA_ActionModel constructor');
0033       end
0034       
0035       if isa(varargin{3},'cell') && isa(varargin{4},'cell') 
0036         na=dim(AM.A);
0037         if na~=size(varargin{3},2)
0038           error('Missmatch size in CS_DA_ActionModel constructor');
0039         end
0040         AM.gA=cell(1,na);
0041         sn=size(varargin{4},2);
0042         for i=1:na
0043           if sn==1 % Same noise for all actions
0044             AM.gA{i}=Gaussian(varargin{3}{i},varargin{4}{1});
0045           else
0046             AM.gA{i}=Gaussian(varargin{3}{i},varargin{4}{i});
0047           end
0048         end
0049       else
0050         error('Wrong parameter type in CS_DA_ActionModel constructor');
0051       end
0052       
0053       AMBase=ActionModel();
0054       
0055       AM=class(AM,'CS_DA_ActionModel',AMBase);
0056     otherwise
0057       error('Wrong number of parameters in CS_DA_ActionModel constructor');
0058   end
0059   
0060


Institut de Robòtica i Informàtica Industrial

Generated on Wed 05-Aug-2009 15:05:21 by m2html © 2003