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

Storlek: px
Starta visningen från sidan:

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

Transkript

1 Maskininlärning gent som lär sig! Introduktion Yttre standard/återkoppling! Genetiska algoritmer! Exempelinlärning! eslutsträdsinlärning! Version Space-inlärning Återkoppling Kritiserare Mål Inlärningselement Förändringar Kunskap Sensorer Utförandeelement Omgivning Problemgenerator gent Effektorer Typer av återkoppling Genetiska algoritmer! Omgivningen talar direkt om vilken handling som skulle varit korrekt! Specikt exempel till generell regel, ex beslutsträd och version space! Generellt råd till exekverbar regel, ex råd i kortspel som via operationaliseringar omvandlas till en specik regel! Reinforcement learning! genten får bara reda på om det var bra eller dåligt, inte varför eller vilken handling som orsakade detta! Ingen återkoppling från omgivningen! Ofta klustring, ex Kohonennät, self-organizing maps (SOM)! M annat exempel! Iterativ metod som utgår från de bästa tillstånden och förbättrar dessa! Naturligt urval! Operatorer inspirerade från naturlig genetisk variation! rbetar parallellt med flera sökrymder! Egentligen sökmetod men också inlärning

2 Komponenter Population! Kodning (gen, kromosom)! Initialiseringsprocedur (skapa)! Evalueringsfunktion (omgivning)! Föräldraurval (reproduktion)! Genetiska operatorer (mutation, korsning) Kromosomer kan vara:! itsträngar ! Tal 43,2-33,1... 0,0 89,2! Permuationer E11 E3 E7... E1 E15! Regellistor R1 R2 R3... R22 R23! Program dir== Norr : gowest!... Exempel, 1 Exempel, 2! itsträngskromosom, 5 bit! Vill ha bara ettor! Slumpmässigt skapade kromosomer, 3 st! Evalueringsfunktion som räknar antal ettor! Välj de bästa föräldrarna för reproduktion! Låt de bästa kromosomerna vara kvar, men ta bort dubbletter! Genetisk operation! yt slumpmässig bit i den kromosom som inte reproducerades Initialpopulation ettor ettor etta Evaluera ettor ettor etta ettor ettor Reproduktion Genetisk operation Ny population ettor ettor ettor

3 Exempel, 3 Enkel genetisk algoritm Population ettor ettor ettor Genetisk operation Reproduktion initialisera populationen utvärdera populationen while inte tillfredställande resultat: välj ut föräldrar för reproduktion korsa och mutera Evaluera utvärdera populationen ettor ettor ettor ettor ettor Operationer Rouletthjul! Reproduktion! Föräldrarna väljs slumpmässigt med hänsyn till kromosomutvärdering! Kromosomförändringar! Stokastiskt triggade! Mutationer! Korsningar! Välja ut individer! Rouletthjul! ättre fitnessvärde ger större chans att leva men slump finns kvar! Exempel Kromosom, fitness 4 Kromosom, fitness 10 Kromosom, fitness 5 Kromosom D, fitness 1

4 Exempel, 1 Exempel, 2 Handelsresandeproblemet D 2! Korsning! Två gener. Ta första från första, andra från andra, tredje från första etc och bilda en ny gen. Om elementet redan finns ta nästa. Sluta med samma som start! Mutation! yt slumpmässigt två element! Fitness! Totalavstånd! Starttillstånd D D D D D Exempel, 3 Exempel, 4 Korsa de två första: D D D eftersom som är tredje från första genen redan finns eftersom redan finns Ny gen D Korsa de två sista: D Ny gen: D D D! Mutera första genen slumpmässigt D! Ny population D D 5 = D 5 1 = 12 4 D = 12 D D = D 2 1 = D 4 = 10 5 D = 11! ehåll de fyra bästa

5 Exempel, 5 Exempel, 6! Ny population D D = D 2 1 = D 4 = 10 5 D = 11! Korsa två första D D! Korsa två sista D! Mutera första. Slumpen gav andra och tredje staden D D! Ny population D D = D 2 1 = D 4 = 10 5 D = 11 D D = 12 4 D = 10 D D = 10! ehåll de fyra bästa 3 4 D 2 1 = D 4 = 10 4 D = 10 D D = 10! etc Genetisk programmering Exempel! Genetiska algortimer med program som data! Skapa program som löser given uppgt Hitta ekvation för mätdata Skapa en ekvation räkna ut och jämför med kurvan, t.ex. y = x*x 3 y = x + 4 x 3 y = x etc

6 GP algoritm Exempel, 1 generera program slumpmässigt kör och utvärdera program med träningsdata while inte tillräckligt bra program välj ut program för reproduktion modiera programmen kör och utvärdera program med träningsdata Wumpus följa väggen Förflyttning och riktning: Norr, Söder, Väster, Öster and return goöster Ex. norr and not bumpöster: return goöster öster and not bumpsöder: return gosöder söder and not bumpväster: return goväster return gonorr norr not and return gosöder bumpöster öster not and return goväster return gonorr bumpsöder söder not bumpväster Exempel, 2 Exempel, 3 1. Skapa initial population, t.ex slumpmässigt skapade syntaktiskt korrekta träd and return gonorr norr norr söder return gonorr söder 2. Fitness: Låt agenten starta 10 gånger, varje gång från en ny position. Låt agenten gå 60 steg och räkna antalet unika rutor som angränsar till en vägg and return goväster not bumpväster return gonorr 3. Skapa nya program genom att 1. Låta de 500 bästa leva 2. Skapa ytterligare 4500 nya individer av dessa bästa genom slumpässig korsning and return gonorr and return goväster return gonorr norr norr söder return gonorr söder not bumpväster return goväster return gonorr söder return gonorr

