Genetiska Algoritmer. 10 mars 2014
|
|
- Gunnel Lindström
- för 7 år sedan
- Visningar:
Transkript
1 Genetiska Algoritmer Johan Sandberg 10 mars 2014 Niklas Strömberg 1
2 SAMMANFATTNING Genetiska algoritmer är en sorts sökalgoritm som är till för att söka upp lösningen på ett specifikt problem eller att optimera fram den bästa lösningen på ett problem. Genetiska algoritmer härmar den biologiska evolutionen genom att ta koncept som gener, arv, selektion, mutation, crossover och gör motsvarigheter i data-algoritmer. Rapporten går igenom de viktigaste elementen i uppbyggnaden av genetiska algoritmer och förklarar för och nackdelar med olika metoder och tillvägagångssätt som används när man hanterar genetiska algoritmer. Genetiska algoritmers viktigaste delar som rapporten går igenom är kromosomer, fitness, selektion och crossover. Historien om genetiska algoritmer tas upp och även lite kort om vad framtiden kan komma att erbjuda. Ett praktiskt exempel där en gräsklippares optimala väg räknas ut med hjälp av en genetisk algoritm redovisas i slutet av rapporten och författarnas egna tankar om genetiska algoritmer redovisas under slutsater. Innehållsförteckning SAMMANFATTNING
3 INLEDNING... 3 Metod... 4 Genetiska algoritmer... 5 Uppbyggnad & funktionalitet... 5 Kromosomer... 5 Fitness... 6 Selektion... 6 Crossover... 7 Praktisk användning... 9 Algoritmens steg Kromosomerna Crossover och mutation Slutfasen SLUTSATSER REFERENSER INLEDNING Genetiska algoritmer används inom datavetenskap som en metod för att söka efter och optimera fram den bästa lösningen på ett specifikt problem, man kan säga att algoritmen söker upp lösningen på problemet [Melanie 96]. Genetiska algoritmer ingår i området artificiell intelligens och härmar evolutionens naturliga selektion, man har tagit tekniker såsom arv, selektion, korsning, mutation och gjort motsvarigheter i data-algoritmer. 3
4 Genetiska algoritmer är byggda genom att man skapar en population av potentiella lösningar, dessa kallas kromosomer eller individer. Varje kromosom är i sin tur byggd av ett antal gener. Algoritmen stegar framåt, vilket kan liknas vid att en ny generation barn föds. Vilka nya barn som föds beror på vilka individer som parat sig i den tidigare generationen, detta beror i sin tur på individernas fitness (hur bra individen är för det specifika problemet). Desto bättre fitness desto större chans att få en avkomma. Detta innebär att om man stegar tillräckligt många gånger kommer individera alla likna den individ med bäst fitness till slut. För att algoritmen ska kunna söka ett större område efter den bästa individen finns det något som kallas för mutation, detta innebär att varje barn har en liten chans att slumpmässigt ändra sina gener. Om denna slumpmässiga mutation visar sig öka individens fitness kommer den nya genen att spridas. Tack vare mutation kan man öka chansen att hitta det bästa svaret på sitt problem. Lösningen på sitt problem hittar man då dom bästa individerna är oförändrade ett visst antal generationer. Antalet generationer är dock varierande. Genetiska algoritmer kan användas i ett väldigt brett område. Eftersom det är en simulering med målet att optimera eller söka efter bästa lösningen kan man hitta användning inom dom flesta ämnena. Vanliga områden är matematik, fysik, kemi, ekonomi, ingenjörskonst, datavetenskap, biologi, tillverkning och medicin [Wikipedia]. Historia Man började använda datorsimulationer för att simulera evolutionen redan så tidigt som 1950 och på 1960-talet blev denna typ av simulationer relativt vanliga. Under denna tid började man använda de viktigaste delarna i genetiska algoritmer, alltså samma delar vi även använder idag. Tack vare Ingo Rechenberg och Hans-Paul Schwefel lyckades man på 1960 och tidigt 1970-talet lösa svåra ingenjörsproblem genom evolutionära strategier (genetiska algoritmer) [Rechenberg 73]. Tack vare detta fick världen upp ögonen för genetiska algoritmer som en metod för att optimera olika lösningar. Som så många andra nya upptäckter hölls genetiska algoritmer till största delen teoretiskt i början. Intresset växte och i mitten av 1980-talet hade man världens första internationella konferens om genetiska algoritmer i Pittsburgh, Pennsylvania, USA. När datorkraften ökade dramatiskt för skrivbordsdatorer kunde man använda teorierna man byggt till att lösa problem med hjälp av genetisk algoritmer. I slutet av 1980-talet började general electric sälja världens första program som använder genetiska algoritmer, ett program gjort för industriella proccesser. År 1989 kom världens först kommersiella produkt för användning av genetiska algoritmer på skrivbordsdatorer, produkten släpptes av Axcelis, Inc och hette Evolver. Evolver var den ända kommersiella produkten för genetiska algoritmer fram till Idag är Evolver på sin sjätte version [Wikipedia]. Metod Information för att skapa denna rapport har hittats genom sökningar på Google. För att få en grundläggande förståelse för ämnet har wikipedia granskats. Värdefull information om genetiska algoritmers historia och tillämpningar har hittats där. 4
5 Många hemsidor från högskolor, universitet och andra utbildande hemsidor i Sverige och även internationellt har givit bra information om hur man praktiskt använder genetiska algoritmer och detta har använts i denna rapport. För att kunna skriva på en grundläggande nivå har det inte krävts allt för mycket grävande i akademisk litteratur och forskningartiklar. Detta har endast krävts för att få bra källor för vissa påståenden och för att försäkra sig om att man fått rätt information då det funnits motstridiga eller omdiskuterade uppgifter. En av rapportskribenterna har tidigare erfarenhet av AI och genetiska algoritmer då denne gått en högskolekurs dedikerad till detta ämne. Rapportskribenten har även erfarenhet av implementation av genetiska algoritmer. Denna kunskap har använts till att kunna formulera ett problem som sedan löses med hjälp av en genetisk algoritm. Genetiska algoritmer Uppbyggnad & funktionalitet En genetisk algoritm startar med att slumpa fram en population av individer som senare ska modifieras och förbättras genom iterationer i algoritmen. Storleken på populationen kan variera och bestäms oftast utifrån problemets komplexitet. Kromosomer En individ är uppbyggd av så kallade kromosomer som är en representation av en lösning på ett problem, dessa kromosomer är traditionellt valda slumpmässigt i starten av algoritmen. Detta då man vill ha så många lösningar på problemet som möjligt för att sedan välja ut de 5
6 som är bättre och även generera nya individer som kan vara bättre än de man hade från början. En kromosom är en behållare där den genetiska informationen lagras. Vanligen är en kromosom uppbyggd av binära strängar, alltså en behållare med ettor och nollor. Varje bit i en kromosom motsvarar en gen som i sin tur representerar ett steg i det givna problemet. Figur 1: illustrerar en kromosom representerad av en binär sträng. Kromosomer kan också vara uppbyggda med andra datatyper än binära strängar, några andra vanliga typer är heltal och trädstrukturer [Darrel 94]. Längden på kromosomerna kan variera och kromosomerna i en population behöver inte nödvändigtvis ha samma längd på sina kromosomer. Fitness En individs fitness är ett mått på individens förmåga att lösa ett givet problem och det är viktigt att beräkningen av detta värde är bra då man oftast vill att den mest optimala lösningen ska hittas. Det går att räkna ut om individen har ett bra startvärde direkt och sålla ut de som inte uppfyller ett visst krav, på så vis kan start-populationen få en bättre utgångspunkt men även det motsatta då variationen i population kan bli för liten och framtida lösningar blir svårare att hittas då den i starten haft dåliga gener[rennard00]. Selektion En av huvudfunktionen med att ha en fitness är att kunna räkna ut sannolikheten för individens överlevnad till nästgående generation, delmomentet för att välja ut de mest lämpade individerna kallas selektion. Det finns ett flertal metoder som används till detta, två av de vanligaste är roulettehjuls selektion och trunkerings selektion. 6
7 Roulettehjuls selektion Roulettehjuls selektion fungerar så att på samtliga individer räknas deras fitness ut och sedan normaliseras dessa värden så att varje individ får ett värde mellan 0-100, ju högre värde en viss individ har desto större chans kommer den ha att överleva. Detta kan liknas med ett roulettebord där varje nummer i hjulet representerar en individ och ju större nummer individen har desto större yta på hjulet vilket i sin tur gör att kulan har större chans att hamna på en individ med bättre fitness. Figur 2: Den individ med bäst fitness har en större andel av hjulets yta för kulan att hamna på. Trunkerad selektion Trunkerad selektion fungerar så att man helt enkelt väljer en viss del av samtliga individer, oftast väljer man ut den delen av individer som har bäst värden. Problemet med denna metod är att variationen i individerna kan bli för små och sannolikheten för förbättring mindre vilket i sin tur gör att det blir svårare att komma närmare en optimal lösning på problemet man försöker lösa. Crossover När selektionen av individer har utförts är det dags att skapa en ny generation vilket utförs med hjälp av så kallade crossover och mutations-metoder. 7
8 Crossover metoder fungerar genom att man korsar två individer med varandra och precis som i verkligheten så förs deras DNA vidare till barnet. Det finns flera olika metoder som används för att göra en så kallad crossover. Single point crossover är en vanlig crossover metod som tar gener från en slumpmässig position från föräldrarna och delar upp barnet i två halvor. Första halvan hos barnet får den första halvan hos en förälder och den andra halvan får den andra halvan av generna från den andra föräldern. Hos det andra barnet är det tvärtom. Figur 3: illustrerar single point crossover-metoden Two point crossover fungerar likadant som Single point crossover bara det att man använder två platser där man byter gener istället för en. På detta sätt blir det bättre blandat och mer slumpmässigt. Uniform crossover innebär att man använder ännu fler crossover-punkter än både single och two point crossover. I uniform crossover bestäms crossover-punkterna slumpmässigt vilket får till följd att avkomman får mycket större variationer. Mutationer Mutationer i en genetisk algoritm fungerar liknande mutationer inom biologin. Alltså att en slumpmässig gen får ett nytt värde. Mutationer används i genetiska algoritmer för att behålla populationens mångfald och att snabbare komma fram till kromosomer med så bra fitness som möjligt [surprise 96]. Att endast använda crossover selection brukar fylla populationen med kopior av den bästa individen från populationen. Detta gör att individerna brukar ha hög fitness, men att de skulle kunna nå en ännu högre fitness om mutation användes [surprise 96]. 8
9 Mutationer bör heller inte förekomma allt för ofta, då detta skulle innebära att individerna blir mer slumpmässiga. En balans måste hittas där selektionen får arbeta fram bästa lösningen och mutationer gör att ingen potentiell lösning förbises. Slumpmässig mutation kan användas på binära kromosomer och går ut på att man inverterar värdet eller värden på flera positioner så att en nolla blir en etta och tvärtom. Inordermutation fungerar likt slumpmässig mutation. I inordermutation väljs ett område mellan två punkter ut slumpmässigt och gener inuti området muteras. Permutationsmutation kan användas för permutations problem, problem där man vill ha gener i en viss sekvens. Kromosomerna består då av heltal och en mutation går ut på att byta plats på två heltal i den egna kromosomen [Engelbrecht07]. Praktisk användning För att visa hur en genetisk algoritm kan fungera så beskrivs här ett problem som kan lösas med hjälp av en genetisk algoritm. Problemet är för en gräsklippare att hitta den kortaste vägen att klippa en gräsmatta som är en 6x6 rutor stor kvadrat. 9
10 Figur 4:. Gräsmattan med 36st kvadrater. Algoritmens steg Algoritmens steg ser ut på följande vis: En individs kromosomer slumpas ut tills samtliga gräsplättar är klippta. Individens fitness räknas ut. Lägg till i en lista av individer. Upprepa tills 5000 individer finns i listan. Normalisera och sortera listan med individer. Kör roulettehjuls-selektion på varje individ. Varje individ har en 60% chans att köras i crossover och 3% chans att muteras om den blir vald i roulettehjuls-selektionen. Om individen varken körs i crossover eller muteras men blir utvald i selektionen så läggs den till i listan med nästa generations individer. Processen går tillbaka till normaliseringen och körs om 200ggr. Individen med högst fitness väljs ut som optimal lösning. Kromosomerna En individs kromosomer kan visualiseras ut på följande vis: 10
11 Figur 5: Exempel på en individs kromosomuppbyggnad. Där varje pil motsvarar ett steg i en viss riktning på gräsmattan. Individen har även följande egenskaper: int poäng - Beräknas genom att individen får ett poäng för varje oklippt gräsplätt. int steg - Antalet steg gräsklipparen måste ta för att klippa samtliga gräsplättar. int fitness - Fitness värdet som beräknas genom poäng/steg. int normaliseringsvärde - används i roulettehjuls selektionen. Antalet steg beror på hur effektivt individen kan slutföra uppgiften och kan vara hur många som helst. Dessa kromosomer bestäms genom att slumpmässigt välja ut en riktning den skall åka dvs upp, ner, höger eller vänster och när individens poäng är 36(6*6) så läggs den till i listan. Antalet individer i listan är i detta fall 200 då det gav en bra kompromiss mellan tiden det tar för algoritmen att köras och effektivitet på slutgiltig lösning. Det kan även påpekas att antalet individer i listan har stor betydelse för hastigheten i algoritmen och ju fler desto mer variation av lösningar får man ut i både starten och slutet. I detta fall användes 5000st individer. Crossover och mutation Som crossover användes two-points typen, denna kan visualiseras på detta vis: 11
12 Figur 6: Crossover på två individer. På figur 6 kan man se hur gröna delarna tas från båda individerna och sammanflätas ihop till en ny. De blå kromosomerna är de som ändras. Punkten där man delar DNA:t på individerna är slumpmässigt valda och en individ som valts ut i roulette-hjuls selektionen har en 70% chans att genomgå detta. Mutationen fungerar så att en individs kromosom slumpmässigt byts ut mot en ny slumpmässigt vald kromosom. En individ har en 3% chans att muteras efter selektionen. Figur 7: Mutation på en individ. Slutfasen När listan med individer har genomgått dessa steg 200 gånger så tas den individ med bäst fitness ut för att utvärdera resultatet. 12
13 Figur 8: Lösningen med en individ som hade högst fitness. I ett testfall som gjordes hade den individ med bäst lösning en uppsättning kromosomer som såg ut på följande vis: [U,H,N,H,H,U,U,H,H,N,N,V,U,U,U,H,U,U,V,V,V,V,V,H,N,V,N,N,H,U,H,U,H,H,V,N,V,N, N] Där U står för Upp, N för Ned,V för Vänster och H för Höger. Individen tog 39 steg och gjorde sammanlagt 4 st misstag vilket gav den ett fitness-värde på 36/39 dvs En individ börjar alltid med ett poäng vilket betyder att den mest optimala lösningen skulle vara att individen gick 35 steg och hade ett fitness-värde på 1. SLUTSATSER Artificiell intelligens är ett väldigt intressant ämne och något som vi tror att mycket forskning kommer att handla om i framtiden. 13
14 Genetiska algoritmer försöker på något vis att få en dator att fungera som naturen och som vi kan se i exemplet kan det fungera hyfsat bra. Det som är det svåra är inte algoritmen i sig självt utan det är i vår åsikt designen och parametrarna som gör det svårt att bygga ett bra program. Som vi kan se i exemplet så användes 5000st framslumpade individer som itererade igenom algoritmen 200ggr med en chans på 70% att genomgå en crossover och 3% att bli muterad. Dessa parametrar kan justeras och det är väldigt svårt att veta vad som kommer att ge den mest tillfredställande lösningen. I exemplet är problemet väldigt enkelt för en människa att lösa och en optimal lösning kan räknas ut för hand och på så vis vet vi om en uträknad lösning är den bästa men om problemet skulle vara mer komplex så vet vi kanske inte detta och då blir det genast mycket svårare att utvärdera algoritmens resultat. Skrivandet av denna rapport har varit mycket givande och har fått oss att förstå hur svårt det kan vara att skapa en AI. REFERENSER [Engelbrecht 07] Andries P. Engelbrecht, Computational Intelligence: An Introduction, Second Edition, John Wiley & Sons, ISBN , [Darrel 94] Whitley, Darrell (1994). "A genetic algorithm tutorial". Statistics and Computing, sida [Rechenberg 73] Rechenberg, Ingo, Evolutionsstrategie. Stuttgart: Holzmann-Froboog. ISBN , [Rennard 73] [Melanie 96] Mitchell, Melanie (1996). An Introduction to Genetic Algorithms. Cambridge, MA: MIT Press. ISBN [Surprise 96] [Wikipedia] 14
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 merGrundlä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 mergenetiska algoritmer
Introduktion till genetiska algoritmer CT3620 Vetenskapsmetodik 2005-10-21 Ylva egerfeldt ydt01001@student.mdh.se SAMMANFATTNING enna rapport är tänkt som en introduktion till genetiska algoritmer. Först
Läs merGenetisk 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 merRegression 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 merFö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 merGenetiska 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 merSymboler 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 merGenetiska 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 merSammanfattning 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 merGenetiska 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 merHKGBB0, 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 merUPPGIFT 1 TVÅPOTENSER. UPPGIFT 2 HISSEN I LUSTIGA HUSET.
UPPGIFT 1 TVÅPOTENSER. 2 ½ ¾ = 5575186299632655785383929568162090376495104 n = 142 är det minsta värde på n för vilket 2 Ò inleds med siffrorna 55. Uppgiften består i att skriva ett program som tar emot
Läs merMå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 merLokal pedagogisk planering för arbetsområdet genetik i årskurs 9
Lokal pedagogisk planering för arbetsområdet genetik i årskurs 9 Syfte: Använda biologins begrepp, modeller och teorier för att beskriva och förklara biologiska samband i människokroppen och samhället.
Läs merMå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 merDen 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 merProgrammeringsolympiaden Kvalificering mars 2005 FIGUR 1.
UPPGIFT 1 TOMATER FIGUR 1. Ett intressant faktum är att omogna tomater mognar snabbare om man lägger in några redan mogna tomater bland dem. I denna uppgift ska du simulera denna process och räkna ut hur
Läs merAnvända kunskaper i biologi för att granska information, kommunicera och ta ställning i frågor som rör hälsa, naturbruk och ekologisk hållbarhet.
Arvet och DNA Lokal pedagogisk planering årkurs 9 Syfte Naturvetenskapen har sitt ursprung i människans nyfikenhet och behov av att veta mer om sig själv och om sin omvärld. Kunskaper i biologi har stor
Läs merUPPGIFT 1 WILL ROGERS FENOMEN
UPPGIFT 1 WILL ROGERS FENOMEN Will Rogers (1879-1935) var en amerikansk komiker känd för bland annat följande citat: When the Okies left Oklahoma and moved to California, they raised the average intelligence
Läs merGenetik 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 merPedagogisk planering Bi 1 - Individens genetik
Centralt innehåll Genetik Arvsmassans uppbyggnad samt ärftlighetens lagar och mekanismer. Celldelning, dnareplikation och mutationer. Genernas uttryck. Proteinsyntes, monogena och polygena egenskaper,
Läs meranvända kunskaper i biologi för att granska information, kommunicera och ta ställning i frågor som rör hälsa, naturbruk och ekologisk hållbarhet,
Arbetsområde: Huvudsakligt ämne: Biologi åk 7-9 Läsår: Tidsomfattning: Ämnets syfte Undervisning i ämnet biologi syftar till: länk Följande syftesförmågor för ämnet ska utvecklas: använda kunskaper i biologi
Läs merPlanering i genetik och evolution för Så 9 Lag Öst. (Planeringen är preliminär och vissa lektionspass kan ändras)
Planering i genetik och evolution för Så 9 Lag Öst (Planeringen är preliminär och vissa lektionspass kan ändras) Lokal Pedagogisk Planering i Biologi Ansvarig lärare: Janne Wåhlin Ämnesområde: Genetik
Läs merTDDC30/725G63. Objektorienterad programmering i Java, datastrukturer och algoritmer
Tentamen i.. TDDC30/725G63 Objektorienterad programmering i Java, datastrukturer och algoritmer Datum 2012-12-21 Tid 14-18 Provkod DAT1 Institution Institutionen för Datavetenskap (IDA) Jour Johan Janzén
Läs merVi skall under ett antal veckor jobba med evolutionsundervisning. Arbetet kommer att se lite olika ut.
Evolution åk9 ht 13 Evolution i åk9 ht13 Vi skall under ett antal veckor jobba med evolutionsundervisning. Arbetet kommer att se lite olika ut. Du kommer att få lyssna till din lärare som föreläser om
Läs merPROGRAMMERING. Ämnets syfte. Kurser i ämnet
PROGRAMMERING Ämnet programmering behandlar programmeringens roll i informationstekniska sammanhang som datorsimulering, animerad grafik, praktisk datoriserad problemlösning och användaranpassad konfiguration
Läs merGenJam 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 merObjektorienterad programmering
Objektorienterad programmering Emil Ahlqvist (c10eat@cs.umu.se) Didrik Püschel (dv11dpl@cs.umu.se) Johan Hammarström (c08jhm@cs.umu.se) Hannes Frimmel Moström (c10hml@cs.umu.se) 1 1. Introduktion 1.1 Objektorienterad
Läs merMinMax Algoritmen Implementation och optimering. Joakim Östlund 15 juni 2004
MinMax Algoritmen Implementation och optimering Joakim Östlund 15 juni 2004 1 Samanfattning MinMax är en algoritm som kan användas i turbaserade spel för att skapa en virituell motståndare. Algoritmen
Läs merOptimering och simulering: Hur fungerar det och vad är skillnaden?
Optimering och simulering: Hur fungerar det och vad är skillnaden? Anders Peterson, Linköpings universitet Andreas Tapani, VTI med inspel från Sara Gestrelius, RIS-SIS n titt i KAJTs verktygslåda Agenda
Läs merUtbildningsplaner för kandidat-, magister och masterprogram. 1. Identifikation. Avancerad nivå
1. Identifikation Programmets namn Omfattning Nivå Programkod Ev. koder på inriktningar Beslutsuppgifter Ändringsuppgifter Masterprogram i kognitionsvetenskap 120 hp Avancerad nivå HAKOG Fastställd av
Läs merArtificiell 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 merAntag att b är förgreningsfaktorn, d sökdjupet, T (d) tidskomplexiteten och M(d) minneskomplexiteten.
OS! För flervalsfrågorna gäller att ett, flera eller inget alternativ kan vara korrekt. På flervalsfrågorna ges 1 poäng för korrekt svar och 0,5 poäng om skillnaden mellan antalet korrekta svar och antalet
Läs merKapitel 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 merUPPGIFT 1 VÄNSKAPLIGA REKTANGLAR
UPPGIFT 1 VÄNSKAPLIGA REKTANGLAR FIGUR 1. Dessa två rektanglar är vänskapliga. Den ena har samma mätetal för arean som den andra har för omkretsen och tvärtom. Rektangeln till vänster har omkretsen 2 4
Läs merFöreläsning 9: Talteori
DD2458, Problemlösning och programmering under press Föreläsning 9: Talteori Datum: 2009-11-11 Skribent(er): Ting-Hey Chau, Gustav Larsson, Åke Rosén Föreläsare: Fredrik Niemelä Den här föreläsningen handlar
Läs merMed hopp om framtiden transposoner, DNA som flyttar sig själv
Med hopp om framtiden transposoner, DNA som flyttar sig själv Jessica Bergman Populärvetenskaplig sammanfattning av Självständigt arbete i biologi VT 2008 Institutionen för biologisk grundutbildning, Uppsala
Läs merAn#bio#karesistens Kan det vara e2 sä2 a2 undervisa om naturligt urval?
An#bio#karesistens Kan det vara e2 sä2 a2 undervisa om naturligt urval? Gustav Bohlin Visuellt Lärande och Kommunika#on Medie- och Informa#onsteknik Ins#tu#onen för Teknik och Naturvetenskap E2 ökande
Läs merBetygskriterier DNA/Genetik
Betygskriterier DNA/Genetik Godkänd Du skall Känna till hur DNA molekylen är uppbyggd, vilka de genetiska språket(bokstäverna) är och hur de formar sig i DNA- molekylen Känna till begreppen Gen, Kromosom,
Läs merPROGRAMMERING. Ämnets syfte. Kurser i ämnet
PROGRAMMERING Ämnet programmering behandlar programmeringens roll i informationstekniska sammanhang som datorsimulering, animerad grafik, praktisk datoriserad problemlösning och användaranpassad konfiguration
Läs merIntroduktion till algoritmer - Lektion 1 Matematikgymnasiet, Läsåret 2014-2015. Lektion 1
Kattis Lektion 1 I kursen används onlinedomaren Kattis (från http://kattis.com) för att automatiskt rätta programmeringsproblem. För att få ett konto på Kattis anmäler du dig på Programmeringsolympiadens
Läs merLinnéuniversitetet Institutionen för datavetenskap, fysik och matematik Per-Anders Svensson
Linnéuniversitetet Institutionen för datavetenskap, fysik och matematik Per-Anders Svensson Tentamen i Matematikens utveckling, 1MA163, 7,5hp fredagen den 28 maj 2010, klockan 8.00 11.00 Tentamen består
Läs merSF2715 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 merInlämningsuppgift : Finn. 2D1418 Språkteknologi. Christoffer Sabel E-post: csabel@kth.se 1
Inlämningsuppgift : Finn 2D1418 Språkteknologi Christoffer Sabel E-post: csabel@kth.se 1 1. Inledning...3 2. Teori...3 2.1 Termdokumentmatrisen...3 2.2 Finn...4 3. Implementation...4 3.1 Databasen...4
Läs merTentamen i. TDDC67 Funktionell programmering och Lisp
1 Linköpings tekniska högskola Institutionen för datavetenskap Anders Haraldsson Tentamen i TDDC67 Funktionell programmering och Lisp och äldre kurser TDDC57 Programmering, Lisp och funktionell programmering
Läs merShannon-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 merVinjetter 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 merObjektorienterad programmering Föreläsning 8. Copyright Mahmud Al Hakim Agenda (halvdag)
Objektorienterad programmering Föreläsning 8 Copyright Mahmud Al Hakim mahmud@webacademy.se www.webacademy.se Agenda (halvdag) Objektorienterad programutveckling Algoritmer Algoritmkonstruktionerna Relationer
Läs merUppgift 1 ( Betyg 3 uppgift )
2008-03-12.kl.14-19 Uppgift 1 ( Betyg 3 uppgift ) Du skall skriva ett program som läser igenom en textfil som heter FIL.TXT och skriver ut alla rader där det står ett decimaltal först på raden. Decimaltal
Läs merUPPGIFT 1 LAMELLER. Minsta antalet hål: 1. Första lamellen? Andra lamellen? Minsta antalet hål: 3
UPPGIFT 1 LAMELLER FIGUR 1. Överst de två lamellerna som de ges till programmet. Underst samma två lameller när den ena förskjutits så att bästa läge uppkommit. I figur 1, övre delen, ser du två lameller,
Läs merÖversikt. Stegvis förfining. Stegvis förfining. Dekomposition. Algoritmer. Metod för att skapa ett program från ett analyserat problem
Översikt Stegvis förfining Pseudokod Flödesdiagram Dekomposition KISS-regeln Procedurell dekomposition DRY-regeln Algoritmer Sortering och sökning Stegvis förfining Metod för att skapa ett program från
Läs merMedicinsk genetik del 4: Tolka genetiska släkttavlor (pedigreen) Niklas Dahrén
Medicinsk genetik del 4: Tolka genetiska släkttavlor (pedigreen) Niklas Dahrén Vad är en genetisk släkttavla (pedigree)? ü ü En genetisk släkttavla visar förekomsten av en specifik egenskap eller sjukdom
Läs merMatematisk modellering - Projekt. djurförflyttningar. Viktor Griph Anders Jonsson
Matematisk modellering - Projekt djurförflyttningar Viktor Griph Anders Jonsson juni Bakgrund Detta projekt är tänkt att simulera hur en population djur förflyttar sig över ett geografiskt område beroende
Läs merPROGRAMMERING. Ämnets syfte. Kurser i ämnet
PROGRAMMERING Ämnet programmering behandlar programmeringens roll i informationstekniska sammanhang som datorsimulering, animerad grafik, praktisk datoriserad problemlösning och användaranpassad konfiguration
Läs merTotalt 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 merIntroduktion till programmering SMD180. Föreläsning 9: Tupler
Introduktion till programmering Föreläsning 9: Tupler 1 1 Sammansatta datatyper Strängar Sekvenser av tecken Icke muterbara Syntax: "abcde" Listor Sekvenser av vad som helst Muterbara Syntax: [1, 2, 3]
Läs merTentamen: Programutveckling ht 2015
Tentamen: Programutveckling ht 2015 Datum: 2015-11-04 Tid: 09:00-13:00 Sal: Ansvarig: Resultat: Hjälpmedel: Maxpoäng: Betygsgränser: Anslås inom 3 veckor. Inga 40 p 20 p för G, 32 p för VG. Iakttag följande:
Läs merEVOLUTIONENS 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 merLinköpings Tekniska Högskola Instutitionen för Datavetenskap (IDA) Torbjörn Jonsson, Erik Nilsson Lab 2: Underprogram
Mål Lab 2: Underprogram Följande laboration introducerar underprogram; procedurer, funktioner och operatorer. I denna laboration kommer du att lära dig: Hur man skriver underprogram och hur dessa anropas.
Läs merArtificiell 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 meranvända kunskaper i biologi för att granska information, kommunicera och ta ställning i frågor som rör hälsa, naturbruk och ekologisk hållbarhet,
Arbetsområde: Huvudsakligt ämne: Biologi åk 7-9 Läsår: Tidsomfattning: Ämnets syfte Undervisning i ämnet biologi syftar till: länk Följande syftesförmågor för ämnet ska utvecklas: använda kunskaper i biologi
Läs merTentamen, Algoritmer och datastrukturer
UNDS TEKNISKA ÖGSKOA (6) Institutionen för datavetenskap Tentamen, Algoritmer och datastrukturer 23 8 29, 8. 3. Anvisningar: Denna tentamen består av fem uppgifter. Totalt är skrivningen på 36 poäng och
Läs merProgrammeringsuppgift Game of Life
CTH/GU STUDIO TMV06a - 0/0 Matematiska vetenskaper Programmeringsuppgift Game of Life Analys och Linär Algebra, del A, K/Kf/Bt Inledning En cellulär automat är en dynamisk metod som beskriver hur komplicerade
Läs merGenetiska 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 merEvolution. 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 merBeräkningsvetenskap introduktion. Beräkningsvetenskap I
Beräkningsvetenskap introduktion Beräkningsvetenskap I Kursens mål För godkänt betyg ska studenten kunna redogöra för de grundläggande begreppen algoritm, numerisk metod, diskretisering maskinepsilon,
Läs merKänguru 2013 Junior sida 1 / 8 (gymnasiet åk 1) i samarbete med Jan-Anders Salenius vid Brändö gymnasium
Känguru 2013 Junior sida 1 / 8 NAMN KLASS / GRUPP Poängsumma: Känguruskutt: Lösgör svarsblanketten. Skriv ditt svarsalternativ under uppgiftsnumret. Felaktigt svar ger minus 1/4 poäng av uppgiftens totala
Läs merTestplan Autonom truck
Testplan Autonom truck Version 1.1 Redaktör: Joar Manhed Datum: 20 november 2018 Status Granskad Kim Byström 2018-11-20 Godkänd Andreas Bergström 2018-10-12 Projektidentitet Grupp E-post: Hemsida: Beställare:
Läs merKarl Holm Ekologi och genetik, EBC, UU. ebc.uu.se. Nick Brandt. Populationsgenetik
Karl Holm Ekologi och genetik, EBC, UU karl.holm@ ebc.uu.se Nick Brandt Populationsgenetik Kursens upplägg Föreläsningar 24/4, 10:15-16:00 Friessalen Introduktion, HWE 27/4, 10:15-16:00 Inavel 28/4, 10:15-16:00
Läs merAlgoritmer och problemlösning
Algoritmer och problemlösning Perspektiv på datateknik/datavetenskap - Breddföreläsning 4 Peter Dalenius petda@idaliuse Institutionen för datavetenskap - Linköpings universitet 2005-11-04 Översikt Introduktion:
Läs merProv i DAT 312: Algoritmer och datastrukturer för systemvetare
Prov i DAT 312: Algoritmer och datastrukturer för systemvetare Jacek Malec Datavetenskap, LU 11 april 2003 Datum 11 april 2003 Tid 14 19 Ansvarig lärare Jacek Malec (tel. 03 9890431) Hjälpmedel inga Antal
Läs merFöreläsning 5 Innehåll
Föreläsning 5 Innehåll Algoritmer och effektivitet Att bedöma och jämföra effektivitet för algoritmer Begreppet tidskomplexitet Datavetenskap (LTH) Föreläsning 5 VT 2019 1 / 39 Val av algoritm och datastruktur
Läs merKimmo Eriksson Professor i tillämpad matematik
Kimmo Eriksson Professor i tillämpad matematik Lönar det sig att vara självisk? Kimmo Eriksson Professor i tillämpad matematik Boktips Full av underbara enkla tankeexperiment för att demonstrera skillnaden
Läs merDatorer och matematik hjälper oss att motverka sjukdomar
Datorer och matematik hjälper oss att motverka sjukdomar Adam Ameur Bioinformatiker Lund, 26e November 2014 Introduktion till bioinformatik Bioinformatik - en tvärvetenskaplig disciplin där algoritmer
Läs merF5 Introduktion Anpassning Korstabeller Homogenitet Oberoende Sammanfattning Minitab
Repetition: Gnuer i (o)skyddade områden χ 2 -metoder, med koppling till binomialfördelning och genetik. Matematik och statistik för biologer, 10 hp Fredrik Jonsson Januari 2012 Endast 2 av de 13 observationerna
Läs merGrundläggande programmering med matematikdidaktisk inriktning för lärare som undervisar i gy eller komvux gy nivå, 7,5 hp
Grundläggande programmering med matematikdidaktisk inriktning för lärare som undervisar i gy eller komvux gy nivå, 7,5 hp Dag Wedelin, bitr professor, och K V S Prasad, docent Institutionen för data- och
Läs merDet är principer och idéer som är viktiga. Skriv så att du övertygar rättaren om att du har förstått dessa även om detaljer kan vara felaktiga.
Tentamen Programmeringsteknik II 2014-0-27 Skrivtid: 0800 100 Tänk på följande Skriv läsligt! Använd inte rödpenna! Skriv bara på framsidan av varje papper. Börja alltid ny uppgift på nytt papper. Lägg
Läs merEn typisk medianmorot
Karin Landtblom En typisk medianmorot I artikeln Läget? Tja det beror på variablerna! i Nämnaren 1:1 beskrivs en del av problematiken kring lägesmått och variabler med några vanliga missförstånd som lätt
Läs merTDDI16: Datastrukturer och algoritmer
. TDDI16: Datastrukturer och algoritmer Lab 2: Knäcka lösenord Höstterminen 2018 2018-06-27 1 Upplägg Första delen av instruktionen, avsnitt 2 till 7, innehåller en fullständig beskrivning av problemet
Läs merSKOLFS. beslutade den -- maj 2015.
SKOLFS Föreskrifter om ändring i Skolverkets föreskrifter (SKOLFS 2010:247) om ämnesplan för ämnet programmering i gymnasieskolan och inom kommunal vuxenutbildning på gymnasial nivå; beslutade den -- maj
Läs mer5. Förmåga att använda kunskaper i biologi för att kommunicera samt för att granska och använda information.
BIOLOGI Biologi är ett naturvetenskapligt ämne som har sitt ursprung i människans behov av att veta mer om sig själv och sin omvärld. Det är läran om livet, dess uppkomst, utveckling, former och villkor.
Läs mersamt lite algoritmer en kortfattad introduktion för studenter på Intro:DV
O, P, N och NP samt lite algoritmer en kortfattad introduktion för studenter på Intro:DV DSV En enkel algoritm Ponera att du spelar poker och har fått korten till höger. Eftersom det bara rör sig om fem
Läs merEvolution. 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 merProgrammeringsolympiaden 2008 Kvalificering
Programmeringsolympiaden 2008 Kvalificering TÄVLINGSREGLER Tävlingen äger rum på ett av skolan bestämt datum under sex timmar effektiv tid. Tävlingen består av sex uppgifter som samtliga ska lösas genom
Läs merAnmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper
Tentamen Programmeringsteknik II 2018-10-19 Skrivtid: 8:00 13:00 Tänk på följande Skriv läsligt. Använd inte rödpenna. Skriv bara på framsidan av varje papper. Lägg uppgifterna i ordning. Skriv uppgiftsnummer
Läs merHär är två korta exempel på situationer då vi tillämpar den distributiva lagen:
Modul: Algebra Del 8: Avslutande reflektion och utvärdering Distributiva lagen Cecilia Kilhamn, Göteborgs Universitet Distributiva lagen a (b + c) = a b + a c Den distributiva lagen kallas den räknelag
Läs merVad 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 merF2 Introduktion. Sannolikheter Standardavvikelse Normalapproximation Sammanfattning Minitab. F2 Introduktion
Gnuer i skyddade/oskyddade områden, binära utfall och binomialfördelningar Matematik och statistik för biologer, 10 hp Fredrik Jonsson Januari 2012 I vissa områden i Afrika har man observerat att förekomsten
Läs merDatorer och matematik hjälper oss att motverka sjukdomar
GA N AT ION ALCTAC ATCA G ENOMI CSGT INFR A S T RU CTURE Datorer och matematik hjälper oss att motverka sjukdomar Adam Ameur Bioinformatiker SciLifeLab Uppsala, 13e Maj 2014 Introduktion till bioinformatik
Läs merVad händer i ett genetiskt laboratorium?
12 utveckla nya metoder eller låta sådana prover delta i kvalitetskontrollprogram, såvida inte patienten har uttryckt att man inte vill att ens prov ska vara del av sådan verksamhet. Som alla andra sparade
Läs merInstruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python
Instruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python Hjälpmedel Följande hjälpmedel är tillåtna: Exakt en valfri bok, t.ex. den rekommenderade kursboken. Boken får ha anteckningar,
Läs merLessons sparvpapegojor genetik och mutationer
Lessons sparvpapegojor genetik och mutationer Latinskt namn: Forpus coelestis coelestis Engelskt namn: Lesson s Parrotlet / Pacific Parrotlet / Celestial Parrotlet Färger och mutationer: röna fåglar Naturfärg.
Läs merBank Switching. Att nå multipla adressrymder. Av: Drazen Mijatovic
Bank Switching Att nå multipla adressrymder Av: Drazen Mijatovic 2016-12-06 Abstrakt: Adressbussen hos processorer och mikrokontroller som används inom inbäddade applikationer utgör en begränsning för
Läs merFörsta sidan är ett försättsblad (laddas ned från kurshemsidan) Alla frågor som nns i uppgiftstexten är besvarade
HT 2011 Inlämningsuppgift 1 Statistisk teori med tillämpningar Instruktioner Ett av problemen A, B eller C tilldelas gruppen vid första övningstillfället. Rapporten ska lämnas in senast 29/9 kl 16.30.
Läs merGenetik - Läran om det biologiska Arvet
Genetik - Läran om det biologiska Arvet Uppgift Arv eller miljö Våra egenskaper formas både av vårt arv och den miljö vi växer upp i. Hurdan är du och hur ser du ut? Vad beror på arv och vad beror på miljö?.
Läs merEvolution, del 2: Evolutionsprocesser och förändringar i det genetiska materialet. Jessica Abbott Forskare Evolutionär Ekologi
Evolution, del 2: Evolutionsprocesser och förändringar i det genetiska materialet Jessica Abbott Forskare Evolutionär Ekologi Naturlig selektion Alleler som ger bättre överlevnad och/eller reproduktionsförmåga
Läs merLotto. Singla slant. Vanliga missuppfattningar vad gäller slumpen. Slumpen och hur vi uppfattar den - med och utan tärning
Slumpen och hur vi uppfattar den - med och utan tärning Ingemar Holgersson Högskolan Kristianstad grupper elever Gr, 7, 9 och. grupp lärarstudenter inriktning matematik Ca i varje grupp Gjord i Israel
Läs merTentamen, EDA501/EDAA20 Programmering M MD W BK L
LUNDS TEKNISKA HÖGSKOLA 1(6) Institutionen för datavetenskap Tentamen, EDA501/EDAA20 Programmering M MD W BK L 2017 05 31, 8.00 13.00 Anvisningar: Preliminärt ger uppgifterna 9 + 12 + 10 + 9 = 40 poäng.
Läs merBeräkningsvetenskap. Vad är beräkningsvetenskap? Vad är beräkningsvetenskap? stefan@it.uu.se. Informationsteknologi. Informationsteknologi
Beräkningsvetenskap stefan@it.uu.se Finns några olika namn för ungefär samma sak Numerisk analys (NA) Klassisk NA ligger nära matematiken: sats bevis, sats bevis, mer teori Tekniska beräkningar Mer ingenjörsmässigt,
Läs mer