Genetiska algoritmer. Henrik Hansson Rapport, CDT212 Mälardalens Högskola
|
|
- Ulf Henriksson
- för 8 år sedan
- Visningar:
Transkript
1 Genetiska algoritmer Henrik Hansson Rapport, CDT212 Mälardalens Högskola 1
2 Sammanfattning Genetiska algoritmer har rötter i 60-talet och efterliknar evolutionsteorin på så sätt att lösningsförslag till ett problem representeras som en datasträng som inspirerats av cellernas DNA. Lösningsförslagen kan liknas vid individer i en population av många individer. De bästa individerna korsas med andra individer för att få fram avkomma med datasträngar som kombinerar föräldrarnas gener. För att få in ny information i populationen används mutation. Egenskaperna de genetiska algoritmerna har genom grunderna i evolutionsteorin gör dem väldigt anpassningsbara. De kan användas för att lösa en mängd olika problem och de lämpar sig särskilt bra till att hitta alternativa lösningar till gamla problem. Det är även lätt att integrera genetiska algoritmer med andra AI tekniker som till exempel Neural Networks. För att få bra resultat krävs det dock att problemets och lösningsförlagens definitioner är noggrant framtagna. Till de mer originella användningsområdena hör generering av konstimitationer och spelande av gamla Nintendospel. Inom området datorspel kan man troligen i framtiden få stor nytta av genetiska algoritmer i formen av artificiellt liv som gör spelvärldarna mer trovärdiga. 2
3 Innehållsförteckning Sammanfattning... 2 Innehållsförteckning... 3 Genetiska algoritmer... 3 Hur fungerar de?... 4 Representation (encoding)... 4 Lämplighet (fitness)... 5 Urval (selection)... 5 Korsning (crossover)... 6 Mutation... 6 Stoppvillkor (stop condition)... 6 Vad kan de användas till?... 7 Styrkor... 7 Begränsningar... 7 Exempel... 7 Konst... 7 AI till Nintendospel... 8 Slutsatser... 9 Referenser... 9 Inledning Inom området artificiell intelligens (AI) finns en mängd olika tekniker för att simulera lärande i programvara. Syftet med dessa tekniker är att man låter ett program själv lära sig hur problemet kan lösas istället för att definiera hur ett problem ska lösas och sedan bara använda ett program för att beräkna lösningen. Detta är förstås speciellt intressant för problem man ännu inte har någon lösning till eller för problem där nuvarande lösningar är ineffektiva och man misstänker att det finns bättre. En grupp av dessa tekniker för lärande programvara grundar sig på evolutionsteorin och försöker efterlikna den naturliga evolutionen. Bland dessa är kanske genetiska algoritmer den mest välkända. Enligt [Wikipedia10] användes de första föregångarna till genetiska algoritmer redan på 60-talet och de blev populärare på 70-talet tack vare John Holland på University of Michigan. Denna rapport kommer utreda vad genetiska algoritmer är, hur de fungerar och vad de kan användas till. Genetiska algoritmer Enligt Darwins evolutionsteori som beskrivs i [Engelbrecht07] har individer som har bättre egenskaper än genomsnittet för arten större chans att överleva och fortplanta sig. Med tiden 3
4 ärvs dessa överlägsna egenskaper i allt större utsträckning av nästkommande generationer och till slut är de dominanta för arten. Informationen som styr dessa egenskaper finns som gener i cellernas DNA. Ny information introduceras genom mutation, det vill säga en förändring av den ursprungliga informationen. Med genetiska algoritmer försöker man efterlikna den naturliga evolutionen för att lösa problem genom att använda sig av en population av tänkbara lösningar som var och en har informationen om lösningen lagrat i datasträngar som efterliknar naturens DNA. De bästa individerna i varje generation får föra sin information vidare och kombinera den med andra bra individers information för att skapa nästa generation av tänkbara lösningar. En del av lösningarna muteras innan nästa generation utvärderas. Målet är att man till slut ska komma fram till en användbar eller helst optimal lösning till problemet. Hur fungerar de? En genetisk algoritm kan enligt [Mitchell97] se ut så här i pseudokod: Starta med en framslumpad population Utvärdera lämplighet för varje individ Figur 1: DNA Upprepa dessa steg så länge stoppvillkoret inte uppnåtts: 1. Välj ut några av de bästa från nuvarande generation 2. Välj ut vilka individer som ska korsas för att skapa nya individer 3. Mutera en viss % individer för att tillföra ny information 4. Uppdatera populationen till den nya generations individer 5. Utvärdera lämplighet för varje individ Returnera den bästa individen Hur individerna för nästa generation väljs ut (steg 1-3) kan variera kraftigt. Steg kan tas bort helt och i vissa implementationer läggs extra steg till. Exempel på dessa variationer och förklaringar av begrepp som används inom området genetiska algoritmer tas upp i de nästkommande avsnitten. Representation (encoding) För att en genetisk algoritm ska kunna användas måste problemets lösning kunna representeras som gener för algoritmens individer. Ett antal olika typer av representationer beskrivs i [Obitko98]. Trädrepresentation utelämnas då det hör till området genetisk programmering (en annan AI teknik som bygger på evolutionsteorin) snarare än genetiska algoritmer. 4
5 Individ Individ Tabell 1: Exempel på binär representation. Binär representation är den mest grundläggande typen och var den första som användes. Här beskrivs varje individ av en sträng med 1:or och 0:or som t ex kan representera olika påståenden som antingen är sanna eller falska. Permutationsrepresentation används för turordningsproblem som t ex Travelling salesman problemet (TSP) där en simulerad handelsresande ska besöka ett antal städer och man vill veta i vilken ordning städerna ska besökas för att ge den kortaste resvägen. I denna representation beskrivs varje individ av en sträng heltal som motsvarar ordningen. Individ 1 Individ 2 Vänster, Höger, Hoppa, Skjut, Skjut, Höger, Höger, Hoppa, Tabell 2: Exempel på värderepresentation (instruktioner). Värderepresentation är den mest anpassningsbara typen. Här beskrivs individerna som strängar (eller listor) av värden som kan motsvara nästan vad som helst. Värdena kan t ex vara heltal, reella tal, tecken, instruktioner eller funktionsanrop. Lämplighet (fitness) För att veta hur väl anpassad en individ är vid urvalet för reproduktion eller vid kontrollen om en tillräckligt bra eller optimal lösning hittats måste det finnas något sätt att mäta individernas lämplighet. I de fall där man känner till en optimal lösning bedöms individerna utefter hur nära denna lösning de är. För problem där man inte känner till en optimal lösning eller någon lösning alls bedöms individernas lämplighet relativt de andra individerna med hjälp av ett för problemet utformat poängsystem. [Engelbrecht07] Urval (selection) När man vet hur lämpliga individerna i nuvarande generationen är tillämpas urval för att bestämma vilka individer som får chansen att fortplanta sig eller överleva till nästa generation. Det finns en mängd olika metoder för att göra urval och en del av dem kan kombineras vilket ökar valmöjligheterna ännu mer. Här är de flesta av metoderna som beskrivs i [Marczyk04]: Elitist selection Den bästa eller några av de bästa individerna väljs garanterat ut. Används i kombination med andra metoder. Fitness-proportionate selection De bästa individerna har större chans att väljas ut än andra. Roulette-wheel selection En variant av föregående typ. Man tänker sig ett rouletthjul där varje individ är ett av fälten. Fälten är bredare relativt andra fält ju bättre en individ är så chansen är större att kulan hamnar där. Scaling selection Ju högre genomsnittets lämplighet är desto mer värda är skillnader så urvalet blir mer och mer elitiskt. 5
6 Tournament selection Två eller fler individer väljs ut och tävlar med varandra för att få fram en individ som väljs ut. Rank selection Varje individ får ett värde baserat på sin lämplighet relativt de andra individerna. Sedan används detta värde som utgångspunkt i någon av de andra metoderna. Hierarchical selection Flera rundor av urval utförs och de bästa från varje runda går vidare tills det slutliga urvalet av en eller flera individer är gjort. I de tidiga rundorna används lämplighetsberäkning med lägre precision som är beräkningsmässigt billigare för att spara tid och datorkapacitet. I [Engelbrecht07] beskrivs också bland annat denna metod: Hall of Fame En lista där de bästa individerna från alla generationer sparas. Från denna lista kan föräldrar för fortplantning hämtas. När sedan målet uppnåtts eller den övre gränsen för antal generationer som ska beräknas nåtts finns den bästa lösningen som hittades i toppen på denna lista. Korsning (crossover) Individerna som genom urval får chansen att fortplanta sig korsas med varandra genom att deras information kombineras. Den vanligaste metoden är att en eller flera korsningspunkter väljs ut och informationen på olika sidor om dessa hämtas från olika föräldrar. Förälder A Förälder C Förälder B Förälder D Barn AB Barn CD Tabell 3: Korsning med en(vänster) och två(höger) korsningspunkter För representationer som till exempel en sträng med reella tal kan istället värdena i varje gen kombineras. Ett sett att göra detta på som kallas för aritmetisk korsning innebär att barnet får medelvärdet av föräldrarnas värden. [Engelbrecht07] Mutation För att tillföra ny information i populationen behövs det mutation. Normalt är det inte önskvärt med allt för stor chans att mutation sker eftersom det i de flesta fall har negativ verkan. Precis som för korsning finns det olika sätt att utföra mutation på beroende på vad för typ av representation individerna har. Det enklaste fallet är binär representation där värdet i en gen som ska muteras helt enkelt inverteras. Original Muterad Tabell 4: Mutation av en binärt representerad individ Vid värderepresentation muteras den utvalda genen till ett närliggande värde och vid permutationsrepresentation byter två gener plats. [Engelbrecht07] Stoppvillkor (stop condition) De vanligaste stoppvillkoren tas upp i [Engelbrecht07] och de är: Ingen förbättring har observerats på ett visst antal generationer. 6
7 Ingen förändring sker i populationen. En acceptabel lösning har hittats. I de flesta fall begränsar man även hur många generationer som får köras maximalt. Vad kan de användas till? Genetiska algoritmer kan användas till att lösa en mängd olika problem. På [Wikipedia10] finns närmare 60 olika applikationer listade. Det handlar till exempel om automatiserad design av olika slag, dechiffrerande, felsökning i hårdvara, schemaläggande, styrning av robotar och upplärning av AI system som Neural Networks och Fuzzy Systems. De nästkommande avsnitten kommer att gå igenom styrkorna och begränsningarna hos genetiska algoritmer för att ge en uppfattning om vilka typer av problem de lämpar sig för och vilka typer av problem någon annan AI teknik bör användas för. Sedan följer en närmare beskrivning av ett par exempel på applikationer. Styrkor Den största fördelen genetiska algoritmer har över de flesta andra algoritmerna för problemlösning är parallellism. Till skillnad mot algoritmer som endast undersöker en möjlig lösning åt gången kan de genetiska algoritmerna undersöka en stor mängd olika tänkbara lösningar åt gången. Tack vare detta är det avsevärt mindre risk att de ska fastna i ett lokalt maximum, dvs sluta söka efter andra lösningar när den hittar en lösning som ser bra ut jämfört med närliggande (lokalt maximum) men kanske inte är den bästa lösningen (globalt maximum) på problemet. Den egenskapen är speciellt viktig för komplicerade problem, till exempel problem i en dynamisk miljö där den optimala lösningen inte förblir densamma utan förändras med tiden. En svår avvägning för problemlösande algoritmer är balansen mellan utforskande av nya lösningar och förbättrande av kända lösningar. Utforskande av nya lösningar leder vanligtvis till försämrade resultat, åtminstone på kort sikt. Att bara försöka förbättra en redan känd lösning däremot kan leda till att bättre lösningar förblir oupptäckta. Genetiska algoritmer klarar denna balans på ett bra sätt. [Marczyk04] Begränsningar För att en genetisk algoritm ska fungera bra krävs att en bra representation väljs. Även valet av metoder för urval, korsning och mutation samt hur lämplighet beräknas är viktiga. Finns det brister i förberedelserna är det stor risk att den genetiska algoritmen inte producerar någon användbar lösning. Ett problem som är välkänt hos genetiska algoritmer är att om en relativt bra lösning hittas väldigt tidigt finns det risk att den snabbt blir dominant. Det kan leda till att algoritmen fastnar i ett lokalt maximum. Valet av urvalsmetoder kan minska risken för detta. Till slut rekommenderar flera forskare mot att använda genetiska algoritmer för problem som går att lösa med analytiska metoder. Att tillämpa genetiska algoritmer på sådana problem är väldigt ineffektivt. [Marczyk04] 7
8 Exempel Här följer en närmare beskrivning av ett par exempel på applikationer av genetiska algoritmer. Konst Roger Alsing har gjort en implementation av genetisk programmering som klarar av att imitera färdiga bilder. Huvudexemplet han använder i sin beskrivning är den kända målningen Mona Lisa. Exemplet är med i rapporten eftersom det lika gärna hade kunnat göras med en genetisk algoritm. Mer detaljer och bilder finns i hans blogg [Alsin08] där man på FAQ sidan även kan komma åt källkoden. Figur 2: Mona Lisa genereras av Roger Alsings program. Filnamnen under bilderna visar vilken generation de visar. Varje individ representeras av ett antal polygoner som har ett antal punkter, en färg och är delvis transparenta. En individs lämplighet bestämdes genom att pixel för pixel räkna ut skillnaden i färg från originalbilden och summera dessa. Hela processen från start till färdig bild tog ungefär 3 timmar på datorn han använde. Genereringen av en Mona Lisa variant som faktiskt använder en genetisk algoritm finns att se på YouTube [Youtube10]. Beskrivning saknas men källkoden för denna finns att få tag på om man följer länken i videons info. Om detta är riktig konst eller inte är öppet för debatt. AI till Nintendospel Ett annat exempel som är intressant även om det kanske inte har så stor praktisk nytta är Paul Kuliniewicz program Wallace som klarar av att spela gamla Nintendospel som t ex Megaman 2 och Dr. Mario. Wallace, som finns beskrivet i Pauls blogg [Kuliniewicz09], använder sig av en genetisk algoritm där varje individ representeras av en lista med instruktioner som motsvarar de kommandon en spelare kan ge till spelet via handkontrollen. 8 Figur 3: Megaman 2. Bossen Airman (vänster).
9 Ett av exemplen som visas upp i bloggen är en video där Wallace försöker besegra bossen Airman i spelet Megaman 2. Redan efter 10 generationer lyckas den bästa individen med målet. Efterföljande generationer gör det med mer och mer hälsa kvar. Som utvärderingsfunktion användes Airmans hälsa minus Megamans hälsa när någon av dem vunnit. Slutsatser Genetiska algoritmer kan användas inom en stor mängd områden. Deras egenskaper gör dem särskilt lämpliga för att utforska nya, originella lösningar på redan utforskade problem. För komplicerade problem är de även ofta effektivare än andra typer av algoritmer vilket gör att de är attraktivare att tillämpa till sådana. Det är också lätt att använda genetiska algoritmer som hjälp till andra AI tekniker som till exempel Neural Networks och Fuzzy Systems. För att de ska vara användbara krävs dock att problemet och lösningsförslagen (individerna) definieras på ett robust sätt. Slarvas det i de stegen är det väldigt liten chans att en bra lösning hittas av algoritmen. Detta gäller säkert de flesta andra typer av algoritmer också, men för genetiska algoritmer är det kanske extra viktigt eftersom det inte är lika lätt att kontrollera vad man får för resultat från dem. Grunderna i evolutionsteorin gör att genetiska algoritmer är särskilt intressanta för simuleringar av liv. Artificiellt liv kommer troligen spela en stor roll i framtidens datorspel. Idag lider många spel av att det tydligt märks att människor, djur och andra varelser man träffar på i spelen är konstgjorda. Med realistiskt artificiellt liv skulle spelvärldarna bli mer trovärdiga och spelupplevelsen höjas avsevärt. Referenser [Alsin08] Roger Alsin, Genetic Programming: Evolution of Mona Lisa, < (4 mars 2010) [Engelbrecht07] Andries P. Engelbrecht, Computational Intelligence: An Introduction, Second Edition, John Wiley & Sons, ISBN , 2007 [Kuliniewicz09] Paul Kuliniewicz, Paul Kuliniewicz >> Wallace, < (4 mars 2010) [Marczyk04] Adam Marczyk, Genetic Algorithms and Evolutionary Computation, < (4 mars 2010) [Mitchell97] Tom M. Mitchell, Machine Learning, McGraw-Hill, ISBN , 1997 [Obitko98] Marek Obitko, Encoding Introduction to Genetic Algorithms, < (4 mars 2010) [Wikipedia10] Wikipedia Genetic algorithm, < (5 mars 2010) [Youtube10] YouTube, Mona Lisa Genetic Algorithm Test 1, < (4 mars 2010) 9
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 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 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
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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 1. Eukaryoter Tre domäner 2.
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 merFARLIGA TANKAR EVOLUTIONEN
FARLIGA TANKAR EVOLUTIONEN Charles Darwin (1809-1882) NÄR VI ÄR KLARA MED DETTA AVSNITT SKALL DU KUNNA: Ge en beskrivning av hur evolutionsteorin växt fram Visa skillnader och likheter mellan riktat och
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 merEkvivalensrelationer
Abstrakt datatyp för disjunkta mängder Vi skall presentera en abstrakt datatyp för att representera disjunkta mängder Kan bl.a. användas för att lösa ekvivalensproblemet avgör om två godtyckliga element
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 mer0XVLNVNDSDQGHJHQRP *HQHWLVN 3URJUDPPHULQJ
0XVLNVNDSDQGHJHQRP *HQHWLVN 3URJUDPPHULQJ ) UGMXSQLQJVDUEHWHL$, 0XVLNVNDSDQGHRFK*HQHWLVN3URJUDPPHULQJ 6DPPDQIDWWQLQJ I detta arbete har jag valt att undersöka hur musik kan skapas genom ett system grundat
Läs merFUZZY LOGIC. Christopher Palm chrpa087
FUZZY LOGIC 900223-1554 Innehållsförteckning INLEDNING...2 HUR DET FUNGERAR...3 Crisp Sets och Fuzzy Sets...3 Operatorer...5 IF THEN regler...7 FUZZY INFERENCE...7 Fuzzification...8 Regelsättning...8
Läs merGenetik, 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 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 merUppdelning 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 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 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 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 merUpplägg. Binära träd. Träd. Binära träd. Binära träd. Antal löv på ett träd. Binära träd (9) Binära sökträd (10.1)
Binära träd Algoritmer och Datastrukturer Markus Saers markus.saers@lingfil.uu.se Upplägg Binära träd (9) Binära sökträd (0.) Träd Många botaniska termer Träd, rot, löv, gren, Trädets rot kan ha ett antal
Läs merMälardalens högskola
Teknisk rapportskrivning - en kortfattad handledning (Version 1.2) Mälardalens högskola Institutionen för datateknik (IDt) Thomas Larsson 10 september 1998 Västerås Sammanfattning En mycket viktig del
Läs merFöreläsning 11. Giriga algoritmer
Föreläsning 11 Giriga algoritmer Föreläsning 11 Giriga algoritmer Användning Växelproblemet Kappsäcksproblemet Schemaläggning Färgläggning Handelsresandeproblemet Giriga algoritmer (Greedy algorithms)
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 merDYNAMISK 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 merAnpassningar: i variabla miljöer & Livshistorier och evolutionär fitness Kap. 9&10
Anpassningar: i variabla miljöer & Livshistorier och evolutionär fitness Kap. 9&10 Jätte-stora röda sammetskvalstret Förutsättningar för naturligt urval som leder till evolution: * Avkommeproduktion >
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 merGENETISK PROGRAMMERAD MUSIK OCH
GENETISK PROGRAMMERAD MUSIK OCH UTVECKLINGEN AV AUTO FITNESS RATERS Abstract Kan datorer skapa egen musik? Kan datorer lära sig vad som är bra musik? Med hjälp av Genetisk programmering och neurala nät
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 mer34% 34% 13.5% 68% 13.5% 2.35% 95% 2.35% 0.15% 99.7% 0.15% -3 SD -2 SD -1 SD M +1 SD +2 SD +3 SD
6.4 Att dra slutsatser på basis av statistisk analys en kort inledning - Man har ett stickprov, men man vill med hjälp av det få veta något om hela populationen => för att kunna dra slutsatser som gäller
Läs merEVOLUTIONEN = LIVETS UTVECKLING. Utveckling pågår
EVOLUTIONEN = LIVETS UTVECKLING Utveckling pågår ALLT LEVANDE PÅ JORDEN HAR ETT GEMENSAMT URSPRUNG. DET BETYDER ATT ALLA ORGANISMER BAKTERIER, SVAMPAR, VÄXTER OCH DJUR ÄR SLÄKT MED VARANDRA. ORGANISMER
Läs merde var svåra att implementera och var väldigt ineffektiva.
OBS! För flervalsfrågorna gäller att flera alternativ eller inget alternativ kan vara korrekt. På flervalsfrågorna kan man bara ha rätt eller fel, dvs frågan måste vara helt korrekt besvarad. Totalt kan
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 merRegisterforskning Oktober 2018, Stockholm City Conference Centre. Möjligheter med Artificiell Intelligens inom registerforskningen
Registerforskning 2018 17 Oktober 2018, Stockholm City Conference Centre Möjligheter med Artificiell Intelligens inom registerforskningen Peter Funk Mälardalens Högskola Vem är Peter Funk? Artificiell
Läs merUppsala Universitet Matematiska Institutionen Thomas Erlandsson
Uppsala Universitet Matematiska Institutionen Thomas Erlandsson LÄSANVISNINGAR VECKA 36 VERSION 1. ARITMETIK FÖR RATIONELLA OCH REELLA TAL, OLIKHETER, ABSOLUTBELOPP ADAMS P.1 Real Numbers and the Real
Läs merProjektrapport. Till Projektet Bluetoothstyrd bil
Till Projektet Bluetoothstyrd bil Av Erik Olsson Fornling Handledare: Fredrik Johansson n söndagen den 18 mars 2012 Sidan 1 (7) Sammanfattning Jag har byggt om en gammal radiostyrd bil och bytt ut all
Läs merFöreläsning 11. Giriga algoritmer
Föreläsning 11 Giriga algoritmer Föreläsning 11 Giriga algoritmer Användning Växelproblemet Kappsäcksproblemet Schemaläggning Färgläggning Handelsresandeproblemet Uppgifter Giriga algoritmer (Greedy algorithms)
Läs merPressrelease Artes Industriambassadör 031115. Mer realistiska skuggor i datorspel och virtual reality-applikationer
Anita Andler Pressrelease Artes Industriambassadör 031115 Mer realistiska skuggor i datorspel och virtual reality-applikationer Ulf Assarsson, doktorand vid Chalmers tekniska högskola lade den 10 oktober
Läs merEvolution, del 1: Evolution och naturlig selektion. Jessica Abbott Forskare Evolutionär Ekologi
Evolution, del 1: Evolution och naturlig selektion Jessica Abbott Forskare Evolutionär Ekologi Kanada Peterborough liftlocks Johnson Hall University of Guelph Lund Ekologihuset Erik Svensson Ischnura elegans
Läs merProgrammering i matematik
Matematik Grundskola åk 7-9 Modul: Matematikundervisning med digitala verktyg II Del 4: Programmering i matematik Programmering i matematik Ola Helenius, NCM, Morten Misfeldt, Aalborg universitet och Lennart
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 merNEUROEVOLUTION 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 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 merTENTAMEN. Programmering Grundkurs (HI1900) Skrivtid 13:15-18:15. Tisdagen 26 april Tentamen består av 8 sidor
TENTAMEN Programmering Grundkurs (HI1900) Skrivtid 13:15-18:15 Tisdagen 26 april 2011 Tentamen består av 8 sidor Hjälpmedel Förutom dator med installerad Code::Blocks, Utforskaren, Acrobat reader och Notepad
Läs merFöreläsning 1. Introduktion. Vad är en algoritm?
Några exempel på algoritmer. Föreläsning 1. Introduktion Vad är en algoritm? 1. Häll 1 dl havregryn och ett kryddmått salt i 2 1 2 dl kallt vatten. Koka upp och kocka gröten ca 3minuter. Rör om då och
Läs merOlika sätt att lösa ekvationer
Modul: Algebra Del 5: Algebra som språk Olika sätt att lösa ekvationer Cecilia Kilhamn, Göteborgs Universitet och Lucian Olteanu, Linnéuniversitetet Att lösa ekvationer är en central del av algebran, det
Läs 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 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 merBeräkning med ord. -hur en dator hanterar perception. Linköpings universitet Artificiell intelligens 2 2010-10-03 Erik Claesson 880816-1692
Beräkning med ord -hur en dator hanterar perception 2010-10-03 Erik Claesson 880816-1692 Innehåll Inledning... 3 Syfte... 3 Kan datorer hantera perception?... 4 Naturligt språk... 4 Fuzzy Granulation...
Läs merFörslag den 25 september Biologi
Biologi Naturvetenskapen har sitt ursprung i människans nyfikenhet och behov av att veta mer om sig själv och sin omvärld. Kunskaper i biologi har stor betydelse för samhällsutvecklingen inom så skilda
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 mer732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Felsökning. Datatyper. Referenstyper. Metoder / funktioner
732G11 Linköpings universitet 2011-01-21 1 2 3 4 5 6 Skapa program Kompilera: Källkod Kompilator bytekod Köra: Bytekod Virtuell maskin Ett riktigt program Hej.java class Hej { public static void main (
Läs merEXJOBBSOPPOSITION. 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 merDatorlaboration 4. Pedigree-analys
Datorlaboration 4 Pedigree-analys 2. BESKRIVNING AV DATORPROGRAM FÖR DATORLABORATION, PEDIGREE- ANALYS De program som används under denna laboration är inte särskilt användarvänliga (de har tagits fram
Läs merDatastrukturer och algoritmer. Föreläsning 15 Inför tentamen
Datastrukturer och algoritmer Föreläsning 15 Inför tentamen 1 Innehåll Kursvärdering Vi behöver granskare! Repetition Genomgång av gammal tenta 2 Första föreläsningen: målsättningar Alla ska höja sig ett
Läs merProblem: FIL File Paths
Problem: FIL File Paths swedish BOI 2015, dag 2. Tillgängligt minne: 256 MB. 1.05.2015 Byteasar tycker om att leva farligt. Han springer med saxar, skickar in lösningar på tävlingsproblem utan att testa
Läs merTDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 9 Jonas Lindgren, Institutionen för Datavetenskap, LiU
TDDC30 Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 9 Jonas Lindgren, Institutionen för Datavetenskap, LiU På denna föreläsning: Prioritetskö Heap Representation som
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 merDatatyper och kontrollstrukturer. Skansholm: Kapitel 2) De åtta primitiva typerna. Typ Innehåll Defaultvärde Storlek
De åtta primitiva typerna Java, datatyper, kontrollstrukturer Skansholm: Kapitel 2) Uppsala Universitet 11 mars 2005 Typ Innehåll Defaultvärde Storlek boolean true, false false 1 bit char Tecken \u000
Läs merELEMENTÄR - SVÅRARE FÄRGGENETIK. Del 5
ELEMENTÄR - SVÅRARE FÄRGGENETIK Del 5 av Maria Grönkvist Det har blivit dags för den sista delen av min artikelserie. Denna gång tänkte jag delge er läsare mina funderingar angående en del färger, ge ett
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 merKommentarer till behandlingen av data som ligger till grund för den statistiska utvärderingen av Genetisk Analys av Svenska Vorstehklubbens Jaktprov.
Kommentarer till behandlingen av data som ligger till grund för den statistiska utvärderingen av Genetisk Analys av Svenska Vorstehklubbens Jaktprov. Rolf Bergman Gammelhöjdas Kennel I examensarbetet Genetisk
Läs merIt s through mistakes that you actually can grow. You have to get bad in order to get good.
It s through mistakes that you actually can grow. You have to get bad in order to get good. Design Paula Scher Design 115 Stina Nilimaa Wickström Stina Nilimaa Wickström är designchef för Volvo-koncernen.
Läs mer729G11 Artificiell Intelligens Marcus Johansson Marjo581. Fuzzy logic. Marcus Johansson Marjo581
Fuzzy logic 880328-2535 Innehåll Fuzzy logic... 1 1. Inledning... 4 2. Jämförelse mellan fuzzy logic och tvåvärdeslogik.... 4 3. Fuzzy sets.... 4 4. Linvistiska variabler... 5 5. Operatorer... 5 6. If-
Läs merIntroduktion till programmering SMD180. Föreläsning 8: Listor
Introduktion till programmering Föreläsning 8: Listor 1 1 Listor = generaliserade strängar Strängar = sekvenser av tecken Listor = sekvenser av vad som helst Exempel: [10, 20, 30, 40] # en lista av heltal
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 merProgrammera ett övergångsställe
Programmera ett övergångsställe I lektionen programmeras en algoritm för att styra trafikljus i en korsning. Eleverna får skapa en praktisk applikation och lära sig att skapa och modifiera algoritmer.
Läs merEVOLUTIONÄ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 merHI1024 Programmering, grundkurs TEN
HI1024 Programmering, grundkurs TEN2 2016-12-22 KTH STH Flemingsberg 8.15-13.00 Tillåtna hjälpmedel: Kursboken C PROGRAMMING A Modern Approach K. N. King helt utan anteckningar Alternativt C från början
Läs merPersonifierad Netflix
Linköpings universitet Personifierad Netflix Lisa Rönnqvist 2016-08-24 Sammanfattning INNEHÅLLSFÖRTECKNING 1. Inledning... 1 1.1 Bakgrund... 1 1.2 Syfte... 2 2. Netflix... Fel! Bokmärket är inte definierat.
Läs merArtbildning och utdöende
Artbildning och utdöende Arter Vad är en art? Enkla svaret: Två individer ur olika arter, kan inte få fertil avkomma Lite mer komplicerat: "Art" är en människans definition. Det finns exempel på arter
Läs merLennart Rolandsson, Uppsala universitet, Ulrica Dahlberg och Ola Helenius, NCM
Matematik Gymnasieskola Modul: Matematikundervisning med digitala verktyg II Del 1: Om programmering Aktiviteter Del 1 Lennart Rolandsson, Uppsala universitet, Ulrica Dahlberg och Ola Helenius, NCM Ni
Läs merProgrammeringsolympiaden 2018
Programmeringsolympiaden 2018 TÄVLINGSREGLER FÖR SKOLKVALET Tävlingen äger rum på av skolan bestämt datum under fyra timmar. Ingen förlängning ges för lunch eller raster. Eleven ska i förväg komma överens
Läs merCSI - 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 merSpråket Python - Del 1 Grundkurs i programmering med Python
Hösten 2009 Dagens lektion Ett programmeringsspråks byggstenar Några inbyggda datatyper Styra instruktionsflödet Modulen sys 2 Ett programmeringsspråks byggstenar 3 ETT PROGRAMMERINGSSPRÅKS BYGGSTENAR
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 merÄrftliga sjukdomar och egenskaper hos hund
Engelsk bulldog Tibetansk terrier Västgötaspets Dvärgpinscher Chow chow Foto: Pleple2000 Foto: Flickr user skaty222 Foto: Sören T Eriksson Foto: Entheta Foto:Jurriaan Schulman Alla bilder Wikimedia commons
Läs merVad är en designprocess?
Vad är en designprocess? En designprocess är organisation och ledning av människor och den information och kunskap de tar fram vid utvecklingen av en produkt Vilka variabler kan vi kontrollera? Hur mäter
Läs merDelprov 3 Vetenskaplig artikel
Delprov 3 Vetenskaplig artikel # of Questions: 15 Question #: 1 I denna uppgift ska du läsa en vetenskaplig artikel (CHCHD2 mutations in autosomal dominant late-onset Parkinson s disease: a genome-wide
Läs mer1 Mätdata och statistik
Matematikcentrum Matematik NF Mätdata och statistik Betrakta frågeställningen Hur mycket väger en nyfödd bebis?. Frågan verkar naturlig, men samtidigt mycket svår att besvara. För att ge ett fullständigt
Läs merefact Sök Sök/Rapporter (2008-04-18)
efact Sök Sök/Rapporter (2008-04-18) Sök För att söka efter fakturor, tryck Alt + Ö eller klicka på Sök i den övre menyraden. Man kan söka på tre olika typer av värden; 1. Fakturavärden. Information knutet
Läs merENKEL Programmering 3
ENKEL Programmering 3 Figurer i långa rader Titta på de olika figurerna i de olika raderna. Kan du se att de olika figurerna i varje rad är placerade enligt ett visst mönster? Kan du lista ut vilken figur
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 merTDDD92 Artificiell intelligens -- projekt
jonas.kvarnstrom@liu.se 2018 TDDD92 Artificiell intelligens -- projekt Individuella uppgifter UPG2: Individuell skriftlig rapport 2 Vad? Läsa och förstå vetenskaplig litteratur Varför? Framtiden: Inte
Läs merPROGRAMMERING. Ämnets syfte. Kurser i ämnet
PROGRAMMERING Ämnet programmering behandlar hur mjukvaror skapas, anpassas och utvecklas samt programmeringens roll i informationstekniska sammanhang som datorsimulering och praktisk datoriserad problemlösning.
Läs merTentaupplägg denna gång
Tentaupplägg denna gång Denna tenta är uppdelad i två olika varianter. Det är helt ok att använda vilken variant ni vill. Det är ok att byta mitt under tentan om man så vill också. Variant 1: Uppgift 1,
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 merCancer som en ämnesomsättningssjukdom del 1
Cancer som en ämnesomsättningssjukdom del 1 Artiklarna skrivna av Dr Georgia Ede (översättning S E Nordin) Thomas Seyfried PhD, en hjärncancerforskare med över 25 års erfarenhet inom området, gav en banbrytande
Läs mer