Förstärkande inlärning med fokus på Q-learning

Storlek: px
Starta visningen från sidan:

Download "Förstärkande inlärning med fokus på Q-learning"

Transkript

1 LINKÖPINGS UNIVERSITET 12 januari 2017 Förstärkande inlärning med fokus på Q-learning Artificiell Intelligens, 729G43

2 Sammanfattning Förstärkande inlärning innebär att vi människor lär oss genom att interagera med omgivningen, på så sätt får vi en kunskap om vad våra handlingar leder till för konsekvenser, där belöningar i olika former har en stor betydelse. När vi belönas för en viss typ av handling är sannolikheten stor att vi fortsätter utföra samma handling, exempel på detta är lönen vi får när vi arbetar eller betyget vi får efter en avslutad kurs i skolan. På samma sätt kan vi lära robotar att utföra lämpliga handlingar, genom belöningar uppmuntrar vi ett visst beteende och till slut kommer roboten också lära sig det optimala tillvägagångssättet. Denna rapport har som syfte att fördjupa sig inom förstärkande inlärningen hos robotar med fokus på Q-learning. Utöver det kommer modeller som ligger till grunden för denna teknik presenteras ytligt för att slutligen gå ner i djupet på vad Q-learning är och hur dess algoritm fungerar. Nyckelord: Förstärkande inlärning, Q-learning, Markov decision process, Optimal Control, Temporal Difference learning 1

3 Innehållsförteckning 1 Inledning Förstärkande inlärning Underliggande element Exempel Utforska eller utnyttja Utforskning med ε-greedy On-policy eller off policy Credit assignment problem Markov Decision Process Optimal Control och Temporal Difference Q-learning Värdefunktion Inlärningshastigheten, a Diskonteringsfaktor, g ε greedy metoden Algoritmen Pseudokod för algoritmen Q-learning exempel Q-learning steg för steg Begränsningar Avslutande ord Referenser

4 1 Inledning Människor utvecklas hela tiden och lär sig nya saker genom att interagera med omgivningen, detta med hjälp av våra sinnen som är en direkt anslutning till omgivningen. Enligt Sutton och Barto (1998) ger detta oss information om orsak och verkan, konsekvensen av en viss händelse, vilket i sin tur leder till mer kunskap om hur vi kan uppnå våra mål stora som små. Vi försöker anpassa vårt beteende efter hur omgivningen svarar på våra handlingar och på så sätt påverka vad utfallet blir. Watkins (1989) betonar dessutom att bete sig på ett sätt som genererar belöning är ett tecken på intelligens. Beröm från våra föräldrar, betyg i skolan eller lön för utfört arbete är alla exempel på hur vi människor kan belönas. Likaså, en hund kan tränas genom att den får belöning vid lämpligt uppförande och på så sätt lär den sig hur den ska bete sig då belöningen förstärker visa beteenden. Därav är interaktioner och konsekvenserna av dessa en stor källa till kunskap och en grundläggande idé bakom nästan alla teorier om lärande och intelligens. Under 1920-talet användes begreppet förstärkning för första gången inom psykologin, och begreppet byggde då på idén om att lära sig genom sina misstag. Vartefter blev idén även populär inom datavetenskapen då forskare och teoretiker insåg vikten av förstärkning inom maskininlärning för att uppnå intelligenta maskiner (Altuntas et al., 2016). Då programmering av spelförande agenter eller mobila robotar kan vara en lång och tidskrävande process, kan förstärkning komma väl till hands då agenten själv skulle kunna lära sig att utföra en uppgift. Genom att specificera vad robotens mål är och låta den lära sig detaljerna kring hur målen uppnås. Denna typ av inlärningsteknik kallas för förstärkande inlärning (eng. reinforcement learning), vilket innebär att agenten lär sig från med- och motgångar med hjälp av belöningar eller bestraffningar. Denna typ av inlärning används i många komplexa områden, detta då det är det enda möjliga sättet att träna ett program för att prestera på en hög nivå. Exempelvis, att lära en agent flyga en helikopter är extremt svårt men genom att ge lämpliga bestraffningar för att krascha, vingla eller avvika från en viss kurs kan agenten lära sig att flyga själv. Likaså, en spelförande agent kan lära sig genom att minnas vad som ledde till en vinst eller förlust, och på så skapa sig en utvärderingsfunktion som ger en uppskattning av sannolikheten för en vinst givet en viss position (Russell, & Norvig, 2010). 3

5 Det hela handlar om att genom interaktion med omgivningen lär sig agenten hur omgivningen fungerar och därefter hittar den allt bättre lösningar för att nå sitt mål. I denna rapport ligger fokus på belöningar, och inte bestraffningar, i en delvis okänd stokastisk omgivning. Syftet är att introducera förstärkande inlärning med en fördjupning i metoden Q-learning. I kommande kapitel förklaras begreppet förstärkande inlärning och dess innebörd, därefter nämns några av de metoder som används inom detta område för att slutligen gå in djupare på vad Q-learning är och hur dess algoritm fungerar. 2 Förstärkande inlärning Förstärkande inlärningen (Sutton & Barto, 1998) betyder att agenten lär sig vad man ska göra, kartlägger hur handlingar är kopplade till situationer för att maximera belöningen. Det handlar inte om att agenten får veta vilka handlingar som ska göras, till skillnad från de flesta former inom maskininlärning, utan måste själv upptäcka vilka handlingar som genererar mest belöning. Val av handling påverkar nödvändigtvis inte den omedelbara belöningen utan kan även påverka efterföljande situationer med tillhörande belöningar. Dessa två egenskaper kallas för trial-and-error sökning samt fördröjd belöning, vilket är de två mest utmärkande egenskaperna för förstärkande inlärning. 2.1 Underliggande element Förstärkande inlärning är en målinriktad inlärning som sker genom interaktion med omgivningen. Enligt Sutton och Barto (1998) finns det förutom agenten och omgivningen fyra underliggande element som har en stor betydelse för inlärningen: en policy, en belöningsfunktion, en värdefunktion och eventuellt en modell av omgivningen. Där en policy är kärnan för en förstärkningslärande agent, detta då en policy är tillräckligt för att bestämma agentens beteende, och definierar hur agentens ska bete sig vid en given tidpunkt. En belöningsfunktion definierar målet givet ett problem, samt vilka handlingar som ger mer eller mindre belöning. Funktionen kartlägger och ger ett värde på en situation kopplad till en viss handling, där agentens mål är att ta den handling som genererar störst belöning. Policyn styr dock valet av handling, och om handlingen följs av en låg belöning kan det hända att policyn ändras för att generera en bättre belöning i framtiden. Till skillnad från belöningsfunktion, som definierar en direkt belöning givet en handling, definierar en 4

6 värdefunktion vad agenten kan förvänta sig för belöning i det långa loppet. Det vill säga, att varje tillstånd agenten har att välja mellan består av en total mängd belöningar som agenten kan förvänta sig framöver. Ett tillstånd kan ha en omedelbar belöning med ett lågt värde men ha ett högt förväntat värde då efterföljande tillstånd ger en högre belöning sammanlagt. Även om belöning anses vara primär, då det inte finns några värden utan belöningar, så är vi mest angelägna om att välja de handlingar med högst värde och inte belöning. Då de handlingarna med högst värde i slutändan genererar högre belöning. Dock är det svårt att uppskatta ett värde än att fastställa belöningar, detta då belöningar ges av omgivningen medans värden måste uppskattas genom iakttagelser under en livstid. Därav är en av de viktigaste utmaningarna att hitta en effektiv metod för att skatta värden. Det fjärde underliggande elementet, en modell av omgivningen, används för planering. Detta då det är en modell som efterliknar ett beteende hos omgivningen. Den kan förutsäga vad en handling kommer resultera i för tillstånd och belöning, och kan på så sätt överväga möjliga situationer innan de upplevs. 2.2 Exempel För att förtydliga det hela presenteras här ett exempel tagit från Sutton och Barto (1998) men egen översättning: En mobil robot beslutar mellan att gå in i ett nytt rum på jakt efter mer skräp att samla in eller börja försöka hitta sin väg tillbaka till batteriladdningsstationen. Den tar ett beslut baserat på hur snabbt och enkelt den har kunnat hitta till laddaren i tidigare situationer. Exemplet visar att agenten utnyttjar tidigare erfarenheter för att förbättra framtida beslut, där interaktionen med omgivningen är en förutsättning för att förändra beteenden och utnyttja specifika funktioner i uppgiften. Alla agenter som utsätts för förstärkande inlärning har explicita mål, kan uppfatta delar av omgivningen och kan välja handlingar som påverkar den omgivning de befinner sig i (Sutton & Burto, 1998). Det handlar dock inte bara om att utnyttja tidigare erfarenheter, utan agenten måste ibland även utforska för att få den kunskap som krävs för att kunna agera optimalt i en omgivning. Denna avvägning mellan att utforska och utnyttja (eng. exploration-exploitation dilemma) är en av flera utmaningar inom förstärkningsinlärning. 5

