Kognitionsvetenskapliga Programmet LiU. AI i spelet Magicka. Gruppbeteende/Grupprörelser. Jonathan Nilsson

Storlek: px
Starta visningen från sidan:

Download "Kognitionsvetenskapliga Programmet LiU. AI i spelet Magicka. Gruppbeteende/Grupprörelser. Jonathan Nilsson"

Transkript

1 Kognitionsvetenskapliga Programmet LiU AI i spelet Magicka Gruppbeteende/Grupprörelser Jonathan Nilsson jonni544@student.liu.se

2 2

3 Sammanfattning Den här fördjupningsuppgiften kommer handla om AI i spel och mer specifikt om grupprörelser och gruppbeteende hos agenter i spelet magicka. Jag har fördjupat mig i hur detta fungerar och hur man strukturerar upp det samt vilka komponenter som är viktiga för en AI:s grupprörelser. 3

4 1.1 Innehållsförteckning 1.1 Innehållsförteckning Inledning Arbetets Uppbyggnad AI inom spel Finite State Machine Fysik Checkar A* pathfinding Boids Separation Alignment Cohersion Wander LeaderFollow PositionFollow Pursuit Message system Optimering Diskussion Källförteckning.15 4

5 2.1 Inledning Jag har valt att fördjupa mig på AI inom spel då detta är något som fascinerar mig mycket, och det jag har valt att göra inom detta är just gruppbeteende hos agenter i det svensktillverkade spelet magicka. AI inom spel är ofta designat så att det ska få spelaren att tro att det är ett intelligentare program dem möter än vad det egentligen är, för att skapa detta så måste man bland annat skapa ett rörelsemönster för alla agenter. I spelet magicka spelar man en karaktär i tredje persons perspektiv och möter många fiender som oftast kommer i stort antal emot spelaren. Hur fungerar dessa agenters beteende och rörelsemönster då? Detta är huvudpunkten i rapporten men för att förklara det måste även vissa andra element förklaras också bland annat A* pathfinding och Finite State Machine. Bild 1: Spelet magicka med spelare samt ett stort antal agenter i form av npc:s som rör sig mot spelarna i grupperingar. 3.1 Arbetets uppbyggnad Jag kommer att förklara hur dem har byggt upp grupp beteendet/grupp rörelserna i detta spelet stegvis med att börja förklara hur man brukar lösa detta problem i andra spel samt vad som krävs mer för att få detta gruppbeteende att funka samt självklart hur själva beteendet är uppbyggt. 5

6 4.1 AI inom spel Artificiell intelligens inom spel har utvecklats otroligt mycket sedan första förekomsten 1951 då ett av de första programmen för spel konstruerades. Detta konstruerades av Christopher Strachey och var ett program för checkers (dam), nu finns det avancerade program som spelare möter i flertal olika spel, bland annat i spelet Magicka som jag ska fokusera på. Rörelsemönster och beteende är en väldigt stor del av att skapa en bra AI till spel och när man har flertalet agenter som genomför handlingar samtidigt så blir det även viktigt att få dessa att samspela och det är då Gruppbeteenden kommer in. Ett gruppbeteende är helt enkelt att agenterna kan röra sig med varandra utan att krocka eller stå i varandras väg samt att dem kan röra sig mot ett och samma mål och hjälpa varandra uppnå det. Artificiell intelligens i spel kan byggas upp på många olika sätt men skaparna av Magicka som jag har fördjupat mig i har använt sig av något som kallas Finite-state-machine, detta hade jag tänkt förklara också då detta har lite med min fördjupning att göra, samt så ska jag även förklara vad Fysikcheckar är. 5.1 Finite State Machine Finite state machine eller finite state automaton som det också kallas är en teknik för att skapa intelligenta agenter i spel. State Machine betyder att man inför olika statusar eller lägen som agenten/agenterna kan skifta mellan beroende på hur kraven ser ut för varje läge samt att varje läge låser upp nya handlingar samtidigt som det stänger av andra som agenten hade tillgängliga innan. I magicka har agenterna spelaren möter flera olika lägen dem skiftar mellan nämligen defensivt, aggresiv, passivt, flykt, hopp samt passiv aggresivt läge. Dessa lägen skiftar beroende på hur spelaren agerar, om spelaren inte rör sig tillräckligt närma en agent så förblir denna agent i passivt läge men om spelaren rör sig inom en förutbestämd radie till agenten så övergår agenten antingen till defensivt eller aggresivt läge beroende på vad det är för slags agent man möter(kan vara flertal olika fiender till spelaren) vissa agenter har läget passiv aggresivt implementerat vilket betyder att när spelaren kliver innanför agentens förutbestämda radie så börjar en mätare hos agenten att räkna och desto längre tid spelaren står i denna radie desto högre kommer agentens mätare att gå, när den sedan blir tillrcäkligt hög så attackerar agenten spelaren. När spelaren till exempel har infört tillräcklig stor skada på agenten så övergår den till flykt läge. Varje läge har ett speciellt antal handlingar som är unika, vilket betyder att agenten kan inte utföra samma handlingar när den är i defensivt läge som den kan när den är i aggresivt läge. Tack vare dessa lägen kan man skapa dynamiska mål 6

7 och handlingar som agenten kan sträva efter samt använda sig av samt att på detta sätt så agerar agenten intelligent i den aspekten att agenter genomför mothandlingar för att stoppa spelaren, till exempel attackerar om spelaren kommer för när eller om spelaren attackerar först. 6.1 Fysik Checkar Fysik checkar används när agenten rör sig i spelmiljön, som kan vara väldigt varierande. Detta är mycket viktigt då dessa checkar hindrar agenten från att fastna i objekt eller gå utför stup. De funkar på det sättet att med en koll som genomförs på godtyckligt avstånd framför agenten så undviks kollisioner, dock blir det annorlunda vid stup då det inte finns något att kollidera med. Istället körs även en koll som kollar efter den närmaste noden som agenten styr mot och om denna nod ligger för långt ifrån den punkten agenten styr mot så betyder det att det mest sannolikt ligger ett stup framför. När dessa fysik checkar utförs och upptäcker hinder eller stup så övergår agentens gruppbeteende till en individuell oberoende A* pathfinding sökning, vilket jag ska förklara härnäst. 7.1 A* pathfinding I varje spel så delar man upp miljön i noder som sedan också tilldelas värden som till exempel, gångbar och icke gångbar. Det denna metod gör är att den helt enkelt genomför en A* sökning på dessa noder för att ta reda på vart agenten kan och ska gå och vilken väg agenten ska ta. En A* sökning fungerar på det sättet att den uppskattar avståndet från start noden(noden som agenten står på för tillfället) till målnoden och sedan adderar detta avstånd med det verkliga avståndet till den första noden som ligger på väg till målnoden. På detta sätt så räknas den kortaste och mest kostnadseffektiva vägen ut genom att agenten då kommer ta den noden som har kortast väg (väg till nästa nod + uppskattad väg kvar till målnod) dock får aldrig den uppskattade vägen till målnoden uppskattas till att vara längre än vad den verkligen är för då fallerar hela ideén med denna metoden. I spelet magicka så är detta implementerat på de sättet att agenten använder sig av A* pathfinding när den möter ett object den inte kan gå 7

