New Functions in IECS v2.0
Home Up Feedback Search

Products
Order
Downloads
Support
Articles & Tips
Recommended Links
About

 
 

  Other Links:
Delphi CodeSmith Blog 
 

 

70 new functions have been added in version 2.0. Each of the new functions with a brief description is listed below:

assert-record function

Asserts or adds each fact argument to the fact list. If a fact is a database record fact, then the fact is also created in the dataset. The fact index of the last fact added is returned.
syntax: (assert-record <fact>)

assert-record-string function

Asserts or adds each string argument as a fact to the fact list. If a fact is a database record fact, then the fact is also created in the dataset. The fact index of the last fact added is returned.
syntax: (assert-record-string <string-expression>+)

beta function

Returns a fuzzy value with a beta bell curve shape, e.g., the probablities increase as the X value gets closer to the middle point
syntax: (beta <center-numeric-expression> <range-numeric-expression> [ <inflection-numeric-expression> [ <weight-numeric-expression> ]])

create-fuzzy-value function

Returns a fuzzy value created for the specified fuzzy variable
syntax: (create-fuzzy-value <fuzzy-variable-expression>)

date-str function

Returns the date converted from system date format to string
syntax: (date-str <numeric-expression>)

datetime-str function

Returns the date and time converted from system datetime format to string
syntax: (datetime-str <numeric-expression>)

decode-day function

Returns the day value from a system date
syntax: (decode-day <system-date-numeric-expression>)

decode-hour function

Returns the hour value from a system time
syntax: (decode-hour <system-time-numeric-expression>)

decode-millisecond function

Returns the millisecond value from a system time
syntax: (decode-millisecond <system-time-numeric-expression>)

decode-minute function

Returns the minute value from a system time
syntax: (decode-minute <system-time-numeric-expression>)

decode-month function

Returns the month value from a system date
syntax: (decode-month <system-date-numeric-expression>)

decode-second function

Returns the second value from a system time
syntax: (decode-second <system-time-numeric-expression>)

decode-year function

Returns the year value from a system date
syntax: (decode-year <system-date-numeric-expression>)

duplicate-record function

Asserts a duplicated copy of the fact specified by the fact index, with one or more slot values changed. The fact is duplicated AND its associated record, if it has one
syntax: (duplicate-record <fact-index> (<slot-name> <expression>)+)

encode-date function

Returns a system date that represents the year, month, and day <integer-expression> parameters
syntax: (encode-date <year-integer-expression> [<month-integer-expression> [<day-integer-expression>]])

encode-time function

Returns a system time that represents the hours, minutes, seconds and milliseconds <integer-expression> parameters
syntax: (encode-time <hour-integer-expression> [<minute-integer-expression> [<second-integer-expression> [<millisecond-integer-expression>]]])

fuzzy-assert function

Asserts or adds each fuzzy fact argument to the fact list using the specified fuzzy inference type. Five inference methods are available: min-max, sum, mean, product, and bounded-sum. The fact index of the last fact added is returned. If a fact is not fuzzy, it is asserted normally.
syntax: (fuzzy-assert <fuzzy-inference-expression> <fact-expression>*)

fuzzy-assert-unconditional function

Asserts or adds each fuzzy fact argument to the fact list using the specified fuzzy *intersection* inference type. Unlike the regular assert functions, this function asserts the fact unconditionally, which means the asserted fact is combined with any fact on the fact list using an intersection inference type, as opposed to a union inference type (default). Five inference methods are available: min-max, sum, mean, product, and bounded-sum. The fact index of the last fact added is returned. If a fact is not fuzzy, it is asserted normally.
syntax: (fuzzy-assert-unconditional [<fuzzy-inference-expression>] <fact-expression>*)

fuzzy-intersection function

Returns a fuzzy set value, which is the intersection, or the fuzzy AND, of the fuzzy value expressions. The intersection is defined as the minimum of the fuzzy set values
syntax: (fuzzy-intersection <fuzzy-value-expression> <fuzzy-value-expression>+)

fuzzy-intersection-x function

Returns a fuzzy set value, which is the intersection of the fuzzy value expressions. The first parameter defines the fuzzy intersection algorithm to use: zadeh, mean, mean-sqr, mean-sqrt, product, bounded-sum, sum.
syntax: (fuzzy-intersection-x <fuzzy-intersection-type-expression> <fuzzy-value-expression> <fuzzy-value-expression>+)

fuzzyp function

