Related Categories: Software / Coding Innovations
Fuzzy logic is a system of logic which applies meaning to imprecise concepts. Rather than simply labeling a statement as either “true” or “false,” as traditional binary logic does, a statement is instead mapped along a continuum of values. These mappings are interconnected with other mapped statements, ultimately yielding applicable functions and rules despite the imprecision of the concepts on which the rules were based.
Fuzzy logic was developed initially by the engineer Lotfi Zadeh in the late Sixties as a method to create control systems whose inputs were made up from imprecise data. More recently, Zadeh has conceived of a merger of natural language processing and fuzzy logic called Computing with Words, and also of an associated Computational Theory of Perception as a preliminary way of thinking about how to compute and reason with perceptual information.
Humans think in terms or relative ranges; our linguistic statements about the world include adjectives, adverbs, intensifiers and other modifiers. These modifiers are situated contextually and change depending on our knowledge of the contexts. Fuzzy logic captures this context by allowing linguistic statements to hold a range of values, a continuum rather than a singularity, hence the term “fuzzy.”
For example, in binary logic the statement “she is happy” is either completely true or completely false; or numerically, assigned 1 for true or 0 for false. However, there are clearly degrees of happiness, as well as an area between completely happy and completely not happy, which are not accounted for in binary logic. In fuzzy logic, someone who is partly happy might be assigned a .3, someone who is very happy might be assigned a .8, and someone who is ecstatic might be assigned a .98. A word like “partly” may also imply a range of assignments. For instance, we would probably not object to assigning “partially happy” anywhere between, say .2 and .8. In other words, fuzzy logic maps overlapping linguistic meaning to a continuum of numbers representing a range of truth.
Furthermore, fuzzy logical operations can be applied to these values which result in a useful approximate “conclusion” or a decision being made. Fuzzy logic has been used as an alternative method of creating expert systems without needing to define a large number of specific rules.
Computing with Words is a nascent field initially proposed by Lotfi Zadeh, the main proponent of Fuzzy Logic. In an article in Applied Math and Sciences (reprinted from the 1999 IEEE Transactions on Circuits and Systems), Zadeh imagines a machine in which “the objects of computation are words and propositions drawn from a natural language.” He builds upon fuzzy logic, conceiving of a decision-making machine that can a) emulate human ability to be rational within an environment of imprecision, and b) illuminate the cognitive processes of decision-making. Computing with Words attempts to merge the fields of computational science, fuzzy logic, and natural language processing.
The goal of computing with words is to identify an initial data set of constraints from language and then to be able to propagate these constraints “from premises to conclusions” (312). These constraints include such categories as ranges and impositions of causality, possibility, and truthfulness. Thus the first step in a methodology of computing with words is to translate natural language into sets of interwoven constraints. This system of constraints creates a much richer and messier logic from which to derive meanings than would traditional logic. Operations on these constraints result in a “terminal data set” which can then be unpacked and reformulated into natural language.
A unit of meaning is called a “granule.” A granule exists within multiple contexts, each with its own taxonomy of boundaries and relationships, or “constraints.” For instance, a granule might be a fuzzy concept such as “Joe is partly happy,” in which the word “partly” is a constraint on the word “happy,” which is itself a constraint on the word “Joe.” Solving a set of constraints involves the fuzzy mathematics of graphing approximations of rules as functions. These functions are presented as concatenations of bounded regions to represent the range of meaning attributable to a concept. Again, as a simple example, “partly happy” might be arbitrarily demarcated on a continuum as a large range between .2 and .6, as it might be intuitively understood by fluent speakers of English. A second dimensionality might represent the probability that a particular value within a range would be chosen. In short, a single value is not simply or crisply represented by a single number or a binary value. Approximating natural language as a series of function is called “fuzzy quantization” (314). Computing with words builds a series of fuzzy premises from a chain of constraints, reducing the computation of linguistic sentences to “the solution of a nonlinear program.” An examination of the rules of inference proposed for fuzzy logic and computing with words can be found in more detail in Zadeh’s article “A Fuzzy-Set-Theoretic Interpretation of Linguistic Hedges.” More recently, Bart Kosko has explored using neural networks as a tool for nonlinear function approximation based on fuzzy logic.
The cognitive psychologist Eleanor Rosch, who developed “prototype theory,” set up experiments which showed that English speakers tend to numerically evaluate modifiers within a particular range very consistently. Additionally, she showed that particular categories are consistently regarded as more as less typical within particular contexts, even cross-culturally. Her findings are often used to support the mapping of words onto values, and also to show that human cognition and categorization are based on physical human perception.
Fuzzy logic is a system of logic that explicitly functions, at least in part, as a tool for semantic analysis in that it attempts to map linguistic concepts onto a form able to be manipulated and processed formally, mathematically, and computationally. It is especially interesting to the Transliteracies project as it may serve as a useful tool to encode concepts and categorizations which might otherwise be defined too rigidly or without explicit contextualization.
Related fields are Bayesian probability, which attempts to infer meanings and rules from a limited set of data, and expert systems, which model system behavior by explicitly defining a set of relevant rules. Also, Computing with Words is related to the field of Natural Language Processing (or NLP) whose overarching goal is to attempt to model the various aspects and intricacies of actual human text and speech.
Fuzzy logic is often used for function approximation and for systems of control. In industry, it has been used to create “smart” appliances to transition smoothly between states. For example, early engineering projects using fuzzy logic include subway systems in Tokyo and Sendai, Japan that use fuzzy logic to accelerate and brake imperceptibly to the passengers. Fuzzy logic is also often used in a variety of different controllers and software, including chips that control the auto-focus of cameras, artificial intelligence for enemies in video games, edge detection, data mining, pattern recognition algorithms, and rules for language filters.
Computing with Words and the Computational Theory of Perceptions potentially has many uses in textual and semantic analysis, data mining, and search algorithms, but the direct practical application of fuzzy logic to these fields does not seem to exist at present.
Resources for Further Study:
- Kosko, Bart. Fuzzy Engineering. Prentice-Hall, Inc.: 1997.
- Lakoff, George. “Hedges: A Study in Meaning Criteria and the Logic of Fuzzy Concepts.” Journal of Philosophical Logic. 2 (1973): 458-508.
- McNeill, Daniel and Frieberger, Paul. Fuzzy Logic. Simon & Schuster. 1993
- Rosch, E. “Cognitive representation of semantic categories.” Journal of Experimental Psychology v. 104 (1975) 573-605.
- Zadeh, Lofti. “A Fuzzy-Set-Theoretic Interpretation of Linguistic Hedges.” Journal of Cybernetics. v. 2/3 (1972) 4-34.
- Zadeh, Lofti. “From Computing with Numbers to Computing with Words”. Applied Math and Computer Science. v 12/3 (2002) 307-324.
- “Fuzzy Logic” Wikipedia entry
- “Lotfi Zadeh” Wikipedia entry
- “Eleanor Rosch” Wikipedia entry
- “Prototype Theory” Wikipedia entry