NeuralChess - projektrapport 2 Innehåll 1 Mål 3 2 Projektbeskrivning 3 3 Tillvägagångssätt Representation

Storlek: px
Starta visningen från sidan:

Download "NeuralChess - projektrapport 2 Innehåll 1 Mål 3 2 Projektbeskrivning 3 3 Tillvägagångssätt Representation"

Transkript

1 NeuralChess - projektrapport 1 NeuralChess en projektbeskrivning av Nicklas Nilsson ( ) d95-nni@d.kth.se Micke Wibom ( ) d95-mwi@d.kth.se c

2 NeuralChess - projektrapport 2 Innehåll 1 Mål 3 2 Projektbeskrivning 3 3 Tillvägagångssätt Representation Brädesrepresentation Slump-indata Utdatarepresentation Stored values Promotion Indata-moveno Feedforward `Hopfield' Reinforcement Träning Implementation Schackspel Spelaruppbyggnad Datorspelare Människospelare Speltyper (m-d d-d) Datasändningar Upptäckt av matt- och remiposition Startbräden Problem Bara dumma tillåtna drag Statistik Konvergens Representation Pjäsen ej med i utdatat Ej avsiktliga drag kan göras Svag koppling mellan indata och utdata Komplex implementering Resultat Hur duktig neuralchess är Saker att förbättra Maximalt uppnåbar duktighet (begränsningar) Slutsatser 11

3 NeuralChess - projektrapport 3 1 Mål Vårt mål var att: få inblick och förståelse för tillämpningar medelst ANN. ge oss en yrkesförberedande insikt i projektlösning medelst ANN. 2 Projektbeskrivning Projektet gick ut på att lära datorn spela schack. Datorn skulle använda ett neuralt nätverk för att bestämma lämpliga drag. Vår målsättning var att vi skulle se en systematik i dragen, samt en förmåga till inlärning baserat på erfarenheter. Vi hade dessutom förhoppningen att datorn skulle ge ett motstånd motsvarande en nybörjare ischack. 3 Tillvägagångssätt Systemet går i huvudsak ut på att trasformera indata till utdata genom ett feedforward-nätverk. För att få systemet att lära sig används reinforcement-inlärning. 3.1 Representation Brädesrepresentation Schackbrädet 'visas upp' för feedforward-nätverket som ett bitmönster i indatalagret. Varje ruta på schackbrädet representeras som fyra bitar och schackrutorna på brädet ligger i en följd i indata-lagret. De fyra bitarna, som utgör varje ruta på brädet, representerar en pjäs (eller sorts pjäs). Se figur Slump-indata Vi ansåg att en av de fördelar man har som människa när man spelar schack är att man är oförutsägbar. Datorn, som får ett givet inbräde och gör en fix transformation till utdata, kommer att vara helt förutsägbar. Därför försåg vi datorn (via 8 bitar indata) med slump Utdatarepresentation Vi valde en enkel utdatarepresentation, som går ut på att man har två 64-bitarsbräden; ett som representerar vilken ruta som en pjäs skall flyttas ifrån och ett bräde som representerar vilken ruta som skall flyttas till. Se figur Stored values Vi lade 50 bitar i utdatalagret, som återkopplas till ingången för nästa drag. Detta är för att datorn skall ha någon form av minne, exempelvis för att komma ihåg om motspelaren är av offensiv eller av defensiv karraktär Promotion I utdatalagret finns det två bitar som kontrollerar till vilken pjäs en bonde som nått sista raden skall promotas till. Det kommer antagligen att ta mycket lång tid innan den lär sig detta, men vi ansåg att funktionen skall finnas inbyggd.

4 NeuralChess - projektrapport 4 Figur 1: Brädets representation. Figur 2: Utdatat representation.

5 NeuralChess - projektrapport 5 Figur 3: Hela feedforwardnätverket Indata-moveno I indata lade vi även 8 bitar, som representerar hur många drag som är gjorda. Detta för att datorn skall kunna inse om en defensiv strategi leder till för långa partier. 3.2 Feedforward Feedforward-nätverket är variabelt; det är uppbyggt av 321 bitar indata, W antal gömda lager med Wi antal neuroner per lager, samt 180 bitar utdata. Nätverket är fullt kopplat mellan lagren. Neuronerna summerar indata och transformerar det med en sigmoidfunktion. Detta garanterar utdata från neuronen i intervallet [-1 1]. Se figur `Hopfield' Vår intention var att utdraget skulle bestämmas från utbrädena (se 3.1.3) genom ett hopfieldnätverk. Vår slutgiltiga lösning blev nu något enklare, men vi har ändå valt att kalla den "hopfield". Det funkar så att det är som ett hopfieldnätverk, med full kopplig mellan de båda brädena, men utan kopplingar inom de båda brädena. Dessa vikter är antingen -1 eller 1, -1 om draget är omöjligt och 1 om draget är möjligt. Vi gör ingen särskiljning på huruvida ett drag är ett bra drag eller ett dåligt, utan vi avgör bara om det är tillåtet. Därefter letar vi upp det största värdet för en multiplikation av en neurons värde på det ena brädet, en neurons värde på det andra brädet, samt vikten däremellan. Eftersom alla neuronvärden är positiva såkommer ogiltiga drag att resultera i ett negativt värde och giltiga drag i ett positivt. Det största värdet kommer att vara ett av de drag som datorn helst vill göra. 3.4 Reinforcement När datorn antingen nått slutet av ett parti eller belönas/straffas under spelets gång körs en procedur som förstärker respektive försvagar vikterna i viktmatrisen. Varje vikt

