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

Relevanta dokument
Fuzzy control systems

William Hernebrink

Fuzzy Logic Linköpings Universitet

Fuzzy Logic: Den oskarpa skarpheten

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

Fuzzy Logic och dess implementering i ett företagsspel

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

Fuzzy logic och fuzzy kontrollsystem

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

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

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

Fördjupningsarbete HT 2012 FUZZY LOGIC

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

Fuzzy logic. Julia Birgersson, julbi

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

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

När det oskarpa ger skärpa

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

Fuzzy Logic. Ellinor Ihs Håkansson, ellih

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

Fuzzy Logic (Kompletterad)

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

Probabilistisk logik 2

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

Bygga intelligenta system med luddig logik. Josefin Carlbring (josca824) Linköpings universitet 729G43 Artificiell Intelligens

Laboration Fuzzy Logic

1 Suddig logik och gitter

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

Lokala mål i matematik

I kursen i endimensionell analys är mängden av reella tal (eng. real number), R, fundamental.

JavaScript del 3 If, Operatorer och Confirm

1.2 Polynomfunktionens tecken s.16-29

Sammanfattningar Matematikboken X

Högskoleprovet Kvantitativ del

Konsultarbete, Hitta maximal volym fo r en la da

Högskoleprovet Kvantitativ del

Filosofisk logik Kapitel 15. Robin Stenwall Lunds universitet

Formell logik Kapitel 1 och 2. Robin Stenwall Lunds universitet

Sidor i boken f(x) = a x 2 +b x+c

Finns det över huvud taget anledning att förvänta sig något speciellt? Finns det en generell fördelning som beskriver en mätning?

TANA17 Matematiska beräkningar med MATLAB för M, DPU. Fredrik Berntsson, Linköpings Universitet. 9 november 2015 Sida 1 / 28

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

TDDC77 Objektorienterad Programmering

Logik och kontrollstrukturer

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

Studieplan och bedömningsgrunder i Matematik för åk 7 Moment Bedömningsgrunder för uppnåendemålen Begreppsbildning Tal och räkning

Högskoleprovet Kvantitativ del

Anna: Bertil: Cecilia:

Logik och Jämförelser. Styrsatser: Villkorssatsen if och repetitonssatsen for. Scriptfiler. Kommentarer. Tillämpningar: Ett enkelt filter.

Lokala betygskriterier Matematik åk 8

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

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

Matematik 3c Kap 2 Förändringshastighet och derivator

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

Abstrakt algebra för gymnasister

Kompletterande lösningsförslag och ledningar, Matematik 3000 kurs A, kapitel 4. b) = 3 1 = 2

Svar och arbeta vidare med Benjamin 2008

Lokal studieplan Matematik 3 8 = 24. Centrum för tvåspråkighet Förberedelseklass

Tema: Pythagoras sats. Linnéa Utterström & Malin Öberg

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

Induktion, mängder och bevis för Introduktionskursen på I

Probabilistisk logik 1

(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.

Kort om mätosäkerhet

Högstadiets matematiktävling 2018/19 Finaltävling 19 januari 2019 Lösningsförslag

FÖRELÄSNING 3 ANDERS MÄRAK LEFFLER IDA/HCS

i LabVIEW. Några programmeringstekniska grundbegrepp

Statistisk mönsterigenkänning

Fråga 5 (1 poäng) För att definiera ett sökproblem krävs...

Graärgning och kromatiska formler

Vad behövs för att skapa en tillståndsrymd?

Block 2 Algebra och Diskret Matematik A. Följder, strängar och tal. Referenser. Inledning. 1. Följder

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

Kan du det här? o o. o o o o. Derivera potensfunktioner, exponentialfunktioner och summor av funktioner. Använda dig av derivatan i problemlösning.

Semantik och pragmatik (Serie 4)

Laboration: Grunderna i MATLAB

TANA17 Matematiska beräkningar med MATLAB för M, DPU. Fredrik Berntsson, Linköpings Universitet. 2 november 2015 Sida 1 / 23

där x < ξ < 0. Eftersom ξ < 0 är högerledet alltid mindre än Lektion 4, Envariabelanalys den 30 september 1999 r(1 + 0) r 1 = r.

NpMa2b vt Kravgränser

Fuzzy%Logic% Linköpings&Universitet&

Extramaterial till Matematik Y

matematik Lektion Kapitel Uppgift Lösningg T.ex. print(9-2 * 2) a) b) c) d)