8 över eller kommer till ett stup, agenten bryter då upp sina kopplingar till gruppen en kort stund tills den har kommit förbi hindret ifråga. 8.1 Boids Boids är från början ett regelsystem som en man vid namn Craig Reynolds konstruerade Detta system konstruerades så att man skulle kunna på ett mycket övertygande sätt efterlikna flockbeteenden hos fiskar och fåglar samt andra flockdjur, detta med hjälp av 3 huvudregler samt ibland även andra kompletterande regler för mer avancerade flockbeteenden. Dessa regler är Separation(Uppdelning) Alignment(Justering) samt Cohesion(Sammanhållning). I dessa flock simulationer så kallas varje enskild individ en boid. Dessa tre regler arbetar tillsammans med en radie som varje boid tilldelas, boiden kommer sedan att anpassa sig efter andra boids som rör sig inom boidens radie, detta ger därmed upphov till ett beteende som flera boids delar samt påverkas av, bilden nedan visar en så kallad boids neighbourhood. Alla boids som är innanför denna radien påverkar och påverkas av boiden i fråga här. På detta sätt får man fram ett mycket naturligt grupp/flock beteeende. Man kan anpassa det med fler regler om man så vill och få flockbeteenden som liknar fåglars eller fiskars beteende i flock. Figur 1: Här ser man en boids neighbourhood Detta har självklart spelindustrin tagit vara på och framförallt magicka använder sig av detta för att skapa grupper genom att låta agenter ta boidens platser, inte nog med det tack vare dessa gruppbeteenden behöver man inte använda sig av A* pathfinding för varje enskild agent hela tiden, vilket skulle kräva väldigt mycket resurser av datorn/programmet som kör spelet. 8

9 8.2 Regel nr 1: Separation Figur 2: En boid som undviker stora koncentrationer av andra boids i sin närhet Denna regel är till för att boidsen ska undvika att flockas ihop så tätt inpå varandra att rörelserna hindras, detta genom att styra ifrån koncentrationer av flera boids. Boidsen håller alltså ett mindre avstånd från varandra konstant. För att skapa detta avståndet så tilldelas varje boid ett litet område runt omkring sig (godtyckligt uppmätt). Om en annan boid kommer inom detta avstånd så byter boiden riktning för att styra bort ifrån den inkräktande boiden. På detta sätt hålls avstånden hela tiden och man undviker kluster av boids. 8.3 Regel nr 2: Alignment Figur 3: Boiden justerar sin riktning så den är likvärdig riktningen hos de lokala boidsen. Boidsen styr mot medel riktningen för alla lokala boids. Denna regel skapar en viss samkoordination som gör att det ser ut som att flocken rör sig som en enhet. För att få justeringen som denna regel gör möjlig så använder sig boidsen av styrvinklarna från alla boids i dess närhet och adderar dessa för att sedan dela denna summa med antalet boids i närheten, då får man ut medelstyrvinkeln och det är denna vinkel som boiden sedan anpassar sig efter. I denna regel brukar man också lägga in en anpassning i hastighet, så att boidsen får ett mjukare rörelse mönster och motverkar då snabba starter och plötsliga stopp, detta 9

10 fungerar på samma sätt som när man räknar ut medelstyrvinkeln. Boiden kollar rörelsehastigeheten hos alla lokala boids i dess neighbourhood och adderar alla dessa hastigeter för att sedan dividera summan man får ut med antalet boids i närheten. Man får alltså då ut en medelhastiget som boiden kommer anpassar sig efter. 8.4 Regel Nr 3: Cohesion Figur 4: Här ser man en boid som styr mot den lokala gruppen. Den tredje regeln är till för att skapa sammanhållning så att grupperna eller flockarna,om man så vill, inte ska splittras. Regeln säger att boidsen ska röra sig mot medelpositionen hos dem lokala boidsen. Liknande alignment så räknas medel positionen ut genom att man tar alla vektorer (här i form av positioner) av boidsen i närheten och delar denna summan med antalet boids i närheten. Därmed får man ut medelpositionen och denna punkt kommer boiden att styra emot tack vare styrkraften som denna regel ger upphov till. Dessa regler används mer som viljor, detta gör att man kan ställa in dem olika reglerna att påverka olika mycket på boidsen, tex kan boidsen få en starkare vilja att röra sig emot mitten av gruppen eller det motsatta om så önskas. Dessa regler är ganska simpla och därför blir dem så självklara att använda till grupp beteenden inom spel, dock kan man göra dem mer avancerade med ännu fler regler som styr beteendet. Tack vare dessa regler kan man skapa flock beteende men eftersom man i magicka ville bygga ett intelligentare beteende så måste flertal andra regler implementeras. Man implementerade reglerna på det sättet att varje grupp tilldelas en ledare som styrs med en A*pathfinding och sedan så påverkas dem andra agenternas rörelser beroende på ledaragenten, dock så implementerade man även andra styrkrafter än dem 3 grundreglerna till varje agent så att dem kunde röra sig mer fristående dock fortfarande i grupp. Dessa kompletterande styrkrafter kan läggas till i riktning mot ledaragenten och på detta sätt skapas ett mycket mer intelligent rörelsemönster för gruppen. 10

11 Dessa kompletterande styrkrafter är Wander, LeaderFollow, PositionFollow, Pursuit. 8.5 Wander Wander är en regel som skaparna av Magicka implementerat för att kunna skapa grupper som beteer sig aningen oorganiserade. Som figur 5 visar ovan så handlar wander om att en position väljs ut slumpvis inom ett område som agenten tilldelas en bit framför denna. Detta område läggs in på ett godtyckligt avstånd från agenten. Detta område mäts som sagt ut med ett godtyckligt avstånd ifrån agenten samt en radie, denna varierar beroende på hur stort man vill att område agenten ska vandra omkring på. I detta område kommer agenten att slumpa fram fler positioner den kan gå till och kommer därmed att få ett oordnat intryck, den/de slumpade positionen/positionerna i området tilldelas en styrkraft som påverkar agenten så pass mycket att den rör sig emot punkten. Dock är agenten fortfarande påverkad utav styrkrafterna från dem andra reglerna dock är dessa lite svagare än Wander styrkraften. 8.6 LeaderFollow LeaderFollow är precis vad det låter som, agenter i en grupp med leaderfollow väljer ut positioner bakom ledaren hela tiden och därmed följer efter denna(se figur 6). Alltså kommer 11

