Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members

InferenceModel.h

00001 // Copyright (C) 2000 Dominic Letourneau (dominic.letourneau@courrier.usherb.ca)
00002 
00003 // InferenceModel.h: interface for the InferenceModel class.
00004 //
00006 
00007 #ifndef _INFERENCE_MODEL_H_
00008 #define _INFERENCE_MODEL_H_
00009 
00010 #include "FuzzyModel.h"
00011 
00012 namespace FD {
00013 
00014 class InferenceModel : public FuzzyModel  {
00015 
00016 public:
00017 
00018         //constructor
00019         InferenceModel();
00020 
00021         InferenceModel(const InferenceModel& model);
00022 
00023         InferenceModel(std::string nodeName, ParameterSet params);
00024 
00025         InferenceModel(std::istream &in){readFrom(in);}
00026 
00027         //destructor
00028         virtual ~InferenceModel();
00029 
00030         //fuzzy conjunction operator (min)
00031         virtual float conjunction(Vector<float> &c_values);
00032 
00033         //fuzzy disjunction operator (max)
00034         virtual float disjunction(Vector<float> &d_values);
00035 
00036         //Mamdani defuzzification 
00037         virtual Vector<float>& defuzzification();
00038         
00039         //cloning capability
00040         virtual ObjectRef clone();
00041 
00042         virtual void printOn(std::ostream &out=std::cout) const;
00043         
00044         virtual void readFrom(std::istream &in=std::cin);
00045 
00046         virtual void calculate(int output_id, int count, Buffer &out);
00047 
00048 private:
00049 
00050         int m_outputSetsID;
00051 
00052 };
00053 
00054 }//namespace FD
00055 
00056 #endif 

Generated on Wed Oct 5 14:28:55 2005 for FlowDesigner by  doxygen 1.4.4