Source code of Windows XP (NT5)
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
//+-------------------------------------------------------------------------
//
// Microsoft Windows
//
// Copyright (C) Microsoft Corporation, 1997 - 1997
//
// File: infer.h
//
//--------------------------------------------------------------------------
//
// infer.h: inference engine declarations
//
#ifndef _INFER_H_
#define _INFER_H_
#include "gmobj.h"
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
//
// GOBJMBN_INFER_ENGINE: A generic superclass for inference engines
// operating against a belief network.
//
////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////
class GOBJMBN_INFER_ENGINE: public MBNET_MODIFIER { public: GOBJMBN_INFER_ENGINE ( MBNET & model, // The model over which to infer
REAL rEstimatedMaximumSize = -1.0, // Max size estimate; < 0 indicates "don't care"
int iInferEngID = 0 ) // Inference engine identifier
: MBNET_MODIFIER(model), _iInferEngID( iInferEngID ), _rEstMaxSize(rEstimatedMaximumSize) {}
virtual ~ GOBJMBN_INFER_ENGINE () {} virtual INT EType () const { return EBNO_INFER_ENGINE; }
// Perform any creation-time operations
virtual void Create () = 0; // Perform any special destruction
virtual void Destroy () = 0; // Reload or reinitialize as necessary
virtual void Reload () = 0; // Accept evidence on a node
virtual void EnterEvidence ( GNODEMBN * pgnd, const CLAMP & clamp ) = 0; // Return stored evidence against a node
virtual void GetEvidence ( GNODEMBN * pgnd, CLAMP & clamp ) = 0; // Perform full inference
virtual void Infer () = 0; // Return the vector of beliefs for a node
virtual void GetBelief ( GNODEMBN * pgnd, MDVCPD & mdvBel ) = 0; virtual void Dump () = 0;
INT IInferEngId () const { return _iInferEngID; }
protected: INT _iInferEngID; // This junction tree's identifier
REAL _rEstMaxSize; // Maximum size estimate
};
#endif // _INFER_H_
|