Sammenligning af tre typer neurale netværks indlæringsmetoder. Lasse Dahl Ebert Aarhus Universitet Datalogisk Institut

Størrelse: px
Starte visningen fra side:

Download "Sammenligning af tre typer neurale netværks indlæringsmetoder. Lasse Dahl Ebert 20020867 pulver@daimi.au.dk Aarhus Universitet Datalogisk Institut"

Transkript

1 Sammenligning af tre typer neurale netværks indlæringsmetoder Lasse Dahl Ebert Aarhus Universitet Datalogisk Institut 5. december 2007

2 Resumé Dette speciale analyserer, eksperimenterer med og sammenligner tre indlæringsmetoder til kunstige neurale netværk. Et neuralt netværk kan opfattes som et orakel, der givet en observation kan lave en forudsigelse. Vi tager udgangspunkt i en bestemt type problemer, nemlig dem hvor der er en serie af observationer, før man ved om forudsigelsen er rigtig. Som eksempel kan nævnes backgammon. Der er i backgammon en serie af brætstillinger og kun én forudsigelse: Resultatet af spillet. Backgammon er desuden et godt eksempel, da dette spil er tilpas komplekst, og det derfor er svært at kende den optimale strategi. Vi vil derfor bruge backgammon som praktisk eksempel. Igennem rapporten skal vi se hvordan indlæringsmetoderne mutation, backpropagation og temporal difference learning hver især udvikler et neuralt netværk. Specielt vil vi prøve at genskabe Tesauros TD-Gammon version 0.0, en banebrydende kunstig intelligens til backgammon bygget op om temporal difference learning.

3 Indhold 1 Indledning Introduktion til neurale netværk Introduktion til TD-Gammon Introduktion til backgammon Formålet med dette speciale Termer Opbygning af specialet Temporal Difference Learning Multilayer feedforward-netværk Backpropagation Algortitme for backpropagation Algoritme for træning Temporal difference learning TD(1) TD(λ) Algoritme for TD(λ) Evolution med mutation Framework Klasser i Pulvergammon Pakken player Pakken model Pakken view Træning Netværksstruktur Kommentarer til netværksstrukturen Evalueringsfunktion α-justering Eksperimenter Hvor hurtigt gik det? Hvor gode er spillerne blevet?

4 5.2.1 Den bedste spiller Sammenligning af alle spillerne En menneskelig bedømmelse En anden netværksstruktur Konklusion PulverGammon i fremtiden Tak til Kørsel 41 A Mail sendt til alle testere 42 3

