Difference between revisions of "Fuzzy logic" - New World Encyclopedia

From New World Encyclopedia
(21 intermediate revisions by 9 users not shown)
Line 1: Line 1:
 +
{{2Copyedited}}{{Ebcompleted}}{{Copyedited}}{{Paid}}{{Approved}}{{Images OK}}{{Submitted}}
 +
'''Fuzzy logic''', when construed in a wider sense, is the theory of ''fuzzy sets''. The concept of fuzzy sets provides a convenient way to represent various notions with imprecision, vagueness, or fuzziness, for example young, tall, cold, and so forth, which we frequently employ in our everyday life. As such, fuzzy logic has the rationale of more closely resembling than traditional logic the way human beings actually think, where alternatives are not black and white but shades of gray. Fuzzy logic has had notable success in various engineering applications.
  
'''Fuzzy logic''' is derived from [[fuzzy set|fuzzy set theory]] dealing with reasoning that is approximate rather than precisely deduced from classical predicate logic. It can be thought as the application side of fuzzy set theory dealing with well thought out real world expert values for a complex problem. (Klir 1997).
+
When construed in a narrower sense, fuzzy logic is an extension of ordinary two-valued logic in such a way that the points in interval units are allowed as truth-values. As the truth-values are generalized in such a way, usual truth-functional operations are generalized accordingly.
 +
{{toc}}
 +
Fuzzy logic is controversial in some circles, despite wide acceptance and a broad track record of successful applications. It is rejected by some [[Control theory|control engineers]] for validation and other reasons, and by some [[statistics|statisticians]] who hold that [[probability]] is the only rigorous mathematical description of uncertainty. Critics also argue that it cannot be a superset of ordinary set theory since membership functions are defined in terms of conventional sets.
  
Degrees of truth are often confused with [[probability|probabilities]]. However, they are conceptually distinct; fuzzy truth represents membership in vaguely defined sets, not likelihood of some event or condition. To illustrate the difference, consider this scenario: Bob is in a house with two adjacent rooms: the kitchen and the dining room. In many cases, Bob's status within the set of things "in the kitchen" is completely plain: he's either "in the kitchen" or "not in the kitchen".  What about when Bob stands in the doorway?  He may be considered "partially in the kitchen". Quantifying this partial state yields a fuzzy set membership. With only his little toe in the dining room, we might say Bob is 99% "in the kitchen" and 1% "in the dining room", for instance. No event (like a coin toss) will resolve Bob to being completely "in the kitchen" or "not in the kitchen", as long as he's standing in that doorway.  Fuzzy sets are based on vague definitions of sets, not randomness.
+
== Fuzzy Sets ==
 +
Fuzzy logic studies fuzzy sets, which was first introduced by L. Zadeh in 1965. Zadeh maintains that the meanings of many words in natural language come with degrees. Twelve years old and 18 years old are clearly both young; however 12 years old is younger than 18 years old. To represent this, he introduces the concept of ''fuzzy subsets''. A fuzzy subset of a given set ''U'' is a function from ''U'' into [1, 0]. The value that a given fuzzy set ''A'' assigns to an element ''x'' in ''U'' is called ''the degree of the membership of x in the fuzzy set A''. Fuzzy subsets are usually referred to simply as ''fuzzy sets''. Using this framework, the meaning of, say, the word “young” can be represented. Take the set of natural numbers and define some fuzzy set, as you like, that assigns values in the unit interval to natural numbers so that, say, 12 (years old) get some value (e.g. .95) higher than the value that 18 (e.g. .85). In that case, the value that each number gets assigned represents the degree of youth. The degree of the membership of 12 in the “youth” subset is higher than that of 18.  
  
Fuzzy logic allows for [[Membership function (mathematics)|set membership values]] between and including 0 and 1, shades of gray as well as black and white, and in its linguistic form, imprecise concepts like "slightly", "quite" and "very". Specifically, it allows partial membership in a set. It is related to [[fuzzy sets]] and [[possibility theory]]. It was introduced in [[1965]] by Prof. [[Lotfi Zadeh]] at the [[University of California, Berkeley]].
+
This concept of fuzzy sets generalizes the concept of sets in ordinary set theory. Given a set ''U'', a subset ''S'', in the ordinary sense, of ''U'' are determined by a function from ''U'' to [1, 0]. The elements of ''U'' that get 1 assigned represent the elements in ''S'' and the elements that get 0 assigned represent the elements that are not in ''S''. The elements of ''U'' are all either in, or not in, the subset. However, fuzzy subsets are allowed to take any value in the unit interval other than just 1 and 0. In this sense, the sets in the ordinary sense are special cases of fuzzy sets.
  
Fuzzy logic is controversial in some circles, despite wide acceptance and a broad track record of successful applications. It is rejected by some [[Control theory|control engineers]] for validation and other reasons, and by some [[statistics|statisticians]] who hold that [[probability]] is the only rigorous mathematical description of [[uncertainty]]. Critics also argue that it cannot be a superset of [[ordinary set theory]] since membership functions are defined in terms of [[conventional set]]s.
+
==Applications in Engineering==
  
== Applications ==
+
===Examples===
Fuzzy logic can be used to [[control system|control]] [[household appliance]]s such as [[washing machine]]s (which sense load size and [[detergent]] concentration and adjust their wash cycles accordingly) and [[refrigerator]]s.
+
Fuzzy logic can be used to control household appliances such as washing machines (which sense load size and detergent concentration and adjust their wash cycles accordingly) and refrigerators.
  
