William Hernebrink

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

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

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

Fuzzy control systems

Fuzzy Logic Linköpings Universitet

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

FUZZY LOGIC. Christopher Palm chrpa087

Fördjupningsarbete HT 2012 FUZZY LOGIC

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: Den oskarpa skarpheten

Fuzzy logic. Julia Birgersson, julbi

Fuzzy logic och fuzzy kontrollsystem

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

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

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

När det oskarpa ger skärpa

Fuzzy Logic. Ellinor Ihs Håkansson, ellih

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

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

Fuzzy Logic och dess implementering i ett företagsspel

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

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

1 Suddig logik och gitter

Formell logik Kapitel 1 och 2. Robin Stenwall Lunds universitet

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

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

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

Mängdlära. Kapitel Mängder

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

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

MA2047 Algebra och diskret matematik

Filosofisk logik Kapitel 15. Robin Stenwall Lunds universitet

Algebra I, 1MA004. Lektionsplanering

Föreläsning 5. Deduktion

Fuzzy%Logic% Linköpings&Universitet&

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

i LabVIEW. Några programmeringstekniska grundbegrepp

Övningshäfte 2: Induktion och rekursion

Objektorienterad programmering Föreläsning 8. Copyright Mahmud Al Hakim Agenda (halvdag)

Tentamen ID1004 Objektorienterad programmering October 29, 2013

ANDREAS REJBRAND NV3ANV Matematik Matematiskt språk

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

MATEMATIKENS SPRÅK. Avsnitt 1

Kort om mätosäkerhet

Laboration Fuzzy Logic

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

Bakgrund och motivation. Definition av algoritmer Beskrivningssätt Algoritmanalys. Algoritmer. Lars Larsson VT Lars Larsson Algoritmer 1

Instruktioner - Datortentamen TDDE24 och TDDD73 Funktionell och imperativ programmering (i Python)

Robin Stenwall Lunds universitet

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

Tentamen i. TDDC67 Funktionell programmering och Lisp

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

TENTAMEN TDDB53. Programmering i Ada för MI (provkod TEN2) den 7 april 2010 kl Institutionen för datavetenskap, IDA Olle Willén mars 2010

D. x 2 + y 2 ; E. Stockholm ligger i Sverige; F. Månen är en gul ost; G. 3 2 = 6; H. x 2 + y 2 = r 2.

Probabilistisk logik 1

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

Semantik och pragmatik (Serie 3)

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

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

Probabilistisk logik 2

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

Introduktion till logik

Micro:bit och servomotorer

Objektorienterad Programmering (TDDC77)

I Skapa Hej.java och skriv programmet. I Kompilera med javac Hej.java. I Rätta fel och repetera tills du lyckas kompilera ditt program

FÖRELÄSNINGSANTECKNINGAR 20okt2017 IB LYCAN KAP.2 OCH KAP. 3

PROBLEMLÖSNING. ! GPS! Mål medel analys! Problemlösning i programmering. Lars-Erik Janlert 2007

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.

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

Datatyper och kontrollstrukturer. Skansholm: Kapitel 2) De åtta primitiva typerna. Typ Innehåll Defaultvärde Storlek

Lokal pedagogisk planering i matematik för årskurs 9

DD1350 Logik för dataloger. Vad är logik?

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

Omgivningar. Omgivningar är viktiga eftersom de avgör vilka namn som är synliga och därmed dessas innebörd och de värden som är förknippade med dem.

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

Labb i Datorsystemteknik och programvaruteknik Programmering av kalkylator i Visual Basic

FTEA12:4 Vetenskapsteori. Realism och anti-realism

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

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

A B A B A B S S S S S F F S F S F S F F F F

Fuzzy Logic. En smidig väg för att reglera ditt system! BILAGA A. Fuzzy Logic Wikingsons Wåghalsiga Wargar Projekt ABB VT 2006 Västerås

TAIU07 Matematiska beräkningar med Matlab

A. MENING OCH SANNINSGVÄRDE HOS IDENTITETSPÅSTÅENDE. Freges utgångspunkt: mening och meningsfullhet hos identitetspåståenden

Anna: Bertil: Cecilia:

Formell logik Kapitel 9. Robin Stenwall Lunds universitet

JavaScript Block Editor:

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

Vardagssituationer och algebraiska formler

Fallbaserat resonerande

MATEMATIKENS SPRÅK. Syftet med denna övning är att med hjälp av logik lära oss att uttrycka matematik mer exakt, lära oss

