370 likes | 499 Views
Artificial Intelligence CIS 342. The College of Saint Rose David Goldschmidt, Ph.D. Fuzzy Logic. Expert knowledge often uses vague and inexact terms Fuzzy Logic describes fuzziness by specifying degrees
E N D
Artificial IntelligenceCIS 342 The College of Saint Rose David Goldschmidt, Ph.D.
Fuzzy Logic • Expert knowledge oftenuses vague and inexact terms • Fuzzy Logic describes fuzziness by specifying degrees • e.g. degrees of height, speed, distance, temperature, beauty, intelligence, etc.
Fuzzy Logic • Unlike Boolean logic, fuzzy logic is multi-valued • Fuzzy logic represents degrees of membershipand degrees of truth • Things can be part true and part false at the same time
Linguistic Variables • A linguistic variable is a fuzzy variable • e.g. the fact “John is tall” implies linguistic variable “John” takes the linguistic value “tall” • Use linguistic variables to form fuzzy rules: IF ‘project duration’ is long THEN risk is high IF risk is very high THEN ‘project funding’ is very low
Qualifiers & Hedges • What about linguistic values with qualifiers? • e.g. very tall, extremely short, etc. • Hedges are qualifying terms that modifythe shape of fuzzy sets • e.g. very, somewhat, quite, slightly, extremely, etc.
write a function or method called very() thatmodifies the degree of membershipe.g. double x = very( tall( 185 ) ); Linguistic Variables & Hedges
Crisp Set Operations • Crisp set operations developed by Georg Cantor in the late 19th century:
Crisp Set Operations • Crisp set operations developed by Georg Cantor in the late 19th century (continued):
Fuzzy Set Operations • Complement • To what degree do elements not belong to this set? m¬A(x) = 1 – mA(x)
Fuzzy Set Operations • Containment • Which sets belong to other sets? Each element of the fuzzy subset has smaller membership than in the containing set
Fuzzy Set Operations • Intersection • To what degree is the element in both sets? mA∩B(x) = min[ mA(x), mB(x) ]
Fuzzy Set Operations • Union • To what degree is the element in either or both sets? mAB(x) = max[ mA(x), mB(x) ]
Fuzzy Rules • 1965 paper: “Fuzzy Sets” (Lotfi Zadeh) • Apply natural language terms to a formal system of mathematical logic • http://www.cs.berkeley.edu/~zadeh • 1973 paper outlined a new approach to capturing human knowledge and designing expert systems using fuzzy rules
Fuzzy Rules • A fuzzy rule is a conditional statementin the familiar form: IF x is A THEN y is B • x and y are linguistic variables • A and B are linguistic values determined by fuzzy sets on the universe of discourses X and Y, respectively
Linguistic Variables • A linguistic variable is a fuzzy variable • e.g. the fact “John is tall” implies linguistic variable “John” takes the linguistic value “tall” • Use linguistic variables to form fuzzy rules: IF ‘project duration’ is long THEN ‘risk’ is high IF risk is very high THEN ‘project funding’ is very low
Fuzzy Expert Systems • A fuzzy expert system is an expert system thatuses fuzzy rules, fuzzy logic, and fuzzy sets • Many rules in a fuzzy logic systemwill fire to some extent • If the antecedent is true to some degree of membership, then the consequent is true to the same degree
Fuzzy Expert Systems • Two distinct fuzzy sets describing tall and heavy:
Fuzzy Expert Systems IF height is tall THEN weight is heavy
Fuzzy Expert Systems • Other examples (multiple antecedents): • e.g. IF ‘project duration’ is long AND ‘project staffing’ is large AND ‘project funding’ is inadequate THEN risk is high • e.g. IF service is excellent OR food is delicious THEN tip is generous
Fuzzy Expert Systems • Other examples (multiple consequents): • e.g. IF temperature is hot THEN ‘hot water’ is reduced; ‘cold water’ is increased
Fuzzy Inference • Named after Ebrahim Mamdani, the Mamdani method for fuzzy inference is: 1. Fuzzify the input variables 2. Evaluate the rules 3. Aggregate the rule outputs 4. Defuzzify
x, y, and z are linguistic variables A1, A2, and A3 are linguistic values on X B1 and B2 are linguistic values on Y C1, C2, and C3 are linguistic values on Z Fuzzy Inference – Example • Rule 1:IF x is A3OR y is B1THEN z is C1 • Rule 2:IF x is A2AND y is B2THEN z is C2 • Rule 3:IF x is A1THEN z is C3 • Rule 1:IF ‘project funding’ is adequateOR ‘project staffing’ is smallTHEN risk is low • Rule 2:IF ‘project funding’ is marginalAND ‘project staffing’ is largeTHEN risk is normal • Rule 3:IF ‘project funding’ is inadequateTHEN risk is high
Fuzzy Inference – Example 1. Fuzzification project funding project staffing inadequate small marginal large
Fuzzy Inference – Example 2. Rule 1 evaluation risk project staffing project funding low adequate small
Fuzzy Inference – Example 2. Rule 2 evaluation risk project funding project staffing marginal large normal
Fuzzy Inference – Example 2. Rule 3 evaluation risk project funding inadequate high
Fuzzy Inference – Example 3. Aggregation of the rule outputs risk low normal high
Fuzzy Inference – Example 4. Defuzzification • e.g. use the centroid method in which a vertical line slices the aggregate set into two equal halves • How can we calculate this?
x x dx x dx Fuzzy Inference – Example 4. Defuzzification • Calculate the centre of gravity (cog):
Fuzzy Inference – Example 4. Defuzzification • Use a reasonable sampling of points
Applications of Fuzzy Logic • Why use fuzzy expert systems or fuzzy control systems? • Apply fuzziness (and therefore accuracy) tolinguistically defined terms and rules • Lack of crisp or concrete mathematical models exist • When do you avoid fuzzy expert systems? • Traditional approaches produce acceptable results • Crisp or concrete mathematical models exist andare easily implemented
Applications of Fuzzy Logic • Real-world applications include: • Control of robots, engines, automobiles, elevators, etc. • Cruise-control in automobiles • Temperature control • Reduce vibrations in camcorders http://www.esru.strath.ac.uk/Reference/concepts/fuzzy/fuzzy_appl.de20.htm • Handwriting recognition, OCR • Predictive and diagnostic systems (e.g. cancer)