5 Kapitel 1 Indledning Dette speciale er en undersøgelse af og eksperimenter med de kendte metoder til at lære et kunstigt neuralt netværk et komplekst spil som backgammon. Selve indlæringsprocessen er i fokus, hvorimod det er mindre vigtigt, om det handler om backgammon og spil i det hele taget. Specielt vil vi genskabe TD-Gammon version 0.0 [10]. 1.1 Introduktion til neurale netværk Et kunstigt neuralt netværk, her omtalt som et neuralt netværk, er et system, der meget løst modellerer en rigtig hjerne. Et neuralt netværk er en graf af neuroner og orienterede, vægtede forbindelser mellem disse neuroner. Et neuron kan ses som en funktion, der summer alle inputs fra de indgående forbindelser og påfører en funktion til denne sum. Resultatet af dette er så det, som neuronet sender ud af sine udgående forbindelser. På figur 1.1 ses en illustration af et neuron. Det får tre inputværdier fra tre forbindelser med hver sin vægt og outputter en værdi y. Denne er beregnet som y = f( n i=1 x iw i ), hvor f i princippet kan være en vilkårlig funktion. De mest { benyttede funktioner for 0 for x 0 f i neurale netværk er indikatorfunktionen f(x) =, og sigmoidfunktionen f(x) = 1 1+e 1 for x > 1. Begge funktioner har den egenskab, at de begrænser x outputtet til intervallet [0, 1], hvilket ser ud til at være standarden for værdier i neurale netværk. Der er flere slags prototyper for, hvordan et neuralt netværk opbygges. Det vi kommer til at se på i dette speciale, er multilayer feedforward network [2] eller blot layered network. Her er netværket opdelt i lag af neuroner. Alle neuroner i et lag har i denne model en udgående forbindelse til alle neuroner i det næste lag. Det første lag kaldes inputlaget, det sidste lag kaldes outputlaget og alle lag imellem input- og outputlaget kaldes skjulte lag. Når man giver et input til et neuralt netværk, vil hele netværket have et output, som er den samlede mængde af outputs fra neuroner i outputlaget. Man 4

6 Figur 1.1: Et neuron kan tænke på et neuralt netværk som en funktion, der prøver at approksimere en mere kompleks funktion. Som eksempel kan nævnes et neuralt netværk, der tager en backgammonstilling som input og som output approksimerer hvor stor chance den ene spiller har for at vinde. Brugen af en ikke-lineær funktion på outputtet af hvert neuron, som f.eks. sigmoid-funktionen beskrevet ovenfor, gør at outputtet af hele netværket kan være en ikke-lineær kombination af dets inputs. Som beskrevet i artiklen Multilayer feedforward networks are universal approximators [2], kan man med et multilayer-netværk med et tilstrækkeligt antal skjulte neuroner approksimere en vilkårlig funktion til vilkårlig nøjagtighed. Det er altså i princippet muligt at skabe en perfekt backgammonspiller på denne måde. Indlæringsprocessen af et neuralt netværk foregår ved, at man indstiller vægtene i netværket, så netværket giver en bedre approksimation. Der er mange måder, hvorpå man kan ændre vægtene. Vi vil i dette speciale eksperimentere med de tre kendte metoder backpropagation[3], temporal difference learning [6] og mutation [4]. 1.2 Introduktion til TD-Gammon Gerald Tesauros TD-Gammon [10] er et program, der ved hjælp af et neuralt netværk kan lære at spille backgammon. TD står for Temporal Difference Learning som beskrevet af Richard Sutton i artiklen Learning to Predict by the Methods of Temporal Differences [6]. Det der er helt specielt ved TD-Gammon er, at den lærte at spille backgammon på højt plan uden på forhånd at kende nog- 5

7 le af de strategier, som mennesket har udviklet gennem tiderne. TD-Gammon starter simpelthen bare med et neuralt netværk med tilfældige vægte og dermed en tilfældig strategi. Den seneste version af TD-Gammon, version 3.0, spiller på niveau med topeliten af mennesker [7]. TD-Gammon har flere gange forbløffet backgammon-verdenen ved at foreslå træk i backgammon, som indtil da ikke var anset som de optimale træk, men som efter mange simulationer og diskussioner blev den nye spillestil. TD-Gammon har altså ikke kun spillet lige op med mestrene, den har også kunnet lære dem noget. Jeg vil i specialet forsøge at efterligne en mere simpel udgave af TD-Gammon som er dens version 0.0. Denne version er så vidt vi ved udelukkende bygget op om et neuralt netværk. Der er altså ikke sat ekstra funktioner på, såsom at kunne se flere træk frem. 1.3 Introduktion til backgammon Backgammon er et spil med forholdsvis få og simple regler, men samtidig et spil, der er så komplekst at verdensmestrene i spillet nogle gange ændrer opfattelse af, hvad der er korrekt spil. Her opsummeres ganske kort og i få detaljer hvordan backgammon spilles: Backgammon er et spil for to spillere. Hver spiller har 15 brikker fordelt på 24 felter, nummereret 1 til 24. Felterne kan opfattes som værende på én lang række efter hinanden, selv om de normalt er opstillet som på billedet på figur 1.2. På billedet er de sorte og hvide trekanter de normale 24 felter med felt nummer 1 i nederste højre hjørne, felt 12 i nederste venstre hjørne, felt 13 i øverste venstre hjørne og felt 24 i øverste højre hjørne. Grøn rykker mod øverste højre hjørne, rød rykker mod nederste højre hjørne, og brættet hænger sammen i venstre side. Spillerne skiftes til at slå med to terninger og rykke deres brikker. Den ene spiller rykker i retning mod felt 1, mens den anden spiller rykker mod felt 24. Formålet med spillet er at være den første til at få alle brikker til sin egen ende af brættet, for derefter at tage dem af brættet. Hvis en brik står alene på et felt kan den slås hjem af modspilleren, hvis han flytter en af sine brikker til dette felt. Når en brik slås hjem, flyttes den til det specielle felt fængslet, og skal flyttes ud af fængslet før spilleren må flytte nogle af de andre brikker. En brik der flyttes ud af fængslet lander i modstanderens hjemme-område. Altså længst fra, hvor spilleren skal have sine brikker hen. Hvis man vinder i backgammon, får man 1, 2 eller 3 point. 3 point, kaldet backgammon, gives hvis modstanderen stadig har brikker i ens eget hjemmeområde eller i fængsel. Dette sker yderst sjældent blandt gode spillere. 2 point, gammon, gives, hvis modstanderen endnu ikke har rykket brikker af brættet, og 1 point gives i alle andre tilfælde. Der er i backgammon desuden en double-terning. Denne bruges til at fordoble indsatsen nul eller flere gange i løbet af spillet. I eksperimenterne udført i dette speciale vil vi spille uden denne double-terning, da det er en videnskab i sig selv, 6

8 (a) Billedet er lavet i Blender, et opensource 3D-modellerings- og renderingsprogram. Figur 1.2: Et backgammonbræt. hvornår man skal tilbyde og acceptere doubling. Vi har altså udeladt den for at holde det så simpelt som muligt og fokusere på selve indlæringen. For en fuldstændig beskrivelse af reglerne for backgammon henvises til dette website [1]. Backgammon er et spil, der er velegnet til dette speciale af flere årsager. Spillet er simpelt og komplekst, forstået på den måde at det er simpelt at beskrive for en computer, hvilke træk der er lovlige, men det er komplekst at afgøre, hvilket træk der er det bedste. Det er nemt at afgøre, hvilken af flere kunstige intelligenser til spillet, der er den bedste ved at lade dem spille mange spil mod hinanden. Spillet er probabilistisk, hvilket gør at et neuralt netværk, der spiller mod sig selv i en indlæringsproces får set mange forskellige brætstillinger. Dette er vigtigt, da indlæringen derved ikke bliver låst fast i de samme træk. Hvis spillet ikke er probabilistisk, ville man muligvis blive nødt til at tvinge den kunstige intelligens til at eksperimentere lidt med forskellige ryk, som den ikke opfatter som optimale ryk. 1.4 Formålet med dette speciale Som beskrevet i starten af dette kapitel er formålet med dette speciale at sammenligne kendte indlæringsmetoder: 7

9 Formålet med dette speciale er at implementere og sammenligne de tre indlæringsmetoder mutation, backpropagation og temporaldifference learning på den type problemer, hvor udfaldet først er kendt efter en serie af observationer. Som praktisk eksempel bruges backgammon. Vi vil desuden genskabe det matematiske grundlag for backpropagation og temporal difference learning. Jeg vil lægge mest vægt på Suttons metode temporal difference learning [6] som Tesauro bruger i TD-Gammon, da metoden er skræddersyet til denne type af problemer. De to andre metoder kan ses som sammenligningsgrundlag. Tesauro beskriver i artiklen om TD-Gammon [10] den overordnede strategi for hvordan og hvorfor TD-Gammon virker og i en anden artikel [8] beskriver han de generelle praktiske detaljer for temporal difference learning. Dog skriver han ikke noget sted om alle detaljer af selve TD-Gammon, så det er ikke trivielt at genskabe hans program. TD-Gammon har udviklet sig fra version 0.0 til version 3.0 på følgende måde: 0.0 Det neurale netværk får som input den rå brætstilling og intet andet. 1.0 Det neurale netværk får, udover den rå brætstilling, nogle strategiske inputs såsom om brikkerne har passeret hinanden, så det ikke længere er muligt at slå hinanden hjem. 2.0 TD-Gammon ser 2 træk frem. 2.1 Det neurale netværk udvides med flere skjulte neuroner. 3.0 Det neurale netværk udvides igen og TD-Gammon ser nu 3 træk frem. For hver ny version blev TD-gammon tydeligt bedre til at spille backgammon [7]. Vi vil i dette speciale implementere TD-Gammon Termer Der vil i løbet af rapporten blive brugt termer fra backgammon, som alle måske ikke kender. Her er en komplet liste over alle backgammonrelaterede ord i rapporten: Backgammon Udover at spillet hedder backgammon, så kaldes det også backgammon, når en spiller vinder med 3 point. Se afsnit 1.3 Blokade Når en spiller har mindst to brikker på et felt kaldes det en blokade, da modspilleren ikke kan rykke hen til det felt. Brik Hver spiller har 15 brikker, som de kan flytte med. Målet i spillet er at tage alle brikker af brættet. Bræt Brættet er den spilleplade, der spilles på. Et bræt består af 24 felter samt to specielle felter kaldet fængsel og hjem. 8

10 Double-terning Man kan udfordre modspilleren til at spille om det dobbelte antal point ved at benytte double-terningen. Hvis modstanderen afviser, så vinder man automatisk 1 point gange med, hvad double-terningen stod på før. I implementeringen vil vi, for at holde det simplere, ikke bruge double-terningen. Fængsel Fængsel er et specielt felt. Brikker der slås hjem af modstanderen bliver flyttet til fængsel. Gammon Hvis man vinder med 2 point, kaldes dette gammon. Se afsnit 1.3. Hjem Hjem er et specielt felt, hvor brikker der tages af brættet rykker hen. Disse brikker er ikke længere i spil. Når en spiller har alle brikker på hjem-feltet, har han vundet. PPG Points Per Game er en målestok for, hvor god en spiller A er mod en spiller B over flere spil. PPG for A udregnes som differensen mellem A s og B s point delt med antal spil. PPG er altså positiv, hvis man har vundet flere point end modstanderen og negativ, hvis man har tabt flest. I denne rapport bruger vi PPG til at sammenligne spillere. Race-situation Et spil betegnes som værende i race-situation, hvis den ene spillers brikker alle er rykket forbi modspillerens brikker. Der er i så fald ikke længere mulighed for at slå modstanderen hjem, så begge spillere racer mod hjem-feltet uden at skulle tænke på blokader og andre strategier. Runde En runde består af at en spiller kaster med sine terninger og rykker sine brikker. En runde slutter enten hvis spilleren har brugt alle sine træk i henhold til terningerne, eller hvis der ikke findes flere legale træk. Hvis man spiller med double-terningen, kan en spiller vælge at bruge denne, før der slås med terningerne. 1.6 Opbygning af specialet Her er en kort beskrivelse af hver af de resterende kapitler i specialet. Kapitel 2, Temporal Difference Learning beskriver teorien og metoderne i TD. TD er en udvidelse af backpropagation, så backpropagation beskrives først. Til sidst beskriver vi de ideer, der ligger til grundlag for Mutation Kapitel 3, Framework beskriver det framework, der bruges i projektet til at udvikle og teste de neurale netværk. Kapitel 4, Træning beskriver de træningsmetoder, der er brugt. Kapitel 5, Eksperimenter viser resultaterne af træningen. Kapitel 6, Konklusion. Afsluttende konklusion. 9

11 Kapitel 7, Kørsel. Vejledning i hvordan læseren kan spille mod den bedste spiller udviklet i projektet. 10

12 Kapitel 2 Temporal Difference Learning I dette kapitel gøres rede for hvordan TD matematisk fungerer. Jeg tager udgangspunkt i backpropagation og går over i TD, da TD kan ses som en udvidelse eller en udvikling af backpropagation. Dette er altså et rent teoretisk kapitel. Til sidst i kapitlet er nogle få kommentarer til Mutation-metoden. 2.1 Multilayer feedforward-netværk I dette afsnit beskriver jeg termerne i et almindeligt multilayer feedforwardnetværk, herefter blot betegnet som netværk. Netværket kan ses som en orienteret graf med vægtede kanter. Hvert neuron i netværket er en knude i grafen. Netværket består af flere lag af neuroner; et inputlag, nul eller flere skjulte lag og et outputlag. Mængden af neuroner i inputlaget betegnes I og mængden af neuroner i outputlaget betegnes O. Alle neuroner i inputlaget og de skjulte lag har en kant til alle neuroner i det næste lag. Vægten på kanten mellem neuron j og neuron i betegnes w ji. Netværket får som input en vektor x og giver som output en vektor y. Alle neuroner j i netværket har et output o j. For neuronerne i inputlaget gælder det, at outputtet er lig det tilsvarende input til netværket. For alle andre neuroner gælder j / Input : o j = sig (z j ) hvor sig er sigmoidfunktionen sig(x) = 1 1+e og z x j = i fi(j) w ijo i er den vægtede sum af alle inputs til neuronet. Her er fi(j), fan-in, mængden af neuroner i laget før j, altså dem der har en kant til j. Mængden af neuroner i næste lag kaldes f o(j), fan-out. Sigmoidfunktionen har denne egenskab for dens afledede: sig(x) x = sig(x)(1 sig(x)), hvilket vi kommer til at bruge i beregningerne i dette kapitel. Outputtet af netværket er den samlede mængde af outputs fra neuroner i outputlaget. 11

13 2.2 Backpropagation Backpropagation [3] er en metode til at justere vægtene i et neuralt netværk, således at outputtet y af et bestemt input nærmer sig en ønsket værdi q. Et klassisk eksempel er, at man vil bruge et neuralt netværk til at genkende bogstaver i et billede. Billedet af bogstavet bliver kodet til nogle inputværdier, og netværket giver en outputværdi. Hvis denne outputværdi ikke stemmer overens med den ønskede outputværdi, altså det rigtige bogstav, så justerer man vægtene i netværket ved at propagere fejlen tilbage til alle neuroner i netværket. Denne metode har vist sig meget effektiv til mange virkelige problemer. Her følger den matematiske baggrund for backpropagation-algoritmen. Fejlen i outputværdien betegnes E, og vi vil gerne bruge denne til at beregne den værdi vi skal justere vægtene med w ij for alle vægte i netværket. w ij er E propertional til w ij [5], så vi kan skrive: w ij = α E w ij, α > 0 hvor α er en konstant, også kaldet indlæringsraten. Da z j er en funktion af w ij kan vi bruge kædereglen: w ij = α E w ij = α E z j = α E z j = α E z j o i z j w ij w ij k fi(j) w kj o k Bemærk at E z j kun er afhængig af, hvilket neuron vi kigger på, ikke af hvilken vægt, vi opdaterer. Vi definerer derfor δ j = E z j, så vi får w ij = αδ j o i Vi skal altså nu beregne δ j for alle neuroner i netværket. Vi starter med neuronerne i outputlaget. Fejlen kan beregnes som E = 1 (q k o k ) 2 2 k O Da o k for alle k j er uafhængig af w ij kan vi udelade disse i summen og kun kigge på k = j 12

14 δ j = E z j = z j 1 2 (q j o j ) 2 = o j 1 2 (q j o j ) 2 o j z j = (q j o j ) o j z j = (q j o j ) sig(z j) z j = (q j o j )(1 sig(z j ))sig(z j ) = (q j o j )(1 o j )o j Alle disse værdier er kendte, så vi er nu færdige med at beregne δ j for neuronerne i outputlaget. Nu til neuronerne i de skjulte lag. For disse kan vi ikke bruge q, da denne på en anden måde. Da E er en funktion af z k for alle k fo(j) og disse z k alle er en funktion af z j kan vi bruge kædereglen således skal sammenlignes med outputtet af netværket, så vi må finde δ j = E z j δ j = E z j = k fo(j) E z k z k z j Vi bemærker, at o j er en funktion af z j og bruger kædereglen igen δ j = k fo(j) Disse tre led kan udregnes hver især: E z k z k z j = k fo(j) E z k z k o j o j z j E = δ k pr. definition z k z k = w ik o i = w jk o j o j i fi(k) o j = sig(z j) = sig(z j ) (1 sig(z j )) = o j (1 o j ) z j z j Ved at indsætte disse får vi: δ j = k fo(j) E z k z k o j o j z j 13

15 = k fo(j) = o j (1 o j ) δ k w jk o j (1 o j ) k fo(j) δ k w jk Hvis vi beregner δ j baglæns i netværket, altså starter med outputlaget og derefter de skjulte lag i rækkefølge fra sidste til første, så kender vi også alle værdierne i denne formel, da vi skal bruge δ k hvor k fo(j). Vi kan altså nu beregne δ j for alle neuroner og dermed w ij for alle vægte Algortitme for backpropagation Med de beskrevne metoder til at udregne w er vi nu parate til at stille en algoritme op for backpropagation, givet at vi kender den ønskede værdi q: 1. Aktivér neuronerne i inputlaget med det givne input til netværket. o j sættes for disse neuroner til det tilsvarende input. ( ) 2. Udregn o j = sig i fi(j) w ijo i for alle neuroner i de resterende lag i rækkefølge fra første skjulte lag til outputlaget. 3. Udregn δ j = o j (1 o j )(q j o j ) for alle neuroner i outputlaget. 4. Udregn δ j = o j (1 o j ) k fo(j) δ kw jk for alle neuroner i de resterende lag i rækkefølge fra sidste skjulte lag til første skjulte lag. Der skal ikke udregnes δ for neuroner i inputlaget, da disse ikke har indgående forbindelser og altså ingen vægte at justere. 5. Juster alle vægte w ij med w ij = αδ j o i Dette er altså den kendte metode til at opdatere vægtene i et neuralt netværk. Men hvordan bruger vi dette til at træne et neuralt netværk i at spille backgammon? Algoritme for træning Vi bruger netværket som evalueringsfunktion for en given brætstilling. Brætstillingen kodes til input til netværket og outputtet tolkes på en måde, så man kan afgøre, hvilken af to brætstillinger der er bedst. På den måde kan man med et givent terningeslag vurdere alle lovlige træk og vælge det bedste. Outputtet kunne f.eks. tolkes som hvids chance for at vinde. På den måde vil spiller hvid vælge den største værdi og spiller sort vælge den laveste værdi. For at bruge backpropagationalgoritmen til at opdatere vægtene har vi brug for et træningssæt bestående af mange par af observationer og ønskede ouputs. Vi har en masse observationer, brætstillingerne, men vi kender kun det ønskede output for den sidste brætstilling i hvert spil, da vi der kender udfaldet af 14

16 spillet. Hvad hvis vi bruger dette ønskede output som ønsket output for alle observationer gennem spillet? For at tænke over dette så lad en brætstilling være givet hvor spillet er helt lige. Med denne brætstilling som udgangspunkt, vinder den ene spiller halvdelen af gangene, og den anden spiller vinder halvdelen af gangene. Når vi justerer netværket med denne brætstilling som input, justerer vi altså mod den enes sejr halvdelen af gangene og mod den andens sejr resten af gangene. Intuitivt burde det gå lige op, og netværket vil forhåbentligt til sidst give et output der indikerer en helt lige stilling. Vi mener derfor det er rimeligt at bruge det endelige resultat af et spil som ønsket output for alle brætstillinger gennem spillet. Træningsmetoden for backpropagation er derfor således: 1. Initialisér et netværk med tilfældige vægte 2. Start et backgammonspil 3. For hvert terningekast bestemmes alle lovlige træk, og det bedste bliver valgt ved at bruge netværket som evalueringsfunktion 4. Den valgte nye brætstilling gemmes i en liste med alle brætstillinger i spillet 5. Når spillet er slut, defineres q 6. For hver gemt brætstilling køres backpropagationalgoritmen med q som ønsket output 7. Gå til Temporal difference learning Problemstillingen fra backpropagation i afsnit 2.2 om at bruge det endelige resultat som ønsket output for alle brætstillinger fører til temporal difference learning også kaldet TD(λ)-algoritmen. TD(λ) tildeler hver observation en vigtighedsgrad sådan at de observationer der findes tidligt i sekvensen ikke er med til at ændre netværket så meget som observationer sidst i sekvensen. På den måde vil de sene brætstillinger, hvor udfaldet er næsten sikkert have stor indflydelse og de tidlige brætstillinger, hvor udfaldet ofte er mere åbent have lille indflydelse. Dette passer godt sammen med, at de tidlige brætstillinger justeres i flere retninger, som beskrevet ovenfor. Vi beskriver TD-algoritmen i to skridt: Først beskrives specialtilfældet TD(1) og dernæst udvider vi til den mere generelle TD(λ). 15

17 2.3.1 TD(1) Vi laver lidt om i variabelnavnene i forhold til sidste afsnit, da vi nu har at gøre med en ordnet liste af observationer eller brætstillinger: Sekvensen af observationer hedder x 1, x 2, x 3,..., x m. Outputtet af netværket for x t kaldes y t. Vægtene i netværket til tid t kaldes w t ij Outputtet af neuron j til tid t kaldes o t j På samme måde tilføjes et tids-indeks til alle de resterende variable. Vi starter med at udregne wij t på en lidt anden måde end ved backpropagation. Vi bruger igen at w t ij = α Et w t ij Fejlen E t afhænger af alle outputs fra neuronerne i outputlaget og disse afhænger hver især af w ij, så vi bruger kædereglen således: Fejlen udregnes igen som w t ij = α Et w t ij Denne indsættes i udregningen: E t = 1 2 w t ij = α k O = α k O = α k Outputs ( qk o t 2 k) k O E t o t k o t k o t k wij t 1 2 k O E t o t k o t k wij t ( qk o t k ) 2 o t k w t ij Da (q k o t k )2 kun er afhængig af de o t k hvor k = k kan vi udelade k -summen og kun beregne den for o t k : w t ij = α k O = α k O o t k o t k k O ( qk o t k = α k O(q k o t k) ot k w t ij ( qk o t k ) 2 o t k w t ij ) 2 o t k w t ij 16

18 Idet vi definerer o m+1 k til at være q k kan vi lave følgende substitution: q k o t k = som indsættes i formlen for w t ij : m n=t ( o n+1 k o n ) k wij t = α k O(q k o t k) ot k wij t m = α k O n=t ( o n+1 k o n ) o t k k wij t Den samlede ændring i vægt w ij over alle observationer kan udregnes som summen af alle w t ij : w ij = m t=1 w t ij m m ( = α o n+1 k = α = = t=1 k O n=t m n n=1 t=1 k O m ( o n+1 k α n=1 k O m α ( o t+1 k t=1 k O ( o n+1 k o n ) o t k k wij t o n ) o t k k wij t o n ) n k t=1 o t ) t k p=1 o t k wij t o p k w p ij Vi kan nu regne tilbage til w t ij ved at fjerne den yderste sum: w t ij = α k O ( o t+1 k Bemærk to ting ved denne formel for w t ij : o t ) t k p=1 o p k w p ij 1. Den er udregnet efter de samme antagelser som den ved backpropagation. Denne metode gør altså præcis det samme. 2. Kun ved t = m, altså ved det sidste skridt, skal vi bruge q for at beregne wij t. Vi kan altså ændre vægtene i netværket for hver ny brætstilling i spillet og få samme resultat som ved backpropagation, hvor vi skal gemme 17

19 alle brætstillingerne og ændre vægtene til sidst. Bemærk at vi med denne metode stadig skal gemme information fra en observation til den næste, men vi skal ikke længere gemme en liste af observationer. Vi skal se senere i dette afsnit, hvordan den gemte information kan opdateres løbende. Man kan sige at summen t p=1 de tidligere inputs til netværket. o p k w p ij fra formlen husker, hvad der skal gøres ved TD(λ) Det specielle ved TD(λ)-algoritmen er, at den kan vægte vigtigheden af en observation i forhold til, hvornår den skete. I TD(1) i forrige afsnit bliver netværket ændret lige meget for hver observation. Med TD(λ) vægter vi observationerne eksponentielt, sådan at observationer der er k gamle kun bliver vægtet λ k for 0 λ 1: w t ij = α k O ( o t+1 k o t ) t k p=1 λ t p op k w p ij Bemærk at for λ = 1 får vi samme formel som ved TD(1), deraf navngivningen. Vi vil nu udregne alle de størrelser, der skal til for at kunne beregne wij t. Vi definerer en ny variabel e t ijk til at være så vi kan udtrykke w t ij som e t ijk = t p=1 w t ij = α k O λ t p op k w p ij ( o t+1 k o t k) e t ijk Vi ønsker at udregne e t ijk e t+1 ijk = løbende, så vi udregner her et+1 ijk t+1 λ t+1 p op k w p ij p=1 = ot+1 k w t+1 ij + t p=1 λ t+1 p op k w p ij = ot+1 k w t+1 + λe t ijk ij = ot+1 z t+1 k j z t+1 j w t+1 + λe t ijk ij = ot+1 k z t+1 j o t+1 i 18 + λe t ijk ved hjælp af et ijk

20 hvor vi definerer δ jk = ot k z t j så vi får e t+1 ijk = λet ijk + δ t+1 jk ot+1 i Vi skal altså nu udregne δik t for alle neuroner i for alle outputneuroner k. Bemærk at δik t ikke er den samme variabel som δ j i backpropagation. Vi deler op i 3 tilfælde: Hvis i O og i k: δ t ik = ot k z t i Hvis i O og i = k = 0, da z t i ikke har indflydelse på o t k δ t ik = ot k z t i = ot k z t k = o k (1 o k ) Hvis i er et neuron i de skjulte lag, bruger vi kædereglen for at komme frem til nogle størrelser, vi kender. Dette minder meget om nogle af udregningerne i backpropagation. δ t ik = ot k = = = z t i j F O(i) j F O(i) j F O(i) = o t i(1 o t i) o t z k j t zj t zi t o t z k j t yi t zj t yi t zi t δ t jkw t ijo t i(1 o t i) j F O(i) δ t jkw t ij Vi kan altså nu beregne alle de størrelser, der skal til for at ændre vægtene vha. TD(λ)-algoritmen. 19

21 2.3.3 Algoritme for TD(λ) 1. Aktivér neuronerne i inputlaget med det givne input til netværket. o j sættes for disse neuroner til inputtet. ( ) 2. Udregn o t j = sig i fi(j) wt ij ot i for alle neuroner i de resterende lag i rækkefølge fra første skjulte lag til outputlaget. 3. Udregn δjk t = ot j (1 ot j ) for alle neuroner i outputlaget hvor j = k. De restrende δjk t i outputlaget sættes til Udregn δ t ik = ot i (1 ot i ) j fo(i) δ jkw ij for alle neuroner i de resterende lag i rækkefølge fra sidste skjulte lag til første skjulte lag. 5. Udregn e t ijk = λet 1 k ijk +δt jk ot i 6. Juster alle vægte w t ij med wt ij = α k O for alle forbindelser ij for alle outputneuroner ( o t+1 k o t k) e t ijk Træningsalgoritmen er den samme som for backpropagation, på nær at man justerer vægtene ved hver ny brætstilling. 2.4 Evolution med mutation Inspireret af artiklen Co-Evolution in the Successful Learning of Backgammon Strategy[4] af Pollack og Blair er den tredje indlæringsmetode, vi vil implementere, simpel mutation. Dette skal forstås som et sammenligningsgrundlag, for at se om det er TD-algoritmen, der virker godt eller, som Pollack og Blair antyder, at det er nogle specielle spilmæssige ting i backgammon der gør, at det virker. Pollack og Blair tester denne hypotese ved at træne et neuralt netværk i backgammon ved hjælp af simpel mutation. De starter med en mester som har alle vægte sat til nul. Denne mester mutereres lidt og mutanten spiller et antal spil mod mesteren. Hvis mutanten vinder, justeres mesteren i retning af mutanten. Pollack og Blair mener at have vist deres hypotese med de resultater, de kommer frem til. Vi vil forsøge at skabe en god backgammonspiller ved hjælp af nogle af de samme ideer som Pollack og Blair, dog med lidt forskelle: Pollack og Blair lader mesteren spille et antal spil mod mutanten. Hvis mutanten vinder mere end halvdelen af spillene, justeres mesteren i retning af mutanten. Dette mener vi er en forkert fremgangsmåde, da det i backgammon ikke gælder om at vinde flest spil, men at vinde flest point. Vi vil derfor lade pointene tælle frem for antal vundne spil. Pollack og Blair muterer mesteren med gaussisk støj af fast størrelse til trods for, at vægtenes absolutte størrelse ændres. Vi vil normalisere vægtene efter hver ændring af mesteren, sådan at alle vægte er i intervallet [ 1; 1]. Dette sikrer, at en tidlig justering ændrer netværket lige så meget som en sen justering. Vi normaliserer dog kun, hvis mindst én vægts absolutte værdi er større end 1, da de tidlige ændringer i netværket ellers ville få meget stor indflydelse. 20

22 Kapitel 3 Framework Til dette projekt har vi brug for et framework, hvor computerspillere kan kobles til og spille mod hinanden, og hvor et menneske kan spille mod en computerspiller. At computerspillere skal kunne spille mod hinanden er åbenlyst, da vi derved kan træne dem samt teste, hvor gode de er i forhold til hinanden. At et menneske skal kunne spille mod en computerspiller er ikke nødvendigt for projektet, men giver blot en god ide om, hvilke taktikker spilleren har udviklet. Dette er altså ikke særlig videnskabeligt, men giver måske nogle hints til, hvad der er godt og skidt i udviklingen af en spiller. Vi har til formålet udviklet frameworket PulverGammon. Læseren kan afprøve PulverGammon som kan hentes i en jar-fil. Se mere om dette i kapitel Klasser i Pulvergammon På figur 3.1 ses klassediagrammet for PulverGammon. Det er designet til, at man nemt kan skrive nye spillere og sætte dem ind Pakken player Pakken player indeholder klasser der repræsenterer backgammonspillere. Alle klasser i pakken implementerer interfacet Player. Der findes i PulverGammon to typer spillere; computer- og menneskespillere. Menneskespillere er repræsenteret i klassen HumanPlayer og computerspillere er repræsenteret i den abstrakte klasse AIPlayer. Når man skriver en ny computerspiller, skal den altså udvide AIPlayer. Alle computerspillere fungerer ved, at de ud fra terningerne finder alle de mulige backgammonstillinger, man kan flytte til. Den vurderer så hver af disse stillinger med metoden score og vælger den bedst mulige stilling at flytte til. Hvis flere stillinger deles om førstepladsen, tager den en af disse tilfældigt. En computerspiller er altså blot repræsenteret ved metoden score. 21

23 Figur 3.1: Klassediagram for PulverGammon Der er allerede implementeret nogle computerspillere, som kan bruges til at sammenligne med de tre neurale netværk, vi vil implementere i projektet: Pubeval er en Java-implementering af Tesaurus Pubeval [9]. Tesauro beskrver Pubeval som en god middelklasse-spiller. Pubeval er udviklet netop for at folk, der skriver kunstige intelligenser til backgammon, kan sammenligne med Pubeval. RandomAI returnerer altid 0 i metoden score. Dette bevirker, at alle stillinger deles om førstepladsen, og der vælges en tilfældig af disse. Simple_001 har kun én taktik; at få så mange blokader som muligt. Det er velkendt i simpel backgammonstrategi, at det ofte er bedre at have blokader end frie brikker, da det både gør, at man ikke kan slås hjem og at modstanderen ikke kan rykke til feltet med blokaden. Simple_002 er en udvidelse af den forrige ved, at den også fokuserer på at blokaderne er i sammenhæng med hinanden. Dette gør det sværere for modstanderen at komme forbi blokaderne. Simple_003 gør det samme som toeren, men har en anden taktik i slutspillet, når det ikke længere er muligt at slå hjem. Her er det ikke længere nødvendigt at have blokader. I stedet skal man fokusere på at få brikkerne af brættet hutigst muligt. 22

24 PPG over spil RndAI Simple Pubeval RandomAI - -1,57-2,50 Simple_003 1, ,37 Pubeval 2,50 1,37 - Tabel 3.1: Sammenligning af de tre spillere i PulverGammon De tre simple-spillere er ikke så forskellige i spilleevne, dog er det klart, at Simple_003 klarer sig bedst. Jeg vil derfor kun bruge denne samt RandomAI og Pubeval til at sammenligne med. På tabel 3.1 ses en sammenligning af disse tre. Som målestok bruger jeg PPG, Points Per Game, der normalt bruges til at sammenligne spillere i backgammonverdenen. Man er tydeligt bedre end en anden spiller, hvis man kan vinde med mindst ca. 0,2 PPG. Det ses af tabellen, at der er kæmpe forskel på de tre spillere. Simple_003 vinder stort over RandomAI, og Pubeval vinder stort over Simple_003. Forskellen mellem spillerne gør dem til udmærkede sammenligningsgrundlag i dette speciale Pakken model Pakken model indeholder de klasser, der repræsenterer selve backgammonspillet, som f.eks. brættet og terningerne. BoardModel repræsenterer backgammonbrættet. Denne klasse har metoder til at flytte brikker og evaluerer om træk er lovlige. DiceModel repræsenterer to terninger. Denne klasse bruger en pseudorandom Java-generator til at kaste terningerne. Game repræsenterer, som navnet antyder, et spil backgammon. Et spil består af et bræt, nogle terninger og to spillere. Game har en metode play, som udfører et helt spil med de to spillere. GameListener er et interface, der gør det muligt for klasser at registrere sig som listener på et spil. Dette er både brugt af den grafiske brugerflade, som skal have opdateringer og af HumanPlayer, der skal vide, hvornår turen er slut. Beskeder om opdateringer af spiller sendes som GameState- ChangeEvent Pakken view Pakken view indeholder klasser, der grafisk viser et backgammonspil. Den er implementeret i javax.swing. Klassen GameGUI er hovedklassen i pakken. GameGUI udvider javax.swing.jframe og er således et vindue. I vinduet vises brættet, to par terninger og spillernavne på de to spillere. Vi bruger et lytterinterface mellem view og model, sådan at klasserne i view får besked fra model, hver gang der sker noget, der skal opdateres på brugergrænsefladen. 23

25 Figur 3.2: Skærmbillede af PulverGammon på Mac OS X BoardGUI gør det også muligt for en menneskespiller at bruge træk-og-slip på brikkerne for at rykke. På figur 3.2 ses et skærmbillede af PulverGammon. 24

26 Kapitel 4 Træning Der er stor forskel på, hvor gode de neurale spillere bliver alt efter, hvordan man træner dem. Vi har derfor brugt en blanding af egne eksperimenter og de tilgængelige artikler til at bestemme, hvorledes træningen skulle foregå. Det første man skal beslutte som træner er strukturen af netværket. Her betegner netværksstruktur både hvor mange neuroner der er i hvert lag af netværket samt hvordan input og output bliver kodet. Især kodningen af inputtet samt antallet af skjulte neuroner ser ud til at have stor indflydelse. 4.1 Netværksstruktur Vi bruger netværksstrukturen fra Tesuaros TD-Gammon 0.0, som består af 198 inputneuroner, 40 skjulte neuroner og 4 outputneuroner. En illustration af netværksstrukturen kan ses på figur 4.1. Inputtet bliver kodet således: For hver spiller bliver de 24 normale felter kodet med 4 inputs. Ialt 192 inputs: Første input sættes til 1 hvis der er mindst 1 brik af spillerens farve på feltet Andet input sættets til 1 hvis der er mindst 2 brikker af spillerens farve på feltet Tredje input sættes til 1 hvis der er mindst 3 brikker af spillerens farve på feltet Fjerde input sættes til (n 3)/2 hvis der er n 4 brikker af spillerens farve på feltet Hver spillers fængsel kodes med 1 input som sættes til n/2, hvor n er antal brikker, som spilleren har i fængsel. Ialt 2 inputs. 25

27 Figur 4.1: Et neuralt netværk med 198 inputneuroner, 40 skjulte neuroner og 4 outputneuroner Hver spillers hjem kodes med 1 input som sættes til n/15, hvor n er antal brikker, som spilleren har rykket hjem. Ialt 2 inputs. De sidste to inputs kodes som 01, hvis det er hvids tur til at kaste terningerne, og 10 hvis det er sorts tur. De 4 outputs af netværket tolkes således: Første output tolkes som chancen for, at hvid vinder Andet output tolkes som chancen for, at sort vinder Tredje output tolkes som chancen for, at hvid vinder med gammon eller backgammon Fjerde output tolkes som chancen for, at sort vinder med gammon eller backgammon Kommentarer til netværksstrukturen Der er nogle interessante ting at bemærke ved Tesuaros netværksstruktur. Hvis vi først kigger på, hvordan inputtet kodes, bemærkes det, at der ikke gives nogle strategiske inputs overhovedet. Kun den rå brætstilling er repræsenteret. Dette er vigtigt for projektet, da det er meningen, at de neurale netværk skal trænes uden anden hjælp end selve træningen. Vi ser også, at Tesauro har normaliseret inputværdierne til mellem 0 og 1, hvilket også er det interval, outputtet af hver neuron ligger i. Det ser ud til at være standard i neurale netværk, at man 26

28 forsøger at holde inputværdierne mellem 0 og 1. Dette er, så vidt vi ved, blot en formalitet. Hvis vi kigger på det skjulte lag, bemærker vi først, at der kun er ét skjult lag. Man kunne godt forestille sig, at det måske ville give en større spillestyrke at have flere skjulte lag. Tesauro valgte i TD-Gammon 0.0 at have 40 skjulte neuroner. Han har dog vist, at med flere skjulte neuroner kan man lave stærkere spillere [8]. Et netværk med 80 skjulte neuroner viste sig at klare sig bedre end det samme netværk bare med færre neuroner. Outputtet virker måske lidt ulogisk. Der er et output, der angiver chancen for at hvid vinder og et andet output, der angiver chancen for, at sort vinder. Ville man ikke bare kunne nøjes med den ene og så udregne den anden? Jo, det ville man kunne. Tesauro har måske bygget outputtet på denne måde for at have et bedre grundlag for at studere vægtændringerne i netværket. Outputtet giver ikke mulighed for at skelne mellem gammon og backgammon. Tesauro forklarer dette ved at backgammon sker så sjældent, at det ikke er nødvendigt at kode det selvstændigt. 4.2 Evalueringsfunktion Med en given netværksstruktur skal vi finde en måde at udregne det tal, som metoden score skal returnere. Hvis der kun er ét output af netværket, og dette tolkes som hvids chance for at vinde, så er det trivielt at lave score. Med Tesauros struktur har vi fire outputs. Tesauro beskriver ikke, hvordan han laver sin evalueringsfunktion med disse outputs. De fire outputs var har er sandsynligheden for at hhv. hvid og sort vinder og sandsynligheden for at hhv. hvid og sort vinder med gammon. Vi kan udregne det forventede antal point for den ene spiller med disse sandsynligheder. Hvis vi i første omgang ser bort fra at man kan vinde med gammon, så er hvids forventede antal point lig Pr(hvid vinder) Pr(sort vinder) da man vinder 1 point når man vinder. Da det giver 2 point at vinde med gammon, altså 1 point mere, kan vi bruge denne formel for at udregne hvids forventede antal point: Pr(hvid vinder)+pr(hvid laver gammon) Pr(sort vinder) Pr(sort laver gammon) For at udregne sorts forventede antal point skifter man selvfølgelig bare fortegn. Vi har altså nu en fornufitg evalueringsfunktion med det givne netværk. 4.3 α-justering Vi har følgende parametre at skrue på: For backpropagation har vi α 27

29 For TD har vi α og λ For mutation har vi α og mutationsfaktoren Vi har valgt at fastholde λ = 0, 7 da det er den værdi Tesauro bruger. Mutationsfaktoren fastholder vi på 0, 05 da det er værdien brugt af Pollack og Blair. Derimod vil vi for alle tre algoritmer variere α. For alle algoritmerne kan α opfattes som indlæringsraten, altså hvor meget netværket justeres. En meget brugt metode er at starte med en høj α og gradvist mindske den, da netværket i starten skal indstilles groft og senere finindstilles. Der er dog en del valg, der skal foretages med denne metode: Hvad skal startværdien være? Hvornår skal α mindskes? Hvor meget skal α mindskes? I nogle af de tidlige eksperimenter forsøgte vi med forskellige værdier af α mellem 0, 05 og 0, 5. Resultatet blev for alle tre indlæringsmetoder at en lavere α gav en bedre backgammonspiller, men desværre mindskes hastigheden af indlæringen tilsvarende. Det vil derfor være oplagt at mindske α når netværket ikke kan lære mere med det nuværende α. Vi skal derfor teste, hvor meget netværket har lært det sidste stykke tid og mindske α hvis netværket ikke er blevet bedre. Vi kan ikke bare teste netværket mod en yngre udgave af sig selv, og hvis den taber så mindske α, da det netværk vi tester kan være uheldigt at være blevet dårligere, end de netværk umiddelbart før. Vi tager derfor et gennemsnit af sådanne tests. Vi gør dette ved for hvert 1000 spil at lade netværket spille mod det samme netværk, bare spil yngre. Disse to spiller 200 spil mod hinanden og der gemmes hvor mange points den gamle har flere end den unge. Hvis summen af 25 af sådanne point i træk er mindre end nul, så mindsker vi α. Vi starter med α = 0, 25, da det gennem vores tidlige eksperimenter ser ud til at være en tilpas høj indlæringsrate. Når vi mindsker α virker det passende at gøre α halvt så stor for hvert skridt. Af praktiske årsager vil vi dog gerne have at α er et pænt tal med ikke alt for mange decimaler, så vi har valgt at α følger denne udvikling i størrelse: 0,25-0,1-0,05-0,025-0,01-0,005-0,0025-0,001. Nu mangler der kun en problemstilling: Hvornår stopper træningen? Vi vil helst ikke stoppe træningen, hvis netværket bliver bedre, hvis vi ikke stopper. På den anden side vil vi ikke lade netværket træne i en uendelighed med håb om, at det bliver bedre. Vi vil derfor vurdere for hver træning, hvornår den skal stoppes ved bl.a. at teste den mod andre spillere. 28

30 Kapitel 5 Eksperimenter Vi gennemførte træningen med metoden beskrevet i sidste afsnit og gemte en kopi af de neurale netværk for hvert 1000 spil. Vi har derfor nu tre puljer af spillere, én for hver indlæringsmetode. De tre indlæringsmetoder brugte mellem og spil på at gennemføre træningen. TD-algoritmen brugte færrest spil og afsluttede træningen på lidt over spil. Både Mutation og Backpropagation brugte over spil inden træningen blev afsluttet. Det var forventet, at TD-algoritmen ville lære hurtigere end Backpropagation, pga. den måde Backpropagtion justerer netværket på. Vi vil i dette kapitel måle to faktorer ved træningen: Hvor gode er spillerne blevet, og hvor hurtigt gik det? Til slut i kapitlet lader vi den bedste spiller der er blevet udviklet i specialet spille mod eliten af danske backgammonspillere. 5.1 Hvor hurtigt gik det? For at måle hastigheden af indlæringen lader vi alle de netværk, der blev gemt for hvert 1000 spil spille mod hver af de tre benchmarks der blev beskrevet i afsnit 3.1.1, RandomAI, Simple_003 og Pubeval, og udregner Points Per Game, eller PPG. Hvert af de gemte netværk spiller 200 spil mod et benchmark og vi tager så gennemsnittet af 10 af sådanne 200 spil og tegner gennemsnittet ind i en graf. Grunden til at vi bruger gennemsnit er, at grafen ellers ville blive ulæselig med alt for store udsving. På figur 5.1 ses en graf for, hvor godt de tre netværk klarer sig mod RandomAI. Det ses, at alle tre meget tidligt vinder stort over RandomAI og ved alle tre glatter kurven ud ved ca. 2,5 PPG. Forskellen på de tre kurver ligger i, hvor mange spil der går, før kurven glatter ud. Ved Mutation går der ca spil, ved Backpropagation ca og ved TD er kurven glattet ud helt fra starten. Dette er faktisk mod vores forventninger, da vi havde regnet med at en metode som Backpropagation, der målrettet indordner sig, skulle klare sig bedre end mutation, som søger tilfældigt rundt. Dette viser Backpropagation-algoritmens 29

31 Figur 5.1: Test mod RandomAI svaghed i denne type problemer, hvor det forventede output først kommer efter mange observationer. Det var forventningen, at TD-algoritmen ville klare sig bedst, men slet ikke så mærkbart som dette. Testen mod Simple_003, som ses på figur 5.2, afslører Mutation-algoritmens svaghed i forhold til Backpropagation. Mutation lærer igen hurtigere i starten, men bliver overhalet af Backpropagation ved ca spil. Dette skyldes, at Mutation-algoritmen ikke bliver meget bedre end ved spil mens Backpropagation slet ikke har nået toppen endnu. Igen er TD overlegen på indlæringstiden. Kurven for TD glatter igen ud allerede fra starten, hvor det først er ved ca spil for Mutation og Backpropagation. Testen mod Pubeval, som ses på figur 5.3, viser næsten samme resultat som testen mod Simple_003. Mutation er bedre end Backpropagation i starten, men bliver overhalet, da den ikke bliver bedre. TD er igen klart den hurtigste til at lære og har næsten nået den maksimale PPG mod Pubeval ved spil. Mutation og Backpropagation når toppen ved hhv spil og spil. Indlæringshastigheden for TD er altså som forventet større end Backpropagation. Det interessante er, at den også lærer hurtigere end Mutation, da vi ikke havde nogen forventninger om dette. Før eksperimenterne var det ikke klart, hvilken af TD og Mutation der ville lære hurtigst, da man sagtens kunne forestille sig at Mutation ikke bliver bedre end TD, men til gengæld når toppen meget hurtigt. Det er ligeledes interessant at Mutation lærer hurtigere end Backpropagation og faktisk er en bedre spiller de første mange spil. 30

32 Figur 5.2: Test mod Simple_003 Figur 5.3: Test mod Pubeval 31

33 Indlæringsmetode Mutation Backpropagation TD Bedste spiller ved spil spil spil Tabel 5.1: Tidspunkt for bedste spiller. Den bedste spiller blev fundet gennem en vind-eller-forsvind-turnering. 5.2 Hvor gode er spillerne blevet? For at finde ud af hvor gode spillerne er blevet, skal vi først finde den bedste spiller for hver indlæringsmetode. Dvs. vi skal finde den bedste af alle de gemte kopier for hver metode. Derefter kan vi sammenligne de bedste spillere med hinanden Den bedste spiller Vi har for hver indlæringsmetode en pulje bestående af mellem 700 og spillere, da vi vi trænede netværkene til spil og gemt en kopi for hvert 1000 spil. Som vi kan se på graferne i afsnit 5.1, er der forholdsvis store udsving i spilleevnen fra en spiller til den lige efter. Det er altså ikke nødvendigvis den ældste spiller der er den bedste. Vi har derfor brug for en metode til at afgøre hvilken af spillerne i en pulje der er den bedste. Den naive måde at finde den bedste spiller på er, at lade alle i puljen spille mange spil mod alle de andre. Den der vinder flest point er med stor sandsynlighed den bedste spiller. Dette ville dog kræve alt for mange spil og for meget tid. Lad os antage at der er spillere i puljen og hver af dem spiller spil mod hver af de andre. Dette kræver ca spil. En hurtig computer kan med det givne framework spille et spil på ca. 40 ms. Hvis man ganger ud, får man at det tager over et halvt år! Vi bliver nødt til at finde en anden metode at finde den bedste spiller på. Vi laver en vind-eller-forsvind-turnering, hvor alle spiller mod hinanden parvist. Når en spiller er bagud med 50 point, ryger den ud af turneringen. Når alle har spillet første runde, begynder den næste og puljen bliver igen halveret. Således fortsætter vi indtil der kun er én spiller tilbage. Det er vores vurdering at det i gennemsnit tager 200 spil før den ene er bagud med 50 point. Med denne type turnering reducerer vi altså antallet af spil til ca hvilket svarer til 2-3 timer på en hurtig computer. Den spiller der bliver valgt som den bedste spiller er stadig med stor sandsynlighed blandt de bedste i puljen. Hvis den ikke er blandt de bedste, så skal den være heldig gennem ca spil, hvilket er meget usandsynligt. Vi mener dette er en fornuftig og hurtig metode til at finde den bedste spiller i hver pulje. På figur 5.1 ses en tabel for hvilke spillere der blev valgt som den bedste spiller for hver indlæringsmetode. 32

34 5.2.2 Sammenligning af alle spillerne Vi har nu at gøre med seks spillere vi vil sammenligne: De tre som er blevet valgt til bedste spiller for hver indlæringsmetode og de tre spillere, der allerede er implemementeret i PulverGammon, og som blev præsenteret i afsnit 3.1.1, RandomAI, Simple_003 og Pubeval. De tre sidsnævnte skal kun opfattes som sammenligningsgrundlag eller benchmark. Som måleenhed bruger vi PPG, Points Per Game, altså det gennemsnitlige antal point en spiller har mere end den anden over flere spil. Vi lod hver spiller spille spil mod hver af de andre og regnede PPG ud fra disse spil. Resultatet af dette kan ses i tabel 5.2. Det ses at TD-algoritmen er den eneste, der kan slå Pubeval som Tesauro beskriver som decent intermediate level of play [9]. Jeg gennemgår her hver af de seks spillere. RandomAI bliver slået stort af alle de andre, hvilket er godt for projektet, da de andre spillere helst skulle være bedre end en spiller, der rykker tilfældigt. Simple_003 taber stort til alle andre end RandomAI. Det er bemærkelsesværdigt at en så simpel spiller som Simple_003 kan vinde så stort over en spiller, der rykker tilfældigt. Pubeval bygger på et lineært neuralt netværk, men er til trods for det en god spiller i forhold til de andre. Den taber kun mod TD og med en PPG på -0,26. Til sammenligning kan en søgning på forskellige internetforums afsløre at de bedste backgammonprogrammer spiller ca. 0,75 PPG mod Pubeval. Mutation klarer sig lige så godt som de andre indlæringsmetoder mod RandomAI. Den slår stadig Simple_003 stort, men slet ikke lige så stort som Pubeval, Backpropagation og TD. Mod disse tre klarer RandomAI sig meget dårligt med ca. -1 PPG. Backpropagation klarer sig godt i denne test i betragtning af, at algoritmen ikke er designet til at træne netværket med en serie af observationer og kun ét forventet output i slutningen. Backpropagation taber mod Pubeval, men kun med -0,18 PPG. TD er klart den bedste af disse spillere. Den vinder med 0,26 PPG over Pubeval, hvilket viser et rimeligt forspring. Den vinder stort over de fire andre. Det er næsten klart at TD ville vinde over Backpropagation, da TD er skabt til denne type problemer med flere observationer før et resultat, men TD klarer sig endnu bedre mod de andre spillere. 5.3 En menneskelig bedømmelse TD-metoden var helt klart bedst af de tre indlæringsmetoder til at træne et netværk i at være en backgammon-evalueringsfunktion. Det kan dog være svært 33

35 PPG over spil RndAI Simple Pubeval Mutation Back TD RandomAI - -1,57-2,50-2,58-2,63-2,57 Simple_003 1, ,37-0,82-1,35-1,46 Pubeval 2,50 1,37-0,91 0,18-0,26 Mutation 2,58 0,82-0, ,80-1,14 Backpropagation 2,63 1,35-0,18 0, ,53 TD 2,57 1,46 0,26 1,14 0,53 - Tabel 5.2: Sammenligning af alle seks spillere: Den bedste spiller for hver af de tre indlæringsmetoder samt de tre benchmarks implemeneteret i PulverGammon. Måleenheden er Points Per Game, altså det gennemsnittelige antal points som en spiller vinder over en anden. at forholde sig til hvor godt det er, at den kan slå Pubeval med 0,26 PPG. Er det godt eller skidt set fra en backgammonspillers synspunkt? For at få svar på dette har vi brug for hjælp af nogle rigtige backgammonspillere. Med nogle forumindlæg på to internetfora fik vi kontakt med flere backgammonspillere, der gerne ville hjælpe med at spille nogle spil mod den bedste TD-spiller. Testerne fik alle tilsendt den samme med instruktioner til at downloade en Java-pakke med PulverGammon samt nogle spørgsmål, der giver os et indtryk af, hvor gode spillere de er. Java-pakken starter automatisk et spil mellem brugeren og den bedste TD-spiller. Mailen der bev sendt kan ses i appendix A. Her følger uddrag af af de svar jeg fik tilbage. Andreas Andreas er danmarksmester i backgammon 2007 og må således betragtes som elitespiller. Han vandt over TD med scoren 13-5 på 10 spil, hvilket svarer til 0,8 PPG. Andreas siger: Havde ingen problemer med at få applikationen igang. Den grafiske brugerflade virker stabil og fornuftig. Hvad angår programmets spilleevne, så synes jeg at den spillede fornuftigt. Den spiller på begynderniveau, tror jeg. Det er åbenlyst at den ikke kender til gammon/backgammon, hvilket måske gør måden du tæller point på lidt unfair. Jeg havde f.eks. et spil hvor den vælger at lade være at redde backgammon. Andreas har helt ret i at TD ikke kender forskel på gammon og backgammon, der giver hhv. 2 og 3 point. Dette sker pga. netværksstrukturen, hvor gammon kodes på samme måde som backgammon. 34

36 Christian Christian er en elitespiller, der spiller på holdet Kolding. Holdet vandt danmarksmesterskabet i 2005 og sølv i Han vandt over TD med scoren på 22 spil, hvilket svarer til 0,59 PPG. Christian siger: Claus Jeg er sikker på, at botten spillemæssigt mangler en del endnu, før den er at betragte som en god spiller. Som jeg vurderer det, spiller den lidt som en begynder, der spiller meget stift og "sikkert" i forhold til første sekvens (et rul til hver side). Den forstår ikke, at nogle gange betaler det sig at tage en chance mod til gengæld at have en mere fleksibel stilling i de kommende rul. Overordnet set er jeg imponeret over dit program, og det er interessant hvor god en spiller det ville blive med f.eks træningsspil. Claus spiller ikke seriøst backgammon, men betragter sig selv som et godt stykke over middel, dog langt fra eliten. Claus vandt over TD med en score på 7-4 på 10 spil, hvilket svarer til 0,3 PPG. Claus siger: Jeg synes GUI en er fint lavet og spillet flyder fint. Den laver nogle store fejl, når den er langt foran og skal holde spillet lukket, synes jeg det ser ud til. Det er dog et ret pænt niveau den spiller taget i betragtning at du ikke har "lært den spillet". Jeg vil tro at jeg i længden slår den lidt mere end 2 til 1 som de 7-4 angiver, men den kan vist vinde et spil i ny og næ over de fleste. Christian Christian er en stærk spiller som i 2006 blev nr. 2 ved DM. Christian vandt over TD med scoren på 19 spil, altså en PPG på 0,053. Dette er ikke meget, men 19 spil er også få nok spil til at heldfaktoren kan spille ind. Christian siger: Jeg spiller kun mod stærkere bot er som Snowie og her laver din udgave jo en del fejl. Gav mig f.eks. et frivilligt dobbelt-skud hvor den ikke havde behøvet det. Jeg forstod først nu at man kunne vinde gammons (troede det var en række 1-points kampe) så jeg har spillet noget strategi forkert. Synes iøvrigt den var meget heldig et par gange, så hvis der ikke er snyd med i spillet så har jeg bare ramt en unlucky streak (tabte 3 gammons i træk). Har noteret mig i denne periode at når jeg ryger på baren mod 2- eller 3-punktsborde så danser jeg (kommer ikke ud) 35

37 ca. 80% af gangene og det burde snarere være hhv. 11% og 25% af gangene. Michael Michael har vundet BG Cup i 2004 og træner ofte mod Snowie, som er en stærk backgammoncomputer. Michael vandt på 45 spil, hvilket er en PPG på 0,4. Michael siger: Allan Brugerfladen: Den manglende mulighed for at omgøre brikflyt indebærer, at jeg har spillet dårligere end jeg ellers ville have gjort i nogle af spillene. AI en: Den er elendig i bearoff (udtagning), hvor den ofte undlager at tage en brik ud. Den spiller ikke for at undgå at tabe backgammon; i stedet for at flytte brikker fra mit "hjembord" foretager den ligegyldige flyt andetsteds på brættet. Allan er formand for Cube Action Backgammon Klub, har vundet DM i double 2004 og fik en 4. plads i Nordic Open Han spiller dagligt backgammon online og ugentligt i klub. Han ligger nr. 168 på den danske rangliste. Allan endte lige mod TD med scoren 6-6 på 10 spil. Allan siger: Jeg vandt seks spil, men programmet vandt to gammons. Spilniveauet er pænt højt, men jeg har på fornemmelsen, at programmet var ret "heldig" uden at det skal lyde som en undskyldning for at jeg ikke vandt :-) Lasse, specialeforfatter Jeg betragter mig selv som middel eller lidt over middel backgammonspiller. Jeg har aldrig spillet seriøst backgammon, men jeg har en god opfattelse af spillet og dets strategier. Jeg tabte mod TD med scoren 8-14 på 15 spil, altså -0.4 PPG. Jeg har disse kommentarer til TD-spilleren: Den spiller overraskende godt og ser ud til at lave det optimale træk i mange situationer. Dog er det helt åbenlyst, at den ikke kan se forskel på gammon og backgammon, da den taber med backgammon hvor den kunne have undgået det. I spillets slutfase hvor strategien er mere simpel laver den også nogle småfejl, men alt i alt er det en god spiller. Med nogle justeringer der kan rette disse problemer ville den helt sikkert blive bedre! 36