12 det skapas som ett led bakom ledaren. Ledaren styrs som jag nämnt tidigare av A*pathfinding och Finite State Machine medans agenterna som följer efter lyder efter boids regler och de kompletterande reglerna samt Finite State Machine. 8.7 PositionFollow PositionFollow är enligt mig en lite snyggare form utav LeaderFollow då denna går ut på att varje agent slumpvis väljer en position bakom ledaren, det skapas ett område efter ledaren och det är inom detta område som boidsen väljer ut slumpade positioner att röra sig emot samtidigt som dem andra styrkrafterna fortfarande påverkar, vilket ger upphov till dessa formationer som agenterna kan röra sig, antingen rektangulära formationer eller triangulära formationer bakom ledaren(se figur 7). Varför det bara är triangulära eller rektangulära formationer beror på att miljön är uppbyggd av ett rutsystem av noder vilket gör att dem endast kan röra sig i triangulära eller rektangulära formationer då det är endast dessa former man hittar i ett rutsystem. Regeln gör det med andra ord möjligt att skapa grupper med fiender som uppträder betydligt mer organiserade och intelligenta än vad dem grupper som använder Wander gör. 8.8 Pursuit Detta är en regel som gör det möjligt för agenter att genksjuta sitt mål, vilket eliminerar en hel del onödiga avstånd som agenten annars hade gått. Denna regel fungerar på så sätt att en kraft proportionellt jämfört med målets rörelsehastiget samt positionen som målet rör sig emot räknas ut och appliceras på agentens andra styrkrafter och då får man denna genskjutning som man kan se i figur 8 ovan. 9.1 Message system I Magicka är även ett så kallat message system implementerat. Detta är ett system som gör det möjligt för agenter att kommunicera med varandra samt veta när en spelare trycker på tangetbordet och gör en attack. Message system fungerar på så vis att ett objekt hanterar meddelanden, där meddelanden representeras utav en klass som visar vad det är för meddelande, vilken agent som ska få meddelandet samt vad meddelandet innehåller och vart det kommer ifrån. För att kunna skicka och hantera meddelande också så har skaparna av Magicka implementerat en så kallad MessageDispatcher som har hand om skapandet för 12

13 meddelande och den har även hand om adresserna som meddelandena skickas till samt så ansvarar denna klassen för att meddelandena skickas och skickas till rätt agent eller adress. Tack vare message systemet kan agenter kommunicera med varandra och i princip berätta för varandra var målet är samt vilket läge agentern är i Optimering För att spelet ska kunna köras så smidigt som möjligt samt inte använda onödigt mycket datorkraft så måste programmet optimeras. I delen grupprörelser så har man gjort precis detta. Istället för att låta alla agenter styras utav A*pathfinding så använder man de som jag nämt ovan, nämligen boids regler samt kompletterande regler för att skapa olika sorts gruppbeteenden. Detta gör att man slipper använda A*pathfinding konstant förutom på ledarna och stundtals när agenter stöter på hinder. Varför vill man inte att alla ska köras med A* pathfinding? När man kör denna metod så skapas det vektorer(i form utav positioner) samt vektoroperationer(röra sig mot position), och det är inte bara en ensam position som ska undersökas utan alla i agentens direkta närhet för att kunna veta vart den ska ta vägen härnäst. Detta skapar ganska många vektorer och om alla agenter skulle köra A*pathfinding konstant så skulle det kopieras enormt mycket vektorer till stacken(ställe som metoderna hämtar positioner ifrån) som måste hållas reda på och detta hade påverkat prestandan. Vektorer kopieras varje gång dem används. Metoder är vad agenten använder sig av för att kunna använda handlingar. Lösningen är som sagt att låta många agenter ledas av en ledare och istället guideas av boids reglerna. Trots detta är det dock fortfarande många vektorer som kopieras till stacken. En annan optimering som gjorts för att motverka detta är att använda sig av referenser, detta betyder att vektorer inte behöver kopieras till stacken och sedan hämtade utav metoderna utan metoderna använder sig utav datan direkt alltså behöver inte datan sparas i vektorer Diskussion Tillsammans kan Finite State Machine, Fysik-checkar, A*pathfinding, Boids och messagesystem skapa ett grupp beteende som är väldigt snyggt och välfungerande dock för att skapa 13

14 en helt integrerad taktisk AI i ett spel så krävs det också att man använder sig av logik och i magicka har dem använt sig av Fuzzy Logic som är en hel vetenskap i sig så jag valde att inte skriva om detta utan fokusera på gruppbeteendet och grupprörelserna och hur dessa är uppbyggda. Jag som spelat magicka en hel del kan själv säga att fienderna rör sig ganska målmedvetet och i snygga formationer som ger ett bra intryck. Detta utan att agenter fastnar och krockar med varandra. Jag själv har varit med om att agenter fastnar i hinder och det 3 gånger när jag spelat magicka, vilket inte alls är mycket jämfört med andra spelupplevelser jag haft där detta kan hända upp till 20 gånger. Detta kanske inte ens berodde på grupprörelsernas uppbyggnad utan kunde lika väl ha varit en bugg i miljö uppbygnaden. Jag tycker även att själva ideén med att använda sig av ett 30 år gammalt regelsystem för att simulera djurs flockrörelser/beteenden och sedan implementera det på fantasy varleser i ett spel är väldigt intressant. Framför allt också en bra och hyfsat simpel lösning på ett komplext problem. Det finns säkert bättre och mer avancerade lösningar på detta problem men med tanke på spelets natur,vilket är ett mindre spel som kräver ganska lite prestanda för att kunna köras, så är detta nog den bästa lösningen. Dessutom så konstruerades spelet av studion Arrowhead studios som bestod av 5 studenter från Lulå tekniska högskola och därmed har deras budget varit väldigt begränsad vilket gör lösningen än mer imponerande för det problemet med tanke på vad dem hade att tillgå. 14

15 Artiklar och Böcker 1. Stuart Russell Peter Norvig Artificial Intelligence: A modern approach Third Edition 2. Robert C. Martin UML Tutorial: Finite State Machines Engineering Notebook Column C++ Report, June Craig Reynolds Boids Background and Update 6 September Bo Isaksson Developing tactical group-based game-ai LTU Skellefteå Patrick Lester A* Pathfinding for Beginners July 18, Bilder Figur 1-4 tagna från Boids: Background and Update by Craig Reynolds 3. Figur 5-8 tagna från Developing tactical group-based game-ai 15

729G Artificiell jakt och flockbeteende inom datorspel

729G Artificiell jakt och flockbeteende inom datorspel Artificiell jakt och flockbeteende inom datorspel Abstrakt Chasing and Evading är ett begrepp som används för att beskriva hur agenter rör sig mot (jagar), eller undviker en spelare. Liksom i de flesta

Läs mer

EXAMENSARBETE. Developing tactical group-based game-ai

EXAMENSARBETE. Developing tactical group-based game-ai EXAMENSARBETE 2010:010 HIP Developing tactical group-based game-ai Bo Isaksson Luleå tekniska universitet Högskoleingenjörsprogrammet Datorspelutveckling Institutionen för LTU Skellefteå 2010:010 HIP -

Läs mer

Richard Wiik 9/16/2011

Richard Wiik 9/16/2011 LINKOPINGS UNIVERSITET Pathfinding i spel Inte bara optimalt, utan även realistiskt. 9/16/2011 Abstrakt Hur AI används för att avgöra hur AI karaktärer väljer hur och var de ska gå i Första Persons Actionspel.

