Public Types | Public Member Functions | Protected Member Functions | Protected Attributes

zeus::TFuzzySet Class Reference

#include <FuzzySet.h>

List of all members.

Public Types

enum  EFuzzyNorm { etZadeh, etProdConnect, etLukasiewiez, etYager }
enum  EDefuzzyMethod {
  etCenterOfGrapvity, etIndexedCenterOfGravity, etCenterOfSums, etFirstOfMaximum,
  etMiddleOfMaximum, etLastOfMaximum
}

Public Member Functions

 TFuzzySet (Int iResolution=100)
 TFuzzySet (const TFuzzySet &set)
virtual ~TFuzzySet ()
void initTrapezodial (const Float &rfX1, const Float &rfX2, const Float &rfX3, const Float &rfX4)
void initGaussianSyn (const Float &rfA, const Float &rfWhm)
void initGaussianAsyn (const Float &rfA, const Float &rfWhm1, const Float &rfWhm2)
void initSigmodial (const Float &rfA, const Float &rfB)
Float getValue (Int iIndex) const
Float getMemberShip (const Float &rfX) const
Int getResolution () const
void setValue (Int iIndex, const Float &rfValue)
virtual Float getDefuzzificationValue (EDefuzzyMethod eMethod=etCenterOfGrapvity, const Float &rfParam=1.0) const
virtual TFuzzySet unionS (const TFuzzySet &set, EFuzzyNorm eNorm=etZadeh, const Float &rfParam=1.0) const
virtual TFuzzySet intersectS (const TFuzzySet &set, EFuzzyNorm eNorm=etZadeh, const Float &rfParam=1.0) const
virtual TFuzzySet notS () const
virtual TFuzzySet concentrate () const
virtual TFuzzySet dilate () const
virtual TFuzzySet intense () const
virtual TFuzzySet lingVery () const
virtual TFuzzySet lingMoreOrLess () const
virtual TFuzzySet lingVeryVery () const
virtual TFuzzySet lingNotVery () const
virtual TFuzzySet lingMore () const
virtual TFuzzySet lingLess () const
TFuzzySetoperator= (const TFuzzySet &set)
bool operator== (const TFuzzySet &set) const

Protected Member Functions

Float sum () const

Protected Attributes

TArrayList< Float > m_lstValues
 Array of Values.
Int m_iResolution
 Resolution of the set.

Detailed Description

This class defines a fuzzy set and all operators used to modify and transform the set. The set is used together with the TFuzzyLogic.


Member Enumeration Documentation

Enumeration to spezify the way how to calculate the defuzzification

Enumerator:
etCenterOfGrapvity 

Gets the defuzzification value as the center of gravity

etIndexedCenterOfGravity 

Gets the defuzzification value as the center of gravity

etCenterOfSums 

Gets the defuzzification value as the center of the sum

etFirstOfMaximum 

Gets the defuzzification value as the first maximum value

etMiddleOfMaximum 

Gets the defuzzification value as the middle of all maximum values

etLastOfMaximum 

Gets the defuzzification value as the last maximum value

Enumeration to specify the way how the fuzzy set will be computed

Enumerator:
etZadeh 

Uses the connectivities of Zadeh

etProdConnect 

Uses the product connectivities

etLukasiewiez 

Uses the multi value logic of Lukasiewiez

etYager 

Uses the connectivities of Yager


Constructor & Destructor Documentation

TFuzzySet::TFuzzySet ( Int  iResolution = 100 )

Creates a fuzzy set

Parameters:
res: Resolution of the set.
TFuzzySet::TFuzzySet ( const TFuzzySet set )

Copy constructor of the fuzzy set

Parameters:
set: Object to copy
TFuzzySet::~TFuzzySet (  ) [virtual]

Destroys the fuzzy set


Member Function Documentation

TFuzzySet TFuzzySet::concentrate (  ) const [virtual]

Operator to concentrate a fuzzy set

Returns:
concentrated set
TFuzzySet TFuzzySet::dilate (  ) const [virtual]

Operator to dilate a fuzzy set

Returns:
dilated set
Float TFuzzySet::getDefuzzificationValue ( EDefuzzyMethod  eMethod = etCenterOfGrapvity,
const Float &  rfParam = 1.0 
) const [virtual]

Gets a defuzzificated value

