genetiska algoritmer

Storlek: px
Starta visningen från sidan:

Download "genetiska algoritmer"

Transkript

1 Introduktion till genetiska algoritmer CT3620 Vetenskapsmetodik Ylva egerfeldt

2 SAMMANFATTNING enna rapport är tänkt som en introduktion till genetiska algoritmer. Först förklaras ämnet översiktligt, inklusive en kort historik. Sedan följer en mer ingående beskrivning av de olika ingående begreppen: Senare i rapporten tar jag också upp ett exempel: 8 damer-problemet, vilket kan lösas med hjälp av en genetisk algoritm. Slutligen kommer en liten diskussion där jag tar upp några fördelar med genetiska algoritmer samt lite om vilken typ av problem som de kan lösa. 1

3 Innehållsförteckning Inledning... 3 Introduktion till genetiska algoritmer... 4 Utseende hos en generell genetisk algoritm... 4 Ingående begrepp i en GA... 5 Kromosom... 5 Fitnessfunktion... 5 Selektionsmetoder... 6 Slumpmässig selektion... 6 Turneringsselektion... 6 Rangbaserad selektion... 6 Elitism... 7 Crossover-metoder... 8 Single Point Crossover... 8 Two Point Crossover... 8 Uniform Crossover... 8 Mutation... 9 Slumpmässig mutation... 9 Inordermutation... 9 Permutationsmutation... 9 Mutation med flyttalsrepresentation... 9 Ett exempel på ett problem: 8 damer-problemet Kromosomrepresentation Fitnessfunktion Selektionsmetod Crossover-metod Mutationsmetod Elitism Avslutande diskussion Referenser

4 INLENING Genetiska algoritmer (G.A.) tillhör området artificiell intelligens och är det första evolutionary computing-paradigmet (algoritmer som bygger på evolutionsteorin) som utvecklades och användes. en som utvecklade det var amerikanen John Henry Holland (född 1929), som var professor i psykologi, datavetenskap och elektroteknik. [Wikipedia] Han har skrivit ett antal böcker och en av de mest omtalade var just hans bok om genetiska algoritmer, Adaptation in Natural and Artificial Systems. Genetiska algoritmer är inspirerade av arwins evolutionsteori [Obitko]. etta innebär att man kan lösa ett problem genom att skapa en population av olika (mer eller mindre bra) lösningar, vilka kallas kromosomer eller individer. Kromosomerna består i sin tur av gener. Varje gen är en del av ett lösningsförslag och en kromosom ger en komplett potentiell lösning. Sedan låter man en ny generation lösningar utvecklas från den gamla genom att man väljer ut flera par av individer vilka får korsas med varandra så att de får en avkomma. etta kallas crossover och precis som i naturen är det (oftast) bara de bästa individerna som lyckas fortplanta sig. Hur bra en individ är bestäms av något som kallas fitnessvärde och följaktligen har individer med bättre fitnessvärde en större chans att få para sig än individer med sämre. Fitnessvärdet räknas ut med hjälp av en fitnessfunktion, vilken är domän och problemspecifik När en avkomma har skapats finns det också en chans att denna muteras, precis som i naturen. etta innebär att det sker en genförändring hos individen. enna kan antingen vara positiv och då leder den till att den förändrade genen med hög sannolikhet förs vidare genom generationerna, eller negativ, vilket innebär att sannolikheten för att genen ska föras vidare är väldigt låg. En positiv genförändring innebär ett bättre fitnessvärde och att kromosomen har större chans att bli vald för reproduktion. Man kan även säga att kromosomen i fråga kommer närmare den lösning som man är ute efter (om man vet hur denna ser ut). et omvända förhållandet gäller för negativa genförändringar. Efter att mutation skett på vissa utvalda individer ersätts den gamla populationen med alla individer från den nya generationen och eventuellt får även några gamla individer vara med i den nya populationen. e nya individerna får också fitnessvärden och så fortsätter urvalet och fortplantningen tills ett visst villkor är uppfyllt. Man kan inte alltid veta om algoritmen är nära att hitta lösningen, men för vissa problemtyper så kan man säga att om den bästa kromosomen förblir oförändrad genom ett stort antal generationer så är man nära. I vissa fall kan man bestämma att detta är villkoret för att algoritmen ska stoppas. Mer om stoppvillkor följer senare. 3

5 INTROUKTION TILL GENETISKA ALGORITMER Utseende hos en generell genetisk algoritm Nedan följer pseudokod för en generell genetisk algoritm. Sedan kommer en översiktlig förklaring till koden och i nästa avsnitt mer ingående förklaringar på de olika delarna. Genetisk algoritm 1) Initiera startpopulationen P(0). 2) Sätt G = 0. 3) Gör tills stoppvillkoret har uppnåtts. a)beräkna fitness för varje individ. b)välj ut individer till föräldrapar, beroende av fitness. c)skapa avkomma A(G) med hjälp av Crossover-funktion (med viss sannolikhet)och selektion. d)mutera avkomma (med viss sannolikhet). e)välj ut individer till ny population P(G + 1), från den gamla P(G) och alla A(G). f)sätt G = G ) Returnera den bästa lösningen (individen med bäst fitness). [Obitko] Startpopulationen P(0) tillhör generation 0 och brukar oftast slumpas fram. etta innebär att de ingående kromosomerna får slumpmässiga utseenden och fitnessvärden. En kromosom består av gener och hur det kan se ut förklaras i nästa avsnitt. Variabeln G håller reda på vilken generation algoritmen har hunnit till. Stoppvillkoret kan vara antingen att det har dykt upp en tillräckligt bra lösning bland individerna (kromosomerna) i populationen, att det har skapats ett visst antal generationer, eller att den bästa individen, under ett visst antal generationsbyten, inte har förbättrats. et sistnämnda villkoret används lättast tillsammans med Elitism, vilket innebär att man hela tiden kopierar den eller de bästa individerna (oförändrade) från en generation till nästa. På så vis riskerar man inte att förlora den bästa lösningen. Antalet föräldrapar man väljer ut är beroende av populationens storlek och hur man vill lösa problemet. Föräldrarna väljs genom olika Selektionsmetoder, vilka förklaras i nästa avsnitt. A(G) är avkomman som skapades av föräldrar tillhörande generation G. enna avkomma skapas med hjälp av en crossover-funktion, vilken kombinerar gener från båda föräldrarna för att skapa en ny kromosom. Vilka olika typer av crossover-funktioner som finns förklaras i nästa avsnitt. När en ny population skapas tar man med alla barnen och noll eller flera från föräldragenerationen, beroende på om man tillämpar elitism och vilken urvalsmetod man använder. I nästa avsnitt följer djupare förklaringar av de ingående delarna i en genetisk algoritm. 4

