729G43 Artificiell intelligens Sökning
|
|
- Birgit Bergqvist
- för 6 år sedan
- Visningar:
Transkript
1 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 75 Zerind Iasi Arad 140 Sibiu 99 Fagaras 92 Vaslui 118 Timisoara Dobreta 80 Lugoj Mehadia 120 Rimnicu Vilcea 97 Pitesi Craiova Bukarest 90 Giurgiu 142 Urziceni Eforie Linköpings universitet 1
2 Tillståndsrymd Initialtillstånd In(Arad) Handlingar {Go(Sibiu), Go(Zerind), Go(Timisoara)} Övergångsmodell Operationer som beskriver effekten av en handling som en funktion av tillståndsförändringar Result(In(Arad), Go(Sibiu)) = In(Sibiu) Måltest {In(Bukarest)} Vägkostnad Arad Timisoara Lugoj = =229 Problemformulering Datastruktur: problem = [intialtillstånd operatorer måltest vägkostnadsfunktion] Effektivitet Nås målet? Till vilken kostnad? Hur bra är lösningen? Totalkostnaden = vägkostnaden + sökkostnaden Linköpings universitet 2
3 Exempel Vattenhinksproblemet 2 hinkar, en 4-liter, en 3-liter En kran att fylla med Problem: att få exakt 2 liter i 4-litershinken Extraantaganden Inget litersmått Vatten i kranen Kan hälla vatten mellan hinkar Vattenhinksproblemet Tillstånd: X = 4-litershinken Y = 3-litershinken Initialtillstånd (X=0, Y=0) Måltillstånd: (2, Y) Kostnad: 1 per operation Operatorer: Fyll en hink Töm en hink Fyll från en hink till en annan Häll ut lite vatten Linköpings universitet 3
4 Vattenhinksproblemet Operationer: (X,Y: X < 4) (4,Y) (X,Y: Y < 3) (X,3) (X,Y: X > 0) (0,Y) (X,Y: Y > 0) (X,0) (X,Y: X+Y ³ 4 Ù Y>0) (4, Y-(4-X)) (X,Y: X+Y ³ 3 Ù X>0) (X-(3-Y),3) (X,Y: X+Y =< 4 Ù Y>0) (X+Y,0) (X,Y: X+Y =< 3 Ù X>0) (0,X+Y) Sökning Datastrukturer och operationer Värdering av sökstrategier Blind sökning Heuristisk sökning Genetiska algoritmer Constraint satisfaction Spelförande program Linköpings universitet 4
5 Sökning Datastruktur: nod = [tillstånd, förälder, operator, djup, vägkostnad] Expandera varje nod Applicera operatorer på ett tillstånd och generera alla nya tillstånd Ex: Initialtillståndet (0, 0) expanderas till (4, 0) och (0, 3) (4, 0) expanderas till (0, 0) (4, 3) (1, 3) (0, 3) expanderas till (0, 0) (4, 3) (3, 0) etc. Sökstrategi avgör vilken nod som skall expanderas Köoperationer Sökalgoritmer sparar noder som skall expanderas i en kö Typiska köoperationer: empty?(queue) pop(queue) insert(element, queue) Linköpings universitet 5
6 Generell sökalgoritm def treesearch(problem): frontier = insert(initialstate(problem), frontier) while true: if empty?(frontier): return failure node = pop(frontier) if goaltest(problem, state(node)): return solution(node) frontier = insert(expand(node, problem), frontier) Nodexpansion Expand(node, problem) Skapa en lista av noder, s, som är efterföljare till en nod, n, där: state[s] = tillståndet efter uförd legal handling i n parent-node[s] = n action[s] = handlingen som utfördes vägkostnad[s] = vägkostnad[n] + kostnad från n till s djup[s] = djup[n] + 1 Linköpings universitet 6
7 Värdering av sökstrategi Komplett hittar lösning om den finns Optimal hittar bästa lösningen Tidsåtgång Minnesåtgång Blind sökning Ingen information om hur långt det är kvar till målet Bredden först Uniform cost Djupet först Djupbegränsad sökning Iterativ fördjupning Dubbelriktad sökning Linköpings universitet 7
8 Bredden först Expandera alla noder på en nivå innan nästa nivå Implementeras med insert som en FIFO-kö Bredden först Komplett Optimal Komplexitet ett problem Förgreningsfaktor b Sökdjup d Ex b=2 1 d=0, en nod, b d=1, b 1 noder d=2, b 2 noder d=3, b 3 noder Linköpings universitet 8
9 Bredden först Antag lösning på djupet d, då har vi expanderat: 1+b+b 2 +b 3 +b 4 +b 5 +..b d noder Vid komplexitetsanalys säger vi att vi har O(b d ), dvs exponentiell tillväxt T d Bredden först, tids- och minneskomplexitet Djup Noder Tid Minne ,11 ms 0,1 MB ms 10,6 MB s 1 GB min 103 GB timmar 10 TB dagar 1 PetaByte ,5 år 99 PetaByte år 10 ExaByte Förgreningsfaktor = 10, 1 miljon noder/sekund, 1000 bytes/nod Linköpings universitet 9
10 Uniform Cost Om inte alla operatorer har samma kostnad Expandera billigaste vägen längs frontier S S S A S B 15 5 C M A B C A B C 5 15 M 11 A B C 15 M M Optimal och komplett om det inte finns negativa kostnader I princip O(b d ) för tids- och minneskomplexitet Djupet först Följer alltid en väg till slutet, om inte en lösning backa upp Implementeras med insert som en LIFO-kö, STACK Linköpings universitet 10
11 Djupet först Kräver mindre minne, m*b där m=maxdjup. Jämför b=10, m=12, djupet först = 10*12=120, bredden först = Samma tidskomplexitet O(b m ) Inte optimal Inte komplett, kan dyka ner i en oändligt lång sökväg Djupbegränsad sökning Lägg in ett maxdjup, l, för djupet först Tidskomplexitet fortfarande exponentiell, O(b l ) Minneskomplexitet O(b*l) Inte komplett om man inte kan skatta ett sökdjup som garanterar en lösning, jfr, rumäniengrafen, max 20 städer, dvs l=20 ger komplett Inte optimal Linköpings universitet 11
12 Iterativ fördjupning Låt sökdjupet, h, öka från 0 till det djup, d, där en lösning finns h=0 h=1 h=2 h=3 Iterativ fördjupning Optimal och komplett Minneskomplexitet, O(b*d) Tidskomplexitet, O(b d ) Expanderar dock noderna flera gånger Bredden-först 1+b+b 2 +b 3 +b 4 +b 5 +..b d Iterativ fördjupning db+(d-1)b 2 +(d-2)b b d-2 +2b d-1 +b d Men antal noder på nivå d många fler än resten Ex b=10, d=5 Bredden först: = Iterativ fördjupning: = Linköpings universitet 12
13 Dubbelriktad sökning Sök bredden-först från start och mål samtidigt Inte alltid möjligt Komplett och optimal Tids- och minneskomplexitet, lösning djup d 2b d/2, dvs O(b d/2 ) Ex b=10, d=6 Bredden först, O(b d ) = 10 6 = Dubbelriktad sökning = 10 6/2 = 10 3 = 1000 Egenskaper hos sökstrategier Kriterium Bredden först Uniform Cost Djupet först Djupbegränsad Komplett? Ja Ja Nej Nej Ja Ja Iterativ fördjupning Dubbelriktad sökning Optimal? Ja Ja Nej Nej Ja Ja Tid O(b d ) O(b C*/e ) O(b m ) O(b l ) O(b d ) O(b d/2 ) Minne O(b d ) O(b C*/e ) O(bm) O(bl) O(bd) O(b d/2 ) Linköpings universitet 13
14 Undvika loopar Ex vattenhinksproblemet (0,0) (4,0) (0,3) (0,0) (4,3) (1,3) (0,0) (4,3) (3,0) Generera inte tillstånd som är lika med fadertillståndet Generera inte vägar med cykler Behöver bara leta från noden som genererats upp till startnoden Generera inte ett tillstånd som genererats förut Varje tillstånd måste lagras i minnet, O(b d ) Heuristisk sökning Antar att vi har någon information om vilken nod som är bäst att expandera Greedy search A* Heuristik Hill Climbing Linköpings universitet 14
15 Greedy Search Minimera uppskattad kostnad till målet, dvs expandra den nod som verkar vara närmast målet Inför h(n)= heuristisk funktion som uppskattar kostnaden från nod n till målet h(n) = 0 betyder att n är målnod Ex Rumänienkartan Fågelavståndet ett exempel på heuristik h(n)= Arad 366 Bukarest 0 Craiova 160 Dobreta 242 Eforie 161 Fagaras 178 Giurgiu 77 Hirsova 151 Iasi 226 Lugoj 244 Mehadia 241 Neamt 234 Oradea 380 Pitesi 98 Rimnicu V. Sibiu 253 Tisioara 329 Urzicen Oradea i Neamt Vasliu 199 Zerind 374 Zerind Iasi Arad Sibiu Fagaras Vaslui Timisoara Rimnicu Vilcea Lugoj Pitesi Urziceni Mehadia Bukarest Dobreta Craiova Giurgiu Eforie Linköpings universitet 15
16 Greedy Search, Arad Bukarest Arad Zerind (374) Sibiu (253) Timisoara (329) Oradera (380) Fagaras (178) Rimnicu Vilcea (193) Bukarest (0) Greedy Search Liknar djupet först och kan råka ut för samma problem Inte optimal Inte komplett Tids- och minneskomplexitet O(b d ) men kan ofta bli bättre med god heuristik Jämför Uniform Cost Komplett och optimal men ineffektiv Inför g(n) för kostnad från start för nod n Linköpings universitet 16
17 A* Inför f(n) = g(n) + h(n), dvs tillryggalagd kostnad + uppskattad återstående kostnad Kräv också att h(n) aldrig överskattar den verkliga kostnaden h(n) kallas då tillåten (admissible), ex fågelavståndet h(n)= Arad 366 Bukarest 0 Craiova 160 Dobreta 242 Eforie 161 Fagaras 178 Giurgiu 77 Hirsova 151 Iasi 226 Lugoj 244 Mehadia 241 Neamt 234 Oradea 380 Pitesi 98 Rimnicu V. 193 Sibiu 253 Tisioara 329 Urziceni 80 Vasliu 199 Zerind Oradea Neamt 75 Zerind Iasi Arad 140 Sibiu 99 Fagaras 92 Vaslui 118 Timisoara Dobreta 80 Lugoj Mehadia 120 Rimnicu Vilcea 97 Pitesi Craiova Bukarest 90 Giurgiu Urziceni 86 Eforie Linköpings universitet 17
18 A*, Arad Bukarest Arad Zerind f(zerind) = = 449 Sibiu f(sibiu) = =393 Timisoara f(timisoara) = =447 Oradera ( =671) Fagaras ( =417) Rimnicu Vilcea ( =413) Bukarest ( =450) Pitesi( =415) Craiova ( =526) Bukarest ( =418) Craiova ( =518) A* är optimal Antag: lösningsnoden G optimum med kostnad f* och G 2 lösning men med kostnad g(g 2 ) > f* För att A* skall välja G 2 måste det finnas en nod, n, på vägen till G som inte expanderats n G 2 G f* f(n) eftersom h aldrig överskattar (tillåten) f(n) f(g 2 ) eftersom A* expanderat till G 2 dvs f* f(g 2 ) Eftersom G 2 målnod så h(g 2 ) = 0 f(g 2 ) = g(g 2 ) dvs f* g(g 2 ) vilket motsäger antagandet Linköpings universitet 18
19 Evalueringsfunktionen i A* f(n) = g(n) + h(n) där f(n) = totalkostnad g(n) = kostnad hittills h(n) = uppskattad återstående kostnad (måste underskatta) g(n) = 0 Greedy search h(n) = 0 Uniform Cost g(n) = 1 och h(n) = 0 f(n) = 1, dvs Bredden först Heuristik Heuristiska sökmetoder bättre med bättre heuristik, dvs bättre skattning av kostnaden Ex. 15-spel Linköpings universitet 19
20 Heuristik, 1 Antal brickor som ligger fel : (1,3,4,5,6,7,8,9,10,11,12,13,14,15)=14 8: (1,3,4,5,6,7,8,9,10,11,13,14,15)=13 Heuristik, 2 Manhattanavståndet : =29 8: =27 Linköpings universitet 20
21 Heuristik konstruktion Förenklade problem kan användas för automatisk konstruktion av heuristik En optimal lösning för ett förenklat problem är en tillåten heuristik för orginalproblemet Hill Climbing Om varje nytt tillstånd innehåller all nödvändiginformation för att gå vidare, dvs vi kan utvärdera en nod utan hänsyn till varifrån vi kom och vägen mindre viktig S Linköpings universitet 21
22 Hill Climbing def hillclimbing (problem): current = makenode(initialstate(problem)) while True: next = highestvaluedsuccessor(current) if (value next) <= (value current): return current current = next Problem för hill climbing Lokal metod, hittar lokalt optimum Lokalt maximum Platå Globalt maximum Ås Linköpings universitet 22
23 Genetiska algoritmer 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 Arbetar parallellt med flera sökrymder Genetiska algoritmer Initialt ett antal slumpmässiga tillstånd, populationen Ett tillstånd, en individ, representeras som en sträng från ett ändligt alfabet (vanligtvis 0 och 1) En funktion, lämplighetsfunktionen, som ger högt värde för bra tillstånd och lågt för dåliga tillstånd Nya tillstånd generas genom att kombinera individer som har höglämplighet, samt genom mutationer Linköpings universitet 23
24 Enkel genetisk algoritm initialisera populationen utvärdera populationen while intetillfredställande resultat: välj ut föräldrar för reproduktion korsa och mutera utvärdera populationen Rouletthjul Bättre fitnessvärde ger större chans att överleva men slump finns kvar Exempel Kromosom A, fitness 4 Kromosom B, fitness 10 Kromosom C, fitness 5 Kromosom D, fitness 1 Linköpings universitet 24
25 Exempel, 1 Handelsresandeproblemet 3 A B 2 C 4 D Exempel, 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 Byt slumpmässigt två element Fitness Totalavstånd Starttillstånd A B C D A B C D A B C D A B C D A B C D Linköpings universitet 25
26 Exempel, 3 Korsa de två första: A B C D A B C D A B A C D eftersom C som är tredje från första genen redan finns B eftersom A redan finns Ny gen A C D B A Korsa de två sista: C D A B C D A B C D Ny gen: C A B D C Exempel, 4 Mutera första genen slumpmässigt A B C D A Ny population A D C B A A 1 B 2 C 4 D 5 A = 12 B 2 C 4 D 5 A 1 B = 12 C 4 D 5 A 1 B 2 C = 12 D 5 A 1 B 2 C 4 D = 12 A 3 C 4 D 2 B 1 A = 10 C 3 A 1 B 2 D 4 C = 10 A 5 D 4 C 1 B 1 A = 11 Behåll de fyra bästa Linköpings universitet 26
27 Exempel, 5 Ny population D 5 A 1 B 2 C 4 D = 12 A 3 C 4 D 2 B 1 A = 10 C 3 A 1 B 2 D 4 C = 10 A 5 D 4 C 1 B 1 A = 11 Korsa två första D C B A D Korsa två sista C D B A C Mutera första. Slumpen gav andra och tredje staden D B A C D Exempel, 6 Ny population D 5 A 1 B 2 C 4 D = 12 A 3 C 4 D 2 B 1 A = 10 C 3 A 1 B 2 D 4 C = 10 A 5 D 4 C 1 B 1 A = 11 D 4 C 2 B 1 A 5 D = 12 C 4 D 2 B 1 A 3 C = 10 D 2 B 1 A 3 C 4 D = 10 Behåll de fyra bästa A 3 C 4 D 2 B 1 A = 10 C 3 A 1 B 2 D 4 C = 10 C 4 D 2 B 1 A 3 C = 10 D 2 B 1 A 3 C 4 D = 10 etc Linköpings universitet 27
28 Genetisk programmering Genetiska algortimer med program som data Skapa program som löser given uppgift GP algoritm 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 modifiera programmen kör och utvärdera program med träningsdata Linköpings universitet 28
29 Exempel, 1 Wumpus följa väggen Förflyttning och riktning: Norr, Söder, Väster, Öster and if return goöster norr not and return gosöder if if Ex. if norr and not bumpöster: return goöster if öster and not bumpsöder: return gosöder if söder and not bumpväster: return goväster return gonorr bumpöster öster not and return goväster return gonorr bumpsöder söder not bumpväster Exempel, 2 1. Skapa initial population, t.ex slumpmässigt skapade syntaktiskt korrekta träd if if and return gonorr if and return goväster return gonorr norr norr söder return gonorr söder not bumpväster 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 Linköpings universitet 29
30 Exempel, 3 3. Skapa nya program genom att 1. Låta de 500 bästa överleva 2. Skapa ytterligare 4500 nya individer av dessa bästa genom slumpmässig korsning if if and return gonorr if and return goväster return gonorr norr norr söder return gonorr söder not bumpväster if if return goväster return gonorr söder return gonorr Exempel, 4 4. Mutera 50 program genom att byta ett delträd mot ett slumpmässigt skapat delträd if if and return goväster return gonorr and return goväster return gonorr söder not söder not bumpväster and bumpöster väster I en värld med 32 väggrutor får man fram ett perfekt program efter 10 generationer Linköpings universitet 30
31 Constraint satisfaction Givet: En mängd variabler X 1,X 2,.X n Med värden v i till X i ur domänen D i En mängd begränsningar C 1,C 2, C n Som talar om vilka värden som är tillåtna Mål: En tilldelning {X i =v i, X j =v j } som är konsistent med begränsningarna Ex. trefärgsproblemet Färga varje stat: Tre färger Grannstater olika färg Ex. {(WA=grön),(NT=blå), (Q=grön),(NSW=blå), (SA=röd),(V=grön),(T=blå)} Linköpings universitet 31
32 Constraint satisfaction sökning Bredden först skulle tilldela varje variabel ett värde generera ett stort sökträd Eftersom ordningen saknar betydelse kan man istället tilldela en variabel ett värde och sen backa tillbaka om det inte blev bra CSP - Sökproblem Tillståndsrymd Initialtillstånd Tom mängd {} Funktion för tillståndsförändringar Ett värde sätts för en variabel som saknar värde Måltest En mängd där alla variabler har tilldelats värden Vägkostand Konstant 1 Linköpings universitet 32
33 CSP - Sökning Djupet först Lokal sökning Backtracking Väljer en variabel och expanderar, dvs prövar olika värden Om inget värde kan användas backar algoritmen CSP Sökning Exempel {} {NT=Röd} {NT=Blå} {NT=Grön} {NT=Röd, Q=Röd} {NT=Röd, Q=Blå} {NT=Röd, Q=Blå, NSW=Grön} {NT=Röd, Q=Blå, NSW=Blå} {NT=Röd, Q=Blå, NSW=Grön, SA=Röd} {NT=Röd, Q=Blå, NSW=Grön, SA=Blå} {NT=Röd, Q=Blå, NSW=Grön, SA=Grön} Linköpings universitet 33
34 Algoritm def backtrackingsearch(csp): return recursivebacktracking([ ], csp) def recursivebacktracking(assignment, csp): if complete(assignment): return assignment var = selectunassignedvariable(variables(csp),assignment,csp) for value in orderdomainvalues(var,assignment,csp): if consistent(value,assignment,constraint(csp)): add {var=value} to assignment result = recursivebacktracking(assignment,csp) if result!= failure: return result remove {var=value} from assignment return failure Algoritm Variabler = [NT, Q, NSW, SA, V, T, WA] Värden = [Röd, Blå, Grön] Initialt assignment = { } selectunassignedvariable väljer variabel Ex var = NT orderdomainvalues väljer värden enligt någon heuristik Ex assignment = {NT = röd} Nytt anrop recursivebacktracking({nt=röd}, csp}) selectunassignedvariable väljer var = Q orderdomainvalues väljer röd. Inte konsistent Linköpings universitet 34
35 Algoritm, forts väljer nytt värde i for-loopen assignment = {Q=blå} recursivebacktracking({nt=röd, Q=blå}, csp} etc {NT=röd, Q=blå, NSW=grön} var=sa går inte utan det rekursiva anropet ger ett failure remove {var=value} from assignment tar bort något värde, t.ex. det sista NSW=grön och sen fortsätter algoritmen med ny variabel Heuristik Val av variabel och värde selectunassignedvariable bör välja den variabel som är mest begränsad och först väljs den som har flest begränsningar, SA orderdomainvalues välj det minst begränsande värdet Constraint propagation Propagera effekten av en variabels begränsningar till de andra variablerna Backtrackingstrategier Ta bort det värde, eller den variabel, som orsakade konflikten Linköpings universitet 35
36 Spelförande program Minimax Evalueringsfunktioner alfa-beta cutoff Minimax X X X X X X X X X O O O X X X X O X O X O X X O X X O X O X e(x,,,x,o,,,, )=4-4=0 e(,x,,x,o,,,,, )=0 e(,,,x,o,,,,x)=4-3=1 Applicera evaluaeringsfunktion, t.ex.: e(p)=n(vinstdrag för mig) n(vinstdrag för motståndaren) Linköpings universitet 36
37 Ett sökträd Max 84 5 Min Max Evalueringsfunktion Linjär n e(p) = w i f i i=0 Ex: e(p)=1*n(vinst för mig)-1*n(motståndarvinst) e(p)=π*n(vinst för mig)-2,18*n(motståndarvinst)+1*n(diagonaler) Icke-linjär n e(p) = f i 2 i=1 Inlärning Vikter och funktioner lärs in automatiskt utifrån gamla spel Credit assignmentproblemet Linköpings universitet 37
38 alfa-beta cutoff, 1 Två tröskelvärden a och b: a representerar det lägsta värdet en maxnod kan få, dvs en undre gräns för MAX b representerar det högsta värdet en minnod kan få, dvs en övre gräns för MIN alfa-beta cutoff, 2 Initiering: a = sämsta värdet; b = bästa värdet Tilldelning: a = bästa efterföljare hitills, på MAX-nivå b = sämsta efterföljare hitills, på MIN-nivå Regler: Avbryt MIN-sökning vid nod med värde mindre än a Avbryt MAX-sökning vid nod med värde större än b Linköpings universitet 38
39 Ett sökträd Max 84 5 Min Max Linköpings universitet 39
Sökning. Sökning. Köoperationer. Generell sökalgoritm
Sökning Sökning! Datastrukturer och operationer! Värdering av sökstrategier! Blind sökning! Heuristisk sökning! Constraint satisfaction! Spelförande program Datastruktur: nod = [tillstånd, förälder, operator,
Läs merAgent som lär sig. Maskininlärning. Genetiska algoritmer. Typer av återkoppling. ! Introduktion. ! Genetiska algoritmer!
Maskininlärning gent som lär sig! Introduktion Yttre standard/återkoppling! Genetiska algoritmer! Exempelinlärning! eslutsträdsinlärning! Version Space-inlärning Återkoppling Kritiserare Mål Inlärningselement
Läs merAntag 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 merAsymptotisk 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 merHKGBB0, Artificiell intelligens
HKGBB0, Artificiell intelligens Kortfattade lösningsförslag till tentan 3 november 2005 Arne Jönsson 1. Vad karaktäriserar dagens AI-forskning jämfört med den AI-forskning som bedrevs perioden 1960-1985.
Läs merAsymptotisk 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 merAntag att b är förgreningsfaktorn, d sökdjupet, T (d) tidskomplexiteten och M(d) minneskomplexiteten.
OS! För flervalsfrågorna gäller att ett, flera eller inget alternativ kan vara korrekt. På flervalsfrågorna ges 1 poäng för korrekt svar och 0,5 poäng om skillnaden mellan antalet korrekta svar och antalet
Läs merLektion 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 merVad 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 merAntag 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 merFö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 merArtificiell Intelligens
Omtentamen Artificiell Intelligens Datum: 2014-02-20 Tid: 14.00 18.00 Ansvarig: Resultat: Hjälpmedel: Gränser: Anders Gidenstam Redovisas inom tre veckor Inga G 8p, VG 12p, Max 16p Notera: Skriv läsbart!
Läs merde var svåra att implementera och var väldigt ineffektiva.
OBS! För flervalsfrågorna gäller att flera alternativ eller inget alternativ kan vara korrekt. På flervalsfrågorna kan man bara ha rätt eller fel, dvs frågan måste vara helt korrekt besvarad. Totalt kan
Läs merAntag att b är förgreningsfaktorn, d sökdjupet, T (d) tidskomplexiteten och M(d) minneskomplexiteten.
OS! För flervalsfrågorna gäller att ett, flera eller inget alternativ kan vara korrekt. På flervalsfrågorna ges 1 poäng för korrekt svar och 0,5 poäng om skillnaden mellan antalet korrekta svar och antalet
Läs merI 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 merGenetisk programmering i Othello
LINKÖPINGS UNIVERSITET Första versionen Fördjupningsuppgift i kursen 729G11 2009-10-09 Genetisk programmering i Othello Kerstin Johansson kerjo104@student.liu.se Innehållsförteckning 1. Inledning... 1
Läs merDatastrukturer, algoritmer och programkonstruktion (DVA104, VT 2015) Föreläsning 6
Datastrukturer, algoritmer och programkonstruktion (DVA104, VT 2015) Föreläsning 6? DAGENS AGENDA Komplexitet Ordobegreppet Komplexitetsklasser Loopar Datastrukturer Några nyttiga regler OBS! Idag jobbar
Läs merExempel: Förel Rekursion III Nr 14. Uno Holmer, Chalmers,
Exempel: Kappsäcksproblemet Backtracking Dynamisk programmering Föreläsning (Weiss kap..-) Kan man ur en grupp föremål F,,F N med vikterna V,,V N välja ut en delgrupp som väger exakt M kilo? Exempel: föremål
Läs merIntroduktion till programmering SMD180. Föreläsning 9: Tupler
Introduktion till programmering Föreläsning 9: Tupler 1 1 Sammansatta datatyper Strängar Sekvenser av tecken Icke muterbara Syntax: "abcde" Listor Sekvenser av vad som helst Muterbara Syntax: [1, 2, 3]
Läs merRegression med Genetiska Algoritmer
Regression med Genetiska Algoritmer Projektarbete, Artificiell intelligens, 729G43 Jimmy Eriksson, jimer336 770529-5991 2014 Inledning Hur många kramar finns det i världen givet? Att kunna estimera givet
Läs merFredag 10 juni 2016 kl 8 12
KTH CSC, Alexander Baltatzis DD1320/1321 Lösningsförslag Fredag 10 juni 2016 kl 8 12 Hjälpmedel: En algoritmbok (ej pythonkramaren) och ditt eget formelblad. För betyg E krävs att alla E-uppgifter är godkända,
Läs merGrundläggande Idéer Algoritmens komponenter Numerisk optimering Genetisk Programmering. Genetiska Algoritmer
Genetiska Algoritmer 1 Grundläggande Idéer 2 3 4 Exempel Parallell optimering inspirerad av biologisk evolution Parallell optimering inspirerad av biologisk evolution Population av hypoteser Urvalprocess
Läs merUpplägg. Binära träd. Träd. Binära träd. Binära träd. Antal löv på ett träd. Binära träd (9) Binära sökträd (10.1)
Binära träd Algoritmer och Datastrukturer Markus Saers markus.saers@lingfil.uu.se Upplägg Binära träd (9) Binära sökträd (0.) Träd Många botaniska termer Träd, rot, löv, gren, Trädets rot kan ha ett antal
Läs merI 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 merGrafer, traversering. Koffman & Wolfgang kapitel 10, avsnitt 4
Grafer, traversering Koffman & Wolfgang kapitel 1, avsnitt 4 1 Traversering av grafer De flesta grafalgoritmer innebär att besöka varje nod i någon systematisk ordning precis som med träd så finns det
Läs merSökning och sortering
Sökning och sortering Programmering för språkteknologer 2 Sara Stymne 2013-09-16 Idag Sökning Analys av algoritmer komplexitet Sortering Vad är sökning? Sökning innebär att hitta ett värde i en samling
Läs merMycket kortfattade lösningsförslag till tenta i AI 6 nov 2003
2003-12-02 Institutionen för datavetenskap Arne Jönsson/* Mycket kortfattade lösningsförslag till tenta i AI 6 nov 2003 1. Förklara de olika egenskaper en omgivning kan ha och ge exempel på en omgivning
Läs merFöreläsning 1. Introduktion. Vad är en algoritm?
Några exempel på algoritmer. Föreläsning 1. Introduktion Vad är en algoritm? 1. Häll 1 dl havregryn och ett kryddmått salt i 2 1 2 dl kallt vatten. Koka upp och kocka gröten ca 3minuter. Rör om då och
Läs merTrädstrukturer och grafer
Översikt Trädstrukturer och grafer Trädstrukturer Grundbegrepp Binära träd Sökning i träd Grafer Sökning i grafer Programmering tillämpningar och datastrukturer Varför olika datastrukturer? Olika datastrukturer
Läs merFrå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 merFöreläsning 4: Kombinatorisk sökning
DD2458, Problemlösning och programmering under press Föreläsning 4: Kombinatorisk sökning Datum: 2007-09-25 Skribent(er): Martin Boij, Erik Gustafsson Föreläsare: Mikael Goldmann 1 Bakgrund Totalsökning
Läs merTentamen Datastrukturer (DAT036)
Tentamen Datastrukturer (DAT036) Datum och tid för tentamen: 2012-08-24, 8:30 12:30. Ansvarig: Nils Anders Danielsson. Nås på 0700 620 602 eller anknytning 1680. Besöker tentamenssalarna ca 9:30 och ca
Läs merProgramkonstruktion och Datastrukturer
Programkonstruktion och Datastrukturer VT 2012 Tidskomplexitet Elias Castegren elias.castegren.7381@student.uu.se Problem och algoritmer Ett problem är en uppgift som ska lösas. Beräkna n! givet n>0 Räkna
Läs merLö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 merFö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 merFö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 merTDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 5 Jonas Lindgren, Institutionen för Datavetenskap, LiU
TDDC30 Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 5 Jonas Lindgren, Institutionen för Datavetenskap, LiU På denna föreläsning: Algoritmanalys Tidskomplexitet, Rumskomplexitet
Läs merFöreläsning 1. Introduktion och sökning i graf. Vad är en algoritm?
Föreläsning 1. Introduktion och sökning i graf Vad är en algoritm? Först: Vad är ett problem? Består av indata och ett mål. Indata: [En beskrivning av en struktur.] Mål: [Kan vara Ja/Nej, ett tal eller
Läs merTentamen'('Datastrukturer,'algoritmer'och'programkonstruktion.'
Tentamen'('Datastrukturer,'algoritmer'och'programkonstruktion.' Skrivtid: 08.30 13.30 Hjälpmedel: Inga Lärare: Betygsgränser DVA104' Akademin)för)innovation,)design)och)teknik) Onsdag)2014:01:15) Caroline
Läs merTentamen Datastrukturer D DAT 035/INN960
Tentamen Datastrukturer D DAT 035/INN960 22 december 2006 Tid: 8.30-12.30 Ansvarig: Peter Dybjer, tel 7721035 eller 405836 Max poäng på tentamen: 60. (Bonuspoäng från övningarna tillkommer.) Betygsgränser,
Läs merFrå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 merTentamen i Algoritmer & Datastrukturer i Java
Tentamen i Algoritmer & Datastrukturer i Java Hjälpmedel: Skrivhjälpmedel, miniräknare. Ort / Datum: Halmstad / 2010-03-16 Skrivtid: 4 timmar Kontaktperson: Nicolina Månsson Poäng / Betyg: Max 44 poäng
Läs merFö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 merADT Kö. Seminarium 4 Köer och Stackar Innehåll. Operationer. ADT Stack. Definition. Definition
Seminarium 4 Köer och Stackar Innehåll ADT:erna Kö och Stack Definitioner Operationer Exempel på användning Givna klasser i Java Interfacet Queue Klassen Stack Klassen LinkedList Klassen PriorityQueue
Läs merFöreläsning Datastrukturer (DAT036)
Föreläsning Datastrukturer (DAT036) Nils Anders Danielsson 2013-11-18 Idag Mer om grafer: Minsta uppspännande träd (för oriktade grafer). Prims algoritm. Kruskals algoritm. Djupet först-sökning. Cykel
Läs merFöreläsning 4. Kö Implementerad med array Implementerad med länkad lista Djup kontra bredd Bredden först mha kö
Föreläsning 4 Kö Implementerad med array Implementerad med länkad lista Djup kontra bredd Bredden först mha kö Kö (ADT) En kö fungerar som en kö. Man fyller på den längst bak och tömmer den längst fram
Läs merDatastrukturer och algoritmer. Föreläsning 15 Inför tentamen
Datastrukturer och algoritmer Föreläsning 15 Inför tentamen 1 Innehåll Kursvärdering Vi behöver granskare! Repetition Genomgång av gammal tenta 2 Första föreläsningen: målsättningar Alla ska höja sig ett
Läs merGrundläggande datalogi - Övning 4
Grundläggande datalogi - Övning 4 Björn Terelius November 21, 2008 Definitioner Olika mått på komplexitet Definition En funktion f sägs vara O(g) om det existerar konstanter c, N så att f (n) < cg(n) för
Läs merFöreläsning 6: Introduktion av listor
Föreläsning 6: Introduktion av listor Med hjälp av pekare kan man bygga upp datastrukturer på olika sätt. Bland annat kan man bygga upp listor bestående av någon typ av data. Begreppet lista bör förklaras.
Läs merLösningar Datastrukturer TDA
Lösningar Datastrukturer TDA416 2016 12 21 roblem 1. roblem 2. a) Falskt. Urvalssortering gör alltid samma mängd av jobb. b) Sant. Genom att ha en referens till sista och första elementet, kan man nå både
Läs merArtificiell 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 merProgrammering 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 merIntroduktion till programmering SMD180. Föreläsning 8: Listor
Introduktion till programmering Föreläsning 8: Listor 1 1 Listor = generaliserade strängar Strängar = sekvenser av tecken Listor = sekvenser av vad som helst Exempel: [10, 20, 30, 40] # en lista av heltal
Läs merAlgoritmanalys. Inledning. Informationsteknologi Malin Källén, Tom Smedsaas 1 september 2016
Informationsteknologi Malin Källén, Tom Smedsaas 1 september 2016 Algoritmanalys Inledning Exempel 1: x n När vi talade om rekursion presenterade vi två olika sätt att beräkna x n, ett iterativt: x n =
Läs merTommy Färnqvist, IDA, Linköpings universitet
Föreläsning 9 Pekare, länkade noder, länkade listor TDDD86: DALP Utskriftsversion av föreläsning i Datastrukturer, algoritmer och programmeringsparadigm 25 september 2015 Tommy Färnqvist, IDA, Linköpings
Läs merFöreläsning Datastrukturer (DAT037)
Föreläsning Datastrukturer (DAT037) Nils Anders Danielsson 2015-11-23 Idag Mer om grafer: Minsta uppspännande träd (för oriktade grafer). Djupet först-sökning. Minsta uppspännande träd Träd (utan rot)
Läs merArtificial Intelligence
Omtentamen Artificial Intelligence Datum: 2014-08-27 Tid: 09.00 13.00 Ansvarig: Resultat: Hjälpmedel: Gränser: Anders Gidenstam Redovisas inom tre veckor Inga G 8p, VG 12p, Max 16p Notera: Skriv läsbart!
Läs merSjä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 merUniversitetet 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 merFöreläsning Datastrukturer (DAT036)
Föreläsning Datastrukturer (DAT036) Nils Anders Danielsson 2013-11-27 Idag Balanserade sökträd Splayträd Skipplistor AVL-träd AVL-träd Sökträd Invariant (för varje nod): Vänster och höger delträd har samma
Läs merTentamen Datastrukturer (DAT036)
Tentamen Datastrukturer (DAT036) Det här är inte originaltesen. Uppgift 6 var felaktigt formulerad, och har rättats till. Datum och tid för tentamen: 2011-12-16, 8:30 12:30. Ansvarig: Nils Anders Danielsson.
Läs merÖversikt. Parallella sökalgoritmer för diskreta optimeringsproblem. 8-pusslet. Problemdefinitioner
Översikt 2 Parallella sökalgoritmer för diskreta optimeringsproblem Kumar et. al. Introduction to Parallel Computing Kapitel 11 Robert Granat efter material från Mikael Rännar och Erik Elmroth 5/5 2006
Läs merFöreläsning 6 Datastrukturer (DAT037)
Föreläsning 6 Datastrukturer (DAT037) Fredrik Lindblad 1 2016-11-17 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 merDagens 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 mer729G43 Artificiell intelligens Planering
729G43 Artificiell intelligens Planering Arne Jönsson HCS/IDA Planering Sökning vs planering Planeringsnotationer Enkel planering Partialordningsplanering Resursplanering Hierarkisk planering Planering
Läs merTä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 merFö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 merNågra svar till TDDC70/91 Datastrukturer och algoritmer
Några svar till TDDC70/91 Datastrukturer och algoritmer 2011--18 Följande är lösningsskisser och svar till uppgifterna på tentan. Lösningarna som ges här ska bara ses som vägledning och är oftast inte
Läs merPROBLEMLÖSNING. ! GPS! Mål medel analys! Problemlösning i programmering. Lars-Erik Janlert 2007
PROBLEMLÖSNING! Problem & lösning! Sökträd, sökgraf! Automatisk problemlösning! Heuristik! Heuristisk sökning! GPS! Mål medel analys! Problemlösning i programmering 1 Problem (snäv mening)! Ett problem
Läs merFöreläsning 4 Datastrukturer (DAT037)
Föreläsning 4 Datastrukturer (DAT07) Fredrik Lindblad 1 november 2017 1 Slides skapade av Nils Anders Danielsson har använts som utgångspunkt Se http://wwwcsechalmersse/edu/year/2015/course/dat07 1 Innehåll
Läs merTentamen Datastrukturer (DAT036)
Tentamen Datastrukturer (DAT036) Datum och tid för tentamen: 2013-12-16, 14:00 18:00. Ansvarig: Nils Anders Danielsson. Nås på 0700 620 602 eller anknytning 1680. Besöker tentamenssalarna ca 15:00 och
Läs merFöreläsning 13 Datastrukturer (DAT037)
Föreläsning 13 Datastrukturer (DAT037) Fredrik Lindblad 1 2016-12-14 1 Slides skapade av Nils Anders Danielsson har använts som utgångspunkt. Se http://www.cse.chalmers.se/edu/year/2015/course/dat037 Sammanfattning
Läs merEtt 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 merImperativ programmering. Imperativ programmering konstruktioner i Lisp. Datastrukturer (kap ) arraystruktur poststruktur
Imperativ programmering konstruktioner i Lisp Imperativ programmering I den imperativa programmeringen skriver vi program satsvist. Datastrukturer (kap.-.) aystruktur poststruktur Iterativa uttryck (avs.)
Läs merTDDI16 Datastrukturer och algoritmer. Algoritmanalys
TDDI16 Datastrukturer och algoritmer Algoritmanalys 2017-08-28 2 Översikt Skäl för att analysera algoritmer Olika fall att tänka på Medelfall Bästa Värsta Metoder för analys 2017-08-28 3 Skäl till att
Läs merDatastrukturer. 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 merLösningsförslag till tentamen Datastrukturer, DAT037,
Lösningsförslag till tentamen Datastrukturer, DAT037, 2018-01-10 1. Båda looparna upprepas n gånger. s.pop() tar O(1), eventuellt amorterat. t.add() tar O(log i) för i:te iterationen av första loopen.
Läs merTvå 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 merAsymptotisk komplexitetsanalys
1 Asymptotisk komplexitetsanalys 2 Lars Larsson 3 4 VT 2007 5 Lars Larsson Asymptotisk komplexitetsanalys 1 Lars Larsson Asymptotisk komplexitetsanalys 2 et med denna föreläsning är att studenterna skall:
Läs merFöreläsning 5 Innehåll
Föreläsning 5 Innehåll Algoritmer och effektivitet Att bedöma och jämföra effektivitet för algoritmer Begreppet tidskomplexitet Datavetenskap (LTH) Föreläsning 5 VT 2019 1 / 39 Val av algoritm och datastruktur
Läs merFö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 merFÖRELÄSNING 11 DATALOGI I
Föreläsning I07 FÖRELÄSNING DATALOGI I Grafer Beatrice Åkerblom beatrice@dsv.su.se Institutionen för Data- och Systemvetenskap SU/KTH Föreläsning I07 Läsanvisningar Michael Main Data Structures & Other
Läs merAlgoritmer, 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 merTentamen Datastrukturer, DAT037 (DAT036)
Tentamen Datastrukturer, DAT037 (DAT036) Datum, tid och plats för tentamen: 2017-08-17, 8:30 12:30, M. Ansvarig: Fredrik Lindblad. Nås på tel nr. 031-772 2038. Besöker tentamenssalarna ca 9:30 och ca 11:00.
Läs merFöreläsning Datastrukturer (DAT037)
Föreläsning Datastrukturer (DAT037) Nils Anders Danielsson 2015-12-14 Idag Frågor? Är något oklart inför tentan? Sammanfattning Exempel från föreläsning 1 Dåligt val av datastruktur public class Bits {
Läs merLösningsförslag för tentamen i Datastrukturer (DAT036) från
Lösningsförslag för tentamen i Datastrukturer (DAT036) från 2011-12-16 Nils Anders Danielsson 1. Låt oss benämna indatalistan strängar. Vi kan börja med att beräkna varje strängs frekvens genom att använda
Läs merFöreläsning 2. Stackar, köer och listor TDDC91,TDDE22,725G97: DALG. Innehåll. 1 ADT stack. 1.1 Tillämpningar
öreläsning 2 Stackar, köer och listor TDDC91,TDDE22,725G97: DALG Utskriftsversion av föreläsning i Datastrukturer och algoritmer 6 september 2018 Magnus Nielsen, IDA, Linköpings universitet x 21 Introduktion
Läs merLinköpings universitet
2014-08-25 Översikt Kognitionsvetenskaplig introduktionskurs Föreläsning lgoritmer, Turingmaskiner, Programmering, rtificiell Intelligens mm lgoritmer Beräkningsbarhet Turingmaskiner Komplexitet atorer
Läs merFö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 merFöreläsning 13 Innehåll
Föreläsning 13 Innehåll Prioritetsköer och heapar Prioritetsköer och heapar ADT prioritetskö Heapar Implementering av prioritetskö med heap Klassen PriorityQueue i java.util Programexempel LPT-algoritmen
Läs merAlgoritmer och datastrukturer TDA143
Algoritmer och datastrukturer TDA143 2017 02 15 Uno Holmer Algoritmer och datastrukturer, TDA143, HT17, UH Algoritm Informell beskrivning: Ett antal steg som beskriver hur en uppgift utförs. Formell beskrivning:
Läs merProgrammering II (ID1019) :00-17:00
ID1019 Johan Montelius Programmering II (ID1019) 2014-03-10 14:00-17:00 Förnamn: Efternamn: Instruktioner Du får inte ha något materiel med dig förutom skrivmateriel. Mobiler etc, skall lämnas till tentamensvakten.
Läs merTentamen Datastrukturer (DAT037)
Tentamen Datastrukturer (DAT07) Datum och tid för tentamen: 2016-01-09, 14:00 18:00. Ansvarig: Nils Anders Danielsson. Nås på 0700 620 602 eller anknytning 1680. Besöker tentamenssalarna ca 15:00 och ca
Läs merFöreläsning 3-4 Innehåll. Diskutera. Metod. Programexempel med metod
Föreläsning 3-4 Innehåll Diskutera Vad gör programmet programmet? Föreslå vilka satser vi kan bryta ut till en egen metod. Skriva egna metoder Logiska uttryck Algoritm för att beräkna min och max Vektorer
Läs merFö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 merProgrammering för språkteknologer II, HT2014. Rum
Programmering för språkteknologer II, HT2014 Avancerad programmering för språkteknologer, HT2014 evelina.andersson@lingfil.uu.se Rum 9-2035 http://stp.ling.uu.se/~evelina/uv/uv14/pst2/ Idag - Sökalgoritmer
Läs merDatastrukturer. 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 merFöreläsning 5: Kardinalitet. Funktioners tillväxt
Föreläsning 5: Kardinalitet. Funktioners tillväxt A = B om det finns en bijektion från A till B. Om A har samma kardinalitet som en delmängd av naturliga talen, N, så är A uppräknelig. Om A = N så är A
Läs merFöreläsning 9 Innehåll
Föreläsning 9 Innehåll Binära sökträd algoritmer för sökning, insättning och borttagning, implementering effektivitet balanserade binära sökträd, AVL-träd Abstrakta datatyperna mängd (eng. Set) och lexikon
Läs mer