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

Relevanta dokument
FUZZY LOGIC. Christopher Palm chrpa087

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. När oskarpa definitioner blir kristallklara. Åsa Svensson. Linköpings Universitet. Linköping

Fuzzy Logic Linköpings Universitet

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

Fuzzy Logic: Den oskarpa skarpheten

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

Fördjupningsarbete HT 2012 FUZZY LOGIC

Fuzzy control systems

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

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

Fuzzy logic. Julia Birgersson, julbi

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

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

William Hernebrink

Fuzzy Logic. Ellinor Ihs Håkansson, ellih

Fuzzy Logic och dess implementering i ett företagsspel

Laboration Fuzzy Logic

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

Fuzzy logic och fuzzy kontrollsystem

När det oskarpa ger skärpa

1 Suddig logik och gitter

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

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

(N) och mängden av heltal (Z); objekten i en mängd behöver dock inte vara tal. De objekt som ingår i en mängd kallas för mängdens element.

JavaScript del 3 If, Operatorer och Confirm

Övningshäfte 2: Induktion och rekursion

Hur implementera algoritmerna på maskinnivå - datorns byggstenar

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

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

Konsultarbete, Hitta maximal volym fo r en la da

Fuzzy%Logic% Linköpings&Universitet&

Logik. Dr. Johan Hagelbäck.

Sanning och lögnare. Rasmus Blanck VT2017. FT1200, LC1510 och LGFI52

Filosofisk logik Kapitel 15. Robin Stenwall Lunds universitet

Grundläggande logik och modellteori

Tommy Färnqvist, IDA, Linköpings universitet. 2 Strukturer Domäner Tolkningar... 3

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

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

7. Max 0/1/0. 8. Max 0/2/1. 9. Max 0/0/ Max 2/0/0

Mängdlära. Kapitel Mängder

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

Fler uppgifter på andragradsfunktioner

Kortaste Ledningsdragningen mellan Tre Städer

Uppsala Universitet Matematiska Institutionen Thomas Erlandsson

Satslogik grundläggande definitioner 3. Satslogik. Uppgift 1. Satslogikens syntax (välformade formler) Satslogikens semantik (tolkningar)

Lösa ekvationer på olika sätt

Bedömningsanvisningar

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

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

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

Formell logik Kapitel 9. Robin Stenwall Lunds universitet

Den räta linjens ekvation

Tentamen i. TDDC67 Funktionell programmering och Lisp

MATEMATIKENS SPRÅK. Avsnitt 1

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

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

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

Den räta linjens ekvation

5B1147. Envariabelanalys. MATLAB Laboration. Laboration 1. Gränsvärden och Summor

sanningsvärde, kallas utsagor. Exempel på utsagor från pass 1 är

DD1350 Logik för dataloger. Fö 7 Predikatlogikens semantik

MA2047 Algebra och diskret matematik

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

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

ANDREAS REJBRAND NV3ANV Matematik Matematiskt språk

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Felsökning. Datatyper. Referenstyper. Metoder / funktioner

i LabVIEW. Några programmeringstekniska grundbegrepp

Logik och kontrollstrukturer

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

Matematik. Kursprov, vårterminen Bedömningsanvisningar. för samtliga skriftliga provdelar

DD1350 Logik för dataloger

Formell logik Kapitel 1 och 2. Robin Stenwall Lunds universitet

Anna: Bertil: Cecilia:

4-5 Kvadrater och rotuttryck Namn:...

FTEA12:4 Vetenskapsteori. Realism och anti-realism

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

Statistiska samband: regression och korrelation

Np MaB vt Låt k = 0 och rita upp de båda linjerna. Bestäm skärningspunkten mellan linjerna.

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

Lösningar Datastrukturer TDA

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

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

Föreläsningsanteckningar och övningar till logik mängdlära

Semantik och pragmatik (Serie 3)

Filosofisk Logik (FTEA21:4) föreläsningsanteckningar/kompendium. v. 2.0, den 29/ III. Metalogik 17-19

FTEA21:3 Spr akfilosofi F orel asning III Martin J onsson

Lösningar och kommentarer till uppgifter i 2.3

Labbrapport svängande skivor

Matematik. Kursprov, vårterminen Bedömningsanvisningar. för samtliga skriftliga provdelar

Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p

3. Välj den sprajt (bild) ni vill ha som fallande objekt, t ex en tårta, Cake. Klicka därefter på OK.

Kravgränser. Provet består av Del B, Del C, Del D samt en muntlig del och ger totalt 63 poäng varav 24 E-, 21 C- och 18 A-poäng.

Gamla tentemensuppgifter

Funktioner. Räta linjen

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

LKT325/LMA521: Faktorförsök

Logik. Boolesk algebra. Logik. Operationer. Boolesk algebra

ÖVNINGSUPPGIFTER KAPITEL 9

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

Transkript:

Fuzzy logic 880328-2535