6 Ingående begrepp i en GA Kromosom Varje population består som tidigare nämnts av kromosomer. En kromosom representeras ofta av en binär sträng, där varje bit motsvarar en gen. (exempel i Figur 1.) Varje gen motsvarar en liten del av en potentiell lösning till problemet, fast det kan också vara så att alla generna tillsammans representerar ett heltal. Kromosom Kromosom Figur 1. Ett exempel på hur binära kromosomer kan se ut Kromosomernas längder kan, men behöver inte nödvändigtvis vara lika, beroende på vilket problem man försöker lösa. En kromosom kan också representeras av en sträng av heltal eller av flyttal. (Figur 2 visar ett exempel på en kromosom med flyttalsrepresentation.) Ett exempel på ett problem som kan lösas med hjälp av en G.A. med flyttalskromosomer: Att hitta maxvärdet hos en funktion, t.ex. f(w,x,y,z) = (wx y) * z Figur 2 nedan visar hur en kromosom för detta problem kan se ut. Cellerna motsvarar gener och möjliga värden på w, x, y och z, i den ordningen (uppifrån). -1, ,5 17, Figur 2. Ett exempel på EN kromosom med flyttalsrepresentation (3 ingående gener) Fitnessfunktion Varje kromosoms värde, eller fitness, bestäms av en s.k. fitnessfunktion. Hur man väljer att denna ska se ut beror på vilken typ av problem det är man ska lösa. et är mycket viktigt att man väljer en fitnessfunktion som verkligen modellerar problemet man ska lösa. [Engelbrecht2002] Vi återgår till exemplet om maxvärdet hos funktionen f(w,x,y,z) = (wx y) * z. För detta problem kan fitnessfunktionen bli mycket enkel. Man räknar helt enkelt ut funktionens värde för varje kromosom. å blir det naturligt så att kromosomer med högre fitness ger en bättre lösning än de med lägre. et är dock tillåtet för en genetisk algoritm att ha en fitnessfunktion där lägre värden är bättre. 5

7 Selektionsmetoder Selektion innebär urval, vilket man behöver göra när man ska välja ut föräldrar och när man ska välja vilken kromosom som ska muteras. Selektionsmetod innebär sättet man gör urvalet på. Här följer en beskrivning av några olika selektionsmetoder: Slumpmässig selektion etta är egentligen ingen lämplig selektionsmetod för en genetisk algoritm eftersom denna metod väljer föräldrar helt slumpmässigt, utan att ta hänsyn till kromosomernas fitness. Och en av grundidéerna med genetiska algoritmer är att individernas chans att få föröka sig ska vara större för individer med bättre fitness. Turneringsselektion enna form av urval innebär att man slumpmässigt väljer ut x individer, vilka sedan får turnera mot varandra. etta medför i praktiken att den individ som har bäst fitness av dessa blir vald. Man brukar göra en turnering per förälder som ska väljas ut och det är möjligt för samma individ att bli vald flera gånger. En individ kan alltså bli både pappa och mamma till sin avkomma, men om detta ska vara tillåtet eller inte är upp till programmeraren. Rangbaserad selektion enna urvalsmetod bygger på att man rangordnar alla fitnessvärden enligt följande metod. en kromosom som har sämst fitness får värdet 1 och den näst sämsta värdet 2 o.s.v. ärefter använder man proportionell selektion (se sid. 7) på dessa värden istället för på fitnessvärdena. Ett exempel på när detta kan vara bra är om man har en kromosom vars fitnessvärde är extremt mycket högre än alla andras. Chansen är då stor att det nästan bara blir den kromosomen som blir vald hela tiden. Rangordningen gör dock att skillnaderna mellan fitnessvärdena inte längre är så stora, eftersom den nämnda bästa kromosomen nu har ett värde som bara ligger 1 ifrån den näst bästas värde. Urvalet blir på så vis oberoende av den ursprungliga fitnessen. [Obitko] 6

8 Proportionell selektion enna urvalsoperator kallas även rouletthjulsselektion och innebär att de individer som har bättre fitnessvärde har proportionellt större chans att bli valda. Tanken här är att man har ett rouletthjul där varje kromosom har sin sektion, vilkens storlek är proportionell mot kromosomens fitness. Sedan tänker man sig att man kastar en kula i rouletthjulet och den kromosom vars sektion kulan stannar på blir vald. Figur 3 visar tydligt att den kromosom som har bäst fitness och därmed störst roulettsektion, har lättast att bli vald. Kromosom 1 Kromosom 2 Kromosom 3 Kromosom 4 Kromosom 5 Figur 3. Ett exempel på rouletthjulsprincipen med fem kromosomer med olika fitnessvärden Elitism Som tidigare nämnts innebär elitism att man hela tiden sparar den eller de bästa kromosomerna. etta innebär att dessa kopieras från en generation till nästa, vilket kan göra att algoritmen snabbare konvergerar mot lösningar som matchar det man är ute efter. Men å andra sidan kan elitismen göra att algoritmen fastnar i ett lokalt maximum (eller minimum) och aldrig hittar den bästa lösningen. ock används elitism ofta i genetiska algoritmer, så det måste uppfattas som mer positivt än negativt. 7

9 Crossover-metoder Crossover innebär som tidigare nämnts att två kromosomer korsas med varandra och skapar en avkomma. Någon form av crossover brukar nästan alltid genomföras i en genetisk algoritm, på de utvalda föräldrarna. et brukar dock finnas en liten sannolikhet att ingen crossover genomförs, vilket då innebär att kromosomerna kopieras som de är till nästa generation. et finns olika typer av crossover-metoder och nedan presenteras några av dem: Single Point Crossover En slumpmässig genposition på kromosomsträngen väljs ut och delar in föräldrakromosomerna i två halvor. Sedan får det ena barnet en kopia av den ena förälderns första halva, följd av den andra förälderns andra halva. För det andra barnet blir det tvärtom. Figur 4 visar hur det kan gå till för binära kromosomer Figur 4. Ett exempel på Single Point Crossover mellan binära kromosomer Two Point Crossover enna crossover-metod fungerar som Single Point Crossover förutom att det är runt två punkter man byter plats på gener. Uniform Crossover en här crossover-metoden leder till större variationer hos avkomman, eftersom den inte har en speciell crossover-punkt utan flera, vilka bestäms slumpmässigt. 8