6 NeuralChess - projektrapport 6 förändras i proportion med hur mycket den bidragit till det aktuella resultatet. När ett parti är slutspelat gås varje drag igenom och viktmatrisen uppdateras för varje drag beroende på hur partiet gått. Storleken på förändringen är, förutom typ av spelavslut (vinst, förlust eller remi), relaterad till antalet drag partiet pågick. 3.5 Träning För att kunna träna snabbt och mycket lät vi datorn träna mot sig själv. Till att börja med försökte vi använda normala speluppställningar. Datorn spelade en serie partier mot sig själv och sparade ner resultatet med jämna mellanrum. För att datorn skulle ha större möjlighet att spela schack matt lät vi den få enkla uppställningar att utgå från. En normalgod spelare skulle kunnat göra matt i ett eller ett par drag. För att datorn skulle få större statistisk variation i motståndet spelades partier mellan fyra olika spelare. Senare började vi även med att variera startuppsättning för dem. 3.6 Implementation Vi skrev hela programmet i C. Det är uppdelat i 10 olika filer/moduler som handhar olika delar av systemet. Det är 142 kb kod, som är skrivet under framförallt augusti '98 - oktober '98. Därefter har vi mest gjort små buggfixar och andra förbättringar. 4 Schackspel 4.1 Spelaruppbyggnad För att spela med programmet krävs att man i förhand har skapat spelarprofiler. Detta görs av programmet och görs för både människa- och datorspelare Datorspelare När man skapar en ny datorspelare sparas dels en hel del inställningar om datorspelaren, dels datorspelarens neurala viktmatris, d.v.s. datorspelarens kunskaper. De inställningar som sparas är bland annat datorspelarens 'Namn', hur snabbt den ska lära sig saker, hur många lager det är i datorspelarens neurala nätverk samthur många neuroner det är i varje lager. Därutöver finns det en hel del parametrar som vi i dagsläget inte använder, men programmet är förberett för mer avancerade inställningar. Viktmatrisen som skapas är bara en nedsparning av de värden som utgör vikterna i det neurala nätverket. Dessa vikter slumpas fram i ett litet intervall när spelaren skapas, och sparas i dagsläget bara som en lång rad okomprimerade flyttal. Detta gör att datafilerna kan bli ganska stora, i storleksordningen 5-10 Mb Människospelare När man skapar en människospelare skapas ju ingen viktmatris, men däremot skapas vissa av de inställningar som gällde för datorspelare. 4.2 Speltyper (m-d d-d) Man kan antingen spela människa mot dator eller låta två dataspelare spela mot varandra. Vi har inte implementerat programmet så att två människor kan spela mot varandra, eftersom man då inte utnyttjar ett neuralt nätverk, vilket ju detta projekt gick ut på. Tanken med att låta två datorspelare spela mot varandra är att de ska kunna lära sig genom att spela mot någon jämnbördig motståndare samt att kunna spela många partier mot en outtröttlig spelare.

7 NeuralChess - projektrapport Datasändningar Om man spelar själv mot datorn kommer datorn att presentera ett textbaserat bräde efter varje drag, för att underlätta för människospelaren. Om datorn spelar mot en annan datorspelare kommer den att skicka dragen som spelarna gör. När man spelar mot datorn förstår den drag som är givet på algebraisk notation samt att ge vilka rutor som draget går emellan (t.ex. a5-c7) Upptäckt av matt- och remiposition Datorn upptäcker att den själv är matt genom att den försöker göra ett 'tillåtet' drag. Om den efter att ha försökt draget upptäcker att den står i schack, så sätter den att den förflyttningen inte är tillåten, återställer brädet och försöker flytta igen. Detta itereras tills ett giltigt drag, som inte försätter datorn i schack, har gjorts. Om datorn inte kan göra något drag är det remi om datorn inte stod i schack innan den ville göra ett drag, och schack matt om den stod i schack innan draget. 4.3 Startbräden När man startar ett parti kan man ange en annan speluppställning än det traditionella. Man anger ett filnamn till en fil som innehåller uppställningen på formen: rnb.kbnr pp.ppppp.qp b.....p... PPP.PPPP RN.QKBNR 5 Problem Schack är ett komplext spel. Förutom de rent implementationstekniska problemen har vi haft lite mer designmässiga problem. Ett problem var hur datorn skulle representera de drag den ville göra. Vår lösning kräver en utdatamängd på 128 bitar, medan en representation med varje pjäs från varje ruta till varje möjlig annan skulle kräva ca bitar utdata. Vår representation ger dock problem med läge i figur 5. Ett annat problem var att vi inte visste hur stora matriser (antal gömda lager och deras storlek) som behövdes, och vi har egentligen bara testat vad som verkar vara rimligt. 5.1 Bara dumma tillåtna drag När programmet började spela hade vi problem med att den gjorde korrekta, men totalt meningslösa drag. Ofta flyttade den samma pjäs fram och tillbaka (mellan två rutor). Detta berodde på att den ansåg att dessa rutor var mycket viktiga att flytta från och till oavsett hur indatat såg ut. För att komma ifrån detta beteende gav vi datorn en liten belöning varje gång den slog en av motståndarens pjäser. Detta löste till viss del problemet, speciellt i början av partierna.

8 NeuralChess - projektrapport 8 Figur 4: Exempel på felsituation. 5.2 Statistik Vårt största problem var troligen den inbyggda statistiken i schack. Programmet insåg snabbt att om den flyttade sina pjäser till vissa rutor, där motståndarens pjäser ofta brukar stå, tycker datorn att den gör ett bra drag, oavsett om motståndaren har en pjäs där för tillfället. Problemet uppkom efter försök att lösa problem 5.1. Vi försökte lösa statistikproblemet genom att istället för att spela varje parti från den traditionella startpositionen så slumpade vi istället fram bräden, som den fick utgå från. Därmed har vi skapat problem 5.3. Problemet att den spelade efter statistiska positioner på brädet försvann. 5.3 Konvergens När programmet inte kunde se något tydligt förhållande mellan indata och utdata (efter lösning av problem 5.2), började den att producera utdata där den antingen påstod att den inte ville flytta från och till någon av rutorna eller att den ville flytta från och till alla rutorna. Därigenom försvann differentieringen av utdatat. Detta medför att den inte använder sin kunskap vid val av drag, utan att implementationen gör att första hittade möjliga drag utförs. Vår lösning bestod i att försöka justera vikterna vid inlärning, så att summan av utdatat inte divergerar mot noll eller oändligheten, utan konvergerar mot ett av oss fixt värde. Detta löste problemet, men försämrade inlärningshastigheten. Detta stör inlärningen med upp till 50%. Problemet är så komplicerat att vi efter denna försämring av inlärningshastigheten, inte har hunnit verifiera att datorn får en tydlig strategi i sitt spel. 5.4 Representation När vi började klura på hur man skulle representera utdata, insåg vi att det fanns triviala, men ej fullt så smarta lösningar, t.ex. att representera alla möjliga drag med