38 Opsamling Alle testerne, på nær specialeforfatteren, er at betragte som gode spillere og alle vandt eller spillede lige op mod TD. De der kun vandt med nogle få PPG påpegede at computeren var heldig, hvilket også er sandsynligt på så få spil. Desuden kunne næsten alle testere fortælle, at der er en fejl i programmet, da det i backgammon ikke er muligt at starte med dobbeltslag. Dette var ikke implementeret i PulverGammon, hvilket giver nogle situationer, som testerne normalt ikke er ude for. Det skal selvfølgelig rettes i en evt. senere version. Alt i alt ser det ud til, at gode spillere kan vinde over TD med mellem 0,3 og 0,6 PPG i det lange løb. 5.4 En anden netværksstruktur For at se hvor stor indflydelse det har, hvordan man koder inputtet, vil vi prøve at træne TD-algoritmen med en anden netværksstruktur. Vi prøver med et input af længde 212. De første 198 inputs er de samme som før. Derudover kommer 2 inputs, der betegner om spillet er i race-situation, altså om det ikke længere er muligt at slå brikker hjem, og 6 inputs der koder maksimal blokstørrelse for hver spiller. Med maksimal blok-størrelse menes den længste serie af blokader, som en spiller har. Både race-situation og maksimal blokstørrelse er en funktion af de første 198 inputs, men forhåbningen er, siden begge dele har strategisk værdi, at det vil hjælpe netværket på vej, enten ved at det bliver bedre eller ved at det lærer hurtigere. For at kunne adskille de to typer netværk, vi nu arbejder med, kalder vi den første TD_Gammon og den nye Extra. Vi lod TD-algoritmen træne med Extra i lidt over spil og fandt den bedste spiller, på samme måde som ved de andre typer netværk, ved spil nr Denne lod vi spille spil mod spilleren, der er trænet med TD-algoritmen med TD_Gammon-strukturen. Resultatet blev skuffende til TD_Gammon, altså en PPG på 0, 0154, hvilket er stort set det samme som en lige stilling. Det lader altså ikke til, at den nye netværksstruktur har forbedret spilleevnen. Lad os nu kigge på, hvor hurtigt TD-algoritmen lærer med Extra i forhold til TD_Gammon. For at teste dette, lader vi for hvert 1000 spil Extra spille mod den tilsvarende TD_Gammon. På figur 5.4 ses grafen for, hvordan det gik. Y-aksen betegner Extras PPG over TD_Gammon. Grafen viser, at der faktisk ikke er nogen mærkbar forskel over så mange spil. Dog, hvis man kun kigger på de første spil, hvor vi altså kun har en backup for hvert spil, tyder det på, at Extra lærer hurtigere end TD_Gammon i starten. De ændringer vi lavede i netværksstrukturen, havde altså ikke rigtig nogen indflydelse på hverken spilleevne eller indlæringshastighed. Måske ville de ekstra inputs i Extra gøre en forskel med flere skjulte neuroner. 37

