ATT SKAPA EN INTELLIGENT HEARTSTONESPELANDE AGENT
|
|
- Elsa Engström
- för 8 år sedan
- Visningar:
Transkript
1 ABSTRACT LINKÖPINGS UNIVERSITET, IDA ATT SKAPA EN INTELLIGENT HEARTSTONESPELANDE AGENT För att bli bäst i världen på spel krävs en rad väl formulerade strategier. Här kan man få mycket hjälp av AI agenter, som på många sätt kan ge oss ett stort försprång gällande att göra så bra val som möjligt. Speciellt gäller detta agenter som använder sig av Monte Carlo trädsökning. En teknik som är väl anpassad för att skapa kompetenta AI agenter oavsett spel. Det kan hantera osäkerhet och slump, det kan även lära sig helt utan en specifikt formulerad evaluerings funktion eller någon inmatad kunskapsbas. Spelet som valdes som fokus för denna studie var Heartstone. Ett spel som vid november var uppe i 40 miljoner registrerade spelare och där den största vinstsumman för det förra årets turneringar låg på 100,000$. Det är ett spel som erbjuder nya utmaningar för AI och spel forskare. Gällande exempelvis partiellt observerbara informations domäner och motstånds modellering med osäkerhet. Denna studie är också intressant då dess forskning förmodligen kan hitta andra implementeringsområden, då pågrund av naturen av MCTS, då kunskap gällande ett specifikt spel inte nödvändigtvis är lika viktig. Sammanfattningsvis behandlade denna studie möjligheten för att skapa en intelligent Heartstone spelande agent. Monte Carlo trädsökning (MCTS) var den teknik som valdes för att hantera sökning och evaluering. DEN 8 JANUARI 2016 LINKÖPINGS UNIVERSITET
2 Introduktion De tidigast kända strategispelande maskinerna härstammar från så tidigt som 1700-talet. Där Wolfgang Von Kempelen's maskin är en av de absolut kändaste. Dessa maskiner var dock rena bluffar och geniun framgång inom strategispelande maskiner skulle inte dyka upp förrens under 1900-talet (Marsland, 1991). Under 1900-talets senare hälft skulle framgångarna eskalera och det första välfungerade strategispelande programmet rapporterades 1958, detta var då gällande en schackspelande agent. Den första matchen mellan två datorer utfördes under 60-talet och väldigt snabbt lyckades man helt enkelt lösa en massa spel genom att bryta ner dem och skapa program som blev perfekta. Forskare använde sig alltså av datorer för att skapa intelligenta agenter, i ungefär samma stund som datorn uppfanns. Alan Turing och Claude Shannon skrev ett av de första strategispelande programmen, detta under 1950-talet. Båda ansåg att ett program som kompetent kunde spela dessa spel, som schack exempelvis, var urtypen för något som krävde och uppvisade intelligens. Men ett problem som man snabbt stötte på inom artificiell intelligens (AI) var att så fort man lyckades skapa dessa program, blev de snarare klassade som simpel brute-force sökning eller liknande och inte riktig intelligens (Schwab, 2009). Ett effektivt sätt att möta denna kritik utfördes genom projektet Deep Blue där man skapade ett program som under tv-sändning över hela världen slog den regerande världsmästaren i schack. Detta uppmärksammade fältet för resten av världen och visade på att något speciellt hade utförts (Campbell, Hoane and Hsu 2001). Detta motiverar denna forskningsstudie som har som mål att undersöka möjligheter för att skapa en intelligent Hearthstone spelande agent. Hearthstone (HS) är ett strategispel som släpptes under Det kommer från skaparna Blizzard och opererar online genom Battle.net. Det har snabbt blivit ett av de populäraste tävlingsinriktade spelen i världen med den senaste höjdpunkten som var under BlizzCon 2015 där vinnaren tog hem 100,000 $. Mer detaljerat är HS ett digitalt turbaserat kortspel. Där man kan skapa sitt eget deck utifrån de kort man har och sedan spela mot andra människor eller mot AI spelare. Det har enligt Statista 40 miljoner registrerade spelare sedan November För att skapa en AI som framgångsrikt kan spela Heartstone (HS) krävs en anpassad sök och evalueringsmetod för att hantera spelstrategin alltså för att spela de bästa möjliga dragen givet kontexten man befinner sig i. Den vanligaste tekniken, och den mest framgångsrika gällande exempelvis schack, är att använda sig av en kombination mellan minimax och alfa beta pruning (Schwab, 2009). Men denna teknik har visat sig svagare när det gäller spel med en hög branching faktor och även vid stokastiska spel. Den teknik som väckte mest intresse var Monte Carlo trädsökning. En teknik som har använts för att framgångsrikt slå professionella spelare i 9x9 Go. Ett spel känt för sin komplexitet gällande att skapa slagkraftiga AI agenter (Chaslot, Bakkes, Szitaand and Spronck, 2008). Den har även visats lovande inom Magic: The Gathering (M:TG). M:TG är ett spel som är väldigt likt HS, det är ett digitalt turbaserat kortspel där man skapar sitt eget deck och spelar mot andra människor. Det var dock till en början ett vanligt kortspel men gjordes digitalt för att öka tillgången och förenkla processen för människor att möta andra spelare (Cowling, Ward and Powley, 2012). Att det finns framgångsrik forskning gällande spel som är väldigt likt HS är betydande för möjliga framgångar inom forskning för HS. Enligt Cowling et al (2012) har MCTS givit ett genombrott gällande att skapa AI agenter för spel. Stan Ulam är känd som fadern för Monte Carlo metoden, tekniken gavs namn 1947 men idéen bakom kan dateras tillbaka långt tidigare. Det var inte förrens 2006 som MCTS hade sitt genombrott, och de i samband med stora framgångar inom spelet Go, som nämnts tidigare. Sen dess har mycket forskning gjorts gällande tekniken inom en rad olika spel. Många av de AI agenter som har skapats har varit väldigt framgångsrika och förbättringar för tekniken har också hjälpt till dess framfart. Teori HS är precis som många andra strategispel relativt avancerat. Även som hos andra modernare strategispel är det som urskiljer det mot klassiska strategispel introduktionen av mer slump, och att det endast är partiellt observerbart i motsats till exempelvis schack som är helt observerbart (Schwab, 2009). Spelet bygger på att man skapar sig ett deck med 30 kort varav man max kan ha två av varje och endast ett av varje legendariskt kort. Korten har även en manakostnad från noll till tio, för att förenkla det hela. Första rundan som spelas kan endast en mana användas och andra rundan två och så vidare tills man kommit fram till tionde rundan där antalet mana som går att använda stannar. I början på varje egen tur dras ett kort, och man börjar med tre kort i handen, eller fyra för den som ej får börja spelet. Den som ej får spela första turen får även ett extra kort med noll manakostnad som ger spelaren en gratis mana, vilket leder till att den exempelvis kan spela ett kort som kostar två mana under första rundan. Själva målet är att få ner din motståndares hjälte till eller under 0 hälsa.
3 Varje hjälte börjar med 30 i hälsa och den kan attackeras genom korten man spelar. Korten kan vara vapen, undersåtar eller trollformler. Gällande trollformlerna kan de ha att göra med allt från att göra skada eller hela sin hjälte, till att uppbringa undersåtar eller dra kort. Undersåtar har alltid något i attack och något i hälsa. De kan ha som minst 0 i attack och 1 i hälsa. Det finns ingen övre gräns för hur mycket attack och hälsa de kan ha. Det finns även en hel del andra funktioner gällande undersåtar. De kan till exempel ha taunt, där man måste attackera en undersåte med taunt innan man kan attackera en annnan undersåte eller motståndarerns hjälte. Dessa kan fungera som temporärt skydd mot att din hjälte tar skada. När man spelar en undersåte så måste man vänta en runda tills man kan attackera med den, detta gäller inte för undersåtar som har charge. De kan också ha olika så kallade battlecries eller deathrattles. För en undersåte som har ett battlecry innebär det att när man spelar den från handen gör den något som påverkar spelet, den kan tillexempel ge en annan undersåte +1 i attack, eller låta dig dra ett kort. Deathrattles fungerar likadant fast den aktiveras när undersåten dör. Det finns även en hel del andra liknande funktioner som kan utnyttjas gällande undersåtar, dessa finns också till viss grad när det gäller vapen. Vapen innehar alltid en viss attack och en viss hållbarhet. Ett vapen med 3/2 har alltså 3 i attack och kan användas 2 gånger. De olika hjältarna representerar nio olika klasser. Dessa klasser har alla egna kort som en annan klass ej kan ha i sitt deck. Sedan finns även en stor mängd (neutrala) kort som alla klasser kan använda sig av. När korten i sitt deck tar slut så tar man istället skada för varje gång man drar ett kort. Denna skada ökar för varje gång, alltså vid det tionde kortet man drar när sitt deck är slut tar man tio i skada. Varje hjälte har också en hero power som kostar två mana och är annorlunda för varje hjälte. För att klassifiera Heartstone som spel kan man börja med att jämföra det med schack. Schack som är det spel som inom forskning har fått störst fokus när det kommer till att skapa intelligenta agenter, och man har inom området sedan länge skapat program som enkelt slår de bästa shackspelande människorna. Men det anses dock inte vara ett löst spel, i det fallet att man lyckats skapa ett perfekt program, och lyckats mappa ut alla möjliga drag och motdrag inom spelets rymd (Eiríksson, 2011). HS är till skillnad mot schack alltså endast partiellt observerbart och innehar mer osäkerhet. Osäkerheten i spelet består av att man ej vet vilka kort motståndaren har varken i handen eller i sitt deck förrän denne spelar dessa kort. Man vet heller inte vilka kort man själv ska få ha i sin hand förens man drar dem från sitt deck. Denna typ av osäkerhet kallas icke-styrd osäkerhet och är alltså i grunden lika för både spelare. Sedan innebär den dock också att slumpen kan ge ena spelaren exakt de kort den behöver för stunden medan den andra spelaren kan få helt fel kort vid helt fel tidpunkt. Denna typ av osäkerhet anses dock generellt sett vara mer oproblematisk än styrd osäkerhet då den appliceras på båda spelare utan att de kan styra den. Styrd osäkerhet handlar om saker som att bluffa, blanda strategier, eller göra irrationella spel för att förvirra din motståndare. Enligt Knuth och Moore (1976) är det ofta genom denna strategi människor lyckas slå strategispelande agenter. Alltså genom att spela mer riskfyllt eller göra icke-optimala drag för att sedan utnyttja exempelvis ett för offensivt spel (Schwab, 2009). För att åter knyta HS med schack så är den stora skillnaden alltså att dragen eller strategierna du kan spela, beror på vilka kort du har i handen. Detta leder dock till att man skapar deck för ett visst ändamål. Man kan på samma sätt som i schack dela upp HS i en tidig spelfas, mellanfasen och den sena spelfasen. Där man fokuserar på att skapa ett deck för att speciellt utmärka sig i en av dessa faser. Om man tar den tidiga fasen handlar det om att skapa ett aggressivt deck där man försöker orsaka motståndarens hjälte så mycket skada som möjligt så fort som möjligt och tvingar motståndaren till att fokusera på att rensa bort undersåtar och hantera sin hälsa, vilket sätter den i ett passivt tillstånd och kan låta den aggressivare spelaren att vinna genom att döda motståndarens hjälte i ett tidigt skede. Men om motståndaren lyckas hålla sig själv vid liv tills man kommer in i ett senare skede av spelet så har man inget att komma med då man la fokus på att vinna den tidiga spelfasen. Man kan då fördelaktigt vända tempot till sin sida och oftast enkelt vinna spelet. Samma koncept appliceras gällande mellanfasen och den sena fasen. HS handlar alltså framförallt om att kontrollera tempot, att ligga ett steg före motståndaren. Samtidigt som kontroll av nyckelaspekter kan hålla en vid liv tillräckligt länge för att sedan vända tempot till sin fördel. Samma koncept appliceras för många andra spel, bland annat för schack. Om man dyker lite djupare kan man prata om olika former av spel som går att göra under en runda. Du kan till en början välja att gå face, vilket innebär att du satsar all attack som du har tillgänglig för att skada motståndarens hjälte. Du kan också välja att tradea, vilket innebär att du tar bort störande undersåtar för att hindra dem från att göra skada, eller från att motspelaren ges en chans att ta över tempot. Utöver detta kan du satsa på draw, alltså att få mer kort till handen. Du kan också lägga upp rundan för något kraftigare nästa runda, här ingår också former av bluffning. Det är också viktigt att påpeka möjlig synergi mellan kort. Att vissa kort kan ge starka effekter när de används tillsammans. Detta är bara ett par exempel
4 för att påvisa tillgängligheten för mängder av olika strategier. Detta är alltså ett relativt komplext spel där man måste ta hänsyn till ett stort antal detaljer som kan påverka spelets gång. Man måste också alltid till en viss del förlita sig på slumpen, där ett starkt spel kan få olika utgångar beroende på randomisering inom spelets mekanismer. Det är också viktigt att påpeka att det är viktigt att effektivt använda sig av de resurser man har. Då det oftast är fördelaktigt att behålla så mycket kort som möjligt då det ger en större möjligheter senare under spelets gång, även fast man kanske har ett starkare spel tillgängligt i handen. Vid fortsatt klassifiering av spelet är en skillnad mellan HS och många andra kortspel att det inte finns ett standard deck som alltid används (eller en standard hjälte heller) utan det är skapandet av sitt deck som sätter prägel på spelet (Ward and Cowling, 2009). Det finns inom HS olika former av spelet, men alla bygger på samma principer. Den spelform som fokuseras på här är den som kallas constructed. Heartstone är alltså turbaserat, komplext och innehåller en viss del osäkerhet. Det är ett såkallat zero-sum spel, vilket innebär att den ena spelarens vinst leder till den andre spelarens förlust och tvärtom. Det är också tidsbegränsning för varje tur (Schwab, 2009). Sökning och evaluering är centrala komponenter för de flesta AI agenter enligt Ward och Cowling (2009). Sökning ger förmågan att förutspå var spelet är påväg och utvärderingen bedömer styrkan hos de positioner som nås under simuleringen. En sök och evalueringsmetod som har fått mycket framgång på senare tid är Monte Carlo (MC) metoden. Mer specifikt för detta ändamål gäller den tidigare nämnda tekniken Monte Carlo trädsökning (MCTS). En teknik som hanterar en hög branch faktor och kan även fungera väl gällande stokastiska spel. Tekniken är ej beroende av en heuristisk baserad evaluerings funktion vilket är användbart för spel där det är svårt att formulera en stark evaluerings funktion. Det krävs heller ingen specifik domänkunskap för det spelet man använder den till. Detta leder till en teknik med förmågan att skapa stark AI inom outforskade spel där en stor grad domänkunskap saknas. Detta gör den passande för general game playing, alltså att skapa kompetenta AI agenter inom spel generellt, eller mer specifikt för spel som saknar tidigare domänkunskap om styrkan hos handlingar, kort, drag eller liknande. (Cowling et al, 2012) (Gelly and Silver, 2011) MCTS är en bäst-först sökteknik som använder sig av stokastisk simulering. Det kan också användas som en planerings algoritm för att exempelvis simulera spel beteende för analys (Zook, Harrison and Riedl). Tekniken kan appliceras på alla ändliga spel. Idén med applicering av MCTS är framförallt för spel där man omöjligt kan undersöka varje möjlig spelsekvens, MCTS tillåter en istället att utföra simuleringar där resultatet är statistiskt representativt för styrkan hos de olika handlingar som är möjliga (Cowling et al, 2012). Tillvägagångssättet går ut på att den simulerar en rad slumpmässiga eller pseudo slumpmässiga matcher för att därigenom utvinna en fungerande strategi. Tekniken är baserad på en randomiserad utforskning av sökrymden där tidigare resultat implementeras. Då trädet byggs upp blir algoritmen bättre på att estimera värden för de mest lovande handlingarna. Den kan dock också fördelaktigt använda sig av heuristik kunskap i samband med detta för att få en mer effektiv algoritm. Genom ett större antal simuleringar av möjliga spelsessioner kan en god strategi uppnås. Mer specifikt så bygger och använder algoritmen ett träd av möjliga framtida tillstånd enligt följande fyra steg som upprepas så länge som tiden tillåter. Det första steget är Selektion: Selektion väljer nästa handling baserat på tidigare information och möjlig domän kunskap. Det som är viktigt under detta steg är att uppnå rätt balans mellan att utföra exploatering och utforskning. Exploatering handlar om att välja den handling som leder till det bästa resultatet hittills. Utforskning gäller för att testa mindre lovande handlingar pågrund av osäkerheten gällande evalueringen, för att inte missa en möjlig handling som kan ge en bättre utkomst. En vanlig metod för att hantera detta är att använda sig av konfidens intervaller genom framförallt övre konfidens begränsningar, så kallat UCB, som appliceras på trädet. Mer om UCB kommer senare. Man kan använda sig av olika metoder för att baka in domän-kunskap, en vanlig metod är genom Progressive bias. Man ger vissa handlingar större värde från början så att de prioriteras över handlingar som annars rent slumpmässigt skulle kunna ges samma styrka. Det andra steget är Expansion: När spelet når det första tillståndet som inte kan hittas i trädet, läggs det till som en ny nod. Detta innebär att trädet expanderas med en nod för varje simulering. Det tredje steget är Simulering: För simuleringen utförs som grund fullständigt slumpmässiga handlingar tills spelets slut. Det är oftast fördelaktigt att använda sig av simuleringsstrategier vilket gör handlingarna pseudo
5 slumpmässiga. Man viktar då de val som verkar mer lovande, detta görs med hjälp av heuristisk kunskap. Det fjärde och sista steget är Bakpropagering: Efter man har nått slutet för sin simulering uppdateras varje träd nod som var passerad under den simuleringen. Antalet besök för var nod uppdateras och vinst/förlust skalan modifieras efter den utkomst man fick. Resultatet bedöms efter +1 för vinst 0 för lika och -1 för förlust. En bakpropageringsstrategi kan räknas ut genom att ta medelvärdet för alla simuleringar som tog en väg genom en viss nod. Den handling som sedan välj för det riktiga spelet är den som korresponderar med den barnnod som utforskades mest (Chaslot et al, 2008) (Winands, Björnsson and Saito, 2008). Selektion Expansion Simulering Bakpropagering n j står för antalet gånger valet j har testats Dessa termer är relevanta för utforskningen. Termen C balanserar mellan exploatering och utforskning. Mer detaljerat är C en konstant inom 0-1 som kontrollerar hur olikartad sökningen är. Den nod som i slutändan väljs är den som bedöms som att vara mest angelägen. Alltså inte det värdet som tolkas vara bäst eller ge mest spridning. Avvägningen görs alltså efter behov av utforskning av nod kontra högsta möjliga värde. Mer specifikt är det oftast så att varje möjlig handling simuleras en gång, och därefter börjar UCB appliceras för att välja den bästa handlingen givet situationen. För kodning av MCTS presenteras härunder en pseudokod för att illustrera det generella tillvägagångssättet och knyta det samman med den teori som har tagits upp (Browne, Powley, Whitehouse, Lucas, Cowling, Rohlfshagen, Tavener, Perez, Samothrakis and Colton, 2012). Figur 2. Pseudokod för MCTS tagen från Browne et al (2012) Figur 1 Fyra stegen för MCTS tagen från Browne et al (2012) En vanlig teknik för att hantera balansen mellan exploatering och utforskning inom det första steget av MCTS är som nämnt UCB. UCB står för Upper Confidence Bounds vilket översätts till Övre Konfidens Gräns (Auer, 2003). UCB är en algoritm som använder sig av statistisk sannorlikhet. Algoritmen lyder som följer: 2 ln n UCB = X j + C n j X j står för den estimerade belöningen för valet av j Denna beräkning är relevant för exploateringens värde. n står för antalet gånger föräldern har testats
6 Diskussion För att använda sig av MCTS gällande HS skulle det kunna gå till på följande sätt. Motiverat av idéer från forskning gällande M:TG och Go och mer specifikt utifrån Ward och Cowling (2009). Målet skulle kunna vara att skapa en AI spelare som kan slå en erfaren spelare under formen först till tre vinster med tre olika decks. 1. Från spelarens hand bedöm alla legala handlingar som kan göras. 2. Spela ett simulerat spel till slutet för varje legal handling/handlingar med en randomiserad kortdragningsfunktion utifrån det deck som används och randomiserad hand och deck för motspelaren. Detta för att representera osäkerheten. 3. Genom att använda UCB algoritmen väljs vilken legal eller vilken kombination av legala handlingar som bör utforskas. Fortsatt simulering med randomiserad kortdragning och randomiserad hand och deck för motspelaren följer. 4. Efter en specificerad tidsgräns, returnera den handling eller kombination av handlingar som har högst antal simuleringar. Det finns en rad viktiga aspekter som bör följas för att få ett så effektivt resultat som möjligt. Gällande sin egen spelares deck bör det till en början inte randomiseras, man kan då välja ett par deck som fungerar bra för proffsspelare och sedan snarare fokusera mer specifikt på hur dessa deck bör spelas. Det enda som bör randomiseras är kortdragningen, alltså vilka kort man drar till sin hand. I vissa fall är det bästa alternativet bara att använda sin hero power eller att inte göra något alls. Detta bör också tas i eftertanke. Motståndarens deck får heller inte randomiseras utöver den klassen motståndarens hjälte representerar. Då den ändå inte kan spela dessa kort. Det är också viktigt att ha med de korten motståndaren redan har spelat, och sedan räkna bort dem från möjliga handlingar som motståndaren kan göra senare inom simuleringen. Det som gör att spelet blir komplicerat för en AI spelare kommer framförallt att handla om hur den ska använda trollformler och alla de funktioner som finns som verktyg hos en hel del undersåtar och vapen, exempelvis battlecries som har nämnts tidigare. Det krävs att man spelar saker i exakt rätt följd och väljer rätt vid användning av alla dessa funktioner. Man vill exempelvis inte ge en undersåte med 2/2 +2 attack och sedan tradea den med en av motståndarens undersåte som har exempelvis 4/2. Dessa två i attack blir då helt effektlösa eftersom man ändå skulle dödat motståndarens undersåte och man förhindrar inte att själv dö på något sätt. Man vill hellre använda dessa +2 där man kan skapa sig en fördelaktig trade, exempelvis ge +2 till en 2/3 och attackera en 2/4. Detta är bara ett exempel på alla strategiska aspekter som måste tas hänsyn till. Problemet som kan dyka upp är dock gällande det faktum att AI spelaren ej till en början kan förstå varken trollformer eller några av dessa funktioner. Det är här domänkunskap fördelaktigen kan användas. Att man skapar en kunskapsbas så man lär AI spelaren hur alla dessa funktioner fungerar. Man kan dock också låta den lära sig dessa funktioner genom simulering innan man fokuserar på att få den att kunna slå människor. Man kan se skapandet av en AI spelare för HS i likhet med att skapa en för general game playing. Detta är passande då MCTS anses speciellt lämplig för skapandet av denna typ av AI spelare enligt Ward och Cowling (2009). Användningen av MCTS gällande HS motiveras då av den höga branching faktorn som uppstår pågrund av osäkerhet gällande motståndarens deck och hand. Även då HS är ett väldigt outforskat spel där mycket domänkunskap ännu saknas. Detta skulle göra användningen av andra tekniker mer problematiskt då de ofta bygger på domänkunskap och starka heuristiskt baserade evaluerings funktioner. Det är värt att påpeka att branching faktorn till en början är låg, då man i början av spelet endast har en mana att använda sig av, det är under spelets gång som den succesivt ökar och blir svår att hantera. Om man vid behov skulle behöva hantera effektiviteten av tekniken gällande en hög branching faktor skulle man enligt Ward och Cowling (2009) kunna använda sig av partition search, något som skulle kunna forskas vidare på i framtiden. Den gömda informationen i spelet och existensen av slump skapar en utmanande domän för mänskliga spelare och för att utveckla kompetenta AI spelare, detta med inspiration från forsking av Ward och Cowling (2009) gällande M:TG. Detta känns ännu mer relevant med tanke på att HS är ett mer populärt och mer digitalt anpassat spel. Detta bör motivera andra forskare att intressera sig för HS som spel och forskningsobjekt. I och med att spelet är väldigt populärt bland spelare görs det relevant för dagens samhälle och bör då också vara relevant inom dagens forskning.
7 För fortsatt forskning kan man kolla på möjligheter till en mer praktisk implementation gällande kodning. En pseudokod presenterades och det finns möjligheter att fortsätta denna utforskning. För att kunna programmera en intelligent heartstone spelande agent måste man ta denna teoretiska information och omvandla den till praktisk kod. Detta kräver fortsatt forskning. Det har dock skapats en hel del lyckosamma projekt inom allt från Go till M:TG (Ward and Cowling, 2009). Detta visar på möjligheter för att skapa en intelligent HS spelande agent även i praktiken. Det finns även som nämnt en hel del forskning gällande möjliga förbättringar av MCTS. Detta är relevant att undersöka för framtida forskning. En term som känns relevant är UCT som står för Upper Confidence Bounds for Trees. Det är en algoritm som har mycket gemensamt med MCTS i kombination med användning av UCB. Enligt Browne et al (2012) går dessa att i princip likställa, men de presenteras som två skilda tekniker enligt Ward och Cowling (2009). En möjlig förbättring är exempelvis MCTS Solver som är skapad av Winands et al (2008) denna ska kunna spela taktiskt starkare inom spel med sudden death scenarion. Slutsats Efter att grundligt ha gått igenom och redovisat för ett antal studier som ansågs passande för detta projekt anser jag att det är absolut godtagbart att gå vidare med detta arbete och ta det till en implementeringsnivå. Det är också av värde att fortsätta forskning gällande tekniker som liknar MCTS och möjliga förbättringar av tekniken. Det skulle framförallt för framtida forskning vara intressant att undersöka implementationsmässiga tillvägagångssätt för att ta del av den mer praktiska delen gällande konstruktionen av en intelligent Heartstone spelande agent. Referenser Chaslot, G., Bakkes, S., Szita, I., & Spronck, P. (2008, October). Monte-Carlo Tree Search: A New Framework for Game AI. In AIIDE. Marsland, T. A., & University of Alberta. Dept. of Computing Science. (1991). Computer chess and search. Department of Computing Science, University of Alberta. Eiríksson, H. (2011). Investigation of Multi-Cut Pruning in Game-Tree Search. Campbell, M., Hoane, A. J., & Hsu, F. H. (2002). Deep blue. Artificial intelligence, 134(1), Winands, M. H., Björnsson, Y., & Saito, J. T. (2008). Monte-Carlo tree search solver. Computers and Games, 5131, Browne, C. B., Powley, E., Whitehouse, D., Lucas, S. M., Cowling, P., Rohlfshagen, P.,... & Colton, S. (2012). A survey of monte carlo tree search methods. Computational Intelligence and AI in Games, IEEE Transactions on, 4(1), Ward, C. D., & Cowling, P. I. (2009, September). Monte Carlo search applied to card selection in Magic: The Gathering. In Computational Intelligence and Games, CIG IEEE Symposium on (pp. 9-16). IEEE. Gelly, S., & Silver, D. (2011). Monte-Carlo tree search and rapid action value estimation in computer Go. Artificial Intelligence, 175(11), Auer, P. (2003). Using confidence bounds for exploitation-exploration trade-offs. The Journal of Machine Learning Research, 3, Cowling, P., Ward, C. D., & Powley, E. J. (2012). Ensemble determinization in monte carlo tree search for the imperfect information card game magic: The gathering. Computational Intelligence and AI in Games, IEEE Transactions on, 4(4), Schwab, B. (2009). AI game engine programming. Cengage Learning.
8 Knuth, D. E., & Moore, R. W. (1976). An analysis of alpha-beta pruning. Artificial intelligence, 6(4), Zook, A., Harrison, B., & Riedl, M. O. Monte-Carlo Tree Search for Simulation-based Strategy Analysis. Heartstone version /04/
MinMax Algoritmen Implementation och optimering. Joakim Östlund 15 juni 2004
MinMax Algoritmen Implementation och optimering Joakim Östlund 15 juni 2004 1 Samanfattning MinMax är en algoritm som kan användas i turbaserade spel för att skapa en virituell motståndare. Algoritmen
AI och schack. En överblick
1 AI och schack En överblick Jakob Danielsson - jdn11003@student.mdh.se Sam Vaezi - svi11001@student.mdh.se Information - kunskap - vetenskap - etik 3/10/2014 2 SAMMANFATTNING Schack anses ofta vara ett
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
Bakgrund och motivation. Definition av algoritmer Beskrivningssätt Algoritmanalys. Algoritmer. Lars Larsson VT 2007. Lars Larsson Algoritmer 1
Algoritmer Lars Larsson VT 2007 Lars Larsson Algoritmer 1 1 2 3 4 5 Lars Larsson Algoritmer 2 Ni som går denna kurs är framtidens projektledare inom mjukvaruutveckling. Som ledare måste ni göra svåra beslut
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:
Datormetaforen. Från människa till dator Från dator till människa o.s.v.
Datormetaforen Från människa till dator Från dator till människa o.s.v. Det mekaniska tänkandet Räknemaskin tillverkad av Pascal 1642 Hjärnan ett avancerat urverk 1800-talet Henry Colebrooke, (president
Genom att följa dessa steg lär du dig snabbt att spela onlinematcher... och som du kan se är det mycket enkelt, roligt och spännande!
HUR MAN SPELAR ONLINE Genom att följa dessa steg lär du dig snabbt att spela onlinematcher... och som du kan se är det mycket enkelt, roligt och spännande! 0. SKAPA DITT EGET PERSONLIGA EMBLEM OCH DINA
Handledare: Mikael Goldmann
2012-02- 23 Jacob Rydh Robert Hedin Sudoku Solver Projektspecifikation Handledare: Mikael Goldmann Introduktion Vi ska studera och utforma olika algoritmer för att lösa Sudoku puzzel. Vi kommer testa olika
Artificial Intelligence
Omtentamen Artificial Intelligence Datum: 2013-01-08 Tid: 09.00 13.00 Ansvarig: Resultat: Hjälpmedel: Gränser: Cecilia Sönströd Redovisas inom tre veckor Inga G 10p, VG 16p, Max 20p Notera: Skriv läsbart!
Någonting står i vägen
Det här vänder sig till dig som driver ett företag, eller precis är på gång att starta upp Någonting står i vägen Om allting hade gått precis så som du tänkt dig och så som det utlovades på säljsidorna
Lär datorn att spela luffarschack
Lär datorn att spela luffarschack Laboration utvecklad av: Sofia Max och Mårten Björk, 2002 Reviderad Fredrik Linusson 2006 Datorlaborationen tar ca 60 minuter. Ägna 10 minuter till den första delen och
Kravspecifikation. Sammanfattning. Fyra i rad Javaprojekt inom TDDC32. Version 2.0. Datum Dokumentnummer
Kravspecifikation Fyra i rad Javaprojekt inom TDDC32 Version 2.0 Datum 2008-05-19 Dokumentnummer 20080215 Sammanfattning Detta är en kravspecifikation över det klassiska spelet Fyra-i-rad programmerat
Beskrivning av Gesällprov. Fia Med Knuff. Mikael Rydmark.
Beskrivning av Gesällprov Fia Med Knuff Mikael Rydmark rydmark@kth.se Mikael Rydmark 1(11) 10-05-05 Innehållsförteckning Inledning...3 Nytt spel...4 Regler... 6 Om Spelet... 7 Brädet... 7 Tärningen...8
Implicita odds och omvända implicita odds
Kapitel sju Implicita odds och omvända implicita odds Under de tidiga satsningsrundorna och satsningsrundorna i mitten sänks vanligtvis pottoddset avsevärt om du behöver syna framtida satsningar, och du
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
Artificiell intelligens En agent som spelar Black Jack Andreas Perjons [andpe813]
1 Artificiell intelligens En agent som spelar Black Jack Andreas Perjons [andpe813] Linköpings Universitet 2019 2 Innehåll Introduktion...3 Metod..4 Programmets komponenter.4 Resultat...5 Diskussion...7
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
AI utmaningar inom kvalitetssäkring. Henrik Emilsson Teststrateg, Nordic Medtest AB
AI utmaningar inom kvalitetssäkring Henrik Emilsson Teststrateg, Nordic Medtest AB Först lite om Artificiell intelligens General AI vs. Narrow AI Maskininlärning Supervised Learning Unsupervised Learning
Speldesign och projektledning Specialkurs 2B Spelprogrammet VT15 2015-03-02
Post mortem Den här rapporten undersöker hur banan eller scenariot i ett brädspel kan påverka AI:s förutsättningar och sålunda upplevelsen för spelaren. Generellt sett så har det varit en ganska svår uppgift
Artificiell intelligens
2013-08-13 Introduktion Artificiell intelligens Vad är AI? Olika mål Intelligenta agenter Områden inom AI Arne Jönsson HCS/IA Vad är AI? Intelligens: Förmågan till tänkande och analys (Svenska ORboken)
Schackspelande datorer Hur fungerar de? Joakim Östlund Patrik Lindegrén 19 oktober 2004
Schackspelande datorer Hur fungerar de? Joakim Östlund Patrik Lindegrén 19 oktober 2004 1 1 Sammanfattning Schack är ett komplicerat brädspel som kräver mycket list och skicklighet för att spela. Kan man
Kort Sammanfattning av Schack MAS
Kort Sammanfattning av Schack MAS Krister Ljung kljung@kth.se 6th April 2003 1 Bamse 1.1 Agenter 1.1.1 Bamse Bestämmer vilket drag som skall skickas till spelplanen. Har även nio öppningar att spela dom
AI för Hive. Kungliga Tekniska Högskolan. Examensarbete inom datalogi, grundnivå (DD143X) Författare: Urban Pettersson
Kungliga Tekniska Högskolan Examensarbete inom datalogi, grundnivå (DD143X) AI för Hive Författare: Urban Pettersson urbanpe@kth.se Handledare: Per Austrin 29 april 2014 Sammanfattning I projektet implementerades
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
Föreläsning 11 - Automater, textsökning, tillstånd
Föreläsning 11 - Automater, textsökning, tillstånd Automater Textsökning KMP-automat (Knuth-automat) Boyer-Moore Rabin-Karp Sökning på webben Automater En portkodsautomat med nio knappar kan se ut så här:
Del 8. Taktiska åtgärder
Del 8 Taktiska åtgärder Taktiska åtgärder Inledning I den första volymen, No Limit Hold em, Harringtons expertstrategier för turneringar, Slutspel, koncentrerade vi oss framför allt på värdebetar, satsningar
Ö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.
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
Sannolikheten att vinna ett spel med upprepade myntkast
Matematik Gymnasieskola Modul: Matematikundervisning med digitala verktyg Del 7: Matematiska undersökningar med kalkylprogram Sannolikheten att vinna ett spel med upprepade myntkast Håkan Sollervall, Malmö
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
DATORER OCH PROGRAM. Datorn är en symbolmaskin
DATORER OCH PROGRAM Datorn är en symbolmaskin men kan ha såväl symboliska som fysiska gränssnitt till omvärlden Program beteendeplan och beteendegenerator Programmerade maskiner Generalitet och portabilitet
ARTIFICIELL INTELLIGENS
ARTIFICIELL INTELLIGENS www..se Så fungerar det Artificiell Intelligens (AI) är intelligens som uppvisas av maskiner. Uttrycket användes för första gången 1955 i ett forskningsförslag med syftet att hitta
Business research methods, Bryman & Bell 2007
Business research methods, Bryman & Bell 2007 Introduktion Kapitlet behandlar analys av kvalitativ data och analysen beskrivs som komplex då kvalitativ data ofta består av en stor mängd ostrukturerad data
Process- och metodreflektion. Grupp 3; Ida Gustafsson, Mikael Karlsson, Jonas Lind, Hanne Sundin, Maria Törnkvist
Process- och metodreflektion Grupp 3; Ida Gustafsson, Mikael Karlsson, Jonas Lind, Hanne Sundin, Maria Törnkvist Planeringen Redan från början av projektet bestämde vi oss i gruppen för att planera utförande
UPPGIFT 1 V75 FIGUR 1.
UPPGIFT 1 V75 FIGUR 1. Varje lördag året om spelar tusentals svenskar på travspelet V75. Spelet går ut på att finna sju vinnande hästar i lika många lopp. Lopp 1: 5 7 Lopp 2: 1 3 5 7 8 11 Lopp 3: 2 9 Lopp
Real-time requirements for online games
Real-time requirements for online games En undersökning om protokoll, tekniker och metoder som datorspel använder för att kommunicera över Internet Victor Grape Milad Hemmati Linköpings universitet Linköping
DATORER OCH PROGRAM. Programmerade maskiner Program beteendeplan och beteendegenerator Generalitet och portabilitet Datorn är en symbolmaskin
DATORER OCH PROGRAM Programmerade maskiner Program beteendeplan och beteendegenerator Generalitet och portabilitet Datorn är en symbolmaskin men kan ha såväl symboliska som fysiska gränssnitt till omvärlden
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.
Hantering av hazards i multi-pipelines
Campus Helsingborg IDA2 Hantering av hazards i multi-pipelines Av: Mounir Salam Abstract Det finns tre olika problem som kan uppstå när vi kör en pipeline med flera steg. De tre problemen även så kallade
Regler för: getsmart Grön
-6 Regler för: getsmart Grön 8 Hele tall 3 4 Hele tall -6-6 3-6 3 Hele tall 8 Hele tall 3 4 Det rekommenderas att man börjar med att se på powerpoint-reglerna när man ska lära sig olika spel med kortleken!
Conways Game of life: Att simulera några av livets egenskaper genom en datorprogram
Conways Game of life: Att simulera några av livets egenskaper genom en datorprogram Mario Natiello Centre for Mathematical Sciences Lund University Sweden Conways Game of life: Att simulera några av livets
Projekt i programmering 1 (ver 2)... 2 Projektidé... 2 Planering... 2 Genomförande... 2 Testning och buggar... 3 Utvärdering... 3 Planering...
Projekt i programmering 1 (ver 2)... 2 Projektidé... 2 Planering... 2 Genomförande... 2 Testning och buggar... 3 Utvärdering... 3 Planering... 4 Bussen (projektförslag)... 5 Bakgrund... 5 Klassen Buss
Spelutveckling - Gameplay. Design och produktion
Spelutveckling - Gameplay Design och produktion Vad är ett spel? Finns olika åsikter Några exempel som räcker på egen hand Coola features Akta er för feature creep För mycket features kan dränka gameplay
Antag att följande träd genereras i ett spelförande program om vi applicerar evalueringsfunktionen
1. Komplexiteten hos en agent beror mycket på vilken omgivning den skall verka i. Vad innebär det att en omgivning är stokastisk, episodisk och dynamisk? Ge exempel på en omgivning som är stokastisk, episodisk
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?) 4e november 2014 Intelligens Vad är det? ett mänskligt egenskap Kan det jämföras? Kan det mätas?
Hantering av hazards i pipelines
Datorarkitektur med operativsystem Hantering av hazards i pipelines Lisa Arvidsson IDA2 Inlämningsdatum: 2018-12-05 Abstract En processor som använder pipelining kan exekvera ett flertal instruktioner
Beräkning med ord. -hur en dator hanterar perception. Linköpings universitet Artificiell intelligens 2 2010-10-03 Erik Claesson 880816-1692
Beräkning med ord -hur en dator hanterar perception 2010-10-03 Erik Claesson 880816-1692 Innehåll Inledning... 3 Syfte... 3 Kan datorer hantera perception?... 4 Naturligt språk... 4 Fuzzy Granulation...
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.
Pussel DISC/Morot Kombination
Pussel DISC/Morot Kombination Kommunikation Exempel på agenda för första coaching mötet ID: 72955 Ensize International AB Analysdatum: 2012-06-14 Tid: 14 minuter Utskriftsdatum: 2013-09-23 Ensize International
Institutionen för datavetenskap, DAT060, Laboration 2 2 För denna enkla simulerings skull kommer handen att representeras som ett par tal μ värdet på
DAT 060 Laboration 2 I Malmös kasino Institutionen för datavetenskap 17 juni 2002 Per tänkte dryga ut sitt magra studielån genom att jobba som labbassistent på sommarkursen. Tyvärr fanns det redan tillräckligt
Blue Ocean Strategy. Blue Oceans vs Red Oceans. Skapelse av Blue Oceans. Artikelförfattare: W. Chan Kim & Renée Mauborgne
Blue Ocean Strategy Artikelförfattare: W. Chan Kim & Renée Mauborgne Artikeln belyser två olika marknadstillstånd som företag strävar efter att etablera sig inom. Dessa kallar författarna för Red Ocean
Game of 40. Regler och om sidan är in princip samma sak. Det som skiljer dem åt är att de inte har samma text.
Presentation av uppgiften Vi har fått i att skapa en webbapplikation med ett spelbart spel inbyt i sig. Eller som läraren formulerar sig: uppgiften är att skapa en webbapplikation där en eller flera spelare
TDDD92 Artificiell intelligens -- projekt
jonas.kvarnstrom@liu.se 2018 TDDD92 Artificiell intelligens -- projekt Kursinformation Outline Om oss Om kursen i allmänhet Om den individuella uppgiften Om det gemensamma projektet Diskussion och frågor
Hej och tack för att ni, Folk och Försvar anordnar det här seminariet. Tack för inbjudan Lars.
Hej och tack för att ni, Folk och Försvar anordnar det här seminariet. Tack för inbjudan Lars. har arbetat länge för att lyfta frågan om drönare såväl i Sverige som internationellt men det känns som att
Gränser och gränssnitt mellan människa och maskin
Gränser och gränssnitt mellan människa och maskin Staffan Larsson, fil.dr i allmän språkvetenskap Hur ska vi människor relatera till våra maskiner? Är människan en sorts maskin? Kan maskiner vara mänskliga?
Självbalanserande träd AVL-träd. Koffman & Wolfgang kapitel 9, avsnitt 1 2
Självbalanserande träd AVL-träd Koffman & Wolfgang kapitel 9, avsnitt 1 2 1 Balanserade träd Nodbalanserat träd: skillnaden i antalet noder mellan vänster och höger delträd är högst 1 Höjdbalanserat träd:
Three Monkeys Trading. Tärningar och risk-reward
Three Monkeys Trading Tärningar och risk-reward I en bok vid namn A random walk down Wall Street tar Burton Malkiel upp det omtalade exemplet på hur en apa som kastar pil på en tavla genererar lika bra
Matcha rätt hjärta till rätt patient med AI. Dennis Medved
Matcha rätt hjärta till rätt patient med AI Dennis Medved Översikt Introduktion IHTSA LuDeLTA Sammanfattning Framtida arbete Introduktion Hjärttransplantation Livräddande operation för patienter med hjärtsvikt
Formativ bedömning i matematikklassrummet
Modul: Taluppfattning och tals användning Del 4: Formativ bedömning Formativ bedömning i matematikklassrummet Peter Nyström, NCM Termen bedömning, eller pedagogisk bedömning kan uppfattas väldigt olika,
AI TILL BRÄDSPEL En jämförelse mellan två olika sökalgoritmer vid implementation av AI till brädspelet Pentago.
AI TILL BRÄDSPEL En jämförelse mellan två olika sökalgoritmer vid implementation av AI till brädspelet Pentago. AI FOR BOARD GAMES A comparison of two search algorithms by implementation of AI for the
Handbok Officersskat. Martin Heni Eugene Trounev Granskare: Mike McBride Översättare: Stefan Asserhäll
Martin Heni Eugene Trounev Granskare: Mike McBride Översättare: Stefan Asserhäll 2 Innehåll 1 Inledning 5 2 Hur man spelar 6 3 Spelets regler, strategi och tips 7 3.1 Spelbordet..........................................
AGA-regler. goforbundet.se/ Referens: AGA 1991
AGA-regler Referens: AGA 1991 Varje formulering av dessa regler vars innehåll är identiskt, är godtagbar som ett uttryck för AGAs goregler, så länge de hänvisar till de mer kompletta regler som ges i AGAs
Användarmanual Wapspel
Användarmanual Wapspel Innehållsförteckning No Refuge...2 Telefonkrav...2 Inloggning...3 Huvudmenyn...3 Spelet...4 Spelplanen...4 Radar...5 Extra tillbehör...6 Earthquake...6 Night mission...6 Datorspelare...6
Taktikanalys i tennis
Taktikanalys i tennis - en del av grusspelets karaktär Micaela Hjelm Gymnastik- och idrottshögskolan Tränarprogrammet åk 2 Kurs: Träningslära 2, 7,5 hp HT-2008 Handledare: Mårten Fredriksson Innehållsförteckning
Om man googlar på coachande
Coachande ledarskap Låt medarbetaren Att coacha sina medarbetare är inte alltid lätt. Men det allra viktigaste är att låta medarbetaren finna lösningen själv, att inte ta över och utföra den åt denne.
FÅ FRAM INDATA. När inga data finns!? Beslutsfattarens dilemma är att det är svårt att spå! Särskilt om framtiden!
FÅ FRAM INDATA När inga data finns!? Beslutsfattarens dilemma är att det är svårt att spå! Särskilt om framtiden! (Falstaff Fakir) Svårigheter att få fram bra information - en liten konversation Ge mig
TDDB96 Projekt: Object priming med visuell stimuli
TDDB96 Projekt: Object priming med visuell stimuli Daniel Johansson danjo133@student.liu.se Rickard Jonsson ricjo400@student.liu.se 1. Sammanfattning Vad vi ville komma fram till i denna studie var huruvida
Regelsammandrag på Svenska Yu-Gi-Oh!
Regelsammandrag på Svenska Yu-Gi-Oh! Spelets Mål Målet med Yu-Gi-Oh! SAMLARKORTSPEL är att vinna en match mot din motståndare. Kort Det finns tre huvudsakliga typer av kort i Yu-Gi-Oh!: Monsterkort, Magickort
Datorlaboration 7. Simuleringsbaserade tekniker
Datorlaboration 7 Simuleringsbaserade tekniker 2. DATORLABORATION 7 Under denna laboration ska ni få prova några enklare datorbaserade statistiska tester. Vi använder PopTools - en så kallad "add-in" till
PROBLEMLÖSNING. ! GPS! Mål medel analys! Problemlösning i programmering. Lars-Erik Janlert 2007
PROBLEMLÖSNING! Problem & lösning! Sökträd, sökgraf! Automatisk problemlösning! Heuristik! Heuristisk sökning! GPS! Mål medel analys! Problemlösning i programmering 1 Problem (snäv mening)! Ett problem
Laboration i datateknik
KUNGLIGA TEKNISKA HÖGSKOLAN Laboration i datateknik Felsökning och programmering av LEGO NXT robot Daniel Willén 2012 09 06 dwill@kth.se Introduktionskurs i datateknik II1310 Sammanfattning Syftet med
Artificiell Intelligens inom datorspel Är det ett seriöst ämne?
Artificiell Intelligens inom datorspel Är det ett seriöst ämne? Tobias Andersson, tan10006@student.mdh.se Erik Johnasson, ejn11015@student.mdh.se Information kunskap vetenskap etik DVA223 SAMMANFATTNING
1. En oreglerad marknad involverar frihet. 2. Frihet är ett fundamentalt värde. 3. Därav att en fri marknad är moraliskt nödvändigt 1
Linköpings Universitet Gabriella Degerfält Hygrell Politisk Teori 2 930427-7982 733G36 Frihet är ett stort och komplext begrepp. Vad är frihet? Hur förenligt är libertarianismens frihetsdefinition med
Handbok Granatier. Mathias Kraus Översättare: Stefan Asserhäll
Mathias Kraus Översättare: Stefan Asserhäll 2 Innehåll 1 Inledning 5 2 Hur man spelar 6 3 Spelets regler, strategi och tips 7 3.1 Objekten........................................... 7 3.1.1 Arenan........................................
Vad kan biologiskt plausibla modeller säga oss?
Förra föreläsningen Vad kan biologiskt plausibla modeller säga oss? Beräkningsmässig kognitiv neurovetenskap Simulering av modeller kan ge insikt i mänskligt tänkande Kognitiva fenomen Simulering beräkningsprinciper
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
JavaRats. Kravspecifikation. Version 1.1. Gustav Skoglund gussk258@student.liu.se. Marcus Widblom marwi026@student.liu.se. Senast ändrad: 13 / 05 / 08
JavaRats Kravspecifikation Version 1.1 Gustav Skoglund gussk258@student.liu.se Marcus Widblom marwi026@student.liu.se Senast ändrad: 13 / 05 / 08 Sammanfattning Kravspecifikationen för JavaRats har skrivit
Allmänt om Pidro. Spelets uppbyggnad
Allmänt om Pidro Pidro är ett kortspel för fyra personer där ett par spelar mot ett annat par. Lagmedlemmarna sitter mittemot varandra. Pidro liknar t.ex. Bridge i det avseendet att spelet är uppdelat
Mjukvarudesign. Designprocessen. Teknisk design. Konceptuell design
RE SD PD I UT IT ST AT Mjukvarudesign System Requirement Specification Inkrementell och iterativ! Konceptuell design (VAD) Systemdesign (OOA) Arkitekturell (grovkornig, UML) Teknisk design (HUR) Programdesign
LUNDS UNIVERSITET. Parallell exekvering av Float32 och INT32 operationer
LUNDS UNIVERSITET Parallell exekvering av Float32 och INT32 operationer Samuel Molin Kursansvarig: Erik Larsson Datum 2018-12-05 Referat Grafikkort utför många liknande instruktioner parallellt då typiska
Världen. Sida 1 av 8. Detta är en del av SvD:s digitala urval för dig som är. prenumerant.
Världen Av Jani Pirttisalo 21 mar, 2016 4 delningar Kan utrota mänskligheten eller rädda den Om datorutvecklingen fortsätter som den gjort de senaste årtiondena så kommer vi inom en ganska snar framtid
Föreläsning 12 Inspektionsmetoder. Rogers et al. Kapitel 15
Föreläsning 12 Inspektionsmetoder Rogers et al. Kapitel 15 Inspektionsmetoder Metoder som genomförs utan användare En eller helst flera experter utför en inspektion eller granskning Man utgår ifrån vedertagna
Pottstorleksfilosofin ett exempel
Kapitel fem Pottstorleksfilosofin ett exempel Säg att du spelar ett no limit-spel med mörkar på $2-$5 och $500 stora stackar. Du sitter i stora mörken med Någon inleder satsandet ur mittenposition med
Distributed Computing
Distributed Computing Stefan Saxén Department of Computer Science Åbo Akademi University, FIN-20520 Åbo, Finland e-mail: ssaxen@abo.fi URL: http://www.abo.fi/~ssaxen Sammanfattning Detta papper presenterar
Faktorisering med hjälp av kvantberäkningar. Lars Engebretsen
Faktorisering med hjälp av kvantberäkningar Lars Engebretsen 00-1-03 Lars Engebretsen 00-1-03 Bakgrund Vanliga datorer styrs av klassiska fysikens lagar. Vanliga datorer kan simuleras av turingmaskiner
Genetiska Algoritmer. 10 mars 2014
Genetiska Algoritmer Johan Sandberg Jsg11008@student.mdh.se 10 mars 2014 Niklas Strömberg Nsg11001@student.mdh.se 1 SAMMANFATTNING Genetiska algoritmer är en sorts sökalgoritm som är till för att söka
Programmering. Seminarier i datavetenskap, datorteknik och informationsteknik. Niklas Broberg
Programmering Seminarier i datavetenskap, datorteknik och informationsteknik Niklas Broberg niklas.broberg@chalmers.se 2017-09-21 Hur många från Datavetenskap? Datateknik? Informationsteknik? Översikt
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,
Simuleringar och Kolbs lärcykel. Aktivitet
Simuleringar och Kolbs lärcykel Inom aktivt lärande finns en rad olika övningar som case, rollspel, spel med spelplan och simuleringar. Simuleringar som övning består av en gemensam aktivitet och en debriefingsprocess
DATALOGISK TÄNKANDE OCH PROGRAMMERING CETIS OKTOBER 2017
DATALOGISK TÄNKANDE OCH PROGRAMMERING CETIS OKTOBER 2017 VAD ÄR DET FÖRSTA NI TÄNKER PÅ? Datalogiskt tänkande Programmering FRÅGOR I FOKUS IDAG Varför är digitala kompetenser och programmering viktigt
LUFFARSCHACKETS GRUNDER
LUFFARSCHACKETS GRUNDER Många har frågat mig: Kan man träna luffarschack? Jodå, svarar jag. Det går alldeles utmärkt och det ger bevisligen resultat. Men lika väl som man inte blir fotbollsproffs efter
Tor Sterner-Johansson Thomas Johansson Daniel Henriksson
Lab 4: Anti Tower Defence Oskar Mothander Alan Mendez Larsson dit06omr dit06mln Lärare: Handledare: Johan Eliasson Johan Granberg Tor Sterner-Johansson Thomas Johansson Daniel Henriksson Innehåll 1. Problemspecifikation...
Sammanfattning 2014:8
Sammanfattning Varje år placeras i Sverige omkring 8 000 ungdomar i Hem för vård eller boende (HVB). Majoriteten av dessa placeras på grund av egna beteendeproblem, t.ex. missbruk eller kriminalitet. En
Registerforskning Oktober 2018, Stockholm City Conference Centre. Möjligheter med Artificiell Intelligens inom registerforskningen
Registerforskning 2018 17 Oktober 2018, Stockholm City Conference Centre Möjligheter med Artificiell Intelligens inom registerforskningen Peter Funk Mälardalens Högskola Vem är Peter Funk? Artificiell
Lektion 2: Sökagenter. Robin Keskisärkkä
Lektion 2: Sökagenter Robin Keskisärkkä Lektionens innehåll Introduktion till laboration 2 Implementation av en sökalgoritm Livekodning Konfrontera ett liknande problem själva Extra: Heuristisk sökning
Utförliga regler för TRAX
Utförliga regler för TRAX Innehållsförteckning Vad är TRAX? Sid 2 Grundregler för TRAX Sid 3 Vad är en tvingad yta? Sid 4 Vad är en vinnande ögla? Sid 6 Vad är en vinnande linje? Sid 7 Grundläggande strategiska
Datalogiskt tänkande för alla
Datalogiskt tänkande för alla Fredrik Heintz, IDA fredrik.heintz@liu.se @FredrikHeintz Linda Mannila linda.mannila@abo.fi @lindamannila Software is eating the world Trends AI och Autonoma System redan
Ontologier. Cassandra Svensson 2014-01-09
Ontologier Cassandra Svensson 2014-01-09 Sammanfattning Jag har läst Annika Flycht-Ericssons avhandling Design and Use of Ontoligies in information-providing Dialogue Systems. Med Annikas text som utgångspunkt
Föreläsning 1. Introduktion. Vad är en algoritm?
Några exempel på algoritmer. Föreläsning 1. Introduktion Vad är en algoritm? 1. Häll 1 dl havregryn och ett kryddmått salt i 2 1 2 dl kallt vatten. Koka upp och kocka gröten ca 3minuter. Rör om då och