It is a type of logic, that recognizes more than simple true and false values. With fuzzy logic, propositions can be
represented with degrees of truthfulness and falsehood. For example, the statement, "Today is sunny," might be 100 percent true if there are no clouds, 80 percent true if there are a few clouds, 50 percent true if it's
hazy, and 0 percent true if it rains all day. Fuzzy logic has proved to be particularly useful in expert systems and other artificial intelligence applications and is usually used as the underlying logic system for fuzzy
expert systems. It is also used in some spell checkers to suggest a list of probable words to replace a misspelled one. Fuzzy logic is a superset of conventional logic (also known as "Boolean logic") that
has been extended to handle the concept of partial truth-truth values between "completely true" and "completely false."
Dr. Lotfi Zadeh of UC Berkeley introduced fuzzy logic in the 1960's as a means to
model the uncertainty of natural language. Rather than regard fuzzy theory as a single theory, we should regard the process of "fuzzification" as a methodology to generalize any specific theory from a
crisp (discrete) form to a continuous (fuzzy) form. Researchers have also introduced fuzzy calculus, fuzzy differential equations, and so on.
Fuzzy logic emerged into the mainstream of information technology in
the late 1980's and early 1990's. Since fuzzy logic can handle approximate information in a systematic way, it is ideal for controlling nonlinear systems and for modeling complex systems where an inexact model exists or systems
where ambiguity or vagueness is common. A typical fuzzy system consists of a rule base, membership functions, and an inference procedure. Today, fuzzy logic is found in a variety of control applications including chemical process
control, manufacturing, and in such consumer products as washing machines, video cameras, and automobiles.
Most applications of fuzzy logic use it as the underlying logic system for fuzzy expert systems.
expert system is an expert system that uses a collection of fuzzy membership functions and rules, instead of Boolean logic, to reason about data. The rules in a fuzzy expert system are usually of a form similar to the following:
if x is low and y is high then z = medium
where x and y are input variables (names for know data values), z is an output variable (a name for a data value to be computed), low is a membership function (fuzzy
subset) defined on x, high is a membership function defined on y, and medium is a membership function defined on z.
The antecedent (the rule's premise) describes to what degree the rule applies, while the conclusion (the
rule's consequent) assigns a membership function to each of one or more output variables. Most tools for working with fuzzy expert systems allow more than one conclusion per rule. The set of rules in a fuzzy expert system is
known as the rulebase or knowledge base.
The general inference process proceeds in three (or four) steps.
1. Under FUZZIFICATION, the membership functions defined on the input variables are applied to their actual
values, to determine the degree of truth for each rule premise.
2. Under INFERENCE, the truth-value for the premise of each rule is computed, and applied to the conclusion part of each
rule. This results in one fuzzy subset to be assigned to each output variable for each rule. Usually only MIN or PRODUCT are used as inference rules. In MIN
inferencing, the output membership function is clipped off at a height corresponding to the rule premise's computed degree of truth (fuzzy logic AND). In PRODUCT inferencing, the output membership function
is scaled by the rule premise's computed degree of truth.
3. Under COMPOSITION, all of the fuzzy subsets assigned to each output variable are combined together to form a single fuzzy
subset for each output variable. Again, usually MAX or SUM are used. In MAX composition, the combined output fuzzy subset is constructed by taking the point wise maximum over all of the
fuzzy subsets assigned to variable by the inference rule (fuzzy logic OR). In SUM composition, the combined output fuzzy subset is constructed by taking the point wise sum
over all of the fuzzy subsets assigned to the output variable by the inference rule.
4. Finally is the (optional) DEFUZZIFICATION, which is used when it is useful to convert the fuzzy
output set to a crisp number. There are more defuzzification methods than you can shake a stick at (at least 30). Two of the more common techniques are the CENTROID and
MAXIMUM methods. In the CENTROID method, the crisp value of the output variable is computed by finding the variable value of the center of gravity of the membership function for the fuzzy
value. In the MAXIMUM method, one of the variable values at which the fuzzy subset has its maximum truth-value is chosen as the crisp value for the output variable.
Why use FL?
FL offers several unique features that make it a particularly good choice for many control problems.
1) It is inherently robust since it does not require precise, noise-free inputs and can be programmed to fail safely if a
feedback sensor quits or is destroyed. The output control is a smooth control function despite a wide range of input variations.
2) Since the FL controller processes user-defined rules governing the target control system,
it can be modified and tweaked easily to improve or drastically alter system performance.
3) FL is not limited to a few feedback inputs and one or two control outputs, nor is it necessary to measure or compute rate-of-change
parameters in order for it to be implemented. Any sensor data that provides some indication of a system's actions and reactions is sufficient. This allows the sensors to be inexpensive and imprecise thus keeping the overall system
cost and complexity low.
4) Because of the rule-based operation, any reasonable number of inputs can be processed (1-8 or more) and numerous outputs (1-4 or more) generated, although defining the rulebase quickly becomes
complex if too many inputs and outputs are chosen for a single implementation since rules defining their interrelations must also be defined. It would be better to break the control system into smaller chunks and use several
smaller FL controllers distributed on the system, each with more limited responsibilities.
5) FL can control nonlinear systems that would be difficult or impossible to model mathematically. This opens doors for control
systems that would normally be deemed unfeasible for automation.
How FL is used?
1) Define the control objectives and criteria:
2) Determine the input and output relationships and choose a minimum number of variables for input to the FL engine (typically error and
3) Using the rule-based structure of FL, break the control problem down into a series of IF X AND Y THEN Z rules that define the desired system output response for given system input conditions. The
number and complexity of rules depends on the number of input parameters that are to be processed and the number fuzzy variables associated with each parameter. If possible, use at least one variable and its time derivative.
4) Create FL membership functions that define the meaning (values) of Input/Output terms used in the rules.
5) Create the necessary pre- and post-processing FL routines if implementing in S/W, otherwise program the rules
into the FL H/W engine.
6) Test the system, evaluate the results, tune the rules and membership functions, and retest until satisfactory results are obtained.
In 1973, Professor Lotfi Zadeh proposed the concept of linguistic or
"fuzzy" variables. Think of them as linguistic objects or words, rather than numbers. The sensor input is a noun, e.g. "temperature", "displacement", "velocity", "flow",
"pressure", etc. Since error is just the difference, it can be thought of the same way. The fuzzy variables themselves are adjectives that modify the variable (e.g. "large positive" error, "small
positive" error," zero" error, "small negative" error, and "large negative" error). As a minimum, one could simply have "positive", "zero", and "negative" variables
for each of the parameters.
Here are some examples of how Fuzzy Logic has been applied in reality:
+ Camera aiming for the telecast of sporting events
Substitution of an expert for the assessment of stock exchange activities
+Preventing unwanted temperature fluctuations in air-conditioning systems
+Efficient and stable control of car-engines
+Improved efficiency and optimized function of industrial control applications
(Aptronix, Omron, Meiden, Sha, Micom, Mitsubishi, Nisshin-Denki, Oku-Electronics)
+Optimized planning of bus time tables
(Toshiba, Nippon-System, Keihan-Express)
+Archiving system for documents
+Prediction system for early recognition of earthquakes
(Inst. of Seismology Bureau of Metrology, Japan)
+Medicine technology: cancer diagnosis
(Kawasaki Medical School)
+Recognition of handwritten symbols with pocket computers
+Automatic motor-control for vacuum cleaners with recognition of surface condition
and degree of soiling
+Single button control for washing Machines
+Recognition of handwriting, objects, voice
(CSK, Hitachi, Hosai Univ., Ricoh)
+Simulation for legal proceedings
(Meihi Gakuin Univ, Nagoy Univ.)
+Software-design for industrial processes
(Aptronix, Harima, Ishikawajima-OC Engeneering)
+Controlling of machinery speed and temperature for steel-works
(Kawasaki Steel, New-Nippon Steel, NKK)
+Controlling of subway systems
in order to improve driving comfort, precision of halting
and power economy
+Improved sensitiveness and efficiency for elevator control
(Fujitec, Hitachi, Toshiba)
What are Expert Systems?
Conventional programming languages, such as FORTRAN and C, are designed and optimized for the procedural manipulation of data (such as numbers and arrays).
Humans, however, often solve complex problems using very abstract, symbolic approaches, which are not well suited for implementation in conventional languages. Although abstract information can be modeled in these languages,
considerable programming effort is required to transform the information to a format usable with procedural programming paradigms.
One of the results of research in the area of artificial intelligence has been the
development of techniques, which allow the modeling of information at higher levels of abstraction. These techniques are embodied in languages or tools, which allow programs to be built that closely, resemble human logic in their
implementation and are therefore easier to develop and maintain. These programs, which emulate human expertise in well-defined problem domains, are called expert systems.
Rule-based programming is one of the most commonly
used techniques for developing expert systems. In this programming paradigm, rules are used to represent heuristics, or "rules of thumb," which specify a set of actions to be performed for a given situation. A rule is
composed of an if portion and a then portion. The if portion of a rule is a series of patterns which specify the facts (or data) which cause the rule to be applicable. The process of matching facts to patterns is called pattern
matching. The expert system tool provides a mechanism, called the inference engine, which automatically matches facts against patterns and determines which rules are applicable. The inference engine selects a rule and then the
actions of the selected rule are executed (which may affect the list of applicable rules by adding or removing facts). The inference engine then selects another rule and executes its actions. This process continues until no
applicable rules remain
Some popular Tools for expert Systems/FL
> CLIPS is a productive development and delivery expert system
tool which provides a complete environment for the construction of rule and/or object based expert systems. Created in 1985, CLIPS is now widely used throughout the government, industry, and academia.
TECH for Business/Features Overview
With fuzzyTECH for Business, INFORM provides such a development platform. fuzzyTECH for Business is based on the fuzzyTECH Editions line of development tools that over the past five
years has become a standard in technical applications of fuzzy logic. fuzzyTECH for Business is the only fuzzy logic tool that provides seamless integration with standard software packages such as MS-Excel, MS-Access or
VisualBasic/VisualC++.fuzzyTECH for Business supports all open standards for integration and portability. It uses the FTL format to store fuzzy logic projects on disk.Also, fuzzyTECH features standard MS-Windows interface
technologies such as ActiveX, DLL, and DDE.
Expert System Applications
Economic gain has been realized along many dimensions: speed-up of professional work, internal cost savings on operations, return on investment, improved quality and consistency of decision
making, new products and services, captured organizational know-how, improvements in the way a company does its business, crisis management, and simulation of innovation."
A Few Expert System Application Areas
Accounting & Finance-Cost Code Selector, Stock & Commodity Trading, Portfolio Construction, Home Purchasing, Financial Planner Training and Selection, Personal Tax Advisor, Detecting Insider Trading,
Organizational Services, Credit Analysis Advisor.
Activities-Aquarium Water Quality Analysis, Bridge Opening Bid Advisor, Bird Identification, Sailing Tactics, Yarn Analysis for Weaving...
Agriculture-Irrigation and Pest Control, Crop Variety Selection and Management, Soil Characterization and Utilization for Specific Areas, Fertilizer, Climate and Soil Interaction and Analysis, Salmon Stocking Rates and Species
Selection, Forest Inventory, Planning and Design of Agro-forestry Systems...
Business-Alternatives for Fragmented Industry, Advertising Copy Development, Shipping Documentation and Routes, Market Advisor for
Process Control Systems, Demographic and Market Assessment, Product Performance Trouble-shooting, Sales Personnel Assessment, Client Profile Business Application Selection, Professional Service Selection, Career Goal Planning,
Pension Fund Calculator, Unemployment Insurance Eligibility.
Computer-Software System Diagnostic Modeling, Application Sizing, Software Quality Assurance, Program Classification, Locating Component Failure
& Analysis, New Technology Selection, Training Systems, Custom Hardware Diagnostics, Decision Support Systems, Fault Detection and Diagnostics of Wide Area Networks, Hardware and Software Selection by Non Technical Users, New
User of Computer Assistance, Monitoring, Repair Assistance and Problem Prediction of Operating System.
Education-Training-Library Reference Material Recommendation, Interpretation of Statistical Quality Control
Data, Rock and Fossil Identification, Student Financial Aid Eligibility, Analysis of Metal Cautions, Fire Department Emergency Management Advisor, Medical Student Diagnostic Systems, Dentistry Advisor, Telephone Customer Support
Instruction, Industrial Training, Patient Care Advisor for Student Nurses.
Insurance-Rating for Substandard Life Insurance, Workers Comp Classification, Underwriting Assistance, Social Security Help Desk and
Benefit Identification, Unemployment Insurance Eligibility.
Manufacturing Resource Planning, Production Scheduling, Service Networking, Airline Scheduling, Cost/Benefit Analysis, and Planning Implementation.
Links for Readers: