Genetiska algoritmer. Henrik Hansson Rapport, CDT212 Mälardalens Högskola

Storlek: px
Starta visningen från sidan:

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

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, <http://rogeralsing.com/2008/12/07/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, <http://www.kuliniewicz.org/blog/archives/category/coding/wallace/> (4 mars 2010) [Marczyk04] Adam Marczyk, Genetic Algorithms and Evolutionary Computation, <http://www.talkorigins.org/faqs/genalg/genalg.html> (4 mars 2010) [Mitchell97] Tom M. Mitchell, Machine Learning, McGraw-Hill, ISBN , 1997 [Obitko98] Marek Obitko, Encoding Introduction to Genetic Algorithms, <http://www.obitko.com/tutorials/genetic-algorithms/encoding.php> (4 mars 2010) [Wikipedia10] Wikipedia Genetic algorithm, <http://en.wikipedia.org/wiki/genetic_algorithm> (5 mars 2010) [Youtube10] YouTube, Mona Lisa Genetic Algorithm Test 1, <http://www.youtube.com/watch?v=a8x4lyj33ro> (4 mars 2010) 9

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

genetiska algoritmer

genetiska 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 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

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

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

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

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

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

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

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 De fem rikena Växter Djur Svampar

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

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

0XVLNVNDSDQGHJHQRP *HQHWLVN 3URJUDPPHULQJ

0XVLNVNDSDQGHJHQRP *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 mer

Vi skall under ett antal veckor jobba med evolutionsundervisning. Arbetet kommer att se lite olika ut.

Vi 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 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

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

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

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

Lokal pedagogisk planering för arbetsområdet genetik i årskurs 9

Lokal 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 mer

Anvä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.

Anvä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 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

Upplä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)

Upplä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 mer

GENETISK PROGRAMMERAD MUSIK OCH

GENETISK 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 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

Vad händer i ett genetiskt laboratorium?

Vad 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 mer

Föreläsning 11. Giriga algoritmer

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

Läs mer

de var svåra att implementera och var väldigt ineffektiva.

de 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 mer

34% 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

34% 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 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

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

Olika sätt att lösa ekvationer

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

Läs mer

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

Självlärande Dots & Boxes-spelare

Självlärande Dots & Boxes-spelare Självlärande Dots & Boxes-spelare ANDREAS PETTERSSON Kandidatexamensarbete inom datalogi, grundnivå Kurs 143X Handledare: Johan Boye Examinator: Mads Dam andrepet@kth.se Vintrosagatan 5 124 73 Bandhagen

Läs mer

Programmeringsuppgift Game of Life

Programmeringsuppgift 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 mer

729G11 Artificiell Intelligens Marcus Johansson Marjo581. Fuzzy logic. Marcus Johansson Marjo581

729G11 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 mer

MinMax Algoritmen Implementation och optimering. Joakim Östlund 15 juni 2004

MinMax Algoritmen Implementation och optimering. Joakim Östlund 15 juni 2004 MinMax Algoritmen Implementation och optimering Joakim Östlund 15 juni 2004 1 Samanfattning MinMax är en algoritm som kan användas i turbaserade spel för att skapa en virituell motståndare. Algoritmen

Läs mer

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

Matematisk modellering - Projekt. djurförflyttningar. Viktor Griph Anders Jonsson

Matematisk 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 mer

Problem: FIL File Paths

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

Läs mer

Datorlaboration 4. Pedigree-analys

Datorlaboration 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 mer

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

PROGRAMMERING. Ä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 mer

Datastrukturer och algoritmer. Föreläsning 15 Inför tentamen

Datastrukturer 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 mer

Evolution, 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 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 mer

1 Mätdata och statistik

1 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 mer

En typisk medianmorot

En 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 mer

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

PROGRAMMERING. Ä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 mer

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

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

Läs mer

Tentaupplägg denna gång

Tentaupplä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 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

Datatyper och kontrollstrukturer. Skansholm: Kapitel 2) De åtta primitiva typerna. Typ Innehåll Defaultvärde Storlek

Datatyper 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 mer

TENTAMEN. 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 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 mer

Kandidatuppsats. Jämförelse mellan neurala nätverk baserad AI och state-of-the-art AI i racing spel. Simon Karlsson, Christopher Jensen

Kandidatuppsats. Jämförelse mellan neurala nätverk baserad AI och state-of-the-art AI i racing spel. Simon Karlsson, Christopher Jensen Kandidatuppsats Jämförelse mellan neurala nätverk baserad AI och state-of-the-art AI i racing spel Simon Karlsson, Christopher Jensen Sammanfattning Denna rapport jämför prestandan mellan state-of-the-art

Läs mer

Berä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. 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 mer

Föreläsning 1. Introduktion. Vad är en algoritm?

Fö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 mer

Astrakan Strategisk Utbildning AB 2011 1

Astrakan Strategisk Utbildning AB 2011 1 Målet med detta kapitel är att du skall kunna utvärdera ett agilt projekt och förstå hur man upptäcker vad som behöver förstärkas. Metoden som egentligen är ett verktyg kan användas på många sätt: att

Läs mer

Teoretisk del. Facit Tentamen TDDC (6)

Teoretisk del. Facit Tentamen TDDC (6) Facit Tentamen TDDC30 2014-08-29 1 (6) Teoretisk del 1. (6p) "Snabba frågor" Alla svar motiveras väl. a) Vad är skillnaden mellan synligheterna public, private och protected? (1p) Svar:public: Nåbar för

Läs mer

Artbildning och utdöende

Artbildning 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 mer

Uppsala Universitet Matematiska Institutionen Thomas Erlandsson

Uppsala 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 mer

Pressrelease Artes Industriambassadör 031115. Mer realistiska skuggor i datorspel och virtual reality-applikationer

Pressrelease 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 mer

Dynamisk programmering. Dynamisk programmering. Dynamisk programmering. Dynamisk programmering

Dynamisk programmering. Dynamisk programmering. Dynamisk programmering. Dynamisk programmering Betrakta ett lagerhållningsproblem i flera tidsperioder. Vi har tillverkning och försäljning av produkter i varje tidsperiod. Dessutom kan vi lagra produkter mellan tidsperioder, för att utnyttja stordriftsfördelar

Läs mer

Vad är en designprocess?

Vad ä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 mer

Introduktion till programmering med hjälp av Lego Mindstorm

Introduktion till programmering med hjälp av Lego Mindstorm Kungliga Tekniska Högskolan Introduktion till programmering med hjälp av Lego Mindstorm Laborationsrapport gällande programmering inom NXC Simon Jansson 31 08 2014 simonjan@kth.se Introduktionskurs i datateknik

Läs mer

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

PROGRAMMERING. Ä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 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

Artificiell Intelligens inom datorspel Är det ett seriöst ämne?

Artificiell Intelligens inom datorspel Är det ett seriöst ämne? Artificiell Intelligens inom datorspel Är det ett seriöst ämne? Tobias Andersson, tan10006@student.mdh.se Erik Johnasson, ejn11015@student.mdh.se Information kunskap vetenskap etik DVA223 SAMMANFATTNING

Läs mer

INVENTERING STORA ROVDJUR

INVENTERING STORA ROVDJUR FAKTABLAD ROVDJUR INVENTERINGSMETODIK OKTOBER 2014 INVENTERING STORA ROVDJUR METODIK ROVDJUR: Allmänhetens medverkan i inventeringen Detta faktablad Varg: Allmänhetens medverkan i inventeringen inom Nasjonalt

Läs mer

HI1024 Programmering, grundkurs TEN

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

Läs mer

Tillämpad Programmering (ID1218) :00-13:00

Tillämpad Programmering (ID1218) :00-13:00 ID1218 Johan Montelius Tillämpad Programmering (ID1218) 2014-03-13 09:00-13:00 Förnamn: Efternamn: Regler Du får inte ha något materiel med dig förutom skrivmateriel. Mobiler etc, skall lämnas till tentamensvakten.

Läs mer

Datalogiskt tänkande för alla