7 Exempel, 4 eslutsträd söder and 4. Mutera 50 program genom att byta ett delträd mot ett slumpmässigt skapat delträd return goväster not bumpväster return gonorr and return goväster söder bumpöster I en värld med 32 väggrutor får man fram ett perfekt program efter 10 generationer not and väster return gonorr! Skapa en kompakt representation av beslut i en situation beskriven som en mängd egenskaper som påverkar beslutet! Ex om man skall vänta vid en restaurang (Russel & Norvig)! ttribut:! Finns det alternativ i närheten! Finns det en bar att vänta i! Är det helg! Är jag hungrig! Finns det k i restaurangen! Regnar det! Vilken typ av restaurang är det! etc Restaurangexemplet eslutsträdsinlärning Ja lternativ Nej! Skapa optimalt beslutsträd ur en exempelmängd Ja ar Nej Ja Hungrig Nej Initialisera rotnoden med hela exempelmängden while det finns en nod, N, som kan delas: Regn K Nej Ja >60 Väntar Väntar inte for each attribut evaluera delning vid : använd bästa för att dela N Väntar inte Väntar Väntar inte Väntar Väntar inte

8 Exempel Konvertera numeriska data NMN INKOMST ÅLDER GIFT Marie! < 40 J Sven! < 40 J Olle < < 40 NEJ Eva! 40000! 40 J Uwe < < 40 NEJ Hans < < 40 NEJ nne! 40000! 40 J Dela vid ålder Dela vid inkomst < 40 NMN INKOMST GIFT Marie! J Sven! J Olle < NEJ Uwe < NEJ Hans < NEJ Måste dela igen! NMN INKOMST ÅLDER GIFT Marie! < 40 J Sven! < 40 J Olle < < 40 NEJ Eva! 40000! 40 J Uwe < < 40 NEJ Hans < < 40 NEJ nne! 40000! 40 J! 40 NMN INKOMST GIFT Eva! J nne! J NMN INKOMST ÅLDER GIFT Marie! < 40 J Sven! < 40 J Olle < < 40 NEJ Eva! 40000! 40 J Uwe < < 40 NEJ Hans < < 40 NEJ nne! 40000! 40 J < NMN ÅLDER GIFT Olle < 40 NEJ Uwe < 40 NEJ Hans < 40 NEJ! NMN ÅLDER GIFT Marie < 40 J Sven < 40 J Eva! 40 J nne! 40 J

