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

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