Linjära ekvationer med tillämpningar

ANDREAS REJBRAND NV3ANV Matematik Matematiskt språk

Övningshäfte 2: Induktion och rekursion

MATEMATIKPROV, LÅNG LÄROKURS BESKRIVNING AV GODA SVAR

Att beräkna t i l l v ä x t takter i Excel

Diskret matematik: Övningstentamen 4

Laboration 3: Stora talens lag, centrala gränsvärdessatsen och enkla punktskattningar

Blandade uppgifter om tal

Modul 1 Mål och Sammanfattning

Labb i Datorsystemteknik och programvaruteknik Programmering av kalkylator i Visual Basic

a), c), e) och g) är olikheter. Av dem har c) och g) sanningsvärdet 1.

Kvantitativ strategi Univariat analys 2. Wieland Wermke

Objective:: Linjärt beroende och oberoende version 1.0

Sidor i boken KB 6, 66

34% 34% 13.5% 68% 13.5% 2.35% 95% 2.35% 0.15% 99.7% 0.15% -3 SD -2 SD -1 SD M +1 SD +2 SD +3 SD

Vardagssituationer och algebraiska formler

Transkript:

729G11 ARTIFICIELL INTELLIGENS 2, LINKÖPINGS UNIVERSITET Fuzzy Logic Caroline Allmér, caral281 2011-09-19

Innehåll Innehåll... 2 1. Inledning... 3 2. Hur det fungerar... 4 2.1 Crisp-set och fuzzy set... 4 2.2 Lingvistiska variabler... 5 2.3 Medlemsfunktioner... 5 2.4 Operationer... 7 2.5 Modifierare... 7 3. Fuzzy Logic kontrollsystem... 8 3.1 Preprocessing... 9 3.2 Fuzzification... 9 3.3 Rule Base... 9 3.4 Inference Engine... 9 3.5 Defuzzification... 10 3.5.1 Centre of gravity (COG) :... 11 3.5.2 Mean of Maxima (MOM):... 11 3.5.3 Leftmost Maxima (LM) och Rightmost Maxima (RM)... 11 3.6 Postprocessing... 12 4. Diskussion... 12 5. Referenser... 13

1. Inledning Detta arbete handlar om Fuzzy Logic. Arbetet går igenom grunderna hur Fuzzy Logic fungerar och även hur ett Fuzzy Logic kontrollsystem är uppbyggt. Arbetet bygger helt på artiklar och böcker som är skrivna inom ämnet, inget nytt tillförs alltså i detta arbete. Främst är det artiklarna skrivna av Jantzen (1998 och 2006) som används, men även andra artiklar har nyttjats (se referenslistan). 3

