Heuristiske søkemetoder I: Simulert størkning og tabu-søk
|
|
- Solbjørg Andersson
- 8 år siden
- Visninger:
Transkript
1 Heuristiske søkemetoder I: Simulert størkning og tabu-søk Lars Aurdal Norsk regnesentral Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.1/141
2 Hva er tema for disse forelesningene? Det finnes beregningsproblemer der beregningsmengden blir enorm selv for høyst realistisk dimensjonering av problemet. Dessverre er dette ikke forbeholdt problemer av rent teoretisk interesse. I disse to forelesningene skal vi studere endel slike problemer......og hvordan man kan løse dem approksimativt. Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.2/141
3 Plan 1 Vi skal se på to ulike algoritmer for å løse slike problemer: Simulert størkning. Tabu-søk. Begge er såkalte heuristiske søkealgoritmer. Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.3/141
4 Plan 2 Hva er en heuristisk søkealgoritme? Hvorfor heuristiske søkealgoritmer? Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.4/141
5 Plan 3 Vi skal se nærmere på følgende problemer: Knapsack-problemet. Reisende handelsmann-problemet. Maksimum klikk-problemet. Grafdelings-problemet. Graf isomorfisme-problemet. Bildebehandlingsapplikasjon. Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.5/141
6 Hva slags søkemetoder snakker vi om? Vi skal fokusere på algoritmer som opererer på kombinatoriske strukturer. Slike strukturer er: Sett Lister Grafer etc. Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.6/141
7 Hva slags søkemetoder snakker vi om? Algoritmer som opererer på slike kombinatoriske strukturer brukes grovt for å løse et av følgende problemer: Generere kombinatoriske strukturer. Telle kombinatoriske strukturer. Søke etter kombinatoriske strukturer. Søke etter optimale (ekstremaliserende) kombinatoriske strukturer. Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.7/141
8 Sett Et (endelig) sett er en endelig samling objekter som kalles elementene i settet. Vi benytter klammeparenteser rundt mengden objekter i settet: { }. Skriver vi X = {1,3,7,9} mener vi at settet X består av elementene 1,3,7 og 9. Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.8/141
9 Sett Merk at sett ikke er ordnede strukturer slik at settene {1,3,7,9} og {7,1,9,3} er like. Vi skriver x X for å indikere at x er et element i X. Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.9/141
10 Sett Kardinalitet (eller størrelse) til et sett X, betegnet X er antall elementer i X. Eksempel: {1,3,7,9} = 4. For k et positivt heltall eller null sier vi at et k-sett er et sett med kardinalitet k. 0-settet er det (unike) tomme settet som ikke inneholder noen elementer. Det betegnes /0. Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.10/141
11 Sett Dersom X og Y er sett sier vi at X er et subsett av Y dersom alle elementer i X er inneholdt i Y. Vi skriver dette X Y. x X x Y Et k-subsett av Y er et subsett av Y med kardinalitet k. Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.11/141
12 Lister En (endelig) liste er en ordnet samling objekter som kalles elementene i listen. Vi benytter hakeparenteser rundt objektene i listen: [ ]. Skriver vi X =[1,3,7,9] mener vi at listen X består av elementene 1,3,7 og 9 i den rekkefølgen. Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.12/141
13 Lister Siden en liste er en ordnet struktur følger det at [1,3,1,9] [1,1,9,3]. Lengden av listen X er antall elementer (ikke nødvendigvis distinkte) i X. Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.13/141
14 Lister For n et positivt heltall eller null sier vi at et n-tuppel er en liste med lengde n. En tom liste er den (unike) listen som ikke inneholder noen elementer. Den betegnes [ ]. Er X en liste med lengde n betegnes elementene i X med X[0],X[1],...,X[n 1]. Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.14/141
15 Lister Det kartesiske produktet av settene X og Y, betegnet X Y, er settet av alle ordnede 2-tupler der første element hentes fra X og andre element fra Y. X Y = {[x,y] : x X og y Y} Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.15/141
16 Lister Dersom X = {1,3,7,9} og Y = {0,2} så er: {1,3,7,9} {0,2} = {[1,0],[1,2],[3,0], [3,2],[7,0],[7,2], [9,0],[9,2]} Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.16/141
17 Permutasjoner Dersom X et et endelig sett med kardinalitet n, såerenpermutasjon av X en liste π med lengde n slik at hvert element i X opptrer en gang i π. Husk: Det finnes n! = n(n 1) 1 permutasjoner av et n-sett. For en positiv k < n, sies en k-permutasjon av X å være en liste π med lengde k slik at ikke noe element i X opptrer mer enn en gang i π. Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.17/141
18 Permutasjoner Det finnes: n! (n k)! = n(n 1) (n k + 1) k-permutasjoner av et n-sett. Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.18/141
19 Grafer En graf består av et endelig sett ν av noder og et endelig sett ε av kanter slik at hver kant er et 2-subsett av noder. En graf betegnes gjerne med (ν,ε). Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.19/141
20 Grafer Eksempel: ν = {0,1,2,3,4,5,6,7} ε = {{0,1},{0,2},{2,3},{1,3}, {0,4},{2,5},{1,6},{3,7}, {4,5},{4,6},{6,7},{5,7}} Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.20/141
21 Grafer En komplett graf er en graf der ε består av alle 2-subsett av ν. En node x sies å være del av en kant e dersom x e. Graden til en node x ν, betegnet deg(x), er lik antall kanter noden er en del av. En graf sies å være regulær med grad d dersom hver node har grad d. Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.21/141
22 Grafer, substrukturer En Hamilton-syklus er en vei langs kantene i en graf som går innom hver node nøyaktig en gang. Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.22/141
23 Grafer, substrukturer I grafen under beskriver listen [0,2,3,7,5,4,6,1] en Hamilton-syklus Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.23/141
24 Grafer, substrukturer En graf som inneholder en Hamilton-syklus sies a være en Hamilton-graf. Oppkalt etter Sir William Rowan Hamilton, , som oppfant en matematisk nøtt der en slik syklus langs kantene til et icosahedron var løsningen. Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.24/141
25 Grafer, substrukturer Alle Platonske legemer a (også kalt regulære legemer), har en Hamilton-syklus (der hjørnene er noder). a All konvekse polyhedra med like sider dannet av kongruente, konvekse polygoner. Det finnes nøyaktig fem slike, en kube er et eksempel) Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.25/141
26 Grafer, substrukturer En klikk i en graf G =(ν,ε) er et subsett S ν slik at {x,y} ε for alle x,y S,x y. Evt.: En klikk i en graf G =(ν,ε) er en komplett subgraf av G. Vi betrakter det tomme sett /0 som en klikk, videre betrakter vi enhver node x ν som en klikk. Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.26/141
27 Grafer, substrukturer En klikk er en maksimal klikk dersom den ikke er en subgraf av en større klikk. Klikken(e) med størst kardinalitet i en graf kalles maksimum klikken(e). Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.27/141
28 Grafer, substrukturer Max klikk kardinalitet 2. Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.28/141
29 Grafer, substrukturer Max klikk kardinalitet 3. Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.29/141
30 Grafer, substrukturer Max klikk kardinalitet 6. Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.30/141
31 Grafer En graf (ν,ε) er en vektet graf dersom det finnes en vekt-funksjon: assosiert med den. w : ε R Vekten av en substruktur i grafen er summen av vektene langs kantene i denne substrukturen Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.31/141
32 Grafer Det å finne en Hamilton-syklus med minste vekt i en graf er kjent som reisende handelsmann problemet ( travelling salesman problem ). Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.32/141
33 Hva er en heuristisk søkealgoritme Heuristikk: Av gresk heuriskein-finne: Noe som tjener til å lete etter noe, oppdage noe. I sammenheng med søkealgoritmer: En metode for å gjøre små endringer ved en eksisterende løsning for å finne en annen løsning. Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.33/141
34 Hva er en heuristisk søkealgoritme Endringene som gjøres innebærer nabolagssøk. En heuristisk algoritme består i å anvende en eller flere slike heuristikker. Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.34/141
35 Hvorfor heuristisk søking? Hovedproblem: beregningstid. Backtracking gjør det mulig å gå gjennom alle mulige løsninger å finne den (eller de) optimale(e) løsningene. Det er fullt mulig å måtte løse problemer der antallet mulige løsninger er i størrelsesorden Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.35/141
36 Hvorfor heuristisk søking? Hovedproblem: beregningstid. Heuristiske søkemetoder gjør ikke et uttømmende søk og dermed er det ikke sikkert at den optimale løsningen finnes. Heuristiske søkemetoder gjør oss imidlertid i stand til å løse svært store problemer tilnærmelsesvis. Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.36/141
37 Generell heuristisk søkealgoritme, matematiske begreper Løsningene velges fra et endelig, bestemt sett χ som ofte kalles universet. En løsning X χ sies å være en mulig løsning dersom enkelte gitte betingelser er tilfredsstilt. Disse betingelsene kan skrives på formen: g j (X) 0 j,1 j m En optimal løsning er en løsning X som gir maksimal gevinst P(X). Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.37/141
38 Generell heuristisk søkealgoritme, matematiske begreper Formelt står vi altså overfor et optimaliseringsproblem: Gitt et endelig sett χ. Gitt en objektivfunksjon P : χ R. Gitt randbetingelsesfunksjoner: g j : χ R,1 j m Finn den maksimale verdien av P(X) slik at X χ og slik at g j (X) 0 for 1 j m. Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.38/141
39 Generell heuristisk søkealgoritme, nabolagsfunksjoner Nabolaget til et element X i χ består i all enkelhet av et subsett av elementene i χ. Generelt lar vi nabolaget til et element X i χ være et antall elementer som er like eller nær (i en eller annen forstand) X. Merk at N(X) kan inneholde elementer Y som ikke er mulige løsninger. Ofte er det uvesentlig om X N(X) eller ikke. En nabolagsfunksjon genererer N(X). Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.39/141
40 Generell heuristisk søkealgoritme, nabolagsfunksjoner Eksempel: Anta at χ = {0,1} n, det vil si at χ består av alle binære n-tupler. Vi definerer nå: N d0 (X)={Y χ : d(x,y) d 0 } der d 0 er et eller annet positivt heltall, og der d(, ) er Hammingavstanden mellom to n-tupler. Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.40/141
41 Generell heuristisk søkealgoritme, nabolagsfunksjoner Eksempel fortsatt: I dette tilfellet kan størrelsen på et nabolag lett bestemmes til: a N d0 = d 0 i=0 ( ) n i a Husk: ( ) n i = n! (n i)!i! Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.41/141
42 Generell heuristisk søkealgoritme, nabolagsfunksjoner Eksempel: Anta at χ består av alle permutasjoner av settet {1, 2,...,n}. Gitt to permutasjoner α =[α 1,α 2,...,α n ] og β =[β 1,β 2,...,β n ], la avstanden mellom dem være: d(α,β)= {i : α i β i } Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.42/141
43 Generell heuristisk søkealgoritme, nabolagsfunksjoner Eksempel fortsatt: Som i forrige eksempel kan vi definere: N d0 (X)={Y χ : d(x,y) d 0 } der d 0 er et positivt heltall. Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.43/141
44 Generell heuristisk søkealgoritme, nabolagsfunksjoner Eksempel fortsatt: Merk at N 1 (X)=X, fordi to permutasjoner ikke kan avvike fra hverandre i bare en posisjon. Derimot kan to permutasjoner avvike fra hverandre i to posisjoner. Kan vise at: ( ) n N 2 (X) = Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.44/141
45 Generell heuristisk søkealgoritme, nabolagsfunksjoner Gitt at nabolagsfunksjonen er definert kan man tenke seg mange måter å finne en ny mulig løsning i nabolaget til en mulig løsning X. Uttømmende søk. Vilkårlig søk. Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.45/141
46 Generell heuristisk søkealgoritme, nabolagsfunksjoner Gitt at nabolagsfunksjonen er definert kan man tenke seg mange måter å finne en ny mulig løsning i nabolaget til en mulig løsning X. Mer formelt: Anta at N er en nabolagsfunksjon. Et nabolagssøk basert på N er en algoritme der input er en mulig løsning X χ, og der output er er en mulig løsning Y N(X)\{X} eller Fail. Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.46/141
47 Generell heuristisk søkealgoritme, nabolag søkestrategier Finn en mulig løsning Y N(X) slik at P(Y) maksimeres. Returner Fail dersom ingen mulige løsninger eksisterer. Finn en mulig løsning Y N(X) slik at P(Y) maksimeres. Dersom P(Y ) > P(X), returner Y, ellers returneres Fail (bratteste oppstigning, steepest ascent ). Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.47/141
48 Generell heuristisk søkealgoritme, nabolag søkestrategier Finn en vilkårlig mulig løsning Y N(X). Finn en vilkårlig løsning Y N(X). Dersom P(Y ) > P(X), returner Y, ellers returneres Fail. Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.48/141
49 Generell heuristisk søkealgoritme, heuristikker Hvordan definere heuristikkene h N? Enkleste løsning: La heuristikken bestå i å gjennomføre det aktuelle nabolagssøket. Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.49/141
50 Generell heuristisk søkealgoritme, pseudokode Forutsetninger: c max er input, N( ),h N ( ) og P( ) er eksterne c 0 velg mulig løsning X χ X best X while c c max do Y h N (X) if Y Fail then X Y if P(X) > P(X best ) then X best X end if end if c c + 1 end while return (X best ) Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.50/141
51 Reisende handelsmann-problemet Du er handelsmann og reiser fra by til by. Du skal ut på en ny reise og skal besøke et forhåndsbestemt antall byer. Du kjører bil så bensinutgiftene for å reise mellom to byer er proporsjonal med avstanden mellom byene. Du vil besøk hver by bare en gang. I hvilken rekkefølge skal du besøke byene for å få lavest mulig bensinkostnader? Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.51/141
52 Reisende handelsmann-problemet Du har: En komplett graf med n noder, G =(V,E). En kostfunksjon, cost: E Z +. Finn nå en Hamilton-syklus X i G slik at: cost(x)= cost(e) e E(X) blir minimal. Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.52/141
53 Reisende handelsmann-problemet La V = {0,1,...,n 1} være nodene i grafen G. For enkelhets skyld definerer vi: dersom x y. cost(x, y)=cost({x, y}) Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.53/141
54 Reisende handelsmann-problemet Vi definerer også: dersom x = y. cost(x, y)= Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.54/141
55 Reisende handelsmann-problemet Husk at en Hamilton-syklus kan representeres som en permutasjon av V,for eksempel: X =[x 0,x 1,...,x n 1 ] For enkelhets skyld antar vi at syklusen starter og slutter i node 0. Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.55/141
56 Reisende handelsmann-problemet Syklusen kan derfor representeres ved 7-tuplene: [0,3,4,6,2,5,1] eller [0,1,5,2,6,4,3] Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.56/141
57 Designstrategier: Fjell-klatring Den enklest mulige designstrategien. Nabolagssøket returnerer den Y N(X)\X slik at P(Y) > P(X). Dersom en slik Y ikke finnes returneres Fail. I praksis: Vi beveger oss i retning av den optimale løsningen ved å følge en sekvens av løsninger som stadig gir bedre resultat. Analogi: Den raskeste veien til toppen under fjellklatring finner du ved bestandig å klatre så bratt som mulig oppover. Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.57/141
58 Designstrategier: Fjell-klatring, pseudokode Forutsetninger: N( ),h N ( ) og P( ) er eksterne velg mulig løsning X χ søk true while søk do Y h N (X) if Y Fail then X Y if P(X) > P(X best ) then X best X end if else søk false end if end while return(x best ) Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.58/141
59 Designstrategier: Fjell-klatring Hovedproblem: For enkel strategi. Kjører seg fast i nærmeste lokale maksimum. Sagt på en annen måte: Dersom P(Y) < P(X) for alle mulige løsninger Y N(X)\X vil en algoritme basert på fjell-klatring kjøre seg fast i det øyeblikk den når X. Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.59/141
60 Designstrategier: Simulert størkning Hva er en diamant? En diamant er egentlig en løsning av et enormt komplekst optimaliseringsproblem. En diamant kan bare oppstå dersom et svært stort antall karbon-atomer finner en felles organisasjon som minimaliserer energien i den totale strukturen. Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.60/141
61 Designstrategier: Simulert størkning Framvekst av en diamant er en tidkrevende prosess som finner sted under høy temperatur og trykk. Faller temeraturen langsomt nok kan det oppstå store diamanter. Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.61/141
62 Designstrategier: Simulert størkning Hvordan løses dette optimaliseringsproblemet? Nøkkelen ligger i prøving og feiling. Det er hastigheten størkningen skjer med som avgjør kvaliteten og størrelsen på krystallstrukturen, langsom størkning gir høy kvaliet. Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.62/141
63 Designstrategier: Simulert størkning Aloritmen vi nå skal diskutere har en litt spesiell historie. Den ble opprinnelig presentert i juni 1953 i artikkelen: Equation of State Calculations by Fast Computing Machines i det anerkjente tidsskriftet The Journal of Chemical Physics. Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.63/141
64 Designstrategier: Simulert størkning En av atombombens fedre, den ungarsk-amerikanske fysikeren Edvard Teller, var medforfatter. I senere år var han mest kjent for sin aktivitet i forbindelse med det amerianske Star Wars programmet. Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.64/141
65 Designstrategier: Simulert størkning Designstrategien simulert størkning kopierer denne prosessen. Benytter et vilkårlig nabolagssøk. Dersom h N (X)=Y er en mulig løsning og dersom P(Y) P(X) byttes X med Y (som ved fjell-klatring). Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.65/141
66 Designstrategier: Simulert størkning Men dersom h N (X)=Y er en mulig løsning og dersom P(Y ) < P(X) byttes også X med Y med en viss sannsynlighet P. Dermed kan denne algoritmen hoppe ut av lokale minima. Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.66/141
67 Designstrategier: Simulert størkning Hvordan velges P. Vi benytter en hjelpevariabel T, kalt temperatur. T initialiseres med verdien T 0 > 0. T reduseres så gradvis i følge en nedkjølingsprosedyre (cooling schedule, annealing schedule). Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.67/141
68 Designstrategier: Simulert størkning Til enhver tid er sannsynligheten for å erstatte X med Y = h N (X), gitt at P(X) > P(Y ) gitt ved: (P(Y ) P(X))/T e Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.68/141
69 Designstrategier: Simulert størkning Sagt på en annen måte: Sannsynligheten P for å bytte X med Y = h N (X) er gitt ved: { 1,P(Y) P(X) P = e (P(Y ) P(X))/T,P(Y) < P(X) Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.69/141
70 Designstrategier: Simulert størkning 1 P (P(Y) P(X))/T 0 Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.70/141
71 Designstrategier: Simulert størkning I praksis trekkes r fra en uniform sannsynlighetsfordeling (på intervallet [0, 1]). Deretter sammenlignes r med e (P(Y ) P(X))/T og X byttes med Y dersom: (P(Y ) P(X))/T r < e Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.71/141
72 Designstrategier: Simulert størkning Typisk brukes en geometrisk nedkjølingsprosedyre: T n αt n 1 For store T gir dette stor sannsynlighet for å velge en Y der P(Y ) < P(X). Etter hvert som T reduseres avtar denne sannsynligheten. Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.72/141
73 Designstrategier: Simulert størkning Fallende T Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.73/141
74 Designstrategier: Simulert størkning,pseudokode Forutsetninger: cmax, T 0, α er input, N( ),h N ( ), random( ) og P( ) er eksterne c 0 T T 0 velg mulig løsning X χ X best X while c cmax do Y h N (X) if Y Fail then if P(Y ) > P(X) then X Y if P(X) > P(X best ) then X best X end if else r random(0,1) if r < e (P(Y ) P(X))/T then X Y end if end if end if c c + 1 T αt end while return(x best ) Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.74/141
75 Designstrategier: Tabusøk En variant av fjellklatring. Grunnleggende ide: Bytt elementet X med elementet Y N(X)\{X} slik at Y er en mulig løsning og slik at P(Y) er maksimal over alle slike elementer Y. Innebærer normalt en uttømmende søk i hele nabolaget N(X). Det kan selvfølgelig skje at P(Y ) < P(X) slik at vi unnslipper lokale maksima. Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.75/141
76 Designstrategier: Tabusøk Fare: Etter å ha byttet X med Y er det svært sannsynlig at neste skritt vil være å bytte tilbake. Da går algoritmen inn i en uendelig løkke. Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.76/141
77 Designstrategier: Tabusøk Problem: Vi må unngå sykler av typen: X Y X Y... X eller for eksempel: X Y Z K... X Løsning: Bruk en tabu-liste. Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.77/141
78 Designstrategier: Tabusøk Definer en funksjon change(x,y) som beskriver endringene som må gjøres med en mulig løsning X for å få en mulig løsning Y. Dersom vi utfører endringen X Y, gjøres endringen beskrevet ved funksjonen change(y, X) ulovlig. Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.78/141
79 Designstrategier: Tabusøk Denne ulovlige endringen legges til den såkalte tabu-listen. Endringer i tabu-listen forblir ulovlige i en viss levetid betegnet L, der L er et bestemt positivt heltall. Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.79/141
80 Designstrategier: Tabusøk Eksempel: La χ = {0,1} n, det vil si alle n-tupler med elementer 0 og 1. La N(X)={Y χ : d(x,y)=1} Nabolaget til X bestå altså av alle n-tupler der ett element er endret i forhold til X. Derfor gjelder: N(X) = n. Definer nå: change(x,y)=i x i y i når d(x,y)=1. Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.80/141
81 Designstrategier: Tabusøk Eksempel fotsatt: Dersom element i i en mulig løsning endres kan det ikke endres igjen før algoritmen har gjennomløpt minst L iterasjoner. Dermed ser vi at syklusen: X Y... X må ha lengde minst lik 2L. Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.81/141
82 Designstrategier: Tabusøk Eksempel fortsatt: Merk også at N(X) vil inneholde n L lovlige (ikke-tabu) elementer. Viktig avveining: Vi vil ha L stor, samtidig må ikke L bli så stor at antallet ikke-tabu kandidater blir for redusert. Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.82/141
83 Designstrategier: Tabusøk, pseudokode I pseudokoden som følger er tabu-listen implementert som listen TabuList der TabuList[i]= dersom er endringen som er ulovlig ved iterasjon i av algoritmen. Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.83/141
84 Designstrategier: Tabusøk, pseudokode Heuristikken h N er definert som følger: Y N(X) Yer en mulig løsning change(x,y) /... h N (X)=Y der {TabuList[d] : i L... d i 1} P(Y)er maks. over alle slike løsninger. Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.84/141
85 Designstrategier: Tabusøk, pseudokode Forutsetninger: imax, L er input, N( ),change( ) og P( ) er eksterne i 1 Velg en mulig løsning X χ. X best X while i imax do N N(X)\{TabuList[d] : i L d i 1} for Y N do if Y er en umulig løsning then N N\{Y } end if end for if N = /0 then exit end if finn Y N slik at P(Y) er maksimal TabuList[i] change(y, X) X Y if P(X) > P(X best ) then X best X end if i i + 1 end while return(x best ) Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.85/141
86 Tursekk-problemet ( knapsack problem ) Du har: En liste P med gevinster, [p 0, p 1,...,p n 1 ]. En liste W med vekter, [w 0,w 1,...,w n 1 ]. Et mål M. Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.86/141
87 Tursekk-problemet Finn nå det n-tuppel X, [x 0,x 1,...,x n 1 ] der x i {0,1} slik at: P = n 1 i=0 p i x i blir maksimal under forutsetning av at: n 1 i=0 w i x i M Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.87/141
88 Fjell-klatring, tursekk-problemet Løsningene X finnes i universet χ der χ = {0,1} n, det vil si alle n-tupler bestående av bare 0 og 1. En mulig definisjon av nabolagsfunksjonen N(X) er: N d0 (X)={Y χ : d(x,y)=d 0 } der d(x,y) er Hamming-avstand mellom X og Y. Vi må velge en initial mulig løsning X 0. Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.88/141
89 Fjell-klatring, tursekk-problemet Med d 0 = 1 har vi at: N 1 = ( ) n 1 = n Vi må velge en initial mulig løsning X 0. Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.89/141
90 Fjell-klatring, tursekk-problemet Med utgangspunkt i X 0 gjennomsøkes dennes nabolag og den beste mulige løsningen Y N(X) finnes. Ingen garanti for at et globalt maksimum finnes. Ingen garanti for at ulike X 0 vil gi samme endelige løsning, metoden er med andre ord følsom for initialbetingelsene. Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.90/141
91 Fjell-klatring, tursekk-problemet >> X_0=zeros(1,15); >> P=[ ]; >> W=[ ]; >> Cap=324; >> >> [optp,optx]=hillks(x_0,w,p,cap,1);optp optp = 172 >> [optp,optx]=hillks(x_0,w,p,cap,2);optp optp = 341 >> [optp,optx]=hillks(x_0,w,p,cap,3);optp optp = 485 >> [optp,optx]=hillks(x_0,w,p,cap,4);optp optp = 618 >> [optp,optx]=hillks(x_0,w,p,cap,5);optp optp = 649 >> [optp,optx]=hillks(x_0,w,p,cap,6);optp optp = 651 >> [optp,optx]=hillks(x_0,w,p,cap,7);optp optp = 651 >> [optp,optx]=hillks(x_0,w,p,cap,8);optp optp = 651 >> Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.91/141
92 Fjell-klatring, tursekk-problemet >> P=[ ]; >> W=[ ]; >> Cap=324; >> >> index=1; >> while(index<=1000) X_0=round(rand(1,15)); if(x_0*w <=Cap) [optp,optx]=hillks(x_0,w,p,cap,inf); OPTP(index)=optP; OPTX(index,:)=optX; index=index+1; end end >> >> nnz(optp==676) ans = 4 >> mean(optp) ans = >> Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.92/141
93 Simulert størkning, tursekk-problemet Samme problemformulering som for fjell-klatring. Forskjell: vi gjør et randomisert nabolagssøk, det vil si at vi velger vilkårlig en ny mulig løsning Y i nabolaget til X. Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.93/141
94 Simulert størkning, tursekk-problemet Som for fjell-klatring har vi ingen garanti for at vi finner et globalt maksimum. Som for fjell-klatring har vi heller ingen garanti for at ulike X 0 vil gi samme endelige løsning, dette skyldes at nabolagssøket er randomisert. Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.94/141
95 Simulert størkning, tursekk-problemet Vi må unngå en situasjon der initialtemperaturen er for lav. Dette fører til at algoritmen låser seg fast i et lokalt maksimum Løpende og maksimal gevinst Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.95/141
96 Simulert størkning, tursekk-problemet Vi må unngå en situasjon der initialtemperaturen er for lav. Dette fører til at algoritmen låser seg fast i et lokalt maksimum Antall valg av Y med P(Y) < P(X). Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.96/141
97 Simulert størkning, tursekk-problemet Vi må også unngå en situasjon der initialtemperaturen er for høy. Dette fører til at algoritmen hopper fra løsning til løsning uten å søke gjennom nabolaget til hver løsning Løpende og maksimal gevinst Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.97/141
98 Simulert størkning, tursekk-problemet Vi må også unngå en situasjon der initialtemperaturen er for høy. Dette fører til at algoritmen hopper fra løsning til løsning uten å søke gjennom nabolaget til hver løsning Antall valg av Y med P(Y) < P(X). Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.98/141
99 Simulert størkning, tursekk-problemet T 0 må avpasses i forhold til α, antallet iterasjoner samt det konkrete problemet (strukturen til gevinst-funksjonen). Dette fører til at algoritmen først hopper fra løsning til løsning for så etter hvert å eksplorere nabolaget til hver løsning grundigere.. Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.99/141
100 Simulert størkning, tursekk-problemet Løpende og maksimal gevinst Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.100/141
101 Simulert størkning, tursekk-problemet Antall valg av Y med P(Y ) < P(X). Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.101/141
102 Simulert størkning, tursekk-problemet >> P=[ ]; >> W=[ ]; >> Cap=324; >> >> index=1; >> while(index<=1000) X_0=round(rand(1,15)); if(x_0*w <=Cap) [optp,optx,e,opte,c]=saks(x_0,w,p,cap,500,0.99,100); OPTP(index)=optp; OPTX(index,:)=optX; index=index+1; end end >> >> nnz(optp==676) ans = 7 >> mean(optp) ans = >> Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.102/141
103 Tabu-søk, tursekk-problemet Samme problemformulering som for fjell-klatring. Forskjell: I tråd med tabu-søkstrategien velges den nye løsningen Y som den ikke-tabu løsningen i N(X) som gir størst gevinst. Dette kan altså medføre at vi velger en løsning Y som er dårligere enn X. Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.103/141
104 Tabu-søk, tursekk-problemet Som for fjell-klatring har vi ingen garanti for at vi finner et globalt maksimum. Som for fjell-klatring har vi heller ingen garanti for at ulike X 0 vil gi samme endelige løsning. Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.104/141
105 Tabu-søk, tursekk-problemet >> P=[ ]; >> W=[ ]; >> Cap=324; >> >> index=1; >> while(index<=1000) X_0=round(rand(1,15)); if(x_0*w <=Cap) [optp,optx]=tabuks(x_0,w,p,cap,200,10); OPTP(index)=optp; OPTX(index,:)=optX; index=index+1; end end >> >> nnz(optp==676) ans = 84 >> mean(optp) ans = >> Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.105/141
106 Fjell-klatring, reisende handelsmann-problemet Løsningene X finnes i universet χ der χ er alle mulige permutasjoner av ν, det vil si alle mulige permutasjoner av nodene (merk at χ = n!). Et mulig valg av nabolagsfunksjonen N(X) er å la N(X) bestå av alle permutasjoner av X der to naboelementer har byttet plass. Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.106/141
107 Fjell-klatring, reisende handelsmann-problemet Med X =[0,1,2,3] blir N(X)={[1,0,2,3],[0,2,1,3],[0,1,3,2],[3,1,2,0]}. Merk at: N(X) = n Vi må velge en initial mulig løsning X 0. Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.107/141
108 Fjell-klatring, reisende handelsmann-problemet Med utgangspunkt i X 0 gjennomsøkes dennes nabolag og den beste mulige løsningen Y N(X) finnes. Ingen garanti for at et globalt maksimum finnes. Ingen garanti for at ulike X 0 vil gi samme endelige løsning, metoden er med andre ord følsom for initialbetingelsene. Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.108/141
109 Fjell-klatring, reisende handelsmann-problemet Opprinnelig konstellasjon Optimal løsning med minimal kostnad Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.109/141
110 Fjell-klatring, reisende handelsmann-problemet Opprinnelig konstellasjon Fjellklatring, max iterasjoner,ulike X 0. Minimal kost varierer fra til Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.110/141
111 Simulert størkning, reisende handelsmann-problemet Samme problemformulering som for fjell-klatring. Forskjell: vi gjør et randomisert nabolagssøk, det vil si at vi velger vilkårlig en ny mulig løsning Y i nabolaget til X, det vil si at vi velger en vilkårlig permutasjon av X der to naboelementer har byttet plass. Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.111/141
112 Simulert størkning, reisende handelsmann-problemet Som for fjell-klatring har vi ingen garanti for at vi finner et globalt maksimum. Som for fjell-klatring har vi heller ingen garanti for at ulike X 0 vil gi samme endelige løsning, dette skyldes at nabolagssøket er randomisert. Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.112/141
113 Simulert størkning, reisende handelsmann-problemet Opprinnelig konstellasjon Optimal løsning med minimal kostnad Finnes nesten systematisk med simulert størkning, ulike X 0, 5000 iterasjoner, T 0 = 10, α = Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.113/141
114 Simulert størkning, reisende handelsmann-problemet Opprinnelig konstellasjon Simulert størkning, ulike X 0, iterasjoner, T 0 = 50, α = Minimal kost varierer fra til Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.114/141
115 Simulert størkning, reisende handelsmann-problemet 14 3 x Løpende og minimal kost. x x 10 4 Antall valg av Y med Cost(Y) > Cost(X). Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.115/141
116 Tabu-søk, reisende handelsmann-problemet Samme problemformulering som for fjell-klatring. Forskjell: I tråd med tabu-søkstrategien velges den nye løsningen Y som den ikke-tabu løsningen i N(X) som gir minst kost. Dette kan altså medføre at vi velger en løsning Y som er dårligere enn X. Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.116/141
117 Tabu-søk, reisende handelsmann-problemet Som for fjell-klatring har vi ingen garanti for at vi finner et globalt maksimum. Som for fjell-klatring har vi heller ingen garanti for at ulike X 0 vil gi samme endelige løsning, dette skyldes at nabolagssøket er randomisert. Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.117/141
118 Tabu-søk, reisende handelsmann-problemet Opprinnelig konstellasjon Tabu-søk, ulike X 0, iterasjoner, L = 18. Minimal kost varierer fra til Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.118/141
119 Tabu-søk, reisende handelsmann-problemet Løpende og minimal kost. L = 10. x Løpende og minimal kost. L = 18. x 10 4 Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.119/141
120 Generelt om reisende handelsmann-problemet Det er veldig vanskelig å sammenligne ulike algoritmer. Algoritmene er følsomme for: Initialisering. Heuristikk. Parametervalg. For hver konkret problemstilling må mange ulike algoritmer, heuristikker og parametervalg prøves. Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.120/141
121 Heuristiske søkemetoder I: Matlab-funksjoner. Alle MATLAB-funksjonene finnes på adressen: Merk at filen README inneholder ferdige sekvenser av kommandoer som kan limes rett inn i MATLAB for å teste de ulike algoritmene. Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.121/141
122 Heuristiske søkemetoder I: Øvingsoppgaver Oppgave 1: Endelige sett. a) Hva er et endelig sett? b) Er settene X = {1,5,12,8} og Y = {1,12,5,8} like? c) Er settet K = {1,5,8} et subsett av settet M = {1,5,7,12}. Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.122/141
123 Heuristiske søkemetoder I: Øvingsoppgaver Oppgave 2: Endelige lister. a) Hva er en endelig liste? b) Er listene X =[1,5,12,8] og Y =[1,12,5,8] like? c) Hvordan defineres det kartesiske produktet av settene A og B. d) Anta at A = {3,9,6,4} og B = {3,5}. Hva er det kartesiske produktet av disse settene? Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.123/141
124 Heuristiske søkemetoder I: Øvingsoppgaver Oppgave 3: Permutasjoner. a) Hva er en permutasjon? b) Gitt at et sett inneholder n elementer, hvor mange permutasjoner finnes det av dette settet? c) Hva er en k-permutasjon. d) Gitt at et sett inneholder n elementer, hvor mange k-permutasjoner finnes det av dette settet? Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.124/141
125 Heuristiske søkemetoder I: Øvingsoppgaver Oppgave 4: Grafer. a) Hvordan er en graf definert? Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.125/141
126 Heuristiske søkemetoder I: Øvingsoppgaver Oppgave 4 fortsatt: Grafer. a) Gitt grafen G definert ved (ν,ε) der: og: ν = {a,k,c,v,b} ε = {{a,k},{a,c},{a,v}, {k,c},{b,c},{b,k}, {v,c}} Hvordan ser denne grafen ut? Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.126/141
127 Heuristiske søkemetoder I: Øvingsoppgaver Oppgave 4 fortsatt: Grafer. a) Er grafen i forrige slide komplett komplett? b) Hvilken grad har noden a? Er denne grafen regulær? c) Finnes det noen Hamilton-syklus i denne grafen. I så fall hvilken? Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.127/141
128 Heuristiske søkemetoder I: Øvingsoppgaver Oppgave 5: Grafer. a) Hva er en klikk? b) Hva er de maksimale klikkene i grafen definert i oppgave 4? Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.128/141
129 Heuristiske søkemetoder I: Øvingsoppgaver Oppgave 6: Heuristiske søkemetoder, generelt a) Hva er en heuristisk søkemetode? b) Hvorfor benyttes heuristiske søkemetoder? c) Hva er en nabolagsfunksjon? d) Gi eksempler på nabolagsfunksjoner? Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.129/141
130 Heuristiske søkemetoder I: Øvingsoppgaver Oppgave 7: Heuristiske søkemetoder, generelt a) Hvordan gjennomføres et nabolagssøk? Utdyp dette med å gi eksempler på nabolag søkestrategier. b) Gi pseudokode for en generell heuristisk søkealgoritme. Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.130/141
131 Heuristiske søkemetoder I: Øvingsoppgaver Oppgave 8: Heuristiske søkemetoder, designstrategier. a) Gi eksempler på designstrategier for heuristiske søkemetoder. Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.131/141
132 Heuristiske søkemetoder II: Øvingsoppgaver Oppgave 9: Heuristiske søkemetoder, fjellklatring. a) Fjell-klatring ( hill-climbing ) er en enkel heuristiske søkemetode. Hva består denne strategien i? b) Gi pseudokode for en algoritme som implementerer fjell-klatring. c) Hvilke fordeler og ulemper har denne strategien? Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.132/141
133 Heuristiske søkemetoder II: Øvingsoppgaver Oppgave 10: Heuristiske søkemetoder, simulert størkning. a) Hva består simulert størkning ( simulated annealing ) strategien i? b) Gi pseudokode for en algoritme som implementerer simulert størkning. c) Hvilke fordeler og ulemper har denne strategien? Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.133/141
134 Heuristiske søkemetoder II: Øvingsoppgaver Oppgave 11: Heuristiske søkemetoder, simulert størkning. a) Hva er en nedkjølingsprosedyre? b) Anta en geometrisk nedkjølingsprosedyre av typen: T n = αt n 1 Hva er viktig ved valg av antall iterasjoner, initialtemperatur T 0 og α? Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.134/141
135 Heuristiske søkemetoder II: Øvingsoppgaver Oppgave 11 fortsatt: Heuristiske søkemetoder, simulert størkning. a) Hvordan er det såkalte reisende handelsmann ( travelling salesman ) problemet definert? b) Hvorfor brukes primært heuristiske søkemetoder for å løse dette problemet? Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.135/141
136 Heuristiske søkemetoder II: Øvingsoppgaver Oppgave 12: Heuristiske søkemetoder, tabu-søk. a) Hva består tabu-søk ( tabu search ) strategien i? b) Gi pseudokode for en algoritme som implementerer tabu-søk. c) Hvilke fordeler og ulemper har denne strategien? Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.136/141
137 Heuristiske søkemetoder II: Øvingsoppgaver Oppgave 13: Heuristiske søkemetoder, en liten utfordring. a) På adressen finner dere definisjonen av et 50-byers reisende handelsmann problem. Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.137/141
138 Heuristiske søkemetoder II: Øvingsoppgaver Oppgave 13 fortsatt: Heuristiske søkemetoder, en liten utfordring. a) Byene er fordelt i planet med x- ogy -koordinater i intervallet [0, 1]. b) Benytt euklidsk avstand som avstandsmål mellom byene. c) Hvem finner den korteste syklusen mellom disse byene? Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.138/141
139 Heuristiske søkemetoder II: Øvingsoppgaver Oppgave 13 fortsatt: Heuristiske søkemetoder, en liten utfordring. a) NB: Ikke prøv uttømmende søk, det finnes 50! mulige løsninger. b) NB: Vær snill med systemene. Start tunge beregninger på tidspunkt da ikke alle andre opplever heng. Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.139/141
140 Heuristiske søkemetoder II: Øvingsoppgaver Oppgave 14: Heuristiske søkemetoder, nok en utfordring. a) Ved ordinær eksamen i 2001 ble det stilt spørsmål om søkemetoder for det såkalte maks-klikk problemet. Problemet er en variant av alle-klikker problemet som består i å finne den største klikken i en graf (det vil si den klikken med flest noder, evt. med størst kardinalitet). b) Også dette problemet er NP-komplett. Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.140/141
141 Heuristiske søkemetoder II: Øvingsoppgaver Oppgave 14 fortsatt: Heuristiske søkemetoder, nok en utfordring. a) På adressen finner dere definisjonen av en 50 noders graf. b) Hvem finner den største klikken i denne grafen? c) Ved ordinær eksamen i 2001 ba vi om løsninger basert på simulert størkning. d) NB: Vær snill med systemene. Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.141/141
Heuristiske søkemetoder II
Heuristiske søkemetoder II Lars Aurdal Intervensjonssenteret Lars.Aurdal@labmed.uio.no 4. september 23 Plan Hva er en heuristisk søkealgoritme? Hvorfor heuristiske søkealgoritmer framfor tilbakenøsting?
DetaljerHeuristiske søkemetoder I
Heuristiske søkemetoder I Lars Aurdal Intervensjonssenteret Lars.Aurdal@labmed.uio.no 14. september 2003 Plan Hva slags søkemetoder snakker vi om? Kombinatoriske strukturer. Sett. Lister. Grafer. Søkealgoritmer
DetaljerLøsningsforslag: Deloppgave om heuristiske søkemetoder ALGKON 2001, ordinær eksamen
Løsningsforslag: Deloppgave om heuristiske søkemetoder ALGKON 21, ordinær eksamen 14. september 23 Innledning En klikk i en graf G er en komplett subgraf av G. Det såkalte maksimum-klikk problemet består
DetaljerLøsningsforslag: Deloppgave om heuristiske søkemetoder, ALGKON 2003, ordinær eksamen
Løsningsforslag: Deloppgave om heuristiske søkemetoder, ALGKON 2003, ordinær eksamen 14. september 2003 Deloppgave a 50-års jubileet for simulert størkning: I juni 1953 publiserte fire amerikanske fysikere,
DetaljerLøsningsforslag: Deloppgave om heuristiske søkemetoder ALGKON 2002, ordinær eksamen
Løsningsforslag: Deloppgave om heuristiske søkemetoder ALGKON 00, ordinær eksamen 1. september 003 Innledning Vi skal betrakte det såkalte grafdelingsproblemet (graph partitioning problem). Problemet kan
DetaljerLøsningsforslag: Deloppgave om heuristiske søkemetoder ALGKON 2002, kontinuasjonseksamen
Løsningsforslag: Deloppgave om heuristiske søkemetoder ALGKON 2002, kontinuasjonseksamen 14. september 2003 Innledning Vi skal betrakte det såkalte maksimum-kutt problemet (maximum cut problem). Problemet
DetaljerLøsningsforslag: Deloppgave om heuristiske søkemetoder, ALGKON 2003, kontinuasjonseksamen
Løsningsforslag: Deloppgave om heuristiske søkemetoder, ALGKON 2003, kontinuasjonseksamen 1. september 2003 Deloppgave a I denne oppgaven skal vi ta for oss isomorfismer mellom grafer. To grafer G og H
DetaljerHeuristiske søkemetoder III
Heuristiske søkemetoder III Lars Aurdal Intervensjonssenteret Lars.Aurdal@labmed.uio.no 14. september 2003 Plan Eksempel: Bildebehandling, segmentering: Hva er segmentering? Klassisk metode, terskling.
DetaljerOversikt. Heuristisk søk 1. Kombinatorisk optimering Lokalt søk og simulert størkning Populasjonsbasert søk. Prinsipper og metoder
Oversikt Heuristisk søk Kombinatorisk optimering Lokalt søk og simulert størkning Populasjonsbasert søk Prinsipper og metoder Pål Sætrom Traveling sales person (TSP) Kombinatorisk optimering Trondheim
DetaljerHeuristisk søk 1. Prinsipper og metoder
Heuristisk søk Prinsipper og metoder Oversikt Kombinatorisk optimering Lokalt søk og simulert størkning Populasjonsbasert søk Traveling sales person (TSP) Tromsø Bergen Stavanger Trondheim Oppdal Oslo
DetaljerHeuristiske søkemetoder II: Simulert størkning og tabu-søk
Heuristiske søkemetoder II: Simulert størkning og tabu-søk Lars Aurdal Norsk regnesentral lars@aurdalweb.com Heuristiske søkemetoder II:Simulert størkning ogtabu-søk p.1/141 Hva er tema for disse forelesningene?
DetaljerMAT1030 Diskret matematikk
MAT1030 Diskret matematikk Plenumsregning 3: Ukeoppgaver fra kapittel 2 & 3 Roger Antonsen Matematisk Institutt, Universitetet i Oslo 31. januar 2008 Oppgave 2.7 - Horners metode (a) 7216 8 : 7 8+2 58
DetaljerIN2010: Forelesning 11. Kombinatorisk søking Beregnbarhet og kompleksitet
IN2010: Forelesning 11 Kombinatorisk søking Beregnbarhet og kompleksitet KOMBINATORISK SØKING Oversikt Generering av permutasjoner Lett: Sekvens-generering Vanskelig: Alle tallene må være forskjellige
DetaljerMAT1030 Plenumsregning 3
MAT1030 Plenumsregning 3 Ukeoppgaver Mathias Barra - 30. januar 2009 (Sist oppdatert: 2009-02-02 14:26) Plenumsregning 3 Oppgave 2.7 - Horners metode (a) 7216 8 : 7 8+2 58 8+1 465 8+6 3726. Svar: 3726
DetaljerForelesning 23. Grafteori. Dag Normann april Oppsummering. Oppsummering. Oppsummering. Digresjon: Firefarveproblemet
Forelesning 23 Grafteori Dag Normann - 16. april 2008 Oppsummering En graf består av noder og kanter Kanter ligger inntil noder, og noder kan være naboer. Vi bør kjenne til begrepene om sammenhengende
DetaljerMAT1030 Diskret matematikk
MAT1030 Diskret matematikk Forelesning 23: Grafteori Dag Normann Matematisk Institutt, Universitetet i Oslo 16. april 2008 Oppsummering En graf består av noder og kanter Kanter ligger inntil noder, og
DetaljerOppsummering. MAT1030 Diskret matematikk. Oppsummering. Oppsummering. Forelesning 23: Grafteori
Oppsummering MAT1030 Diskret matematikk Forelesning 23: Grafteori Dag Normann Matematisk Institutt, Universitetet i Oslo 16. april 2008 En graf består av noder og kanter Kanter ligger inntil noder, og
DetaljerLO118D Forelesning 9 (DM)
LO118D Forelesning 9 (DM) Grafteori 26.09.2007 1 Introduksjon 2 Veier og sykler 3 Hamiltonsykler og omreisende handelsmenn Graf, urettet Definisjon En graf (eller urettet graf) G består av en mengde V
DetaljerForelesning 25. MAT1030 Diskret Matematikk. Litt repetisjon. Litt repetisjon. Forelesning 25: Trær. Dag Normann
MAT1030 Diskret Matematikk Forelesning 25: Trær Dag Normann Matematisk Institutt, Universitetet i Oslo Forelesning 25 27. april 2010 (Sist oppdatert: 2010-04-27 14:16) MAT1030 Diskret Matematikk 27. april
DetaljerMAT1030 Diskret Matematikk
MAT1030 Diskret Matematikk Forelesning 25: Trær Dag Normann Matematisk Institutt, Universitetet i Oslo 27. april 2010 (Sist oppdatert: 2010-04-27 14:15) Forelesning 25 MAT1030 Diskret Matematikk 27. april
DetaljerVektede grafer. MAT1030 Diskret matematikk. En kommunegraf. En kommunegraf. Oppgave
MAT1030 Diskret matematikk Forelesning 24: Grafer og trær Dag Normann Matematisk Institutt, Universitetet i Oslo 21. april 2008 Vi har snakket om grafer og trær. Av begreper vi så på var Eulerkretser og
DetaljerTMA4140 Diskret Matematikk Høst 2016
Norges teknisk naturvitenskapelige universitet Institutt for matematiske fag TMA4140 Diskret Matematikk Høst 2016 Seksjon 10.2 18 La G = (V,E) være en enkel graf med V 2. Ettersom G er enkel er de mulige
DetaljerINF1010 notat: Binærsøking og quicksort
INF1010 notat: Binærsøking og quicksort Ragnhild Kobro Runde Februar 2004 I dette notatet skal vi ta for oss ytterligere to eksempler der rekursjon har en naturlig anvendelse, nemlig binærsøking og quicksort.
DetaljerLøsnings forslag i java In115, Våren 1998
Løsnings forslag i java In115, Våren 1998 Oppgave 1 // Inne i en eller annen klasse private char S[]; private int pardybde; private int n; public void lagalle(int i) if (i==n) bruks(); else /* Sjekker
Detaljer!"!#$ INF-MAT Geir Hasle - Leksjon 2 2
Leksjon 2 !"!#$ Kursinformasjon Motivasjon Operasjonsanalyse Kunstig intelligens Optimeringsproblemer (diskrete) Matematisk program COP Definisjon DOP Anvendelser Kompleksitetsteori Eksakte metoder, approksimasjonsmetoder
DetaljerMAT1030 Forelesning 25
MAT1030 Forelesning 25 Trær Dag Normann - 27. april 2010 (Sist oppdatert: 2010-04-27 14:16) Forelesning 25 Litt repetisjon Vi har snakket om grafer og trær. Av begreper vi så på var følgende: Eulerstier
DetaljerMAT1030 Forelesning 24
MAT1030 Forelesning 24 Grafteori og trær Roger Antonsen - 28. april 2009 (Sist oppdatert: 2009-04-28 22:32) Forelesning 24 Oppsummering En graf består av noder og kanter Kanter ligger inntil noder, og
DetaljerForelesning 24. Grafer og trær. Dag Normann april Vektede grafer. En kommunegraf
Forelesning 24 Grafer og trær Dag Normann - 21. april 2008 Vi har snakket om grafer og trær. Av begreper vi så på var Eulerkretser og Eulerstier Hamiltonkretser Minimale utspennende trær. Vi skal nå se
DetaljerKompleksitetsteori reduksjoner
Kompleksitetsteori reduksjoner En slags liten oversikt, eller huskeliste, for kompleksitetsteorien i INF 4130. Ikke ment å være verken fullstendig eller detaljert, men kanskje egnet til å gi noen knagger
DetaljerMAT1030 Forelesning 25
MAT1030 Forelesning 25 Trær Roger Antonsen - 29. april 2009 (Sist oppdatert: 2009-04-29 00:28) Forelesning 25 Litt repetisjon Vi har snakket om grafer og trær. Av begreper vi så på var følgende. Eulerstier
DetaljerGrafteori. MAT1030 Diskret Matematikk. Oppsummering. Oppsummering. Forelesning 24: Grafer og trær. Dag Normann
MAT1030 Diskret Matematikk Forelesning 24: Grafer og trær Dag Normann Matematisk Institutt, Universitetet i Oslo Grafteori 21. april 2010 (Sist oppdatert: 2010-04-21 12:55) MAT1030 Diskret Matematikk 21.
DetaljerGrunnleggende Grafteori
Grunnleggende Grafteori 2. September, 2019 Institutt for Informatikk 1 Dagens plan Terminologi og definisjoner Hvordan representere grafer i datamaskinen Traversering Dybde-først-søk Bredde-først-søk Topologisk
DetaljerRepetisjon og mer motivasjon. MAT1030 Diskret matematikk. Repetisjon og mer motivasjon
Repetisjon og mer motivasjon MAT030 Diskret matematikk Forelesning 22: Grafteori Roger Antonsen Matematisk Institutt, Universitetet i Oslo 4. april 2008 Først litt repetisjon En graf består av noder og
DetaljerForelesning 25. MAT1030 Diskret Matematikk. Litt repetisjon. Litt repetisjon. Forelesning 25: Trær. Roger Antonsen
MAT1030 Diskret Matematikk Forelesning 25: Trær Roger Antonsen Institutt for informatikk, Universitetet i Oslo Forelesning 25 29. april 2009 (Sist oppdatert: 2009-04-29 00:28) MAT1030 Diskret Matematikk
DetaljerForelesning 30: Kompleksitetsteori
MAT1030 Diskret Matematikk Forelesning 30: Kompleksitetsteori Roger Antonsen Institutt for informatikk, Universitetet i Oslo Forelesning 30: Kompleksitetsteori 19. mai 2009 (Sist oppdatert: 2009-05-19
DetaljerMAT1030 Diskret matematikk
MAT1030 Diskret matematikk Forelesning 33: Repetisjon Dag Normann Matematisk Institutt, Universitetet i Oslo 26. mai 2008 Innledning Onsdag 21/5 gjorde vi oss ferdige med det meste av den systematiske
DetaljerInnledning. MAT1030 Diskret matematikk. Kapittel 11. Kapittel 11. Forelesning 33: Repetisjon
Innledning MAT1030 Diskret matematikk Forelesning 33: Repetisjon Dag Normann Matematisk Institutt, Universitetet i Oslo 26. mai 2008 Onsdag 21/5 gjorde vi oss ferdige med det meste av den systematiske
DetaljerKombinatorikk. MAT1030 Diskret Matematikk. Oppsummering av regneprinsipper
MAT1030 Diskret Matematikk Forelesning 22: Grafteori Dag Normann Matematisk Institutt, Universitetet i Oslo Kombinatorikk 14. april 2010 (Sist oppdatert: 2010-04-14 12:43) MAT1030 Diskret Matematikk 14.
DetaljerMAT1030 Diskret Matematikk
MAT1030 Diskret Matematikk Forelesning 22: Grafteori Dag Normann Matematisk Institutt, Universitetet i Oslo 14. april 2010 (Sist oppdatert: 2010-04-14 12:42) Kombinatorikk MAT1030 Diskret Matematikk 14.
DetaljerMAT1030 Forelesning 22
MAT1030 Forelesning 22 Grafteori Dag Normann - 14. april 2010 (Sist oppdatert: 2010-04-14 12:45) Kombinatorikk Oppsummering av regneprinsipper Ordnet utvalg med repetisjon: n r Ordnet utvalg uten repetisjon:
DetaljerAvsluttende eksamen i TDT4120 Algoritmer og datastrukturer
Avsluttende eksamen i TDT4120 Algoritmer og datastrukturer Eksamensdato 3. desember 2012 Eksamenstid 0900 1300 Sensurdato 3. januar 2013 Språk/målform Bokmål Kontakt under eksamen Magnus Lie Hetland (tlf.
DetaljerNorsk informatikkolympiade runde
Norsk informatikkolympiade 2017 2018 1. runde Sponset av Uke 46, 2017 Tid: 90 minutter Tillatte hjelpemidler: Kun skrivesaker. Det er ikke tillatt med kalkulator eller trykte eller håndskrevne hjelpemidler.
DetaljerPlenumsregning 1. Kapittel 1. Roger Antonsen januar Velkommen til plenumsregning for MAT1030. Repetisjon: Algoritmer og pseudokode
Plenumsregning 1 Kapittel 1 Roger Antonsen - 17. januar 2008 Velkommen til plenumsregning for MAT1030 Torsdager 10:15 12:00 Gjennomgang av ukeoppgaver Gjennomgang av eksempler fra boka Litt repetisjon
DetaljerForelesning 33. Repetisjon. Dag Normann mai Innledning. Kapittel 11
Forelesning 33 Repetisjon Dag Normann - 26. mai 2008 Innledning Onsdag 21/5 gjorde vi oss ferdige med det meste av den systematiske repetisjonen av MAT1030. Det som gjensto var kapitlene 11 om trær og
DetaljerAvsluttende eksamen i TDT4120 Algoritmer og datastrukturer
Avsluttende eksamen i TDT4120 Algoritmer og datastrukturer Eksamensdato 18. august 2011 Eksamenstid 0900 1300 Sensurdato 8. september Språk/målform Bokmål Kontakt under eksamen Magnus Lie Hetland (tlf.
DetaljerMatematisk morfologi III
Matematisk morfologi III Lars Aurdal Norsk regnesentral Lars.Aurdal@nr.no 4. desember 2003 Copyright Lars Aurdal, NTNU/NR Oversikt, kursdag 3 Sammensatte operasjoner: Hit-or-miss-transformen. Skjeletter.
DetaljerMAT1030 Plenumsregning 1
MAT1030 Plenumsregning 1 Kapittel 1 Mathias Barra - 16. januar 2009 (Sist oppdatert: 2009-02-02 14:21) Plenumsregning 1 Velkommen til plenumsregning for MAT1030 Fredager 12:15 14:00 Vi vil gjennomgå utvalgte
DetaljerEksamensoppgave i TDT4120 Algoritmer og datastrukturer
Eksamensoppgave i TDT4120 Algoritmer og datastrukturer Faglig kontakt under eksamen Magnus Lie Hetland Tlf. 91851949 Eksamensdato 7. desember 2013 Eksamenstid (fra til) 0900 1300 Hjelpemiddelkode Målform/språk
DetaljerTDT4105 Informasjonsteknologi, grunnkurs
1 TDT4105 Informasjonsteknologi, grunnkurs Matlab: Sortering og søking Anders Christensen (anders@idi.ntnu.no) Rune Sætre (satre@idi.ntnu.no) TDT4105 IT Grunnkurs 2 Pensum Matlab-boka: 12.3 og 12.5 Stoffet
DetaljerOppgave 3 a. Antagelser i oppgaveteksten. INF1020 Algoritmer og datastrukturer. Oppgave 3. Eksempelgraf
Oppgave 3 3 a IN1020 Algoritmer og datastrukturer orelesning 15: Gjennomgang av eksamen vår 2001 oppgave 3 Arild Waaler Institutt for informatikk, Universitetet i Oslo 11. desember 2006 Oppgave 3 a. Antagelser
DetaljerAvsluttende eksamen i TDT4125 Algoritmekonstruksjon, videregående kurs
TDT4125 2010-06-03 Kand-nr: 1/5 Avsluttende eksamen i TDT4125 Algoritmekonstruksjon, videregående kurs Eksamensdato 3. juni 2010 Eksamenstid 0900 1300 Sensurdato 24. juni Språk/målform Bokmål Kontakt under
DetaljerForelesning 14. Rekursjon og induksjon. Dag Normann februar Oppsummering. Oppsummering. Beregnbare funksjoner
Forelesning 14 og induksjon Dag Normann - 27. februar 2008 Oppsummering Mandag repeterte vi en del om relasjoner, da spesielt om ekvivalensrelasjoner og partielle ordninger. Vi snakket videre om funksjoner.
DetaljerMAT1030 Forelesning 22
MAT1030 Forelesning 22 Grafteori Roger Antonsen - 21. april 2009 (Sist oppdatert: 2009-04-21 15:13) Introduksjon Introduksjon Vi skal nå over til kapittel 10 & grafteori. Grafer fins overalt rundt oss!
DetaljerOppgave 1. Sekvenser (20%)
Det matematisk-naturvitenskapelige fakultet UNIVERSITETET I BERGEN Eksamen i emnet I 20 - Algoritmer, datastrukturer og programmering Mandag 2.Mai 200, kl. 09-5. Ingen hjelpemidler tillatt. Oppgavesettet
DetaljerAlgoritmer og Datastrukturer IAI 21899
Eksamen i Algoritmer og Datastrukturer IAI 21899 Høgskolen i Østfold Avdeling for informatikk og automatisering Torsdag 30. november 2000, kl. 09.00-14.00 LØSNINGSFORSLAG 1 Del 1, Binære søketrær Totalt
DetaljerMAT1030 Diskret Matematikk
MAT1030 Diskret Matematikk Plenumsregning 1: Kapittel 1 Mathias Barra Matematisk institutt, Universitetet i Oslo 16. januar 2009 (Sist oppdatert: 2009-02-02 14:21) Plenumsregning 1 MAT1030 Diskret Matematikk
DetaljerIntroduksjon. MAT1030 Diskret matematikk. Søkealgoritmer for grafer. En graf
Introduksjon MAT13 Diskret matematikk Forelesning 21: Grafteori Roger Antonsen Matematisk Institutt, Universitetet i Oslo 9. april 28 Vi skal nå over til kapittel 1 & grafteori. Grafer fins overalt rundt
DetaljerMAT1030 Diskret matematikk
MAT1030 Diskret matematikk Forelesning 21: Grafteori Roger Antonsen Matematisk Institutt, Universitetet i Oslo 9. april 2008 Introduksjon Vi skal nå over til kapittel 10 & grafteori. Grafer fins overalt
DetaljerIntroduksjon. MAT1030 Diskret Matematikk. Introduksjon. En graf. Forelesning 22: Grafteori. Roger Antonsen
MAT1030 Diskret Matematikk Forelesning 22: Grafteori Roger Antonsen Institutt for informatikk, Universitetet i Oslo Introduksjon 21. april 2009 (Sist oppdatert: 2009-04-21 15:13) MAT1030 Diskret Matematikk
DetaljerNotat for oblig 2, INF3/4130 h07
Notat for oblig 2, INF3/4130 h07 Dag Sverre Seljebotn 15. oktober 2007 Jeg har skrivd et noe langt notat for oblig 2 som interesserte kan se på. Merk at dette er kun for å gi et par tips (for oppgave 3
DetaljerMAT1030 Diskret matematikk
MAT1030 Diskret matematikk Forelesning 14: Rekursjon og induksjon Dag Normann Matematisk Institutt, Universitetet i Oslo 27. februar 2008 Oppsummering Mandag repeterte vi en del om relasjoner, da spesielt
DetaljerGrådige algoritmer. Lars Vidar Magnusson Kapittel 16. Aktivitetvelgingsproblemet Huffmankoder
Grådige Algoritmer Lars Vidar Magnusson 12.3.2014 Kapittel 16 Grådige algoritmer Aktivitetvelgingsproblemet Huffmankoder Ideen bak Grådige Algoritmer Ideen bak grådige algoritmer er å løse optimaliseringsproblem
DetaljerMAT1030 Diskret matematikk
MAT1030 Diskret matematikk Plenumsregning 1: Kapittel 1 Roger Antonsen Matematisk Institutt, Universitetet i Oslo 17. januar 2008 Velkommen til plenumsregning for MAT1030 Torsdager 10:15 12:00 Gjennomgang
DetaljerKONTROLLSTRUKTURER. MAT1030 Diskret matematikk. Kontrollstrukturer. Kontrollstrukturer. Eksempel (Ubegrenset while-løkke)
KONTROLLSTRUKTURER MAT1030 Diskret matematikk Forelesning 2: Flere pseudokoder. Representasjoner av tall. Dag Normann Matematisk Institutt, Universitetet i Oslo 16. januar 2008 Mandag innførte vi pseudokoder
DetaljerMAT1030 Diskret matematikk
Oppgave 1.1 MAT1030 Diskret matematikk Plenumsregning 2: Ukeoppgaver fra kapittel 1 & 2 Roger Antonsen Matematisk Institutt, Universitetet i Oslo 24. januar 2008 Modifiser algoritmen fra 1.2.1 slik at
DetaljerEksamen iin115, 14. mai 1998 Side 2 Oppgave 1 15 % Du skal skrive en prosedyre lagalle som i en global character array S(1:n) genererer alle sekvenser
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i IN 115 Algoritmer og datastrukturer Eksamensdag: 14. mai 1998 Tid for eksamen: 9.00 15.00 Oppgavesettet er på 8 sider. Vedlegg:
DetaljerForelesning 2. Flere pseudokoder. Representasjoner av tall. Dag Normann januar 2008 KONTROLLSTRUKTURER. Kontrollstrukturer. Kontrollstrukturer
Forelesning 2 Flere pseudokoder. Representasjoner av tall. Dag Normann - 16. januar 2008 KONTROLLSTRUKTURER Mandag innførte vi pseudokoder og kontrollstrukturer. Vi hadde tre typer grunn-instruksjoner:
DetaljerMAT1030 Diskret matematikk
MAT1030 Diskret matematikk Plenumsregning 2: Ukeoppgaver fra kapittel 1 & 2 Roger Antonsen Matematisk Institutt, Universitetet i Oslo 24. januar 2008 Oppgave 1.1 Modifiser algoritmen fra 1.2.1 slik at
DetaljerMAT1030 Diskret Matematikk
MAT1030 Diskret Matematikk Forelesning 29: Kompleksitetsteori Roger Antonsen Institutt for informatikk, Universitetet i Oslo 13. mai 2009 (Sist oppdatert: 2009-05-17 22:38) Forelesning 29: Kompleksitetsteori
DetaljerForelesning 29: Kompleksitetsteori
MAT1030 Diskret Matematikk Forelesning 29: Kompleksitetsteori Roger Antonsen Institutt for informatikk, Universitetet i Oslo Forelesning 29: Kompleksitetsteori 13. mai 2009 (Sist oppdatert: 2009-05-17
DetaljerNorsk informatikkolympiade runde. Sponset av. Uke 46, 2017
Norsk informatikkolympiade 2017 2018 1. runde Sponset av Uke 46, 2017 Tid: 90 minutter Tillatte hjelpemidler: Kun skrivesaker. Det er ikke tillatt med kalkulator eller trykte eller håndskrevne hjelpemidler.
DetaljerVelkommen til plenumsregning for MAT1030. MAT1030 Diskret matematikk. Repetisjon: Algoritmer og pseudokode. Eksempel fra boka. Eksempel
Velkommen til plenumsregning for MAT1030 MAT1030 Diskret matematikk Plenumsregning 1: Kapittel 1 Roger Antonsen Matematisk Institutt, Universitetet i Oslo 17. januar 2008 Torsdager 10:15 12:00 Gjennomgang
DetaljerGrunnleggende Grafalgoritmer II
Grunnleggende Grafalgoritmer II Lars Vidar Magnusson March 17, 2015 Kapittel 22 Dybde-først søk Topologisk sortering Relasjonen til backtracking Dybde-Først Søk Dybde-først søk i motsetning til et bredde-først
DetaljerKap 9 Tre Sist oppdatert 15.03
Kap 9 Tre Sist oppdatert 15.03 Definere et tre som en datastruktur. Definere begreper knyttet til tre. Diskutere mulige implementasjoner av tre Analysere implementasjoner av tre som samlinger. Diskutere
DetaljerINF-MAT-5380
INF-MAT-5380 http://www.uio.no/studier/emner/matnat/ifi/inf-mat5380/ Leksjon 2 Leksjon 1: Oppsummering Kursinformasjon Motivasjon Operasjonsanalyse Kunstig intelligens Optimeringsproblemer (diskrete) Matematisk
DetaljerMAT1030 Forelesning 2
MAT1030 Forelesning 2 Kontrollstrukturer, tallsystemer, basis Dag Normann - 20. januar 2010 (Sist oppdatert: 2010-01-20 12:31) Kapittel 1: Algoritmer (fortsettelse) Kontrollstrukturer I går innførte vi
DetaljerALGORITMER OG DATASTRUKTURER
Stud. nr: Side 1 av 6 NTNU Norges teknisk-naturvitenskapelige universitet BOKMÅL Fakultet for informasjonsteknologi matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap AVSLUTTENDE
DetaljerUNIVERSITETET I OSLO
Eksamen i UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamensdag: 14. desember 2015 Tid for eksamen: 14.30 18.30 Oppgavesettet er på 6 sider. Vedlegg: Tillatte hjelpemidler: INF2220
DetaljerObligatorisk oppgavesett 1 MAT1120 H16
Obligatorisk oppgavesett MAT0 H6 Innleveringsfrist: torsdag /09 06, innen kl 4.30. Besvarelsen leveres på Matematisk institutt, 7. etasje i N.H. Abels hus. Husk å bruke forsiden som du finner via hjemmesiden.
DetaljerNy/utsatt EKSAMEN. Dato: 6. januar 2017 Eksamenstid: 09:00 13:00
Ny/utsatt EKSAMEN Emnekode: ITF20006 Emne: Algoritmer og datastrukturer Dato: 6. januar 2017 Eksamenstid: 09:00 13:00 Hjelpemidler: Alle trykte og skrevne Faglærer: Jan Høiberg Om eksamensoppgavene: Oppgavesettet
DetaljerMAT1030 Diskret Matematikk
MAT1030 Diskret Matematikk Forelesning 2: Kontrollstrukturer, tallsystemer, basis Roger Antonsen Institutt for informatikk, Universitetet i Oslo 14. januar 2009 (Sist oppdatert: 2009-01-14 16:45) Kapittel
DetaljerPython: Løkker. TDT4110 IT Grunnkurs Professor Guttorm Sindre
Python: Løkker TDT4110 IT Grunnkurs Professor Guttorm Sindre Denne uka Vi trenger å Støttes av Hente data fra bruker Vise data til bruker Lagre data i minnet for bruk videre i programmet Fra tastatur:
DetaljerBacktracking som løsningsmetode
Backtracking Backtracking som løsningsmetode Backtracking brukes til å løse problemer der løsningene kan beskrives som en sekvens med steg eller valg Kan enten finne én løsning eller alle løsninger Bygger
DetaljerLøsnings forslag i java In115, Våren 1996
Løsnings forslag i java In115, Våren 1996 Oppgave 1a For å kunne kjøre Warshall-algoritmen, må man ha grafen på nabomatriseform, altså en boolsk matrise B, slik at B[i][j]=true hvis det går en kant fra
DetaljerPlenumsregning 1. MAT1030 Diskret Matematikk. Repetisjon: Algoritmer og pseudokode. Velkommen til plenumsregning for MAT1030
MAT1030 Diskret Matematikk Plenumsregning 1: Kapittel 1 Mathias Barra Matematisk institutt, Universitetet i Oslo Plenumsregning 1 16. januar 2009 (Sist oppdatert: 2009-02-02 14:21) MAT1030 Diskret Matematikk
DetaljerMAT1030 Forelesning 28
MAT1030 Forelesning 28 Kompleksitetsteori Roger Antonsen - 12. mai 2009 (Sist oppdatert: 2009-05-13 08:12) Forelesning 28: Kompleksitetsteori Introduksjon Da er vi klare (?) for siste kapittel, om kompleksitetsteori!
DetaljerKøbenhavn 20 Stockholm
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i IN 115 Algoritmer og datastrukturer Eksamensdag: 26. mai 2001 Tid for eksamen: 9.00 15.00 Oppgavesettet er på 7 sider. Vedlegg:
DetaljerLøsningsforslag: Deloppgave om heuristiske søkemetoder
Løsigsforslag: Deloppgave om heuristiske søkemetoder 6. mai 00 Iledig Vi skal betrakte det såkalte grafdeligsproblemet (graph partitioig problem). Problemet ka ekelt formuleres som følger: Gitt e graf
DetaljerLØSNINGSFORSLAG EKSAMEN V06, MA0301
Norges teknisk naturvitenskapelige universitet Institutt for matematiske fag Side 1 av 7 LØSNINGSFORSLAG EKSAMEN V06, MA0301 Oppgave 1 a) Sett opp en sannhetsverditabell(truth table) for det logiske uttrykket
DetaljerKorteste vei problemet (seksjon 15.3)
Korteste vei problemet (seksjon 15.3) Skal studere et grunnleggende kombinatorisk problem, men først: En (rettet) vandring i en rettet graf D = (V, E) er en følge P = (v 0, e 1, v 1, e 2,..., e k, v k
DetaljerNorsk informatikkolympiade runde. Sponset av. Uke 46, 2016
Norsk informatikkolympiade 2016 2017 1. runde Sponset av Uke 46, 2016 Tid: 90 minutter Tillatte hjelpemidler: Kun skrivesaker. Det er ikke tillatt med kalkulator eller trykte eller håndskrevne hjelpemidler.
DetaljerOppsummering fra sist
1 av 34 Kunnskap for en bedre verden TDT4110 Informasjonsteknologi grunnkurs: Tema: Løkker/Sløyfer Utgave 3: Kap. 4 Terje Rydland - IDI/NTNU 2 av 34 Oppsummering fra sist Betingelser i Python: ,
DetaljerGo with the. Niende forelesning. Mye matematikk i boka her ikke så komplisert, men mye å holde styr på.
Go with the Niende forelesning Mye matematikk i boka her ikke så komplisert, men mye å holde styr på. Fokuserer på de viktigste ideene i dagens forelesning, så det forhåpentligvis blir lettere å skjønne
DetaljerKorteste Vei I. Lars Vidar Magnusson 9.4.2014. Kapittel 24 Hvordan finne korteste vei Egenskaper ved korteste vei
Korteste Vei I Lars Vidar Magnusson 9.4.2014 Kapittel 24 Hvordan finne korteste vei Egenskaper ved korteste vei Korteste Vei Problemet I denne forelesningen skal vi se på hvordan vi kan finne korteste
DetaljerLøsningsforslag for eksamen i fag TDT4120 Algoritmer og datastrukturer Tirsdag 9. desember 2003, kl
TDT4120 2003-12-09 Stud.-nr: Antall sider: 1/7 Løsningsforslag for eksamen i fag TDT4120 Algoritmer og datastrukturer Tirsdag 9. desember 2003, kl. 0900 1500 Faglig kontakt under eksamen: Arne Halaas,
DetaljerLØSNINGSFORSLAG, EKSAMEN I ALGORITMER OG DATASTRUKTURER (IT1105)
Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap Side 1 av 8 Faglig kontakt under eksamen: Magnus Lie Hetland LØSNINGSFORSLAG, EKSAMEN I ALGORITMER OG DATASTRUKTURER
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i : INF 110 Algoritmer og datastrukturer Eksamensdag : Lørdag 8. desember 2001 Tid for eksamen : 09.00-15.00 Oppgavesettet er på
DetaljerMAT1030 Diskret Matematikk
MAT1030 Diskret Matematikk Plenumsregning 8: Ukeoppgaver Mathias Barra Matematisk institutt, Universitetet i Oslo 6. mars 2009 (Sist oppdatert: 2009-03-06 19:11) Oppgave 5.9 La A = {a, b, c} og B = {p,
DetaljerMAT Oblig 1. Halvard Sutterud. 22. september 2016
MAT1110 - Oblig 1 Halvard Sutterud 22. september 2016 Sammendrag I dette prosjektet skal vi se på anvendelsen av lineær algebra til å generere rangeringer av nettsider i et web basert på antall hyperlinker
DetaljerGrafteori. MAT1030 Diskret Matematikk. Repetisjon og mer motivasjon. Repetisjon og mer motivasjon. Forelesning 23: Grafteori.
MAT030 Diskret Matematikk Forelesning 23: Grafteori Dag Normann Matematisk Institutt, Universitetet i Oslo Grafteori 20. april 200 (Sist oppdatert: 200-04-20 4:8) MAT030 Diskret Matematikk 20. april 200
Detaljer