A basic application might characterize subranges of a continuous variable. For instance, a temperature measurement for anti-lock brakes might have several separate membership functions defining particular temperature ranges needed to control the brakes properly. Each function maps the same temperature value to a truth value in the 0 to 1 range. These truth values can then be used to determine how the brakes should be controlled.
+
A basic application might characterize subranges of a continuous variable. For instance, a temperature measurement for anti-lock brakes might have several separate membership functions defining particular temperature ranges needed to control the brakes properly. Each function maps the same temperature value to a truth value in the 0 to 1 range. These truth values can then be used to determine how the brakes should be controlled.
  
 
[[Image:Warm_fuzzy_logic_member_function.gif|center]]
 
[[Image:Warm_fuzzy_logic_member_function.gif|center]]
  
In this image, ''cold'', ''warm'', and ''hot'' are functions mapping a temperature scale. A point on that scale has three "truth values" — one for each of the three functions. For the particular temperature shown, the three truth values could be interpreted as describing the temperature as, say, "fairly cold", "slightly warm", and "not hot".
+
In this image, ''cold'', ''warm'', and ''hot'' are functions mapping a temperature scale. A point on that scale has three "truth values"—one for each of the three functions. For the particular temperature shown, the three truth values could be interpreted as describing the temperature as, say, "fairly cold," "slightly warm," and "not hot."
  
A more sophisticated practical example is the use of fuzzy logic in high-performance [[error-correcting code|error correction]] to improve information reception over a limited-bandwidth communication link affected by data-corrupting noise using [[turbo code]]s. The front-end of a decoder produces a likelihood measure for the value intended by the sender (0 or 1) for each bit in the data stream. The likelihood measures might use a scale of 256 values between extremes of "certainly 0" and "certainly 1". Two decoders may analyse the data in parallel, arriving at different likelihood results for the values intended by the sender. Each can then use as additional data the other's likelihood results, and repeats the process to improve the results until consensus is reached as to the most likely values.
+
A more sophisticated practical example is the use of fuzzy logic in high-performance error correction to improve information reception over a limited-bandwidth communication link affected by data-corrupting noise using turbo codes. The front-end of a decoder produces a likelihood measure for the value intended by the sender (0 or 1) for each bit in the data stream. The likelihood measures might use a scale of 256 values between extremes of "certainly 0" and "certainly 1." Two decoders may analyze the data in parallel, arriving at different likelihood results for the values intended by the sender. Each can then use as additional data the other's likelihood results, and repeats the process to improve the results until consensus is reached as to the most likely values.
  
== Misconceptions and controversies==
+
=== Other Examples ===
;Fuzzy logic is the same as "imprecise logic".
 
:Fuzzy logic is not any less precise than any other form of logic: it is an organized and mathematical method of handling ''inherently'' imprecise concepts. The concept of "coldness" cannot be expressed in an equation, because although temperature is a quantity, "coldness" is not. However, people have an idea of what "cold" is, and agree that something cannot be "cold" at N degrees but "not cold" at N+1 degrees — a concept classical logic cannot easily handle due to the [[principle of bivalence]].
 
 
 
;Fuzzy logic is a new way of expressing probability.
 