9 NeuralChess - projektrapport 9 en bit i utdatat skulle innebära ca bitars utdata. En annan möjlighet skulle vara att representera alla just nu möjliga drag (som skulle kräva ca 50 bitars utdata) men där det är svårt att få programmet att förstå hur vi mappar de tillånta dragen till de olika bitarna i utdatat Pjäsen ej med i utdatat Vår lösning (beskriven i pkt 3.1.3) saknade koppling till vilken pjäs som flyttades, det var feedforwardnätverket tvunget att ta hänsyn till direkt från indatat. Nu fick den välja hur (varifrån, och vart) den skulle flytta och inte vilken pjäs som var viktig att flytta. Detta kan ses som en brist, men vi ansåg att detta inte var något problem, förutom att inlärningshastigheten skulle kunna bli lidande Ej avsiktliga drag kan göras Ett annat problem var att den kan göra oönskade drag. Om det finns två lika bra drag kan den i värsta fall flytta från frånrutan i ett av dragen, till tillrutan i det andra draget, förutsatt att även detta drag är tillåtet, se figur 5. I figuren så finns två rutor för vit att flytta till och två rutor att flytta från. Kombineras dessa fel, uppstår en ödesdiger situation. Svart kan göra matt i ett drag f1=q (F2 F1). Det enda sättet för vår representation att komma ifrån detta är dels att feedforwardnätverket blir så duktigt att det bara föreslår korrekta drag, dels att den blir så säker att den bara föreslår ett drag i utdatat. Vi är osäkra på om programmet kan komma så långt, men det är ändå inte ett så stort problem eftersom det inte är så ofta som denna situation uppkommer. 5.5 Svag koppling mellan indata och utdata Eftersom detta feedforwardnätverk hade relativt många indata, indata som dessutom var ganska kryptiska (fyra bitar representerade en pjäs, bitarna sade inte något i sig om egenskaperna för den aktuella pjäsen), så var det svårt att få feedforwardnätverket att använda sig av indatat för att konstruera ett utdata. Vi upptäckte att feedforwardnätverket till stor del producerade ett fixt utdata oavsett vilket indata vi gav det. Vår lösning på detta var att ta bort de bitarna i indata som var slump (se pkt 3.1.2), och detta avhjälpte problemet till viss del, men är ändå ett allvarligt kvarstående problem. 5.6 Komplex implementering När vi började med detta projekt visste vi inte hur komplext det skulle bli. I dagsläget är det 142 kb kod och det är inte riktigt överblickbart. Vi saknade kunskaper i processkommunikation, vilket gjorde att programmet kommunicerar med andra processer med hjälp av pipes; om vi har tid kommer vi att göra om så att den använder sig av sockets. Detta har omöjliggjort att koppla på ett grafiskt gränssnitt, eftersom det skulle kräva radikala ändringar i programmet. Komplexiteten gör också att felsökning blir ett mycket tungt arbete.

10 NeuralChess - projektrapport 10 6 Resultat 6.1 Hur duktig neuralchess är Hur duktig är då vårt program? Jo, i dagsläget så spelar den schack dåligt. Den spelar dock helt korrekt schackoch programmet är stabilt. Den har spelat mycket bättre. När programmet lärde sig statistik över var motståndarens pjäser brukade stå, så hände vid ett flertal tillfällen att två program, som spelade mot varandra, lyckades komma till schack matt. Det ser vi som ett bevis för att idén och programmet fungerar, den kan lära sig saker, även om det kanske inte är de bästa kunskaperna. 6.2 Saker att förbättra Saker att förbättra finns det ju alltid i ett program, men vi skulle vilja påstå att hela den delen som handlar om att implementera ett feedforwardnätverk med reinforcementinlärning är klar. Det som finns kvar att göra är saker som mer har att göra med inställningar av programmet, med optimeringar av programmet och med gränssnittet till programmet. I dagsläget använder datorn pipes för att kommunicera mellan två datorspelare, och stdio/stdout för att kommunicera mellan människa och dator. Detta borde göras om så att datorn alltid använder sockets för kommunikation. Detta skulle ge helt andra möjligheter att koppla ett på ett grafiskt gränssnitt till programmet. Vi har implementerat ett grafiskt gränssnitt, men detta skulle behöva anpassas mer till schackprogrammet, likväl som att schackprogrammet skulle behöva modifieras för att passa gränssnittet. Dessutom skulle vissa ändringar behöva göras i schackprogrammet för att det skall klara av att användas på webben. I början när man försöker lära upp en ny datorspelare måste man ge den lite belöning för att få den att göra framsteg. Vi har exprimenterat med att ge belöning när den slår någon av motståndarens pjäser. Detta gav resultat så till vida att den blev klart bättre på att gå framåt med sina pjäser och att slå motståndarens pjäser. Dock är inte detta önskvärt i längden, eftersom det viktiga är att den vinner spelet och inte att den slår många av motståndarens pjäser. Programmet saknar i dagsläget ett enkelt sätt att ställa in om den ska belöna för delmål eller bara belöna för schack matt. I dagsläget finns det inställningsfiler för alla spelarna, men inte för programmet i sig. Det skulle behövas någon central inställningsfil som reglerar belöningar, vilka kataloger som allt ligger i och grad av loggning. Detta skulle vara mycket lättare än att behöva göra dessa ändringar i källkoden och kompilera om programmet varje gång man har gjort en ändring... Att bestämma lämplig storlek på belöningar och bestraffningar är ingen lätt uppgift. Vi har bestämt dessa storlekar genom att helt enkelt resonera oss fram till vad som skulle vara lämpligt. Detta skulle dock behöva verifieras eller optimeras för att minska på inlärningstiden. 6.3 Maximalt uppnåbar duktighet (begränsningar) Hur duktigt kan programmet bli? Ja, vad finns det för begränsningar? Det finns bara 8 bitar slump in för feedforwardnätverket att använda, det tar lång tid att öva upp nätet när det är stort och att bara lära datan mot en annan dataspelare kan ge lite konstiga effekter i strategin misstänker vi. Vissa problem kan uppstå genom att datorn gör ej avsiktliga drag, som beskrivs i punkt

11 NeuralChess - projektrapport 11 7 Slutsatser Oj, vad detta blev stort och var svårt... Det har varit kul och lärorikt, men det har tagit alldeles för mycket tid. Vi känner att det är lite för mycket hokus-pokus för att vi ska ha full kontroll på de problem som har uppkommit. Programmeringstekniskt har vi inte haft så stora problem att klara av det, men vi har haft för dåligt insikt i praktisk implementation, representation, och felsökning av neurala nätverk. Vi hade även lite för svaga kunskaper i uppbyggnad av stora programsystem. Men, det positiva med detta är att vi har lärt oss oerhört mycket, och vikänner båda att detta är ett område som vi skulle vilja jobba med, om bara möjlighet finns.