2. Hur det fungerar Fuzzy logic, på svenska kan man säga oskarp logik, är en alternativ logik som påbörjades under 1960-talet av L.A Zadeh. Anledningen till att fuzzy logic utvecklades var att första ordningens predikatlogik (FOPL) bara kan hantera två värden, oftast sant (som brukar tilldelas värdet 1) och falskt (som brukar tilldelas värdet 0). Denna metod har fungerat bra för de flesta predikat, men när predikat behandlar saker som inte endast kan uttryckas genom sant eller falskt, som tillexempel om man vill beskriva någons längd, så räcker FOPL inte riktigt till. Då människor delar in längder i fler delar än lång och kort, kan det uppfattas som begränsande att säga att människor är antingen korta eller långa, mellanvärden är därför nödvändiga för att skapa nyanser. Detta är ett problem som fuzzy logic behandlar, det inför en grad av medlemskap istället för endast sant eller falskt, så kallade fuzzy sets. Fuzzy logic är ett sätt att dra slutsatser ur oprecis och vag information och det arbetar efter en regelbas istället för efter matematiska formler. 2.1 Crisp-set och fuzzy set I fuzzy logic skiljer man mellan så kallade crips-sets och fuzzy-sets. Ett crips-set är ett set som endast kan vara sant eller falskt, ett statiskt predikat, som används inom till exempel FOPL. Ett fuzzy set är däremot är inte fast, utan det får istället ett medlemskap i en kategori som benämner hur mycket medlem objektet är i den kategorin. För att fortsätta med längdexemplet; säg att om en person är 180 centimeter så definieras den som lång. I ett crips-set skulle det betyda att så fort någon var 180 centimeter så är personen lång, medan en person som är 179,3 centimeter lång faller utanför kategorin och värdet blir falsk trots den marginella skillnaden. Ett fuzzy set, däremot skulle ge dessa längder grader av medlemskap i kategorierna lång och, till exempel medellång. En person som är 179,3 cm lång skulle då få ett tämligen högt medlemskap i kategorin lång, och lågt medlemskap i kategorin medellång vilket är en bättre beskrivning på hur människor tolkar längder än vad crisp-set:en är. Figur 1 illustrerar detta. Figur 1. En illustration av set:en "lång", ett i crisp-format och ett i fuzzy-format. Källa: Jantzen, 2006 4

2.2 Lingvistiska variabler Skillnaden mellan fuzzy logic och övriga logiker är det att fuzzy logic tar ord som värden, så kallade lingvistiska variabler, och inte tal. De lingvistiska variablerna innehåller olika lingvistiska värden, så kallade term sets, och dessa värden är ett fuzzy set. Som exempel kan man ta en lingvistisk variabel l som heter längd. Den har ett term-set, M, som innehåller de olika fuzzy seten kort, medellång, lång. De olika fuzzy seten är definierade i Universumet, till exempel i intervallet 1-220 centimeter. Man kan skriva detta som: ( ) * + För att ett fuzzy logic system ska kunna fungera måste man först definiera det så kallade Universumet. Universumet innehåller alla objekt som kan förekomma i olika fuzzy sets. 2.3 Medlemsfunktioner För att kunna avgöra om ett objekt är medlem i ett set så måste objekt x vara medlem i setet X. Att ett objekt x tillhör setet X skrivs såhär: och det måste vara sant för att man ska kunna bestämma medlemskapen, vilket görs enligt följande medlemskapsfunktion:, - U är universumet som x finns i och är graden av medlemskap som x får och det ligger mellan värdena 0 och 1. Ett fuzzy set kan alltså skrivas såhär: *( )+ X är ett fuzzy set, x är ett objekt i setet och är graden av medlemskap som x har i setet. För att tilldela objekt grader av medlemskap så måste det definieras mellan vilka värden graderna av medlemskapet ligger, vanligtvis är detta mellan 0 och 1, där 0 betyder att objektet x inte alls är medlem i setet och 1 betyder att det definitivt är det. Allt däremellan anger till vilken grad x är medlem i setet. Om ett fuzzy set endast innehåller ett värde kallas det för fuzzy singleton. Det har en medlemsfunktion som endast är sant (medlemskapet = 1) vid ett specifikt värde och falskt för alla andra värden. 5