10 Mutation Om man endast använder crossover när man skapar nya kromosomer, finns det en risk att man missar några bra lösningar på grund av att det var svårt att kombinera ihop dessa från endast de gener som finns i nuvarande population. Man kan också säga att algoritmen utforskar för lite. En lösning på detta är mutation. etta innebär att vissa gener hos vissa kromosomer (som nyligen har skapats) väljs ut för att förändras (muteras) på något sätt. Mutation är bra på så vis att den får algoritmen att utforska mer och ger en större variation på kromosomerna. Men för mycket mutation är dock inte bra heller. å blir algoritmen slumpmässig på grund av allt för många förändringar av gener. et är alltså bäst att ha en ganska låg sannolikhet för att kromosomer ska muteras. Men forskning har visat att om man startar en genetisk algoritm med en hög mutationssannolikhet, som sedan minskar exponentiellt med antalet generationer, så får man en säkrare och snabbare algoritm. [Engelbrecht2002] Man kan också säga att det ofta är bättre att mutera individer med dålig fitness än de vars fitness är bra, eftersom man inte vill riskera att försämra de bästa individerna. Mutation är också viktig när initialpopulationen saknar en viktig bit av lösningen. [Luger2002] et finns olika mutationsmetoder. Nedan följer en beskrivning av några av dem: Slumpmässig mutation enna mutationsmetod gäller binärt representerade kromosomer och fungerar så att gener slumpmässigt väljs ut för mutation. Själva mutationen består av att man inverterar det valda värdet (1 blir 0 och tvärtom). Inordermutation enna mutationsmetod gäller också binärt representerade kromosomer och fungerar som slumpmässig mutation förutom att de gener som muteras befinner sig inom ett område som avgränsas av två punkter. essa punkter bestäms slumpmässigt. Permutationsmutation enna typ av mutation kan man använda till permutationsproblem..v.s. problem där det gäller att kombinera ihop vissa saker i rätt ordning. Varje kromosom i ett sådant problem består av olika heltal och mutationen görs genom att man väljer ut två heltal som får byta plats med varandra. Mutation med flyttalsrepresentation När man representerar en kromosom med en mängd olika flyttal, så brukar mutationen göras lite annorlunda: Man väljer ut några olika gener från kromosomen och muterar dessa genom att addera eller subtrahera ett litet flyttal från genens värde. 9

11 Ett exempel på ett problem: 8 damer-problemet etta problem är välkänt och passar bra för att lösas med en genetisk algoritm. Beskrivning: Man har en vanlig schackspelplan (8 x 8 rutor) och åtta damer, vilka får röra sig enligt vanliga schackregler. Problemet är hur man ska placera ut dessa damer så att ingen av dem attackerar någon annan. [Russel/Norvig] Figur 5 visar ett (misslyckat) försök till en lösning på detta. Figur 5. Ett exempel på 8 damer-problemet. Färgmarkeringarna visar vilka damer som blir attackerade av någon annan. Kromosomrepresentation I detta problem utgör varje kromosom ett sätt att placera ut alla åtta damerna på schackbrädet. Eftersom en av reglerna man måste följa är att ingen dam får stå i samma kolumn som en annan, brukar man göra så att varje dam står i en egen kolumn. Sedan kan man låta varje gen representeras av vilken rad som varje dam står på. Figur 6 visar ett exempel på en sådan kromosom (och motsvarar Figur 5) Figur 6. Kromosomen som motsvarar damuppställningen i Figur 5. Fitnessfunktion En tänkbar fitnessfunktion för detta problem kan vara en funktion som räknar ut hur många damer som inte blir attackerade av, eller attackerar, någon annan. etta medför att algoritmen kan ha som stoppvillkor att minst en kromosom med fitness 8 har skapats. Selektionsmetod Jag har valt rangbaserad selektion, för att inte riskera att en kromosom dominerar över de andra. Crossover-metod Jag har valt Single Point Crossover för att det är en enkel metod som passar för problemet. 10

12 Mutationsmetod För detta problem har jag valt att använda en domänspecifik mutation. Jag sätter en låg sannolikhet för mutation för alla kromosomer och för varje utvald kromosom gör jag följande: Jag tar en slumpvis vald position på kromosomsträngen och slumpar fram ett nytt värde, mellan 1 8, på dess gen. Elitism Jag föredrar att använda elitism för det här problemet eftersom det oftast medför en positiv effekt och jag tror att algoritmen hittar en lösning snabbare med hjälp av detta. AVSLUTANE ISKUSSION I denna rapport har jag försökt ta upp de grundläggande begreppen som hör till ämnet genetiska algoritmer. Sist skulle jag vilja ta upp några fördelar med genetiska algoritmer: Man kan säga att genetiska algoritmer till stor del har sin styrka i Crossover-metoden. et beror på dess förmåga att kombinera stora block av gener som har utvecklats oberoende av varandra, för att skapa en ny lösning vilken med stor sannolikhet är bättre än dess förfäder. En genetisk algoritm passar bra för problem där sökrymden är alltför stor för att kunna gås igenom i sin helhet. en hittar oftast en bra lösning, men det är inte säkert att den är optimal. Algoritmen är ofta tidskrävande också. I praktiken har genetiska algoritmer haft en bred påverkan på lösningen av optimeringsproblem som t.ex. layoutproblem av kretskort och schemaläggning. [Russel/Norvig2003] Men det går ännu inte att peka ut något område där genetiska algoritmer utan tvekan är den bästa lösningen. Framtiden får utvisa hur det blir med den frågan. 11

13 REFERENSER [Engelbrecht2002] Andries P. Engelbrecht, Computational intelligence An introduction, sidorna , [Luger2002] George F Luger, ARTIFICIAL INTELLIGENCE Structures and Strategies for Complex Problem Solving, 4:e upplagan, sidorna , [Russel/Norvig] Stuart Russel och Peter Norvig, Artificial Intelligence A Modern Approach, 2:a utgåvan, sidorna , Referenser från Internet: [Obitko] Obitko, Marek. GENETIC ALGORITMS. Skriven på Czech Technical University, handledare: Assoc. Professor Pavel Slavík < (11 okt 2005) [Wikipedia] Elektroniskt uppslagsverk, (10 okt 2005) [Yen] Yen, Gory G, School of Electrical and Computer Engineering Intelligent Systems and Control Laboratory, (11 okt 2005) Lästips en ovan nämnda länken [Obitko] är en mycket bra sida för den som vill lära sig mer om genetiska algoritmer på ett bra och pedagogiskt sätt. Sidan innehåller också körningsexempel, så man får se hur en G.A. arbetar. 12

Genetiska algoritmer. Henrik Hansson (hhn00001@student.mdh.se) Rapport, CDT212 Mälardalens Högskola

Genetiska algoritmer. Henrik Hansson (hhn00001@student.mdh.se) Rapport, CDT212 Mälardalens Högskola Genetiska algoritmer Henrik Hansson (hhn00001@student.mdh.se) Rapport, CDT212 Mälardalens Högskola 1 Sammanfattning Genetiska algoritmer har rötter i 60-talet och efterliknar evolutionsteorin på så sätt

Läs mer

Genetiska Algoritmer. 10 mars 2014

Genetiska Algoritmer. 10 mars 2014 Genetiska Algoritmer Johan Sandberg Jsg11008@student.mdh.se 10 mars 2014 Niklas Strömberg Nsg11001@student.mdh.se 1 SAMMANFATTNING Genetiska algoritmer är en sorts sökalgoritm som är till för att söka

Läs mer

Genetisk programmering i Othello

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

Läs mer

Grundläggande Idéer Algoritmens komponenter Numerisk optimering Genetisk Programmering. Genetiska Algoritmer

