Introduktion til Fuzzy logik Henrik Bulskov Styltsvig Datalogiafdelingen, hus 42.1 Roskilde Universitetscenter Universitetsvej 1 Postboks 260 4000 Roskilde Telefon: 4674 2000 Fax: 4674 3072 www.dat.ruc.dk
Fuzzy mængder / Fuzzy logik Fuzzy logik formalisme til håndtering af vag, upræcis, usikker viden giver mulighed for at repræsentere vage ord / begreber som,f.eks. høj, god, dygtig,... ofte, sjældent, meget, nogengange,... Fuzzy logik / Fuzzy mængde teori grader af sandhed/ grader af medlemskab introduceret af Lotfi Zadeh i 1965 baseret på ideen om "mange-værdiet logik" introduceret af Jan Lukasiewicz Henrik Bulskov Styltsvig 2
Fuzzy mængder / Fuzzy logik baseret på ideen om at alt må beskrives ved gradueringer modellering af vagt begreb som "høj" i boolesk logik skarpt afgrænset f.eks. defineret ved "højde > 180 cm." SAND = 1.0 Høj FALSK = 0.0 110 120 130 140 150 160 170 180 190 200 210 179 cm. ~ "ikke høj" og 181 cm ~ "høj" i fuzzy logik er flydende overgang mulig: højder kan gradueres i forhold til begrebet "høj" Henrik Bulskov Styltsvig 3
Fuzzy mængder / Fuzzy logik eksempel høje mænd: Henrik Bulskov Styltsvig 4
Fuzzy systemer Fuzzy system kendetegnet ved at der arbejdes med fuzzy mængder, dvs. mængder, hvor der bestemmes grader af medlemsskab (i intervallet [0,1]) for elementer fuzzy logik, dvs. logik, hvor sandhedsværdien for et udsagn er en værdi v [0,1] med 0 og 1 som ekstremer repræsenterende hhv. falsk og sand og hvor en sandhedsværdi 0<v<1 angiver en grad af sandhed for udsagnet (Fuzzy mængde) (Fuzzy logik) Grad til hvilken "x er element i M" er = den graduerede (fuzzy) sandhedsværdi for udsagnet Henrik Bulskov Styltsvig 5
Krisp mængde Universel mængde (Universe of Discourse) et domæne / et "univers" hvori vi definerer mængder Krisp mængde almindelig, ikke-fuzzy mængde (indført for at skelne fra fuzzy mængde) Karakteristisk funktion for krisp mængde mængde A på Universel mængde X kan defineres ved funktion 0 f A : X {0,1}, hvor f A ( x) 1 hvis x A hvis x A (eksempel på s. 3) Henrik Bulskov Styltsvig 6
Fuzzy mængde Fuzzy mængde defineres ved medlemsfunktion som svarer til den karakteristiske funktion for en krisp mængde Medlemsfunktion for fuzzy mængde (det mest populære funktionssymbol til medlemsfunktioner: ) fuzzy mængde A på Universel mængde X kan defineres ved funktion A A ( x) 0 hvis x ikke i A ï : X {0,1}, hvor 0 < A ( x) < 1 hvis x delvis i A ï A( x) 1 hvis x i A Værdier for medlemsfunktionen angiver grader af medlemskab i den fuzzy mængde A (eksempel på s. 3) Henrik Bulskov Styltsvig 7
Fuzzy Mængde Notation til fuzzy mængde ofte benyttes eksplicit noterede fuzzy mængder, der skrives som summationer over medlemsgrad/element-led X = {x 1,x 2,,x n } A = A (x 1 )/x 1 + A (x 2 )/x 2 + + A (x n )/x n eller A = i=1,,n A (x i )/x i normalt noteres kun elementer med grad af medlemsskab A > 0 dog er det ofte bekvemt - og det er tit nødvendigt - at beskrive mængden ved et funktionsudtryk for medlemsfunktionen og afbilde denne Henrik Bulskov Styltsvig 8
Fuzzy Mængde, Notation Eksempel Diskret universel mængde: HELTAL = {0,1,2, } Fuzzy mængde LILLE-HELTAL LILLE-HELTAL = 1/0 + 1/1 +.9/2 +.7/3 +.5/4 +.3/5 +.1/6 LILLE-HELTAL (0)=1, LILLE-HELTAL (1)=1, LILLE-HELTAL (2)=0.9, LILLE-HELTAL (3)=0.7, LILLE-HELTAL (4)=, LILLE-HELTAL (5)=0.3, LILLE-HELTAL (6)=0.1, LILLE-HELTAL (x)=0 når x>6 Eksempel Kontinuert universel mængde: REELLE-TAL = [0, ] Fuzzy mængde LILLE-TAL: 1.0 LILLE-TAL 0.0 0 1 2 3 4 5 6 7 8 Efterår 9 102003 11 12 Henrik 13 Bulskov 14 15 Styltsvig 16 17 9
Linkvistisk variabel, linkvistisk værdi Linkvistisk værdi (fuzzy term) en linkvistisk værdi (fuzzy term) er et (vagt) begreb, der referer til en given fuzzy mængde, f.eks. høj på en universel mængde af højder gammel på en universel mængde af af aldre beskrives ved fuzzy mængder Lingvistisk variabel en lingvistisk variabel er en variabel over størrelser, der kan antage lingvistiske værdier f.eks en variabel over personer, der kan antage lingvistiske værdier for højde såsom "høj", "lav",... Henrik Bulskov Styltsvig 10
Linkvistisk modifikator Linkvistisk modifikator (Linguistic hedge) en funktion der modificerer en fuzzy mængde der modellerer termer som "meget", "lidt", "forholdsvis", "noget i retning af",... f.eks. "meget F" = F 2 "forholdsvis F" = F 1/2 (eksempel på s. 3) Henrik Bulskov Styltsvig 11
Linkvistisk modifikator udvalg af modifikatorer fra bogen Henrik Bulskov Styltsvig 12
Linkvistisk modifikator udvalg af modifikatorer fra bogen Henrik Bulskov Styltsvig 13
Problem med modificering Ofte benyttes simple medlemsfunktioner som f.eks trapezoide funktioner, hvor der kunne anvendes mere afrundede kontinuerte funktioner Problem Støtten og kernen for en medlemsfunktion A (x), dvs. hhv: støtten: {x A (x) > 0} kernen: {x A (x) = 0} ændres ved simpel modificering på en kontinuert afrundet medlemsfunktion men ændres IKKE ved simpel modificering på en trapezoide / stykkevis lineær medlemsfunktion Henrik Bulskov Styltsvig 14
Fuzzy mængder, operationer komplementær-mængde (complement) delmængde (containment/subset) fællesmængde (intersection) foreningsmængde (union) krispe tilfælde: Henrik Bulskov Styltsvig 15
Fuzzy aggregeringsoperationer Komplementærmængde A (x)=1- A (x) 1.0 Høj 0.0 110 120 130 140 150 160 170 180 190 200 210 1.0 Ikke Høj 0.0 110 120 130 140 150 160 170 180 190 200 210 Henrik Bulskov Styltsvig 16
Fuzzy aggregeringsoperationer Delmængde A B hvis A (x) B (x) f.eks. "Omkring 190" "Høj" fordi "omkring 190" (x) "høj" (x) 1.0 Høj Omkring 190 0.0 110 120 130 140 150 160 170 180 190 200 210 Henrik Bulskov Styltsvig 17
Fuzzy aggregeringsoperationer Fællesmængde A B (x)=min( A (x), B (x)) 1.0 Høj 0.0 1.0 110 120 130 140 150 160 170 180 190 200 210 Omkring 170 0.0 110 120 130 140 150 160 170 180 190 200 210 1.0 Høj Omkring 170 0.0 110 120 130 140 150 160 170 180 190 200 210 Henrik Bulskov Styltsvig 18
Fuzzy aggregeringsoperationer Foreningsmængde A B (x)=max( A (x), B (x)) 1.0 Høj 0.0 1.0 110 120 130 140 150 160 170 180 190 200 210 Omkring 170 0.0 110 120 130 140 150 160 170 180 190 200 210 1.0 Høj Omkring 170 0.0 110 120 130 140 150 160 170 180 190 200 210 Henrik Bulskov Styltsvig 19
Fuzzy Logik A (x) kan tolkes som en sandhedsværdi for udsagnet x er medlem af A A kan således tolkes som et logisk atom vi har en "isomorfi" imellem et fuzzy mængde system og et fuzzy logik system, hvor f.eks. foreningsmængde svarer til disjunktion fællesmængde svarer til konjunktion negation svarer til komplementærmængde Vi kan således angive sandhedsværdi for udtryk A B ved A B (x)=min( A (x), B (x)) A B ved A B (x)=max( A (x), B (x)) A ved A (x)= 1 - A (x) Fuzzy logik kan betragtes som en generalisering af boolesk logik Henrik Bulskov Styltsvig 20