Introduktion till programmering SMD180. Föreläsning 5: Fruktbara funktioner

Styrteknik: Grundläggande logiska funktioner D2:1

Objektorienterad Programmering (TDDC77)

Bedömningsanvisningar

Grundläggande logik och modellteori

Introduktion till programmering D0009E. Föreläsning 5: Fruktbara funktioner

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

Karlstads Universitet, Datavetenskap 1

Funktionsstudier med derivata

Statistisk mönsterigenkänning

Transkript:

Fuzzy Logic @student.liu.se 1

Sammanfattning Följande arbete är ett individuellt kursmoment som omfattar 3hp i kursen Artificiell Intelligens II (729G11) vid Linköpings universitet. I denna litteraturstudie har jag valt att fördjupa mig inom ämnet Fuzzy Logic. Vad Fuzzy Logic är för något, vad används det till och mer vilka olika komponenter som finns i ett Fuzzu Logic kontrollsystem. 2

Innehållsförteckning Sammanfattning... 2 1. Inledning... 4 2. Historia... 4 3. Fuzzy Logic, bakgrund... 5 4. Hur Fuzzy Logic fungerar... 6 4.1 Fuzzy set theory... 6 4.2 Fuzzy set... 7 4.2 Fuzzy set operations... 9 4.3 Hedges... 9 5. Fuzzy controllers... 10 5.1 Preprocessing... 11 5.2 Fuzzification... 11 5.3 Regelbas... 11 5.4 Slutlednings-motor... 12 5.5 Defuzzification... 12 5.6 Postprocessing... 12 6. Diskussion... 13 7. Referenser... 14 3

1. Inledning Jag kommer i denna litteraturstudie gå igenom grunderna till fuzzy logic. Efter bakgrund till fuzzy logic samt grunderna om vad fuzzy logic är, kommer jag att gå in på användning av fuzzy Logic inom kontrollsystem och vilka komponenter det finns i ett i en fuzzy controller. Till sist kommer jag att framföra mina reflektioner angående fuzzy logic och dess användning. 2. Historia Logiken har sitt ursprung från de antika grekernas filosofier. När man talar om traditionell logik syftar man oftast på two-valued logic som innebär att ett påstående kan ha två sanningsvärden, antingen så är det sant eller så är det falskt. Predikaten i den två-värderade logiken är begränsade till att vara skarpa i den utsträckningen att de inte får lov att vara oklara delmängder i universum av diskurs. Som vi kommer att se senare kan däremot de predikat som behandlas med Fuzzy Logic vara antingen av strikt karaktär, exempelvis; dödlig, exakt, fader åt, eller så kan de vara mer generella så som exempelvis; illamående, trött, stor, mycket tyngre och så vidare. 4

3. Fuzzy Logic, bakgrund Professor i datavetenskap vid Universitetet i Berkely, Lotfi A. Zadeh initierade fuzzy logic 1965. Enkelt kan man säga att fuzzy logic är multivalued logic, det vill säga, en slags logik där det finns mer än två sanningsvärden. Traditionellt inom logiken finns det två sanningsvärden, exempelvis; sant/falskt, ja/nej, lång/kort. Fuzzy logic å andra sidan tillåter värden som ligger mellan dessa skarpa sanningsvärden att bli definierade. Man kan säga att fuzzy logic är ett sätt att resonera ungefärligt istället för helt fixerat och exakt. Genom att kunna dra slutsatser baserade på oprecis information som exampelvis att; Rickard är ganska lång, eller Rickard är väldigt snabb kan man lyckas med att programmera datorer på ett sätt som mer liknar hur vi människor tänker. Genom fuzzy logic kan en dator processera ord från naturliga språk som exempelvis; stor och liten. För oss människor är det sällan att någonting är sant eller falskt utan mer en grad utav någonting, exempelvis en grad av lång; Rickard är rätt så lång. För fuzzy logic är allt, (i ett nötskal) inklusive sanningen, en fråga om till vilken grad. Fuzzy logic har trätt fram och visat sig vara ett vinstdrivande verktyg för kontroll och styrning av system och andra komplicerade industriella processer. Vi har även i våra hem, köksredskap och andra maskiner som kontrolleras med hjälp utav fuzzy logic. 5