Grundläggande Idéer Algoritmens komponenter Numerisk optimering Genetisk Programmering. Genetiska Algoritmer Genetiska Algoritmer 1 Grundläggande Idéer 2 3 4 Exempel Parallell optimering inspirerad av biologisk evolution Parallell optimering inspirerad av biologisk evolution Population av hypoteser Urvalprocess

Läs mer

HKGBB0, Artificiell intelligens

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

Läs mer

Genetiska algoritmer. vem raggar på vem? Petter Bergqvist, kogvet 2

Genetiska algoritmer. vem raggar på vem? Petter Bergqvist, kogvet 2 Genetiska algoritmer vem raggar på vem?, kogvet 2 petbe082@student.liu.se petbe082@student.liu.se 2(13) Jag har valt att skriva om genetiska algoritmer för att jag finner metoden ytterst intressant, att

Läs mer

Regression med Genetiska Algoritmer

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

Läs mer

Fördjupningsuppgift 729G43 Linköpings Universitet alelo408. Genetisk börshandel. Att hitta mönster i börsmarknaden med genetiska algoritmer

Fördjupningsuppgift 729G43 Linköpings Universitet alelo408. Genetisk börshandel. Att hitta mönster i börsmarknaden med genetiska algoritmer Genetisk börshandel Att hitta mönster i börsmarknaden med genetiska algoritmer Alexander Löfstrand HT 2017 1. Inledning 1.1. Bakgrund Börsmarknaden är full av möjligheter att tjäna pengar, men även på

Läs mer

Genetiska algoritmer

Genetiska algoritmer GA Genetiska algoritmer Warwick Tucker Matematiska institutionen Uppsala universitet warwick@math.uu.se 1 Reseproblem Reseproblem Du önskar att resa inom Europa genom att besöka London, Paris, Rom, Stockholm

Läs mer

Genetiska Algoritmer

Genetiska Algoritmer Linköpings Universitet Intutionen för datavetenskap Artificiell Intelligens HKGBB0 HT-2003, oktober Genetiska Algoritmer Som problemlösning Anna Skoglund annsk334@student.liu.se 0 Abstract Genetiska algoritmer

Läs mer

Interaktion med den genetiska algorithmen GenJam

Interaktion med den genetiska algorithmen GenJam Interaktion med den genetiska algorithmen GenJam - Linköpings Universitet HT 2012 Innehållsförteckning Innehållsförteckning... 1 Inledning... 2 Ordtabell... 2 Vad är en Genetisk Algorithm... 2 IGA, Interaktiv

Läs mer

GenJam En musikalisk genetisk algoritm?

GenJam En musikalisk genetisk algoritm? GenJam En musikalisk genetisk algoritm? Kognitionsvetenskapliga programmet Abstract GenJam är en modell av en jazzmusiker som lär sig att improvisera. Det är en interaktiv genetisk algoritm som interagerar

Läs mer

Sammanfattning Arv och Evolution

Sammanfattning Arv och Evolution Sammanfattning Arv och Evolution Genetik Ärftlighetslära Gen Information om ärftliga egenskaper. Från föräldrar till av komma. Tillverkar proteiner. DNA (deoxiribonukleinsyra) - DNA kan liknas ett recept

Läs mer

Genetik en sammanfattning

Genetik en sammanfattning Genetik en sammanfattning Pär Leijonhufvud $\ BY: 3 februari 2015 C Innehåll Inledning 2 Klassisk genentik 2 Gregor Mendel munken som upptäckte ärftlighetens lagar....... 2 Korsningsrutor, ett sätt att

Läs mer

Genetiska algoritmer hur påverkar dess parametrar evolutionen? ANDERS SANDSTRÖM och MARKUS ÖSTBERG

Genetiska algoritmer hur påverkar dess parametrar evolutionen? ANDERS SANDSTRÖM och MARKUS ÖSTBERG Genetiska algoritmer hur påverkar dess parametrar evolutionen? ANDERS SANDSTRÖM och MARKUS ÖSTBERG Examensarbete Stockholm, Sverige 2011 Genetiska algoritmer hur påverkar dess parametrar evolutionen? ANDERS

Läs mer

DYNAMISK SVÅRIGHETSGRAD MED GENETISK ALGORITM. En jämförelse mellan två tekniker för att snabba upp processen

DYNAMISK SVÅRIGHETSGRAD MED GENETISK ALGORITM. En jämförelse mellan två tekniker för att snabba upp processen DYNAMISK SVÅRIGHETSGRAD MED GENETISK ALGORITM En jämförelse mellan två tekniker för att snabba upp processen Examensarbete inom huvudområdet Datalogi Grundnivå 30 högskolepoäng Vårtermin 2012 Jesper Larsson

Läs mer

Mångfald inom en art. Genotyp. Genpool. Olika populationer. Fig En art definieras som

Mångfald inom en art. Genotyp. Genpool. Olika populationer. Fig En art definieras som Mångfald inom en art Population och art. Vad är skillnaden? Vad är en art? Genetisk variation Genetiskt olika populationer Tillämpningar av genetisk variation Etiska problem En art En art definieras som

Läs mer

Agent som lär sig. Maskininlärning. Genetiska algoritmer. Typer av återkoppling. ! Introduktion. ! Genetiska algoritmer!

Agent som lär sig. Maskininlärning. Genetiska algoritmer. Typer av återkoppling. ! Introduktion. ! Genetiska algoritmer! Maskininlärning gent som lär sig! Introduktion Yttre standard/återkoppling! Genetiska algoritmer! Exempelinlärning! eslutsträdsinlärning! Version Space-inlärning Återkoppling Kritiserare Mål Inlärningselement

Läs mer

Mångfald inom en art. Genotyp. Genpool. Olika populationer. Fig En art definieras som

Mångfald inom en art. Genotyp. Genpool. Olika populationer. Fig En art definieras som Mångfald inom en art Population och art. Vad är skillnaden? Vad är en art? Genetisk variation Genetiskt olika populationer Tillämpningar av genetisk variation Etiska problem En art En art definieras som

Läs mer

Kapitel 13. Genetiska algoritmer

Kapitel 13. Genetiska algoritmer Kapitel 13. Genetiska algoritmer Som vi tidigare sett, är det i allmänhet svårt att finna det globala minimet för en funktion av många variabler. Det betyder också att det inte är lätt att hitta på en

Läs mer

Handledare: Mikael Goldmann

Handledare: Mikael Goldmann 2012-02- 23 Jacob Rydh Robert Hedin Sudoku Solver Projektspecifikation Handledare: Mikael Goldmann Introduktion Vi ska studera och utforma olika algoritmer för att lösa Sudoku puzzel. Vi kommer testa olika

Läs mer

Linköpings Universitet Sonnerfjord HKGBB0, Artificiell Intelligens danso393 Fördjupningsuppgift Vt 2007. Genetiska algoritmer i flygtrafikledning

