textfiles/programming/FUZZYLOGIC/brub2.txt

175 lines
8.7 KiB
Plaintext
Raw Normal View History

2021-04-15 11:31:59 -07:00
Number 22 February 17,1992
The Huntington Technical Brief
By David Brubaker Ph.D.
Dynamic Extent of Fuzzy Variables
---------------------------------
INTRODUCTION
Largely because fuzzy rule-based systems are in their infancy,
those active in the field are still discovering new and powerful
variations on the basic structure. On two projects in the past
few months I have had need of a capability not yet found in the
available fuzzy tools, being able to dynamically modify the
extent associated with a given fuzzy variable.
A fuzzy variable's extent is the range over which it can vary.
Extent modification falls into two categories: a one-time only
modification during system initialization, called DEFINED EXTENT;
and ongoing repetitive modification during system operation -
CONTROLLED EXTENT.
EXTENT
The extent of a fuzzy variable is described by three parameters:
a minimum value, a maximum value, and a density function. These
are the crisp boundary values of the variable. The density
function is a little more complex and will be discussed later in
this brief.
A fuzzy variable's extent can be operated upon. Three operations
provide a basic set: SHIFT, EXPANSION, and COMPRESSION.
An extent is SHIFTED when the positions of its minimum and
maximum values change, but the distance between them does not. An
extent is EXPANDED when the distance between minimum and maximum
values is greater than that of the original function. The
expansion can be about any point within the extent, although will
typically be defined either about the center point or one of the
end points.
An extent is COMPRESSED when the distance between minimum and
maximum is less than that of the original function.
Either expansion or compression can be combined with shifting.
An extent's density function has to do with expansion and
compression. If density is uniform, when either expansion or
compression occurs, the lateral dimensions of all features within
the extent (that is, the membership functions) will change in
proportion to the change in the extent. If the density function
is non-uniform, the lateral dimensions of some regions of the
extent will change differently than those of others. Using a
non-uniform density function allows emphasizing portions of the
fuzzy variable, for example around a crisp value of importance.
The extent of a fuzzy variable is implicitly defined as part of
the system design process, during membership function definition,
and is therefore static. Static extent definition can be thought
of as occurring at compile time. The need can arise, however, for
dynamic extent definition, and this can occur either once, during
initialization (DEFINED EXTENT) or on an ongoing basis, during
runtime (CONTROLLED EXTENT).
DEFINED EXTENT - Defined extent occurs when minimum and maximum
values are defined during the initialization sequence. The
resulting fuzzy variable and its membership functions can
potentially be both shifted and expanded or compressed. In its
simplest form, and with definition of minimum and maximum values
only, a uniform extent density is assumed.
Defined extent will typically have as a basis a statistically
defined extent in the form of a fuzzy variable and associated
membership functions defined as part of the design. This
default definition is used to provide the number and relative
widths of the membership functions. The initialization process
will then modify this default extent, based on calculated or
measured minimum and maximum values.
As an example of defined extent, consider a fuzzy database and
analysis program used in anthropology, with an input variable
HEIGHT. If the default extent of HEIGHT is based on American men
it would range (arbitrarily) from a minimum of 60" to a maximum
of 84".
Now consider using the program to gather and process data on
non-American cultures. Looking at extremes, we might be
interested in members of a pygmy tribe, where both minimum and
maximum would drop by a foot or more, or a Watusi tribe, where
both minimum and maximum would increase on the order of six
inches or more. In both cases, the initialization sequence would
take statistics on the population and derive appropriate minimum
and maximum values. The extent of the variable HEIGHT would be
shifted (and possibly expanded or compressed) appropriately.
Once in place, the newly defined extent, with its corresponding
membership functions, would be used to more accurately perform
the analysis functions of the program.
CONTROLLED EXTENT
Controlled extent is quite similar to defined extent, except
that it occurs on an ongoing basis during system operation. Its
justification is that the meaning of values (membership
functions) assigned to a given fuzzy variable may change with
context - here changing context is loosely defined as changing
input values.
As an example, consider a train deceleration controller that has
DISTANCE_TO_DESTINATION as a fuzzy variable, and NEAR as one of
its values. What constitutes being NEAR the destination tends to
be a function of the actual distance left to travel, the distance
thus far traveled, and the velocity of the train. For example, on
a 2000 km trip, with 10 km left to go and traveling at 100 km/hr,
the train could be considered NEAR its destination. (If it were
traveling at 2 km/hr this would not be the case.) Similarly,
with 50 meters to go, and traveling at 5km/hr, the train is
still NEAR, and with 5 meters left and traveling at 1 km/hr, it
is still NEAR, although both times with different connotations.
In each case, the actual distance to destination is quite
different, but in the context of the other inputs, NEAR ( to some
degree of membership) is a valid value of DISTANCE_TO_DESTINATION.
Controlled extent, like defined extent, is most easily based on a
default. The new extent is then defined as a function of one or
more inputs/outputs. At each system time increment, this function
is calculated, and the new extent determined. Membership
functions associated with this extent are then used as part of
the normal, ongoing fuzzy inference process.
This control function might take a number of forms. It may be a
simple proportional relationship between one or more of the
system inputs/outputs and the extent. It also might be more
complex, involving derivatives and integrals of input/output
values - in effect a linear system. Or it might take the form of
a fuzzy system in of itself, with the inputs being a
(potentially) reduced set of the system's inputs/outputs, and the
outputs being the extent parameters for the given variable.
SUMMARY
This issue has been a brief investigation of dynamic fuzzy
variable extents, resulting in modifiable membership functions.
Although many possible techniques may be used, we have discussed
DEFINED (at initialization) and CONTROLLED (run-time) EXTENTS,
allowing shift and expansion/compression operations.
----------------------------------------------------------------
The Huntington Technical Brief is published, monthly and free
of charge, as part of the marketing effort of Dr. David Brubaker
of The Huntington Group. A full collection of past issues
(starting with number 5 -- issues 1 through 4 are unrelated to
fuzzy logic and are unavailable) may be obtained for $10.00. The
42-page report "Introduction to Fuzzy Logic Systems" is available
for $35.00.
For the past fifteen years Dr. Brubaker has provided
technical consulting services in the design of complex systems,
real-time, embedded processor systems, and for the past four
years, fuzzy logic systems. If you need out-of-house expertise
in any of these, please call 415-325-7554.
----------------------------------------------------------------
Copyright 1992 by The Huntington Group
883 Santa Cruz Avenue, Suite 27 Menlo Park, CA 94025-4608
This information is provided by
Aptronix FuzzyNet
408-428-1883 Data USR V.32bis