FUZZY LOGIC. Christopher Palm chrpa087

Relevanta dokument
729G11 Artificiell Intelligens Marcus Johansson Marjo581. Fuzzy logic. Marcus Johansson Marjo581

Fuzzy Logic. När oskarpa definitioner blir kristallklara. Åsa Svensson. Linköpings Universitet. Linköping

Innehållsförtekning Sida. Inledning 3 Vad är fuzzy logic? 3 Mängder 3 Medlemsfunktioner 5 Operationer 6 Fuzzification 8 Litteraturförteckning 9

Fuzzy Logic Linköpings Universitet

LINKÖPINGS UNIVERSITET. Fuzzy Logic. Johan Brage 9/16/2012

Fuzzy control systems

Artificiell Intelligens II, 729g11 Linköpings universitet Fuzzy logic

2017% Fuzzy%Logic% %%%%%% LISA%NILSSON% %LISNI222%

Fuzzy Logic: Den oskarpa skarpheten

Beräkning med ord. -hur en dator hanterar perception. Linköpings universitet Artificiell intelligens Erik Claesson

729G11 ARTIFICIELL INTELLIGENS 2, LINKÖPINGS UNIVERSITET. Fuzzy Logic. Caroline Allmér, caral

Fördjupningsarbete HT 2012 FUZZY LOGIC

FUZZY LOGIC. - Var går gränsen? Lovisa Rönmark lovro

Molly Lundberg 729G43 Kognitionsvetenskap mollu341 Artificiell Intelligens Linköpings Universitet. Fuzzy Logic. Vad är det och hur fungerar det?

Fuzzy logic. Julia Birgersson, julbi

William Hernebrink

Fuzzy Logic och dess implementering i ett företagsspel

Fuzzy%Logic% Linköpings&Universitet&

Fuzzy logic och fuzzy kontrollsystem

Logik och kontrollstrukturer

Fussy sets och Fuzzy logik Luddigt eller självklart? Kognitionsvetenskap, 729G11 Sandra Svanberg, sansv418 19/09/2011 Linköpings universitet

När det oskarpa ger skärpa

Konsultarbete, Hitta maximal volym fo r en la da

JavaScript del 3 If, Operatorer och Confirm

Sanningsvärdet av ett sammansatt påstående (sats, utsaga) beror av bindeord och sanningsvärden för ingående påståenden.

Fuzzy Logic. Ellinor Ihs Håkansson, ellih

1 Suddig logik och gitter

Laboration Fuzzy Logic

Grundläggande logik och modellteori

Övningshäfte 1: Logik och matematikens språk