4. Hur Fuzzy Logic fungerar Fuzzy Logic är baserad på teorin om fuzzy sets, där ett objekts tillhörighet/medlemskap är till en viss grad av mängd istället för antingen en medlem eller ej. Fuzzy Logic använder sig av intervallet 0-1 för att beskriva till vilken grad någonting är en medlem av något där 0 är ingen tillhörighet och där 1 är tillhör definitivt, för att skapa en logik som en grund för regler till en slutledning. Till skillnad från andra klassiska, logiska system, så syftar fuzzy logic till att kunna fatta rationella beslut, likt människan, detta trots att miljön kanske innehåller oklarheter och osäkerheter. Den förmåga som vi människor har, att kunna dra slutsatser, fatta beslut eller ge ungefärliga svar med den kunskapen eller informationen som finns tillgänglig, (men som även kan vara inexakt, ofullständig eller inte helt pålitlig) är något som ett vanligt Logiskt system inte kan behandla. Genom att representera innebörden av ett lexikalt, oprecist påstående som en elastisk begränsning för en variabel, tilldela variabeln ett slags medlemskapsvärde av ett fuzzy set (som jag kommer gå in på senare i texten), kan man med fuzzy logic däremot dra slutsatser utifrån denna oprecisa input av information. Fuzzy logic kan man säga fungerar som ett verktyg för att resonera och beräkna ungefärligt istället för exakt och precist. 4.1 Fuzzy set theory Denna ungefärliga beräkning/resonemang, som man med fuzzy logic utför tar variabler som är av lingvistisk karaktär, det vill säga, variabler vars värde är ord eller meningar i ett naturligt eller syntetiskt språk istället för siffror eller tal. Dessa lingvistiska variabler blir i sin tur beskrivna av fuzzy sets. Fyzzy set theory är ett medel för att specificera hur väl ett objekt uppfyller en vag beskrivning. För exempel: Rickard är 178cm lång, är Rickard lång? Här är det ingen osäkerhet om världen då vi vet att Rickards längd är 178cm, här är det en osäkerhet kring den lingvistiska termen lång som inte refererar till någon skarp avgränsning. När man talar om längd så är det en fråga om antal grader av hur lång någon kan tänkas vara. Fuzzy set theory betraktar Lång som ett fuzzy predikat och säger att sanningsvärdet av Lång(Rickard) är ett nummer mellan 0 och 1 istället för att vara sant eller falskt, det vill säga i detta exempel Lång eller icke Lång. 6

4.2 Fuzzy set Ett set är en mängd, exempelvis X. X har en samling av definitiva, urskiljbara objekt eller föremål. Objekten kan man säga är medlemar av mängden X. Det är medlemmarna som definierar ett set. För att avgöra om ett objekt tillhör/är medlem av en viss mängd (X) måste x (objekt) vara antingen sant eller falskt. Om ett objekt tillhör en viss mängd kan detta skrivas på följande sätt: x X För att återgå till föregående exempel där längd användes. Om vi ska skapa en klassisk set för lång (L), skulle den kunna se ut på följande sätt; L(x), x > 178cm, detta medför en väldigt skarp skillnad, då man är lång när man exempelvis är 178cm och längre men att man vid 177,5 cm inte skulle vara det. Eftersom längd är en elastisk egenskap blir då detta exempel problematiskt med att använda sig av ett så kallat crisp set. Om ett objekt istället har en tillhörighetsgrad av en mängd, medför detta en mjukare övergång från en tillhörighet till icke tillhörighet. Tillhörigheten blir stegvis tilltagande eller avtagande. Tillhörighetsgraden för alla medlemar definierar ett fuzzy set. Figur 1. Två definitioner av set: tall men, ett crisp (strikt) och ett fuzzy set. Figuren visar här två olika definitioner av set tall men. Det klassiska crisp set är väldefinierat, exempelvis att vid x > 176cm så är man lång (medlemskap 1). Den 7

streckade linjen är ett så kallat fuzzy set. Här kan man se hur övergången gradvis går ifrån icke medlem (inte lång, i detta exempel) till medlem. Den är inte lika abrupt som den för crisp set är. Medlemmar av ett fuzzy set tas från universum, där universum är alla objekt som man tar med i beräkning för den givna mängden. För att en medlem av ett set ska tilldelas ett tillhörighetsvärde måste objektet vara en del av eller tillhöra ett set, som tidigare visats: x X Tillhörighetsgraden för alla medlemmar definierar ett fuzzy set. Givet en samling av objekt i universum (U), ett fuzzy set A, i U, är definierad som en mängd av ordnade par. Där är kallad medlemskapsfunktionen för mängden av alla objekt x i U. Medlemskapsfunktionen tilldelar alla x, en tillhörighetsgrad intervallet [0,1]., ett nummer i Definitionen av ett fuzzy set skiljer sig från ett vanligt set genom att varje medlemskapsvärde µ är tillåtna inom intervallet 0 µ 1, och ju högre värdet är, desto högre är tillhörighetsvärdet. Figur 2: Olika sätt att representera medlemskapsfunktioner för klockslag, omkring middagstid 8