39 Figur 5.4: Extra mod TD_Gammon 38

Dokumentation af programmering i Python 2.75

Dokumentation af programmering i Python 2.75 Dokumentation af programmering i Python 2.75 Af: Alexander Bergendorff Jeg vil i dette dokument, dokumentere det arbejde jeg har lavet i løbet opstarts forløbet i Programmering C. Jeg vil forsøge, så vidt

Læs mere

Allan C. Malmberg. Terningkast

Allan C. Malmberg. Terningkast Allan C. Malmberg Terningkast INFA 2008 Programmet Terning Terning er et INFA-program tilrettelagt med henblik på elever i 8. - 10. klasse som har særlig interesse i at arbejde med situationer af chancemæssig

Læs mere

i x-aksens retning, så fås ). Forskriften for g fås altså ved i forskriften for f at udskifte alle forekomster af x med x x 0

i x-aksens retning, så fås ). Forskriften for g fås altså ved i forskriften for f at udskifte alle forekomster af x med x x 0 BAndengradspolynomier Et polynomium er en funktion på formen f ( ) = an + an + a+ a, hvor ai R kaldes polynomiets koefficienter. Graden af et polynomium er lig med den højeste potens af, for hvilket den

Læs mere

Fig. 1 Billede af de 60 terninger på mit skrivebord

