1 / 65

Fuzzy Logic and Fuzzy Inference

Fuzzy Logic and Fuzzy Inference. Why use fuzzy logic? Tipping example Fuzzy set theory Fuzzy inference. What is fuzzy logic?. A super set of Boolean logic Builds upon fuzzy set theory

Download Presentation

Fuzzy Logic and Fuzzy Inference

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Fuzzy Logic and Fuzzy Inference • Why use fuzzy logic? • Tipping example • Fuzzy set theory • Fuzzy inference UoH CI

  2. What is fuzzy logic? • A super set of Boolean logic • Builds upon fuzzy set theory • Graded truth. Truth values between True and False. Not everything is either/or, true/false, black/white, on/off etc. • Grades of membership. Class of tall men, class of far cities, class of expensive things, etc. • Lotfi Zadeh, UC/Berkely 1965. Introduced FL to model uncertainty in natural language. Tall, far, nice, large, hot, … • Reasoning using linguistic terms. Natural to express expert knowledge. If the weather is cold then wear warm clothing UoH CI

  3. Fuzzy logic – A Definition • Fuzzy logic provides a method to formalize reasoning when dealing with vague terms. • Traditional computing requires finite precision which is not always possible in real world scenarios. Not every decision is either true or false, or as with Boolean logic either 0 or 1. • Fuzzy logic allows for membership functions, or degrees of truthfulness and falsehoods. Or as with Boolean logic, not only 0 and 1 but all the numbers that fall in between. UoH CI

  4. Why use fuzzy logic? Pros: • Conceptually easy to understand w/ “natural” maths • Tolerant of imprecise data • Universal approximation: can model arbitrary nonlinear functions • Intuitive • Based on linguistic terms • Convenient way to express expert and common sense knowledge Cons: • Not a cure-all • Crisp/precise models can be more efficient and even convenient • Other approaches might be formally verified to work UoH CI

  5. Tipping example • The Basic Tipping Problem: Given a number between 0 and 10 that represents the quality of service at a restaurant what should the tip be?Cultural footnote: An average tip for a meal in the U.S. is 15%, which may vary depending on the quality of the service provided. UoH CI

  6. Tipping example: The non-fuzzy approach • Tip = 15% of total bill • What about quality of service? UoH CI

  7. Tipping example: The non-fuzzy approach • Tip = linearly proportional to service from 5% to 25%tip = 0.20/10*service+0.05 • What about quality of the food? UoH CI

  8. Tipping example: Extended • The Extended Tipping Problem: Given a number between 0 and 10 that represents the quality of service and the quality of the food, at a restaurant, what should the tip be?How will this affect our tipping formula? UoH CI

  9. Tipping example: The non-fuzzy approach • Tip = 0.20/20*(service+food)+0.05 • We want service to be more important than food quality. E.g., 80% for service and 20% for food. UoH CI

  10. Tipping example: The non-fuzzy approach • Tip = servRatio*(.2/10*(service)+0.05) + servRatio = 80% (1-servRatio)*(.2/10*(food)+0.05); • Seems too linear. Want 15% tip in general and deviation only for exceptionally good or bad service. UoH CI

  11. Tipping example: The non-fuzzy approach if service < 3, tip(f+1,s+1) = servRatio*(.1/3*(s)+.05) + ... (1-servRatio)*(.2/10*(f)+0.05); elseif s < 7, tip(f+1,s+1) = servRatio*(.15) + ... (1-servRatio)*(.2/10*(f)+0.05); else, tip(f+1,s+1) = servRatio*(.1/3*(s-7)+.15) + ... (1-servRatio)*(.2/10*(f)+0.05); end; UoH CI

  12. Tipping example: The non-fuzzy approach • Nice plot but • ‘Complicated’ function • Not easy to modify • Not intuitive • Many hard-coded parameters • Not easy to understand UoH CI

  13. Tipping problem: the fuzzy approach What we want to express is: • If service is poor then tip is cheap • If service is good the tip is average • If service is excellent then tip is generous • If food is rancid then tip is cheap • If food is delicious then tip is generous or • If service is poor or the food is rancid then tip is cheap • If service is good then tip is average • If service is excellent or food is delicious then tip is generous We have just defined the rules for a fuzzy logic system. UoH CI

  14. Tipping problem: fuzzy solution Decision function generated using the 3 rules. UoH CI

  15. Tipping problem: fuzzy solution • Before we have a fuzzy solution we need to find out • how to define terms such as poor, delicious, cheap, generous etc. • how to combine terms using AND, OR and other connectives • how to combine all the rules into one final output UoH CI

  16. Fuzzy sets • Boolean/Crisp set A is a mapping for the elements of S to the set {0, 1}, i.e., A: S  {0, 1} • Characteristic function: A(x) = { 1 if x is an element of set A 0 if x is not an element of set A • Fuzzy set F is a mapping for the elements of S to the interval [0, 1], i.e., F: S  [0, 1] • Characteristic function: 0  F(x)  1 • 1 means full membership, 0 means no membership and anything in between, e.g., 0.5 is called graded membership UoH CI

  17. Fuzzy Sets (contd.) • fuzzy set A • A = {(x,µA(x))| x  X} where µA(x) is called the membership function for the fuzzy set A. X is referred to as the universe of discourse. • The membership function associates each element x  X with a value in the interval [0,1]. UoH CI

  18. Example: Crisp set Tall • Fuzzy sets and concepts are commonly used in natural languageJohn is tallDan is smartAlex is happyThe class is hot • E.g., the crisp set Tall can be defined as {x | height x > 1.8 meters}But what about a person with a height = 1.79 meters?What about 1.78 meters?…What about 1.52 meters? UoH CI

  19. Example: Fuzzy set Tall • In a fuzzy set a person with a height of 1.8 meters would be considered tall to a high degreeA person with a height of 1.7 meters would be considered tall to a lesser degree etc. • The function can changefor basketball players,Danes, women, children etc. UoH CI

  20. Membership functions: S-function • The S-function can be used to define fuzzy sets • S(x, a,b, c) = • 0 for xa • 2(x-a/c-a)2 for axb • 1 – 2(x-c/c-a)2 for bxc • 1 for x c a b c UoH CI

  21. Membership functions of one dimension • These membership functions are some of the commonly used membership functions in the fuzzy inference systems. • Triangle(x; a, b, c) = 0 if x  a; = (x-a)/(b-a) if a  x  b; = (c-x)/(c-b) if b  x  c; = 0 if c  x. • Trapezoid(x; a, b, c, d) = 0 if x  a; = (x-a)/(b-a) if a  x  b; = 1 if b  x  c; = (d-x)/(d-c) 0 if c  x  d; = 0, if d  x. • Sigmoid(x; a, c) = 1/(1 + exp[-a(x-c)]) where a controls slope at the crossover point x = c. UoH CI

  22. Membership functions of two dimensions • One dimensional fuzzy set can be extended to form its cylindrical extension on second dimension • Fuzzy set A = “(x,y) is near (3,4)” is • µA(x,y) = exp[- ((x-3)/2)2 -(y-4)2 ] = exp[- ((x-3)/2)2 ]exp-(y-4)2 ] =gaussian(x;3,2)gaussian(y;4,1) • This is a composite MF since it can be decomposed into two gaussian MFs UoH CI

  23. a b-a b-a/2 b+a/2 b+a a Membership functions: P-Function • P(x, a, b) = • S(x, b-a, b-a/2, b) for xb • 1 – S(x,b, b+a/2, a+b) for x b E.g., close (to a) UoH CI

  24. Simple membership functions • Piecewise linear: triangular etc. • Easier to represent and calculate  saves computation UoH CI

  25. Other representations of fuzzy sets • A finite set of elements:F = 1/x1 + 2/x2 + … n/xn+ means (Boolean) set union • For example:TALL = {0/1.0, 0/1.2, 0/1.4, 0.2/1.6, 0.8/1.7, 1.0/1.8} UoH CI

  26. Fuzzy sets with a discrete universe • Let X = {0, 1, 2, 3, 4, 5, 6} be a set of numbers of children a family may possibly have. • fuzzy set A with “sensible number of children in a family” may be described by • A = {(0, 0.1), (1, 0.3), (2, 0.7), (3, 1), (4, 0.7), (5, 0.3), (6, 0.1)} UoH CI

  27. Fuzzy sets with a continuous universe • X = R+ be the set of possible ages for human beings. • fuzzy set B = “about 50 years old” may be expressed as • B = {(x, µB(x)) | x ЄX}, where • µB(x) = 1/(1 + ((x-50)/10)4) UoH CI

  28. We use the following notation to describe fuzzy sets. • A = ΣxiЄ XµA(xi)/ xi, if X is a collection of discrete objects, • A = ∫X µA(x)/ x, if X is a continuous space. UoH CI

  29. Fuzzy set operators • EqualityA = BA (x)= B (x) for all x  X • ComplementA’A’ (x)= 1 - A(x)for all x  X • ContainmentA  BA (x)B (x) for all x  X • UnionA BA  B(x) = max(A (x),B (x)) for all x  X • IntersectionA  BA  B(x) = min(A (x),B (x)) for all x  X UoH CI

  30. Crossover point of a fuzzy set A is a point x in X such that • {(x, µA(x)) |µA(x) = 0.5 } • α-cut of a fuzzy set A is set of all points x in X such that • {(x, µA(x)) |µA(x) ≥ α } UoH CI

  31. Support(A) is set of all points x in X such that • {(x, µA(x)) |µA(x) > 0 } • core(A) is set of all points x in X such that • {(x, µA(x)) |µA(x) =1 } • Fuzzy set whose support is a single point in X with µA(x) =1 is called fuzzy singleton UoH CI

  32. Fuzzy intersection and Union • AB = T(A(x), B(x)) where T is T-norm operator. There are some possible T-Norm operators. • Minimum: min(a,b)=a ٨b • Algebraic product: ab • Bounded product: 0 ٧(a+b-1) UoH CI

  33. C(x) = AB = S(A(x), B(x)) where S is called S-norm operator. • It is also called T-conorm • Some of the T-conorm operators • Maximum: S(a,b) = max(a,b) • Algebraic sum: a+b-ab • Bounded sum: = 1 ٨(a+b) UoH CI

  34. Example fuzzy set operations A’ A AB AB B A UoH CI

  35. tall More or less tall Very tall Linguistic Hedges • Modifying the meaning of a fuzzy set using hedges such as very, more or less, slightly, etc. • Concentration or Con operator • Very F = F2 • Dilation or Dil operator • More or less F = F1/2 • more or less tall = DIL(tall); • extremely tall = CON(CON(CON(tall))) • etc. UoH CI

  36. Fuzzy relations • A fuzzy relation for N sets is defined as an extension of the crisp relation to include the membership grade.R = {R(x1, x2, … xN)/(x1, x2, … xN) | xi X, i=1, … N} which associates the membership grade, R , of each tuple. • E.g. Friend = {0.9/(Manos, Nacho), 0.1/(Manos, Dan), 0.8/(Alex, Mike), 0.3/(Alex, John)} UoH CI

  37. Binary fuzzy relation • A binary fuzzy relation is a fuzzy set in X × Y which maps each element in X × Y to a membership value between 0 and 1. If X and Y are two universes of discourse, then • R = {((x,y), R(x, y)) | (x,y) ЄX × Y } is a binary fuzzy relation in X × Y. • X × Y indicates cartesian product of X and Y UoH CI

  38. Fuzzy Rules • Fuzzy rules are useful for modeling human thinking, perception and judgment. • A fuzzy if-then rule is of the form “If x is A then y is B” where A and B are linguistic values defined by fuzzy sets on universes of discourse X and Y, respectively. • “x is A” is called antecedent and “y is B” is called consequent. UoH CI

  39. Examples, for such a rule are • If pressure is high, then volume is small. • If the road is slippery, then driving is dangerous. • If the fruit is ripe, then it is soft. UoH CI

  40. The fuzzy rule “If x is A then y is B” may be abbreviated as A→ B and is interpreted as A × B. • A fuzzy if then rule may be defined (Mamdani) as a binary fuzzy relation R on the product space X × Y. • R = A→ B = A × B =∫X×YA(x) T-normB(y)/ (x,y). UoH CI

  41. Fuzzy inference • Fuzzy logical operations • Fuzzy rules • Fuzzification • Implication • Aggregation • Defuzzification UoH CI

  42. A B A and B • 0 0 0 • 0 1 0 • 0 0 • 1 1 1 • A B A or B • 0 0 0 • 0 1 1 • 0 1 • 1 1 1 Fuzzy logical operations • AND, OR, NOT, etc. • NOT A = A’ = 1 - A(x) • A AND B = A  B = min(A (x),B (x)) • A OR B = A  B = max(A (x),B (x)) From the following truth tables it is seen that fuzzy logic is a superset of Boolean logic. min(A,B) max(A,B) 1-A A not A 0 1 1 0 UoH CI

  43. If-Then Rules • Use fuzzy sets and fuzzy operators as the subjects and verbs of fuzzy logic to form rules. if x is A then y is B where A and B are linguistic terms defined by fuzzy sets on the sets X and Y respectively. This reads if x == A then y = B UoH CI

  44. Evaluation of fuzzy rules • In Boolean logic: p  qif p is true then q is true • In fuzzy logic: p  qif p is true to some degree then q is true to some degree.0.5p => 0.5q (partial premise implies partially) • How? UoH CI

  45. Evaluation of fuzzy rules (cont’d) • Apply implication function to the rule • Most common way is to use min to “chop-off” the consequent(prod can be used to scale the consequent) UoH CI

  46. Summary: If-Then rules • Fuzzify inputsDetermine the degree of membership for all terms in the premise.If there is one term then this is the degree of support for the consequent. • Apply fuzzy operatorIf there are multiple parts, apply logical operators to determine the degree of support for the rule. • Apply implication methodUse degree of support for rule to shape output fuzzy set of the consequent. How do we then combine several rules? UoH CI

  47. Multiple rules • We aggregate the outputs into a single fuzzy set which combines their decisions. • The input to aggregation is the list of truncated fuzzy sets and the output is a single fuzzy set for each variable. • Aggregation rules: max, sum, etc. • As long as it is commutative then the order of rule exec is irrelevant. UoH CI

  48. max-min rule of composition • Given N observations Ei over X and hypothesis Hi over Y we have N rules: if E1 then H1if E2 then H2if EN then HN • H = max[min(E1), min(E2), … min(EN)] UoH CI

  49. Center of gravity Center of largest area Defuzzify the output • Take a fuzzy set and produce a single crisp number that represents the set. • Practical when making a decision, taking an action etc.  I x  I I= UoH CI

  50. Tip = 16.7 % Result of defuzzification (centroid) Fuzzy inference overview UoH CI

More Related