Läs mer

NODA Smart Heat Building. Hur funkar det? - En teknisk översikt

NODA Smart Heat Building. Hur funkar det? - En teknisk översikt NODA Smart Heat Building Hur funkar det? - En teknisk översikt Vad är NODA? NODA grundades 2005 baserat på forskning på Blekinge Tekniska Högskola Bygger på en stark vetenskaplig grund inom datavetenskap,

Läs mer

Post Mortem för Get The Treasure!

Post Mortem för Get The Treasure! Post Mortem för Get The Treasure! Av: Emil Lindberg - Grupp 15 Vi skulle göra ett action multiplayerspel som spelades över nätverket. Vilket vi nästan lyckades göra. Tiden tog slut och programmerarna han

Läs mer

UTVÄRDERING AV ALGORITMER FÖR BRED KOLLISIONSDETEKTERING MED HJÄLP AV BOIDS ALGORITM

UTVÄRDERING AV ALGORITMER FÖR BRED KOLLISIONSDETEKTERING MED HJÄLP AV BOIDS ALGORITM Malskapada v Henrik UTVÄRDERING AV ALGORITMER FÖR BRED KOLLISIONSDETEKTERING MED HJÄLP AV BOIDS ALGORITM EVALUATION OF ALGORITHMS USED FOR BROAD PHASE COLLISION DETECTION USING BOIDS ALGORITHM Examensarbete

Läs mer

Ett spel skapat av Albin Wahlstrand

Ett spel skapat av Albin Wahlstrand Viking vs. Demons Ett spel skapat av Albin Wahlstrand 2012-06-03 1 Abstrakt Denna rapport kommer att handla om mina positiva och negativa erfarenheter inom projektet jag jobbat på de senaste 10 veckorna.

Läs mer

TDP005 Projekt: Objektorienterat system

TDP005 Projekt: Objektorienterat system . TDP005 Projekt: Objektorienterat system Kravspecifikation Författare, dylma900@student.liu.se, albve061@student.liu.se Höstterminen 2016 Version 1.1 2016-11-16 1 Revisionshistorik Ver. Revisionsbeskrivning

Läs mer

Någonting står i vägen

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äs mer

Inledning. Kapitel 1. 1.1 Bakgrund. 1.2 Syfte

Inledning. Kapitel 1. 1.1 Bakgrund. 1.2 Syfte Sammanfattning Vi har i kursen Modelleringsprojekt TNM085 valt att simulera ett geléobjekt i form av en kub. Denna består av masspunkter som är sammankopplade med tre olika typer av fjädrar med olika parametrar.

Läs mer

ATT LEDA I KOMPLEXA SYSTEM eller Hur kan man tillsammans driva utveckling när man inte alltid är chef i linjen över dem som skapar resultaten?

ATT LEDA I KOMPLEXA SYSTEM eller Hur kan man tillsammans driva utveckling när man inte alltid är chef i linjen över dem som skapar resultaten? ATT LEDA I KOMPLEXA SYSTEM eller Hur kan man tillsammans driva utveckling när man inte alltid är chef i linjen över dem som skapar resultaten?" Ledningskraft - Skåne 11 september 2012 Margareta Palmberg

Läs mer

Pipelining i Intel Pentium II

Pipelining i Intel Pentium II Pipelining i Intel Pentium II John Abdulnoor Lund Universitet 04/12/2017 Abstract För att en processor ska fungera måste alla komponenter inuti den samarbeta för att nå en acceptabel nivå av prestanda.

Läs mer

Kristoffer Eriksson Christer Oscarsson Andreas Dahlberg Martin Bengtsson

Kristoffer Eriksson Christer Oscarsson Andreas Dahlberg Martin Bengtsson Rapport grupp 4 Software Engineering Kristoffer Eriksson Christer Oscarsson Andreas Dahlberg Martin Bengtsson 2009-10-29 Processer Sprinter Scrum har varit till stor hjälp för oss för att nå våra mål,

Läs mer

Gränssnitt för FakeGranska. Lars Mattsson

Gränssnitt för FakeGranska. Lars Mattsson Gränssnitt för FakeGranska av Lars Mattsson (larsmatt@kth.se) Innehållsförteckning 1 Introduktion...3 2 Genomförande:...3 3 Användning...5 4 Kända buggar:...6 5 Källförteckning...6 2 1 Introduktion Taken

Läs mer

Fuzzy Logic: Den oskarpa skarpheten

Fuzzy Logic: Den oskarpa skarpheten Fuzzy Logic: Den oskarpa skarpheten Av: 1 Innehåll Inledning... 3 Vad är Fuzzy Logic?... 4 Fuzzy sets... 4 Medlemsskapsfunktion... 5 Operatorer... 7 Union... 7 Snitt... 8 Komplement... 8 Exempel med de

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

Objektorienterad analys och design

Objektorienterad analys och design Objektorienterad analys och design Objektorienterad analys och design 1 Dagens föreläsning Första delen, innan rasten: Motivation och bakgrund Analys Funktioner Andra delen, efter rasten: Objektorienterade

Läs mer

4.2 Fastställ en referenslösning... 6 4.2.1 Kundvärde... 6

4.2 Fastställ en referenslösning... 6 4.2.1 Kundvärde... 6 Inlämning 4 IKOT Inlämningsuppgift 4 Anders Segerlund andseg@student.chalmers.se Joakim Larsson joakiml@student.chalmers.se Toni Hastenpflug tonih@student.chalmers.se Fredrik Danielsson fredani@student.chalmers.se

Läs mer

Den intelligenta dammsugaren

Den intelligenta dammsugaren Institutionen för Datavetenskap presenterar: Den intelligenta dammsugaren En laboration i fyra delar Laborationen utvecklad av KogVet- studenter Reviderad 2007: Jenny Dalenius 1 Hej och välkommen! Bilden

Läs mer

Space Invaders - Slutrapport

Space Invaders - Slutrapport Projekt inda14 Sida 1 av 6 Space Invaders - Slutrapport A. Projektplanen Programbeskrivning Vi tänker göra en version av det gamla arkadspelet Space Invaders i java. Spelet går ut på att spelaren styr

Läs mer

Slutrapport för Pacman

Slutrapport för Pacman Slutrapport för Pacman Datum: 2011-05-30 Författare: cb222bj Christoffer Bengtsson 1 Abstrakt Jag har under våren arbetat med ett projekt i kursen Individuellt Mjukvaruutvecklingsprojekt. Målet med mitt

Läs mer

Optimering av depåpositioner för den minimala bensinförbrukningen i öknen

Optimering av depåpositioner för den minimala bensinförbrukningen i öknen Optimering av depåpositioner för den minimala bensinförbrukningen i öknen Frågeställning: En jeep kan sammanlagt ha 200 liter bensin i tanken samt i lösa dunkar. Jeepen kommer 2,5 km på 1 liter bensin.

Läs mer

MinMax Algoritmen Implementation och optimering. Joakim Östlund 15 juni 2004

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

Läs mer

ARTIFICIELL INTELLIGENS

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

Läs mer