7 2.3 Utforska eller utnyttja Genom att välja den handling som beräknas ha störst värde utnyttjar agenten sin nuvarande kunskap. Däremot kan det finnas handlingar med bättre värde och genom att agenten utforskar möjliga handlingar kan ett bättre värde upptäckas. Skillnaden mellan dessa tillvägagångssätt är om agenter utnyttjar nuvarande kunskap maximeras belöningen på kort sikt, men garanterar inte att den totala belöningen maximeras på lång sikt. Däremot genereras en större belöning i det långa loppet om agenten väljer att utforska möjliga handlingar, detta då agenten fyller på med ny kunskap som den senare kan utnyttja (Altuntas et al., 2016). 2.4 Utforskning med ε-greedy Då det inte är möjligt för agenten att både utnyttja och utforska i samma steg är det viktigt att hitta en balans mellan dessa två tillvägagångssätt. Det finns flera metoder för att balansera denna avvägning och den mest använda är ε-greedy metoden, som är en slags policy. Denna metod innebär att agenten vanligtvis utnyttjar sin nuvarande kunskap genom att välja giriga handlingar, dessa handlingar är de med störst uppskattat värde. Det finns dock en sannolikhet ε, som möjliggör för agenten att utforska genom att slumpmässigt välja en av de möjliga handlingarna (Altuntas et al., 2016). Detta förklaras mer i detalj i kapitlet om Q-learning. 2.5 On-policy eller off policy Förutom ε-greedy metoden finns två andra metoder för att lösa problemet med utforskning och utnyttjande, on-policy och off -policy. Där on-policy är en metod som försöker förbättra eller utvärdera en nuvarande policy för att fatta beslut. off-policy utforskar nuvarande policy men lägger ingen uppmärksamhet på att faktiskt följa policyn, den lär sig dock värdet av den optimala policyn oberoende agentens agerande (Sutton och Barto, 1998; Russell, & Norvig, 2010). 2.6 Credit assignment problem När en agent har klarat av en uppgift, exempelvis när ett spelförande program har vunnit har en sekvens med alla dess handlingar sparats som i sin tur genererade en viss belöning. I detta fall en viss poäng. På något viss måste denna belöning fördelas över vilka handlingar som ledde till vinsten, vilket kallas för credit assignment problem (Sutton och Barto, 1998). Dock 6

8 är det huvudsakliga problemet att till en början få en agent att agera i världen för att maximera sina belöningar, och detta kallas för förstärkningsinlärningsproblemet (Sutton och Barto, 1998). Figur 1: förstärkningsinlärningsproblemet 3 Markov Decision Process Markov Decision Process (MDP) är en metod som kan användas för att representera förstärkningsinlärningsproblemet. Detta är en process som består av fyra delar, förutom en agent placerad i en omgivning, där omgivningen är i ett visst tillstånd. Agenten kan i denna omgivning välja mellan olika handlingar, som resulterar i en numerisk belöning. Handlingen leder sedan till ett nytt tillstånd där agenten kan välja nya handlingar. Valet av handling baseras på en policy och agenten fortsätter tills målet är uppnått. Omgivningen är oftast stokastiskt, vi kan inte vara säkra på vad en handling leder till utan det är slumpen som avgör (Sutton & Burto, 1998). Figur 2: Markov Decision Process Det som utgör MDP är fyra delar; uppsättningen av tillstånd S, möjliga handlingar A för varje tillstånd, en övergångsfunktion T samt en belöningsfunktion R (Watkins, 1989). Där ett 7

9 tillstånd s Î S, en handling a Î A. För att komma från ett tillstånd till ett annat finns en policy som avgör agentens beteende. Denna process bildar en sekvens av episoder: Denna sekvens visar att agenten var i tillståndet s 0 och gjorde handling a 0, vilket i sin tur resulterade i belöning r 1. Agenten hamnade då i det nya tillståndet är s 1 och gjorde sedan handling a 1 som genererade belöning r 2 för att sedan hamna i det nya tillståndet s 2 etcetera. Där tiden t är siffran vid respektive bokstav. Sekvensen kan ses som agentens historia av interaktioner som i sin tur kan ses som erfarenheter, där en upplevelse är en tupel: Mer generellt, agenten var i tillståndet s och utförde handling a som genererade belöning r för att slutligen hamna i tillstånd s. Det är genom dessa erfarenheter som agenten kommer lära sig hur målen uppnås. En förstärkningsinlärningsuppgift som uppfyller Markov antagandet kallas för Markov decision process, eller begränsad MDP om varje tillstånd och handlingsutrymmen är begränsade. Markov antagandet antar att sannolikheten för nästa tillstånd inte beror på tidigare tillstånd och handlingar, utan endast de aktuella tillstånd och handlingar. Denna metod är viktig inom förstärkningsinlärning och enligt Sutton och Burto (1998) är det allt man behöver veta för att förstå modern förstärkningsinlärning. 4 Optimal Control och Temporal Difference Det finns dock fler metoder som har spelat en stor roll för framgången inom förstärkningsinlärning, bland annat metoderna Temporal Difference learning och Optimal Control. Där Temporal Difference learning förutspår framtiden baserat på tidigare erfarenheter, genom att göra kvalificerade gissningar på hur framtida händelser bör se ut. Vidare förklarar Sutton och Burto (1998) att Optimal Control fokuserar mer på att minimera eller maximera en given kostnadsfunktion. Detta med syftet att hitta ett optimalt tillvägagångssätt för ett givet problem, det i sin tur innebär att genom att ge olika tillstånd ett 8

10 värde blir det enklare för agenten att ta sig till ett mål på kortast tid. Kostnadsfunktionen består av en variabel som kan stå för avståndet, hastigheten eller eventuella hinder på vägen. Dessa två metoder förenades av Watkins (1989) som idag utgör grunden för Q-learning. 5 Q-learning Q-learning är en metod som används flitigt inom förstärkningsinlärning, den kan bland annat användas för att hitta en optimal policy för val av handling för en viss begränsad MDP. Enligt Watkins (1989) innebär denna metod att agenten har möjligheten att bli bättre genom att få uppleva konsekvenserna av sina handlingar. Vidare förklarar Watkins och Dayan (1992) att denna metod fungerar på så sätt att en agent i ett tillstånd testar en handling och utvärderar konsekvenserna, detta genom att se vilka belöningar eller bestraffningar handlingen genererar och på så sätt uppskattar värdet av det nya tillståndet. Då agenten testat samtliga handlingar i alla tillstånd kommer agenten slutligen lära sig vilken handling som är bäst. Det som utmärker Q-learning att det är en off-policy och modell-fri metod. Att det är en offpolicy metod innebär att oavsett vilken policy agenten följer lär sig själva metoden en optimal policy. Anledning till att det är en modell-fri metod beror på att Q-funktionen inte kräver en modell för val av handling eller inlärning (Russell & Norvig, 2010). Dessutom skiljer sig Q- learning från andra metoder genom att den har en förmåga att välja mellan omedelbara belöningar och fördröjda belöningar. Detta då målet är att hitta en sekvens av handlingar som maximerar summan av belöningar, vilket är den kortaste vägen mellan start och mål. 5.1 Värdefunktion Q-learning algoritmen specificerar inte vad agenten bör göra, utan agenten lär sig en Q- funktion som kan användas för att bestämma en optimal handling. Q-learning utnyttjar en värdefunktion för att agenten ska kunna hitta den optimala handlingen i ett givet tillstånd. Funktionen ger ett värde för alla kombinationer av handlingar och tillstånd och det baseras på den förmodade framtida belöningen. När värdefunktionen är som störst har algoritmen nått den optimala handlingen, även kallad optimal policy (Russell & Norvig, 2010). Värdefunktionen är inte alltid känd och i dessa fall uppskattar Q-learning värdefunktionen med hjälp av en Q-funktion, där allt eftersom agenten utför en handling uppdateras 9

11 funktionen. Q-funktion är detsamma som Q-värde. I ett tillstånd sparas värdet för alla handlingar som Q(s, a) där s står för tillstånd och a står för en handling (Russell & Norvig, 2010). Styrkan Q-learning har är att Q-funktionen konvergerar, detta bevisades av Watkins och Dayan (1992), vilket innebär att funktionen har uppnått en god uppskattning av värdefunktionen och fortsätter därför inte att uppdateras. I samband med att konvergens uppnåtts har även funktionen hittat en optimal policy (Sutton och Burto, 1998). Världen som agenten ska interagera med består av ett antal tillstånd S och handlingar A, där en handling a Î A, och genom att utföra en handling kan agenten ta sig från ett tillstånd till ett annat. Algoritmen har därför en funktion som beräknar mängden av kombinationer mellan alla tillstånd och handlingar: Innan agenten startar och börjar lära känna sin omgivning returnerar Q ett fixerat värde, som uppdateras allt eftersom agenten utforskar omgivningen vilket kallas för value iterations update. Detta innebär att den nya kunskapen agenten skaffar sig uppdaterar det gamla värdet, med tidigare tillstånd och val av handling kan även påverka hur agenten väljer handlingar i framtiden. Nedan visar ekvationen för att beräkna Q-värdet, vilket en en del i algoritmen för Q-learning: I formeln är a inlärningshastigheten (eng. learning rate) och R t+1 är den observerade belöning efter utförd handling A t i tillstånd S t. g är en diskonteringsfaktor (eng. discount factor) och maxq(s t+1, a) är en funktion som beräknar det största Q-värdet för alla handlingar i nästa tillstånd. Algoritmen slutar när S t+1 är sluttillståndet (Russell & Norvig, 2010). 10