Det finns flera olika medlemskapsfunktioner som man kan använda sig av inom fuzzy logic. De vanligaste är trapezodial- och triangelfunktionerna samt Gaussianfunktionen. Dessa kan man använda för att rita upp ett fuzzy set och räkna ut vilken medlemsgrad olika medlemmarna i setet har. Medlemsfunktionerna utvecklas ofta av personer som har expertkunskap inom det område som funktionen ska fungera, då värdena på seten måste definieras, till exempel att kort är man om man är mellan 70 och 130 centimeter. En trapezoidal funktion kan man rita upp genom att använda följande funktion: ( ) { } x i funktionen är värdet för ett objekt i det fuzzy set som används. är de fyra hållpunkterna för funktionen, där a är den nedre gränsen för funktionen (det första objektet som är medlem i set:et, om man till exempel har ett fuzzy set kort som är definierat mellan 70-130 centimeter så är 70 den nedre gränsen), b är det första värde som har det högsta medlemsvärdet, c är det värde som får den sista högsta medlemsfunktionen och d är den sista medlemmen i set:et. En vanlig medlemsfunktion är triangular, och den ekvationen ser likadan ut som den för trapezoidal-funktionen förutom att b=c (det finns bara en topp). En annan medlemsfunktion som används frekvent inom Fuzzy Logic är Gaussian-funktionen som genererar en jämn och slät kurva, där den högsta punkten kan vara 1. Ekvationen för den är: ( ) [. / ] 6

Där x står för medlemsfunktionen, x 0 står för funktionens topp relativt mot universumet, och är standard deviationen. Ett objekt kan vara medlem i flera set, vanligtvis eftersträvas att varje objekt ska vara med i två set, att de ska överlappa varandra med undantag för ändarna. Detta för att luckor mellan två sets ska undvikas. Skulle det bli en lucka mellan seten så ökar risken för att värdena inte plockas upp av systemet och det skickar tillbaka inkorrekt och oprecis information som resten av systemet jobbar vidare med. Genom att med säkerhet veta att alla värden är representerade så har systemet de bästa förutsättningarna att utföra sitt arbete. 2.4 Operationer Det finns flera olika operationer som kan användas på fuzzy sets och de vanligaste är union och intersection. Om vi har två fuzzy sets, X och Y så skrivs dessa operationer som följer: ( ) ( ) betyder att man unifierar alla medlemmar som finns i X och Y, om X till exempel innehåller {a,b,c,d} och Y innehåller {c,d,e,f} så unifieras dessa och blir {a,b,c,d,e,f}. Sedan går operationen igenom alla element i unifieringen och återger det element som har högst medlemsvärde. betyder att de enda elementen som är kvar är de element som finns i både set X och i set Y, vilket om man utgår ifrån exemplet ovan blir {c,d}. När operatorn har tagit reda på vilka objekt som är medlemmar i både set X och set Y så går den igenom dessa medlemmar och återger det element som har det minsta medlemsvärdet. 2.5 Modifierare I fuzzy logic kan man också använda sig av så kallade modifierare. Modifierare är ord som ändrar innebörden av ett fuzzy set vilket gör att man kan använda sig av modifierare istället för att lägga till ett helt nytt fuzzy set, vilket utan modifierare lätt kan bli väldigt många. Exempel på olika modifierare som finns är extremt, väldigt, ganska och lite. Om man sätter dessa modifierare framför ett fuzzy set, till exempel så kanske man skriver väldigt kort, och då uppdateras medlemskapen i fuzzy setet kort och representerar istället den lingvistiska termen väldigt kort. 7

