Bygga intelligenta system med luddig logik Josefin Carlbring (josca824) Linköpings universitet 729G43 – Artificiell Intelligens 2016-01-24 Sammanfattning Denna rapport täcker in hur man bygger intelligenta system med hjälp av luddig logik (eng. fuzzy logic) och varför det är bra. Det främsta syftet är att ge läsaren en fördjupad förståelse för vad luddig logik innebär och hur man bygger intelligenta system med hjälp av logiken. Som exempel tas det upp hur man använder luddig logik i artificiella intelligenssystem, i detta fall trafikljus. Genom litteraturstudie fastställs en förklaring av detta från olika håll, men det tillkommer ingenting nytt. Det som framgår i rapporten är att luddig logik är ett sanningsvärde mellan 1 och 0, inte bara sant eller falskt. Till skillnad från sant eller falsk, finns det kontinuerliga värden där emellan, som används till exempelvis när man talar om längd och mängd. Innehållsförteckning 1. Inledning ................................................................................................................................. 1 2. Grunderna i luddig logik ......................................................................................................... 2 2.1 Luddig uppsättning ........................................................................................................... 2 2.2 Vad är luddig logik? .......................................................................................................... 3 2.3 Varför luddig logik? ........................................................................................................... 4 2.4 Luddig kontroll .................................................................................................................. 4 2.5 Analytiska problem ........................................................................................................... 6 2.6 Luddig logik och artificiell intelligens................................................................................ 6 3. Luddig logik i trafikljussystem ................................................................................................ 7 4. Diskussion ............................................................................................................................. 12 Referenser ................................................................................................................................ 13 729G43 Artificiell Intelligens Projekt Josefin Carlbring josca824 1. Inledning Rapporten beskriver vad luddig logik (eng. fuzzy logic) innebär. Dessutom beskrivs det hur man bygger intelligenta system med just en luddig logik, i detta fall intelligenta trafikljussystem. Syftet är att ge en beskrivande text om luddig logik för att man som läsare ska förstå vad det är. Med hjälp av böcker om luddig logik och en artikel om trafikljus har denna förklarande text kommit till. Ingen undersökning, metod eller resultat finns därför inte med. Det finns mycket att skriva om luddig logik, därför är arbetet avgränsat till det mest väsentliga med en inblick i hur det fungerar i praktiken. 1 729G43 Artificiell Intelligens Projekt Josefin Carlbring josca824 2. Grunderna i luddig logik 2.1 Luddig uppsättning Russel och Norvig (2010, s.550) beskriver teorin ”luddig uppsättning” (”Fuzzy set”) som hur väl ett objekt satisfieras av en vag, otydlig beskrivning. Det Russel och Norvig menar är att om någon kallas för lång, var går gränsen för att vara lång då? 200 cm? 170 cm? De menar att många tvekar i otydliga fall, och istället för att svara sant eller falskt, svarar de ”typ”, eller ”ungefär”. De noterar att det inte handlar om att vi människor är osäkra på den externa världen, vi ser hur lång en människa är, men har svårt att svara på frågan eftersom världen är relativ i sin kontext. Att vara ”lång” är en otydlig definition, det står ingenstans att ”lång > 190 cm”, utan det är snarare en tolkningsfråga. Det finns olika grader av ”lång” dessutom. Det leder oss vidare till luddig logik. Den huvudsakliga poängen är att ett predikat har ett sanningsvärde mellan 0 och 1, istället för bara sant eller falskt. Det finns inga hårda gränser – alltså, luddig logik. Passino och Yurkovich (1998, s.55) beskriver att luddig uppsättning samt luddig logik används för att heuristiskt kvantifiera meningen av lingvistiska variabler, lingvistiska värden och lingvistiska regler som är specificerade av en expert. Luddig uppsättning introducerar en medlemsfunktion hos sitt koncept. En sådan medlemsfunktion, kort sagt går den ut på att en variabel betecknar ett universum av diskurser, en annan variabel betecknar ett specifikt lingvistiskt värde för en lingvistisk variabel, och dessa mappar med varandra och möter [0,1], vilket då kallas medlemsfunktion. Denna är subjektivt specificerad på ett heuristiskt vis från erfarenhet (se figur 2.1.1). Figur 2.1.1, tagen från Passino & Yurkovich (1998, s.57). När värdet är 0, är det inte alls med i uppsättningen, när det är 1 är den fullständigt med, och allt mellan detta så är den delvis med i uppsättningen, menar Yen och Langari (1999 s.24). Man talar om antal grader medlemskap. 2 729G43 Artificiell Intelligens Projekt Josefin Carlbring josca824 2.2 Vad är luddig logik? Russel och Norvig (2010, s.550) beskriver luddig logik som en metod för resonemang med logiska uttryck, som beskriver förhållandet i luddig uppsättning. Det är alltså ett sanningsfunktionellt system, menar dem. Ett exempel liknande deras är en komplex mening, Lång(Kalle) ∧ Tung(Kalle). Denna funktion har ett luddigt sanningsvärde, av sanningsvärdena från komponenterna. Standardreglerna för att räkna ut den luddiga sanningen, T (Truth), av en komplex mening är: T(A∧ B) = min(T(A),T(B)) T(A∨ B) = max(T(A),T(B)) T(¬A) = 1-T(A) Logiken kan skapa komplikationer, menar Russel och Norvig. Om man antar att T(Lång(Kalle)) = 0.6 och T((Tung(Kalle)) = 0.4, får vi att T(Lång(Kalle)) ∧ Tung(Kalle)) = 0.4, vilket verkar logiskt. Men det ger också att T(Lång(Kalle) ∧ Lång(Kalle)) = 0.4, vilket inte verkar helt logiskt. Problemet ligger i en oförmåga hos sanningsfunktionen. Den kan inte ta hänsyn till korrelationer eller antikorrelationer omkring komponentens delar. Med en sökning efter ”Fuzzy Logic” på Wikipedia (u.å.) finner man modellen nedan (Figur 2.2.1). Den visat ett exempel på att temperaturen inte bara är varm eller kall, utan har många grader av ljummen mellan dessa. Att det är en kontinuerlig variabel. Vid det markerade strecket finns tre variabler samtidigt, kallt, ljummet och varmt, och alla är sanna samtidigt. Den röda pilen pekar mot 0, så det är inte varmt, men det kan vara lite varmt (gul), eller lite kallt (blå). Det finns ingen sannolikhet att det är kallt om det med säkerhet är varmt och tvärt om. Figur 2.2.1, tagen från Wikipedia (u.å.) 3 729G43 Artificiell Intelligens Projekt Josefin Carlbring josca824 Yen och Langari (1999, s.3-4) beskriver att luddig logik inte blivit accepterad som en framväxt teknik förrän sena 1980-talet. De två årtionden tidigare ansågs den kontroversiell. De beskriver att termen luddig logik använts i två olika meningar tidigare. Ena, som ett logiskt system som generaliserar klassiska tvåvärdiga logiken för resonering och osäkerhet. Andra, som representerar alla teorier och teknologier som använder luddig uppsättning, vilket består av klasser av oskarpa gränser. Skillnaden är alltså att den ena har hårda gränser, sant eller falskt, och den andra har oskarpa gränser, flera värden. Det är dock viktigt att poängtera att luddig logik även inkluderar klassiska hårda gränsen, värdena 1 och 0 finns fortfarande kvar, fast med mycket fler alternativ. 2.3 Varför luddig logik? Yen och Langari (1999, s.12) menar att luddig logik kan användas för att kontrollera en process som är för ickelinjär eller för dåligt förstådd för att använda formell kontrolldesign. Logiken tillåter dessutom kontrolltekniker att enkelt implementera strategier som används av mänskliga operatorer. Så man använder luddig logik när system är komplexa och för att enkelt kunna beskriva mänsklig kunskap. Dessutom breddar det möjligheterna för metoder och verktyg. Luddig kontroll används enligt Passino och Yurkovich (1998, s.10) för att det vanligtvis är svårt att modellera komplexa ”verkliga livet”-system för kontrollsystemsutveckling. Luddig kontroll klarar dock av detta, i och med att den förser en formell metodologi för representation, manipulation och implementation av en mänsklig heuristikkunskap kring hur man kontrollerar ett system. 2.4 Luddig kontroll Luddig kontroll är enligt Russel och Norvig (2010, s.551) en metod för att konstruera kontrollsystem, där mappning mellan verklig (real-valued) input och utdatas parametrar är representerade av luddiga regler. Kontrollen har varit framgångsrik i kommersiella produkter så som automatisk överföring, videokameror och rakapparater. 4 729G43 Artificiell Intelligens Projekt Josefin Carlbring josca824 Det finns enligt Passino och Yurkovich (1998, s.10-13) fyra huvudsakliga komponenter hos en luddig kontroll: 1. Regelbasen. Den innehåller kunskap i form av en uppsättning regler kring hur man bäst kontrollerar systemet. Är en uppsättning ”om-så”-regler. 2. Slutledande mekanism. Den utvärderar vilken kontrollregel som är relevant för tillfället och bestämmer vad indata för grunden ska vara. 3. Luddiga gränssnittet. Den modifierar indata så de kan tolkas och jämföras med reglerna i regelbasen. 4. Anti luddiga gränssnittet. Den konverterar sammanfattningen som nåtts till indata för grunden. Figur 2.4.1 nedan visar ett blockdiagram av en luddig kontroll med ett stängt loopsystem. Man kan se kontrollen som en artificiell beslutsfattare som opererar i denna loop i verklig tid. Den jämför alltså utdata u(t) med referensindata r(t), för att sedan bestämma vad grundens indata u(t) ska vara, för att säkra att prestandaobjekten möts. De beskriver att en kontroll både kan operera själv, men även ta hjälp av en människa som kommer med en mänsklig beslutsfattare. Loopen nedan är byggd på en mängd ”om-så”-regler. Om in- och utdata beter sig på ett visst sätt, så borde grundens indata ha något värde. Regelbasen är konstruerad på så vis att den representerar en mänsklig expert i sin loopprocess. Figur 2.4.1 från Passino & Yurkovich (1998). Utdata är y(t), indata är u(t), och referensindata för kontrollen är r(t). 5 729G43 Artificiell Intelligens Projekt Josefin Carlbring josca824 2.5 Analytiska problem Passino & Yurkovich (1998) menar att det är inte är möjligt att utföra matematisk analys eller simulatorbaserad utveckling, om man inte använder en formell modell på en säkerhetskritisk applikation. Samtidigt hävdar dem att människor som arbetar med luddiga kontroller ofta säger att en modell inte är nödvändig för att utveckla en luddig kontroll, vilket är den huvudsakliga fördelen. Yen och Langari (1999, s.247-248) hävdar att luddig logik tar ett fundamentalt icke analyserbart perspektiv på kontrolldesignens process. Man kan dock studera beteendet för loopen för att bestämma den trovärdiga framtida händelser, genom en funktion. 2.6 Luddig logik och artificiell intelligens Luddiga system har enligt Passino och Yurkovich (1998, s.14) använts brett inom forskning, teknik, psykologi med mer. Mer specifikt används det inom flygplan (flygkontroll, feldiagnoser, satellitkontroll), automatiserade motorvägssystem (automatisk styrning, bromsning), bilar (bromsar, växellåda), kraftindustri, robotik med fler. Yen och Langari (1999, s.16) beskriver att luddig logik är en ickelinjär teknologi för att utveckla intelligent kontroll- och informationssystem. Logiken når maskinell intelligens genom att erbjuda ett sätt för att representera och resonera kring mänsklig kunskap som är naturligt oprecis. Luddig logik passar också olika tekniker för maskininlärning som kan användas för att skapa luddiga logiksystem med automatik. Exempelvis är neurala nätverk och genetiska algoritmer. 6 729G43 Artificiell Intelligens Projekt Josefin Carlbring josca824 3. Luddig logik i trafikljussystem Som ett praktiskt exempel har Talab och Mohammadkhani (2014) skrivit om luddig logik bland trafikljussystem. Mer specifikt optimerad design för ljusets timing, med hjälp av luddig logik i en tvådelad korsning (figur 3.1). Genom två luddiga logiska kontroller, ena för att optimera tiden för grönt ljus, andra, en fas för grönt ljus med förlängd tid, har man kunnat optimera systemet med en modell. Systemet sker med hjälp av rörelsekameror som sensorer, som placeras utmed körfälten. Dessa kontroller utnyttjar informationen som hämtas, för att skapa ett optimalt beslut för att minimera målfunktionen. Detta för att minimera köerna som uppstår vid rött ljus och minimera förseningen för bilarna (att det tar tid att starta vid plötsligt grönt ljus). De menar att det är vanligt med en fast tid eller förinställda system, men att dessa inte kan anpassa sig efter plötslig förändrad mängd trafik. Systemet kan därmed inte utgå från en linjär tidslinje. Därför ersätts dessa av intelligenta trafikljus. Man optimerar då tiden för varje fas, fassekvens och längden på cykeln för ljuset. Med hjälp av artificiell intelligens och genetiska algoritmer, neurala nätverk med mer har man tagit fram 83 regler. Dessa har sedan optimerats och reducerats ner till 11 regler. Dessa används av en luddig logikkontroll. Figur 3.1, tagen från artikeln. Artificiell intelligens ger ett alternativ till trafikljussystem. Datorteknologi inkluderar metoder så som luddig logik, neurala nätverk, genetiska algoritmer och evolutionära algoritmer. Talab och Mohammadkhani menar att artificiell intelligens leder till en annan lösning på problemet kring att det bildas köer. De utförde en simulation som gav ett resultat 7 729G43 Artificiell Intelligens Projekt Josefin Carlbring josca824 som visar att TAOSF (Traffic actuated optimization signal fuzzy control) markant förbättrar sex olika trafiktillstånd med hjälp av detta alternativa system. Två luddiga kontroller används i algoritm, för att kontrollera trafikens ljustiming. Den ena för att tilldela optimal grön tid och den andra för att tilldela förlängd tid. Målet är att innan tiden tar slut för en fas, ska man ha gått igenom följande steg. ST (Simulation time), som skrivs in av användaren. Om den nuvarande tiden (t) är mindre än ST, ska följande steg ske: Trafikljuset ska ändra fas, från grön i den minimala gröna tiden. Första luddiga kontrollen visar den optimala gröna tiden för den gröna fasen när tiden är avslutad. Den andra luddiga kontrollen visar ET (extension time). Om ET inte är 0, så fortsätter det vara grönt ljus för ET. När tiden är avslutad bestämmer den andra kontrollen igen, och detta pågår tills den visar ET som 0. Om den nuvarande tiden (t) nu är mindre än ST, ska fasen växla till rött ljus och nästa fas för grönt beräknas åter med ovanstående process inför att det blir grönt igen. Det finns en minimal tid för en fas, och den är anpassad efter att en fotgängare ska hinna gå över vägen när det är rött för trafik. När vågräta vägar har grönt, har lodräta rött. Det är grönt i vågrätt under fas 1, och grönt i lodrät under fas 2, och detta cirkuleras. Se figur 3.2. Det den första kontrollen tar in är hur den senaste gröna fasen gick. Den kollar hastigheten för avgång, hastighetsförändringar och kölängden. Det den andra kontrollen tar in är fordonens kö-längd i grön samt i röd fas, samt hastigheten för avgång i tidigare gröna fas. Se figur 3.3 för en överblick över de luddiga faserna, TAOSF, som tar in data från både grön och röd fas. 8 729G43 Artificiell Intelligens Projekt Josefin Carlbring josca824 Figur 3.2, tagen från artikeln. Figur 3.3, tagen från artikeln 9 729G43 Artificiell Intelligens Projekt Josefin Carlbring josca824 Talab och Mohammadkhani har tagit fram en modell för stadstrafiksnätverk. Denna tar i åtanke att det sker en försening i och med förarens reaktionstid när ljuset slår grönt. Den tar hänsyn till fotgängare och förmågan att ändra trafikskick till ”säker” eller ”osäker”. En algoritm är designad för just denna modell för att optimera trafikljusets timing i en två-fas isolerad korsning. Två MISO (many input single output) kontroller används för att möta behoven av denna algoritm. Längden på bilkön är en viktig variabel i modellen. Längden beskriver trafiksituationen och tillståndet. På grund av rörelsekameran kan man hålla koll på hur många fordon som finns i kön. Dessutom skiljer den på längden mellan bilar och bussar, mellantunga och tunga fordon. Som ett exempel visas figur 3.4 nedan, där det finns 80 fordon, varav 65 passagerarfordon, 5 bussar, och 10 tyngre fordon. I en annan formel tar man antal fordon som i den gröna fasen lämnar kön. 1 betyder grönt ljus, och 0 betyder rött. Figur 3.4 – tagen från artikeln. Det luddiga med systemet är att den använder luddiga kontroller för att modellera en korsning. I korsningen ska de då avgöra hastigheten trafiken rör sig i, och ta hänsyn till förra fasens hastighet, och hur lång tid det tar för trafiken att börja rulla från rött ljus. Detta visar att det finns en mängd värden mellan 1 och 0. Figur 3.5 nedan visar indata för första luddiga kontrollen, som inkluderar fordonets avgång i tidigare gröna fas, baserad på figur 3.6, fordonens avgångsförändring i tidigare gröna fas. Dessa visar på att det finns luddiga värden mellan olika skick. 10 729G43 Artificiell Intelligens Projekt Josefin Carlbring josca824 Figur 3.5, tagen från artikeln. Figur 3.6, tagen från artikeln. 11 729G43 Artificiell Intelligens Projekt Josefin Carlbring josca824 4. Diskussion När man talar om luddig logik gäller det att inte stampa på klassisk tvåvärdig logik. Den klassiska logiken ingår trots allt i den luddiga. Man kan se den luddiga som en anpassning till värden som är kontinuerliga, och för delmängder. I stora drag anser jag att det är en mycket välbehövlig logik, eftersom, som Russel och Norvig menar, att det är svårt att definiera hur lång en människa måste vara för att kallas för lång. Allting är relativt, i kontext, och vi ser objekt i världen på våra individuella sätt, vilket figuren från Wikipedia visar tydligt. Det gör att vi når det mänskliga språket bättre. Eftersom kontrollerna redan används i artificiell intelligens, anser jag att de bara kommer växa. Vi vill utveckla allt omkring oss och skapa mer intelligenta system, så att ta logiska system som är mer lika människan för att fatta beslut åt oss låter bara vettigt. Det känns konstigt att logiken inte accepterats förrän 80-talet, i och med att vi alltid haft kontinuerliga värden. Fallet med trafikljussystemet visar liknande figurer som den från Wikipedia. Här visar man med 0 och 1 hur de olika variablerna hör ihop. Att välja luddig logik till trafikljus kan såhär i efterhand verka smart, när man vet vad en luddig kontroll innebär. Det ger oss kortare köer än tidigare system, vilket ses som en fördel. I och med att det är svårt att uppskatta vad som är mycket kö och hur lång tid det ska vara grönt, är detta system bra. Detta eftersom den anpassar sig till föregående gröna ljus, och då förändrar sig när det är trafikstockning och det är mer kö åt ena hållet än det andra. Det är luddigt att göra en sådan bedömning, och det är där det är smart att som de gjort, ta hänsyn till både antal fordon, deras längd och hastigheten de kör. Då går det göra en bedömning, inte bara 1 minut, 2 eller 3 som det ska vara grönt, utan att man istället i en loop går igenom hur fort bilarna kör och när det är dags att avsluta. Det man kan fråga sig är om luddig logik är en vattentät lösning. Kan man lita på att kontrollen fungerar i alla möjliga fall, har man förberett för det oväntade? Och kan den verkligen ersätta den mänskliga beslutsfattaren? De analytiska problem som finns, är till visso problem, men egentligen inte så stora. Det är trots allt inte menat att utvärdera, utan det är menat att ha en fungerande process. Man lär märka ganska snart om systemet kollapsar. Även om man skulle kunna analysera, så går det inte förutspå framtiden helt ändå. 12 729G43 Artificiell Intelligens Projekt Josefin Carlbring josca824 Referenser Artikel Talab, H., S., Mohammadkhani, H. (2014). Design optimization traffic light timing using the fuzzy logic at a Diphasic’s Isolated intersection. Journal of Intelligent & Fuzzy Systems 27, s. 1609-1620, IOS Press. Böcker Passino, K. M., Yurkovich, S. (1998). Fuzzy control. California: Addison-Wesley. Russell, S., Norvig, P. (2013). Artificial Intelligence, A Modern Approach, 3e upplagan. Upper Saddle River, New Jersey; Pearson. Yen, J., Langari, R. (1999). Fuzzy Logic, Intelligence, control and inf ,ormation. Upper Saddle River, New Jersey: Prentice Hall Webbsida Wikipedia (u.å.). Fuzzy logic. Tillgänglig på: https://en.wikipedia.org/wiki/Fuzzy_logic [Hämtad: 2016-01-04] 13