Fig. 1 Billede af de 60 terninger på mit skrivebord Simulation af χ 2 - fordeling John Andersen Introduktion En dag kastede jeg 60 terninger Fig. 1 Billede af de 60 terninger på mit skrivebord For at danne mig et billede af hyppighederne flyttede jeg rundt

Læs mere

Rygtespredning: Et logistisk eksperiment

Rygtespredning: Et logistisk eksperiment Rygtespredning: Et logistisk eksperiment For at det nu ikke skal ende i en omgang teoretisk tørsvømning er det vist på tide vi kigger på et konkret logistisk eksperiment. Der er selvfølgelig flere muligheder,

Læs mere

Statistik i basketball

Statistik i basketball En note til opgaveskrivning jerome@falconbasket.dk 4. marts 200 Indledning I Falcon og andre klubber er der en del gymnasieelever, der på et tidspunkt i løbet af deres gymnasietid skal skrive en større

Læs mere

Talrækker. Aktivitet Emne Klassetrin Side

Talrækker. Aktivitet Emne Klassetrin Side VisiRegn ideer 3 Talrækker Inge B. Larsen ibl@dpu.dk INFA juli 2001 Indhold: Aktivitet Emne Klassetrin Side Vejledning til Talrækker 2-4 Elevaktiviteter til Talrækker 3.1 Talrækker (1) M-Æ 5-9 3.2 Hanoi-spillet