Linköpings Universitet Sonnerfjord HKGBB0, Artificiell Intelligens danso393 Fördjupningsuppgift Vt 2007. Genetiska algoritmer i flygtrafikledning Genetiska algoritmer i flygtrafikledning Sammanfattning: I denna fördjupningsuppgift i artificiell intelligens ges en inblick i genetiska algoritmer i flygtrafikledningsdomänen. Arbetet har genomförts

Läs mer

Symboler och abstrakta system

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

Läs mer

Evolution. Hur arter uppstår, lever och försvinner

Evolution. Hur arter uppstår, lever och försvinner Evolution Hur arter uppstår, lever och försvinner Aristoteles 384-322 f.kr Idéhistoria Carl von Linné 1707-1778 Georges de Buffon 1707-1788 Jean Babtiste Lamarck 1744-1829 Idéhistoria Cuvier Malthus Lyell

Läs mer

Tensta Gymnasium Per Anderhag 2005 Biologi A Naturligt urval Selektionstryck på Björkmätare 1

Tensta Gymnasium Per Anderhag 2005 Biologi A Naturligt urval Selektionstryck på Björkmätare 1 Naturligt urval Selektionstryck på Björkmätare 1 Laborationen bygger på den evolution som skett på nattfjärilen björkmätare (Biston betularia) i England. Fjärilen sitter på trädstammar och finns i två

Läs mer

Uppdelning av ett artificiellt neuralt nätverk

Uppdelning av ett artificiellt neuralt nätverk Uppdelning av ett artificiellt neuralt nätverk Kandidatarbete utfört av: Björn Eklund Spelprogrammering årskurs 2009 Blekinge Tekniska Högskolan bjorneklund86@gmail.com Handledare: Stefan Johansson Blekinge

Läs mer

Flyttal kan också hantera vanliga tal som både 16- och 32-bitars dataregister hanterar.

Flyttal kan också hantera vanliga tal som både 16- och 32-bitars dataregister hanterar. FLYTTAL REAL Flyttal används i datorsystem för s k flytande beräkning vilket innebär att decimalkommat inte har någon fix (fast) position. Flyttal består av 2 delar (mantissa och exponent). När ett datorsystem

Läs mer

Genetik, Gen-etik och Genteknik

Genetik, Gen-etik och Genteknik Genetik, Gen-etik och Genteknik Syfte och innehåll Att utveckla kunskap om det genetiska arvet och genteknikens möjligheter. Arbetssätt Vi kommer att varva föreläsningar, diskussioner, arbetsuppgifter

Läs mer

Slump och statistik med Scratch. Se video

Slump och statistik med Scratch. Se video Se video I lektionen simuleras hundratals tärningskast på kort tid. Eleverna får skapa en statistikapplikation och lära sig att skapa och modifiera algoritmer. Måns Jonasson, Internetstiftelsen, har arbetat

Läs mer

Inledande programmering med C# (1DV402) Summera med while"-satsen

Inledande programmering med C# (1DV402) Summera med while-satsen Summera med while"-satsen Upphovsrätt för detta verk Inledande programmering med C# (1DV402) Detta verk är framtaget i anslutning till kursen Inledande programmering med C# vid Linnéuniversitetet. Du får

Läs mer

Evolution. Hur arter uppstår, lever och försvinner

Evolution. Hur arter uppstår, lever och försvinner Evolution Hur arter uppstår, lever och försvinner Aristoteles 384-322 f.kr Idéhistoria Carl von Linné 1707-1778 Georges de Buffon 1707-1788 Jean Babtiste Lamarck 1744-1829 De fem rikena Växter Djur Svampar

Läs mer

CSI - Katte DNA-fingerprinting Välkänt från polisarbete. Metoden föddes 1985 i England. Från början krävdes stora mängder DNA, men nu funkar även mycket små mängder. DNA-sekvens Användning Metoden

Läs mer

Uppgift 1 (14p) lika stor eller mindre än den förväntade poängen som efterfrågades i deluppgift d? Endast svar krävs, ingen motivering.

Uppgift 1 (14p) lika stor eller mindre än den förväntade poängen som efterfrågades i deluppgift d? Endast svar krävs, ingen motivering. Uppgift 1 (14p) I en hockeymatch mellan lag A och lag B leder lag A med 4-3 när det är en kvart kvar av ordinarie matchtid. En oddssättare på ett spelbolag behöver bestämma sannolikheten för de tre matchutfallen

Läs mer

Strategier för urval av sjöar som ska ingå i den sexåriga omdrevsinventeringen av vattenkvalitet i svenska sjöar

Strategier för urval av sjöar som ska ingå i den sexåriga omdrevsinventeringen av vattenkvalitet i svenska sjöar Strategier för urval av sjöar som ska ingå i den sexåriga omdrevsinventeringen av vattenkvalitet i svenska sjöar Rapportering av uppdrag 216 0648 från Naturvårdsverket Ulf Grandin Department of Environmental

Läs mer

Artificiell Musik? AI som kompositör 2001-10-18

Artificiell Musik? AI som kompositör 2001-10-18 Artificiell Intelligens HKGBB0 Kognitionsvetenskapliga programmet, HT 2001 Institutionen för Datavetenskap, Linköpings universitet Artificiell Musik? AI som kompositör 2001-10-18 "Musik ska byggas utav

Läs mer

Kort Sammanfattning av Schack MAS

Kort Sammanfattning av Schack MAS Kort Sammanfattning av Schack MAS Krister Ljung kljung@kth.se 6th April 2003 1 Bamse 1.1 Agenter 1.1.1 Bamse Bestämmer vilket drag som skall skickas till spelplanen. Har även nio öppningar att spela dom

Läs mer

Genetisk variation är livsviktig för vitaliteten och ganska snabbt även en förutsättning för överlevnaden hos en art.

Genetisk variation är livsviktig för vitaliteten och ganska snabbt även en förutsättning för överlevnaden hos en art. Naturens behov av genetisk variation Genetisk variation är livsviktig för vitaliteten och ganska snabbt även en förutsättning för överlevnaden hos en art. Då vi benämner en art i naturen som utrotningshotad

Läs mer

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

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

Läs mer

Uppgifter 6: Kombinatorik och sannolikhetsteori

Uppgifter 6: Kombinatorik och sannolikhetsteori Grunder i matematik och logik (2017) Uppgifter 6: Kombinatorik och sannolikhetsteori Marco Kuhlmann Kombinatorik Nivå A 6.01 En meny består av tre förrätter, fem huvudrätter och två efterrätter. På hur

Läs mer

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

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

Läs mer

Evolution. Hur arter uppstår, lever och försvinner

Evolution. Hur arter uppstår, lever och försvinner Evolution Hur arter uppstår, lever och försvinner Aristoteles 384-322 f.kr Idéhistoria Carl von Linné 1707-1778 Georges de Buffon 1707-1788 Jean Babtiste Lamarck 1744-1829 1. Eukaryoter Tre domäner 2.

Läs mer

Ontologier. Cassandra Svensson 2014-01-09

