infosapient.system
Class FzySCurve

java.lang.Object
  |
  +--infosapient.system.ObservableImpl
        |
        +--infosapient.system.FzySystemComponent
              |
              +--infosapient.system.FzyClauseComponent
                    |
                    +--infosapient.system.FzySet
                          |
                          +--infosapient.system.FzySCurve
Direct Known Subclasses:
FzyBeta, FzyGaussian, FzyPI

public class FzySCurve
extends FzySet
implements java.lang.Cloneable

Class FzySCurve

FzySCurve represents a Fuzzy set as a sigmoidal (logistic function) curve. Specializations of this class are:

Version:
$Revision: 1.1.1.1 $
See Also:
FzyGaussian, FzyPI, FzyBeta, FzyWeightedBeta, FzySingleton, Serialized Form

Field Summary
private  double highInflexionPt
           
private  double lowInflexionPt
           
private  double phighInflexionPt
           
private  double plowInflexionPt
           
(package private) static long serialVersionUID
           
 
Fields inherited from class infosapient.system.FzySet
alfaCut, completeMembership, curveSide, domain, hasSolution, hedges, height, leftShouldered, membership, myAttribute, resolvedValue, rightShouldered, serialVersionUID, setType, twoSided, VECMAX
 
Fields inherited from class infosapient.system.FzyClauseComponent
owner, text
 
Fields inherited from class infosapient.system.FzySystemComponent
DEBUG_, myID, name, pcs, serialVersionUID, trace, vcs
 
Fields inherited from class infosapient.system.ObservableImpl
arr, changed, obs, serialVersionUID
 
Constructor Summary
FzySCurve()
           
FzySCurve(FzyAttribute fa, double lowE, double hiE, double m)
           
 
Method Summary
 java.lang.Object clone()
          Method for Cloneable interface -- provides a deep copy of the current set.
 double getHighInflexionPt()
           
 double getLowInflexionPt()
           
 FzySet initializeMembership()
          Initialize this set's membership using a sinusoid (logistical) function.
 FzySCurve setHighInflexionPt(double high, double cM)
           
 FzySCurve setLowInflexionPt(double low, double cM)
           
 java.lang.String toString()
          Used to provide a text description of this fuzzy set.
 java.lang.String typeAsString()
           
 
Methods inherited from class infosapient.system.FzySet
addHedge, doesContain, domainForMembership, dump, dumpAsStringBuffer, getAlphaCut, getAttribute, getCmpMembership, getDOM, getDomain, getDomainArray, getHedges, getHighDomain, getIndexForDomain, getLowDomain, getMaxHeight, getMemberArray, getMembership, getMinHeight, getQualifiedName, getSides, getSolution, getSolutionDOM, getVECMAX, hasSolution, initializeDomain, integrateMbr, integrateMbr, isLeftShouldered, isNormal, isRightShouldered, isTwoSided, lessThanOrEquals, printOn, reset, setAttribute, setCmpMembership, setDomain, setDomainArray, setHedges, setHighDomain, setLeftShouldered, setLowDomain, setMembership, setMembershipArray, setRightShouldered, setSolution, setTwoSided, sumDomain, toXML, validate, validate
 
Methods inherited from class infosapient.system.FzyClauseComponent
append, append, getOwner, getText, setOwnerClause, setText, toText
 
Methods inherited from class infosapient.system.FzySystemComponent
addPropertyChangeListener, addVetoableChangeListener, equals, getID, getName, getPropertyChangeSupport, getVetoableChangeSupport, hashCode, removePropertyChangeListener, removeVetoableChangeListener, setID, setName
 
Methods inherited from class infosapient.system.ObservableImpl
addObserver, clearChanged, containsObserver, countObservers, deleteObserver, deleteObservers, hasChanged, notifyObservers, notifyObservers, setChanged
 
Methods inherited from class java.lang.Object
, finalize, getClass, notify, notifyAll, registerNatives, wait, wait, wait
 

Field Detail

serialVersionUID

static final long serialVersionUID

lowInflexionPt

private double lowInflexionPt

plowInflexionPt

private double plowInflexionPt

highInflexionPt

private double highInflexionPt

phighInflexionPt

private double phighInflexionPt
Constructor Detail

FzySCurve

public FzySCurve()

FzySCurve

public FzySCurve(FzyAttribute fa,
                 double lowE,
                 double hiE,
                 double m)
          throws FzySystemException
Method Detail

clone

public java.lang.Object clone()
Method for Cloneable interface -- provides a deep copy of the current set.
Overrides:
clone in class FzySet
Returns:
Object the new FzySCurve cloned.

getHighInflexionPt

public double getHighInflexionPt()

getLowInflexionPt

public double getLowInflexionPt()

initializeMembership

public FzySet initializeMembership()
                            throws FzySystemException
Initialize this set's membership using a sinusoid (logistical) function.

[ i..(VECMAX-1)]:

[ domain[i] <= lowInflexionPoint ] { membership[i] = 2.0 ∗ ((domain[i]-lowDomain) / domainValOfCompleteMembership)^2.0;}

[ (domain[i] > lowInflextionPoint) && (domain[i] < domainValOfCompleteMembership) ] { membership[i] = 1.0 - 2.0 ∗ ((domain[i]-lowDomain)/(domainValOfCompleteMembership-lowDomain))^2.0;}

[ domain[i] == domainValOfCompleteMembership ] { membership[i] = 1.0; }

[ (domain[i] > domainValOfCompleteMembership) && (domain[i] <= highInflextionPoint) ] { membership[i] = 1.0 - 2.0 ∗ ((domainValOfCompleteMembership-domain[i])/(highDomain-domainValOfCompleteMembership))^2.0;}

[ domain[i] > highInflexionPoint ] { membership[i] = 2.0 ∗ (highDomain-domain[i])/(highDomain-domainValOfCompleteMembership))^2.0;}

Overrides:
initializeMembership in class FzySet
Tags copied from class: FzySet
Returns:
FzySet the set.
Throws:
FzySystemException - if a computation exception occurs.

setHighInflexionPt

public FzySCurve setHighInflexionPt(double high,
                                    double cM)

setLowInflexionPt

public FzySCurve setLowInflexionPt(double low,
                                   double cM)

toString

public java.lang.String toString()
Used to provide a text description of this fuzzy set.
Overrides:
toString in class java.lang.Object

typeAsString

public java.lang.String typeAsString()
Overrides:
typeAsString in class FzySet

License to use this program is provided under the TERMS OF THE COMMON PUBLIC LICENSE 0.5. ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.

Copyright (c) 2001, Workplace Performance Tools, All Rights Reserved