Læs mere

Differentialregning Infinitesimalregning

Differentialregning Infinitesimalregning Udgave 2.1 Differentialregning Infinitesimalregning Noterne gennemgår begreberne differentialregning, og anskuer dette som et derligere redskab til vækst og funktioner. Noterne er supplement til kapitel

Læs mere

Brøk Laboratorium. Varenummer 72 2459

Brøk Laboratorium. Varenummer 72 2459 Brøk Laboratorium Varenummer 72 2459 Leg og Lær om brøker Brøkbrikkerne i holderen giver brugeren mulighed for at sammenligne forskellige brøker. Brøkerne er illustreret af cirkelstykker som sammenlagt

Læs mere

Maple 11 - Chi-i-anden test

Maple 11 - Chi-i-anden test Maple 11 - Chi-i-anden test Erik Vestergaard 2014 Indledning I dette dokument skal vi se hvordan Maple kan bruges til at løse opgaver indenfor χ 2 tests: χ 2 - Goodness of fit test samt χ 2 -uafhængighedstest.

Læs mere

Projekt - Valgfrit Tema

Projekt - Valgfrit Tema Projekt - Valgfrit Tema Søren Witek & Christoffer Thor Paulsen 2012 Projektet Valgfrit Tema var et projekt hvor vi nærmest fik frie tøjler til at arbejde med hvad vi ville. Så vi satte os for at arbejde

Læs mere

JEANNETTE STEEN CAMILLA SIMONSEN BRUG LÅGET. i matematik. Taktile materialer

JEANNETTE STEEN CAMILLA SIMONSEN BRUG LÅGET. i matematik. Taktile materialer JEANNETTE STEEN CAMILLA SIMONSEN BRUG LÅGET i matematik Taktile materialer Jeannette Steen og Camilla Simonsen BRUG LÅGET i matematik Taktile materialer Jeannette Steen og Camilla Simonsen Brug låget i

Læs mere

ZBC Vordingborg Marcus Rasmussen, Oliver Meldola, Mikkel Nielsen 17/02 2015. The Board Game

ZBC Vordingborg Marcus Rasmussen, Oliver Meldola, Mikkel Nielsen 17/02 2015. The Board Game The Board Game 1 Målgruppe Før vi kom på vores spil, havde vi lidt en ide om hvad det ville komme til at blive. Vi så på spillet Cards against humanity og vores spil ville blive lidt som det, da der vil

Læs mere

Kapitlet indledes med en beskrivelse af - og opgaver med - de tre former for sandsynlighed, som er omtalt i læseplanen for 7.- 9.

Kapitlet indledes med en beskrivelse af - og opgaver med - de tre former for sandsynlighed, som er omtalt i læseplanen for 7.- 9. Kapitlet indledes med en beskrivelse af - og opgaver med - de tre former for sandsynlighed, som er omtalt i læseplanen for 7.- 9. klassetrin: statistisk sandsynlighed, kombinatorisk sandsynlighed og personlig

Læs mere

Regneark II Calc Open Office

Regneark II Calc Open Office Side 1 af 10 Gangetabel... 2 Udfyldning... 2 Opbygning af gangetabellen... 3 Cellestørrelser... 4 Øveark... 4 Facitliste... 6 Sideopsætning... 7 Flytte celler... 7 Højrejustering... 7 Kalender... 8 Dage

Læs mere

LEKTION 22 FARVEBEHANDLING

LEKTION 22 FARVEBEHANDLING LEKTION 22 FARVEBEHANDLING I hvert eneste spil skal man som spilfører tage stilling til, hvordan samtlige fire farver skal spilles. Derfor er dette et vigtigt område i selve spilføringen. Mange kombinationer

Læs mere

Deskriptiv statistik. Version 2.1. Noterne er et supplement til Vejen til matematik AB1. Henrik S. Hansen, Sct. Knuds Gymnasium

Deskriptiv statistik. Version 2.1. Noterne er et supplement til Vejen til matematik AB1. Henrik S. Hansen, Sct. Knuds Gymnasium Deskriptiv (beskrivende) statistik er den disciplin, der trækker de væsentligste oplysninger ud af et ofte uoverskueligt materiale. Det sker f.eks. ved at konstruere forskellige deskriptorer, d.v.s. regnestørrelser,

Læs mere

Skak, backgammon & dam

Skak, backgammon & dam Skak, backgammon & dam da Spillevejledning Varenummer: 349 582 Made exclusively for: Tchibo GmbH, Überseering 18, 22297 Hamburg, Germany www.tchibo.dk Tchibo GmbH D-22290 Hamburg 92630AB6X6VII 2017-07

Læs mere

Anvendt Statistik Lektion 6. Kontingenstabeller χ 2 -test [ki-i-anden-test]

Anvendt Statistik Lektion 6. Kontingenstabeller χ 2 -test [ki-i-anden-test] Anvendt Statistik Lektion 6 Kontingenstabeller χ 2 -test [ki-i-anden-test] 1 Kontingenstabel Formål: Illustrere/finde sammenhænge mellem to kategoriske variable Opbygning: En celle for hver kombination

Læs mere

SANDSYNLIGHED FACIT SIDE 154-155

SANDSYNLIGHED FACIT SIDE 154-155 SIDE 154-155 Opgave 1 A. Data (x) h(x) f(x) 2 1 0,042 3 3 0,125 4 6 0,25 5 3 0,125 6 4 0,16 7 1 0,042 8 2 0,0833 9 1 0,042 10 2 0,0833 11 1 0,042 B. C. Diagrammet (et søjlediagram) er lavet ud fra hyppigheden,

Læs mere

Det Rene Videnregnskab

Det Rene Videnregnskab Det Rene Videnregnskab Visualize your knowledge Det rene videnregnskab er et værktøj der gør det muligt at redegøre for virksomheders viden. Modellen gør det muligt at illustrere hvordan viden bliver skabt,

Læs mere

Kombinatoriske Spil. Noter til QGM Math Club af Tobias Kildetoft

Kombinatoriske Spil. Noter til QGM Math Club af Tobias Kildetoft Kombinatoriske Spil Noter til QGM Math Club af Tobias Kildetoft 1 Forord Disse noter er i stor grad baseret på bogen Lessons in Play af Michael H. Albert, Richard J. Nowakowski og David Wolfe (fra nu af

Læs mere

Rapport Bjælken. Derefter lavede vi en oversigt, som viste alle løsningerne og forklarede, hvad der gør, at de er forskellige/ens.

Rapport Bjælken. Derefter lavede vi en oversigt, som viste alle løsningerne og forklarede, hvad der gør, at de er forskellige/ens. Rapport Bjælken Indledning Vi arbejdede med opgaverne i grupper. En gruppe lavede en tabel, som de undersøgte og fandt en regel. De andre grupper havde studeret tegninger af bjælker med forskellige længder,

Læs mere

http://192.168.1.217/www.nelostuote.fi/tanska/discoveryregler.html

http://192.168.1.217/www.nelostuote.fi/tanska/discoveryregler.html 1 / 10 25.6.2008 9:03 2 / 10 25.6.2008 9:03 Indhold 2 kort (spilleplader), 2 plastikfolier (benyttes til at lægge over kortet), 1 tjekometer, 28 tjekometer kort, 18 udrustningskort, 210 terræn brikker,

Læs mere

Ægtefællesammenføringsspillet version 1.0 Udarbejdet af Leoparddrengen, 2010

Ægtefællesammenføringsspillet version 1.0 Udarbejdet af Leoparddrengen, 2010 Ægtefællesammenføringsspillet version 1.0 Udarbejdet af Leoparddrengen, 010 Der skal bruges: En udprintet spilleplade Sagsmarkører kan være hvad som helst, bare unik for hver spiller En blok og kuglepen

Læs mere

Analyse af PISA data fra 2006.

Analyse af PISA data fra 2006. Analyse af PISA data fra 2006. Svend Kreiner Indledning PISA undersøgelsernes gennemføres for OECD og de har det primære formål er at undersøge, herunder rangordne, en voksende række af lande med hensyn

Læs mere

Kort om Eksponentielle Sammenhænge

Kort om Eksponentielle Sammenhænge Øvelser til hæftet Kort om Eksponentielle Sammenhænge 2011 Karsten Juul Dette hæfte indeholder bl.a. mange småspørgsmål der gør det nemmere for elever at arbejde effektivt på at få kendskab til emnet.

Læs mere

Beerpongliga.dk præsenterer

Beerpongliga.dk præsenterer Beerpongliga.dk præsenterer College Table regler Beer pong... 2 Flip Cup... 4 Pyramide... 5 Derby... 7 Beer pong 1) Opstilling/udstyr 1.1) Der spilles 2 mod 2. 1.2) Der spilles med 10 kopper i pyramideform.

Læs mere

Eksempel på logistisk vækst med TI-Nspire CAS

Eksempel på logistisk vækst med TI-Nspire CAS Eksempel på logistisk vækst med TI-Nspire CAS Tabellen herunder viser udviklingen af USA's befolkning fra 1850-1910 hvor befolkningstallet er angivet i millioner: Vi har tidligere redegjort for at antallet

Læs mere

Transienter og RC-kredsløb

Transienter og RC-kredsløb Transienter og RC-kredsløb Fysik 6 Elektrodynamiske bølger Joachim Mortensen, Edin Ikanovic, Daniel Lawther 4. december 2008 (genafleveret 4. januar 2009) 1. Formål med eksperimentet og den teoretiske

Læs mere

Højere Teknisk Eksamen maj 2008. Matematik A. Forberedelsesmateriale til 5 timers skriftlig prøve NY ORDNING. Undervisningsministeriet

Højere Teknisk Eksamen maj 2008. Matematik A. Forberedelsesmateriale til 5 timers skriftlig prøve NY ORDNING. Undervisningsministeriet Højere Teknisk Eksamen maj 2008 HTX081-MAA Matematik A Forberedelsesmateriale til 5 timers skriftlig prøve NY ORDNING Undervisningsministeriet Fra onsdag den 28. maj til torsdag den 29. maj 2008 Forord

Læs mere

Klasse Situation Observation 3. klasse Før spillet. Der bliver spurgt ind til hvad børnene

Klasse Situation Observation 3. klasse Før spillet. Der bliver spurgt ind til hvad børnene Bilag 1 - Feltobservationer I dette bilag findes Feltobservationer, noteret under folkeskoleelevernes spilforløb. Disse feltobservationer er fremstillet i en skematisk opstilling, hvis første kolonne tydeliggør

Læs mere

Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Ideen er simpel:

Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Ideen er simpel: Grådige algoritmer Grådige algoritmer Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Ideen er simpel: Opbyg løsningen skridt for skridt ved hele tiden af vælge lige

Læs mere

Websitet handler om websitet i sin helhed, dvs. hvor mange besøgende du har i alt osv.

Websitet handler om websitet i sin helhed, dvs. hvor mange besøgende du har i alt osv. Statistikmodulet. Statistikmodulet er et grundlæggende værktøj til at forstå og analysere trafikken på dit website, og det kan du benytte til mange ting, lige fra at se hvor mange besøgende du har, til

Læs mere

Automatisering Af Hverdagen