System.out.println("Jaså du har "+ antalhusdjur+ " husdjur"); if ( antalhusdjur > 5 ) System.out.println("Oj det var många);

Semantik och pragmatik (Serie 4)

Målet för D1 är att studenterna ska kunna följande: Använda några av de vanligaste PROC:arna. Sammanställa och presentera data i tabeller och grafiskt

Logik. Dr. Johan Hagelbäck.

Lektion 8: Konstruktion av semantiska tablåer för PTL-formler

Resonemang under osäkerhet. Bayes Certainty factors Dempster-Schafer Fuzzy logic

Använda några av de vanligaste PROC:arna. Sammanställa och presentera data i tabeller och grafiskt

Predikatlogik: Normalformer. Klas Markström

729G04 Programmering och diskret matematik. Python 2: Villkorssatser, sanningsvärden och logiska operatorer

Grundläggande logik och modellteori (5DV102)

MATEMATIKENS SPRÅK. Avsnitt 1

Utsagor (Propositioner) sammansatta utsagor sanningstabeller logisk ekvivalens predikat (öppna utsagor) kvantifierare Section

de var svåra att implementera och var väldigt ineffektiva.

Semantik och pragmatik

Den räta linjens ekvation

Del I: Digitala verktyg är inte tillåtna. Endast svar krävs. Skriv dina svar direkt i provhäftet.

Oskarp logik - en flervärdeslogik för framtiden? Karl Bruno Linköpings universitet

1. Lära sig beräkna kon densintervall och täckningsgrad 2. Lära sig rita en exponentialfördelning 3. Lära sig illustrera centrala gränsvärdessatsen

Den räta linjens ekvation

Varför är logik viktig för datavetare?

Sidor i boken KB 6, 66

Del A: Digitala verktyg är inte tillåtna. Endast svar krävs. Skriv dina svar direkt på provpappret.

Grundläggande logik och modellteori (5DV102)

Inledande programmering med C# (1DV402) Summera med while"-satsen

SPELTESTNING FUZZY LOGIC. Kandidatuppsats i Informatik. Patrik Lundqvist Michael Enhörning VT 2010

Fler uppgifter på andragradsfunktioner

Funktioner. Räta linjen

Introduktion till formella metoder Programmeringsmetodik 1. Inledning

Datorlingvistisk grammatik I Institutionen för lingvistik och filologi Oktober 2007 Mats Dahllöf

Ett Oskarpt Beslut. Om Oskarp Logik i Speldesign. Mikael Hedenström

Algoritmer, datastrukturer och komplexitet

Logisk semantik I. 1 Lite om satslogik. 1.1 Konjunktioner i grammatisk bemärkelse. 1.2 Sant och falskt. 1.3 Satssymboler. 1.

Introduktion till programmering SMD180. Föreläsning 4: Villkor och rekursion

Data, typ, selektion, iteration

Lektionsanteckningar 11-12: Normalfördelningen

y = x x = Bestäm ekvationen för en linje där k = 2 och som går genom punkten ( 1, 3). 2/0/0

1.2 Polynomfunktionens tecken s.16-29

Föreläsning 15. Logik med tillämpningar

Logik. Boolesk algebra. Logik. Operationer. Boolesk algebra

Komponentvisa operationer,.-notation Multiplikation (*), division (/) och upphöj till (ˆ) av vektorer följer vanliga vektoralgebraiska

Föreläsning 13. Träd

*UXSS YQLQJ±/RJLNPHGWLOOlPSQLQJDUYW

Föreläsning 10 Datalogi 1 DA2001. Utskrift på skärmen. Syntax. print( Hej ) Hur är det? Hej. print( Hej,end= ) print( Hur är det? ) HejHur är det?

Innehåll. Föreläsning 7. Satslogiken är för grov. Samma sak i predikatlogik: Första ordningens predikatlogik. Logik med tillämpningar

Logik för datavetare DVK:Log Tisdagen 28 oktober Institutionen för dataoch systemvetenskap David Sundgren

Labb i Datorsystemteknik och programvaruteknik Programmering av kalkylator i Visual Basic

RIEMANNSUMMOR. Den bestämda integralen definieras med hjälp av Riemannsummor. Låt vara en begränsad funktion,, reella tal och. lim.

Outline. For. I istället för att följa det normala ordningen, man ändra den. I i Java får man inte göra hopp hur som helst

TENTAMEN: Algoritmer och datastrukturer. Läs detta!

Tentamen Datastrukturer (DAT036)

Hornklausuler i satslogiken

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Strukturdiagram. Styra. Algoritmer. Val

1 Föreläsning Implikationer, om och endast om

DD1361 Programmeringsparadigm HT17

Föreläsning 9: NP-fullständighet

Komplexitetsklasser och repetition

PYTHON SNABBREPETITION MEN FÖRST LITE ALLMÄNT OM PROGRAMMERING 729G04 PYTHON 2. Dagens Python

Introduktion till algoritmer - Lektion 4 Matematikgymnasiet, Läsåret Lektion 4

7, Diskreta strukturer

Linjära ekvationer med tillämpningar

TSFS06: Bayesianska nätverk i GeNIe - kort handledning

Provet består av Del I, Del II, Del III samt en muntlig del och ger totalt 76 poäng varav 28 E-, 24 C- och 24 A-poäng.

Lösa ekvationer på olika sätt

Statistikens grunder 1 och 2, GN, 15 hp, deltid, kvällskurs

Booleska variabler och översättning mellan programuttryck och booleska variabler

Programmering A. Johan Eliasson

DD1361 Programmeringsparadigm HT15

p /\ q r DD1350 Logik för dataloger Kort repetition Fö 3 Satslogikens semantik

Kapitel Ekvationsräkning

Transkript:

FUZZY LOGIC 900223-1554

Innehållsförteckning INLEDNING...2 HUR DET FUNGERAR...3 Crisp Sets och Fuzzy Sets...3 Operatorer...5 IF THEN regler...7 FUZZY INFERENCE...7 Fuzzification...8 Regelsättning...8 Sammanslagning...9 Defuzzification... 10 DISKUSSION... 10 REFERENSLISTA... 12 1

Inledning Vad är fuzzy logic eller oskarp logik? I vanlig predikatlogik så utgår man från att ett predikat antingen är sant, eller om det finns en negation framför, är falskt. Vanlig logik består därför oftast av två värden, sant eller falskt, true eller false. Det finns ingenting emellan dessa två bestämda värdena. Ett exempel är ifall du tänker dig ett föremål som skrivbordsstolen du sitter på när du studerar, antingen finns den, eller så finns den inte. Det sanna (värdet 1) i det här fallet att den existerar, eftersom du sitter på den, och det falska (värdet 0) att den inte finns, vilket då leder till att du inte kan sitta på stolen, eftersom att den inte existerar. Fuzzy Logic, eller oskarp logik är det som visar att det kan finnas värden som är mellan sant och falskt, det vill säga i grader av sanning. Se då även hur oskarp logik skiljer sig från probabalistisk logik, där man räknar ut hur stor sannolikheten är för någonting att vara sant. Fuzzy Logic behandlar grader av sanning. Ta som exempel, ett glas med vatten, i vanlig logik så är glaset antingen fyllt med vatten som ger det värdet 1, eller tomt som ger värdet 0. Inom fuzzy logic så kan glaset vara helt fyllt, nästan fyllt, halvfyllt, och så vidare. Anledningen till att man använder sig av de binära talen 1 och 0 är för att underlätta uträkningen av grader av sanning, då talet 1 är helt sant, och talet 0 är helt falskt, true = 1, false = 0. För att återgå till exemplet med glaset, så kan man säga att glaset nästan är helt fyllt eller att glaset nästan är tomt. Vad man då gör är att man beräknar hur stor grad av sanning det ena uttrycket har och beräknar hur stor grad sanning det andra uttrycket har, vilket leder till att man kommer att se vilket av uttrycken det är som har en högre grad av sanning. 2

Hur det fungerar Crisp Sets och Fuzzy Sets För att på ett enkelt sätt visa hur det fungerar (vilket också är det sättet man vanligtvis gör det på) så använder man sig av så kallade crisp sets och fuzzy sets. Crisp sets kan förklaras i ett exempel då man kan ta längd på människor. För att i en graf visa vad som menas så kan man börja med att först förklara själva grafen, i X-axeln (x) på en graf har man värden, i det här fallet längd på människor. På Y-axeln (µ) däremot har man grader av sanning. Då kan man sätta in en så kallad crisp set, som också är en medlemfunktion. Crisp setets intervall ligger mellan 130-150, kort = [130,150]. (se graf 1.) (Graf 1, exempel på ett crisp set) Detta är ett exempel på ett crisp set. Det vill säga att man sätter ett intervall mellan två värden. Är man sedan inom det värdet så är graden av sannolikhet = 1, dvs, är din längd mellan 130 och 150, så kan man säga att crisp setet står för längder som anses vara korta, alltså, så är du kort. Variabeln kort är en lingvistisk variabel som används inom Fuzzy logic för de mer luddiga variablerna då variabeln kort inte definierar vad som är kort. Problemet är att med crisp set blir ett problem då man använder sig av fler crisp sets i en graf. Om vi säger att man har tre stycken sets; 3

kort = [130,150] medel = [150,170] lång = [170,190] (Graf 2, tre crisp sets) Problemet här är att även om man är att övergången från medel till lång påvisar att man är medel vid 170cm, men om någon plötsligt växer 0,1 cm till att vara 170,1cm. Är man då klassad som lång vid en tiondels centimeters skillnad, eller kan man fortfarande kallas medel? Enligt crisp set så är graden av sanning sådan att ligger man vid 170,1 cm så är graden av sanning att du är medel = 0. År 1965 introducerade Zadeh, fuzzy sets. Detta är en av orsakerna till varför fuzzy logic är en så pass oskarp logik, då det inte är konkret. Den har nämligen oskarpa gränser. Ändrar man setens intervall; kort = [120,150] medel = [155,165] lång = [170,200] Men även gör om dem till fuzzy sets så kommer grafen att se ut så här. (se graf 3.) 4

(Graf 3, tre fuzzy sets) Som man nu ser så blir fuzzy sets parallelltrapetser som gör de bestämda intervallen oskarpa, då de är 170,1 cm inte endast inom setet lång, utan även medel, fast med olika grader av sanning. Operatorer I fuzzy sets, precis som i crisp sets, finns det grundläggande operatorer man kan använda sig av för att kunna göra en skärningspunkt, unifiering och negering av fuzzy sets. Dessa visas både i formel och grafiskt, för att på ett simpelt sätt förklara hur de ser ut då de feta linjerna i graferna är de man räknar på senare. 5

Snitt, Fuzzy or. Ex, mellan seten medel och lång skulle se ut så här: M L = µ M L (x) = max(µ M (x), µ L (x)) (Graf 4, Union) Unionen, Fuzzy AND. M L = µ M L (x) = min(µ M (x), µ L (x)) (Graf 5, Snitt) Negering, Fuzzy NEGATION. M = µ M (x) = 1 - µ M (x) 6

(Graf 6, För att enkelt visa hur en negation ser ut så använder vi endast en fuzzy set, medel.) Den visar egentligen den uppochnervända versionen av setet.) IF-THEN-regler En annan viktig aspekt av Fuzzy Logic är de så kallade IF-THEN -regler. En enda regel är uppdelad i två delar, antecedenten och konsekvensen, där antecedenten är den input man ska ha, medan konsekvensen ger outputen. Så om man tänker sig: if antecedenten then konsekvensen Där man kan byta ut antecedenten till x är A och konsekvensen till y är B : if x är A then y är B Men det går även att göra två delar av antecedenten, vad man däremot måste finnas mellan de två delarna är antingen union-operatorn eller snitt-operatorn. Så det kan se ut så här if x är A and/or z är C then y är B Fuzzy Inference Det som återstår av grundläggande Fuzzy Logic är Fuzzy Inference. Fuzzy Inference består av en sammanslagning av fuzzy sets, fuzzy operatorer och if-then-reglerna. 7

