/Users/fpy/titan-1-5-MBARI/Mers/Estimation/Discrete/ApproximateBeliefState/BSEObjectiveFunction.h

00001 
00002 //
00003 // Copyright (c) 2005           Model-based Embedded and Robotic Systems Group
00004 // All Rights Reserved          Massachusetts Institute of Technology
00005 //
00006 // This software is provided as is. Model-based Embedded and Robotic Systems
00007 // (MERS) group does not assume any responsibility.
00008 //
00009 // Organization:        Model-based Embedded and Robotic Systems Group
00010 //                      Massachusetts Institute of Technology
00011 //
00013 
00014 #ifndef __BSEObjectiveFunction__
00015 #define __BSEObjectiveFunction__
00016 
00017 #include <vector>
00018 #include <map>
00019 #include <math.h>
00020 
00021 #include <Mers/Estimation/Discrete/MEObjectiveFunction.h>
00022 
00023 namespace Mers {
00024         namespace Models {
00025                 namespace Base {
00026                         class BaseModelVariableArray;
00027                         class BaseModelAssignment;
00028                 }
00029         }
00030         namespace Estimation {
00031                 namespace Discrete {
00032                         class Trajectories;
00033                         class MEObjectiveFunction;
00034 
00035                         namespace ApproximateBeliefState {
00036 
00037                         
00049                         class BSEObjectiveFunction : public Mers::Estimation::Discrete::MEObjectiveFunction
00050                         {
00051 
00052                         public:
00053                                 //--------------------------------------------
00054                                 //      CONSTRUCTOR
00055                                 //--------------------------------------------
00056 
00072                                 BSEObjectiveFunction(Mers::Models::Base::BaseModelVariableArray const * dVs,
00073                                                 const std::map<unsigned int, unsigned int> pMap,
00074                                                 std::vector<double> allTransProbs,
00075                                                 std::map<unsigned int,double> sProbs);
00076         
00080                                 virtual ~BSEObjectiveFunction();
00081 
00082                                 //--------------------------------------------
00083                                 //      PUBLIC FUNCTION METHODS
00084                                 //--------------------------------------------
00085 
00086                                 
00087                         protected:
00088 
00089                                 //--------------------------------------------
00090                                 //      PROTECTED FUNCTION METHODS
00091                                 //--------------------------------------------
00092                                 
00104                                  virtual double calculateUtility(std::vector<Mers::Models::Base::BaseModelAssignment const *> & bmAssignments,
00105                                                                                                         int sourceStateIndex = -1) const;
00106 
00107 
00118                                  virtual double calculatePropagationUtility(
00119                                                  std::vector<Mers::Models::Base::BaseModelAssignment const *> & bmAssignments,
00120                                                  int sourceStateIndex = -1) const;
00121 
00122                                 //--------------------------------------------
00123                                 //      PRIVATE DATA MEMBERS
00124                                 //--------------------------------------------
00125 
00126                                 };
00127                         }
00128                 }
00129         }
00130 }
00131 
00132 #endif //ndef __BSEObjectiveFunction__
00133 

Generated on Mon Dec 4 14:16:42 2006 for Mers by  doxygen 1.5.0