Real-time requirements for online games

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

Läs mer

SLUTRAPPORT: TEXAS HOLDEM 4 FRIENDS

SLUTRAPPORT: TEXAS HOLDEM 4 FRIENDS SLUTRAPPORT: TEXAS HOLDEM 4 FRIENDS Individuellt Mjukvaruutvecklingsprojekt (Utvecklare av digitala tjänster) Den 1 juni 2011 ABSTRAKT Rapporten tar upp positiva och negativa erfarenheter som jag erhållit

Läs mer

Från ljusenergi till en kub som går att stå på Hur man får en dator att känna igen olika former i visuell information

Från ljusenergi till en kub som går att stå på Hur man får en dator att känna igen olika former i visuell information ARTIFICIELL INTELLIGENS II INSTITUTUINEN FÖR DATAVETENSKAP LINKÖPINGS UNIVERSITET Från ljusenergi till en kub som går att stå på Hur man får en dator att känna igen olika former i visuell information Anna

Läs mer

SVÄRM-AI I SHOOTERS SWARM-AI IN SHOOTERS

SVÄRM-AI I SHOOTERS SWARM-AI IN SHOOTERS Malskapada v Henrik SVÄRM-AI I SHOOTERS SWARM-AI IN SHOOTERS Examensarbete inom huvudområdet Datavetenskap Grundnivå 30 högskolepoäng Vårtermin 2015 Jonas Hallin Handledare: Mikael Johannesson Examinator:

Läs mer

Att göra spel med Game Maker. Rum. Grundläggande delar. Gamemaker, dagens föreläsning. Programmeringsmodell

Att göra spel med Game Maker. Rum. Grundläggande delar. Gamemaker, dagens föreläsning. Programmeringsmodell Gamemaker, dagens föreläsning Vad innehåller Gamemaker? Rum Objekt Händelser Aktioner Sprites Ljud Variabler och uttryck Live exempel: Början på Pac Man Att göra spel med Game Maker Programmeringsmodell

Läs mer

3 augusti (G) Programmering: Lego

3 augusti (G) Programmering: Lego 3 augusti (G) Programmering: Lego Idag ska vi gå igenom vad en robot är, hur programmeringsmiljön ser ut och skriva våra första program. Vi kommer gå igenom flera gröna programmeringsblock, samt det orangea

Läs mer

Kravspecifikation TDP005 Projekt: Objektorienterat system

Kravspecifikation TDP005 Projekt: Objektorienterat system Kravspecifikation TDP005 Projekt: Objektorienterat system Innehållsförteckning 1. Spelidé 3 2. Målgrupp 3 3. Spelupplevelse 3 4. Spelmekanik 3 5. Regler 3 5.1 Spelplan 3 5.2 Spelaren 3 5.3 Token 3 5.4

Läs mer

TJUVSTARTER I AGILITY - en kamp i envishet

TJUVSTARTER I AGILITY - en kamp i envishet TJUVSTARTER I AGILITY - en kamp i envishet Av Marie Hansson När det handlar om tjuvstarter är det ofta en kamp mellan en ivrig hund och dess förare. Men ju mer psykologi man använder, desto större övertag

Läs mer

UTVÄRDERING KOMBINATIONER STYRBETEENDEN FÖR GRUPPER AV AUTONOMA AGENTER

UTVÄRDERING KOMBINATIONER STYRBETEENDEN FÖR GRUPPER AV AUTONOMA AGENTER UTVÄRDERING AV KOMBINATIONER AV STYRBETEENDEN FÖR GRUPPER AV AUTONOMA AGENTER Examensarbete inom huvudområdet Datalogi Grundnivå 30 högskolepoäng Vårtermin 2012 David Söderstedt Handledare: Mikael Thieme

Läs mer

Att leda ett lag. Christer Dreberg. Handledare: Ulf Engman 2011-05-12

Att leda ett lag. Christer Dreberg. Handledare: Ulf Engman 2011-05-12 Att leda ett lag Christer Dreberg Handledare: Ulf Engman 2011-05-12 1 Sammanfattning Att leda ett lag är ett väldigt brett område. Jag har valt att söka efter grunder för att nå framgång. Hur stort inflytande

Läs mer

Bästa skottläge på en fotbollsplan längs långsidan

Bästa skottläge på en fotbollsplan längs långsidan Bästa skottläge på en fotbollsplan längs långsidan Frågeställningen lyder: Vad är det bästa skottläget? för en spelare som befinner sig på en rak linje på en fotbollsplan. Det är alltså en vinkel som söks,

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

DATORER OCH PROGRAM. Datorn är en symbolmaskin

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

Läs mer

PROJEKTRAPPORT EDA095 NÄTVERKSPROGRAMMERI

PROJEKTRAPPORT EDA095 NÄTVERKSPROGRAMMERI PROJEKTRAPPORT EDA095 NÄTVERKSPROGRAMMERI NG STRESS LUNDS TEKNISKA HÖGSKOLA - 2013-05-22 Projektmedlemmar: Emil Apelgren adi10eap@student.lu.se Fredrik Helander gda10fhe@student.lu.se Jonathan Klingberg

Läs mer

Introduktion till digitala medarbetare. RPA-dagen digital arbetskraft, 22/

Introduktion till digitala medarbetare. RPA-dagen digital arbetskraft, 22/ Introduktion till digitala medarbetare RPA-dagen digital arbetskraft, 22/10 2018 B Agenda och PS Provider Innehåll och presentation av PS Provider Innehåll 11 12 1 I Introduktion till RPA och digitala

Läs mer

Plugins som får er Wordpress att sticka ut

Plugins som får er Wordpress att sticka ut Plugins som får er Wordpress att sticka ut 01. Inledning Vad är plugins? Plugin på en Wordpress sida är ett tillägg som man installerar för att driva vissa funktioner. Det kan till exempel vara en plugin

Läs mer

Kravspecifikation. TDP005 Projekt: objektorienterade system. Version 4.0 Datum Anna Ahlberg Johan Almberg

Kravspecifikation. TDP005 Projekt: objektorienterade system. Version 4.0 Datum Anna Ahlberg Johan Almberg Kravspecifikation TDP005 Projekt: objektorienterade system Version 4.0 Datum 2008 12 05 Anna Ahlberg Johan Almberg 1 Innehållsförteckning 1. Spelidé...3 1.1 Svårighetsgrad...3 2. Målgrupp...3 3. Spelupplevelse...3

Läs mer

Artificiell Intelligens inom datorspel Är det ett seriöst ämne?

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

Läs mer

Supply Chain Management

Supply Chain Management Supply Chain Management Beer game 722A29 Grupp 5 Denise Niemi Jennie Östh Martin Andersson Amanda Svensson 2014-11- 04 Innehållsförteckning Inledning... 3 Förutsättningar... 3 Resultat... 4 Lagerhållning...

Läs mer

Concept Selection Chaper 7

Concept Selection Chaper 7 Akademin för Innovation, Design och Teknik Concept Selection Chaper 7 KPP306 Produkt och processutveckling Grupp 2 Johannes Carlem Daniel Nordin Tommie Olsson 2012 02 28 Handledare: Rolf Lövgren Inledning