Ontologier. Cassandra Svensson 2014-01-09 Ontologier Cassandra Svensson 2014-01-09 Sammanfattning Jag har läst Annika Flycht-Ericssons avhandling Design and Use of Ontoligies in information-providing Dialogue Systems. Med Annikas text som utgångspunkt

Läs mer

Vad man bör tänka på när man har en liten ras? Erling Strandberg, professor vid institutionen för husdjursgenetik, SLU, Uppsala

Vad man bör tänka på när man har en liten ras? Erling Strandberg, professor vid institutionen för husdjursgenetik, SLU, Uppsala Vad man bör tänka på när man har en liten ras? Erling Strandberg, professor vid institutionen för husdjursgenetik, SLU, Uppsala Norsk Buhund är en ganska liten ras i Sverige. För en liten ras finns det

Läs mer

Talsystem Teori. Vad är talsystem? Av Johan Johansson

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

Läs mer

Utveckling av artificiell intelligens med hjälp av Genetiska tekniker och Artificiella neurala nätverk Philip Ruuska Boquist

Utveckling av artificiell intelligens med hjälp av Genetiska tekniker och Artificiella neurala nätverk Philip Ruuska Boquist Institutionen för kommunikation och information Examensarbete i datavetenskap 30hp C-nivå Vårterminen 2009 Utveckling av artificiell intelligens med hjälp av Genetiska tekniker och Artificiella neurala

Läs mer

Grunderna i stegkodsprogrammering

Grunderna i stegkodsprogrammering Kapitel 1 Grunderna i stegkodsprogrammering Följande bilaga innehåller grunderna i stegkodsprogrammering i den form som används under kursen. Vi kommer att kort diskutera olika datatyper, villkor, operationer

Läs mer

Grundläggande datavetenskap 4p

Grundläggande datavetenskap 4p Grundläggande datavetenskap 4p Stefan.Pettersson@mh.se http://www.itm.mh.se/~stepet Kursinformation Planering Läsanvisningar Föreläsningsbilder Övningsuppgifter Laborationer 2004-11-04 IT och Medier 1

Läs mer

EVOLUTIONENS DRIVKRAFTER ARTBILDNING

EVOLUTIONENS DRIVKRAFTER ARTBILDNING EVOLUTIONENS DRIVKRAFTER ARTBILDNING Evolutionen på 60 sek https://www.youtube.com/watch?v=oiwde6opvz U Vad är evolutionen (8 min)? https://www.youtube.com/watch?v=ghhojc4oxh8 Hur fungerar evolutionen

Läs mer

Slump och statistik med Scratch

Slump och statistik med Scratch Lektionen handlar om att simulera tärningskast och skapa en statistikapplikation genom att arbeta med modifiera algoritmer. Lektionsförfattare: Måns Jonasson En digital lektion från https://digitalalektioner.iis.se

Läs mer

Den evolutionära scenen

Den evolutionära scenen Den evolutionära scenen Det finns en del att förklara Där allt händer Skapande Evolutionsteorin Gibboner Orangutang Gorilla Människa Schimpans Bonobo Naturligt urval Artbildning Livet har en historia Gemensamt

Läs mer

Tillämpbarheten av Learning Backtracking Search Optimization Algoritmen vid Lösning av Sudokuproblemet

Tillämpbarheten av Learning Backtracking Search Optimization Algoritmen vid Lösning av Sudokuproblemet Tillämpbarheten av Learning Backtracking Search Optimization Algoritmen vid Lösning av Sudokuproblemet The Application of the Learning Backtracking Search Optimization Algorithm when Applied to the Sudoku

Läs mer

TDP Regler

TDP Regler Regler Student får lämna salen tidigast en timme efter tentans start. Vid toalettbesök eller rökpaus ska pauslista utanför salen fyllas i. All form av kontakt mellan studenter under tentans gång är strängt

Läs mer

Struktur: Elektroteknik A. Digitalteknik 3p, vt 01. F1: Introduktion. Motivation och målsättning för kurserna i digital elektronik

Struktur: Elektroteknik A. Digitalteknik 3p, vt 01. F1: Introduktion. Motivation och målsättning för kurserna i digital elektronik Digitalteknik 3p, vt 01 Struktur: Elektroteknik A Kurslitteratur: "A First Course in Digital Systems Design - An Integrated Approach" Antal föreläsningar: 11 (2h) Antal laborationer: 4 (4h) Examinationsform:

Läs mer

SF2715 Tillämpad kombinatorik, 6hp

SF2715 Tillämpad kombinatorik, 6hp SF75 Tillämpad kombinatorik, 6hp Fortsättningskurs i matematik 7 mars 7 maj 009 Kursledare: Jakob Jonsson Upplägg 6 hp = p enligt gamla systemet 8 dubbeltimmar med teori och problemlösning Kursbok och

Läs mer

TDDC77 Objektorienterad Programmering

TDDC77 Objektorienterad Programmering TDDC77 Objektorienterad Programmering Föreläsning 5 Sahand Sadjadee IDA, Linköpings Universitet Hösttermin 2018 Outline Arrayer Metoder Räckvidd och Livslängd Arrayer Vända om inlästa värdena Vända om

Läs mer

Artificiell intelligens som utvecklingsverktyg

Artificiell intelligens som utvecklingsverktyg Institutionen för kommunikation och information Artificiell intelligens som utvecklingsverktyg En studie i datorgenererade nivåer Joacim Marklund Examensarbete i datavetenskap med inriktning mot dataspelsutveckling

Läs mer

F2 Datarepresentation talbaser, dataformat och teckenkodning

F2 Datarepresentation talbaser, dataformat och teckenkodning F2 Datarepresentation talbaser, dataformat och teckenkodning EDAA05 Roger Henriksson Jonas Wisbrant Datarepresentation I en dator lagras och behandlas all information i form av binära tal ettor och nollor.

Läs mer

AI TILL BRÄDSPEL En jämförelse mellan två olika sökalgoritmer vid implementation av AI till brädspelet Pentago.

AI TILL BRÄDSPEL En jämförelse mellan två olika sökalgoritmer vid implementation av AI till brädspelet Pentago. AI TILL BRÄDSPEL En jämförelse mellan två olika sökalgoritmer vid implementation av AI till brädspelet Pentago. AI FOR BOARD GAMES A comparison of two search algorithms by implementation of AI for the

Läs mer

Jämförelse av skrivtekniker till cacheminne

Jämförelse av skrivtekniker till cacheminne Jämförelse av skrivtekniker till cacheminne 1 Innehåll 1. Sammanfattning 2. Inledning 3. Diskussion 4. Referenslista 1. Sammanfattning En rapport innehållande jämförelser av olika skrivtekniker till minnen

Läs mer

Huntingtons sjukdom forsknings nyheter. I klartext Skriven av forskare För de globala HS medlemmarna. Att få barn: bilda familj