Kort Sammanfattning av Schack MAS

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

Läs mer

Projektdokumentation för Othello

Projektdokumentation för Othello Projektdokumentation för Gustav Fransson Nyvell gusfr229@student.liu.se Tomas Franzén tomfr819@student.liu.se 1. Inledning Vi har gjort ett -spel som går ut på att man turas om att lägga brickor på en

Läs mer

UPPGIFT 1 V75 FIGUR 1.

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

Läs mer

LARS ULVELAND HOPFIELDNÄTVERK FÖR IGENKÄNNING AV DEGRADERADE BILDER OCH HANDSKRIVNA TECKEN

LARS ULVELAND HOPFIELDNÄTVERK FÖR IGENKÄNNING AV DEGRADERADE BILDER OCH HANDSKRIVNA TECKEN LARS ULVELAD HOPFIELDÄTVERK FÖR IGEKÄIG AV DEGRADERADE BILDER OCH HADSKRIVA TECKE E PROJEKTRAPPORT FÖR PROJEKTKURSE I BILDAALYS HT 02 Teori för Hopfieldnätverk Hopfieldmodellen är en typ av neuronnät,

Läs mer

Schackledarens blad Lektion 1

Schackledarens blad Lektion 1 Schackledarens blad Lektion 1 Inledning Det är viktigt med en tydlig rutin för när schacklektionen börjar och slutar. Genom att samlas kring runda bordet när lektionen ska börja respektive avslutas uppnås

Läs mer

Nätverksprogrammering, EDA095

Nätverksprogrammering, EDA095 Nätverksprogrammering, EDA095 Projekt: Chess game, 2013-05-21 Handledare: Roger Henriksson Axel Hildingsson, a.hildingson@gmail.com Hoang Huyuh Truong, artiq90@yahoo.se Lisa Lindberg, rys07lli@student.lu.se

Läs mer

Handbok Knights. Översättare: Stefan Asserhäll

Handbok Knights. Översättare: Stefan Asserhäll Miha Čančula Översättare: Stefan Asserhäll 2 Innehåll 1 Inledning 6 2 Hur man spelar 7 2.1 Syfte............................................. 7 2.2 Starta spelet.........................................

Läs mer

1(15) Bilaga 1. Av Projekt Neuronnätverk, ABB Industrigymnasium, Västerås Vt-05

1(15) Bilaga 1. Av Projekt Neuronnätverk, ABB Industrigymnasium, Västerås Vt-05 1(15) Bilaga 1 2(15) Neuronnätslaboration Räknare Denna laboration riktar sig till gymnasieelever som går en teknisk utbildning och som helst har läst digitalteknik samt någon form av styrteknik eller

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

Fyra i rad Javaprojekt inom TDDC32

Fyra i rad Javaprojekt inom TDDC32 Fyra i rad Javaprojekt inom TDDC32 Analys och design-dokument Version 2.0 Datum 2008-05-19 Dokumentnummer 20080303 Sammanfattning Detta är analys och design-dokumentet för programmet Fyra i rad. Fyra i

Läs mer

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

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

Läs mer

Lässtrategier för att förstå och tolka texter samt för att anpassa läsningen efter textens form och innehåll. (SV åk 1 3)

Lässtrategier för att förstå och tolka texter samt för att anpassa läsningen efter textens form och innehåll. (SV åk 1 3) SIDAN 1 Lärarmaterial VAD HANDLAR BOKEN OM? I boken får vi lära oss fakta om det gamla spelet schack. Schack spelas över hela världen, men man tror att det ursprungligen kommer från Indien. Eftersom man

Läs mer

Introduktion till algoritmer - Lektion 1 Matematikgymnasiet, Läsåret 2014-2015. Lektion 1