9 Information Välja bästa attribut! Hur välja attribut att dela trädet?! Ofta används informationsmått! Information innebär minskad osäkerhet! Exempel! Om man i ett varuhus frågar var skivavdelningen finns och får veta att det finns på våning 1, får man mer information om det finns 6 våningar än om det finns 2 och ingen information om det bara finns en våning.! Utfallet av en händelse med flera lika sannolika möjligheter ger mer information än utfallet av en händelse med färre lika sannolika möjligheter! nvänd förväntad mängd information som återstår vid ett attribut! it information den mängd information som behövs! Informationsteori: en bit information ger ett ja/nej svar på en fråga! Definition, entropi (Shannon) I ( P( v1 ),!, P( vn )) =!" P( vi ) log 2 P( vi ) i= 1 Eftersom P(v i )! 1 blir log 2 (P(v i )) negativ, därför minus n Exempel Entropi för attribut! Musikavdelningen i varuhus med två lika sannolika våningar I(",") = -"log 2 (") - "log 2 (") = -log 2 (") = -(log 2 (1)-log 2 (2)) = 1! 8 lika sannolika våningar I(#,$..,#) = -#log 2 (#) - $ -#log 2 (#) = -log 2 (#) = log 2 (8) = 3! Jämför vanlig datarepresentation. Det behövs tre bit för att representera 8 olika alternativ! Låt:! n b, antal instanser i gren b! n bc, antal instanser i gren b av klass c! n t, totala antalet instanser i alla grenar n ' $ b nbc nbc! %!( log ( " # E ( ) = 2 ) b nt & c nb nb! Exempel n ålder<40 =5 n ålder<40, class=gt =2 n t = 7 NMN INKOMST ÅLDER GIFT Marie! < 40 J Sven! < 40 J Olle < < 40 NEJ Eva! 40000! 40 J Uwe < < 40 NEJ Hans < < 40 NEJ nne! 40000! 40 J < 40! 40 NMN INKOMST GIFT NMN INKOMST GIFT Marie! J Eva! J Sven! J nne! J Olle < NEJ Uwe < NEJ Hans < NEJ

10 Informationsvinst (ID3/4.5) Starttillstånd! Den information som man vinner om man går ner i gren Vinst ( ) = I( Output )! E( )! Välj det attribut som ger högst vinst! 4/7 är gta! 3/7 är ogta 4 I Output) =! log 7 4 3! log ( 2 2 = 0,985 Ålder! 5 är < 40! 2 gta; 3 ogta I( < 40) =! log! log = NMN INKOMST ÅLDER GIFT Marie! < 40 J Sven! < 40 J Olle < < 40 NEJ Eva! 40000! 40 J Uwe < < 40 NEJ Hans < < 40 NEJ nne! 40000! 40 J < 40! 40 NMN INKOMST GIFT NMN INKOMST GIFT Marie! J Eva! J Sven! J nne! J Olle < NEJ Uwe < NEJ Hans < NEJ 0,971 Ålder, forts.! Entropi 5 7 " 0, " 0 = 0,693! Vinst(Ålder)=0,985-0,693=0,292! 2 är % 40! alla gta 2 2 I( " 40) =! log2 = 0 2 2

11 Inkomst! 3 har < 40000! alla ogta " I=0! 4 har! 40000! alla gta " I=0! Entropi 0! Vinst(Inkomst)=0,985-0=0,985 < NMN ÅLDER GIFT Olle < 40 NEJ Uwe < 40 NEJ Hans < 40 NEJ NMN INKOMST ÅLDER GIFT Marie! < 40 J Sven! < 40 J Olle < < 40 NEJ Eva! 40000! 40 J Uwe < < 40 NEJ Hans < < 40 NEJ nne! 40000! 40 J! NMN ÅLDER GIFT Marie < 40 J Sven < 40 J Eva! 40 J nne! 40 J Restuarangexemplet, träningsexempel Exempel ttribut Mål Väntar lt ar Helg Hunger K V-tid Regn okat Typ X1 Ja Nej Nej Ja Några 0-10 Nej Ja Fransk Ja X2 Ja Nej Nej Ja Full Nej Nej Thai Nej X3 Nej Ja Nej Nej Några 0-10 Nej Nej Kina Ja X4 Ja Nej Ja Ja Full Nej Nej Thai Ja X5 Ja Nej Ja Nej Full >60 Nej Ja Fransk Nej X6 Nej Ja Nej Ja Några 0-10 Ja Ja Pizza Ja X7 Nej Ja Nej Nej Ingen 0-10 Ja Nej Kina Nej X8 Nej Nej Nej Ja Några 0-10 Ja Ja Thai Ja X9 Nej Ja Ja Nej Full >60 Ja Nej Kina Nej X10 Ja Ja Ja Ja Full Nej Ja Pizza Nej eslutsträd Resultat + x1, x3, x6, x8 - J Default Fransk + - x10 NEJ Några + x4 - x2, x10 TYP + x4 - J Ja Pizza Kina Default KUNDER Full + x4 - x2, x5, x9, x10 HUNGRIG Thai Ja + x4 - x2 HELG Nej Nej + - x5, x9 NEJ + - x2 NEJ Ingen + - x7 NEJ! eslutsträdet använder inte alla attribut! Kan ha funnit okända samband mellan attribut! Om det saknas exempel för ett visst attributvärde så spelar det ingen roll. Returnera något defaultvärde! Om det saknas attribut i en gren där det inte finns ett beslut så saknas det information och fler attribut behövs såvida det inte är fel eller icke-deterministiskt

12 Hypotesinlärning Hypotesinlärning! Från specika exempel till generell beskrivning! Presenterar såväl positiva som negativa exempel! Positivt exempel som inte matchar leder till en generalisering av modellen (false negativ)! Negativt exempel som matchar ger en specicering av modellen (false positiv) def currentestlearning(exempel): h = hypotes konsistent med första exemplet for each e in exempel: e false positiv: specialisera h så att h konsistent med alla tidigare exempel e false negativ: generalisera h så att h konsistent med alla tidigare exempel ingen konsistent specialisering/generalisering: return Fail Exempel, Winston Positivt exempel båge vänster-om höger-om block Generalisering Nytt positivt exempel båge block vänster-om höger-om generalisera båge triangel vänster-om höger-om triangel block polygon block

13 Specicering Version Spaces Negativt exempel Stärk modellen med en ny länk båge vänster-om höger-om polygon får-inte-röra-vid! Hypotesinlärning à la Winston måste hålla reda på alla positiva och negativa exempel! Versions Spaces Hittar både den mest specika och den mest generella beskrivning som täcker alla positiva exempel och inget negativt! rbetar med två hypotesmängder:! S: de mest specika hypoteser som täcker alla positiva exempel och inget negativt! G: de mest generella hypoteser som täcker alla positiva exempel och inget negativt Version spaces Version Space-algoritmen G: mest specika generaliseringen S: mest generella speciceringen Tolkningsrymd Om positivt exempel p:! Ta bort de hypoteser ur G som ej matchar p.! Ersätt alla hypoteser i S som ej matchar p med de mest specika generaliseringar som:! matchar p! är mer specika än någon hypotes i G! inte är mer generell än någon hypotes i S Om negativt exempel n:! Ta bort de hypoteser ur S som matchar n.! Ersätt alla hypoteser i G som matchar n med de mest generella specialiseringar som:! inte matchar n! är mer generella än någon hypotes i S! inte är mer specik än någon hypotes i G

14 Exempel ar Typ Väntetid Väntar X1 Ja Kina <10 Ja X2 Ja Thai %10 Nej X3 Ja Thai <10 Ja X4 Nej Fransk <10 Ja +X1 G: {(?,?,?)} -X2 False negativ, specialisera G: {(?, Kina,?) (?,?, <10)} +X3 False positiv, hypotes bort G: {(?,?, <10)} +X4 Matchar G: {(?,?, <10)} +X4 False positiv, generalisera S: {(?,?, <10)} +X3 False positiv, generalisera S: {(Ja,?, <10)} -X2 Matchar inte, S oförändrad S:{(Ja, Kina, <10)} +X1 S: {(Ja, Kina, <10)}

729G43 Artificiell intelligens Maskininlärning. Arne Jönsson HCS/IDA

729G43 Artificiell intelligens Maskininlärning. Arne Jönsson HCS/IDA 729G43 Artificiell intelligens Maskininlärning Arne Jönsson HCS/IDA Maskininlärning Introduktion Beslutsträdsinlärning Hypotesinlärning Linjär regression Vektorer Perceptroner Artificiella Neurala Nät

Läs mer

729G43 Artificiell intelligens Sökning

729G43 Artificiell intelligens Sökning 729G43 Artificiell intelligens Sökning Arne Jönsson HCS/IDA Problemformulering Ø Ø Ex. Hitta bästa vägen från Arad till Bukarest Returnera en sekvens av handlingar till en intelligent agent Oradea 71 Neamt

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

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

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

Läs mer

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

1 Begrepp och Hypoteser. 2 Inlärning genom sökning. 3 Objektiv inlärning. Inlärning av en boolsk funktion från exempel.

1 Begrepp och Hypoteser. 2 Inlärning genom sökning. 3 Objektiv inlärning. Inlärning av en boolsk funktion från exempel. 1 Begrepp oc Eempel Begreppsinlärning List-ten-Eliminate Begreppsinlärning 1 Begrepp oc Eempel List-ten-Eliminate Begreppsinlärning (Concept Learning) Inlärning av en boolsk funktion från eempel Kategorier

Läs mer

Asymptotisk analys innebär att... man försöker uppskatta vad som händer för stora indatamängder.

Asymptotisk analys innebär att... man försöker uppskatta vad som händer för stora indatamängder. OBS! För flervalsfrågorna gäller att ett, flera eller inget alternativ kan vara korrekt. På flervarlsfrågorna ges 1 poäng för korrekt svar och 0,5 poäng om skillnaden mellan antalet korrekta svar och antalet

Läs mer

Föreläsning 4: Kombinatorisk sökning

Föreläsning 4: Kombinatorisk sökning DD2458, Problemlösning och programmering under press Föreläsning 4: Kombinatorisk sökning Datum: 2009-09-25 Skribent(er): Kristina Nylander, Dennis Ekblom, Marcus Öman Föreläsare: Fredrik Niemelä 1 Introduktion

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

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

Asymptotisk analys innebär att... man försöker uppskatta vad som händer för stora indatamängder.

Asymptotisk analys innebär att... man försöker uppskatta vad som händer för stora indatamängder. OBS! För flervalsfrågorna gäller att ett, flera 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 för att man skall

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

Introduktion till programmering SMD180. Föreläsning 8: Listor

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

Programmering II (ID1019) :00-11:00

Programmering II (ID1019) :00-11:00 ID1019 Johan Montelius Programmering II (ID1019) 2015-06-11 08:00-11:00 Instruktioner Du får inte ha något materiel med dig förutom skrivmateriel. Mobiler etc, skall lämnas till tentamensvakten. Svaren

Läs mer

Träd Hierarkiska strukturer

Träd Hierarkiska strukturer Träd Hierarkiska strukturer a 1 a 2 a 3 a 4 a 2 a 5 a 6 a 7 Hierarki: Korta vägar till många Hur korta? Linjär lista: n 2 Träd: Antal element på avståndet m: g m a 1 a 3 a 8 a 12 m = log g n a 9 a 10 Väglängden

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

Lektion 2: Sökagenter. Robin Keskisärkkä

Lektion 2: Sökagenter. Robin Keskisärkkä Lektion 2: Sökagenter Robin Keskisärkkä Lektionens innehåll Introduktion till laboration 2 Implementation av en sökalgoritm Livekodning Konfrontera ett liknande problem själva Extra: Heuristisk sökning

Läs mer

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

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

Läs mer

Antag att b är förgreningsfaktorn, d sökdjupet, T (d) tidskomplexiteten och M(d) minneskomplexiteten.

Antag att b är förgreningsfaktorn, d sökdjupet, T (d) tidskomplexiteten och M(d) minneskomplexiteten. OBS! För flervalsfrågorna gäller att ett, flera eller inget alternativ kan vara korrekt. På flervalsfrågorna ges 1 poäng för korrekt svar och 0,5 poäng om skillnaden mellan antalet korrekta svar och antalet

Läs mer

Föreläsning 7 Datastrukturer (DAT037)

Föreläsning 7 Datastrukturer (DAT037) Föreläsning 7 Datastrukturer (DAT037) Fredrik Lindblad 1 2016-11-21 1 Slides skapade av Nils Anders Danielsson har använts som utgångspunkt. Se http://www.cse.chalmers.se/edu/year/2015/course/dat037 Förra

Läs mer

Antag att följande träd genereras i ett spelförande program om vi applicerar evalueringsfunktionen

Antag att följande träd genereras i ett spelförande program om vi applicerar evalueringsfunktionen 1. Komplexiteten hos en agent beror mycket på vilken omgivning den skall verka i. Vad innebär det att en omgivning är stokastisk, episodisk och dynamisk? Ge exempel på en omgivning som är stokastisk, episodisk

Läs mer

PROGRAMMERING I MATEMATIK. Ämnets dag 2017 Göteborgs universitet, Matematiska Vetenskaper Åse Fahlander och Laura Fainsilber

PROGRAMMERING I MATEMATIK. Ämnets dag 2017 Göteborgs universitet, Matematiska Vetenskaper Åse Fahlander och Laura Fainsilber PROGRAMMERING I MATEMATIK Ämnets dag 2017 Göteborgs universitet, Matematiska Vetenskaper Åse Fahlander och Laura Fainsilber Syfte: Inspirera till att använda programmering som verktyg för matematikinlärning

Läs mer

Antag att b är förgreningsfaktorn, d sökdjupet, T (d) tidskomplexiteten och M(d) minneskomplexiteten.

Antag att b är förgreningsfaktorn, d sökdjupet, T (d) tidskomplexiteten och M(d) minneskomplexiteten. OS! För flervalsfrågorna gäller att ett, flera eller inget alternativ kan vara korrekt. På flervalsfrågorna ges 1 poäng för korrekt svar och 0,5 poäng om skillnaden mellan antalet korrekta svar och antalet

Läs mer

Föreläsning 5: Grafer Del 1

Föreläsning 5: Grafer Del 1 2D1458, Problemlösning och programmering under press Föreläsning 5: Grafer Del 1 Datum: 2006-10-02 Skribent(er): Henrik Sjögren, Patrik Glas Föreläsare: Gunnar Kreitz Den här föreläsningen var den första

Läs mer

I en deterministisk omgivning beror nästa tillstånd bara av agentens handling och nuvarande tillstånd.

I en deterministisk omgivning beror nästa tillstånd bara av agentens handling och nuvarande tillstånd. OBS! För flervalsfrågorna gäller att ett, flera eller inget alternativ kan vara korrekt. På flervalsfrågorna ges 1 poäng för korrekt svar och 0,5 poäng om skillnaden mellan antalet korrekta svar och antalet

Läs mer

Vad behövs för att skapa en tillståndsrymd?

Vad behövs för att skapa en tillståndsrymd? OBS! För flervalsfrågorna gäller att ett, flera eller inget alternativ kan vara korrekt. På flervarlsfrågorna ges 1 poäng för korrekt svar och 0,5 poäng om skillnaden mellan antalet korrekta svar och antalet

Läs mer

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

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

Läs mer

Föreläsninsanteckningar till föreläsning 3: Entropi

Föreläsninsanteckningar till föreläsning 3: Entropi Föreläsninsanteckningar till föreläsning 3: Entropi Johan Håstad, transkriberat av Pehr Söderman 2006-01-20 1 Entropi Entropi är, inom kryptografin, ett mått på informationsinnehållet i en slumpvariabel.

Läs mer

Interaktion med den genetiska algorithmen GenJam

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

Läs mer

Självbalanserande träd AVL-träd. Koffman & Wolfgang kapitel 9, avsnitt 1 2

Självbalanserande träd AVL-träd. Koffman & Wolfgang kapitel 9, avsnitt 1 2 Självbalanserande träd AVL-träd Koffman & Wolfgang kapitel 9, avsnitt 1 2 1 Balanserade träd Nodbalanserat träd: skillnaden i antalet noder mellan vänster och höger delträd är högst 1 Höjdbalanserat träd:

Läs mer

Data mining. Data mining Skillnaden mellan observationella och experimentella data

Data mining. Data mining Skillnaden mellan observationella och experimentella data Data mining Skillnaden mellan observationella och experimentella data Data mining Metoder för att automatisktupptäcka icke-trivial användbar information i stora datamängder 1 Data mining: (Mot-)exempel

Läs mer

Lösningsförslag för tentamen i Datastrukturer (DAT037) från

Lösningsförslag för tentamen i Datastrukturer (DAT037) från Lösningsförslag för tentamen i Datastrukturer (DAT7) från --9 Nils Anders Danielsson. Träd- och köoperationerna har alla tidskomplexiteten O(log s), där s är antalet element i trädet/kön (notera att jämförelser

Läs mer

Fråga 5 (1 poäng) För att definiera ett sökproblem krävs...

Fråga 5 (1 poäng) För att definiera ett sökproblem krävs... OBS! För flervalsfrågorna gäller att ett, flera eller inget alternativ kan vara korrekt. På flervarlsfrågorna ges 1 poäng för korrekt svar och 0,5 poäng om skillnaden mellan antalet korrekta svar och antalet

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

Tänk på följande saker när du skriver tentan:

Tänk på följande saker när du skriver tentan: Ämne: AI med inriktning mot kognition och design Kurskod: KOGB05 / TDBB21 Datum: 2005-04-01 Antal uppgifter: 12 Skrivtid: 09:00 15:00 Max poäng: 54 Betygsgränser: 27 x

Läs mer

PROGRAMFÖRKLARING I. Statistik för modellval och prediktion. Ett exempel: vågriktning och våghöjd

PROGRAMFÖRKLARING I. Statistik för modellval och prediktion. Ett exempel: vågriktning och våghöjd Statistik för modellval och prediktion att beskriva, förklara och förutsäga Georg Lindgren PROGRAMFÖRKLARING I Matematisk statistik, Lunds universitet stik för modellval och prediktion p.1/4 Statistik

Läs mer

Föreläsning Datastrukturer (DAT036)

Föreläsning Datastrukturer (DAT036) Föreläsning Datastrukturer (DAT036) Nils Anders Danielsson 2013-11-25 Idag Starkt sammanhängande komponenter Duggaresultat Sökträd Starkt sammanhängande komponenter Uppspännande skog Graf, och en möjlig

Läs mer

Antag att b är förgreningsfaktorn, d sökdjupet, T (d) tidskomplexiteten och M(d) minneskomplexiteten.

Antag att b är förgreningsfaktorn, d sökdjupet, T (d) tidskomplexiteten och M(d) minneskomplexiteten. OS! För flervalsfrågorna gäller att ett, flera eller inget alternativ kan vara korrekt. På flervalsfrågorna ges 1 poäng för korrekt svar och 0,5 poäng om skillnaden mellan antalet korrekta svar och antalet

Läs mer

Fråga 5 (1 poäng) För att definiera ett sökproblem krävs...

Fråga 5 (1 poäng) För att definiera ett sökproblem krävs... OBS! För flervalsfrågorna gäller att ett, flera eller inget alternativ kan vara korrekt. På flervarlsfrågorna ges 1 poäng för korrekt svar och 0,5 poäng om skillnaden mellan antalet korrekta svar och antalet

Läs mer

Två fall: q Tom sekvens: () q Sekvens av element: (a b c) ; (sum-rec '(2 4 6)) = 12. q Första elementet uppfyller vissa villkor: (2 a b c)

Två fall: q Tom sekvens: () q Sekvens av element: (a b c) ; (sum-rec '(2 4 6)) = 12. q Första elementet uppfyller vissa villkor: (2 a b c) Programmönster: # Listan som sekvens, Rekursiv process Enkel genomgång av sekvens (element på toppnivån i en lista)) TDDC60 Programmering: abstraktion och modellering Föreläsning 5 Rekursiva och iterativa

Läs mer

Föreläsning 10. Grafer, Dijkstra och Prim

Föreläsning 10. Grafer, Dijkstra och Prim Föreläsning 10 Grafer, Dijkstra och Prim Föreläsning 10 Grafer Representation av grafer Dijkstras algoritm Implementation av Dijkstras algoritm Minimium spanning tree Läsanvisning och uppgifter Broarna

Läs mer

A B C D E F A B C D E F (3) Svar: Tabellen ger grafen:

A B C D E F A B C D E F (3) Svar: Tabellen ger grafen: 1. Russel & Norvig menar att man kan utveckla AI-system som antingen tänker som en människa, handlar som en människa, tänker rationellt eller handlar rationellt. Förklara och exemplifiera dessa fyra synsätt.

Läs mer

TDDC74 Programmering: Abstraktion och modellering Tentamen, lördag 27 augusti 2016, kl 8 12

TDDC74 Programmering: Abstraktion och modellering Tentamen, lördag 27 augusti 2016, kl 8 12 TDDC74 Programmering: Abstraktion och modellering Tentamen, lördag 27 augusti 2016, kl 8 12 Läs alla frågorna först, och bestäm dig för i vilken ordning du vill lösa uppgifterna. Skriv tydligt och läsligt.

Läs mer

Föreläsning 10. Grafer, Dijkstra och Prim

Föreläsning 10. Grafer, Dijkstra och Prim Föreläsning 10 Grafer, Dijkstra och Prim Föreläsning 10 Grafer Representation av grafer Dijkstras algoritm Implementation av Dijkstras algoritm Minimium spanning tree Läsanvisning och uppgifter Broarna

Läs mer

Datastrukturer. föreläsning 10. Maps 1

Datastrukturer. föreläsning 10. Maps 1 Datastrukturer föreläsning 10 Maps 1 AVL-träd 1 2 5 2 0 4 1 8 3 2 1 11 1 7 Lecture 6 2 Insättning i AVL-träd Sätt först in det nya elementet på samma sätt som i ett vanligt BST! Det nya trädet kan bli

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

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

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

Nu lär vi oss tre i rad

Nu lär vi oss tre i rad Nu lär vi oss tre i rad Hanna Johansson HT 2016 729G43 Sammanfattning Tre i rad är ett enkelt spel som de flesta förstår sig på och är ett väldigt vanligt problem att försöka lösa just maskinellt. I den

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

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

Anmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper

Anmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper Tentamen Programmeringsteknik II 2018-10-19 Skrivtid: 8:00 13:00 Tänk på följande Skriv läsligt. Använd inte rödpenna. Skriv bara på framsidan av varje papper. Lägg uppgifterna i ordning. Skriv uppgiftsnummer

Läs mer

I en deterministisk omgivning beror nästa tillstånd bara av agentens handling och nuvarande tillstånd.

I en deterministisk omgivning beror nästa tillstånd bara av agentens handling och nuvarande tillstånd. OBS! För flervalsfrågorna gäller att ett, flera eller inget alternativ kan vara korrekt. På flervalsfrågorna ges 1 poäng för korrekt svar och 0,5 poäng om skillnaden mellan antalet korrekta svar och antalet

Läs mer

Programmering II (ID1019) :00-12:00

Programmering II (ID1019) :00-12:00 ID1019 Johan Montelius Programmering II (ID1019) 2015-03-13 09:00-12:00 Instruktioner Du får inte ha något materiel med dig förutom skrivmateriel. Mobiler etc, skall lämnas till tentamensvakten. Svaren

Läs mer

String [] argv. Dagens Agenda. Mer om arrayer. Mer om arrayer forts. String [] argv. argv är variabelnamnet. Arrayer och Strängar fortsättning

String [] argv. Dagens Agenda. Mer om arrayer. Mer om arrayer forts. String [] argv. argv är variabelnamnet. Arrayer och Strängar fortsättning Dagens Agenda String [] argv String [] argv Arrayer och Strängar fortsättning Booleska operatorer if, for, while satser Introduktion till algoritmer public static void main(string [] argv) argv är variabelnamnet

Läs mer

TDDC74 Programmering: Abstraktion och modellering Datortenta , kl 14-18

TDDC74 Programmering: Abstraktion och modellering Datortenta , kl 14-18 TDDC74 Programmering: Abstraktion och modellering Datortenta - 017-10-7, kl 14-18 Läs alla frågorna först och bestäm dig för i vilken ordning du vill lösa uppgifterna. Uppgifterna är inte nödvändigtvis

Läs mer

Artificiell intelligens

Artificiell intelligens 2013-08-13 Introduktion Artificiell intelligens Vad är AI? Olika mål Intelligenta agenter Områden inom AI Arne Jönsson HCS/IA Vad är AI? Intelligens: Förmågan till tänkande och analys (Svenska ORboken)

Läs mer

Introduktion till programmering SMD180. Föreläsning 9: Tupler

Introduktion till programmering SMD180. Föreläsning 9: Tupler Introduktion till programmering Föreläsning 9: Tupler 1 1 Sammansatta datatyper Strängar Sekvenser av tecken Icke muterbara Syntax: "abcde" Listor Sekvenser av vad som helst Muterbara Syntax: [1, 2, 3]

Läs mer

Datastrukturer. föreläsning 10. Maps 1

Datastrukturer. föreläsning 10. Maps 1 Datastrukturer föreläsning 10 Maps 1 Minsta uppspännande träd Maps 2 Minsta uppspännande träd Uppspännande träd till graf fritt delträd innehåller alla noderna Minsta uppspännande träd (MST) är det uppspännande

Läs mer

Inom datalogin brukar man använda träd för att beskriva vissa typer av problem. Om man begränsar sig till träd där varje nod förgrenar sig högst två

Inom datalogin brukar man använda träd för att beskriva vissa typer av problem. Om man begränsar sig till träd där varje nod förgrenar sig högst två Binära träd Inom datalogin brukar man använda träd för att beskriva vissa typer av problem. Om man begränsar sig till träd där varje nod förgrenar sig högst två gånger, talar man om binära träd. Sådana

Läs mer

Föreläsning Datastrukturer (DAT037)

Föreläsning Datastrukturer (DAT037) Föreläsning Datastrukturer (DAT037) Nils Anders Danielsson 2015-11-20 Idag Grafer: Terminologi. Datastrukturer. Topologisk sortering. Kortaste vägen. Bredden först-sökning. Dijkstras algoritm. (Vi får

Läs mer

Universitetet i Linköping Institutionen för datavetenskap Anders Haraldsson 2

Universitetet i Linköping Institutionen för datavetenskap Anders Haraldsson 2 Anders Haraldsson 1 Anders Haraldsson 2 Dagens föreläsning Programmering i Lisp Fö 5 - Funktioner - lambda-uttryck (avs 7.1) - funcall och function (avs 7.2) - Högre ordningens funktioner (avs 7.) - Iteratorer

Läs mer

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

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

Läs mer

Föreläsning Datastrukturer (DAT036)

Föreläsning Datastrukturer (DAT036) Föreläsning Datastrukturer (DAT036) Nils Anders Danielsson 2012-11-13 Idag Mer om grafer: Topologisk sortering. Kortaste vägen. Bredden först-sökning. Dijkstras algoritm. Floyd-Warshall. Topologisk sortering

Läs mer

Dagens föreläsning Programmering i Lisp Fö 5

Dagens föreläsning Programmering i Lisp Fö 5 Anders Haraldsson 1 Dagens föreläsning Programmering i Lisp Fö 5 - Funktioner - lambda-uttryck (avs 7.1) - funcall och function (avs 7.2) - Högre ordningens funktioner (avs 7.3) - Iteratorer - Egenskaper

Läs mer

Introduktion till programmering SMD180. Föreläsning 4: Villkor och rekursion

Introduktion till programmering SMD180. Föreläsning 4: Villkor och rekursion Introduktion till programmering Föreläsning 4: Villkor och rekursion 1 1 Några inbyggda funktioner (med resultat!) Konverterar mellan de grundläggande typerna: >>> int("32") 32 >>> int(3.999) 3 >>> float(32)

Läs mer

Föreläsning 8 Datastrukturer (DAT037)

Föreläsning 8 Datastrukturer (DAT037) Föreläsning 8 Datastrukturer (DAT037) Fredrik Lindblad 1 2016-11-23 1 Slides skapade av Nils Anders Danielsson har använts som utgångspunkt. Se http://www.cse.chalmers.se/edu/year/2015/course/dat037 Förra

Läs mer

Föreläsning Datastrukturer (DAT036)

Föreläsning Datastrukturer (DAT036) Föreläsning Datastrukturer (DAT036) Nils Anders Danielsson 2013-11-13 Idag Grafer: Terminologi. Datastrukturer. Topologisk sortering. Kortaste vägen. Bredden först-sökning. Dijkstras algoritm. (Vi får

Läs mer

Obligatorisk uppgift 5

Obligatorisk uppgift 5 (5 oktober 2018 Symbolisk kalkylator 1 ) Obligatorisk uppgift 5 En kalkylator som hanterar uttryck symboliskt dvs värden är uttryck inte bara tal. Uppgiften exemplifierar: objektorientering återanvändning

Läs mer

Frågeoptimering. Frågeoptimering kapitel 14

Frågeoptimering. Frågeoptimering kapitel 14 Frågeoptimering kapitel 14 Frågeoptimering sid Introduktion 1 Transformering av relationsuttyck 4 Kataloginformation för kostnadsestimering Statisk information för kostnadsestimering Kostnadsbaserad optimering

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

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

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

Föreläsning 10. Grafer, Dijkstra och Prim

Föreläsning 10. Grafer, Dijkstra och Prim Föreläsning 10 Grafer, Dijkstra och Prim Föreläsning 10 Grafer Representation av grafer Dijkstras algoritm Implementation av Dijkstras algoritm Minimium spanning tree Broarna i Königsberg, Euler, 17 Grafer

Läs mer

Datastrukturer. föreläsning 8. Lecture 6 1

Datastrukturer. föreläsning 8. Lecture 6 1 atastrukturer föreläsning 8 Lecture 6 1 jupet-först sökning (S) och bredden-först sökning (S) Två metoder att genomsöka en graf; två grafiteratorer! Kan även användas för att avgöra om två noder är sammanbundna.

Läs mer

ADT Prioritetskö. Föreläsning 12 Innehåll. Prioritetskö. Interface för Prioritetskö. Prioritetsköer och heapar

ADT Prioritetskö. Föreläsning 12 Innehåll. Prioritetskö. Interface för Prioritetskö. Prioritetsköer och heapar Föreläsning 1 Innehåll Prioritetsköer och heapar Prioritetsköer och heapar ADT prioritetskö Klassen PriorityQueue i java.util Heapar Implementering av prioritetskö med heap Sortering med hjälp av heap

Läs mer

TDP002 - Imperativ programmering

TDP002 - Imperativ programmering TDP002 - Imperativ programmering Algoritmer Pontus Haglund Institutionen för datavetenskap Anpassatt från material ursprungligen av: Eric Elfving 1 Datatyper Tal UTF-8 2 Procedurell abstraktion Repetition

Läs mer

Innehåll. Föreläsning 12. Binärt sökträd. Binära sökträd. Flervägs sökträd. Balanserade binära sökträd. Sökträd Sökning. Sökning och Sökträd

Innehåll. Föreläsning 12. Binärt sökträd. Binära sökträd. Flervägs sökträd. Balanserade binära sökträd. Sökträd Sökning. Sökning och Sökträd Innehåll Föreläsning 12 Sökträd Sökning Sökning och Sökträd 383 384 Binärt sökträd Används för sökning i linjära samlingar av dataobjekt, specifikt för att konstruera tabeller och lexikon. Organisation:

Läs mer

Föreläsning 7: Syntaxanalys

Föreläsning 7: Syntaxanalys DD2458, Problemlösning och programmering under press Föreläsning 7: Syntaxanalys Datum: 2009-10-27 Skribent(er): Carl-Fredrik Sundlöf, Henrik Sandström, Jonas Lindmark Föreläsare: Fredrik Niemelä 1 Syntaxanalys

Läs mer

Ett generellt träd är. Antingen det tomma trädet, eller en rekursiv struktur: rot /. \ /... \ t1... tn

Ett generellt träd är. Antingen det tomma trädet, eller en rekursiv struktur: rot /. \ /... \ t1... tn Träd allmänt Träd allmänt Ett generellt träd är Antingen det tomma trädet, eller en rekursiv struktur: rot /. \ /... \ t1... tn där t1,..., tn i sin tur är träd och kallas subträd, vars rotnoder kallas

Läs mer

Programmering A. Johan Eliasson johane@cs.umu.se

Programmering A. Johan Eliasson johane@cs.umu.se Programmering A Johan Eliasson johane@cs.umu.se 1 Jag Undervisar mest grundläggande programmering på Institutionen för datavetensakap Applikationsutveckling för iphone Applikationsutveckling i Java Datastrukturer

Läs mer

ADT Prioritetskö. Föreläsning 13 Innehåll. Prioritetskö vs FIFO-kö. Prioritetskö Exempel på användning. Prioritetsköer och heapar

ADT Prioritetskö. Föreläsning 13 Innehåll. Prioritetskö vs FIFO-kö. Prioritetskö Exempel på användning. Prioritetsköer och heapar Föreläsning 1 Innehåll ADT Prioritetskö Prioritetsköer och heapar Prioritetsköer och heapar ADT prioritetskö Klassen PriorityQueue i java.util ar Implementering av prioritetskö med heap Sortering med hjälp

Läs mer

Föreläsning 10 Innehåll. Prioritetsköer och heapar. ADT Prioritetskö. Interface för Prioritetskö. Exempel på vad du ska kunna

Föreläsning 10 Innehåll. Prioritetsköer och heapar. ADT Prioritetskö. Interface för Prioritetskö. Exempel på vad du ska kunna Föreläsning Innehåll Prioritetsköer och heapar Prioritetsköer och heapar ADT prioritetskö Klassen PriorityQueue i java.util Implementering med lista ar Implementering av prioritetskö med heap Sortering

Läs mer

Linjärt minne. Sammanhängande minne är ej flexibelt. Effektivt

Linjärt minne. Sammanhängande minne är ej flexibelt. Effektivt Binära träd (forts) Ett binärt träd kan lagras i ett enda sammanhängande minne Roten har index 1 Vänster barn till nod i har index 2*i Höger barn till nod i har index 2*i + 1 Föräldern till nod i har index

Läs mer

Föreläsning 13 och 14: Binära träd

Föreläsning 13 och 14: Binära träd Föreläsning 13 och 14: Binära träd o Binärträd och allmänna träd o Rekursiva tankar för binärträd o Binära sökträd Binärträd och allmänna träd Stack och kö är två viktiga datastrukturer man kan bygga av

Läs mer

Tentamen, Algoritmer och datastrukturer

Tentamen, Algoritmer och datastrukturer UNDS TEKNISKA ÖGSKOA (6) Institutionen för datavetenskap Tentamen, Algoritmer och datastrukturer 23 8 29, 8. 3. Anvisningar: Denna tentamen består av fem uppgifter. Totalt är skrivningen på 36 poäng och

Läs mer

Programmering II (ID1019) :00-12:00

Programmering II (ID1019) :00-12:00 ID1019 Johan Montelius Programmering II (ID1019) 2015-03-13 09:00-12:00 Instruktioner Du får inte ha något materiel med dig förutom skrivmateriel. Mobiler etc, skall lämnas till tentamensvakten. Svaren

Läs mer

Föreläsning 9: Talteori

Föreläsning 9: Talteori DD2458, Problemlösning och programmering under press Föreläsning 9: Talteori Datum: 2007-11-13 Skribent(er): Niklas Lindbom och Daniel Walldin Föreläsare: Per Austrin Den här föreläsningen behandlar modulär

Läs mer

Algoritmer, datastrukturer och komplexitet

Algoritmer, datastrukturer och komplexitet Algoritmer, datastrukturer och komplexitet Övning 10 Anton Grensjö grensjo@csc.kth.se 9 november 2017 1 Idag En konstruktionsreduktion Fler bevis av NP-fullständighet 2 Teori Repetition Ett problem tillhör

Läs mer

Monte Carlo-metoder. Bild från Monte Carlo

Monte Carlo-metoder. Bild från Monte Carlo Monte Carlo-metoder 0 Målen för föreläsningen På datorn Bild från Monte Carlo http://en.wikipedia.org/wiki/file:real_monte_carlo_casino.jpg 1 Begrepp En stokastisk metod ger olika resultat vid upprepning

Läs mer

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 8 Erik Nilsson, Institutionen för Datavetenskap, LiU

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 8 Erik Nilsson, Institutionen för Datavetenskap, LiU TDDC30 Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 8 Erik Nilsson, Institutionen för Datavetenskap, LiU På denna föreläsning: Träd Traversering Insättning, borttagning

Läs mer

Föreläsning 9 Datastrukturer (DAT037)

Föreläsning 9 Datastrukturer (DAT037) Föreläsning Datastrukturer (DAT07) Fredrik Lindblad 27 november 207 Slides skapade av Nils Anders Danielsson har använts som utgångspunkt Se http://wwwcsechalmersse/edu/year/20/course/dat07 Innehåll 2

Läs mer

729G74 IT och programmering, grundkurs. Tema 2. Föreläsning 3 Jody Foo,

729G74 IT och programmering, grundkurs. Tema 2. Föreläsning 3 Jody Foo, 729G74 IT och programmering, grundkurs Tema 2. Föreläsning 3 Jody Foo, jody.foo@liu.se Föreläsningsöversikt Information i grafstrukturer Diskret matematik Relationer: kopplingar mellan mängder Funktioner

Läs mer

729G74 IT och programmering, grundkurs. Tema 2, Föreläsning 2 Jody Foo,

729G74 IT och programmering, grundkurs. Tema 2, Föreläsning 2 Jody Foo, 729G74 IT och programmering, grundkurs Tema 2, Föreläsning 2 Jody Foo, jody.foo@liu.se Föreläsningsöversikt Kursinfo: återkoppling Muddy Cards och kompletteringar Diskret matematik Python: Programmering

Läs mer

729G04 Programmering och diskret matematik TEN kl 8-12

729G04 Programmering och diskret matematik TEN kl 8-12 729G04 Programmering och diskret matematik TEN4 091120 kl 8-12 Examinator: Annika Silvervarg, telefonnummer 013-284068 Hjälpmedel: Dator, penna och suddgummi. Uppgifter: Tentamen består av 4 uppgifter

Läs mer

Algoritmer, datastrukturer och komplexitet

Algoritmer, datastrukturer och komplexitet Algoritmer, datastrukturer och komplexitet Övning 6 Anton Grensjö grensjo@csc.kth.se 4 oktober 2017 1 Idag Algoritmkonstruktion (lite blandat) Redovisning och inlämning av labbteori 3 2 Uppgifter Uppgift

Läs mer

Installera Anaconda Python

Installera Anaconda Python Maskininlärning Installera Anaconda Python Nummergisslek Vi ska bygga ett litet program, RIDER, som ska gissa vilket nummer som du tänker på. Reglerna är att du tänker på ett heltal mellan 1 och 100. RIDER

Läs mer

Grafer MST Top. sortering Starkt samm. komponenter Kortaste avstånd. Grafalgoritmer 1. Douglas Wikström KTH Stockholm

Grafer MST Top. sortering Starkt samm. komponenter Kortaste avstånd. Grafalgoritmer 1. Douglas Wikström KTH Stockholm Grafalgoritmer 1 Douglas Wikström KTH Stockholm popup-help@csc.kth.se Oriktade och riktade grafer Definition. En oriktad graf består av en mängd noder V och en mängd kanter E, där en kant är ett oordnat

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

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