Innehåll Fuzzy logic... 1 1. Inledning... 4 2. Jämförelse mellan fuzzy logic och tvåvärdeslogik.... 4 3. Fuzzy sets.... 4 4. Linvistiska variabler... 5 5. Operatorer... 5 6. If- then... 7 7. Fuzzy inference.... 7 1. Fuzzification of the input variable... 7 2. Apply fuzzy operator... 7 3. Aggregate all outputs... 8 4. Defuzzification... 8 8. Litteraturförteckning... 10

1. Inledning I det här arbetet ska jag förklara vad fuzzy logic är. Jag kommer kort jämföra fuzzy logic med traditionell tvåvärdeslogik för att sedan gå in mer i detalj på olika delar i fuzzy logic. Jag kommer också att försöka visa på hur fuzzy logic kan användas och fördjupa mig i vissa viktiga begrepp. Detta är ett försök att på ett överskådligt sätt visa hur fuzzy logic fungerar, illustrerat med både bilder och text, för att göra det så lätt att förstå som möjligt. 2. Jämförelse mellan fuzzy logic och tvåvärdeslogik. I den traditionella logiken använder man sig ofta av värdena sant eller falskt. Alla delar i världen delas sedan upp mellan värdena sant respektive falskt. Antingen är ett påstående sant eller falskt, alltså är påståendet glaset är fullt antingen sant eller falskt. I grunden är det ingenting konstigt med den vanliga tvåvärdeslogiken, men i vardagligt tal mellan människor, och ute i världen, så är saker sällan så bestämda. Lofti A. Zadeh föreslog därför 1965 en teori som bygger på det som kallas för fuzzy sets, därav fick teorin namnet fuzzy set theory. Teorin bygger på att istället för att någonting är sant eller inte, kan det vara sant till olika grader. Ett exempel är om ett glas med vatten är fullt eller inte, hur mycket vatten måste det vara i glaset för att det ska vara fullt? I fuzzy logic kan glaset istället delas upp i flera olika mängder exempelvis fullt, halvfullt eller tomt. Då kan mängden vatten i glaset ingå i exempelvis fullt och halvfullt till olika grader. Dessa grader ligger fortfarande mellan värdet 1=sant och 0=falskt, men till olika grader. Detta är inte det samma som probabilistisk logik, där sannolikheten för någonting räknas ut, utan hanterar endast olika grader av sanning. 3. Fuzzy sets. I traditionell tvåvärdelogik använder man sig av så kallade crisp sets, som skulle kunna ses som en rak linje vid ett visst värde. Säg till exempel att en person är ung om den är under 18 år, då kommer en person antingen att ingå i mängden ung eller inte. Om personen är mellan 0-18 år, är alltså sanningsvärdet för att personen är ung=1- Figur 1 Crisp sets och fuzzy sets Om en person då är 20 år, indikerat av det grå strecket, kommer personen att ingå i kategorin gammal, och sanningsvärdet för ung=0, medan sanningsvärdet för gammal=1. Detta ger en värld med hårda värden, som är enkla att urskilja från varandra, men som inte stämmer särskilt bra överens med hur vi människor ser på världen. För att beskriva delar i världen som inte är skarpt definierade Lofti A. Zadeh 1965 en ny sorts logik, baserad på det som istället kallas för fuzzy sets, eller oskarpa set. Setens intervall ändras, så att

gammal ung är 0-18, och gammal 22-100, vilket ger en graf som ser ut som den till höger. Nu ingår en person som är gammal i båda seten, ung och gammal, men till olika grader. För att se till hur många grader någonting ingår i varje set mäter man ut höjden på y- axeln där värdet på x- axeln korsar de olika seten. I exemplet ovan ser man att en 20- åring ingår i setet gammal=0,6 och setet ung=0,3. 0,3 + 0,6 blir inte 1, vilket också visar på skillnaden mot probabilistisk logik, då det inte är sannolikheten att man är med i ett av seten man räknar ut, utan med hur mycket man tillhör de olika seten. 4. Linvistiska variabler Ord som ung och gammal, full eller tom, har inga fasta värden i världen. Om man säger att x är 20 år har vi direkt en variabel x som har ett fast värde = 20. Men om man säger att x är gammal, då har variabeln x inget fast värde, vilket gör att det är en variabel av ett annat slag, nämligen en lingvistisk variabel. Detta används inom fuzzy logic för att tillåta en mer flexibel världsbild, där man inte måste veta exakta gränser för olika saker i världen. Istället kan man använda sig av variabler som för tungt lastad och använda operatorer på det. 5. Operatorer Att räkna på fuzzy sets skiljer sig inte mycket från att räkna på den vanliga tvåvärdeslogiken. Man kan göra ungefär samma saker trots att det är medlemskapsgrad man räknar på istället för sanningsvärden. Man använder ungefär samma operatorer; and, or och nor, men de ser inte riktigt likadana ut som i tvåvärdeslogiken. (Riza C. Berkan, Sheldon L. Trubatch, 1997) Snitt liknar or i sitt utförande och räknas ut genom att ta det minsta medlemskapsvärdet. Vi använder oss av medlemskapsvärdet som en viss variabel har. Om vi använder exemplet från tidigare med att vara ung eller inte skulle formeln för det kunna se ut som följer, där snittet är symbolen?. MIN {μa(x)?μb(x)} = MIN (0.3, 0.6) = 0.3 Figur 2 snitt Union liknar and i sitt utförande och representeras genom att ta det högsta medlemskapsvärdet. Det är alltså likadant som snitt fast tvärtom och representeras av symbolen U. Precis som innan används siffrorna från exemplet med att vara ung eller gammal och ger följande formel.