Det finns fasta operatorer för att räkna om fuzzy sets när de blir modifierade. För modifieraren extremt så blir medlemsvärdena i fuzzy setsen tre gånger så stora, det vill säga om kort är ett fuzzy set med medlemsvärdena {1; 0,7;0,4;0,1} så blir medlemsvärdena för extremt kort {1;0,343, 0,064, 0,001)} * ( ) ( ) ( ) + På samma sätt fungerar de andra modifierarna. För modifierare som ökar medlemskapsvärdet i ett fuzzy set så kvadreras medlemsvärdet med ett lämpligt tal och för att beskriva minskande medlemskap så tas kvadratroten ur medlemskapsvärdet. I följande ekvationer står k för ett heltal, x är ett objekt med medlemsvärdet ( ) och X är universumet. * ( ) ( ) ( ) + { ( ) ( ) ( ) } 3. Fuzzy Logic kontrollsystem Figur 2 visar ett schema för ett fuzzy logic kontrollsystem. Ett Fuzzy kontrollsystem används bland annat i tekniska apparater, som till exempel luftkonditionering, tåg operationssystem och kärnkraftskontroller. Skillnaden mellan ett Fuzzy kontrollsystem och ett vanligt kontrollsystem är att ett Fuzzy kontrollsystem är mer lik männskligt tänkande och resonerande än ett vanligt matematiskt system. Det kan fånga upp det ungefärliga, det inexakta som ofta existerar i den riktiga världen, men som ett matematiskt kontrollsystem inte tar hänsyn till. Figur 2. Ett Fuzzy Logic kontrollsystems uppbyggnad. Bilden är från Jantzen (2006). 8

3.1 Preprocessing Den information som skickas in till systemet är ofta ett crisp-värde som maskinen själv har fått fram, genom att till exempel mäta en längd eller ta en temperatur. Detta värde är inte alltid helt korrekt och vissa korrigeringar görs så att systemet kan hantera det så korrekt som möjligt. Till exempel kan preprocessing stadiet runda av inputvärdet så att det passar in i universumet. Om universumet är definierat som U = (1,2,3,4) och inputvärdet är 3,5 så avrundas det till 4 för att passa in på den närmaste nivån. Preprocessingen kan även försöka reducera bort olika störningar genom filtrering så att värdet blir så korrekt som möjligt. Preprocessing handlar om att normalisera input-data så att den kan användas av systemet. 3.2 Fuzzification Under det här stadiet så gör systemet om input-värdet, som ofta är ett crisp-värde till ett fuzzy-värde genom att göra om inputvärdet till grader av medlemskap. Detta görs genom att titta igenom den eller de olika medlemskapsfunktionerna som finns och matcha inputvärdet gentemot dem. Det kan generellt skrivas såhär: ( ) ( ) där ( ) = 1 är medlemsvärdet för objekt x i ett fuzzy set (M i det här fallet) och den nya inputen, x:s medlemsvärde i detta setet minskar ju längre ifrån x det är. På detta sätt kan man avgöra hur mycket medlem en ny input är i ett set. När detta är avgjort så skickas informationen vidare till inference engine. 3.3 Rule Base Regelbasen innehåller systemets alla regler, oftast skrivna enligt OM X SÅ Y, där X och Y är fuzzy sets. Dessa regler sparas vanligtvis i matriser vilket är ett mer kompakt sätt att representera reglerna, för en ovan användare kan det dock vara svårare att förstå jämfört med om de är utskrivna. Alla regler i regelbasen använder samma konnektiv, ofta and eller or men de blandar aldrig. 3.4 Inference Engine Inferencen är en väldigt viktigt del i ett Fuzzy Logic system. Den är direkt kopplad till regelbasen och matchar inputen som den har fått från fuzzification-steget med reglerna som 9

