/Users/fpy/titan-1-5-MBARI/Mers/Estimation/Discrete/BFTEObjectiveFunction.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 _BFTEOBJECTIVEFUNCTION_H_
00015 #define _BFTEOBJECTIVEFUNCTION_H_
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 
00046                         class BFTEObjectiveFunction : public Mers::Estimation::Discrete::MEObjectiveFunction
00047                         {
00048 
00049                         public:
00050                                 //--------------------------------------------
00051                                 //      CONSTRUCTOR
00052                                 //--------------------------------------------
00053 
00069                                 BFTEObjectiveFunction(Mers::Models::Base::BaseModelVariableArray const *        dVs,
00070                                                 const std::map<unsigned int, unsigned int> pMap,
00071                                                 std::vector<double> allTransProbs,
00072                                                 std::map<unsigned int,double> sProbs);
00073         
00077                                 virtual ~BFTEObjectiveFunction();
00078 
00079                                 //--------------------------------------------
00080                                 //      PUBLIC FUNCTION METHODS
00081                                 //--------------------------------------------
00082 
00083                                 
00084                         protected:
00085 
00086                                 //--------------------------------------------
00087                                 //      PROTECTED FUNCTION METHODS
00088                                 //--------------------------------------------
00089                                 
00101                                  virtual double calculateUtility(std::vector<Mers::Models::Base::BaseModelAssignment const *> & bmAssignments,
00102                                                                                                 int sourceStateIndex = -1) const;
00103 
00114                                  virtual double calculatePropagationUtility(
00115                                                  std::vector<Mers::Models::Base::BaseModelAssignment const *> & bmAssignments,
00116                                                  int sourceStateIndex = -1) const;
00117 
00118                                 //--------------------------------------------
00119                                 //      PRIVATE DATA MEMBERS
00120                                 //--------------------------------------------
00121 
00122                         };
00123                 }
00124         }
00125 }
00126 
00127 #endif //ndef _BFTEOBJECTIVEFUNCTION_H_
00128 

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