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