finns i regelbasen för att generera en output som representerar den ändring som ska ske. Man kan säga att inference engine besår utav tre steg; aggregering (som kan översättas till sammanklumpning), aktivering och ackumulering (ansamling). Det första steget är aggregation som är en operator som räknar ut graden av uppfyllande eller firing strength,, för villkoret för en regel, r. Regeln kommer att generera ett fuzzy medlemsvärde för detta villkor och om en regel består av två villkor, till exempel om X och Y så Q så genereras medlemsvärdet för båda villkoren. Aggregation-outputen går sedan vidare till steg två i inference engine, nämligen aktivering Aktiveringen av en regel är slutledningen av regeln, konsekvensen, vilket blir reducerat av firing strength, alltså värdena som kommer från aggregation. Som aktiverings operator används oftast min eller max, beroende på reglernas utformning. Om reglerna består av flera premisser, till exempel om A och om B så så används min operatorn, men om reglerna är om A eller om B så så används max operatorn. Min operatorn klipper av konsekvensens fuzzy set så att det representerar en output som gäller för det minsta medlemsvärdet för försatsen. Detta för att det inte är troligare att konsekvensen gäller än vad det är troligt att försatsen uppfylls. Max operatorn däremot klipper av konsekvenssetet så att det representerar en output som gäller för det högsta medlemsvärdet. Detta för att om en av försatsen villkor uppfylls så gäller även konsekvensen. För exempelregeln som skrevs ovan i aggregation stycket, så betyder detta att fuzzy setet ståtlig klipps av så att det gäller för dessa specifika inputs. Det sista steget i inference engine är ackumelering som samlar ihop alla aktiverade slutsatser, och detta görs genom max operatorn (unifiering). Det leder till en graf som består av alla slutsatser från reglerna som aktiverats. Denna graf skickas sedan vidare till defuzzificationprocessen. 3.5 Defuzzification För att en ändring ska göras så måste outputen vara ett fixerat, bestämt värde. Till exempel går det inte att beordra en maskin att öka trycket lite, det vill säga outputen från ett fuzzysystem måste vara ett fixt värde. För att få ett fixt värde så måste man defuzzifisiera det värdet som skickades från inference engine. Det finns flera olika metoder för att göra detta och några av de vanligaste är: 10

3.5.1 Centre of gravity (COG) : Denna metod är vanlig att använda för defuzzification, dock är uträkningskomplexiteten ganska hög. Den räknar ut arean under grafen från det fuzzy set som inference engine skickade vidare. Ekvationer ser ut såhär: Där ( ) ( ) är en flytpunkt i ett diskret universum och ( ) är den punktens medlemskapsvärde i medlemskapsfunktionen. Alltså tas summan av alla element multiplicerade med sina medlemskapsfunktioner, ( ) och divideras med summan av alla medlemskapsfunktioner. Då får man ut grafens mittpunktsvärde, vilket är outputen man skickar vidare till postprocessingen. 3.5.2 Mean of Maxima (MOM): Den här metoden tar de högsta värdena för det fuzzy set som är outputen och skickar tillbaka det värdet som har högsta medlemskapen. Om det finns flera värden i setet som har väldigt hög medlemskap så räknar den istället ut medelvärdet för dessa värden, därav namnet på funktionen. * ( ) ( ( ))+ Täljaren är summan av alla de objekten som har högst värde och m står för det totala antalet objekt som är med i ekvationen. 3.5.3 Leftmost Maxima (LM) och Rightmost Maxima (RM) Ytterligare defuzzification metoder är Leftmost Maxima och Rightmost Maxima, vilka innebär att det värde som är längst till vänster respektive åt höger som har högst medlemsvärde väljs. Dessa är användbara i till exempel robot-system, där en robot måste välja att gå antingen åt höger eller åt vänster för att inte undvika hinder, och då vill man inte att den ska välja ett medelvärde (då kommer roboten förmodligen gå in i hindret i alla fall) utan den ska svänga tydligt åt höger eller vänster. Nedan visas formlernas funktioner. Leftmost Maxima: { ( ) ( ( ))} Rightmost Maxima: { ( ) ( ( ))} är medlemsfunktionen och x är en flytpunkt i universumet. 11