Läs mer

4.1 Inventering av olika koncept

4.1 Inventering av olika koncept 1 4.1 Inventering av olika koncept Nedan har vi listat 5 olika koncept som vi har analyserat och jämfört med varandra. Ett av konceptet är Sandviks egna och de andra fyra är tagna ur patentdatabasen esp@cenet

Läs mer

4 rörelsemängd. en modell för gaser. Innehåll

4 rörelsemängd. en modell för gaser. Innehåll 4 rörelsemängd. en modell för gaser. Innehåll 8 Allmänna gaslagen 4: 9 Trycket i en ideal gas 4:3 10 Gaskinetisk tolkning av temperaturen 4:6 Svar till kontrolluppgift 4:7 rörelsemängd 4:1 8 Allmänna gaslagen

Läs mer

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

LINKÖPINGS UNIVERSITET. Fuzzy Logic. Johan Brage 9/16/2012 LINKÖPINGS UNIVERSITET Fuzzy Logic Johan Brage 9/16/2012 Innehållsförteckning 1. Inledning... 1 2. Fuzzy Logic... 2 3. Crisp Sets... 3 4. Fuzzy Sets... 4 4.1 Operatorer... 5 4.2 IF-THEN... 7 4.3 Hedges...

Läs mer

Gesäll provet Internetprogrammering I. Författare: Henrik Fridström. Personnummer: 870408-6654. Skola: DSV

Gesäll provet Internetprogrammering I. Författare: Henrik Fridström. Personnummer: 870408-6654. Skola: DSV Gesäll provet Internetprogrammering I Författare: Henrik Fridström Personnummer: 870408-6654 Skola: DSV Val av uppgift: En e-mail applikation med kryptering Bakgrund: Som sista uppgift i kursen Internetprogrammering

Läs mer

Mjukvarudesign. Designprocessen. Teknisk design. Konceptuell design

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

Läs mer

att koncentrera sig, att bibehålla uppmärksamheten, att minnas osv., som orsakades av att så mycket energi gick åt till att bearbeta den förändrade

att koncentrera sig, att bibehålla uppmärksamheten, att minnas osv., som orsakades av att så mycket energi gick åt till att bearbeta den förändrade att koncentrera sig, att bibehålla uppmärksamheten, att minnas osv., som orsakades av att så mycket energi gick åt till att bearbeta den förändrade situationen, ledde till en reflexion över hur vuxna som

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

Test: Optimerad fallprovning med Dell, Intel och Altair

Test: Optimerad fallprovning med Dell, Intel och Altair Test: Optimerad fallprovning med Dell, Intel och Altair Fredrik Nordgren, M.Sc. M.E. (Master of Science in Mechanical Engineering), Applikationsingenjör, Altair Eric Lequiniou, Chef, High Performance Computing,

Läs mer

Aktiva och passiva handlingsstrategier

Aktiva och passiva handlingsstrategier Aktiva och passiva handlingsstrategier en sammanfattning Hela livet ständiga ställningstagande Det finns en uppgift om att vi varje dygn utsätts för ca 45 000 valsituationer, varav ca 7 000 gånger är medvetna

Läs mer

SPELTESTNING FUZZY LOGIC. Kandidatuppsats i Informatik. Patrik Lundqvist Michael Enhörning VT 2010

SPELTESTNING FUZZY LOGIC. Kandidatuppsats i Informatik. Patrik Lundqvist Michael Enhörning VT 2010 SPELTESTNING FUZZY LOGIC Kandidatuppsats i Informatik Patrik Lundqvist Michael Enhörning VT 2010 Svensk titel: Speltestning Engelsk titel: Gametesting Utgivningsår: 2010 Författare: Patrik Lundqvist, Michael

Läs mer

CDC en jämförelse mellan superskalära processorer. EDT621 Campus Helsingborg av: Marcus Karlsson IDA

CDC en jämförelse mellan superskalära processorer. EDT621 Campus Helsingborg av: Marcus Karlsson IDA CDC6600 - en jämförelse mellan superskalära processorer av: Marcus Karlsson Sammanfattning I denna rapport visas konkret information om hur den första superskalära processorn såg ut och hur den använde

Läs mer

Datastrukturer och algoritmer. Föreläsning 15 Inför tentamen

Datastrukturer och algoritmer. Föreläsning 15 Inför tentamen Datastrukturer och algoritmer Föreläsning 15 Inför tentamen 1 Innehåll Kursvärdering Vi behöver granskare! Repetition Genomgång av gammal tenta 2 Första föreläsningen: målsättningar Alla ska höja sig ett

Läs mer

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

Läs mer

Anton Brunberg,

Anton Brunberg, INSTITUTIONEN FÖR DATAVETENSKAP, LINKÖPINGS UNIVERSITET AI som är emot dig Ett arbete om AI i spel Anton Brunberg, antbr036@student.liu.se 2010-09-13 Innehåll Inledning... 3 Scripts... 4 Finite State Machine...

Läs mer

UTVÄRDERING AV STYRBETEENDEN FÖR GRUPPER AV NAVIGERANDE AGENTER

UTVÄRDERING AV STYRBETEENDEN FÖR GRUPPER AV NAVIGERANDE AGENTER Malskapad avhenrik Mals kapad avhenrik UTVÄRDERING AV STYRBETEENDEN FÖR GRUPPER AV NAVIGERANDE AGENTER EVALUATION OF STEERING BEHAVIORS FOR GROUPS OF NAVIGATING AGENTS Examensarbete inom huvudområdet Datalogi

Läs mer

E-posthantering med Novell Groupwise WebAccess

E-posthantering med Novell Groupwise WebAccess E-posthantering med Novell Groupwise WebAccess En liten hjälpreda sammanställd av Thomas Granhäll. Materialet får kopieras fritt! 2003 Följande moment behandlas i denna manual: 1. Logga in 2. Ta emot och

Läs mer

Thinking in systems - Donella H. Meadows

Thinking in systems - Donella H. Meadows Thinking in systems - Donella H. Meadows Förklaring av system Definition: Ett system är en mängd sammankopplade element som är organiserade på ett sådant sätt att något uppnås. Ett system måste alltså

Läs mer

Säkerhet genom simpel nätverksutrustning. Högskoleingenjörsexamensarbete Fredrik Folke 2012-06-18

Säkerhet genom simpel nätverksutrustning. Högskoleingenjörsexamensarbete Fredrik Folke 2012-06-18 Säkerhet genom simpel nätverksutrustning Högskoleingenjörsexamensarbete Fredrik Folke 2012-06-18 1 Inledning Bakgrund Metod Sammanfattning Frågor 2 3 Ipv4 är idag slut hos världs distributören Europe and

Läs mer

Positiv Ridning Systemet Negativ eller positiv? Av Henrik Johansen

Positiv Ridning Systemet Negativ eller positiv? Av Henrik Johansen Positiv Ridning Systemet Negativ eller positiv? Av Henrik Johansen Man ska vara positiv för att skapa något gott. Ryttare är mycket känslosamma med hänsyn till resultatet. Går ridningen inte bra, faller