Fuzzification Består av att man ska ha inputs som man ska fuzzifiera genom att skapa fuzzy sets genom medlemskapsfunktioner. Så om man tänker sig att man sitter på en restaurang, har precis ätit klart, ska just betala notan och ska försöka bestämma hur mycket dricks man ska ge servitören. För att bestämma så kan man utgå från två påverkande faktorer, hur maten smakade och hur bra service det var på restaurangen. Graderar man allting från skala 1 till 10, så om man ger maten en 8, då anser man att maten var utmärkt, vilket är en lingvistisk variabel, detta ger µ = 0,7. Se bild nedan. Regelsättning Där man i det här fallet kommer använda sig av snitt-regeln (operatorn där man tar maxgraden): Om servicen är perfekt eller maten är utmärkt då ska man ge generöst med dricks. [Om/if (servicen är perfekt) eller (maten är utmärkt)] = Antecedenten, [Då/then(ska man ge generöst med dricks)] = Konsekvensen. Där man ger servicen en 3 i betyg. Vilket i det här fallet betyder att servicen inte är god alls, och att grader i sanning av att servicen skulle vara perfekt är lika med 0,0. 8

Fuzzy OR: P U = max(µ P (0,0), µ L (0,7)) = µ P U (0,7) Resultatet av operatorn blir 0,7, detta ska i egentligen nästa steg implementeras genom att man använder sig av implikationen DÅ/THEN för att kunna bestämma hur pass generöst med dricks man ska ge. Meningen är att resultatet för Fuzzy OR ska klippa av toppen av setet Generöst för att det ska matcha det tillåtna från fuzzy OR-operatorn. Sammanslagning Här är det meningen att man ska slå ihop eller kombinera alla möjliga regler som finns för att kunna sätta in det i ett set, som består av alla typer av dricks man kan ge, så att man ska kunna ta ett beslut. Om man kan ge dåligt med dricks, medel med dricks eller generöst med dricks, så måste man ha regler som tar med alla dessa tre. 9

