Fuzzy Logic vs. System Dynamics

Subject: Fuzzy Logic vs. System Dynamics
From: Bradd Libby (bradd@wpi.edu)
Date: Fri Aug 18 2000 - 13:15:27 MET DST

I am familiar with both Fuzzy Logic and System Dynamics, a methodology
developed in the late 1950's at MIT for studying complex systems, though I
do not claim to be an expert in either. (For those readers unfamiliar
with SD, I'd recommend visiting http://sysdyn.mit.edu/ and many of the
links from that site, for basic background information.)

Someone familiar with Fuzzy Logic reading about System Dynamics (or
conversely, in my case, someone familiar with System Dynamics reading
about Fuzzy Logic) will notice that the two disciplines share many
important features:

Like Fuzzy Logic, System Dynamics is often concerned with the
comprehension/control of complex systems (that is, systems containing
multiple parts interacting according to nonlinear relationships; systems
where not necessarily all of the variables are known, quantifiable, and
easily measured; systems prone to 'non-intuitive' and sometimes 'chaotic'
behavior). For Fuzzy Logic, the applications seem to be more
'engineering' oriented (control of a cement kiln, a subway system, an
inverted pendulum), for System Dynamics more 'management' oriented (urban
dynamics, limits to economic growth, business simulations), but the
underlying principles of feedback, information delays, uncertain
quantities and the like remain similar.

And the similarity, both in function and in notation, between what fuzzy
logicians call 'cognitive maps' and system dynamicists 'causal loop
diagrams' is so striking that I can say with relative confidence that they
must be the cross-application of one idea - If they have been developed in
parallel without reference to each other, then their visual and functional
similarity would be a truly dramatic coincidence.