Introduktion till algoritmer - Lektion 1 Matematikgymnasiet, Läsåret 2014-2015. Lektion 1 Kattis Lektion 1 I kursen används onlinedomaren Kattis (från http://kattis.com) för att automatiskt rätta programmeringsproblem. För att få ett konto på Kattis anmäler du dig på Programmeringsolympiadens

Läs mer

Symmetrireducering av slutspelsdatabas i Schack

Symmetrireducering av slutspelsdatabas i Schack Kungl. Tekniska Högskolan NADA Symmetrireducering av slutspelsdatabas i Schack (Symmetrical reduced tablebases in chess) Vårterminen 2004 Författare: Jonas Forsslund E-post: jofo02@kth.se Kursledare: Dmitry

Läs mer

Genetisk programmering i Othello

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

Läs mer

Laboration i datateknik

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

Läs mer

Handbok Othello. Clay Pradarits Utvecklare: Mario Weilguni Granskare: Lauri Watts Översättare: Stefan Asserhäll

Handbok Othello. Clay Pradarits Utvecklare: Mario Weilguni Granskare: Lauri Watts Översättare: Stefan Asserhäll Clay Pradarits Utvecklare: Mario Weilguni Granskare: Lauri Watts Ö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 Spelets grunder.......................................

Läs mer

Interaktionen mellan flickor och pojkar under schackpartiet

Interaktionen mellan flickor och pojkar under schackpartiet Lärande och samhälle Schack som pedagogiskt verktyg Interaktionen mellan flickor och pojkar under schackpartiet Författare: Karin Hahlin-Ohlström Examinatorer: Jesper Hall Lars Holmstrand Pesach Laksman

Läs mer

Kravspecifikation. Sammanfattning. Fyra i rad Javaprojekt inom TDDC32. Version 2.0. Datum Dokumentnummer

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

Läs mer

UPPGIFT 1 TVÅPOTENSER. UPPGIFT 2 HISSEN I LUSTIGA HUSET.

UPPGIFT 1 TVÅPOTENSER. UPPGIFT 2 HISSEN I LUSTIGA HUSET. UPPGIFT 1 TVÅPOTENSER. 2 ½ ¾ = 5575186299632655785383929568162090376495104 n = 142 är det minsta värde på n för vilket 2 Ò inleds med siffrorna 55. Uppgiften består i att skriva ett program som tar emot

Läs mer

Problem: FIL File Paths

Problem: FIL File Paths Problem: FIL File Paths swedish BOI 2015, dag 2. Tillgängligt minne: 256 MB. 1.05.2015 Byteasar tycker om att leva farligt. Han springer med saxar, skickar in lösningar på tävlingsproblem utan att testa

Läs mer

Beskrivning av Gesällprov. Fia Med Knuff. Mikael Rydmark.

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

Läs mer

International Olympiad in Informatics 2011 22 29 July 2011, Pattaya City, Thailand Tävlingsuppgifter Dag 2 Svenska 1.3. Papegojor

International Olympiad in Informatics 2011 22 29 July 2011, Pattaya City, Thailand Tävlingsuppgifter Dag 2 Svenska 1.3. Papegojor Papegojor Yanee är fågelentusiast. Sedan hon läst om IP over Avian Carriers (IPoAC), har hon spenderat mycket tid med att träna en flock papegojor att leverera meddelanden över långa avstånd. Yanees dröm

Läs mer

Inlämningsuppgift : Finn. 2D1418 Språkteknologi. Christoffer Sabel E-post: csabel@kth.se 1

Inlämningsuppgift : Finn. 2D1418 Språkteknologi. Christoffer Sabel E-post: csabel@kth.se 1 Inlämningsuppgift : Finn 2D1418 Språkteknologi Christoffer Sabel E-post: csabel@kth.se 1 1. Inledning...3 2. Teori...3 2.1 Termdokumentmatrisen...3 2.2 Finn...4 3. Implementation...4 3.1 Databasen...4

Läs mer

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

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

Läs mer

TDDC74 - Projektspecifikation

TDDC74 - Projektspecifikation TDDC74 - Projektspecifikation Projektmedlemmar: Namn Efternamn abcde123@student.liu.se Namn Efternamn abcde123@student.liu.se Handledare: Handledare handledare@ida.liu.se eller handledare@student.liu.se

Läs mer

Resurscentrums matematikleksaker

Resurscentrums matematikleksaker Resurscentrums matematikleksaker Aktiviteter för barn och vuxna Innehåll 1 Bygga lutande torn som inte faller 2 2 Om konsten att vinna betingat godis i spel 5 3 Den snåle grosshandlarens våg 6 4 Tornen

Läs mer

Lutande torn och kluriga konster!

Lutande torn och kluriga konster! Lutande torn och kluriga konster! Aktiviteter för barn under Vetenskapsfestivalens skolprogram 2001 Innehåll 1 Bygga lutande torn som inte faller 2 2 Om konsten att vinna betingat godis i spel 5 3 Den

Läs mer

Nonogram

Nonogram Nonogram. Vad är nonogram? Nonogram är små enkla men fascinerande pyssel som ursprungligen kommer från Japan. De har också givits ut i söndagsbilagan i engelska dagstidningar under flera år. Idén bakom

Läs mer

Talsystem Teori. Vad är talsystem? Av Johan Johansson

Talsystem Teori. Vad är talsystem? Av Johan Johansson Talsystem Teori Av Johan Johansson Vad är talsystem? Talsystem är det sätt som vi använder oss av när vi läser, räknar och skriver ner tal. Exempelvis hade romarna ett talsystem som var baserat på de romerska

Läs mer

Uppgift 1 (vadå sortering?)

Uppgift 1 (vadå sortering?) 2011-06-08.kl.14-19 Uppgift 1 (vadå sortering?) Du skall skriva ett program som sorterar in en sekvens av tal i en vektor (en array ) enligt en speciell metod. Inledningsvis skall vektorn innehålla endast

Läs mer

Inledning. Vad är ett datorprogram, egentligen? Olika språk. Problemlösning och algoritmer. 1DV433 Strukturerad programmering med C Mats Loock

Inledning. Vad är ett datorprogram, egentligen? Olika språk. Problemlösning och algoritmer. 1DV433 Strukturerad programmering med C Mats Loock Inledning Vad är ett datorprogram, egentligen? Olika språk Problemlösning och algoritmer 1 (14) Varför använda en dator? Genom att variera de program som styr datorn kan den användas för olika uppgifter.

Läs mer

Regler för: getsmart Grön

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!

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

ARTIFICIELLA NEURALA NÄT. MARCO KUHLMANN Institutionen för datavetenskap

ARTIFICIELLA NEURALA NÄT. MARCO KUHLMANN Institutionen för datavetenskap ARTIFICIELLA NEURALA NÄT MARCO KUHLMANN Institutionen för datavetenskap Example Alt Bar Fri Hun Pat Price Rain Res Type Est WillWait 1 Yes No No Yes Some $$$ No Yes French 0 10 Yes 2 Yes No No Yes Full

Läs mer

Programmeringsolympiaden 2012 Kvalificering

Programmeringsolympiaden 2012 Kvalificering Programmeringsolympiaden 2012 Kvalificering TÄVLINGSREGLER Tävlingen äger rum på ett av skolan bestämt datum under sex timmar effektiv tid. Tävlingen består av sex uppgifter som samtliga ska lösas genom

Läs mer

Projekt Rapport. RaidPlanner. Jeanette Karlsson UD10

Projekt Rapport. RaidPlanner. Jeanette Karlsson UD10 Projekt Rapport RaidPlanner Jeanette Karlsson UD10 Abstrakt: Denna rapport handlar om mitt projekt i kursen Individuellt Mjukvaruutvecklings projekt. Rapporten kommer att ta upp hur jag gått tillväga,

Läs mer

Den räta linjens ekvation

Den räta linjens ekvation Den räta linjens ekvation Här följer en dialog mellan studenten Tor-Björn (hädanefter kallad TB) och hans lärare i matematik Karl-Ture Hansson (nedan kallad KTH). När vi möter dem för första gången är

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

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

Labbrapport - LEGO NXT Robot

Labbrapport - LEGO NXT Robot KUNGLIGA TEKNISKA HÖGSKOLAN Labbrapport - LEGO NXT Robot Programmering och felsökning Stefan Sarkis 2014-09-02 ssarkis@kth.se Introduktionskurs i datateknik (II1310) Sammanfattning Denna rapport handlar

Läs mer

Tentamen TEN1 HI

Tentamen TEN1 HI Tentamen TEN1 HI1029 2014-03-14 Skrivtid: 8.15-13.00 Hjälpmedel: Referensblad (utdelas), papper (tomma), penna Logga in med tentamenskontot ni får av skrivvakten. Det kommer att ta tid att logga in ha

Läs mer

Värmedistribution i plåt

Värmedistribution i plåt Sid 1 (6) Värmedistribution i plåt Introduktion Om vi med konstant temperatur värmer kanterna på en jämntjock plåt så kommer värmen att sprida sig och temperaturen i plåten så småningom stabilisera sig.

Läs mer

Introduktion till algoritmer - Lektion 4 Matematikgymnasiet, Läsåret 2014-2015. Lektion 4

Introduktion till algoritmer - Lektion 4 Matematikgymnasiet, Läsåret 2014-2015. Lektion 4 Introduktion till algoritmer - Lektion 4 Matematikgymnasiet, Läsåret 014-015 Denna lektion ska vi studera rekursion. Lektion 4 Principen om induktion Principen om induktion är ett vanligt sätt att bevisa

Läs mer

Den räta linjens ekvation

Den räta linjens ekvation Den räta linjens ekvation Här följer en dialog mellan studenten Tor-Björn (hädanefter kallad TB) och hans lärare i matematik Karl-Ture Hansson (nedan kallad KTH). När vi möter dem för första gången är

Läs mer

729G43 Artificiell intelligens (2016) Maskininlärning 3. Marco Kuhlmann Institutionen för datavetenskap

729G43 Artificiell intelligens (2016) Maskininlärning 3. Marco Kuhlmann Institutionen för datavetenskap 729G43 Artificiell intelligens (2016) Maskininlärning 3 Marco Kuhlmann Institutionen för datavetenskap Modell med vektornotation parametervektor särdragsvektor Perceptron kombinerar linjär regression med

Läs mer

Handbok Othello. Clay Pradarits Utvecklare: Mario Weilguni Granskare: Lauri Watts Översättare: Stefan Asserhäll

Handbok Othello. Clay Pradarits Utvecklare: Mario Weilguni Granskare: Lauri Watts Översättare: Stefan Asserhäll Clay Pradarits Utvecklare: Mario Weilguni Granskare: Lauri Watts Ö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 Spelets grunder.......................................

Läs mer

Handbok Fyra i rad. Martin Heni Eugene Trounev Benjamin Meyer Johann Ollivier Lapeyre Anton Brondz Översättare: Stefan Asserhäll

Handbok Fyra i rad. Martin Heni Eugene Trounev Benjamin Meyer Johann Ollivier Lapeyre Anton Brondz Översättare: Stefan Asserhäll Martin Heni Eugene Trounev Benjamin Meyer Johann Ollivier Lapeyre Anton Brondz Översättare: Stefan Asserhäll 2 Innehåll 1 Inledning 5 2 Hur man spelar 6 3 Spelets regler, strategier och tips 7 3.1 Fjärranslutningar......................................

Läs mer

HI1024 Programmering, grundkurs TEN

HI1024 Programmering, grundkurs TEN HI1024 Programmering, grundkurs TEN2 2014-10-27 KTH STH Haninge 13.15-18.00 Tillåtna hjälpmedel: En A4 handskriven på ena sidan med egna anteckningar Kursboken C PROGRAMMING A Modern Approach K. N. King

Läs mer

Föreläsning 11. Giriga algoritmer

Föreläsning 11. Giriga algoritmer Föreläsning 11 Giriga algoritmer Föreläsning 11 Giriga algoritmer Användning Växelproblemet Kappsäcksproblemet Schemaläggning Färgläggning Handelsresandeproblemet Uppgifter Giriga algoritmer (Greedy algorithms)

Läs mer

Utförliga regler för TRAX

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

Läs mer

DD2458-224344 - 2014-12-19

DD2458-224344 - 2014-12-19 KTH / KURSWEBB / PROBLEMLÖSNING OCH PROGRAMMERING UNDER PRESS DD2458-224344 - 2014-12-19 Antal respondenter: 26 Antal svar: 18 Svarsfrekvens: 69,23 % RESPONDENTERNAS PROFIL (Jag är: Man) Det var typ en

Läs mer

Programmeringsolympiaden 2018

Programmeringsolympiaden 2018 Programmeringsolympiaden 2018 TÄVLINGSREGLER FÖR SKOLKVALET Tävlingen äger rum på av skolan bestämt datum under fyra timmar. Ingen förlängning ges för lunch eller raster. Eleven ska i förväg komma överens

Läs mer

Uppgift 1 (grundläggande konstruktioner)

Uppgift 1 (grundläggande konstruktioner) Uppgift 1 (grundläggande konstruktioner) a) Skriv ett program som låter användaren mata in 7 heltal och som gör utskrifter enligt nedanstående körexempel. Mata in 7 heltal: 1 0 0 3 1 1 1 Tal nr 2 var en