Huntingtons sjukdom forsknings nyheter. I klartext Skriven av forskare För de globala HS medlemmarna. Att få barn: bilda familj Huntingtons sjukdom forsknings nyheter. I klartext Skriven av forskare För de globala HS medlemmarna. Att få barn: bilda familj Att få barn: HDBuzz s reportage om olika fertilitetstekniker som kan hjälpa

Läs mer

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

729G43 Artificiell intelligens (2016) Maskininlärning 2. Marco Kuhlmann Institutionen för datavetenskap 729G43 Artificiell intelligens (2016) Maskininlärning 2 Marco Kuhlmann Institutionen för datavetenskap Förra gången: Gradientsökning tangentens lutning i punkt θ steglängdsfaktor Översikt Introduktion

Läs mer

Procedurella Texturer

Procedurella Texturer Institutionen för kommunikation och information Examensarbete i datalogi 30hp C-nivå Vårterminen 2008 Procedurella Texturer Skapande av en procedurell textur utifrån en referensbild med hjälp av en genetisk

Läs mer

Genom att följa dessa steg lär du dig snabbt att spela onlinematcher... och som du kan se är det mycket enkelt, roligt och spännande!

Genom att följa dessa steg lär du dig snabbt att spela onlinematcher... och som du kan se är det mycket enkelt, roligt och spännande! HUR MAN SPELAR ONLINE Genom att följa dessa steg lär du dig snabbt att spela onlinematcher... och som du kan se är det mycket enkelt, roligt och spännande! 0. SKAPA DITT EGET PERSONLIGA EMBLEM OCH DINA

Läs mer

Optimering av boids med genetiska algoritmer Mattias Sossna

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

Läs mer

Tolkning av resultat för genetiskt test av LPN1

Tolkning av resultat för genetiskt test av LPN1 Tolkning av resultat för genetiskt test av LPN1 Fri (N/N): En fri hund har två kopior av den normala genen (även kallat homozygot normal). Men detta resultat utesluter inte möjligheten att en hund kan

Läs mer

Urvalsmetoder: Stratifierat urval (kap 9.5)

Urvalsmetoder: Stratifierat urval (kap 9.5) F4 Urvalsmetoder: Stratifierat urval (kap 9.5) Tidigare exempel Vi undersökte tidigare medellönen i ett företag med N = 500 anställda. Vi fick ett konfidensintervall: Vi vet att några förklaringsvariabler

Läs mer

Datoraritmetik. Från labben. Från labben. Några exempel

Datoraritmetik. Från labben. Från labben. Några exempel Datoraritmetik Beräkningsvetenskap I Från labben Två huvudtyper av fel: diskretiseringsfel och avrundningsfel Olika sätt att mäta fel: relativt fel, absolut fel Begreppen ε M, Inf, NaN, overflow, underflow,

Läs mer

Denna pdf-fil är nedladdad från Illustrerad Vetenskaps webbplats (www.illvet.com) och får ej lämnas vidare till tredjepart.

Denna pdf-fil är nedladdad från Illustrerad Vetenskaps webbplats (www.illvet.com) och får ej lämnas vidare till tredjepart. Käre användare! Denna pdf-fil är nedladdad från Illustrerad Vetenskaps webbplats (www.illvet.com) och får ej lämnas vidare till tredjepart. Av hänsyn till innehåller den inga foton. Med vänlig hälsning

Läs mer

Totalt finns det alltså 20 individer i denna population. Hälften, dvs 50%, av dem är svarta.

Totalt finns det alltså 20 individer i denna population. Hälften, dvs 50%, av dem är svarta. EVOLUTION Tänk dig att det på en liten ö i skärgården finns 10 st honor av den trevliga insekten långvingad muslus. Fem av dessa är gula med svarta fläckar och fem är helsvarta. Det är samma art, bara

Läs mer

EVOLUTIONÄR LEVELDESIGN LEVELDESIGN MED GENETISKA ALGORITMER

EVOLUTIONÄR LEVELDESIGN LEVELDESIGN MED GENETISKA ALGORITMER EVOLUTIONÄR LEVELDESIGN LEVELDESIGN MED GENETISKA ALGORITMER Examensarbete Systemarkitekturutbildningen Daniel Johansson Rasmus Nygren 2012:KSAI02 Systemarkitekturutbildningen är en kandidatutbildning

Läs mer

Uppgift 1 ( Betyg 3 uppgift )

Uppgift 1 ( Betyg 3 uppgift ) Uppgift 1 ( Betyg 3 uppgift ) Skriv ett program, Draw_Hexagones, som ritar ut en bikupa enligt körexemplen nedan. Exempel 1: Mata in storlek på bikupan: 1 + / \ + + + + \ / + Exempel 3: Mata in storlek

Läs mer

Föreläsning G70, 732G01 Statistik A

Föreläsning G70, 732G01 Statistik A Föreläsning 3 732G70, 732G01 Statistik A Introduktion till sannolikhetslära Sannolikhetslära: område inom statistiken där vi studerar experiment vars utfall beror av slumpen Sannolikhet: numeriskt värde

Läs mer

Hästhopp. Detta är en övning som tränar olika problemlösningsstrategier och statistik. Den lämpar sig för år 4 och uppåt

Hästhopp. Detta är en övning som tränar olika problemlösningsstrategier och statistik. Den lämpar sig för år 4 och uppåt Hästhopp Detta är en övning som tränar olika problemlösningsstrategier och statistik. Den lämpar sig för år 4 och uppåt Sammanfattning: Övningen är en promenad på ett schackbräde med enbart en häst. Den

Läs mer

Micro:bit. Börja skapa egna program

Micro:bit. Börja skapa egna program Micro:bit Börja skapa egna program Att programmera är mer än att skriva kod 1. När man ska bygga något behövs först en ritning. Formulera i talspråk vad programmet ska göra. 2. Förbered att skriva koden

Läs mer

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

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

Läs mer

Three Monkeys Trading. Tärningar och risk-reward

Three Monkeys Trading. Tärningar och risk-reward Three Monkeys Trading Tärningar och risk-reward I en bok vid namn A random walk down Wall Street tar Burton Malkiel upp det omtalade exemplet på hur en apa som kastar pil på en tavla genererar lika bra

Läs mer

JavaScript del 5 Funktioner

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

Läs mer

Vinjetter TDDC91 Datastrukturer och algoritmer

Vinjetter TDDC91 Datastrukturer och algoritmer Vinjetter TDDC91 Datastrukturer och algoritmer 17 augusti 2015 2 Scenario 1 Man har inom Posten Logistik AB skrivit programvara för sortering av kundinformation och vill standardisera användningen av sorteringsalgoritmer.

Läs mer

LAB 1. FELANALYS. 1 Inledning. 2 Flyttal. 1.1 Innehåll. 2.1 Avrundningsenheten, µ, och maskinepsilon, ε M

