Main Page   Class Hierarchy   Compound List   File List   Compound Members   File Members  

/home/mistis/jblanche/DEV/NEM/include/Possibility_MRF.hpp

00001 #define __cplusplus__
00002 #ifndef __POSSMRF__
00003 #define __POSSMRF__
00004 
00005 #include<iostream>
00006 #include<istream>
00007 #include<fstream>
00008 #include<string>
00009 #include<vector>
00010 #include<sstream>
00011 #include <cmath>
00012 
00013 #include <Neighborhood_System.hpp>
00014 
00015 using namespace std;
00016 
00027 class Possibility_MRF{
00028 
00029 protected :
00031   Neighborhood_System *NHS;
00033   vector<uint> subK;
00034 
00036   vector<double> Z_mf;
00037 
00039   vector<uint> Y;
00040 
00041 
00042 public :
00043 
00045   virtual ~Possibility_MRF();
00046 
00048   void Get_subK(vector<uint> &subk);
00050   uint Get_K();
00052   uint Get_P();
00054   uint Get_N();
00055 
00057   void Set_Y(vector<uint> const &y);
00058 
00059   bool is_subclass(uint k, uint p);
00060 
00062   void Simulate(vector<uint> & Z);
00064   void Simulate(uint nbiter, vector<uint> & Z);
00065 
00067   virtual double H(uint i, uint k, vector<uint>  const &  Z);
00069   virtual double Hmf(uint i, uint k);
00070 
00072   void Compute_cond_probs(uint i ,  vector<uint>  const &  Z, vector<double> & probs);
00073   
00075   void Compute_PGmf(vector<double> & P_G);
00076 
00077 
00079   double PL(vector<uint> const &   Z);
00080 
00082   void Set_Zmf( vector<double> const &  z );
00084   void Set_Zmf( vector<double> const &  z , uint i);
00086   void Get_Zmf( vector<double> & z );
00087 
00089   void Set_Z( vector<uint> const &  z );
00090 
00092   virtual void Read_Params(istream & is);
00094   virtual void Write_Params(ostream & os);
00095 
00097   virtual uint Degrees_Of_Freedom();
00098 
00100   virtual void Info();
00101 };
00102 
00103 #endif

Generated on Thu Oct 27 17:58:45 2005 for NEM by doxygen1.2.18