:Fuzzy logic and probability refer to different kinds of uncertainty. Fuzzy logic is specifically designed to deal with '''imprecision''' of facts (fuzzy logic statements), while probability deals with '''chances''' of that happening ''(but still considering the result to be precise)''. However, this is a point of controversy. Many [[statisticians]] are persuaded by the work of [[Bruno de Finetti]] that only one kind of mathematical uncertainty is needed and thus fuzzy logic is unnecessary.  On the other hand, [[Bart Kosko]] argues that probability is a subtheory of fuzzy logic, as probability only handles one kind of uncertainty. He also claims to have proven a theorem demonstrating that [[Bayes' theorem]] can be derived from the concept of [[fuzzy subsethood]]. Lotfi Zadeh, the creator of fuzzy logic, argues that fuzzy logic is different in character from probability, and is not a replacement for it. He has created a fuzzy alternative to probability, which he calls [[possibility theory]]. Other controversial approaches to uncertainty include [[Dempster-Shafer theory]] and [[rough set]]s. 
 
 
 
;Fuzzy logic will be difficult to scale to larger problems.
 
:In a widely circulated and highly controversial paper, Charles Elkan in 1993 commented that "...''there are few, if any, published reports of expert systems in real-world use that reason about uncertainty using fuzzy logic. It appears that the limitations of fuzzy logic have not been detrimental in control applications because current fuzzy controllers are far simpler than other knowledge-based systems. In future, the technical limitations of fuzzy logic can be expected to become important in practice, and work on fuzzy controllers will also encounter several problems of scale already known for other knowledge-based systems''". Reactions to Elkan's paper are many and varied, from claims that he is simply mistaken, to others who accept that he has identified important limitations of fuzzy logic that need to be addressed by system designers. In fact, fuzzy logic wasn't largely used at that time, and today it is used to solve very complex problems in the [[Artificial intelligence|AI]] area. Probably the scalability and complexity of the ''fuzzy'' system will depend more on its implementation than on the theory of fuzzy logic.
 
  
== Examples where fuzzy logic is used ==
+
* Automobile and other vehicle subsystems, such as ABS and cruise control (e.g. Tokyo monorail)
 
+
* Air conditioners
* Automobile subsystems, such as [[Anti-lock braking system|ABS]] and [[cruise control]]
+
* The MASSIVE engine used in the ''Lord of the Rings'' films, which helped show huge scale armies create random, yet orderly movements
* [[Air conditioning|Air conditioners]]
 
* The [[Massive (animation)|MASSIVE]] engine used in the ''[[The Lord of the Rings film trilogy|Lord of the Rings]]'' films, which helped show huge scale armies create random, yet orderly movements
 
 
* [[Camera]]s
 
* [[Camera]]s
* [[Digital image processing]], such as [[edge detection]]
+
* Digital image processing, such as edge detection
* [[Rice cooker]]s
+
* Rice cookers
* [[Dishwasher]]s
+
* Dishwashers
* [[Elevator]]s
+
* Elevators
* [[Washing machine]]s and other [[home appliance]]s.
+
* Washing machines and other home appliances
* [[Computer and video games|Video game]] [[artificial intelligence]]
+
* Video game [[artificial intelligence]]
* [[Language filters]] on [[message boards]] and [[chat rooms]] for filtering out offensive text
+
* Language filters on message boards and chat rooms for filtering out offensive text
 +
* Pattern recognition in Remote Sensing
  
Fuzzy logic has also been incorporated into some [[microcontroller]]s and [[microprocessor]]s, for instance, the [[Freescale 68HC12]].
+
Fuzzy logic has also been incorporated into some microcontrollers and microprocessors, for instance, the Freescale 68HC12.
  
== How fuzzy logic is applied ==
+
==Formal Fuzzy Logics==
Fuzzy logic usually uses IF/THEN rules, or constructs that are equivalent, such as [[fuzzy associative matrix|fuzzy associative matrices]].
+
Fuzzy logic, when narrowly construed, is an extension of ordinary logics. The basic idea is that, in fuzzy extensions of logics, formulas can take any values in the unit interval, instead of just 1 or 0 as in ordinary logics.  
  
Rules are usually expressed in the form:
+
=== Basic Fuzzy Propositional Logic ===
IF variable IS set THEN action
+
In ''basic fuzzy propositional logic'', formulas are built, as in the language of ordinary [[propositional calculi|propositional logic]], from propositional variables, truth-functional connectives, <math>\rightarrow</math>, <math>\wedge</math>, and propositional constant 0. (<math>\lnot \phi</math> is defined as <math>\phi \rightarrow 0</math>)
  
For example, an extremely simple temperature regulator that uses a fan might look like this:
+
Interpretation functions on propositional variables are mappings from the set of propositional variables into [0, 1], and truth functional connectives are interpreted in terms of continuous ''t-norms''. A t-norm <math>\triangle</math> is a binary operator on [0, 1] if <math>\triangle</math> satisfies the following conditions:
IF temperature IS very cold THEN stop fan
+
* <math>1 \triangle x=x</math>
IF temperature IS cold THEN turn down fan
+
* <math>x\triangle y = y \triangle x</math>
IF temperature IS normal THEN maintain level
+
* <math>x \triangle (y \triangle z) = (x \triangle y) \triangle z</math>
IF temperature IS hot THEN speed up fan
+
* if <math>v \leq w</math> and <math>x \leq y</math>, then <math>v \triangle x \leq w \triangle y </math>.
 +
A binary connective <math>\triangle</math> is continuous if <math>\triangle</math> satisfies:
 +
: for each <math>\epsilon > 0</math> there is a <math>\delta > 0</math> such that wherever <math>|x_1 -x_2| < \delta</math> and <math>|y_1 - y_2| < \delta</math>, then <math>|(x_1 \triangle y_1) - (x_2 \triangle y_2)| < \epsilon</math>.
 +
Given a t-norm <math>\triangle</math>, the residuum <math>\Rightarrow</math> is defined as:
 +
:<math>x \Rightarrow y </math> = max { ''z''| <math> x \triangle z \leq y </math>}
 +
A t-norm and its residuum interpret <math>\wedge</math> and <math>\Rightarrow</math>, and 0 in [0, 1] interprets the constant 0. Given an interpretation function ''e'' on propositional variables, a t-norm induces a valuation function <math>e_\triangle</math> on every formula.
 +
A formula <math>\phi</math> is called a <math>t-tautology</math> if <math>e_\triangle=1</math>.
  
Notice there is no "ELSE". All of the rules are evaluated, because the temperature might be "cold" and "normal" at the same time to differing degrees.
+
There is a sound and complete axiomatization, i.e. the system in which a formula <math>\phi</math>is a t-tautology if and only if <math>\phi</math> is provable.
  
The AND, OR, and NOT [[logical operator|operators]] of [[boolean logic]] exist in fuzzy logic, usually defined as the minimum, maximum, and complement; when they are defined this way, they are called the ''Zadeh operators'', because they were first defined as such in Zadeh's original papers. So for the fuzzy variables x and y:
+
===Versions of Fuzzy Propositional Logic===
 +
* _ukasiewicz fuzzy logic is a special case of basic fuzzy logic where conjunction is _ukasiewicz t-norm. It has axioms of basic logic plus additional axiom of double negation (so it is not intuitionistic logic), and its models correspond to MV-algebras.
 +
* Gödel fuzzy logic is a special case of basic fuzzy logic where conjunction is Gödel t-norm. It has axioms of basic logic plus additional axiom of idempotence of conjunction, and its models are called G-algebras.
 +
* Product fuzzy logic is a special case of basic fuzzy logic where conjunction is product t-norm. It has axioms of basic logic plus additional axiom, and its models are called product algebras.
 +
* Rational Pavelka logic is a generalization of multi-valued logic. It is an extension of _ukasziewicz fuzzy logic with additional constants.
  
NOT x = (1 - truth(x))
+
=== Basic Fuzzy Predicate Logic ===
x AND y = minimum(truth(x), truth(y))
+
The language of ''basic fuzzy predicate logic'' consists of the same items as the [[first-order logic]] (variables, predicate symbols, <math>\wedge</math>, <math>\rightarrow</math>, 0, quantifiers). An interpretation consists of a nonempty domain and a function that maps an n-ary predicate symbol to an n-ary fuzzy relation (an n-ary fuzzy relation here is a mapping from n-ary tuples of objects in the domain to values in [0, 1]. An n-ary fuzzy relation that corresponds to a predicate symbol ''R'' represents the degrees in which n-ary tuples satisfy the formula <math>Rx_1...x_n</math>. Given a continuous t-norm, the connectives are interpreted as in the case of basic fuzzy propositional logic. The truth degree of a formula of the form <math>\forall x \phi</math> is defined as the infimum of the truth degrees of the instances of <math>\phi</math>, and that of a formula of the form <math>\exists x \phi</math> is defined as the supremum of the instances of <math>\phi</math>. The interpretations of basic fuzzy predicate logic generalize to so-called ''BL-algebra'', and, based on the interpretation, a sound and complete axiomatization can be given (see Hájek 1998 for details).
x OR y = maximum(truth(x), truth(y))
 
  
There are also other operators, more linguistic in nature, called ''hedges'' that can be applied. These are generally adverbs such as "very", or "somewhat", which modify the meaning of a set using a mathematical formula.
+
== Misconceptions and controversies==
 +
;Fuzzy logic is the same as "imprecise logic."
 +
:Fuzzy logic is not any less precise than any other form of logic: it is an organized and mathematical method of handling ''inherently'' imprecise concepts. The concept of "coldness" cannot be expressed in an equation, because although temperature is a quantity, "coldness" is not. However, people have an idea of what "cold" is, and agree that something cannot be "cold" at N degrees but "not cold" at N+1 degrees&mdash;a concept classical logic cannot easily handle due to the principle of bivalence.
  
In application, the programming language [[Prolog]] is well geared to implementing fuzzy logic with its facilities to setup a database of "rules" which are queried to deduct logic. This sort of programming is known as logic programming.
+
;Fuzzy logic is a new way of expressing probability.
 +
:Fuzzy logic and probability refer to different kinds of uncertainty. Fuzzy logic is specifically designed to deal with '''imprecision''' of facts (fuzzy logic statements), while probability deals with '''chances''' of that happening ''(but still considering the result to be precise)''. However, this is a point of controversy. Many [[statisticians]] are persuaded by the work of Bruno de Finetti that only one kind of mathematical uncertainty is needed and thus fuzzy logic is unnecessary. On the other hand, Bart Kosko argues that probability is a subtheory of fuzzy logic, as probability only handles one kind of uncertainty. He also claims to have proven a theorem demonstrating that Bayes' theorem can be derived from the concept of fuzzy subsethood. Lotfi Zadeh, the creator of fuzzy logic, argues that fuzzy logic is different in character from probability, and is not a replacement for it. He has created a fuzzy alternative to probability, which he calls [[possibility theory]]. Other controversial approaches to uncertainty include Dempster-Shafer theory and rough sets.  
  
=== Other examples ===
+
;Fuzzy logic will be difficult to scale to larger problems.
 
+
:In a widely circulated and highly controversial paper in 1993, Charles Elkan commented that "...there are few, if any, published reports of expert systems in real-world use that reason about uncertainty using fuzzy logic. It appears that the limitations of fuzzy logic have not been detrimental in control applications because current fuzzy controllers are far simpler than other knowledge-based systems. In future, the technical limitations of fuzzy logic can be expected to become important in practice, and work on fuzzy controllers will also encounter several problems of scale already known for other knowledge-based systems." Reactions to Elkan's paper are many and varied, from claims that he is simply mistaken, to others who accept that he has identified important limitations of fuzzy logic that need to be addressed by system designers. In fact, fuzzy logic wasn't largely used at that time, and today it is used to solve very complex problems in the [[Artificial intelligence|AI]] area. Probably the scalability and complexity of the ''fuzzy'' system will depend more on its implementation than on the theory of fuzzy logic.
* If a man is 1.8 meters, consider him as tall:
 
IF male IS true AND height >= 1.8 THEN is_tall IS true
 
IF male IS true AND height >= 1.8 THEN is_short IS false
 
 
 
* The fuzzy rules do not make the sharp distinction between tall and short, that is not so realistic:
 
IF height <= medium male THEN is_short IS agree somehow
 
IF height >= medium male THEN is_tall IS agree somehow
 
 
 
In the fuzzy case, there are no such heights like 1.83 meters, but there are fuzzy values, like the following assignments:
 
 
 
dwarf male = [0, 1.3] m
 
small male = (1.3, 1.5]
 
medium male = (1.5, 1.8]
 
tall male = (1.8, 2.0]
 
giant male > 2.0 m
 
 
 
For the [[consequent]], there are also not only two values, but five, say:
 
agree not = 0
 
agree little = 1
 
agree somehow = 2
 
agree a lot = 3
 
agree fully = 4
 
 
 
In the binary, or "crisp", case, a person of 1.79 meters of height is considered short. If another person is 1.8 meters or 2.25 meters, these persons are considered tall.
 
 
 
The crisp example differs deliberately from the fuzzy one. We did not put in the [[antecedent]]  
 
 
 
IF male >= agree somehow AND ...
 
 
 
as gender is often considered as a binary information. So, it is not so complex like being tall.
 
  
 
== See also ==
 
== See also ==
 
* [[Artificial intelligence]]
 
* [[Artificial intelligence]]
* [[Artificial neural network]]
 
* [[Neuro-fuzzy]]
 
* [[Biologically-inspired computing]]
 
* [[Combs method]]
 
* [[Control system]]
 
* [[Defuzzification]]
 
 
* [[Dynamic logic]]
 
* [[Dynamic logic]]
* [[Expert system]]
 
* [[Fuzzy associative matrix]]
 
* [[Fuzzy concept]]
 
* [[Fuzzy Control Language]]
 
* [[Fuzzy control system]]
 
* [[Fuzzy electronics]]
 
* [[Fuzzy set]]
 
* [[Machine learning]]
 
* [[Paradox of the heap]]
 
* [[Pattern recognition]]
 
* [[Rough set]]
 
* [[FSQL]] (Fuzzy SQL, a fuzzy language for databases)
 
  
 
== Bibliography ==
 
== Bibliography ==
  
* Constantin von Altrock, ''Fuzzy Logic and NeuroFuzzy Applications Explained'' (2002), ISBN 0-13-368465-2
+
* von Altrock, Constantin. 2002. ''Fuzzy Logic and NeuroFuzzy Applications Explained''. ISBN 0133684652
* Earl Cox, ''The Fuzzy Systems Handbook'' (1994), ISBN 0-12-194270-8
+
* Cox, Earl. 1994. ''The Fuzzy Systems Handbook''. ISBN 0121942708
* Charles Elkan. ''The Paradoxical Success of Fuzzy Logic''. November 1993. Available from [http://www.cse.ucsd.edu/users/elkan/ Elkan's home page].
+
* Elkan, Charles. ''The Paradoxical Success of Fuzzy Logic''. November 1993. Available from [http://www.cse.ucsd.edu/users/elkan/ Elkan's home page] Retrieved September 18, 2008.
* Frank Höppner, Frank Klawonn, Rudolf Kruse and Thomas Runkler, ''Fuzzy Cluster Analysis'' (1999), ISBN 0-471-98864-2
+
* Hájek, Petr. “Metamathematics of fuzzy logic.” Kluwer, 1998.
* George Klir and Tina Folger, ''Fuzzy Sets, Uncertainty, and Information'' (1988), ISBN 0-13-345984-5
+
* Höppner, Frank, Frank Klawonn, Rudolf Kruse and Thomas Runkler. 1999. ''Fuzzy Cluster Analysis''. ISBN 0471988642
* George Klir, UTE H. St.Clair and Bo Yuan ''Fuzzy Set Theory Foundations and Applications'',1997,ISBN 0-13-341058-7
+
* Klir, George and Tina Folger. 1988. ''Fuzzy Sets, Uncertainty, and Information''. ISBN 0133459845
* George Klir and Bo Yuan, ''Fuzzy Sets and Fuzzy Logic'' (1995) ISBN 0-13-101171-5
+
* Klir, George, UTE H. St. Clair and Bo Yuan. 1997. ''Fuzzy Set Theory Foundations and Applications''.
* Ronald Yager and Dimitar Filev, ''Essentials of Fuzzy Modeling and Control'' (1994), ISBN 0-471-01761-2
+
* Klir, George and Bo Yuan. 1995. ''Fuzzy Sets and Fuzzy Logic''. ISBN 0131011715
* Kevin M. Passino and Stephen Yurkovich, Fuzzy Control, Addison Wesley Longman, Menlo Park, CA, 1998.
+
* Kosko, Bart. 1993. ''Fuzzy Thinking: The New Science of Fuzzy Logic''. Hyperion. ISBN 078688021X
 +
* Nguyen, Hung T. 2006. ''A First Course in Fuzzy Logic'', 3rd edition. Boca Raton: Chapman & Hall/CRC.
 +
* Passino, Kevin M. and Stephen Yurkovich. 1998. ''Fuzzy Control''. Menlo Park, CA: Addison Wesley Longman.
 +
* Yager, Ronald and Dimitar Filev. 1994. ''Essentials of Fuzzy Modeling and Control''. ISBN 0471017612
 +
* Zimmermann, Hans-Jürgen. 2001. ''Fuzzy Set Theory and its Applications''. ISBN 0792374355
  
 
== External links ==
 
== External links ==
 +
All links retrieved May 16, 2017.
 +
 +
*[http://udel.edu/~ebenson/Journal_Articles/Benson_ASAE_2000_Adaptive_Edge_Detection.pdf Machine Vision]
 
*[http://www-2.cs.cmu.edu/Groups/AI/html/faqs/ai/fuzzy/part1/faq.html Fuzzy Logic Newsgroup FAQ]
 
*[http://www-2.cs.cmu.edu/Groups/AI/html/faqs/ai/fuzzy/part1/faq.html Fuzzy Logic Newsgroup FAQ]
*[http://www.answermath.com/fuzzymath.htm Simple test to check how well you understand it]
 
*[http://mbfuzzit.sourceforge.net Open Source Software "mbFuzzIT" (Java)]
 
*[http://jfuzzylogic.sourceforge.net/ JFuzzyLogic: Open Source Fuzzy Logic Package + FCL (sourceforge, java)]
 
*[http://www.jimbrule.com/fuzzytutorial.html Fuzzy Logic Tutorial]
 
*[http://www.austinlinks.com/Fuzzy/overview.html Fuzzy Logic Overview]
 
*[http://www.ncst.ernet.in/education/apgdst/aifac/aicontent/fuzzy/fuzzy.pdf Fuzzy Logic Lecture]
 
*[http://www.fpk.tu-berlin.de/~anderl/epsilon/fuzzyintro4.pdf Fuzzy Logic Introduction]
 
*[http://www.fuzzytech.com Download Free Fuzzy Logic Simulation Software]
 
*[http://www.fuzzy-logic.com/ch3.htm Fuzzy Logic for "Just Plain Folks"]
 
 
*[http://plato.stanford.edu/entries/logic-fuzzy/ Stanford Encyclopedia of Philosophy entry]
 
*[http://plato.stanford.edu/entries/logic-fuzzy/ Stanford Encyclopedia of Philosophy entry]
* [http://will.dwinnell.com/will/Modeling%20Methodology%204%20-%20Localizing%20Global%20Models.DOC Modeling Methodology 4: Localizing Global Models] Will Dwinnell (1998) ''PC AI'' May/Jun, 1998 Using fuzzy clustering to enhance neural network performance
+
*[http://www.lcc.uma.es/~ppgg/FSQL/ Web page about FSQL] References and links about FSQL.
*[http://www.uwm.edu/People/bsra/ftp/Taxonomy.pdf Fuzzy Logic Control - A Taxonomy of Demonstrated Benefits]
 
* [http://www.lcc.uma.es/~ppgg/FSQL/ Web page about FSQL]: References and links about [[FSQL]].
 
* [http://www.byondscape.com/ascape.dmb/Gazoot.2004-0315/ Fuzzy logic in your game] Nice and clear fuzzy logic tutorial, aimed towards game programming.
 
  
=== Sample applications ===
+
===General Philosophy Sources===
*[http://jds.fass.org/cgi/reprint/84/2/400.pdf Agriculture]
+
*[http://plato.stanford.edu/ Stanford Encyclopedia of Philosophy]
*[http://www.isprs.org/istanbul2004/comm6/papers/685.pdf GIS]
+
*[http://www.iep.utm.edu/ The Internet Encyclopedia of Philosophy]
*[http://www.medialab.ntua.gr/medialab/Papers2003/2003-8/8.pdf Image Processing]
+
*[http://www.bu.edu/wcp/PaidArch.html Paideia Project Online]
*[http://www.cs.wayne.edu/~mdong/papers/paper_fuzzytree.pdf Machine Learning]
+
*[http://www.gutenberg.org/ Project Gutenberg]  
*[http://udel.edu/~ebenson/Journal_Articles/Benson_ASAE_2000_Adaptive_Edge_Detection.pdf Machine Vision]
 
*[http://www3.sympatico.ca/alawnicz/PAGE0212.PDF Medicine]
 
*[http://eprint.uq.edu.au/archive/00000625/02/paper13.pdf OCR]
 
*[http://www.cs.nott.ac.uk/~cxf/Papers/The_Integration.pdf Robot Navigation]
 
*[http://homepages.cae.wisc.edu/~ningyue/fuzzy.pdf Shape Recognition]
 
*[http://www.ensc.sfu.ca/~ljilja/ENSC833/Projects/chen/presentation.pdf Telecommunications]
 
  
[[Category:Computer science]]
+
[[Category:Philosophy]]
[[Category:Logic in computer science]]
 
[[Category:Fuzzy logic]]
 
[[Category:Logic]]
 
 
[[Category:Philosophy and religion]]
 
[[Category:Philosophy and religion]]
  
  
{{Credit|49327484}}
+
{{Credit|65694465}}

Revision as of 07:38, 23 January 2023

Fuzzy logic, when construed in a wider sense, is the theory of fuzzy sets. The concept of fuzzy sets provides a convenient way to represent various notions with imprecision, vagueness, or fuzziness, for example young, tall, cold, and so forth, which we frequently employ in our everyday life. As such, fuzzy logic has the rationale of more closely resembling than traditional logic the way human beings actually think, where alternatives are not black and white but shades of gray. Fuzzy logic has had notable success in various engineering applications.

When construed in a narrower sense, fuzzy logic is an extension of ordinary two-valued logic in such a way that the points in interval units are allowed as truth-values. As the truth-values are generalized in such a way, usual truth-functional operations are generalized accordingly.

Fuzzy logic is controversial in some circles, despite wide acceptance and a broad track record of successful applications. It is rejected by some control engineers for validation and other reasons, and by some statisticians who hold that probability is the only rigorous mathematical description of uncertainty. Critics also argue that it cannot be a superset of ordinary set theory since membership functions are defined in terms of conventional sets.

Fuzzy Sets

Fuzzy logic studies fuzzy sets, which was first introduced by L. Zadeh in 1965. Zadeh maintains that the meanings of many words in natural language come with degrees. Twelve years old and 18 years old are clearly both young; however 12 years old is younger than 18 years old. To represent this, he introduces the concept of fuzzy subsets. A fuzzy subset of a given set U is a function from U into [1, 0]. The value that a given fuzzy set A assigns to an element x in U is called the degree of the membership of x in the fuzzy set A. Fuzzy subsets are usually referred to simply as fuzzy sets. Using this framework, the meaning of, say, the word “young” can be represented. Take the set of natural numbers and define some fuzzy set, as you like, that assigns values in the unit interval to natural numbers so that, say, 12 (years old) get some value (e.g. .95) higher than the value that 18 (e.g. .85). In that case, the value that each number gets assigned represents the degree of youth. The degree of the membership of 12 in the “youth” subset is higher than that of 18.

This concept of fuzzy sets generalizes the concept of sets in ordinary set theory. Given a set U, a subset S, in the ordinary sense, of U are determined by a function from U to [1, 0]. The elements of U that get 1 assigned represent the elements in S and the elements that get 0 assigned represent the elements that are not in S. The elements of U are all either in, or not in, the subset. However, fuzzy subsets are allowed to take any value in the unit interval other than just 1 and 0. In this sense, the sets in the ordinary sense are special cases of fuzzy sets.

Applications in Engineering

Examples

Fuzzy logic can be used to control household appliances such as washing machines (which sense load size and detergent concentration and adjust their wash cycles accordingly) and refrigerators.

A basic application might characterize subranges of a continuous variable. For instance, a temperature measurement for anti-lock brakes might have several separate membership functions defining particular temperature ranges needed to control the brakes properly. Each function maps the same temperature value to a truth value in the 0 to 1 range. These truth values can then be used to determine how the brakes should be controlled.

Warm fuzzy logic member function.gif

In this image, cold, warm, and hot are functions mapping a temperature scale. A point on that scale has three "truth values"—one for each of the three functions. For the particular temperature shown, the three truth values could be interpreted as describing the temperature as, say, "fairly cold," "slightly warm," and "not hot."

A more sophisticated practical example is the use of fuzzy logic in high-performance error correction to improve information reception over a limited-bandwidth communication link affected by data-corrupting noise using turbo codes. The front-end of a decoder produces a likelihood measure for the value intended by the sender (0 or 1) for each bit in the data stream. The likelihood measures might use a scale of 256 values between extremes of "certainly 0" and "certainly 1." Two decoders may analyze the data in parallel, arriving at different likelihood results for the values intended by the sender. Each can then use as additional data the other's likelihood results, and repeats the process to improve the results until consensus is reached as to the most likely values.

Other Examples

  • Automobile and other vehicle subsystems, such as ABS and cruise control (e.g. Tokyo monorail)
  • Air conditioners
  • The MASSIVE engine used in the Lord of the Rings films, which helped show huge scale armies create random, yet orderly movements
  • Cameras
  • Digital image processing, such as edge detection
  • Rice cookers
  • Dishwashers
  • Elevators
  • Washing machines and other home appliances
  • Video game artificial intelligence
  • Language filters on message boards and chat rooms for filtering out offensive text
  • Pattern recognition in Remote Sensing

Fuzzy logic has also been incorporated into some microcontrollers and microprocessors, for instance, the Freescale 68HC12.

Formal Fuzzy Logics

Fuzzy logic, when narrowly construed, is an extension of ordinary logics. The basic idea is that, in fuzzy extensions of logics, formulas can take any values in the unit interval, instead of just 1 or 0 as in ordinary logics.

Basic Fuzzy Propositional Logic

In basic fuzzy propositional logic, formulas are built, as in the language of ordinary propositional logic, from propositional variables, truth-functional connectives, , , and propositional constant 0. ( is defined as )

Interpretation functions on propositional variables are mappings from the set of propositional variables into [0, 1], and truth functional connectives are interpreted in terms of continuous t-norms. A t-norm is a binary operator on [0, 1] if satisfies the following conditions:

  • if and , then .

A binary connective is continuous if satisfies:

for each there is a such that wherever and , then .

Given a t-norm , the residuum is defined as:

= max { z| }

A t-norm and its residuum interpret and , and 0 in [0, 1] interprets the constant 0. Given an interpretation function e on propositional variables, a t-norm induces a valuation function on every formula. A formula is called a if .

There is a sound and complete axiomatization, i.e. the system in which a formula is a t-tautology if and only if is provable.

Versions of Fuzzy Propositional Logic

  • _ukasiewicz fuzzy logic is a special case of basic fuzzy logic where conjunction is _ukasiewicz t-norm. It has axioms of basic logic plus additional axiom of double negation (so it is not intuitionistic logic), and its models correspond to MV-algebras.
  • Gödel fuzzy logic is a special case of basic fuzzy logic where conjunction is Gödel t-norm. It has axioms of basic logic plus additional axiom of idempotence of conjunction, and its models are called G-algebras.
  • Product fuzzy logic is a special case of basic fuzzy logic where conjunction is product t-norm. It has axioms of basic logic plus additional axiom, and its models are called product algebras.
  • Rational Pavelka logic is a generalization of multi-valued logic. It is an extension of _ukasziewicz fuzzy logic with additional constants.

Basic Fuzzy Predicate Logic

The language of basic fuzzy predicate logic consists of the same items as the first-order logic (variables, predicate symbols, , , 0, quantifiers). An interpretation consists of a nonempty domain and a function that maps an n-ary predicate symbol to an n-ary fuzzy relation (an n-ary fuzzy relation here is a mapping from n-ary tuples of objects in the domain to values in [0, 1]. An n-ary fuzzy relation that corresponds to a predicate symbol R represents the degrees in which n-ary tuples satisfy the formula . Given a continuous t-norm, the connectives are interpreted as in the case of basic fuzzy propositional logic. The truth degree of a formula of the form is defined as the infimum of the truth degrees of the instances of , and that of a formula of the form is defined as the supremum of the instances of . The interpretations of basic fuzzy predicate logic generalize to so-called BL-algebra, and, based on the interpretation, a sound and complete axiomatization can be given (see Hájek 1998 for details).

Misconceptions and controversies

Fuzzy logic is the same as "imprecise logic."
Fuzzy logic is not any less precise than any other form of logic: it is an organized and mathematical method of handling inherently imprecise concepts. The concept of "coldness" cannot be expressed in an equation, because although temperature is a quantity, "coldness" is not. However, people have an idea of what "cold" is, and agree that something cannot be "cold" at N degrees but "not cold" at N+1 degrees—a concept classical logic cannot easily handle due to the principle of bivalence.
Fuzzy logic is a new way of expressing probability.
Fuzzy logic and probability refer to different kinds of uncertainty. Fuzzy logic is specifically designed to deal with imprecision of facts (fuzzy logic statements), while probability deals with chances of that happening (but still considering the result to be precise). However, this is a point of controversy. Many statisticians are persuaded by the work of Bruno de Finetti that only one kind of mathematical uncertainty is needed and thus fuzzy logic is unnecessary. On the other hand, Bart Kosko argues that probability is a subtheory of fuzzy logic, as probability only handles one kind of uncertainty. He also claims to have proven a theorem demonstrating that Bayes' theorem can be derived from the concept of fuzzy subsethood. Lotfi Zadeh, the creator of fuzzy logic, argues that fuzzy logic is different in character from probability, and is not a replacement for it. He has created a fuzzy alternative to probability, which he calls possibility theory. Other controversial approaches to uncertainty include Dempster-Shafer theory and rough sets.
Fuzzy logic will be difficult to scale to larger problems.
In a widely circulated and highly controversial paper in 1993, Charles Elkan commented that "...there are few, if any, published reports of expert systems in real-world use that reason about uncertainty using fuzzy logic. It appears that the limitations of fuzzy logic have not been detrimental in control applications because current fuzzy controllers are far simpler than other knowledge-based systems. In future, the technical limitations of fuzzy logic can be expected to become important in practice, and work on fuzzy controllers will also encounter several problems of scale already known for other knowledge-based systems." Reactions to Elkan's paper are many and varied, from claims that he is simply mistaken, to others who accept that he has identified important limitations of fuzzy logic that need to be addressed by system designers. In fact, fuzzy logic wasn't largely used at that time, and today it is used to solve very complex problems in the AI area. Probably the scalability and complexity of the fuzzy system will depend more on its implementation than on the theory of fuzzy logic.

See also

Bibliography

  • von Altrock, Constantin. 2002. Fuzzy Logic and NeuroFuzzy Applications Explained. ISBN 0133684652
  • Cox, Earl. 1994. The Fuzzy Systems Handbook. ISBN 0121942708
  • Elkan, Charles. The Paradoxical Success of Fuzzy Logic. November 1993. Available from Elkan's home page Retrieved September 18, 2008.
  • Hájek, Petr. “Metamathematics of fuzzy logic.” Kluwer, 1998.
  • Höppner, Frank, Frank Klawonn, Rudolf Kruse and Thomas Runkler. 1999. Fuzzy Cluster Analysis. ISBN 0471988642
  • Klir, George and Tina Folger. 1988. Fuzzy Sets, Uncertainty, and Information. ISBN 0133459845
  • Klir, George, UTE H. St. Clair and Bo Yuan. 1997. Fuzzy Set Theory Foundations and Applications.
  • Klir, George and Bo Yuan. 1995. Fuzzy Sets and Fuzzy Logic. ISBN 0131011715
  • Kosko, Bart. 1993. Fuzzy Thinking: The New Science of Fuzzy Logic. Hyperion. ISBN 078688021X
  • Nguyen, Hung T. 2006. A First Course in Fuzzy Logic, 3rd edition. Boca Raton: Chapman & Hall/CRC.
  • Passino, Kevin M. and Stephen Yurkovich. 1998. Fuzzy Control. Menlo Park, CA: Addison Wesley Longman.
  • Yager, Ronald and Dimitar Filev. 1994. Essentials of Fuzzy Modeling and Control. ISBN 0471017612
  • Zimmermann, Hans-Jürgen. 2001. Fuzzy Set Theory and its Applications. ISBN 0792374355

External links

All links retrieved May 16, 2017.

General Philosophy Sources


Credits

New World Encyclopedia writers and editors rewrote and completed the Wikipedia article in accordance with New World Encyclopedia standards. This article abides by terms of the Creative Commons CC-by-sa 3.0 License (CC-by-sa), which may be used and disseminated with proper attribution. Credit is due under the terms of this license that can reference both the New World Encyclopedia contributors and the selfless volunteer contributors of the Wikimedia Foundation. To cite this article click here for a list of acceptable citing formats.The history of earlier contributions by wikipedians is accessible to researchers here:

The history of this article since it was imported to New World Encyclopedia:

Note: Some restrictions may apply to use of individual images which are separately licensed.