- Main Page
- Namespaces
- Classes
- Files
- Related Pages

# /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