Läs mer

Handbok Kigo. Sascha Peilicke Översättare: Stefan Asserhäll

Handbok Kigo. Sascha Peilicke Översättare: Stefan Asserhäll Sascha Peilicke Översättare: Stefan Asserhäll 2 Innehåll 1 Inledning 6 2 Hur man spelar 7 2.1 Starta ett spel........................................ 7 2.1.1 Ställ in ett nytt spel.................................

Läs mer

Sagaforms spelregler SCHACK, FIA MED KNUFF, BACKGAMMON, DOMINO

Sagaforms spelregler SCHACK, FIA MED KNUFF, BACKGAMMON, DOMINO Sagaforms spelregler SCHACK, FIA MED KNUFF, BACKGAMMON, DOMINO SCHACK Schack matt När en av motståndarens pjäser hotar kungen säger man att den står i schack. Schack matt - I schack vinner den som först

Läs mer

RemoteBud. Inlämnas: Patrik Johnsson, e01pjo Viktor Karlsson, e01vk

RemoteBud. Inlämnas: Patrik Johnsson, e01pjo Viktor Karlsson, e01vk RemoteBud Inlämnas: 2005-02-01 Patrik Johnsson, e01pjo Viktor Karlsson, e01vk Abstract Skulle du också vilja styra dina lampor och rulla ner dina persienner med hjälp av din TV-fjärrkontroll? Remotebud

Läs mer

Symboler och abstrakta system

Symboler och abstrakta system Symboler och abstrakta system Warwick Tucker Matematiska institutionen Uppsala universitet warwick@math.uu.se Warwick Tucker, Matematiska institutionen, Uppsala universitet 1 Vad är ett komplext system?

