650 likes | 919 Views
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
E N D
Fuzzy Logic and Fuzzy Inference • Why use fuzzy logic? • Tipping example • Fuzzy set theory • Fuzzy inference UoH CI
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
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
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
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
Tipping example: The non-fuzzy approach • Tip = 15% of total bill • What about quality of service? UoH CI
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
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
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
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
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
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
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
Tipping problem: fuzzy solution Decision function generated using the 3 rules. UoH CI
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
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
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
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
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
Membership functions: S-function • The S-function can be used to define fuzzy sets • S(x, a,b, c) = • 0 for xa • 2(x-a/c-a)2 for axb • 1 – 2(x-c/c-a)2 for bxc • 1 for x c a b c UoH CI
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
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
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 xb • 1 – S(x,b, b+a/2, a+b) for x b E.g., close (to a) UoH CI
Simple membership functions • Piecewise linear: triangular etc. • Easier to represent and calculate saves computation UoH CI
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
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
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
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
Fuzzy set operators • EqualityA = BA (x)= B (x) for all x X • ComplementA’A’ (x)= 1 - A(x)for all x X • ContainmentA BA (x)B (x) for all x X • UnionA BA B(x) = max(A (x),B (x)) for all x X • IntersectionA BA B(x) = min(A (x),B (x)) for all x X UoH CI
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
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
Fuzzy intersection and Union • AB = 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
C(x) = AB = 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
Example fuzzy set operations A’ A AB AB B A UoH CI
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
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
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
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
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
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×YA(x) T-normB(y)/ (x,y). UoH CI
Fuzzy inference • Fuzzy logical operations • Fuzzy rules • Fuzzification • Implication • Aggregation • Defuzzification UoH CI
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
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
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
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
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
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
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
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
Tip = 16.7 % Result of defuzzification (centroid) Fuzzy inference overview UoH CI