Returns TRUE if the argument is of the following type(s): Fuzzy. If the argument is any other type, FALSE is returned
syntax: (fuzzyp <expression>)

fuzzy-union function

Returns a fuzzy set value, which is the union, or the fuzzy OR, of the fuzzy value expressions. The union is defined as the maximum of the fuzzy set values
syntax: (fuzzy-union <fuzzy-value-expression> <fuzzy-value-expression>+)

fuzzy-union-x function

Returns a fuzzy set value, which is the union of the fuzzy value expressions. The first parameter defines the fuzzy union algorithm to use: zadeh, mean, mean-sqr, mean-sqrt, product, bounded-sum, sum.
syntax: (fuzzy-union-x <fuzzy-union-type-expression> <fuzzy-value-expression> <fuzzy-value-expression>+)

get-activation-threshold function

Returns the Rule Activation Threshold value as a floating point number between 0 and 1. The Rule Activation Threshold value controls the cutoff value for whether a rule is activated. If the activation strength of the pattern matches between the rule patterns and facts falls below the threshold, the rule will not get activated (for that particular set of pattern matches, it may activate with other pattern matches). The default threshold is 0.
syntax: (get-activation-threshold)

get-compatibility-index function

Returns a floating point value between 0 and 1 representing the unit compatibility index of the fuzzy set. The unit compatibility index helps measure the validity of the model which created the fuzzy set. If, over many tests of the fuzzy expert system, the unit compatibility index is less than 0.2 or greater than 0.8, the fuzzy model is exhibiting boolean behavior and is probably not behaving well at the extremes of the model
syntax: (get-compatibility-index <fact-id-expression> | <fact-expression> | <fuzzy-value-expression>)

get-fs function

Returns the fuzzy set value as a vector of singletons, e.g., ((x0 y0) (x1 y1)). If the argument is a fact or fact id, the FIRST fuzzy slot found in the fact is used as the fuzzy value.
syntax: (get-fs <fact-expression> | <fact-id-expression> | <fuzzy-value-expression>)

get-fs-length function

Returns the number of singletons in the fuzzy set as an integer. If the argument is a fact or fact id, the FIRST fuzzy slot found in the fact is used as the fuzzy value.
syntax: (get-fs-length <fact-expression> | <fact-id-expression> | <fuzzy-value-expression>)

get-fs-value function

Returns the degree of membership, or Y value, of the fuzzy set at the specified X value <numeric-expression>. The <numeric-expression> must be between the lower and upper limits of the universe of discourse for the fuzzy set. If the first argument is a fact or fact id, the FIRST fuzzy slot found in the fact is used as the fuzzy value.
syntax: (get-fs-value <fact-expression> | <fact-id-expression> | <fuzzy-value-expression> <numeric-expression>)

get-fs-variable function

Returns the linguistic fuzzy variable name of the specified fuzzy set. If the argument is a fact or fact id, the FIRST fuzzy slot found in the fact is used as the fuzzy value.
syntax: (get-fs-variable <fact-expression> | <fact-id-expression> | <fuzzy-value-expression>)

get-fs-x function

Returns the floating point X coordinate value of the Ith singleton in the fuzzy set, where the singletons are numbered from 0 to n-1. If the first argument is a fact or fact id, the FIRST fuzzy slot found in the fact is used as the fuzzy value.
syntax: (get-fs-x <fact-expression> | <fact-id-expression> | <fuzzy-value-expression> <integer-expression>)

get-fs-y function

Returns the floating point Y coordinate value of the Ith singleton in the fuzzy set, where the singletons are numbered from 0 to n-1. If the first argument is a fact or fact id, the FIRST fuzzy slot found in the fact is used as the fuzzy value.
syntax: (get-fs-y <fact-expression> | <fact-id-expression> | <fuzzy-value-expression> <integer-expression>)

get-fuzzy-auto-terms function

Returns a boolean value for the FuzzyAutoTerms control variable. The fuzzy auto terms property controls whether three terms: low, medium, and high, are automatically created for fuzzy variables when they are added to the engine
syntax: (get-fuzzy-auto-terms)

get-fuzzy-correlation function

Returns the fuzzy correlation method being used in the inference engine, as an atom. Fuzzy correlation controls how the truth of a rule's premise (IF portion) modifies the truth of the rule's consequents, e.g., facts asserted in a rule cannot have greater truth than the truth values of the premise. Two correlation methods are available: minimum and product. 
syntax: (get-fuzzy-correlation)

