/Users/fpy/titan-1-5-MBARI/Mers/Estimation/Discrete/ApproximateBeliefState/BSUObjectiveFunction.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 _BSUOBJECTIVEFUNCTION_H_
00015 #define _BSUOBJECTIVEFUNCTION_H_
00016 
00017 #include <vector>
00018 #include <map>
00019 #include <math.h>
00020 
00021 #include <Mers/Estimation/Discrete/ApproximateBeliefState/BSEObjectiveFunction.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                         namespace ProbabilityRules {
00033                                 class Rule;
00034                                 class ObsProbRule;
00035                                 namespace RuleTriggering {
00036                                         class RuleTrigger;
00037                                 }
00038                         }
00039                         namespace ApproximateBeliefState {
00040 
00041                         
00054                         class BSUObjectiveFunction : public Mers::Estimation::Discrete::ApproximateBeliefState::BSEObjectiveFunction
00055                         {
00056 
00057                         public:
00058                                 //--------------------------------------------
00059                                 //      CONSTRUCTOR
00060                                 //--------------------------------------------
00061 
00079                                 BSUObjectiveFunction(Mers::Models::Base::BaseModelVariableArray const * dVs,
00080                                                 const std::map<unsigned int, unsigned int> pMap,
00081                                                 std::vector<double> allTransProbs,
00082                                                 std::map<unsigned int,double> sProbs,
00083                                                 std::vector<const Mers::Estimation::Discrete::ProbabilityRules::ObsProbRule *> & theObsProbabilityRules);
00084         
00089                                 virtual ~BSUObjectiveFunction();
00090 
00091                                 //--------------------------------------------
00092                                 //      PUBLIC FUNCTION METHODS
00093                                 //--------------------------------------------
00094 
00095                         protected:
00096                                 //--------------------------------------------
00097                                 //      PROTECTED FUNCTION METHODS
00098                                 //--------------------------------------------
00099                                 
00111                                  virtual double calculateUtility(std::vector<Mers::Models::Base::BaseModelAssignment const *> & implicantAssignments,
00112                                                                                                         int sourceStateIndex = -1) const;
00113 
00114                         private:
00115                                 //--------------------------------------------
00116                                 //      PRIVATE FUNCTION METHODS
00117                                 //--------------------------------------------
00118 
00119 
00120                                 //--------------------------------------------
00121                                 //      PRIVATE DATA MEMBERS
00122                                 //--------------------------------------------
00123 
00127                                 Mers::Estimation::Discrete::ProbabilityRules::RuleTriggering::RuleTrigger *     obsProbabilityRuleTrigger;
00128 
00133                                 std::vector<Mers::Estimation::Discrete::ProbabilityRules::Rule *>               triggerRules;
00134                                 };
00135                         }
00136                 }
00137         }
00138 }
00139 
00140 #endif //ndef _BSUOBJECTIVEFUNCTION_H_
00141 

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