12 5.2 Inlärningshastigheten, a Inlärningshastigheten a kan anta ett värde från 0 till 1 där värden närmare 0 ger mindre vikt åt ny information, vilket leder till att agenter inte lär sig något nytt. Medans värden närmare 1 skrivs den gamla informationen över av den nya informationen. I praktiken är inlärningshastigheten konstant och har ett värde på a = 0.1 för tiden t (Sutton & Burto, 1998). 5.3 Diskonteringsfaktor, g Parametern g kan, precis som inlärningshastigheten, anta ett värde från 0 till 1 och är en faktor som viktar framtida belöningar. Detta innebär att ett värde närmare 0 kommer leda till att agenten betraktar omedelbara belöningar, och ett värde närmare 1 kommer istället leda till att agenten lägger större vikt på framtida belöningar (Watkins, 1989). För att kunna prestera optimalt i det långa loppet är det viktigt att agenten inte endast fokuserar på den omedelbara belöningen, utan även överväger framtida belöningar. Då omgivningen är stokastisk kan vi aldrig vara riktigt säkra på om samma handling kommer generera samma belöning, därav är det vanligt att använda en discounted future reward. Sutton och Burto (1998) presenterar följande formel för att räkna ut detta: Där R står för belöningen t+1 står för tiden och g står för huruvida agenten ska betrakta omedelbara belöningar eller lägga större vikt på framtida belöningar. Då vi vill balansera mellan omedelbar och framtida belöningar borde diskonteringsfaktorn ligga närmare 1. Däremot om omgivningen skulle vara deterministisk där varje handling leder till samma resultat kan värdet vara 1. Det är dock en god strategi för agenten att alltid välja de handlingar som maximerar framtida belöningar. 5.4 ε greedy metoden Som tidigare nämnt använder agenten en policy för att hantera huruvida det är aktuellt att utnyttja tidigare kunskap eller utforska för att se om det finns en ännu bättre handling. Detta med hjälp av ε greedy metoden, vilket ger möjligheten för agenten att välja en handling slumpmässigt och på så sätt utforska omgivningen. Formeln ser ut som följande: 11

13 Parametern ε, epsilon, består av ett värde från 0 till 1 som avgör om agenten ska utnyttja eller utforska. I formeln består q av ett slumpat tal inom ett visst intervall och om den är större än ε så väljs det bästa befintliga Q-värdet, om talet däremot är mindre eller lika med ε så genererar formeln en slumpmässig handling. Både Q-värden och belöningsvärden lagras i varsin matris, där Q-värden till en början är satt till noll men uppdateras med tiden beroende på valet av handlingar (Neri, Zatelli, Santos, Dos, & Fabro, 2012). 5.5 Algoritmen Här är ett exempel på hur algoritmen kan se ut, tagit från Sutton och Barto (1998): Intialize Q(s, a), "s Î S, a Î A(s), arbitrarily, and Q(terminal-state, ) = 0 Repeat (for each episode): Initialize S Repeat (for each step of episode): Choose A from S using policy derived from Q (e.g., ε-greedy) Take action A, observe R, S Q(S, A) Q(S, A) + a[r + g max a Q(S, a) Q(S, A)] S S ; until S is terminal 5.6 Pseudokod för algoritmen Initiera R-matrisen, Q-matrisen, inlärningshastigheten samt diskonteringsfaktorn. Upprepa för varje episod: Initiera tillståndet S Upprepa för varje steg i episoden Välj en handling (med t.ex. ε-greedy algoritmen) Utför handlingen och observera belöningen och nästa tillstånd Uppdatera Q-matrisen genom att beräkna Q(S, A) Nuvarande tillstånd S = nästa tillstånd S Upprepa tills tillståndet avslutas 12

14 5.7 Q-learning exempel Detta enklaste sättet att lagra data inom Q-learning är med hjälp av matriser. Där agenten upprätthåller en tabell för en uppsättning tillstånd S och handling A, där Q[S, A] representerar den aktuella uppskattningen av Q(s, a) (Neri et al., 2012). Nedan presenteras ett simpelt exempel på för att förtydliga hur Q-learning fungerar taget från Kardi Teknomo (2005). I exemplet finns det en byggnad med fem rum där vissa rum är sammankopplade med dörrar som figuren nedan visar. Rummen namnges från A till E och området utanför byggnaden kallas för F. Observera att det endast finns två dörrar ut ur byggnaden, dessa går från rum B och rum E. Rummen kan även presenteras genom en graf, där varje nod representerar ett rum och varje gren representerar dörrar till respektive rum. Agentens mål är att ta sig utanför byggnaden till område F, och för att kunna sätta ett sådant mål måste dörrarna som leder till målet generera en belöning. Därför får de dörrar som leder direkt till F en belöning med värdet 100, de markeras med röda pilar i grafen nedan, medans de andra dörrarna generar en belöning med värdet 0. Det är möjligt för agenten att gå fram och tillbaka mellan rummen, exempelvis från C till D och tillbaka, därav får varje nod två pilar. Varje pil innehåller en omedelbar belöning. Dessutom skapas en loop vid F som innebär 13

15 att om agenten hamnar på F stannar den där, vilket också genererar en belöning med värdet 100, detta kallas absorbing goal, hamnar agenten där stannar den där föralltid. Nu är det dags att introducera agenten som ska placeras i denna omgivning, och det kommer vara en robot som kan lära sig genom erfarenhet. Den har ingen kunskap om omgivningen, därav vet den inte vilka dörrar som är bäst att välja, men den har möjligheten att ta sig från ett rum till ett annat. Agenten placeras till en början i rum C. Varje rum och området utanför byggnaden tilldelas ett varsitt tillstånd, och när agenten rör sig från ett rum till ett annat genomför den en handling. I grafen står noderna för tillstånd och pilarna för möjliga handlingar med tillhörande omedelbar belöning. 14

16 Eftersom agenten bara kan ta sig genom befintliga dörrar kan nu agenten endast välja rum D och därefter välja mellan att gå till tillstånd B eller tillstånd E eller återgå i tillstånd C. Nedan visas en belöningstabell, även kallat matris R, där tillståndsdiagrammet med tillhörande belöningar placerats ut. Där minustecken innebär att det inte finns någon handling för att komma till tillståndet. Exempelvis, tillstånd A kan inte gå till tillstånd B då det inte finns någon dörr mellan dessa rum. Vi skapar även en liknande matris av denna tabell som kallas matris Q. Den representerar agentens minne allt eftersom agenten interagerar med omgivningen sparas den nya kunskapen i denna matris. Då agenten startar med noll kunskap kommer matris Q initialiseras till noll, dock är tillstånden kända för att förenkla detta exempel. Som tidigare nämnt är övergångsregeln för Q-learning väldigt simpel och ser ut som följande: Q(state, action) = R(state, action) + g * Max[Q(next state, all actions)] Enligt formeln ovan är ett värde som tilldelas till ett visst element i matris Q lika med summan av motsvarande värde i matris R, adderat med inlärnings parametern Gamma g som multipliceras med det maximala värdet av Q för alla tänkbara handlingar i nästa tillstånd. Observera att exemplet använder sig av en inlärningshastighet med värde 1, detta då det är en deterministisk omgivning, och därav har inte tecknet skrivits ut då det inte blir en skillnad i uträkningen. Roboten i denna värld kommer som tidigare nämnt lära sig genom erfarenhet. Detta genom att utforska tillstånd till tillstånd med målet att nå området utanför byggnaden, noden F. Varje utforskning sparas ner som en episod, som består att roboten förflyttar sig från det nuvarande tillståndet till ett måltillstånd. Varje gång agenten når måltillståndet startar en ny episod. 15

17 För att agenten ska lära sig av erfarenhet måste den tränas upp, detta med hjälp av matris R som representerar den omgivning som agenten ska utforska, där varje episod är likvärdig en träningsomgång. Detta sparas ner i agentens minne som representeras av matris Q, och ju mer träning desto mer optimerad blir matrisen. Om agenten sedan utnyttjar den kunskap den har kommer den till slut hitta den snabbaste vägen för att nå sitt mål. Algoritm för att utnyttja Q matrisen lyder: 1. Sätt nuvarande tillstånd till initialtillstånd 2. Från nuvarande tillstånd hitta en handling med högst Q-värde 3. Sätt nuvarande tillstånd till nästa tillstånd 4. Repetera steg 2 och 3 tills nuvarande tillstånd är måltillståndet Algoritmen kommer returnera en sekvens av tillstånd från initialtillståndet till måltillståndet Q-learning steg för steg Nedan går vi igenom varje episod steg för steg för att ytterligare förtydliga hur algoritmen för Q-learning fungerar (Teknomo, 2005). Där vi startar med att sätta diskonteringsfaktorn till 0,8 och initialtillståndet till rum B. Q-matris initialiseras till noll. I matris R ser vi att det finns två möjliga handlingar under tillstånd B vilket är tillstånd D och tillstånd F. Med hjälp av slumpen blev handlingen att gå till tillstånd F. 16