Automatisering Af Hverdagen Automatisering Af Hverdagen Programmering - Eksamensopgave 10-05-2011 Roskilde Tekniske Gymnasium (Kl. 3,3m) Mads Christiansen & Tobias Hjelholt Svendsen 2 Automatisering Af Hverdagen Indhold Introduktion:...

Læs mere

Matematik, maskiner og metadata

Matematik, maskiner og metadata MATEMATIK, MASKINER OG METADATA VEJE TIL VIDEN Matematik, maskiner og metadata af CHRISTIAN BOESGAARD DATALOG IT Development / DBC 1 Konkrete projekter med machine learning, hvor computersystemer lærer

Læs mere

Evaluering af Soltimer

Evaluering af Soltimer DANMARKS METEOROLOGISKE INSTITUT TEKNISK RAPPORT 01-16 Evaluering af Soltimer Maja Kjørup Nielsen Juni 2001 København 2001 ISSN 0906-897X (Online 1399-1388) Indholdsfortegnelse Indledning... 1 Beregning

Læs mere

Kapitel I til Grafisk design. Kromatisk/akromatisk opbygning af gråkomponenten

Kapitel I til Grafisk design. Kromatisk/akromatisk opbygning af gråkomponenten Kapitel I til Grafisk design opbygning af gråkomponenten Kapitel I 2 opbygning af gråkomponenten Det følgende kapitel er en præcisering af side 101 i bogen»grafisk design«. De seks første lodrette farvefelter

Læs mere

Egenskaber ved Krydsproduktet

Egenskaber ved Krydsproduktet Egenskaber ved Krydsproduktet Frank Nasser 12. april 2011 c 2008-2011. Dette dokument må kun anvendes til undervisning i klasser som abonnerer på MatBog.dk. Se yderligere betingelser for brug her. Bemærk:

Læs mere

Collegetable.dk præsenterer. College Table rød

Collegetable.dk præsenterer. College Table rød Collegetable.dk præsenterer College Table rød Beer pong 1) Opstilling/udstyr 1.1) Der spilles 2 mod 2. 1.2) Der spilles med 10 kopper i pyramideform. 4 bagerst. 3 næst bagerst. Så 2 og én cup forrest.

Læs mere

Andreas Lauge V. Hansen klasse 3.3t Roskilde HTX

Andreas Lauge V. Hansen klasse 3.3t Roskilde HTX IT -Eksamen Andreas Lauge V. Hansen klasse 3.3t Roskilde HTX [Vælg en dato] Indhold Indledning... 2 Teori... 3 Hvorfor dette design... 4 Produktet... 4 Test og afprøvning... 9 Konklusion... 10 Indledning

Læs mere

IFC Egenskaber. Mohammad Hussain Parsianfar s102951 BYG DTU

IFC Egenskaber. Mohammad Hussain Parsianfar s102951 BYG DTU Mohammad Hussain Parsianfar s102951 Indholdsfortegnelse 1 Introduktion... 3 1.1 Hvorfor er det interessant... 3 1.2 Formål... 4 2 Simplebim... 5 2.1 Præsentation af softwaren... 5 2.1.1 Brugergrænseflade...

Læs mere

Søren Christiansen 22.12.09

Søren Christiansen 22.12.09 1 2 Dette kompendie omhandler simpel brug af Excel til brug for simpel beregning, såsom mængde og pris beregning sammentælling mellem flere ark. Excel tilhører gruppen af programmer som samlet kaldes Microsoft

Læs mere

Tjek. lønnen. Et værktøj til at undersøge ligeløn på arbejdspladser inden for det grønne område og transportsektoren. 2007 udgave Varenr.

Tjek. lønnen. Et værktøj til at undersøge ligeløn på arbejdspladser inden for det grønne område og transportsektoren. 2007 udgave Varenr. Tjek lønnen Et værktøj til at undersøge ligeløn på arbejdspladser inden for det grønne område og transportsektoren 2007 udgave Varenr. 7522 Indholdsfortegnelse Forord... 3 Teknisk introduktion... 4 Indledning...

Læs mere

Notat. Brug personas til at leve dig ind i brugernes liv

Notat. Brug personas til at leve dig ind i brugernes liv Notat SEGES P/S Koncern Digital Datadreven informationsformidling, personas og personalisering Ansvarlig JUPO Oprettet 17-03-2016 Projekt: 7464, Digitale relationer og datadreven informationsformidling

Læs mere

T A L K U N N E N. Datasæt i samspil. Krydstabeller Grafer Mærketal. INFA Matematik - 1999. Allan C

T A L K U N N E N. Datasæt i samspil. Krydstabeller Grafer Mærketal. INFA Matematik - 1999. Allan C T A L K U N N E N 3 Allan C Allan C.. Malmberg Datasæt i samspil Krydstabeller Grafer Mærketal INFA-Matematik: Informatik i matematikundervisningen Et delprojekt under INFA: Informatik i skolens fag Et

Læs mere

Lineære modeller. Taxakørsel: Et taxa selskab tager 15 kr. pr. km man kører i deres taxa. Hvis vi kører 2 km i taxaen koster turen altså

Lineære modeller. Taxakørsel: Et taxa selskab tager 15 kr. pr. km man kører i deres taxa. Hvis vi kører 2 km i taxaen koster turen altså Lineære modeller Opg.1 Taxakørsel: Et taxa selskab tager 15 kr. pr. km man kører i deres taxa. Hvis vi kører 2 km i taxaen koster turen altså Hvor meget koster det at køre så at køre 10 km i Taxaen? Sammenhængen

Læs mere

ULTIMATE DM. Datoer. Tilmeldingsfrister. Kampprogram og struktur. Afbud. Udendørs

ULTIMATE DM. Datoer. Tilmeldingsfrister. Kampprogram og struktur. Afbud. Udendørs ULTIMATE DM Datoer Datoer for udendørssæsonen meldes ud i december. Datoer for indendørssæsonen meldes ud i juni. Dato for Mix meldes ud i marts/april. Tilmeldingsfrister Udendørs 15. marts. Indendørs

Læs mere

Lineære ligningssystemer

Lineære ligningssystemer enote 2 1 enote 2 Lineære ligningssystemer Denne enote handler om lineære ligningssystemer, om metoder til at beskrive dem og løse dem, og om hvordan man kan få overblik over løsningsmængdernes struktur.

Læs mere

Europa Cup - rangerings- og seedningssystem

Europa Cup - rangerings- og seedningssystem Europa Cup - rangerings- og seedningssystem Informationsmateriale: Rangering og seedning gældende fra 2002/2003 Baggrund Tilbage i 2002/2003 blev større ændringer implementeret hvad angår Champions League

Læs mere

Lille Georgs julekalender 2010. 1. december

Lille Georgs julekalender 2010. 1. december 1. december I hver af de øverste bokse skal der skrives et af tallene 1, 2, 3,..., 9. Alle tre tal skal være forskellige. I de næste bokse skrives de tal der fremkommer ved at man lægger sammen som vist.

Læs mere

SLS-kasserer. - En vejledning til kassererarbejdet i din lokalbestyrelse

SLS-kasserer. - En vejledning til kassererarbejdet i din lokalbestyrelse SLS-kasserer - En vejledning til kassererarbejdet i din lokalbestyrelse Indholdsfortegnelse Indledning... 1 Kassereropgaver i SLS-lokalbestyrelsen... 2 Årsregnskab... 2 Ansøgning om støtte til lokalbestyrelsens

Læs mere

Optimale konstruktioner - når naturen former. Opgaver. Opgaver og links, der knytter sig til artiklen om topologioptimering

Optimale konstruktioner - når naturen former. Opgaver. Opgaver og links, der knytter sig til artiklen om topologioptimering Opgaver Opgaver og links, der knytter sig til artiklen om solsikke Opgave 1 Opgave 2 Opgaver og links, der knytter sig til artiklen om bobler Opgave 3 Opgave 4 Opgaver og links, der knytter sig til artiklen

Læs mere

Velkommen til ABC Analyzer! Grundkursusmanual 2 vil introducere dig til ABC Analyzers mere avancerede funktioner, bl.a.:

Velkommen til ABC Analyzer! Grundkursusmanual 2 vil introducere dig til ABC Analyzers mere avancerede funktioner, bl.a.: Velkommen til ABC Analyzer! Grundkursusmanual 2 vil introducere dig til ABC Analyzers mere avancerede funktioner, bl.a.: Kategoriseringer uden ABC-kategorier Krydstabel (trebenede) Beregnede og avancerede

Læs mere

METODESAMLING TIL ELEVER

METODESAMLING TIL ELEVER METODESAMLING TIL ELEVER I dette materiale kan I finde forskellige metoder til at arbejde med kreativitet og innovation i forbindelse med den obligatoriske projektopgave. Metoderne kan hjælpe jer til:

Læs mere

Skak. Regler og strategi. Version 1.0. 1. september 2015. Copyright

Skak. Regler og strategi. Version 1.0. 1. september 2015. Copyright Skak Regler og strategi Version 1.0 1. september 2015 Copyright Forord At lære at spille skak er ikke svært. Det tager få minutter. At blive dygtig tager som regel årevis. Om man er dygtig eller ej, er

Læs mere

Brydningsindeks af vand

Brydningsindeks af vand Brydningsindeks af vand Øvelsesvejledning til brug i Nanoteket Udarbejdet i Nanoteket, Institut for Fysik, DTU Rettelser sendes til Ole.Trinhammer@fysik.dtu.dk 15. marts 2012 Indhold 1 Indledning 2 2 Formål

Læs mere

At lave dit eget spørgeskema

At lave dit eget spørgeskema At lave dit eget spørgeskema 1 Lectio... 2 2. Spørgeskemaer i Google Docs... 2 3. Anvendelighed af din undersøgelse - målbare variable... 4 Repræsentativitet... 4 Fejlkilder: Målefejl - Systematiske fejl-

Læs mere

På alle områder er konklusionen klar: Der er en statistisk sammenhæng mellem forældre og børns forhold.

På alle områder er konklusionen klar: Der er en statistisk sammenhæng mellem forældre og børns forhold. Social arv 163 8. Social arv nes sociale forhold nedarves til deres børn Seks områder undersøges Der er en klar tendens til, at forældrenes sociale forhold "nedarves" til deres børn. Det betyder bl.a.,

Læs mere

IDAP manual Analog modul

IDAP manual Analog modul IDAP manual Analog modul Dato: 15-06-2005 11:01:06 Indledning Til at arbejde med opsamlede og lagrede analoge data i IDAP portalen, findes en række funktions områder som brugeren kan anvende. Disse områder

Læs mere

Note til styrkefunktionen

Note til styrkefunktionen Teoretisk Statistik. årsprøve Note til styrkefunktionen Først er det vigtigt at gøre sig klart, at når man laver statistiske test, så kan man begå to forskellige typer af fejl: Type fejl: At forkaste H

Læs mere

Skriftlig eksamen i Datalogi

Skriftlig eksamen i Datalogi Roskilde Universitetscenter side 1 af 9 sider Skriftlig eksamen i Datalogi Modul 1 Vinter 1999/2000 Opgavesættet består af 6 opgaver, der ved bedømmelsen tillægges følgende vægte: Opgave 1 5% Opgave 2

Læs mere

OPSÆTNING DIAGRAM. Spioner. Spionmestre

OPSÆTNING DIAGRAM. Spioner. Spionmestre OPSÆTNING Lav to hold med nogenlunde samme antal spillere og evner. For at spille et normalt spil skal man være minimum 4 spillere (2 hold med 2 spillere). Spilvarianter med 2 og 3 spillere kan læses på

Læs mere

C) Perspektiv jeres kommunes resultater vha. jeres svar på spørgsmål b1 og b2.

C) Perspektiv jeres kommunes resultater vha. jeres svar på spørgsmål b1 og b2. C) Perspektiv jeres kommunes resultater vha. jeres svar på spørgsmål b1 og b. 5.000 4.800 4.600 4.400 4.00 4.000 3.800 3.600 3.400 3.00 3.000 1.19% 14.9% 7.38% 40.48% 53.57% 66.67% 79.76% 9.86% 010 011

Læs mere

Kommentarer til matematik B-projektet 2015

Kommentarer til matematik B-projektet 2015 Kommentarer til matematik B-projektet 2015 Mandag d. 13/4 udleveres årets eksamensprojekt i matematik B. Dette brev er tænkt som en hjælp til vejledningsprocessen for de lærere, der har elever, som laver

Læs mere

CANASTAKLUBBEN. stiftet 20. januar 1995. For at fremme kammeratlig sammenvær og hygge, for klubbens medlemmer og ikke mindst deres børn.

CANASTAKLUBBEN. stiftet 20. januar 1995. For at fremme kammeratlig sammenvær og hygge, for klubbens medlemmer og ikke mindst deres børn. CANASTAKLUBBEN stiftet 20. januar 1995 For at fremme kammeratlig sammenvær og hygge, for klubbens medlemmer og ikke mindst deres børn. Canasta er et ungt spil, hvori man finder ideer fra flere kortspil.

Læs mere

Et undervisningsværktøj. På de følgende sider kan du læse om Gravity Board Games produkter.