Läs mer

Configuration testing Why? Vad det är tänkt att koden ska göra. Performance testing Kommentarer Skriva om koden som kommentar

Configuration testing Why? Vad det är tänkt att koden ska göra. Performance testing Kommentarer Skriva om koden som kommentar Skapa testfall Testing Köra testen Hitta fel Inspections and reviews Verifiera resultatet Formal methods Static analysis Completeness Verifiering Kvalitet Maintainability Validering Traceability Fault

Läs mer

[][] Arrayer med två index

[][] Arrayer med två index [][] Arrayer med två index Exempel på saker med två index: En digital bild: bilden har rader (y) och kolumner (x) Mätdata i en tabell med rader och kolumner Spel: o Schack o Sudoku o Luffarschack Arrayer

Läs mer

2D Potentialen i en nervcell definieras normalt som skillnaden i spänning mellan dess axon och dendrit.

2D Potentialen i en nervcell definieras normalt som skillnaden i spänning mellan dess axon och dendrit. 2D1432 Artificiella Neuronnät och andra lärande system Lösningsförslag till Tentamen 2003-03-06 Inga hjälpmedel. Uppgift 1 Vilka av följande påståenden är sanna? Korrigera de som är fel. 1. Potentialen

Läs mer

Självlärande Othello-spelare

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

Läs mer

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

Spelutveckling - Gameplay. Design och produktion

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

Läs mer

Insamlingsverktyg - teknisk beskrivning av metadataformuläret

Insamlingsverktyg - teknisk beskrivning av metadataformuläret Digitala leveranser Insamlingsverktyg - teknisk beskrivning av metadataformuläret Innehåll: Allmänt Layout och uppbyggnad Hur man använder programmet Starta Fylla i metadata Skapa metadatafiler och leverera

Läs mer

HI1024 Programmering, grundkurs TEN2 2014-03-13

HI1024 Programmering, grundkurs TEN2 2014-03-13 HI1024 Programmering, grundkurs TEN2 2014-03-13 KTH STH Haninge 13.15-18.00 Tillåtna hjälpmedel: En A4 handskriven på ena sidan med egna anteckningar Kursboken C PROGRAMMING A Modern Approach K. N. King

Läs mer

Kombinationer och banor i agilityträningen

Kombinationer och banor i agilityträningen Kombinationer och banor i agilityträningen av Emelie Johnson Vegh och Eva Bertilsson, publicerad i Canis 2012 En av de saker som gör agility så fantastiskt roligt är den ständiga variationen. Ingen tävlingsbana

Läs mer

Uppgift 1a (Aktiekurser utan poster)

Uppgift 1a (Aktiekurser utan poster) Uppgift 1a (Aktiekurser utan poster) Vi har lite olika upplägg i de kurser vi håller och i vissa kurser finns det med något som vi kallar "poster" (eng. "record"). I andra har vi inte med detta. Vi har

Läs mer

Pass 2: Datahantering och datahanteringsplaner

Pass 2: Datahantering och datahanteringsplaner Pass 2: Datahantering och datahanteringsplaner Centrala områden inom datahantering I den här presentationen ska jag ta upp tre huvudsakliga områden inom datahantering och några centrala delar av dessa.

Läs mer

UPPGIFT 1 KANINER. Håkan Strömberg 1 Pär Söderhjelm

UPPGIFT 1 KANINER. Håkan Strömberg 1 Pär Söderhjelm UPPGIFT 1 KANINER Kaniner är bra på att föröka sig. I den här uppgiften tänker vi oss att det finns obegränsat med hannar och att inga kaniner dör. Vi ska försöka simulera hur många kaninhonor det finns

Läs mer

SLUTRAPPORT RUNE TENNESMED WEBBSHOP

SLUTRAPPORT RUNE TENNESMED WEBBSHOP SLUTRAPPORT RUNE TENNESMED WEBBSHOP -05-30 Abstrakt Under 10 veckor har jag och Oskar Norling arbetat med att ta fram en webbshop-applikation till företaget Rune Tennesmed i Kalmar. I denna rapport tänker

Läs mer

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

PROGRAMMERING. Ämnets syfte. Kurser i ämnet PROGRAMMERING Ämnet programmering behandlar hur mjukvaror skapas, anpassas och utvecklas samt programmeringens roll i informationstekniska sammanhang som datorsimulering och praktisk datoriserad problemlösning.

Läs mer

Övningsuppgifter till föreläsning 2 Variabler och uttryck

Övningsuppgifter till föreläsning 2 Variabler och uttryck Sid 1 (5) Övningsuppgifter till föreläsning 2 Variabler och uttryck Syfte Syftet med övningsuppgifterna är att träna på: Aritmetik, variabler, tilldelning, scanf och printf Generellt Diskutera gärna uppgifterna

Läs mer

Bakgrund. Bakgrund. Bakgrund. Håkan Jonsson Institutionen för systemteknik Luleå tekniska universitet Luleå, Sverige

Bakgrund. Bakgrund. Bakgrund. Håkan Jonsson Institutionen för systemteknik Luleå tekniska universitet Luleå, Sverige Är varje påstående som kan formuleras matematiskt*) alltid antingen sant eller falskt? *) Inom Institutionen för systemteknik Luleå tekniska universitet Luleå, Sverige Exempel: 12 = 13 nej, falskt n! >

Läs mer

Anteckningar propp SMT2

Anteckningar propp SMT2 Anteckningar propp SMT2 Lars Åström 11 december 2015 Under proppen ska följande gås igenom: Induktion - dominoeffekten Falluppdelning Extremprincipen Invarians Andra knep som används Induktion Vi använder

Läs mer

Träningsdagbok. Av Erik Stintzing. Inom ämnet Idrott och hälsa

Träningsdagbok. Av Erik Stintzing. Inom ämnet Idrott och hälsa Träningsdagbok Av Erik Stintzing Inom ämnet Idrott och hälsa Indroduktion Jag bestämde mig för att träna på handstående för att det alltid har varit en sport som jag inte riktigt har brytt mig så mycket

Läs mer

Programmering Grundkurs (6H2950) Grundläggande Programmering (6A2001)