18 Nu är agenten i tillstånd F och om vi tittar matris R på rad F ser vi att nästa möjliga handlingar är B, E eller F. Q(state, action) = R(state, action) + g * Max[Q(next state, all actions)] Q(B, F) = R(B, F) * Max[Q(F, B), Q(F, E), Q(F, F)] = * 0 = 100 Varför Q(F, B), Q(F, E) samt Q(F, F)] blir noll beror på att matris Q fortfarande bara är initialiserad till noll. Q(B, F) blir 100 då den omedelbara belöningen från R(F, B) har det värdet. Nu blir F det nuvarande tillståndet, och eftersom detta är måltillståndet har agenten klarat en episod. Q matrisen uppdateras nu med den kunskap episoden har gett: Det initiala tillståndet väljs slumpmässigt ut för varje episod. Denna gång börjar vi med tillstånd D som vårt initialtillstånd. Kikar vi på fjärde raden i matris R, där finns det tre möjliga handlingar B, C och E. Slumpmässigt väljer vi tillstånd B som vår handling. Vi intalar oss att vi är i tillstånd B nu, kikar på andra raden i belöningsmatrisen R och den har två möjliga handlingar, tillstånd D och tillstånd F. Genom att räkna ut Q-värdet får vi: Q(state, action) = R(state, action) + g * Max[Q(next state, all actions)] Q(D, B) = R(D, B) * Max[Q(B, D), Q(B, F)] = * Max(0, 100) = 80 Resultatet blir Q(D, B) = 80 vilket sparas ner i Q matrisen, där värdena Q(B, D) = 0 och Q(B, F) = 100 sparats ner sedan tidigare. B blir nu nästa nuvarande tillstånd, eftersom B inte är vårt måltillstånd upprepar vi den inre loopen i Q-learning algoritmen. Här finns det två möjliga handlingar, tillstånd D och tillstånd 17

19 F. Lyckligtvis blir tillstånd F slumpmässigt valt. Nu antar vi att vi är i tillstånd F, där det finns tre möjliga handlingar B, E och F. Vi beräknar Q-värdet på dessa genom att använda maximala värdet av dessa handlingar: Q(state, action) = R(state, action) + g * Max[Q(next state, all actions)] Q(B, F) = R(B, F) * Max[Q(F, B), Q(F, E), Q(F, F)] = * 0 = 100 I Q matrisen är Q(F, B), Q(F, E) samt Q(F, F)] fortfarande satt till noll. Efter uträkningen blir Q(B, F) 100 då den omedelbara belöningen från R(F, B) är 100. Detta ändrar dock inte Q matrisen. Eftersom F är måltillståndet är agenten i mål och episoden är avslutad. Matrisen ser därför fortfarande likadan ut. Genom att låta agenten genomföra fler episoder blir den allt bättre, och till slut har Q matrisen uppnått ett konvergerande värde. Q matrisen kan bli normaliserad, konvertera värdena till procent, genom att dela alla poster som är mer än noll med den högsta siffra, i detta fall

20 Vi vet att agenten har lärt sig den mest optimala vägen till måltillståndet när Q matrisen kommer tillräckligt nära ett tillstånd av konvergens. Spåra de bästa sekvenserna av tillstånd är så enkelt som att följa länkarna med de högsta värdena i varje tillstånd i grafen nedan. Exempelvis, genom att följa initialtillståndet C kan agenten använda Q matrisen som guide: Från tillstånd C föreslår det maximala Q-värdet handlingen att gå till tillstånd D, vidare från tillstånd D föreslår det maximala Q-värdet två alternativ: att gå till tillstånd B eller E. Vi anta att agenten väljer att gå till tillstånd B och därifrån föreslår det maximala Q-värdet handlingen att gå till tillstånd F, vilket leder till sekvensen: C D B F. 5.8 Begränsningar Trots att Q-learning i många fall är en bra och effektiv metod finns det vissa problem. I samband med att tillstånd och handlingsutrymmet ökar tappar denna metod snabbt sin funktion, och detta kan lösas med bland annat artificiella neurala nätverk. Dini & Serrano (2012) har bland annat hittat ett alternativ till användningen av matriser och förstår istället en implementering av ett artificiellt neuralt nätverk som en funktionsapproximator (eng. function approximation). Vilket Russell och Norvig (2010) förklarar är ett annat sätt att representera en Q-funktion än med matriser, där representationen ses om ungefärliga. Detta då det inte går att representera det faktiska värdet i den valda formen. Här avrundas dock denna rapport och för vidare läsning inom artificiella neurala nätverk se Dini & Serrano (2012) eller liknade studier. 19

21 6 Avslutande ord Det har varit spännande att fördjupa sig inom förstärkande inlärning, detta då det påminner mycket om hur vi människor fungerar. Vi interagerar konstant med vår omgivning och konsekvenserna av våra handlingar genererar hela tiden ny kunskap. Att robotar allt mer börjar efterlikna oss gör detta område ännu mer intressant, och de har sedan en tid tillbaka funnits i vår omgivning för att underlätta för oss. Då robotarna en dag troligtvis kommer att få ett utseende och ett beteende som är identiskt med människan, är det intressant att redan nu ha en liten kunskap om hur hela den resan började. 20

22 7 Referenser Altuntas, N., Imal, E., Emanet, N., & Öztürk, C. N. (2016). Reinforcement learning-based mobile robot navigation. Turkish Journal of Electrical Engineering and Computer Sciences, 24(3), Dini, S., & Serrano, M. (2012). Combining Q-Learning with Artificial Neural Networks in an Adaptive Light Seeking Robot. Neri, J. R. F., Zatelli, M. R., Santos, C. H. F. Dos, & Fabro, J. A. (2012). A proposal of QLearning to control the attack of a 2D robot soccer simulation team. Proceedings Brazilian Robotics Symposium and Latin American Robotics Symposium, SBR- LARS 2012, Russell, S. & Norvig, P. (2010). Artificial intelligence (3rd ed.). Upper Saddle River, NJ: Prentice Hall. Sutton, R. & Barto, A. (1998). Reinforcement learning (1st ed.). Cambridge, Mass.: MIT Press. Teknomo, K. (2005). Q-Learning By Examples. People.revoledu.com. Retrieved 8 January 2017, from Watkins, C.J.C.H. (1989). Learning from delayed rewards. PhD Thesis, University of Cambridge, England. Watkins, C. J. C. H., & Dayan, P. (1992). Q-learning. Machine Learning, 8(3 4),

GRIDWORLD OCH MDP PROJEKTRAPPORT 729G43 MICHAEL JONASSON

GRIDWORLD OCH MDP PROJEKTRAPPORT 729G43 MICHAEL JONASSON 2018 GRIDWORLD OCH MDP PROJEKTRAPPORT 729G43 MICHAEL JONASSON Innehåll Inledning & Bakgrund... 2 Förstärkt inlärning... 2 MDP... 2 Gridworld... 3 Nytta och policy... 4 Värdefunktion och Bellmanekvationer...

Läs mer

Lärande genom interaktion

Lärande genom interaktion Lärande genom interaktion Förstärk inlärning, specifikt Q-learning Ebba Algvere 729G43 Artificiell Intelligens Linköpings Universitet 2017 Abstract This report will provide the reader with an understanding

Läs mer

med hjälp av Deep Reinforcement Learning

med hjälp av Deep Reinforcement Learning Agent som kan spela Atarispel bättre än människor med hjälp av Deep Reinforcement Learning Sofie Adolfsson, sofad117@student.liu.se Artificiell Intelligens Linköpings Universitet 2017-01-12 SofieAdolfsson

Läs mer

Självlärande Hare and Hounds-spelare med Q-learning. HARALD HARTWIG och MAX WESTERMARK

Självlärande Hare and Hounds-spelare med Q-learning. HARALD HARTWIG och MAX WESTERMARK Självlärande Hare and Hounds-spelare med Q-learning HARALD HARTWIG och MAX WESTERMARK Examensarbete Stockholm, Sverige 2011 Självlärande Hare and Hounds-spelare med Q-learning HARALD HARTWIG och MAX WESTERMARK

Läs mer

Självlärande Hare and Hounds spelare med Q-learning

Självlärande Hare and Hounds spelare med Q-learning Självlärande Hare and Hounds spelare med Q-learning Examensarbete inom datalogi - DD143X HARALD HARTWIG RINDÖGATAN 27, 11558 STOCKHOLM TEL.NR: 0737264340 MAX WESTERMARK

Läs mer

Personifierad Netflix

Personifierad Netflix Linköpings universitet Personifierad Netflix Lisa Rönnqvist 2016-08-24 Sammanfattning INNEHÅLLSFÖRTECKNING 1. Inledning... 1 1.1 Bakgrund... 1 1.2 Syfte... 2 2. Netflix... Fel! Bokmärket är inte definierat.

Läs mer

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

Fråga 5 (1 poäng) För att definiera ett sökproblem krävs... OBS! För flervalsfrågorna gäller att ett, flera eller inget alternativ kan vara korrekt. På flervarlsfrågorna ges 1 poäng för korrekt svar och 0,5 poäng om skillnaden mellan antalet korrekta svar och antalet

Läs mer

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

Fråga 5 (1 poäng) För att definiera ett sökproblem krävs... OBS! För flervalsfrågorna gäller att ett, flera eller inget alternativ kan vara korrekt. På flervarlsfrågorna ges 1 poäng för korrekt svar och 0,5 poäng om skillnaden mellan antalet korrekta svar och antalet

Läs mer

Fyra-i-rad med förstärkt inlärning