Datalogiskt tänkande för alla Datalogiskt tänkande för alla Fredrik Heintz, IDA fredrik.heintz@liu.se @FredrikHeintz Linda Mannila linda.mannila@abo.fi @lindamannila Software is eating the world Trends AI och Autonoma System redan

Läs mer

Spelutveckling - Gameplay. Design och produktion

Spelutveckling - Gameplay. Design och produktion Spelutveckling - Gameplay Design och produktion Vad är ett spel? Finns olika åsikter Några exempel som räcker på egen hand Coola features Akta er för feature creep För mycket features kan dränka gameplay

Läs mer

Programkonstruktion och. Datastrukturer

Programkonstruktion och. Datastrukturer Programkonstruktion och Datastrukturer Repetitionskurs, sommaren 2011 Datastrukturer (Listor, Träd, Sökträd och AVL-träd) Elias Castegren elias.castegren.7381@student.uu.se Datastrukturer Vad är en datastruktur?

Läs mer

Föreläsning 13. Dynamisk programmering

Föreläsning 13. Dynamisk programmering Föreläsning 13 Dynamisk programmering Föreläsning 13 Dynamisk programmering Fibonacci Myntväxling Floyd-Warshall Kappsäck Handelsresandeproblemet Uppgifter Dynamisk programmering Dynamisk programmering

Läs mer

Kommentarer 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. 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 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

Digitalt lärande och programmering i klassrummet

Digitalt lärande och programmering i klassrummet Digitalt lärande och programmering i klassrummet Innehåll Vad är programmering och varför behövs det? Argument för (och emot) programmering Programmering i styrdokumenten Kort introduktion till programmering

Läs mer

openrgd Rikstäckande Genealogisk Databas (RGD) Sammanslagen släktforskning Sveriges historiska befolkning med släktrelationer

openrgd Rikstäckande Genealogisk Databas (RGD) Sammanslagen släktforskning Sveriges historiska befolkning med släktrelationer openrgd Rikstäckande Genealogisk Databas Sammanslagen släktforskning Sveriges historiska befolkning med släktrelationer 2015-04-30 delprojekt openrgd Resultat Rikstäckande Genealogisk Databas (RGD) är

Läs mer

1. Inledning, som visar att man inte skall tro på allt man ser. Betrakta denna följd av tal, där varje tal är dubbelt så stort som närmast föregående

1. Inledning, som visar att man inte skall tro på allt man ser. Betrakta denna följd av tal, där varje tal är dubbelt så stort som närmast föregående MATEMATISKA INSTITUTIONEN STOCKHOLMS UNIVERSITET Christian Gottlieb Gymnasieskolans matematik med akademiska ögon Induktion Dag 1 1. Inledning, som visar att man inte skall tro på allt man ser. Betrakta

Läs mer

Språket Python - Del 1 Grundkurs i programmering med Python

Språ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 mer

SKOLFS. beslutade den -- maj 2015.

SKOLFS. 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 mer

Uppgift 1 ( Betyg 3 uppgift )

Uppgift 1 ( Betyg 3 uppgift ) Uppgift 1 ( Betyg 3 uppgift ) I filerna queue_handling.ads och queue_handling.adb finns en datastruktur som motsvarar en kö. Det finns fyra operationer som kan utföras på en kö. 1) Enqueue som stoppar

Läs mer

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

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

Läs mer

Cancer som en ämnesomsättningssjukdom del 1

Cancer 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

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

Laboration i datateknik

Laboration i datateknik KUNGLIGA TEKNISKA HÖGSKOLAN Laboration i datateknik Felsökning och programmering av LEGO NXT robot Daniel Willén 2012 09 06 dwill@kth.se Introduktionskurs i datateknik II1310 Sammanfattning Syftet med

Läs mer

Mäta rakhet Scanning med M7005

Mäta rakhet Scanning med M7005 Matematikföretaget jz M7005.metem.se 141121/150411/150704/SJn Mäta rakhet Scanning med M7005 Mätgivare Detalj Mäta rakhet - Scanning 1 (12) Innehåll 1 Ett exempel... 3 2 Beskrivning... 6 2.1 Scanna in