Figuren ovan visar fyra möjliga medlemsfunktioner som representerar tiden omkring middagstid. a) är en parallelltrapets, b) triangulär, c) en smooth parallelltrapets och d) en smooth triangulär. Det finns två olika sätt att representera en medlemskapsfunktion: continuous eller discrete. Jag tänker inte gå djupare in i detta mer än att säga att för exempelvis parallelltrapets-varianten, som är utav typ, continuous, så kontrolleras den av fyra parametrar {a,b,c,d}. Parametrarna a,b,c,d, definierar fyra brytpunkter; a) vänstra nedre, b) vänstra övre, c) högra övre och d) högra nedre. 4.2 Fuzzy set operations För att kunna generera nya sets från existerande sets finns det två operationer som man kan ta till, intersection och union. Låt säga att vi har två fyzzy sets Z och Q, då kan dessa två operationer skrivas ut på följande sätt: Z Q = min(z,q) Z U Q = max(z,q) Den första innebär att man tar bara de element som finns i bägge seten, exempelvis; om set Z innefattar {o,p,q,r} och set Q innefattar {o,p,k,l} så kommer det finnas kvar {o,p} och det värde som har det minsta tillhörighetsvärdet, är det som kommer att returneras. Den andra innebär att man slår ihop alla de medlemmar som Z och Q innehar. Om exempelvis Z innefattar {o,p,q,r} medan Q innefattar {q,r,s,t}, blir unionen mellan Z och Q {o,p,q,r,s,t}. Det operationen sedan gör att återge det värde bland de som finns i unionen, vars tillhörighetsvärde är det högsta. 4.3 Hedges Medan algebraiska variablar tar nummer som värden tar en lingvistisk variabel ord eller meningar som värden. Namn på en sådan lingvistisk variabel är dess etikett. Det set av värden som den kan ta kallas för dess term set. En lingvistisk variabel tar ett lingvistiskt värde, vilket är ett fuzzy set, definierad i universum. Ett exempel då x är en lingvistisk variabel med etiketten Ålder. Då kan dess term set bli definierad på följande vis: T(ålder) = {ung, väldigt ung, inte så ung, gammal} 9

En modifierare eller en så kallad hedge, är ett ord som påverkar termer och modifierar dess innebörd. Exempelvis ordet väldigt i meningen; väldigt tjock. Ordet väldigt modifierar termen tjock. Det finns mängder av olika modifierare och här följer några få exempel; lite, väldigt, definitivt, mer eller mindre. Det kan vara svårt att säga precis vilken effekt som en modifierare har, men om vi tar modifieraren väldigt, kan man åtminstone se eller höra, att den kommer ha en ökande effekt, lika så som modifieraren lite kommer ha en minskaden effekt. Man använder sig av dessa modifierare för att slippa lägga till nya fuzzy sets. Ovan visar hur en omräkning av två fuzzy sets görs då de har olika modifierare, ett som intensifierar (very) och ett som medför en avtagande av intensitet (morl, more or less) av tillhörighetsvärdet. Tillhörighetsvärdet ( ) ökas genom att kvadreras, som i exemplet med modifieraren very, men minskas genom att dra kvadratroten ur som i exemplet för modifieraren morl. En uppsjö av modifierare kan genereras genom att ta, med k som ett positivt heltal. 5. Fuzzy controllers Fuzzy controllers används bland annat för att kontrollera prudukter som vi vanliga konsumenter använder oss utav. Det kan vara allt ifrån tvättmaskiner, digitalkameror eller potatiskokare. Men fuzzy controllers finns även i industriella processer så som luftkonditioneringssystem, robotar, tunnelbanetåg, med flera. Om man kan säga att fuzzy logic beräknar med ord istället för med siffror, kan man säga att fuzzy kontroll, kontrollerar med meningar istället för med ekvationer. Bilden nedan visar strukturen för hur en fuzzy controller är uppbyggd. 10