get-fuzzy-inference function

Returns the fuzzy inference method being used in the inference engine, as an atom. The Fuzzy Inference method controls how assertions are combined with facts already on the fact list. Five inference methods are available: min-max, sum, mean, product, and bounded-sum.
syntax: (get-fuzzy-inference)

get-fuzzy-threshold function

Returns the Fuzzy Equals Threshold value as a floating point number between 0 and 1. The Fuzzy Equals Threshold value controls the alpha cutoff for whether two fuzzy sets equal. If the maximum of the minimum values is above this threshold, the fuzzy sets equal. The default threshold is 0.
syntax: (get-fuzzy-threshold)

get-slot-value function

Returns the value in the fact slot specified by the <slot-name-expression>
syntax: (get-slot-value <fact-id-expression>|<fact-expression> [<slot-name-expression> ])

get-type function

Returns the type of the argument
syntax: (get-type <expression>)

get-u function

Returns the universe of discourse for the fuzzy fact or fuzzy type
syntax: (get-u <fuzzy-type-expression> | <fuzzy-fact-expression> | <fuzzy-fact-id-expression>)

get-u-from function

Returns the lowr limit for the universe of discourse for the fuzzy fact or fuzzy type.

syntax: (get-u-from)

get-u-to function

Returns the upper limit for the universe of discourse for the fuzzy fact or fuzzy type
syntax: (get-u-to <fuzzy-type-expression> | <fuzzy-fact-expression> | <fuzzy-fact-id-expression>)

get-u-units function

Returns the units as a string for the universe of discourse for the fuzzy fact or fuzzy type 
syntax: (get-u-units <fuzzy-type-expression> | <fuzzy-fact-expression> | <fuzzy-fact-id-expression>)

guard function

"Guards" its function call arguments. The guard function suppresses the activation of its enclosing rule for its function call arguments. Functions, such as Modify or Assert, cannot activate the guarded rule. The guard function is useful when updating a fact and you do not wish the rule to re-activate. If this function is not called from a rule, it has no effect.
syntax: (guard <function-call-argument>+)

is-dataset-fact function

Returns TRUE if the specified fact or fact template is attached to a dataset, otherwise FALSE
syntax: (is-dataset-fact <fact-id-expression>|<fact-template-name-expression>)

is-undecidable function

Returns TRUE if the fuzzy set is undecidable. A fuzzy set is undecidable when it is an empty fuzzy set or the area of the fuzzy set is 0. A fuzzy set is determined to be undecidable when the fuzzy set is defuzzified. If no defuzzification has been performed, this function always returns TRUE
syntax: (is-undecidable <fact-id-expression> | <fact-expression> | <fuzzy-value-expression>)

list-deftypes function

Displays the defined types contained in the inference engine
syntax: (list-deftypes)

maximum-defuzzify function

Returns a defuzzified floating point value, which represents the defuzzified fuzzy set using the mean of maxima function. It takes the average X value of the maximum points in the fuzzy set. This method is faster than the moment-defuzzify function, but ignores any fuzzy operations that do not change the maximum value in the fuzzy set.
syntax: (maximum-defuzzify <fact-id-expression> | <fact-expression> | <fuzzy-value-expression>)

member function

Returns the index of the argument that matches the first argument, or FALSE if the first argument is not found. The index returned is 0-based
syntax: (member <to-find-expression> <expression>+)

modify-record function

Modifies the fact specified by the fact index. It assigns new values to the slots of the facts. If the fact is a dataset fact, the record is updated. Note that the fact is retracted and then asserted by this function.
syntax: (modify-record (modify <fact-index> (<slot-name> <expression>)+))

moment-defuzzify function

Returns a defuzzified floating point value, which represents the defuzzified fuzzy set using the centre of gravity (or first moment of inertia) function. The centroid method is a good method to use in process control and robotics since it tends to smooth out the fuzzy region.
syntax: (moment-defuzzify <fact-id-expression> | <fact-expression> | <fuzzy-value-expression>)

pi function

Returns a typical bell curve fuzzy value, e.g., the probablities increase as the X value gets closer to the middle point
syntax: (pi [ <center-numeric-expression> <range-numeric-expression> ] | [ <left-numeric-expression> <center-numeric-expression> <right-numeric-expression> ])

plot-fuzzy-value function