Läs mer

Ärftliga sjukdomar och egenskaper hos hund

Ä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 mer

Pedagogisk planering Bi 1 - Individens genetik

Pedagogisk 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 mer

Vad är repetitionslängd?

Vad är repetitionslängd? Huntingtons sjukdom forsknings nyheter. I klartext Skriven av forskare För de globala HS medlemmarna. Ny analys visar att den korta CAG-längden inte spelar roll Storleken är inte allt: forskning tyder

Läs mer

Lite om reella tal. Programmering. I java. Om operatorers associativitet och prioritet

Lite om reella tal. Programmering. I java. Om operatorers associativitet och prioritet Programmering hh.se/db2004 Föreläsning 4: Fält samt Input/Output Verónica Gaspes www2.hh.se/staff/vero www2.hh.se/staff/vero/programmering Lite om reella tal Vad kan man göra med reella tal? Utöver de

Läs mer

Tentamen i. TDDC67 Funktionell programmering och Lisp

Tentamen 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 mer

Tor Sterner-Johansson Thomas Johansson Daniel Henriksson

Tor Sterner-Johansson Thomas Johansson Daniel Henriksson Lab 4: Anti Tower Defence Oskar Mothander Alan Mendez Larsson dit06omr dit06mln Lärare: Handledare: Johan Eliasson Johan Granberg Tor Sterner-Johansson Thomas Johansson Daniel Henriksson Innehåll 1. Problemspecifikation...

Läs mer

2 Dataanalys och beskrivande statistik

2 Dataanalys och beskrivande statistik 2 Dataanalys och beskrivande statistik Vad är data, och vad är statistik? Data är en samling fakta ur vilken man kan erhålla information. Statistik är vetenskapen (vissa skulle kalla det konst) om att

Läs mer

HI1024 Programmering, grundkurs TEN2 2014-03-13

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

Läs mer

Eulercykel. Kinesiska brevbärarproblemet. Kinesiska brevbärarproblemet: Metod. Kinesiska brevbärarproblemet: Modell. Definition. Definition.

Eulercykel. Kinesiska brevbärarproblemet. Kinesiska brevbärarproblemet: Metod. Kinesiska brevbärarproblemet: Modell. Definition. Definition. Eulercykel Definition En Eulercykel är en cykel som använder varje båge exakt en gång. Definition En nods valens är antalet bågar som ansluter till noden. Kinesiska brevbärarproblemet En brevbärartur är

Läs mer

campus.borlänge Förstudie - Beslutsstöd för operativ tågtrafikstyrning

campus.borlänge Förstudie - Beslutsstöd för operativ tågtrafikstyrning campus.borlänge Förstudie - Beslutsstöd för operativ tågtrafikstyrning En rapport från CATD-projektet, januari-2001 1 2 Förstudie Beslutsstöd för operativ tågtrafikstyrning Bakgrund Bland de grundläggande

Läs mer

Värmedistribution i plåt

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

Läs mer

PROGRAMMERING I NXC. Sammanfattning KUNGLIGA TEKNISKA HÖGSKOLAN

PROGRAMMERING I NXC. Sammanfattning KUNGLIGA TEKNISKA HÖGSKOLAN KUNGLIGA TEKNISKA HÖGSKOLAN PROGRAMMERING I NXC Namn: Michel Bitar 2012-08- 25 E- post: mbitar@kth.se Introduktionskurs i datateknik, II1310 Sammanfattning Intressant och lärorik laboration om att programmera

Läs mer

Bisektionsalgoritmen. Kapitel Kvadratroten ur 2

Bisektionsalgoritmen. Kapitel Kvadratroten ur 2 Kapitel 4 Bisektionsalgoritmen Vi ska konstruera lösningar till algebraiska ekvationer av formen f(x) = 0 med hjälp av bisektionsalgoritmen (intervallhalveringsmetoden). På samma gång ska vi se hur man

Läs mer

Beräkningsvetenskap. Vad är beräkningsvetenskap? Vad är beräkningsvetenskap? stefan@it.uu.se. Informationsteknologi. Informationsteknologi

Berä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