Programmering Grundkurs (6H2950) Grundläggande Programmering (6A2001) Programmering Grundkurs (6H2950) Grundläggande Programmering (6A2001) Skrivtid: 8:15-13:15 Datum: Måndagen 2005-03-07 Tentamen består av 7 sidor Hjälpmedel: Förutom dator med installerad Borland C++ 5.02,

Läs mer

Regression med Genetiska Algoritmer

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

Läs mer

Instruktion för laboration 1

Instruktion för laboration 1 STOCKHOLMS UNIVERSITET MATEMATISKA INSTITUTIONEN Avd. för matematisk statistik MD, ANL, TB (rev. JM, OE) SANNOLIKHETSTEORI I Instruktion för laboration 1 De skriftliga laborationsrapporterna skall vara

Läs mer

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!

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

Läs mer

Elevguide till studieteknik

Elevguide till studieteknik Elevguide till studieteknik Pär Leijonhufvud 2018-05-22 I denna guide kan du lära dig ett antal tekniker som tillsammans ger dig mer nytta av den tid du lägger på dina studier. Den är ett sammanfattande

Läs mer

Att spela schack med sexåringar i förskoleklass

Att spela schack med sexåringar i förskoleklass Södertörn högskola Kurs i Schack som pedagogiskt verktyg 7,5 poäng Termin 2016-2017 Jamileh Sarkeshik Att spela schack med sexåringar i förskoleklass 1 Innehåll Bakgrund... 3 Syfte... 4 Metod... 4 Resultat

Läs mer

Olika sätt att lösa ekvationer

Olika sätt att lösa ekvationer Modul: Algebra Del 5: Algebra som språk Olika sätt att lösa ekvationer Cecilia Kilhamn, Göteborgs Universitet och Lucian Olteanu, Linnéuniversitetet Att lösa ekvationer är en central del av algebran, det

Läs mer

Elevguide till studieteknik

Elevguide till studieteknik Elevguide till studieteknik Pär Leijonhufvud, CC-BY-SA 2018 Fler kopior kan laddas ned från https://leijonhufvud.org/filer/studieteknik-elevguide. pdf I denna guide kan du lära dig ett antal tekniker som

Läs mer

Snake. Digitala Projekt (EITF11) Fredrik Jansson, I-12 Lunds Tekniska Högskola,

Snake. Digitala Projekt (EITF11) Fredrik Jansson, I-12 Lunds Tekniska Högskola, Snake Digitala Projekt (EITF11) Fredrik Jansson, I-12 Lunds Tekniska Högskola, 2015-05-18 Oskar Petersen, I-12 Handledare: Bertil Lindvall Abstract Denna rapport beskriver ett projekt där ett klassiskt

Läs mer

F5 Introduktion till digitalteknik

F5 Introduktion till digitalteknik Exklusiv eller XOR F5 Introduktion till digitalteknik EDAA05 Roger Henriksson Jonas Wisbrant På övning 2 stötte ni på uttrycket x = (a b) ( a b) som kan utläsas antingen a eller b, men inte både a och

Läs mer

AGA-regler. goforbundet.se/ Referens: AGA 1991

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

Läs mer

En föräldramanual om läxläsning

En föräldramanual om läxläsning En föräldramanual om läxläsning Martin Karlberg Carola Alm Anja Åhman Carola Åstrand Institutionen för didaktik, Uppsala universitet Denna manual riktar sig till föräldrar som vill ha hjälp med att få

Läs mer

Praktikrapport. Sofia Larsson MKVA12, HT12

Praktikrapport. Sofia Larsson MKVA12, HT12 Praktikrapport Facetime Media är en byrå belägen i Lund som hjälper företag att marknadsföra sig via sociala medier. I nuläget är det främst Facebook som är aktuellt men tanken är att företaget i framtiden

Läs mer

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING Institutionen för Data- och informationsteknik TENTAMEN OBJEKTORIENTERAD PROGRAMVARUUTVECKLING OBS! Det kan finnas kurser med samma eller liknande namn på olika utbildningslinjer. Denna tentamen gäller

Läs mer

TDDB96 Projekt: Object priming med visuell stimuli

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

Läs mer

JavaScript del 5 Funktioner

JavaScript del 5 Funktioner JavaScript del 5 Funktioner När man skriver JavaScriptkod eller program i andra programmeringsspråk för den delen så kan det finnas anledningar till att man vill dela upp sitt stora program i flera mindre

Läs mer

Problemlösning. Veckodagsproblemet Gissa talet Siffersumman

Problemlösning. Veckodagsproblemet Gissa talet Siffersumman Problemlösning Veckodagsproblemet Gissa talet Siffersumman Veckodagsproblemet Vi vill skriva ett program som kan berätta för oss vad det är för veckodag om x dagar. Arbetsgång Förstå problemet Strukturera

Läs mer

Föreläsning 3.1: Datastrukturer, en översikt

Föreläsning 3.1: Datastrukturer, en översikt Föreläsning.: Datastrukturer, en översikt Hittills har vi i kursen lagt mycket fokus på algoritmiskt tänkande. Vi har inte egentligen ägna så mycket uppmärksamhet åt det andra som datorprogram också består,

Läs mer

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

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

Läs mer

Instruktion för laboration 1

Instruktion för laboration 1 STOCKHOLMS UNIVERSITET MATEMATISKA INSTITUTIONEN Avd. för matematisk statistik ANL/TB SANNOLIKHETSTEORI I, HT07. Instruktion för laboration 1 De skrifliga laborationsrapporterna skall vara skrivna så att

Läs mer

Funktioner. Räta linjen

Funktioner. Räta linjen Sidor i boken 14-143, 145-147 Funktioner. Räta linjen Här följer en dialog mellan studenten Tor-Björn (hädanefter kallad TB) och hans lärare i matematik Karl-Ture Hansson (nedan kallad KTH). När vi möter

Läs mer

DUGGA Tentaupplägg

DUGGA Tentaupplägg Tentaupplägg TIPS 1: Läs igenom ALLA uppgifterna. Välj den du känner är lättast först. Det kan gärna ta 10-20 minuter. Försök skriva saker som kan vara problem i uppgifterna. Är det något du absolut kommer

Läs mer

Programmering Grundkurs Laboration 1

Programmering Grundkurs Laboration 1 Programmering Grundkurs Laboration 1 Till kursen Programmering Grundkurs hör fyra obligatoriska laborationer. Detta är Laboration 1 given i period 1, HT 2010 vid KTH STH. Mål: I början av en programmeringskurs

Läs mer