3.6 Postprocessing Postprocessing är det sista steget i ett Fuzzy kontoll system. Trots att defuzzification-steget har skickat ut ett crisp-värde så är det inte säkert att det går att använda direkt. Ofta kan crispvärdet man behöva göras om då det utgår ifrån de mått som universumet är satt till (ofta mellan 0 och 1) och det kan behövas göras om till SI-enheter så att systemet kan göra korrekta ändringar. 4. Diskussion Fuzzy Logic är ett bra sätt att uttrycka saker som inte enbart kan vara sant eller falskt. Det ger även en möjlighet för systemet att reglera sig och göra ändringar innan problem blir allvarliga. Säg att ett avkylningssystem i till exempel en kärnkraftsanläggning använder sig av fuzzy logic. Om den då märker att vattnets temperatur har ett medlemsvärde som är närmare varmt än kallt och det ska vara kallt så kan den åtgärda det. Ett vanligt sant/falskt system skulle inte göra några ändringar förrän vattentemperaturen har gått över gränsen och verkligen är varmt. System som använder Fuzzy Logic kan i och med att de använder lingvistiska variabler och på så vis är mer lika det sätt som människor tänker vara mer användarvänliga för människor som inte jobbar med eller håller på mycket med datorer. Till exempel kan Fuzzy Logic användas i luftkonditionerare, då kan man ställa in att man vill ha det svalt i sitt rum och behöver inte fundera på vilken exakt temperatur det är utan systemet ser hela tiden till att det är en behaglig temperatur i rummet. Kritik mot fuzzy logic är bland annat att den är oprecis och att det inte behövs, att man kan uttrycka samma saker med första ordningens perdikatlogik eller probabilistisk logik, vilket gör fuzzy logic överflödigt. Personligen tycker jag att fuzzy logic är en tänkvärd logik, att man kan uttrycka saker som är mitt emellan sant och falsk är bra. Även om det kan vara sant att man kan göra program som kan lösa samma sorts uppgifter som fuzzy logic system så kan fuzzy logic vara bra att använda då det är enklare att implementera. 12

5. Referenser Artiklar Dote, Y. Introduction To Fuzzy Logic Besökt 5/9 kl 10.00 http://ieeexplore.ieee.org.lt.ltag.bibl.liu.se/stamp/stamp.jsp?tp=&arnumber=483332 Hellermann, M. Fuzzy Logic Introduction Besökt 5/9 kl 11.00 http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.85.9757&rep=rep1&type=pdf Jantzen, J. Tutorial on Fuzzy Logic. Besökt 5/9 kl 12.00 http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.125.2096&rep=rep1&type=pdf Jantzen, J. Design Of Fuzzy Controllers Besökt den 9/9 kl 10.00 http://site.iugaza.edu.ps/mahir/files/2010/02/design.pdf Yong-Hua Song and Allan T. Johns: Applications of fuzzy logic in power systems Part 1 General introduction to fuzzy logic. Power Engineering Journal, 11 (5). Oct 1997 pp 219-222 6/9 http://ieeexplore.ieee.org.lt.ltag.bibl.liu.se/stamp/stamp.jsp?tp=&arnumber=636809 Yong-Hua Song and Allan T. Johns: Applications of fuzzy logic in power systems Part 3 Besökt 7/9 kl. 10.00 http://ieeexplore.ieee.org.lt.ltag.bibl.liu.se/stamp/stamp.jsp?tp=&arnumber=765695 Zadeh, LA. Fuzzy Logic Besökt 6/9 kl 10.00 http://www.geocities.ws/hhvillav/00000053.pdf Böcker Russell, S & Norvig, P. Artificial Intelligence, A Morden Approach, pp 550-551 Passino, K.M & Yurkovich, S. Fuzzy Control. 1998 Addison-Wesely Longman Inc. http://www.google.se/url?sa=t&source=web&cd=6&ved=0cewqfjaf&url=http%3a%2f%2fciteseerx.ist.psu. edu%2fviewdoc%2fdownload%3fdoi%3d10.1.1.131.4494%26rep%3drep1%26type%3dpdf&rct=j&q=leftm ost%20maxima%20fuzzy%20logic%20example&ei=actxtqdmayvu4qt82myrcq&usg=afqjcngvcmgv UcdUc8lG9HCRIDYBEM5f5w&sig2=geRWv2A57t9DQSGctTJ1Nw 13