Fyra-i-rad med förstärkt inlärning Fyra-i-rad med förstärkt inlärning En implementation av Q-learning CHRISTOFFER JANSON och CARL LANDEFJORD Examensarbete Stockholm, Sverige 2011 Fyra-i-rad med förstärkt inlärning En implementation av Q-learning

Läs mer

Tentamenskod: Inga hjälpmedel är tillåtna

Tentamenskod: Inga hjälpmedel är tillåtna Intelligenta och lärande system 15 högskolepoäng Provmoment: Ladokkod: Tentamen ges för: Tentamen (TEN1) Artificiell intelligens (AI) 5hp 21IS1C Systemarkitekturutbildningen Tentamenskod: Tentamensdatum:

Läs mer

Asymptotisk analys innebär att... man försöker uppskatta vad som händer för stora indatamängder.

Asymptotisk analys innebär att... man försöker uppskatta vad som händer för stora indatamängder. OBS! För flervalsfrågorna gäller att ett, flera eller inget alternativ kan vara korrekt. På flervarlsfrågorna ges 1 poäng för korrekt svar och 0,5 poäng om skillnaden mellan antalet korrekta svar och antalet

Läs mer

Numerisk Analys, MMG410. Lecture 10. 1/17

Numerisk Analys, MMG410. Lecture 10. 1/17 Numerisk Analys, MMG410. Lecture 10. 1/17 Ickelinjära ekvationer (Konvergensordning) Hur skall vi karakterisera de olika konvergenshastigheterna för halvering, sekant och Newton? Om f(x x k+1 x ) = 0 och

Läs mer

Q-LEARNING: ETT SÄTT ATT LÄRA AGENTER ATT SPELA FOTBOLL

Q-LEARNING: ETT SÄTT ATT LÄRA AGENTER ATT SPELA FOTBOLL Q-LEARNING: ETT SÄTT ATT LÄRA AGENTER ATT SPELA FOTBOLL Q-LEARNING: A WAY TO TEACH AGENTS TO PLAY FOOTBALL Examensarbete inom huvudområdet Datalogi Grundnivå 30 högskolepoäng Vårtermin 2013 Kalle Ekelund

Läs mer

Pathfinding med reinforcement learning i delvis observerbara miljöer

Pathfinding med reinforcement learning i delvis observerbara miljöer Pathfinding med reinforcement learning i delvis observerbara miljöer Anne Engström Joel Lidin Gustav Molander Olle Månsson Noa Onoszko Hugo Ölund Institutionen för Matematiska vetenskaper CHALMERS TEKNISKA

Läs mer

Självlärande Dots & Boxes-spelare

Självlärande Dots & Boxes-spelare Självlärande Dots & Boxes-spelare ANDREAS PETTERSSON Kandidatexamensarbete inom datalogi, grundnivå Kurs 143X Handledare: Johan Boye Examinator: Mads Dam andrepet@kth.se Vintrosagatan 5 124 73 Bandhagen

Läs mer

Genetisk programmering i Othello

Genetisk programmering i Othello LINKÖPINGS UNIVERSITET Första versionen Fördjupningsuppgift i kursen 729G11 2009-10-09 Genetisk programmering i Othello Kerstin Johansson kerjo104@student.liu.se Innehållsförteckning 1. Inledning... 1

Läs mer

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

de var svåra att implementera och var väldigt ineffektiva. OBS! För flervalsfrågorna gäller att flera alternativ eller inget alternativ kan vara korrekt. På flervalsfrågorna kan man bara ha rätt eller fel, dvs frågan måste vara helt korrekt besvarad. Totalt kan

Läs mer

Självlärande brädspelare. EMRE BERGE ERGENEKON och ANTON JONSSON

Självlärande brädspelare. EMRE BERGE ERGENEKON och ANTON JONSSON Självlärande brädspelare EMRE BERGE ERGENEKON och ANTON JONSSON Examensarbete Stockholm, Sverige 2010 Självlärande brädspelare EMRE BERGE ERGENEKON och ANTON JONSSON Examensarbete i datalogi om 15 högskolepoäng

Läs mer

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

Vad behövs för att skapa en tillståndsrymd? OBS! För flervalsfrågorna gäller att ett, flera eller inget alternativ kan vara korrekt. På flervarlsfrågorna ges 1 poäng för korrekt svar och 0,5 poäng om skillnaden mellan antalet korrekta svar och antalet

Läs mer

Antag att b är förgreningsfaktorn, d sökdjupet, T (d) tidskomplexiteten och M(d) minneskomplexiteten.

Antag att b är förgreningsfaktorn, d sökdjupet, T (d) tidskomplexiteten och M(d) minneskomplexiteten. OS! För flervalsfrågorna gäller att ett, flera eller inget alternativ kan vara korrekt. På flervalsfrågorna ges 1 poäng för korrekt svar och 0,5 poäng om skillnaden mellan antalet korrekta svar och antalet

Läs mer

Neurala nätverk och språkigenkänning. Henrik Linnarsson. Linköping University

Neurala nätverk och språkigenkänning. Henrik Linnarsson. Linköping University Neurala nätverk och språk Henli807!1 Neurala nätverk och språkigenkänning Henrik Linnarsson Linköping University Neurala nätverk och språk Henli807!2 RNN, LSTM och språkigenkänning Inledning Idag är språkigenkänning

Läs mer

Dynamisk programmering. Dynamisk programmering. Dynamisk programmering. Dynamisk programmering

Dynamisk programmering. Dynamisk programmering. Dynamisk programmering. Dynamisk programmering Betrakta ett lagerhållningsproblem i flera tidsperioder. Vi har tillverkning och försäljning av produkter i varje tidsperiod. Dessutom kan vi lagra produkter mellan tidsperioder, för att utnyttja stordriftsfördelar

Läs mer

AI-Tekniker. För domänspecifika problemområden i StarCraft 2. Mattias Tiger Fredrik Präntare

AI-Tekniker. För domänspecifika problemområden i StarCraft 2. Mattias Tiger Fredrik Präntare AI-Tekniker För domänspecifika problemområden i StarCraft 2 Mattias Tiger Fredrik Präntare Introduktion och motivering Ni ska inför er individuella uppgift definiera ett problem och välja ut en eller flera

Läs mer

Belöningsbaserad inlärning. Reinforcement Learning. Inlärningssituationen Belöningens roll Förenklande antaganden Centrala begrepp

Belöningsbaserad inlärning. Reinforcement Learning. Inlärningssituationen Belöningens roll Förenklande antaganden Centrala begrepp Belöningsbserd Inlärning Reinforcement Lerning 1 2 3 4 1 2 3 4 Belöningsbserd inlärning Reinforcement Lerning Inlärning v ett beteende utn tillgång till fcit. En belöning ger informtion om hur br det går

Läs mer

Asymptotisk analys innebär att... man försöker uppskatta vad som händer för stora indatamängder.

Asymptotisk analys innebär att... man försöker uppskatta vad som händer för stora indatamängder. OBS! För flervalsfrågorna gäller att ett, flera eller inget alternativ kan vara korrekt. På flervalsfrågorna kan man bara ha rätt eller fel, dvs frågan måste vara helt korrekt besvarad för att man skall

Läs mer

Dagens meny: Niclas Persson, Control and Communication. Gömda villkor i DAE:er. Hur hittar man gömda villkor? Pantelides algoritm

Dagens meny: Niclas Persson, Control and Communication. Gömda villkor i DAE:er. Hur hittar man gömda villkor? Pantelides algoritm Niclas Persson, Control and Communication Dagens meny: Gömda villkor i DAE:er Hur hittar man gömda villkor? Pantelides algoritm Tilldelning av initial värden Steward s path 1 Enkel pendel x l Pendel systemet

Läs mer

Regression med Genetiska Algoritmer

Regression med Genetiska Algoritmer Regression med Genetiska Algoritmer Projektarbete, Artificiell intelligens, 729G43 Jimmy Eriksson, jimer336 770529-5991 2014 Inledning Hur många kramar finns det i världen givet? Att kunna estimera givet

Läs mer

Optimala koder. Övre gräns för optimala koder. Gränser. Övre gräns för optimala koder, forts.

Optimala koder. Övre gräns för optimala koder. Gränser. Övre gräns för optimala koder, forts. Datakompression fö 3 p.3 Datakompression fö 3 p.4 Optimala koder Övre gräns för optimala koder En prefixkod kallas optimal om det inte existerar någon annan kod (för samma alfabet och sannolikhetsfördelning)

Läs mer

Optimala koder. Det existerar förstås flera koder som har samma kodordsmedellängd. Enklaste fallet är att bara byta 0:or mot 1:or.

Optimala koder. Det existerar förstås flera koder som har samma kodordsmedellängd. Enklaste fallet är att bara byta 0:or mot 1:or. Datakompression fö 3 p.1 Optimala koder En prefixkod kallas optimal om det inte existerar någon annan kod (för samma alfabet och sannolikhetsfördelning) som har lägre kodordsmedellängd. Det existerar förstås

Läs mer

Självlärande Othello-spelare

Självlärande Othello-spelare Självlärande Othello-spelare Kan en dator lära sig att spela Othello? KLAS BJÖRKQVIST och JOHAN WESTER Examensarbete Stockholm, Sverige 2010 Självlärande Othello-spelare Kan en dator lära sig att spela