It seems to me that any methodology that promises its practitioners a
legitimate ability to analyze, understand, and control complex, dynamic,
non-intuitive systems must offer three things (though the names I've
selected are a bit trite, I admit):

   * First, a methodology (Fuzzy Logic, System Dynamics, or some other)
     must have a "MINDSET": call it a 'paradigm', 'worldview', 'Welt-
     anschauung', what have you, the methodology must offer some way
     of viewing a given system that is different from what a non-
     practitioner would employ (and that this mindset greatly clarifies
     and simplifies the study of the system).
     It seems to me that both Fuzzy Logic and System Dynamics offer
     legitimate mindsets: For Fuzzy Logic the operative maxims are a
     rejection of IF-THEN/EITHER-OR/BLACK-WHITE in favor of probability
     distributions and continuous functions; for System Dynamics they are
     what Dr. Richmond (founder of High Performance Systems,
     www.hps-inc.com) calls 'The 7 Systems Thinking Skills' (to name a
     few: change-over-time thinking, system-as-cause thinking,
     closed-feedback-loop thinking). But both methodologies offer a

   * Second, the methodology must have a "TOOLSET": that is, it must
     give its user some 'ready to use' techniques for applying the
     mindset in the real world. For System Dynamics this toolset is the
     'stock-and-flow language' (a visual means of describing complex
     systems as 'states' (what engineers call 'state variables') and
     'rates' (the rate of change of these variables)), causal loop
     diagrams, so-called 'table functions' (essentially, fuzzy functions),
     behavior archetypes (including 'shifting the burden' and the
     'addiction' cycle). State space diagrams (graphing two or three
     system variables on a coordinate system) are also popular.
     By 'toolset' I would like to emphasize that I am NOT refering to
     specific software packages. The 'toolset' I'm refering to consists
     of the _techniques_ employed or fostered by a given software
     tool. By analogy: Microsoft Word is _not_ a toolset - written
     alphabet (along with vocabulary and grammar) is a toolset and
     Microsoft Word is a software package designed to facilitate
     implementing those tools. In System Dynamics, ithink/STELLA
     is not a toolset - stock-and-flow mapping is a tool and ithink/STELLA
     is a software package designed to facilitate the implementation of
     that tool.
     The toolset of Fuzzy Logic, it seems to me (and please correct me if
     I am wrong or incomplete), consists of 'fuzzy cognitive maps' (an
     analog to 'causal loop diagrams'), fuzzy function diagrams (typically
     depicted as overlapping triangles (or other shapes) along a given
     axis; the classic example being a temperature axis with triangles
     overlapping for 'very cold', 'cold', 'normal', 'hot', 'very hot'),
     and defuzzifying algorithms.

     * Third, the methodology must provide an 'INSTRUCTION SET': not
     necessarily a true instruction set of the sort one receives with
     a 'some assembly required' toy, a hard-and-fast 'paint by the
     numbers' algorithm, but at the very least a guide for how the
     mindset and toolset should be employed.
     For System Dynamics the instruction set is the 'modeling
     method' (analogous to the scientific method): observe, model, test,
     repeat; building complexity and 'robustness' with each iteration,
     though trying to keep the model as simple as possible. (In many
     ways, it shares qualities with coding in C++ or any other programming

In these respects, then, System Dynamics is a 'complete package,' whereas
Fuzzy Logic, it seems, consists primarily of a mindset. Fuzzy function
diagrams, fuzzy cognitive maps, and defuzzifying algorithms combined (and
please correct me if I'm wrong) represent at best half of a toolset: they
offer a partial solution, but fail in some key respects. In the Fuzzy
Future, Bart Kosko describes how the triangular shape of fuzzy functions
is not always the best solution, but that sometimes other shapes are
employed. But Fuzzy Logic remains silent on how to determine the best
shape and therefore fuzzy logicians are forced to resort to trial-and-
error, evolutionary algorithms, or any other tools/techniques they have at
their disposal to solve this problem. Additionally, Fuzzy Logic says
little about the identification of important (critical) system variables.
For sufficiently complex systems, these are not trivial matters. And as
far as an instruction set is concerned, Fuzzy Logic seems to say 'Your on
your own.' The practitioner is left alone to decide whether the best
implementation should be in the form of a software program, a hardwired
circuit, or some other means, and to decide the way of implementing the
Fuggy Logic mindset.

I'm speculating here, but perhaps that reason that Fuzzy Logic has been so
sucessfully empoloyed in the areas it has been is because the majority of
its pracititioners to date have been engineers, logicians, and the
generally mathematically inclined, who have been employing engineering
principles (such as, start simple and add complexity) and the scientific
method implicitly, and mathematical and engineering analytical methods
explicitly, to compensate for those areas where Fuzzy Logic remains...

I have several questions that I would like to pose to those who are more
knowledgeable and experienced in Fuzzy Logic than I, but I think they all
boil down to one central issue: What does Fuzzy Logic offer that System
Dynamics lacks?

That is, why shouldn't Fuzzy Logic be subsumed as a subset of System
Dynamics, or should it? Given the choice between System Dynamics and
Fuzzy Logic for solving a complex control problem, why wouldn't one
immediately choose the former without further consideration, confident
that, in the worst-case scenario, any solution that can be devised in
Fuzzy Logic can be implemented using table functions in a System Dynamics
simulation software application? In short, what justification is there
for Fuzzy Logic to be considered a separate discipline?

I look forward to hearing your thoughts on this matter and to having any
misperceptions I may have of either Fuzzy Logic or System Dynamics hastily

Best regards,
Bradd Libby.

This message was posted through the fuzzy mailing list.
(1) To subscribe to this mailing list, send a message body of
"SUB FUZZY-MAIL myFirstName mySurname" to listproc@dbai.tuwien.ac.at
(2) To unsubscribe from this mailing list, send a message body of
"UNSUB FUZZY-MAIL" or "UNSUB FUZZY-MAIL yoursubscription@email.address.com"
to listproc@dbai.tuwien.ac.at
(3) To reach the human who maintains the list, send mail to
(4) WWW access and other information on Fuzzy Sets and Logic see
(5) WWW archive: http://www.dbai.tuwien.ac.at/marchives/fuzzy-mail/index.html

This archive was generated by hypermail 2b25 : Fri Aug 18 2000 - 13:31:19 MET DST