ZeusMath-Library  2.0.4
FuzzyLogic.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * Copyright (C) 2011 by Benjamin Hadorn (b_hadorn@bluewin.ch)
3  *****************************************************************************
4  * Project : Zeus Math Library
5  * Module : FuzzyLogic
6  * Package : Zeus.ZeusMath.Logic
7  * Author : Benjamin Hadorn
8  * Date : 27.12.2011
9  * System : Zeus-Framework
10  *****************************************************************************
11  * Licence: *
12  * This library is free software; you can redistribute it and/or modify *
13  * it under the terms of the GNU Lesser General Public License as *
14  * published by the Free Software Foundation; either version *
15  * 2.1 of the License, or (at your option) any later version. *
16  * *
17  * This library is distributed in the hope that it will be useful, *
18  * but WITHOUT ANY WARRANTY; without even the implied warranty of *
19  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
20  * GNU Lesser General Public License for more details. *
21  * *
22  * You should have received a copy of the GNU Lesser General Public *
23  * License along with this library; if not, write to the Free Software *
24  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110, USA *
25  *****************************************************************************/
26 
27 /*****************************************************************************
28  * Changes:
29  * 27.12.2011 bha: created zeus 2.0
30  *****************************************************************************/
31 
32 #ifndef FuzzyLogicH
33 #define FuzzyLogicH
34 
36 #include <zeusbase/System/ZObject.h>
37 #include <zeusbase/System/SingleLinkedList.hpp>
39 
40 BEGIN_NAMESPACE_Zeus
41 
42 /***************************************************************************/
45 /***************************************************************************/
47 {
48  etMamdani = 0,
50 };
51 
52 /***************************************************************************/
56 /***************************************************************************/
57 zeusmath_class TFuzzyLogic : public TZObject
58 {
59  public:
61  virtual ~TFuzzyLogic();
62 
63  void reset();
64 
65  void addAndCondition(const Float& rSignal1,
66  const TFuzzySet& rSet1,
67  const Float& rSignal2,
68  const TFuzzySet& rSet2,
69  TFuzzySet setOutputMembership);
70  TFuzzySet getConclusionSet();
71 
72  protected:
76  TSingleLinkedList<TFuzzySet> m_lstResults;
77 
78  private:
79 
80 };
81 
82 END_NAMESPACE_Zeus
83 
84 #endif
#define zeusmath_class
Definition: PlatformDefines.hpp:48
TSingleLinkedList< TFuzzySet > m_lstResults
Result Fuzzy set.
Definition: FuzzyLogic.h:76
EFuzzyInferenceMethod m_eMethod
Method of the conclusion.
Definition: FuzzyLogic.h:74
Definition: FuzzyLogic.h:57
Definition: FuzzyLogic.h:48
Definition: FuzzySet.h:45
EFuzzyInferenceMethod
Definition: FuzzyLogic.h:46
Definition: FuzzyLogic.h:49


Written by Benjamin Hadorn http://www.xatlantis.ch.
Last change made on Wed Sep 14 2016 06:45:51