Regel 1: Om servicen är dålig och maten är äcklig då ska man ge dåligt med dricks Regel 2: Om Servicen är bra då ska man ge medel med dricks Regel 3: Om servicen är perfekt eller maten är utmärkt då ska man ge generöst med dricks. Defuzzification Defuzzifiering är i princip motsatsen till fuzzifieringen, man ska helt enkelt göra det oskarpa skarpt igen. Detta gör man genom att använda sig en av flertalet metoder, i det här fallet blir det metoden Centroid (Mathworks.) som också kallas COA (Centre Of Area), där man räknar ut areans mittpunkt på hela setet. Areans mittpunkt. Diskussion Fuzzy Logic används i flertalet områden. Fuzzy Expertsystem kan idag stå för linjär och ickelinjär kontroll, mönsterigenkänning, finansiella system, operationsforskning, dataanalys. Sony s gamla PalmTop använde sig av en fuzzy beslutträdsinlärningsalgoritm, för att kunna känna igen skrift på dess touchskärm. Nuförtiden börjar även fuzzy logic användas med en sammanslagning av bland annat genetiska algoritmer och neuroberäkning/kalkyl, någonting som man idag kallar för soft computing, som till skillnad från hard computing tar hand om precisionen, så tar soft computing upp det ej preciserade i världen. Man tror även att 10