Läs mer

Tips för laget/gruppen

Tips för laget/gruppen Ver 1.2 Inledning Detta dokument har satts ihop för att ge tips till både nya och redan erfarna paintballspelare. Vissa taktiska förslag kan verka självklara visst, men kanske finns det något nytt att

Läs mer

TDDD92 Artificiell intelligens -- projekt

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

Läs mer

Tor Sterner-Johansson Thomas Johansson Daniel Henriksson

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

Läs mer

Handbok Rymdduell. Andreas Zehender Eugene Trounev Översättare: Stefan Asserhäll

Handbok Rymdduell. Andreas Zehender Eugene Trounev Översättare: Stefan Asserhäll Andreas Zehender Eugene Trounev Ö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 Översikt av Rymdduellens spelskärm...........................

Läs mer

Digitala projekt rapport

Digitala projekt rapport Digitala projekt rapport Alexander Westrup, d04aw@student.lth.se Martin Sandgren, d04ms@student.lth.se 4 december 2007 Innehåll 1 Abstract 1 2 Inledning 1 3 Arbetsgång 1 4 Hårdvara 1 4.1 Processor...............................

Läs mer

Hur gör man ett trådlöst nätverk säkert?

Hur gör man ett trådlöst nätverk säkert? Hur gör man ett trådlöst nätverk säkert? http://www.omwlan.se/artiklar/sakerhet.aspx 2010 07 30 En av de första artiklarna jag skrev på omwlan.se för ett antal år sedan handlade om säkerheten. Säkerheten

Läs mer

Lektion G43 Artificiell intelligens. Robin Keskisärkkä Ellinor Ihs Håkansson Cornelia Böhm

Lektion G43 Artificiell intelligens. Robin Keskisärkkä Ellinor Ihs Håkansson Cornelia Böhm Lektion 1 729G43 Artificiell intelligens Robin Keskisärkkä Ellinor Ihs Håkansson Cornelia Böhm Dagens lektion Kort om laborationsserien Introduktion till laboration 1 Live-kodning Börja arbeta med laboration

Läs mer

Reagera på WoW-event Att använda OnUpdate Introduktion Att kapa funktioner Automatisering och AI

Reagera på WoW-event Att använda OnUpdate Introduktion Att kapa funktioner Automatisering och AI Reagera på WoW-event Att använda OnUpdate Introduktion Att kapa funktioner Automatisering och AI Introduktion pptplex Section Divider The slides after this divider will be grouped into a section and given

Läs mer

Smart Heat Building. Hur funkar det? En teknisk översikt. Noda Intelligent Systems Noda Smart Heat Building

Smart Heat Building. Hur funkar det? En teknisk översikt. Noda Intelligent Systems Noda Smart Heat Building Smart Heat Building Hur funkar det? En teknisk översikt 1 Vad är Noda Intelligent Systems? Noda Intelligent Systems grundades 2005 och utvecklar intelligenta system för energieffektivisering och systemövergripande

Läs mer

Labrapport över Rumbokningssytemet Grupp:1

Labrapport över Rumbokningssytemet Grupp:1 Fakulteten för ekonomi, kommunikation, IT & data Labrapport över Rumbokningssytemet Grupp:1 Kurskod: DVGC18 Kursnamn: Software Engineering Inlämningsdatum: 2009 10 28 Scrummaster: Martin Blom Projektmedlemmar:

Läs mer

Slutrapport Get it going contracts

Slutrapport Get it going contracts Slutrapport Get it going contracts Författare: Anthony Dry Datum: 2011-06-02 Program: Utvecklare av digitala tjänster Kurs: Individuellt mjukvaruutvecklingsprojekt 7.5p Linnéuniversitetet (Kalmar) Abstrakt

Läs mer

el o;; Utbildningsplan för Kognitionsvetenskapligt kandidatprogram Bachefor Programmein Cognitive Science 180 Högskolepoäng

el o;; Utbildningsplan för Kognitionsvetenskapligt kandidatprogram Bachefor Programmein Cognitive Science 180 Högskolepoäng el o;; Utbildningsplan för Kognitionsvetenskapligt kandidatprogram Bachefor Programmein Cognitive Science 180 Högskolepoäng Kognitionsvetenskap är ett tvärvetenskapligt kunskaps- och forskningsområde som

Läs mer

Abstrakta datatyper. Primitiva vektorer. Deklarera en vektor

Abstrakta datatyper. Primitiva vektorer. Deklarera en vektor Abstrakta datatyper 1 Primitiva vektorer Vektorer kan skapas av primitiva datatyper, objektreferenser eller andra vektorer. Vektorer indexeras liksom i C från 0. För att referera en vektor används hakparenteser.

Läs mer

URVAL AV UTFÖRDA HOBBYPROJEKT

URVAL AV UTFÖRDA HOBBYPROJEKT URVAL AV UTFÖRDA HOBBYPROJEKT Här följer information om ett urval av utförda hobbyprojekt. ÄVENTYRARNAS SKATTJAKT Ett strategiskt brädspel i fantasymiljö som jag tillverkat. Spelarna spelar som olika fraktioner

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

============================================================================

============================================================================ Angående Vp rör Postad av christpoher - 04 jun 2014 18:16 Har nu försökt med alla medel o kolla upp om det är godkänt att dra 3g1.5 i ett 10/12 Vp rör för tex utanpåliggande installation, Har kollat med

Läs mer

Universums tidskalor - från stjärnor till galaxer

Universums tidskalor - från stjärnor till galaxer Universums tidskalor - från stjärnor till galaxer Fysik och Kemidagarna 2017 Prof. Peter Johansson Institutionen för Fysik, Helsingfors Universitet Matematisk-naturvetenskapliga fakulteten/ Peter Johansson/

Läs mer

Denna transportuppsättning behöver du för att överhuvudtaget orka vara konsekvent, samt för att du ska ha något att ta till när du har bråttom!

Denna transportuppsättning behöver du för att överhuvudtaget orka vara konsekvent, samt för att du ska ha något att ta till när du har bråttom! ANTI-KOPPELDRAG KOPPELDRAG-SKOLAN En del av Hundskola.NU! 1.0 av Ingela Melinder Innan du börjar träna Anti-Koppeldrag Transportuppsättning Transportuppsättningen är hemligheten bakom anti-koppeldragträningen!

Läs mer

Laser Maze Art nr: TF1004

Laser Maze Art nr: TF1004 Laser Maze Art nr: TF1004 Beam-Bending Logic Game Belysning och speglar kan göra att det känns som magi, men det är verkligen vetenskap och en god dos av hjärnkapacitet som behövs för att rikta laserstrålen

Läs mer

Lunds Tekniska Högskola Datorarkitektur med operativsystem EITF60. Superscalar vs VLIW. Cornelia Kloth IDA2. Inlämningsdatum:

Lunds Tekniska Högskola Datorarkitektur med operativsystem EITF60. Superscalar vs VLIW. Cornelia Kloth IDA2. Inlämningsdatum: Lunds Tekniska Högskola Datorarkitektur med operativsystem EITF60 Superscalar vs VLIW Cornelia Kloth IDA2 Inlämningsdatum: 2018-12-05 Abstract Rapporten handlar om två tekniker inom multiple issue processorer

Läs mer

FMCK Malmö Boris Magnusson. Markering av Endurobana

FMCK Malmö Boris Magnusson. Markering av Endurobana FMCK Malmö Boris Magnusson Markering av Endurobana Markering av en Endurobana finns beskrivet i tävlingsreglementet, paragrafer 4.16-17-18 (se nedan) men dessa är ganska kortfattade. Detta PM är ett försöka

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

DEN RUNDA TUNNELN EN UNDERSKATTAD FIENDE

DEN RUNDA TUNNELN EN UNDERSKATTAD FIENDE DEN RUNDA TUNNELN EN UNDERSKATTAD FIENDE Av Marie Hansson När man är nybörjare i agility, eller ser sporten utifrån, är det lätt att tro att just den runda tunneln är det allra lättaste hindret! Och det

Läs mer

Detaljbeskrivning av Player

Detaljbeskrivning av Player Detaljbeskrivning av Player Syftet med Playerklassen är att representera det skepp som spelaren styr. Spelarens skepp styrs till skillnad från övriga skepp av spelaren både när det kommer till vilken riktning

Läs mer

2. Konsten att skapa gemenskap ur trenätsperspektivet

2. Konsten att skapa gemenskap ur trenätsperspektivet 2. Konsten att skapa gemenskap ur trenätsperspektivet Ordet gemenskap står för någonting positivt och djupt mänskligt. VI människor är sociala varelser, flockdjur. Flocken ger oss gemenskap och tillhörighet,

Läs mer

Tajmingen av belöningen, både tidsmässigt och placering, samt den gradvisa ökningen av svårighetsgrad är väsentlig för resultatet.

Tajmingen av belöningen, både tidsmässigt och placering, samt den gradvisa ökningen av svårighetsgrad är väsentlig för resultatet. BASTA-METODEN Av Kim Andersen - Tåstrup Agility Klub - DGI Amtsinstruktør i Agility fra Roskilde Amt Copyright 2005 Kim Andersen Metoden bygger på några av de principer som är lika för inlärning av slalom

Läs mer

SVÄRM-AI FÖR TAKTISKA BESLUT HOS GRUPPER AV FIENDER SWARM AI FOR TACTICAL DECISIONS IN GROUPS OF ENEMIES

SVÄRM-AI FÖR TAKTISKA BESLUT HOS GRUPPER AV FIENDER SWARM AI FOR TACTICAL DECISIONS IN GROUPS OF ENEMIES M a lskapad av Henrik M a lskapad av Henrik SVÄRM-AI FÖR TAKTISKA BESLUT HOS GRUPPER AV FIENDER SWARM AI FOR TACTICAL DECISIONS IN GROUPS OF ENEMIES Examensarbete inom huvudområdet Datalogi Grundnivå 30

Läs mer

Case-based resoning. och dess användning inom sjukvården. Linköpings universitet Artificiell intelligens II 729G11 HT 2011

Case-based resoning. och dess användning inom sjukvården. Linköpings universitet Artificiell intelligens II 729G11 HT 2011 Linköpings universitet Artificiell intelligens II HT 2011 Case-based resoning och dess användning inom sjukvården Sammanfattning Det här arbetet handlar om vad case-based resoning är, hur den funkar, vilka

Läs mer

TDDC30 Programmering i Java, Datastrukturer och Algoritmer Lektion 5. Laboration 4 Lådplanering Exempel på grafik, ett avancerat program Frågor

TDDC30 Programmering i Java, Datastrukturer och Algoritmer Lektion 5. Laboration 4 Lådplanering Exempel på grafik, ett avancerat program Frågor TDDC30 Programmering i Java, Datastrukturer och Algoritmer Lektion 5 Laboration 4 Lådplanering Exempel på grafik, ett avancerat program Frågor 1 Laboration 4 - Introduktion Syfte: Öva på självständig problemlösning

Läs mer

Robin Wahlstedt Datavetenskap / Spel Vetenskapsmetodik rwt07001@student.mdh.se. Datorgrafik i spel

Robin Wahlstedt Datavetenskap / Spel Vetenskapsmetodik rwt07001@student.mdh.se. Datorgrafik i spel Robin Wahlstedt Datavetenskap / Spel Vetenskapsmetodik rwt07001@student.mdh.se Datorgrafik i spel 1 Sammanfattning Dator grafik kan delas in i fyra olika områden: information, design, simuleringar och

Läs mer

Edward de Bono: Sex tänkande hattar

Edward de Bono: Sex tänkande hattar Edward de Bono: Sex tänkande hattar Tänkandet är vår viktigaste mänskliga resurs. Men vårt största problem är att vi blandar ihop olika saker när vi tänker. Vi försöker för mycket på en gång; vi blandar

Läs mer

Optimering av boids med genetiska algoritmer Mattias Sossna

Optimering av boids med genetiska algoritmer Mattias Sossna Institutionen för kommunikation och information Examensarbete i datalogi p C-nivå Vårterminen 7 Optimering av boids med genetiska algoritmer Mattias Sossna Optimering av boids med genetiska algoritmer

Läs mer

PROGRAMMERING I NXC. Sammanfattning KUNGLIGA TEKNISKA HÖGSKOLAN

PROGRAMMERING I NXC. Sammanfattning KUNGLIGA TEKNISKA HÖGSKOLAN KUNGLIGA TEKNISKA HÖGSKOLAN PROGRAMMERING I NXC Namn: Michel Bitar 2012-08- 25 E- post: mbitar@kth.se Introduktionskurs i datateknik, II1310 Sammanfattning Intressant och lärorik laboration om att programmera

Läs mer

Att välja kurser på Datateknik år 4-5

Att välja kurser på Datateknik år 4-5 Att välja kurser på Datateknik -5 Inledning På D-programmet är alla kurser i årskurs 1-3 obligatoriska. Efter det är alla kurser valfria. Det skapar möjligheter för dig att sätta din egen prägel på utbildningen

Läs mer

LEGO Robot programmering och felsökning Hur svårt ska det vara att följa den svarta linjen?

LEGO Robot programmering och felsökning Hur svårt ska det vara att följa den svarta linjen? ICT LEGO Robot programmering och felsökning Hur svårt ska det vara att följa den svarta linjen? Daniel Lindfors 12/9/07 dlindf@kth.se Introduktionskurs i datateknik II1310 Sammanfattning Denna laboration

Läs mer

TDDD92 Artificiell intelligens -- projekt

TDDD92 Artificiell intelligens -- projekt jonas.kvarnstrom@liu.se 2018 TDDD92 Artificiell intelligens -- projekt Individuella uppgifter UPG2: Individuell skriftlig rapport 2 Vad? Läsa och förstå vetenskaplig litteratur Varför? Framtiden: Inte

Läs mer