Läs mer

Öka prestanda i Shared-Cache multi-core processorer

Öka prestanda i Shared-Cache multi-core processorer Öka prestanda i Shared-Cache multi-core processorer 1. Abstract Många processorer har nuförtiden flera kärnor. Det är även vanligt att dessa kärnor delar på högsta nivås cachen för att förbättra prestandan.

Läs mer

Föreläsning 5: Grafer Del 1

Föreläsning 5: Grafer Del 1 2D1458, Problemlösning och programmering under press Föreläsning 5: Grafer Del 1 Datum: 2006-10-02 Skribent(er): Henrik Sjögren, Patrik Glas Föreläsare: Gunnar Kreitz Den här föreläsningen var den första

Läs mer

Reinforcement Learning med Q-learning LUDWIG HALVORSEN PROJEKT 729G43

Reinforcement Learning med Q-learning LUDWIG HALVORSEN PROJEKT 729G43 Reinforcement Learning med Q-learning LUDWIG HALVORSEN PROJEKT 729G43 0 Innehåll 1. Introduktion... 2 2.Teori och begrepp... 3 2.1 Kort historia lektion om varför ANN helt plötsligt blev stort... 3 2.2

Läs mer

HKGBB0, Artificiell intelligens

HKGBB0, Artificiell intelligens HKGBB0, Artificiell intelligens Kortfattade lösningsförslag till tentan 3 november 2005 Arne Jönsson 1. Vad karaktäriserar dagens AI-forskning jämfört med den AI-forskning som bedrevs perioden 1960-1985.

Läs mer

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

Block 2 Algebra och Diskret Matematik A. Följder, strängar och tal. Referenser. Inledning. 1. Följder Block 2 Algebra och Diskret Matematik A BLOCK INNEHÅLL Referenser Inledning 1. Följder 2. Rekursiva definitioner 3. Sigmanotation för summor 4. Strängar 5. Tal 6. Övningsuppgifter Referenser Följder, strängar

Läs mer

Cake-cutting. att fördela resurser på ett rättvist sätt. Ebba Lindström

Cake-cutting. att fördela resurser på ett rättvist sätt. Ebba Lindström Cake-cutting att fördela resurser på ett rättvist sätt Ebba Lindström Innehållsförteckning Inledning 3 Utility Theory 3 Orderability 4 Transitivity 4 Continuity 4 Monotonicity 5 Decomposability 5 Cake-cutting

Läs mer

COBOL. från grunden. monitors. Peter Sterwe. training people

COBOL. från grunden. monitors. Peter Sterwe. training people training people monitors COBOL från grunden Peter Sterwe Lär dig grunderna i COBOL-programmering på ett översiktligt och pedagogiskt sätt från företaget som har mer än trettio års erfarenhet av utbildning

Läs mer

Laboration 2. Artificiell Intelligens, Ht 2004 2004-10-19 Lärare: Christina Olsén Handledare: Therese Edvall Daniel Ölvebrink

Laboration 2. Artificiell Intelligens, Ht 2004 2004-10-19 Lärare: Christina Olsén Handledare: Therese Edvall Daniel Ölvebrink Artificiell Intelligens, Ht 2004 2004-10-19 Lärare: Christina Olsén Handledare: Therese Edvall Daniel Ölvebrink Laboration 2 Laboranter: Johan Bystedt (dit02lbt) Alexander Pettersson (dit02apn) Stefan

Läs mer

Hierarchical Temporal Memory Maskininlärning

Hierarchical Temporal Memory Maskininlärning Hierarchical Temporal Memory Maskininlärning Innehåll Sammanfattning... 3 Inledning... 4 Vad är HTM?... 4 Hur fungerar HTM?... 4 Hierarchical... 4 Temporal... 5 Memory... 5 Hitta orsaker i världen... 5

Läs mer

Sekantmetoden Beräkningsmatematik TANA21 Linköpings universitet Caroline Cornelius, Anja Hellander Ht 2018

Sekantmetoden Beräkningsmatematik TANA21 Linköpings universitet Caroline Cornelius, Anja Hellander Ht 2018 Sekantmetoden Beräkningsmatematik TANA21 Linköpings universitet Caroline Cornelius, Anja Hellander Ht 2018 1. Inledning Inom matematiken är det ofta intressant att finna nollställen till en ekvation f(x),

Läs mer

Föreläsning 5: Dynamisk programmering

Föreläsning 5: Dynamisk programmering Föreläsning 5: Dynamisk programmering Vi betraktar en typ av problem vi tidigare sett: Indata: En uppsättning intervall [s i,f i ] med vikt w i. Mål: Att hitta en uppsättning icke överlappande intervall

Läs mer

1 Minkostnadsflödesproblem i nätverk

1 Minkostnadsflödesproblem i nätverk Krister Svanberg, april 2012 1 Minkostnadsflödesproblem i nätverk Ett nätverk består av en given mängd noder numrerade från 1 till m (där m är antalet noder) samt en given mängd riktade bågar mellan vissa

Läs mer

Tentamen: Programutveckling ht 2015

Tentamen: Programutveckling ht 2015 Tentamen: Programutveckling ht 2015 Datum: 2015-11-04 Tid: 09:00-13:00 Sal: Ansvarig: Resultat: Hjälpmedel: Maxpoäng: Betygsgränser: Anslås inom 3 veckor. Inga 40 p 20 p för G, 32 p för VG. Iakttag följande:

Läs mer

Q-learning för fyra i rad. OLLE HASSEL och PETTER JANSE

Q-learning för fyra i rad. OLLE HASSEL och PETTER JANSE Q-learning för fyra i rad OLLE HASSEL och PETTER JANSE Examensarbete Stockholm, Sverige 2011 Q-learning för fyra i rad OLLE HASSEL och PETTER JANSE Examensarbete i datalogi om 15 högskolepoäng vid Programmet

Läs mer

Prov 1 2. Ellips 12 Numeriska och algebraiska metoder lösningar till övningsproven uppdaterad 20.5.2010. a) i) Nollställen för polynomet 2x 2 3x 1:

Prov 1 2. Ellips 12 Numeriska och algebraiska metoder lösningar till övningsproven uppdaterad 20.5.2010. a) i) Nollställen för polynomet 2x 2 3x 1: Ellips Numeriska och algebraiska metoder lösningar till övningsproven uppdaterad.. Prov a) i) ii) iii) =,, = st 9,876 =,9876,99 = 9,9,66,66 =,7 =,7 Anmärkning. Nollor i början av decimaltal har ingen betydelse

Läs mer

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

Fuzzy Logic. När oskarpa definitioner blir kristallklara. Åsa Svensson. Linköpings Universitet. Linköping Fuzzy Logic När oskarpa definitioner blir kristallklara Linköpings Universitet Linköping Sammanfattning I denna fördjupningsuppgift har jag fokuserat på Fuzzy Logic och försökt att beskriva det på ett

Läs mer

MVE051/MSG Föreläsning 7

MVE051/MSG Föreläsning 7 MVE051/MSG810 2016 Föreläsning 7 Petter Mostad Chalmers November 23, 2016 Överblick Deskriptiv statistik Grafiska sammanfattningar. Numeriska sammanfattningar. Estimering (skattning) Teori Några exempel

Läs mer

Akademin för utbildning, kultur och kommunikation MMA132 Numeriska Metoder Avdelningen för tillämpad matematik Datum: 2 juni 2014

Akademin för utbildning, kultur och kommunikation MMA132 Numeriska Metoder Avdelningen för tillämpad matematik Datum: 2 juni 2014 MÄLARDALENS HÖGSKOLA TENTAMEN I MATEMATIK Akademin för utbildning, kultur och kommunikation MMA32 Numeriska Metoder Avdelningen för tillämpad matematik Datum: 2 juni 204 Examinator: Karl Lundengård Skrivtid:

Läs mer

STATISTISK ANALYS AV KOMPLEXA DATA

STATISTISK ANALYS AV KOMPLEXA DATA STATISTISK ANALYS AV KOMPLEXA DATA LONGITUDINELLA DATA Linda Wänström Linköpings universitet 12 December Linda Wänström (Linköpings universitet) LONGITUDINELLA DATA 12 December 1 / 12 Explorativ Faktoranalys

Läs mer

Fixpunktsiteration. Kapitel Fixpunktsekvation. 1. f(x) = x = g(x).

Fixpunktsiteration. Kapitel Fixpunktsekvation. 1. f(x) = x = g(x). Kapitel 5 Fixpunktsiteration 5.1 Fixpunktsekvation En algebraisk ekvation kan skrivas på följande två ekvivalenta sätt (vilket innebär att lösningarna är desamma). 1. f(x) = 0. En lösning x kallas en rot

Läs mer

Antag att b är förgreningsfaktorn, d sökdjupet, T (d) tidskomplexiteten och M(d) minneskomplexiteten.

Antag att b är förgreningsfaktorn, d sökdjupet, T (d) tidskomplexiteten och M(d) minneskomplexiteten. OS! För flervalsfrågorna gäller att ett, flera eller inget alternativ kan vara korrekt. På flervalsfrågorna ges 1 poäng för korrekt svar och 0,5 poäng om skillnaden mellan antalet korrekta svar och antalet

Läs mer