Figur 3: Struktur över en fuzzy controller. Själv kontrollern är mellan preprocessing och postprocessing. 5.1 Preprocessing Den input som man får är oftast av strikt (crisp) karaktär från något slags mätinstrument. I preprocessing stadiet sker olika former av justeringar av input så att det ska kunna användas så bra som möjligt. Exempelvis kan ett input avrundas till närmsta nivå för vad matchas mot det som finns i universum. I detta stadie så filtreras även den input man får så att störningar tas bort. Man vil i detta stadie få ett så tydligt och bra input möjligt. 5.2 Fuzzification När man väl har passerat preprocessing stadiet kommer man till första blocket i själva kontrollern. Det blocket kallas för fuzzification. I detta block omvandlas alla den inputen av data till grader av tillhörighet genom att genomsöka många olika medlemskapsfunktioner och jämföra mot dem. Inputen har nu gått från att vara av typ crisp till typen fuzzy. Vilket tillhörighetsvärde som objekten tilldelas beror på jämförelserna i medlemskapsfunktionerna. 5.3 Regelbas I detta block av kontrollern finns de fördefinierade reglerna. Dessa är baserade på expertkunskap och ter sig oftast i form av if-then. Det vill säga, om Z så Y. De regler som finns använder sig av eller är kopplade med olika konnektiv som till exempel och, eller, om så, om och endast om. 11

5.4 Slutlednings-motor Slutledningen sker i tre steg, eller operationer. Aggregation, Activation samt Accumulation. Aggregation operationen används när beräkning av graden av friering strenght αₔ för ett tillstånd av en regel ₔ. Det som genereras kommer vara ett tillhörighetsvärde. Den output hamnar sedan i operation nummer två i slutledningsmekanismen som tidigare nämnts är activation. Här aktiveras regeln vilket innebär att det blir en slutledning för regeln. Vilken activation operator som ska användas är beroende på hur typen av regeln ser ut. De som vanligast används är min eller max. Efter dessa två operationer är genomförda, och det kan handla om flera slutledningar samtidigt, samlas dessa ihop i accumulation stadiet. Dessa tillsammans bildar en graf som senare hamnar i nästkommande process, som är defuzzification. 5.5 Defuzzification För att systemet skall kunna utföra en handling måste de resulterande fuzzy set bli konverterat till något av crisp, en signal som kan processeras av systemet. Den process som omvandlar detta fuzzy set till just en sådan crisp control signal, som kan processeras, kallas för defuzzification. Det finns olika defuzzification metoder varav en av de vanligaste är Centre of gravity. Efter att ett fuzzy set har blivit konverterat till en signal som kan processeras skickas den vidare till postprocessing. 5.6 Postprocessing Liksom i preprocessing stadiet så skalas även output i postprocessing stadiet då det värde som blivit konverterat inte alltid går att använda som det är. Det kan kanske behöva få rätt skalanpassning från exempelvis det nerskalade som var taget ur universum [-1,1] till den fysiska enheten som kanske var [-10, 10] meter. 12

6. Diskussion Jag tror att implementering av den luddiga logiken kan vara väldigt hjälpfull för väldigt komplexa processer där det kanske inte finns någon enkel matematisk lösning. Dessutom tror jag att med hjälp av fuzzy logic, kommer så nära beräkningar och rationella beslut likt en människa skulle ha fattat det. För det första är fuzzy logic baserat på ett naturligt språk och är någorlunda lätt att förstå, och för det andra så tål det dessutom data som inte är exakt, crisp-sets. Vi människor fattar ju beslut dagligen på data, input från våra sinnen som inte är exakta så om man vill sträva efter att ha en beslutfattnings metodik som är likt en människa, tror jag fuzzy logic är så nära man kan komma. För att kunna lösa problem behövs lösningar. Genom två-värdig logik, känns det inte som att man får just detta, inte i stor kvantitet åtminstone. Lösningar i kvantitet får man med fuzzy logic då ett påstående inte är enbart sant eller falsk. 13

7. Referenser Artiklar Dote, Y. Introduction To Fuzzy Logic http://ieeexplore.ieee.org.lt.ltag.bibl.liu.se/stamp/stamp.jsp?tp=&arnumber=483332 Hellermann, M. Fuzzy Logic Introduction http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.85.9757&rep=rep1&type=pdf Jantzen, J. Tutorial on Fuzzy Logic http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.125.2096&rep=rep1&type=pdf Jantzen, J. Design Of Fuzzy Controllers 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 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 http://ieeexplore.ieee.org.lt.ltag.bibl.liu.se/stamp/stamp.jsp?tp=&arnumber=765695 Böcker Russell, S & Norvig, P. Artificial Intelligence, A Morden Approach, pp 550 14