Parameters:
eMethod: Method tu use to get the defuzzification value
rfParam: used for dmIndexedCenterOfGravity as a threshold
Returns:
defuzzificated value
Float TFuzzySet::getMemberShip ( const Float &  rfX ) const

Gets the membership of a value. The variable x must be between 0 and 1.

Parameters:
rfX: value
Returns:
membership
Int zeus::TFuzzySet::getResolution (  ) const [inline]

Returns the resolution of a fuzzy set

Returns:
Resolution
Float zeus::TFuzzySet::getValue ( Int  iIndex ) const [inline]

Gets the value of the fuzzy set at position index

Parameters:
iIndex: Value position
Returns:
value
void TFuzzySet::initGaussianAsyn ( const Float &  rfA,
const Float &  rfWhm1,
const Float &  rfWhm2 
)

Initialises the set using the asynchron gaussian function

void TFuzzySet::initGaussianSyn ( const Float &  rfA,
const Float &  rfWhm 
)

Initialises the set using the synchron gaussian function

void TFuzzySet::initSigmodial ( const Float &  rfA,
const Float &  rfB 
)

Initialises the set using the sigmodial function

void TFuzzySet::initTrapezodial ( const Float &  rfX1,
const Float &  rfX2,
const Float &  rfX3,
const Float &  rfX4 
)

Initialises the set using the trapezodial function.

Parameters:
rfX1: Beginning of the positive slope
rfX2: End of the positive slope
rfX3: Beginning of the negative slope
rfX4: End of the negative slope
TFuzzySet TFuzzySet::intense (  ) const [virtual]

Operator to intense a fuzzy set

Returns:
intensed set
TFuzzySet TFuzzySet::intersectS ( const TFuzzySet set,
EFuzzyNorm  eNorm = etZadeh,
const Float &  rfParam = 1.0 
) const [virtual]

Creates the intersection of two fuzzy sets (1st set is this, 2nd set is [set]

Parameters:
set: 2nd set
eNorm: Norm how to get the intersection of two sets
rfParam: Used by the norm fnYager
Returns:
new Fuzzy set
TFuzzySet TFuzzySet::lingLess (  ) const [virtual]

Linguistic modifier LESS of a fuzzy set

TFuzzySet TFuzzySet::lingMore (  ) const [virtual]

Linguistic modifier MORE of a fuzzy set

TFuzzySet zeus::TFuzzySet::lingMoreOrLess (  ) const [inline, virtual]

Linguistic modifier MOR OR LESS of a fuzzy set

TFuzzySet zeus::TFuzzySet::lingNotVery (  ) const [inline, virtual]

Linguistic modifier NOT VERY of a fuzzy set

TFuzzySet zeus::TFuzzySet::lingVery (  ) const [inline, virtual]

Linguistic modifier VERY of a fuzzy set

TFuzzySet zeus::TFuzzySet::lingVeryVery (  ) const [inline, virtual]

Linguistic modifier VERY VERY of a fuzzy set

TFuzzySet TFuzzySet::notS (  ) const [virtual]

Operator to get the inverse of this set

Returns:
inverse set
TFuzzySet & TFuzzySet::operator= ( const TFuzzySet set )

Copy operator

Parameters:
set: Set to copy
Returns:
the copied set
bool TFuzzySet::operator== ( const TFuzzySet set ) const

Equals operator

Parameters:
set: Set to check if equal
Return values:
true: Set is equal
false: Set is not equal
void zeus::TFuzzySet::setValue ( Int  iIndex,
const Float &  rfValue 
) [inline]

Sets a new value to the fuzzy set

Parameters:
iIndex: Index of the value
rfValue: new value
Float TFuzzySet::sum (  ) const [protected]

Gets the sum of the Fuzzy Set

Returns:
sum
TFuzzySet TFuzzySet::unionS ( const TFuzzySet set,
EFuzzyNorm  eNorm = etZadeh,
const Float &  rfParam = 1.0 
) const [virtual]

Creates the union of two fuzzy sets (1st set is this, 2nd set is [set]

Parameters:
set: 2nd set
eNorm: Norm how to get the union
rfParam,:used by the norm fnYager
Returns:
new Fuzzy set

Member Data Documentation

Resolution of the set.

TArrayList<Float> zeus::TFuzzySet::m_lstValues [protected]

Array of Values.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines


Written by Benjamin Hadorn http://www.xatlantis.ch.
Last change made on Sun Jan 22 2012 15:32:27