Kognitionsvetenskap C, HT-04 Mental Rotation

Kognitionsvetenskap C, HT-04 Mental Rotation Umeå Universitet 041025 Kognitionsvetenskap C, HT-04 Mental Rotation Grupp 3: Christina Grahn, dit01cgn@cs.umu.se Dan Kindeborg, di01dkg@cs.umu.se David Linder, c01dlr@cs.umu.se Frida Bergman, dit01fbn@cs.umu.se

Läs mer

DAB760: Språk och logik

DAB760: Språk och logik DAB76: Språk och logik /4: Finita automater och -7 reguljära uttryck Leif Grönqvist (leif.gronqvist@msi.vxu.se) Växjö Universitet (MSI) GSLT (Sveriges nationella forskarskola i språkteknologi) Göteborg

Läs mer

Föreläsning 5: Giriga algoritmer. Kruskals och Prims algoritmer

Föreläsning 5: Giriga algoritmer. Kruskals och Prims algoritmer Föreläsning 5: Giriga algoritmer Kruskals och Prims algoritmer Spännande träd: Om G är en sammanhängande graf så är ett spännande träd ett träd som innehåller alla noder i V (G). Viantarattviharkantvikterw(e)

Läs mer

Grafer och grannmatriser

Grafer och grannmatriser Föreläsning 2, Linjär algebra IT VT2008 Som avslutning på kursen ska vi knyta samman linjär algebra med grafteori och sannolikhetsteori från första kursen. Resultatet blir så kallade slumpvandringar på

Läs mer

729G43 Artificiell intelligens / Maskininlärning 3. Marco Kuhlmann

729G43 Artificiell intelligens / Maskininlärning 3. Marco Kuhlmann 729G43 Artificiell intelligens / 2015 Maskininlärning 3 Marco Kuhlmann Förra gången: Perceptroninlärning Beslutsregel predicerat y-värde Exempel: AND Välj parametrar θ 0, θ 1, θ 2 sådana att perceptronen

Läs mer

Stokastiska processer

Stokastiska processer Stokastiska processer Fredrik Olsson, fredrik.olsson@iml.lth.se Avdelningen för produktionsekonomi Lunds tekniska högskola, Lunds universitet Dessa förläsningsanteckningar kommer att behandla diskreta

Läs mer

Tillämpad Programmering (ID1218) :00-13:00

Tillämpad Programmering (ID1218) :00-13:00 ID1218 Johan Montelius Tillämpad Programmering (ID1218) 2014-03-13 09:00-13:00 Förnamn: Efternamn: Regler Du får inte ha något materiel med dig förutom skrivmateriel. Mobiler etc, skall lämnas till tentamensvakten.

Läs mer

Monte Carlo-metoder. Bild från Monte Carlo

Monte Carlo-metoder. Bild från Monte Carlo Monte Carlo-metoder 0 Målen för föreläsningen På datorn Bild från Monte Carlo http://en.wikipedia.org/wiki/file:real_monte_carlo_casino.jpg 1 Begrepp En stokastisk metod ger olika resultat vid upprepning

Läs mer

1 Föreläsning I, Mängdlära och elementär sannolikhetsteori,

1 Föreläsning I, Mängdlära och elementär sannolikhetsteori, 1 Föreläsning I, Mängdlära och elementär sannolikhetsteori, LMA201, LMA521 1.1 Mängd (Kapitel 1) En (oordnad) mängd A är en uppsättning av element. En sådan mängd kan innehålla ändligt eller oändlligt

Läs mer

Sammanfattning (Nummedelen)