MAX{µA(x)UµB(x)} = MAX (0.3, 0.6) = 0.6 Figur 3 Union Komplement - linkar not I sitt utförande, och är alltså en sorts negering. Detta får man fram genom att ta 1- µa(x). För exemplet med att vara ung skulle det alltså bli, då man tillhör ung med 0,3; 1-µA(x) = 1-0,3 = 0,7. Figur 4 Komplement

6. If- then En viktig del inom fuzzy logic är IF- THEN regler, eller om- så regler. Dessa är regler som är uppdelade i ett eller flera inputvärden (antecedenten), och ett outputvärde (konsekvensen). Regeln blir då If antecedenten then konsekvensen Man kan byta antecedenten och konsekvensen till vilka värden man vill, och det kan också ingå flera antecedenter före en konsekvens, men då måste dessa vara uppdelade av en operator. Exempelvis; If x and y then z Där x och y är antecedenter medan z är en konsekvens. 7. Fuzzy inference. Fuzzy inference är den process som sammankopplar alla delar i fuzzy logic, och ger en output givet en input. Detta sker i fem steg, innehållandes de delar som beskrivits ovan. Problemet som kommer användas för att beskriva de fem stegen är hur man ska gå till väga för att ge dricks på en restaurang. 1. Fuzzification of the input variable Det första steget är att ta input, och bestämma till vilken grad den tillhör ett visst fuzzy set. Om maten kan rankas på en skala mellan 1-10 och vi har en lingvistisk variabel delicious, försöker man sedan att bestämma hur mycket maten ingår i variabeln delicious. I fallet nedan rankas maten som en 8, och får då tillhörighet 0,7 i delicios. Figur 5 Fuzzification (källa mathworks) 2. Apply fuzzy operator Om vi har flera variabler att utgå ifrån, exempelvis hur maten smakar och hur servicen var, för att bestämma hur mycket dricks vi ska ge måste vi använda en fuzzy operator, snitt eller union. Låt oss säga att servicen får värdet 3, och att detta inte ingår i setet good, då får servicen 0,0 som värde, alltså var den inte särskilt bra. Nu kan vi använda oss av snitt- regeln för att bestämma värdet på restaurangen (ta det högsta värdet för maten och servicen och använd det).

Figur 6 Beskriver hur fuzzy operators fungerar. (källa mathworks) 3. Aggregate all outputs Om man kan ge olika mycket dricks beroende på hur servicen har varit måste man i detta steg slå ihop alla regler man har för att bestämma hur mycket dricks man ska ge. Om man kan ge tre olika nivåer av dricks, dåligt, medel eller mycket så måste man ha med regler som kan behandla detta. 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 4. Defuzzification I defuzzification ska man göra det oskarpa värdet som man nu har skarpt igen. Det finns flera metoder för att göra detta, och de har lite olika användningsområden. En av de enklaste att förklara är center of area, som går ut på att man räknar ut areans mittpunkt för hela setet, och låter detta blir det slutliga värdet för opperationen.

8. Diskussion Fuzzy logic är en logik skapad för att beskriva att det finns gånger när världen inte är varken sann eller falsk, utan till olika grader sann och falsk. Att ett glas vatten kan vara både fullt eller tomt är givet, men det kan också vara olika mycket fullt eller tomt nästan in i oändlighet. Detta är något som den traditionella tvåvärdeslogiken inte tar hänsyn till, där är det antingen sant eller falskt, och jar tror att fuzzy logic tack vare sina mer oskarpa linjer kan komma visa sig vara rätt väg att gå för att kunna få maskiner att faktiskt röra sig själva ute i världen. Inte enbart att utföra beräkningar på platsen där de står, utan att faktiskt kunna röra sig i en ständigt föränderlig värld där objekt rör på sig, förändrar sig och är oskarpt definierade. Det kan kanske i slutändan även vara vägen att gå för att få maskiner att tänka mer likt människor än de gör i dag, om nu detta skulle vara ett mål att försöka uppnå.

8. Litteraturförteckning Riza C. Berkan, Sheldon L. Trubatch Fuzzy systems design principles- Building fuzzy if-then rule bases ( 1997) Shigeo Abe - Neural networks and fuzzy systems - theory and application(1995) http://blog.peltarion.com/2006/10/25/fuzzy-math-part-1-the-theory/ http://www.mathworks.se/help/fuzzy/fuzzy- inference- process.html;jsessionid=696705b5c0a5c2846a61b04c21c0?s_tid=doc_12b (18/6 2013)