LAB 1. FELANALYS. 1 Inledning. 2 Flyttal. 1.1 Innehåll. 2.1 Avrundningsenheten, µ, och maskinepsilon, ε M TANA21+22/ 5 juli 2016 LAB 1. FELANALYS 1 Inledning I laborationerna används matrishanteringsprogrammet MATLAB. som genomgående använder dubbel precision vid beräkningarna. 1.1 Innehåll Du ska 1. bestämma

Läs mer

Likhetstecknets innebörd

Likhetstecknets innebörd Modul: Algebra Del 5: Algebra som språk Likhetstecknets innebörd Följande av Görel Sterner (2012) översatta och bearbetade text bygger på boken: Carpenter, T. P., Franke, M. L. & Levi, L. (2003). Thinking

Läs mer

2D 4D. Flaskracet. strävorna

2D 4D. Flaskracet. strävorna 2D 4D Flaskracet begrepp resonemang sannolikhet Avsikt och matematikinnehåll Syftet med aktiviteten är att väcka frågor och diskussioner om srum och om skillnaden mellan (antal) och (andel). Det är viktigt

Läs mer

EXJOBBSOPPOSITION. Rapportförfattare: Hanif Farahmand Mokarremi Ashkan Jahanbakhsh

EXJOBBSOPPOSITION. Rapportförfattare: Hanif Farahmand Mokarremi Ashkan Jahanbakhsh EXJOBBSOPPOSITION Rapportförfattare: Hanif Farahmand Mokarremi Ashkan Jahanbakhsh Rapportens titel: Domän-Webb-Applikations-Fuzzer(DWAP) introduktion och implementation Opponent: Viktor Gummesson Var det

Läs mer

Föreläsning G70 Statistik A

Föreläsning G70 Statistik A Föreläsning 2 732G70 Statistik A Introduktion till sannolikhetslära Sannolikhetslära: område inom statistiken där vi studerar experiment vars utfall beror av slumpen Sannolikhet: numeriskt värde (mellan

Läs mer

kl Tentaupplägg

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

Läs mer

GRIDWORLD OCH MDP PROJEKTRAPPORT 729G43 MICHAEL JONASSON

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

Läs mer

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

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

Läs mer

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

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

Läs mer

Genetiskt Programmerad Musik

Genetiskt Programmerad Musik Genetiskt Programmerad Musik Function Set: play_two, add_space, play_twice, shift_up, shift_down, mirror, play_and_mirror Terminal Set: Notes: C-4, C#4, D-4, D#4, E-4, F-4, F#4, G-4, G#4, A-5, A#5, B-5

Läs mer

Uppgift 1 ( Betyg 3 uppgift )

Uppgift 1 ( Betyg 3 uppgift ) Uppgift 1 ( Betyg 3 uppgift ) Skriv ett program, Draw_Hexagones, som ritar ut en bikupa enligt körexemplen nedan. Exempel 1: Mata in storlek på bikupan: 1 Exempel 3: Mata in storlek på bikupan: 3 \ / \

Läs mer

F2 Binära tal EDA070 Datorer och datoranvändning

F2 Binära tal EDA070 Datorer och datoranvändning Datarepresentation F2 Binära tal EDA070 Roger Henriksson I en dator lagras och behandlas all information i form av binära tal ettor och nollor. En binär siffra kallas för en bit BInary digit. Ett antal

Läs mer

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

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

Läs mer

Tentamen i Programmering grundkurs och Programmering C

Tentamen i Programmering grundkurs och Programmering C 1 of 7 Örebro universitet Institutionen för teknik Thomas Padron-McCarthy (thomas.padron-mccarthy@oru.se) Tentamen i Programmering grundkurs och Programmering C för D1 m fl, även distanskursen fredag 15

Läs mer

Digital- och datorteknik

Digital- och datorteknik Digital- och datorteknik Föreläsning #24 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola Allmänt Behovet av processorinstruktioner för multiplikation

Läs mer

Shannon-Fano-Elias-kodning

Shannon-Fano-Elias-kodning Datakompression fö 5 p.1 Shannon-Fano-Elias-kodning Antag att vi har en minnesfri källa X i som tar värden i {1, 2,...,L}. Antag att sannolikheterna för alla symboler är strikt positiva: p(i) > 0, i. Fördelningsfunktionen

Läs mer

Genetik. Så förs arvsanlagen vidare från föräldrar till avkomma. Demokrati och struktur inom och mellan anlagspar

Genetik. Så förs arvsanlagen vidare från föräldrar till avkomma. Demokrati och struktur inom och mellan anlagspar Genetik Så förs arvsanlagen vidare från föräldrar till avkomma Hunden har 78st kromosomer i varje cellkärna, förutom i könscellerna (ägg och spermier) där antalet är hälften, dvs 39st. Då en spermie och

Läs mer

Datorsystemteknik DVG A03 Föreläsning 3

Datorsystemteknik DVG A03 Föreläsning 3 Datorsystemteknik DVG A03 Föreläsning 3 Datoraritmetik Större delen av materialet framtaget av :Jan Eric Larsson, Mats Brorsson och Mirec Novak IT-inst LTH Hur stora tal kan vi få med N bitar? Största

Läs mer

NEUROEVOLUTION MED TÄVLINGSINRIKTAD SAMEVOLUTION I FLERA MILJÖER MED ÖKANDE KOMPLEXITET

NEUROEVOLUTION MED TÄVLINGSINRIKTAD SAMEVOLUTION I FLERA MILJÖER MED ÖKANDE KOMPLEXITET M a l sk ap a d a v H e nr ik NEUROEVOLUTION MED TÄVLINGSINRIKTAD SAMEVOLUTION I FLERA MILJÖER MED ÖKANDE KOMPLEXITET NEUROEVOLUTION WITH COMPETITIVE COEVOLUTION IN MULTIPLE SCENES OF INCREASING COMPLEXITY

Läs mer

Genetik. - cellens genetik - individens genetik. Kap 6

Genetik. - cellens genetik - individens genetik. Kap 6 Genetik - cellens genetik - individens genetik Kap 6 Vad bestämmer hur en organism (cell) ser ut och fungerar? Generna (arvsanlagen) och miljön Hur går det till? En gen är en ritning för hur ett protein

Läs mer

F2 Datarepresentation talbaser, dataformat och teckenkodning EDAA05 Datorer i system! Roger Henriksson!

F2 Datarepresentation talbaser, dataformat och teckenkodning EDAA05 Datorer i system! Roger Henriksson! F2 Datarepresentation talbaser, dataformat och teckenkodning EDAA05 Roger Henriksson Von Neumann-arkitekturen Gemensamt minne för programinstruktioner och data. Sekventiell exekvering av instruktionerna.

Läs mer

HF0010. Introduktionskurs i datateknik 1,5 hp

HF0010. Introduktionskurs i datateknik 1,5 hp HF0010 Introduktionskurs i datateknik 1,5 hp Välkommna - till KTH, Haninge, Datateknik, kursen och till första steget mot att bli programmerare! Er lärare och kursansvarig: Nicklas Brandefelt, bfelt@kth.se

Läs mer