Plots Fuzzy values or entire Fuzzy Variable using printout/text statements
syntax: (plot-fuzzy-value <io-stream-identifier-string-expression> <plot-chars-string-expression> <low-limit-numeric-expression> <high-limit-numeric-expression> <fuzzy-variable-name-expression>|<fuzzy-value-expression>|<fact-id-expression>|<fact-expression>+)

ppdeftype function

Displays a formatted representation of the defined type specified by the name, which is suitable for parsing
syntax: (ppdeftype <type-name>)

randomize function

Sets the random number generator seed. If no argument is given, the seed is set randomly from the system clock
syntax: (randomize [<seed-integer-expression> ])

retract-record function

Retracts facts specified by their fact indices from the fact base. If the fact also is a database record, then the record is deleted from the dataset. If the only argument is an asterisk (*), all facts are retracted
syntax: (retract-record *|<fact-index-expression>+)

retract-record-string function

Retracts facts that equal the string arguments from the fact base. If duplicate facts are allowed, only the first fact that matches the string is retracted. If the fact also is a database record, then the record is deleted from the dataset. 
syntax: (retract-record-string <string-expression>+)

s function

Returns a fuzzy value using a growth curve function, i.e., the probability increases from 0 to 1 between the arguments
syntax: (s <numeric-expression> <numeric-expression>)

set-activation-threshold function

Sets the Rule Activation Threshold to the floating point expression, which should be a number between 0 and 1. The Rule Activation Threshold value controls the cutoff value for whether a rule is activated. If the activation strength of the pattern matches between the rule patterns and facts falls below the threshold, the rule will not get activated (for that particular set of pattern matches, it may activate with other pattern matches). The default threshold is 0. The function returns the previous value of the threshold.
syntax: (set-activation-threshold <numeric-expression>)

set-fuzzy-auto-terms function

Sets the FuzzyAutoTerms control variable to the boolean value expression. The fuzzy auto terms property controls whether three terms: low, medium, and high, are automatically created for fuzzy variables when they are added to the engine. The previous value of the property is returned.
syntax: (set-fuzzy-auto-terms <boolean-expression>)

set-fuzzy-correlation function

Sets the fuzzy correlation method to use in the inference engine, and returns the *previous* value as an atom. Fuzzy correlation controls how the truth of a rule's premise (IF portion) modifies the truth of the rule's consequents, e.g., facts asserted in a rule cannot have greater truth than the truth values of the premise. Two correlation methods are available: minimum and product. 
syntax: (set-fuzzy-correlation <correlation-expression>)

set-fuzzy-inference function

Sets the fuzzy inference method to use in the inference engine. The previous inference method is returned, as an atom. The Fuzzy Inference method controls how assertions are combined with facts already on the fact list. Five inference methods are available: min-max, sum, mean, product, and bounded-sum.
syntax: (set-fuzzy-inference <fuzzy-inference-expression>)

set-fuzzy-threshold function

Sets the Fuzzy Equals Threshold value to the expression. The expression must be between 0 and 1. The Fuzzy Equals Threshold value controls the alpha cutoff for whether two fuzzy sets equal. If the maximum of the minimum values is above this threshold, the fuzzy sets equal. The default threshold is 0. The function returns the previous value of the threshold. 
syntax: (set-fuzzy-threshold <numeric-expression>)

str-date function

Returns the date converted from a string to system date format
syntax: (str-date <string-expression>)

str-datetime function

Returns the date and time converted from a string to system datetime format
syntax: (str-datetime <string-expression>)

str-time function

Returns the time converted from a string to system time format
syntax: (str-time <string-expression>)

system-date function

Returns the date (stored in a float)
syntax: (system-date)

system-datetime function

Returns the date and time (stored in a float)
syntax: (system-datetime)

system-time function

Returns the time in milliseconds since the beginning of the day (stored in a float)
syntax: (system-time)

time-str function

Returns the time converted from system time format to string
syntax: (time-str <numeric-expression>)

tri function

Returns a fuzzy value with a saw-tooth type shape, e.g., the probablities increase as the X value gets closer to the center point
syntax: (tri <left-numeric-expression> <center-numeric-expression> <right-numeric-expression>)

z function

Returns a fuzzy value using a decline curve function, i.e., the probability decreases from 0 to 1 between the arguments
syntax: (z <numeric-expression> <numeric-expression>)

 

 
Send mail to webmasterNO@SPAMRiverSoftAVG.com with questions or comments about this web site.
Copyright © 2002-2016 RiverSoftAVG
Last modified: September 20, 2010