soft computing kommer spela en stor roll inom att designen av MIQ, eller Machine IQ, så mycket bättre än vad den är idag. Personligen tycker jag att Fuzzy Logic är en väldigt intressant typ av logic, där det känns som att man har kanske på något sätt lyckats få fram ett sätt som gör att en maskin kan tänka mer (men definitivt inte exakt) som en människa. Fuzzy Logic känns samtidigt som att det är ett sätt för oss människor att använda ett mer ickekonkret sätt att använda logik, om man endast bara ser på de lingvistiska variablerna som att vi tycker att längden på en specifik människa är medel. På ett sätt känns det som att människan har skapat denna logik, endast för att förenkla det för sig själv samtidigt som att det egentligen nästan aldrig finns någonting konkret med denna logik. Men å andra sidan så är det en logik som just tolkar dessa lingvistiska variabler för att kunna räkna på dessa luddiga sätt människan ser saker på. 11

Referenslista Ross, T, J., 2004. Fuzzy Logic With Engineering Applications. University of New Mexico, USA. Wiley M. Hellman. Fuzzy Logic Introduction. http://epsilon.nought.de/tutorials/fuzzy/fuzzy.pdf http://www.fortunecity.com/emachines/e11/86/fuzzylog.html, 03/10-10, 12.00 http://www.cs.cmu.edu/groups/ai/html/faqs/ai/fuzzy/part1/faq-doc-5.html, 03/10-10, 12.00 http://www.mathworks.com/help/toolbox/fuzzy/fp351dup8.html, 03/10-10, 12.00 http://www.cs.cmu.edu/groups/ai/html/faqs/ai/fuzzy/part1/faq-doc-3.html, 03/10-10, 12.00 12