Et undervisningsværktøj. På de følgende sider kan du læse om Gravity Board Games produkter. Et undervisningsværktøj På de følgende sider kan du læse om Gravity Board Games produkter. Du er velkommen til at klikke ind på www.gravityboardgames.com, hvor du kan læse mere om vores meget udfordrende

Læs mere

Kom i gang-opgaver til differentialregning

Kom i gang-opgaver til differentialregning Kom i gang-opgaver til differentialregning 00 Karsten Juul Det er kortsigtet at løse en opgave ved blot at udskifte tallene i en besvarelse af en tilsvarende opgave Dette skyldes at man så normalt ikke

Læs mere

Opgaver hørende til undervisningsmateriale om Herons formel

Opgaver hørende til undervisningsmateriale om Herons formel Opgaver hørende til undervisningsmateriale om Herons formel 20. juni 2016 I Herons formel (Danielsen og Sørensen, 2016) er stillet en række opgaver, som her gengives. Referencer Danielsen, Kristian og

Læs mere

Algebra INTRO. I kapitlet arbejdes med følgende centrale matematiske begreber:

Algebra INTRO. I kapitlet arbejdes med følgende centrale matematiske begreber: INTRO Kapitlet sætter fokus på algebra, som er den del af matematikkens sprog, hvor vi anvender variable. Algebra indgår i flere af bogens kapitler, men hensigten med dette kapitel er, at eleverne udvikler

Læs mere

Dokumentation til Computerspil

Dokumentation til Computerspil Dokumentation til Computerspil Medias Lab Systemudviklingsmodel Problemstilling Vores problemstilling er at vi skal producere et simpelt computerspil, vi skal igennem hele processen dokumentere vores arbejde.

Læs mere

Tredje kapitel i serien om, hvad man kan få ud af sin håndflash, hvis bare man bruger fantasien

Tredje kapitel i serien om, hvad man kan få ud af sin håndflash, hvis bare man bruger fantasien Tredje kapitel i serien om, hvad man kan få ud af sin håndflash, hvis bare man bruger fantasien For nogen tid siden efterlyste jeg i et forum et nyt ord for håndflash, da det nok ikke er det mest logiske

Læs mere

Et udtryk på formena n kaldes en potens med grundtal a og eksponent n. Vi vil kun betragte potenser hvor grundtallet er positivt, altså a>0.

Et udtryk på formena n kaldes en potens med grundtal a og eksponent n. Vi vil kun betragte potenser hvor grundtallet er positivt, altså a>0. Konkrete funktioner Potenser Som udgangspunkt er brugen af potenser blot en forkortelse for at gange et tal med sig selv et antal gange. Hvis a Rskriver vi a 2 for a a a 3 for a a a a 4 for a a a a (1).

Læs mere

På opdagelse i Mandelbrot-fraktalen En introduktion til programmet Mandelbrot

På opdagelse i Mandelbrot-fraktalen En introduktion til programmet Mandelbrot Jørgen Erichsen På opdagelse i Mandelbrot-fraktalen En introduktion til programmet Mandelbrot Hvad er en fraktal? Noget forenklet kan man sige, at en fraktal er en geometrisk figur, der udmærker sig ved

Læs mere

Fysikøvelse Erik Vestergaard www.matematikfysik.dk. Musik og bølger

Fysikøvelse Erik Vestergaard www.matematikfysik.dk. Musik og bølger Fysikøvelse Erik Vestergaard www.matematikfysik.dk Musik og bølger Formål Hovedformålet med denne øvelse er at studere det fysiske begreb stående bølger, som er vigtigt for at forstå forskellige musikinstrumenters

Læs mere

Uendelige rækker og Taylor-rækker

Uendelige rækker og Taylor-rækker Uendelige rækker og Taylor-rækker Thomas Bolander, DTU Informatik Matematik: Videnskaben om det uendelige Folkeuniversitetet i København, efteråret 200 Thomas Bolander, FUKBH 0 s. /24 Forhold mellem endelighed

Læs mere

3.0 Velkommen til manualen for kanalen Shift 1. 3.1 Introduktion til kanalen 1. 3.2.1 Hvad er et spot? 2. 3.2.2 Opret et nyt spot 2

3.0 Velkommen til manualen for kanalen Shift 1. 3.1 Introduktion til kanalen 1. 3.2.1 Hvad er et spot? 2. 3.2.2 Opret et nyt spot 2 3.0 Velkommen til manualen for kanalen Shift 1 3.1 Introduktion til kanalen 1 3.2 Shift kanalside 1 3.2.1 Hvad er et spot? 2 3.2.2 Opret et nyt spot 2 3.2.3 Aktivt og inaktivt spot 3 3.2.4 Rediger et spot

Læs mere

Økonomisk analyse af forskellige strategier for drægtighedsundersøgelser

Økonomisk analyse af forskellige strategier for drægtighedsundersøgelser Økonomisk analyse af forskellige strategier for drægtighedsundersøgelser Jehan Ettema, SimHerd A/S, 28-10-15 Indholdsfortegnelse Metoden... 2 Design af scenarierne... 2 Strategier for drægtighedsundersøgelser...

Læs mere

Matematik og magi. eller Næste stop Las Vegas. 14 Anvendt matematik. Rasmus Sylvester Bryder

Matematik og magi. eller Næste stop Las Vegas. 14 Anvendt matematik. Rasmus Sylvester Bryder 14 Anvendt matematik Matematik og magi eller Næste stop Las Vegas Rasmus Sylvester Bryder Da jeg var mindre, morede jeg mig ofte når min halvfætter Casper viste mig korttricks. Det trick han viste mig

Læs mere

1 - Problemformulering

1 - Problemformulering 1 - Problemformulering I skal undersøge, hvordan fart påvirker risikoen for at blive involveret i en trafikulykke. I skal arbejde med hvilke veje, der opstår flest ulykker på, og hvor de mest alvorlige

Læs mere

Skifteplaner og opgørelsesmetoder

Skifteplaner og opgørelsesmetoder 1 I det følgende forklares de mest almindelige skifteplaner og opgørelsesmetoder. Udtrykket Balance bruges en del gange. Det fortæller om en skifteplans retfærdighed. Hvis et par altid spiller kortene

Læs mere

Rapport - Trivselsundersøgelsen 2012 - Skole og Kultur. Sådan læses rapporten Rapporten er opdelt i flg. afsnit:

Rapport - Trivselsundersøgelsen 2012 - Skole og Kultur. Sådan læses rapporten Rapporten er opdelt i flg. afsnit: Rapport - Trivselsundersøgelsen 12 - Skole og Kultur Denne rapport sammenfatter resultaterne af trivselsmålingen. Den omfatter standardspørgeskemaet i Trivselmeter om trivsel og psykisk arbejdsmiljø, eventuelt

Læs mere

Nyt i faget Matematik

Nyt i faget Matematik Almen voksenuddannelse Nyt i faget Matematik Juli 2012 Indhold Bekendtgørelsesændringer Ændringer af undervisningsvejledningen Den nye opgavetype ved den skriftlige prøve efter D Ændringer af rettevejledningen

Læs mere

Brugermanual til Assignment Hand In

Brugermanual til Assignment Hand In Brugermanual til Assignment Hand In Indhold: Undervisere:... 2 Hvor finder jeg Assignment hand in?... 2 Opret en opgave... 3 Slet en opgave... 4 Rediger en opgave... 4 Hvor finder jeg de afleverede filer?...

Læs mere

Sikre Beregninger. Kryptologi ved Datalogisk Institut, Aarhus Universitet

Sikre Beregninger. Kryptologi ved Datalogisk Institut, Aarhus Universitet Sikre Beregninger Kryptologi ved Datalogisk Institut, Aarhus Universitet 1 Introduktion I denne note skal vi kigge på hvordan man kan regne på data med maksimal sikkerhed, dvs. uden at kigge på de tal

Læs mere

Den automatiske sanseforventningsproces

Den automatiske sanseforventningsproces Den automatiske sanseforventningsproces Af forsknings- og institutleder Flemming Jensen Det kunne ikke gøres enklere. Jeg ved, at for nogle ser meget teoretisk ud, mens det for andre måske endda er for

Læs mere

DGI TRÆNERGUIDEN DGI TRÆNERGUIDEN DGI TRÆNERGUIDEN DGI TRÆNERGUIDEN. Badmintonregler. Nik til bolden kamp SJOVE KAMPLEGE SJOVE KAMPLEGE

DGI TRÆNERGUIDEN DGI TRÆNERGUIDEN DGI TRÆNERGUIDEN DGI TRÆNERGUIDEN. Badmintonregler. Nik til bolden kamp SJOVE KAMPLEGE SJOVE KAMPLEGE Nr.6653 Nr.6651 Badmintonregler lov til at serve og får et point. Bordtennisbold og bat Nik til bolden kamp Der kan spilles med kun 3 jongleringer før bolden skal returneres. Kan spilles som double, hvor

Læs mere

Kan Danmark fordoble talentmassen med et trylleslag?

Kan Danmark fordoble talentmassen med et trylleslag? Jesper von Seelen Oktober, 2009 Danmark går glip af medaljer: Kan Danmark fordoble talentmassen med et trylleslag? I en tid hvor trænere og ledere fra eliteidrætsklubberne og specialforbundene står i kø

Læs mere

Appendiks 1: Om baggrund og teori bag valg af skala

Appendiks 1: Om baggrund og teori bag valg af skala Appendiks 1: Om baggrund og teori bag valg af skala De nationale test gav i 2010 for første gang danske lærere mulighed for at foretage en egentlig måling på en skala af deres elevers præstationer på grundlag

Læs mere

Anklagemyndighedens Vidensbase

Anklagemyndighedens Vidensbase Anklagemyndighedens Vidensbase Indhold 1 OM DENNE VEJLEDNING... 2 2 LOGIN... 3 3 SØGNINGER... 4 3.1 SØG EFTER DOKUMENTER... 4 3.2 NAVIGÉR DIG FREM... 5 3.3 KOMBINÉR SØGNING OG NAVIGATION... 6 3.4 VISNING

Læs mere

Brøker kan repræsentere dele af et hele som et område (fx ½ sandwich, ½ pizza, ½ æble, ½ ton grus).

Brøker kan repræsentere dele af et hele som et område (fx ½ sandwich, ½ pizza, ½ æble, ½ ton grus). Elevmateriale Undervisningsforløb Undervisningsforløbet er tiltænkt elever på 5. klassetrin. Der arbejdes en uge med hver af de tre hovedpointer, i fjerde uge arbejdes der med refleksionsaktiviteter, og

Læs mere

Michael Jokil 11-05-2012

Michael Jokil 11-05-2012 HTX, RTG Det skrå kast Informationsteknologi B Michael Jokil 11-05-2012 Indholdsfortegnelse Indledning... 3 Teori... 3 Kravspecifikationer... 4 Design... 4 Funktionalitet... 4 Brugerflade... 4 Implementering...

Læs mere

Spilstrategier. 1 Vindermængde og tabermængde

Spilstrategier. 1 Vindermængde og tabermængde Spilstrategier De spiltyper vi skal se på her, er primært spil af følgende type: Spil der spilles af to spillere A og B som skiftes til at trække, A starter, og hvis man ikke kan trække har man tabt. Der

Læs mere

Kvantitative Metoder 1 - Forår 2007. Dagens program

Kvantitative Metoder 1 - Forår 2007. Dagens program Dagens program Hypoteser: kap: 10.1-10.2 Eksempler på Maximum likelihood analyser kap 9.10 Test Hypoteser kap. 10.1 Testprocedure kap 10.2 Teststørrelsen Testsandsynlighed 1 Estimationsmetoder Kvantitative

Læs mere

Sådan bruger du bedst e-mærket

Sådan bruger du bedst e-mærket 1 Få flere online salg eller leads igennem 2 Beslutningsprocessen i et salg online Hvem styrer hvem? Frederik Bjerring kører en tidlig morgen i efteråret 2009 op langs roskildevej på vej til sit arbejde,

Læs mere

4. september 2003. π B = Lungefunktions data fra tirsdags Gennemsnit l/min

4. september 2003. π B = Lungefunktions data fra tirsdags Gennemsnit l/min Epidemiologi og biostatistik Uge, torsdag 28. august 2003 Morten Frydenberg, Institut for Biostatistik. og hoste estimation sikkerhedsintervaller antagelr Normalfordelingen Prædiktion Statistisk test (udfra

Læs mere

Modul 8: Clouds (Lagring af filer)

Modul 8: Clouds (Lagring af filer) Det sprogpædagogiske kørekort 2012/2013 Modul 8: Clouds (Lagring af filer) Del I Christoph Schepers Studieskolen 8/2012 Indholdsfortegnelse Introduktion... 2 Installer Dropbox (punkt 1-3).. 3 Åbn Dropbox

Læs mere

FSFI s guide til DFR s elektronisk bevissystem

FSFI s guide til DFR s elektronisk bevissystem FSFI s guide til DFR s elektronisk bevissystem Dette er en kort guide i anvendelsen af Dansk Førstehjælpsråd elektroniske bevissystem. Guiden viser og forklarer, hvordan du som instruktør og medlem af

Læs mere