Sammanfattning (Nummedelen) DN11 Numeriska metoder och grundläggande programmering Sammanfattning (Nummedelen Icke-linjära ekvationer Ex: y=x 0.5 Lösningsmetoder: Skriv på polynomform och använd roots(coeffs Fixpunkt x i+1 =G(x i,

Läs mer

Föreläsning 5: Giriga algoritmer. Kruskals och Prims algoritmer

Föreläsning 5: Giriga algoritmer. Kruskals och Prims algoritmer Föreläsning 5: Giriga algoritmer Kruskals och Prims algoritmer Spännande träd: Om G är en sammanhängande graf så är ett spännande träd ett träd som innehåller alla noder i V (G). Viantarattviharkantvikterw(e)

Läs mer

Alla datorprogram har en sak gemensam; alla processerar indata för att producera något slags resultat, utdata.

Alla datorprogram har en sak gemensam; alla processerar indata för att producera något slags resultat, utdata. Att förstå variabler Alla datorprogram har en sak gemensam; alla processerar indata för att producera något slags resultat, utdata. Vad är en variabel? En variabel är en plats att lagra information. Precis

Läs mer

1, 2, 3, 4, 5, 6,...

1, 2, 3, 4, 5, 6,... Dagens nyhet handlar om talföljder, ändliga och oändliga. Talföljden 1,, 3, 4, 5, 6,... är det första vi, som barn, lär oss om matematik över huvud taget. Så småningom lär vi oss att denna talföljd inte

Läs mer

Ickelinjära ekvationer

Ickelinjära ekvationer Löpsedel: Icke-linjära ekvationer Ickelinjära ekvationer Beräkningsvetenskap I Varför är det svårt att lösa icke-linjära ekvationer? Iterativa metoder Bisektion/intervallhalvering Newton-Raphsons metod

Läs mer

a = a a a a a a ± ± ± ±500

a = a a a a a a ± ± ± ±500 4.1 Felanalys Vill man hårddra det hela, kan man påstå att det inte finns några tal i den tillämpade matematiken, bara intervall. Man anger till exempel inte ett uppmätt värde till 134.78 meter utan att

Läs mer

Ekvivalensrelationer

Ekvivalensrelationer Abstrakt datatyp för disjunkta mängder Vi skall presentera en abstrakt datatyp för att representera disjunkta mängder Kan bl.a. användas för att lösa ekvivalensproblemet avgör om två godtyckliga element

Läs mer

1. Förtydliga och förstå lärandemål och bedömningskriterier

1. Förtydliga och förstå lärandemål och bedömningskriterier 1. Förtydliga och förstå lärandemål och bedömningskriterier En förutsättning för framgångsrikt arbete med bedömning för lärande bygger på att eleverna delges och får förståelse för målen med undervisningen

Läs mer

Antag att b är förgreningsfaktorn, d sökdjupet, T (d) tidskomplexiteten och M(d) minneskomplexiteten.

Antag att b är förgreningsfaktorn, d sökdjupet, T (d) tidskomplexiteten och M(d) minneskomplexiteten. OBS! För flervalsfrågorna gäller att ett, flera eller inget alternativ kan vara korrekt. På flervalsfrågorna ges 1 poäng för korrekt svar och 0,5 poäng om skillnaden mellan antalet korrekta svar och antalet

Läs mer

Datastrukturer, algoritmer och programkonstruktion (DVA104, VT 2015) Föreläsning 6

Datastrukturer, algoritmer och programkonstruktion (DVA104, VT 2015) Föreläsning 6 Datastrukturer, algoritmer och programkonstruktion (DVA104, VT 2015) Föreläsning 6? DAGENS AGENDA Komplexitet Ordobegreppet Komplexitetsklasser Loopar Datastrukturer Några nyttiga regler OBS! Idag jobbar

Läs mer

Föreläsning Datastrukturer (DAT036)

Föreläsning Datastrukturer (DAT036) Föreläsning Datastrukturer (DAT036) Nils Anders Danielsson 2013-11-13 Idag Grafer: Terminologi. Datastrukturer. Topologisk sortering. Kortaste vägen. Bredden först-sökning. Dijkstras algoritm. (Vi får

Läs mer

Föreläsning Datastrukturer (DAT037)

Föreläsning Datastrukturer (DAT037) Föreläsning Datastrukturer (DAT037) Nils Anders Danielsson 2015-11-20 Idag Grafer: Terminologi. Datastrukturer. Topologisk sortering. Kortaste vägen. Bredden först-sökning. Dijkstras algoritm. (Vi får

Läs mer

Vi ska titta närmare på några potensfunktioner och skaffa oss en idé om hur deras kurvor ser ut. Vi har tidigare sett grafen till f(x) = 1 x.

Vi ska titta närmare på några potensfunktioner och skaffa oss en idé om hur deras kurvor ser ut. Vi har tidigare sett grafen till f(x) = 1 x. Vi ska titta närmare på några potensfunktioner och skaffa oss en idé om hur deras kurvor ser ut. Vi har tidigare sett grafen till f(x) = x 8 6 4 2-3 -2-2 3-2 -4-6 -8 Figur : Vi konstaterar följande: Då

Läs mer

Tentamen i Beräkningsvetenskap I och KF, 5.0 hp,

Tentamen i Beräkningsvetenskap I och KF, 5.0 hp, Uppsala universitet Institutionen för informationsteknologi Avdelningen för beräkningsvetenskap Tentamen i Beräkningsvetenskap I och KF, 5.0 hp, 017-0-14 Skrivtid: 14 00 17 00 (OBS! Tre timmars skrivtid!)

Läs mer

1. (Dugga 1.1) (a) Bestäm v (3v 2u) om v = . (1p) and u =

1. (Dugga 1.1) (a) Bestäm v (3v 2u) om v = . (1p) and u = Kursen bedöms med betyg,, 5 eller underkänd, där 5 är högsta betyg. För godkänt betyg krävs minst poäng från uppgifterna -7. Var och en av dessa sju uppgifter kan ge maximalt poäng. För var och en av uppgifterna

Läs mer

Gamla tentemensuppgifter

Gamla tentemensuppgifter Inte heller idag någon ny teori! Gamla tentemensuppgifter 1 Bestäm det andragradspolynom vars kurva skär x-axeln i x = 3 och x = 1 och y-axeln i y = 3 f(x) = (x 3)(x + 1) = x x 3 är en bra start, men vi

Läs mer

Statistiska samband: regression och korrelation

Statistiska samband: regression och korrelation Statistiska samband: regression och korrelation Vi ska nu gå igenom något som kallas regressionsanalys och som innebär att man identifierar sambandet mellan en beroende variabel (x) och en oberoende variabel

Läs mer

Block 5: Ickelineära. ekvationer? Läroboken. Löpsedel: Icke-lineära. ekvationer. Vad visade laborationen? Vad visade laborationen?

Block 5: Ickelineära. ekvationer? Läroboken. Löpsedel: Icke-lineära. ekvationer. Vad visade laborationen? Vad visade laborationen? Block 5: Ickelineära ekvationer Löpsedel: Icke-lineära ekvationer Varför är det svårt att lösa ickelineära ekvationer? Iterativa metoder Bisektion/intervallhalvering Newton-Raphsons metod Noggrannhet/stoppvillkor

Läs mer

Föreläsningsanteckningar F6

Föreläsningsanteckningar F6 Föreläsningsanteckningar F6 Martin Andersson & Patrik Falkman Kortaste vägen mellan en nod och alla andra noder Detta problem innebär att givet en graf G = (E,V) hitta den kortaste vägen över E från en

Läs mer

Föreläsninsanteckningar till föreläsning 3: Entropi

Föreläsninsanteckningar till föreläsning 3: Entropi Föreläsninsanteckningar till föreläsning 3: Entropi Johan Håstad, transkriberat av Pehr Söderman 2006-01-20 1 Entropi Entropi är, inom kryptografin, ett mått på informationsinnehållet i en slumpvariabel.

Läs mer

Artificiell intelligens, eller Kommer din dator att bli klokare än dig? (eller kanske är den redan det?)

Artificiell intelligens, eller Kommer din dator att bli klokare än dig? (eller kanske är den redan det?) Artificiell intelligens, eller Kommer din dator att bli klokare än dig? (eller kanske är den redan det?) 1.a November 2011 Innan vi börjar R.I.P. John McCarthy (1924 2011) Grundare av ämnet artificiell

Läs mer

Statistisk mönsterigenkänning

Statistisk mönsterigenkänning Statistisk mönsterigenkänning Jonas Sandström Artificiell intelligens II Linköpings universitet HT 2011 Innehållsförteckning 1. Innehållsförteckning sid 2 2. Inledning sid 3 3. Statistisk mönsterigenkänning

Läs mer

1 LP-problem på standardform och Simplexmetoden

1 LP-problem på standardform och Simplexmetoden Krister Svanberg, mars 202 LP-problem på standardform och Simplexmetoden I detta avsnitt utgår vi från LP-formuleringen (2.2) från föreläsning. Denna form är den bäst lämpade för en strömlinjeformad implementering

Läs mer

Artificiell Intelligens den nya superkraften

Artificiell Intelligens den nya superkraften Artificiell Intelligens den nya superkraften Socialchefsdagarna, 4 oktober 2018 #CGINext Artificiell Intelligens Förmågan hos mjukvara att agera självständigt på ett intelligent sätt tidigare bara associerat

Läs mer

Programmering II (ID1019) :00-11:00

Programmering II (ID1019) :00-11:00 ID1019 Johan Montelius Programmering II (ID1019) 2015-06-11 08:00-11:00 Instruktioner Du får inte ha något materiel med dig förutom skrivmateriel. Mobiler etc, skall lämnas till tentamensvakten. Svaren

Läs mer

Föreläsning 6: Nätverksoptimering

Föreläsning 6: Nätverksoptimering Föreläsning 6: Nätverksoptimering. Minkostnadsflödesproblem i nätverk.. Modellering och grafteori.. Simplexmetoden. Föreläsning 6 - Ulf Jönsson & Per Enqvist Nätverksoptimering Minkostnadsflödesproblem

Läs mer

Prissättning av optioner

Prissättning av optioner TDB,projektpresentation Niklas Burvall Hua Dong Mikael Laaksonen Peter Malmqvist Daniel Nibon Sammanfattning Optioner är en typ av finansiella derivat. Detta dokument behandlar prissättningen av dessa

Läs mer

TMS136. Föreläsning 10

TMS136. Föreläsning 10 TMS136 Föreläsning 10 Intervallskattningar Vi har sett att vi givet ett stickprov kan göra punktskattningar för fördelnings-/populationsparametrar En punkskattning är som vi minns ett tal som är en (förhoppningsvis

Läs mer

Introduktion. Byggstenar TDBA63 2005-11-22

Introduktion. Byggstenar TDBA63 2005-11-22 Introduktion UML står för Unified Modeling Language. Det är tänkt att fungera som hjälpmedel vid modellering av alla tänkbara typer av utvecklingsarbeten, inte bara inom dataomdrådet. Det största värdet

Läs mer

Uppsala Universitet Matematiska Institutionen Thomas Erlandsson

Uppsala Universitet Matematiska Institutionen Thomas Erlandsson Uppsala Universitet Matematiska Institutionen Thomas Erlandsson LÄSANVISNINGAR VECKA 36 VERSION 1. ARITMETIK FÖR RATIONELLA OCH REELLA TAL, OLIKHETER, ABSOLUTBELOPP ADAMS P.1 Real Numbers and the Real

Läs mer

IE1205 Digital Design: F10: Synkrona tillståndsautomater del 2

IE1205 Digital Design: F10: Synkrona tillståndsautomater del 2 IE1205 Digital Design: F10: Synkrona tillståndsautomater del 2 Sekvensnät Om en och samma insignal kan ge upphov till olika utsignal, är logiknätet ett sekvensnät. Det måste då ha ett inre minne som gör

Läs mer

Tänk på följande saker när du skriver tentan:

Tänk på följande saker när du skriver tentan: Ämne: AI med inriktning mot kognition och design Kurskod: KOGB05 / TDBB21 Datum: 2005-04-01 Antal uppgifter: 12 Skrivtid: 09:00 15:00 Max poäng: 54 Betygsgränser: 27 x

Läs mer

Introduktion till programmering SMD180. Föreläsning 9: Tupler

Introduktion till programmering SMD180. Föreläsning 9: Tupler Introduktion till programmering Föreläsning 9: Tupler 1 1 Sammansatta datatyper Strängar Sekvenser av tecken Icke muterbara Syntax: "abcde" Listor Sekvenser av vad som helst Muterbara Syntax: [1, 2, 3]

Läs mer

Kurragömma i ett socialt nätverk

Kurragömma i ett socialt nätverk Kurragömma i ett socialt nätverk Olle Abrahamsson Doktorand i kommunikationssystem, Linköpings universitet 1 Introduktion Många sociala grupper kan ha anledningar att gömma sig Illasinnade grupper: Terrorister,

Läs mer

Användarhandledning Version 1.2

Användarhandledning Version 1.2 Användarhandledning Version 1.2 Innehåll Bakgrund... 2 Börja programmera i Xtat... 3 Allmänna tips... 3 Grunderna... 3 Kommentarer i språket... 4 Variabler... 4 Matematik... 5 Arrayer... 5 på skärmen...

Läs mer

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

Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p Skriven av Michael Andersson Introduktion Programmering I högnivåspråk fokuserar på själv problemet (algoritmen) istället

Läs mer

Artificiell Intelligens Lektion 7

Artificiell Intelligens Lektion 7 Laboration 6 Artificiell Intelligens Lektion 7 Neurala nätverk (Lab 6) Probabilistiska resonemang Vad? Mönsterigenkänning Lära ett neuralt nätverk att känna igen siffror Varför? Få ökad förståelse för

Läs mer

Programmering II (ID1019) :00-17:00

Programmering II (ID1019) :00-17:00 ID1019 Johan Montelius Programmering II (ID1019) 2014-03-10 14:00-17:00 Förnamn: Efternamn: Instruktioner Du får inte ha något materiel med dig förutom skrivmateriel. Mobiler etc, skall lämnas till tentamensvakten.

Läs mer

Tal i bråkform. Kapitlet behandlar. Att förstå tal

Tal i bråkform. Kapitlet behandlar. Att förstå tal Tal i bråkform Kapitlet behandlar Test Användning av hälften och fjärdedel 2 Representation i bråkform av del av antal och av del av helhet 3, Bråkform i vardagssituationer Stambråk, bråkuttryck med 1

Läs mer

Bisektionsalgoritmen. Kapitel Kvadratroten ur 2

Bisektionsalgoritmen. Kapitel Kvadratroten ur 2 Kapitel 4 Bisektionsalgoritmen Vi ska konstruera lösningar till algebraiska ekvationer av formen f(x) = 0 med hjälp av bisektionsalgoritmen (intervallhalveringsmetoden). På samma gång ska vi se hur man

Läs mer