The IFuzzyLogic unit contains the objects which implement Fuzzy Logic. The classes in this unit descend from the classes in the FuzzyLogic unit and implement the interfaces in the FuzzyInterfaces unit. Fuzzy Logic is a method for modeling and reasoning about imprecise or approximate concepts. Traditional logic, where concepts must be true or false, zero or one, has trouble at the boundaries of a problem: Is the water hot or cold? It's neither and both, it is somewhat hot. Fuzzy logic concerns itself with the boundaries of a concept, things can be "somewhat true" and "sorta false". Fuzzy Logic reduces system complexity by avoiding the complex mathematics and logic necessary to solve problems at these boundary conditions using traditional, exists/not exists, logic. It is able to approximate the behavior of problems that are poorly understood or nonlinear.
Fuzzy Logic also exhibits another desirable characteristic, it allows the user to represent or model the problem linguistically. Fuzzy Logic allows reasoning about the problem in ways natural to the user: Is the temperature hot? How long is the project duration? Using linguistic variables ( IFuzzyLogic.TIFuzzyVariable, similar to regular variables like X and Y except they take values ( IFuzzyLogic.TIFuzzySet s) like "cold" or "not very long"), Fuzzy Logic provides a closer mapping between the actual, real world, problem and the computer representation of the problem.

Name

Description


TFuzzyStreamToken

Implements the IFuzzyStreamToken interface and represents one token ( string) parsed by a fuzzy logic parser. However, the token can not only represent the string token parsed from a stream, but also provide methods for retrieving and setting its value based on a type. In other words, as the parser compiles more information about a token (possibly based on tokens before or after this token), it can replace the string token with other objects/interfaces, for example, the actual fuzzy set the string token represented.


TFuzzyStreamTokenList

Represents a list of fuzzy stream tokens (IFuzzyStreamToken). Each token of the list can represent one atomic string in the stream being parsed or represent an actual fuzzy set or another list (of lists, of lists, etc).


TFuzzyVariableStrings

Encapsulates a string list of fuzzy variables (IFuzzyVariable)


TFuzzyVariableTable

Encapsulates a hash table of fuzzy variables


TIFSValues

Encapsulates all the XY value pairs in a fuzzy set (see TIFuzzySet). The collection defines the shape of a fuzzy set. The values are sorted by their X property. Changing a value's X property can cause the points to move around in the collection.


TIFuzzyLogic

Descends from the TCustomFuzzyLogic component to expose its properties and events. Use TIFuzzyLogic to include fuzzy logic in your application.


TIFuzzySet

Descends from the TFuzzySet class and implements the IFuzzySet interface for encapsulating one fuzzy set, or term, in the universe of discourse (defined by a Fuzzy Variable).


TIFuzzySets

Encapsulates all the fuzzy sets, or terms, in a fuzzy variable (see TIFuzzyVariable). It manages a hash table of fuzzy sets (keyed by the fuzzy set name).


TIFuzzyVariable

Descends from the TFuzzyVariable class and implements the IFuzzyVariable interface. The TIFuzzyVariable class defines a linguistic variable, or fuzzy variable, such as Temperature which may take fuzzy sets as values, such as warm, cold, or hot.


TIFuzzyVariablePersistent

Represents type TIFuzzyVariablePersistent.

Top


Name

Description


UniqueID

Represents variable UniqueID.

Top


Name

Description


GetUniqueID

Returns a unique identifier. The TRSFuzzyLogicParser component uses this function to generate a unique name for fuzzy sets.

Top
