!"# $%&' P NP NP \ P. Finnes overalt. Er som regel ikke effektivt løsbare. Eksempler på NP-harde problemer

Størrelse: px
Begynne med side:

Download "!"# $%&' P NP NP \ P. Finnes overalt. Er som regel ikke effektivt løsbare. Eksempler på NP-harde problemer"

Transkript

1 Leksjon 8

2 !"# $%&' Finnes overalt operasjonsanalyse kunstig intelligens mønstergjenkjenning geometri Er som regel ikke effektivt løsbare kompleksitetsteori P NP NP \ P NP-harde problemer vi kan antakelig ikke finne polynomielle eksakte algoritmer Eksempler på NP-harde problemer TSP Ryggsekkproblemet INF-MAT Geir Hasle - Leksjon 8 2

3 () "* %& )+ Et sett med beslutningsvariable Hver (eller noen) med diskrete domener En målfunksjon skal minimeres eller maksimeres objektiv, kostnadsfunksjon Føringer begrenser mengden av tillatte løsninger a.k.a. beskrankninger a.k.a. Kombinatorisk optimeringsproblem INF-MAT Geir Hasle - Leksjon 8 3

4 %&#! Matematisk program LP MIP, IP, PIP viktig spesialtilfelle Constrained Optimization Problem CSP + objektiv Generell, kompakt formulering INF-MAT Geir Hasle - Leksjon 8 4

5 %!"# #! Beslutningsvariable med domener Målfunksjon Føringer (beskrankninger) Matematisk program f ( x1 xn ) ( 1 n ) ( ) min,, f x,, x = 0 j = 1,, k j g x,, x 0 j = 1,, l j 1 x R i = 1,, n i n Generell, abstrakt formulering DOP min x S f ( x) INF-MAT Geir Hasle - Leksjon 8 5

6 ,- ##!! n j= 1 j n max ζ = c x slik at j= 1 j ij j i j a x b i = 1,,m x 0 j = 1,, n n j= 1 j i n max ζ = c x slik at x j= 1 j ij j i j a x b i = 1,,m 0 j = 1,, n { n} + x i I 1,, Blandete heltallsprogrammer (Mixed Integer Programs MIP) Rene heltallsprogrammer (Pure Integer Programs IP, PIP) 0-1 programmer { } i I 1,,n { } i I = 1,,n i { } x 0,1 INF-MAT Geir Hasle - Leksjon 8 6

7 $,-' (##!! Mange oppgaver i den virkelige verden kan modelleres som LP med heltallighetsføringer Diskrete valg, sekvensering, kombinatorikk, logikk Tids- og ressursplanlegging, operasjonsanalyse LP med heltallsføringer kalles Heltallsprogrammer Heltallsprogrammer er generelt langt vanskeligere å løse beregningsmessig enn ordinære LP Ofte øker regnetiden til eksakte metoder eksponensielt med størrelsen av problemet Men ikke alltid... INF-MAT Geir Hasle - Leksjon 8 7

8 . / %!"# Et Diskret (kombinatorisk) OptimeringsProblem (DOP) er enten et minimerings- eller maksimeringsproblem spesifiseres av et sett probleminstanser Eksempler TSP min f x ( ) Ryggsekkproblemet Graffarging x S... INF-MAT Geir Hasle - Leksjon 8 8

9 . /%& En DOP-instans er et par ( S,f ) der S = { s} er mengden av tillatte (interessante) løsninger og f :S R er kostnadsfunksjonen. Målet er å finne en globalt optimal * * løsning: s S: f (s ) f (s), s S * f * = f (s ) (globalt) optimal kostnad * S { * = s S: f (s) = f } (globalt) optimale løsninger INF-MAT Geir Hasle - Leksjon 8 9

10 0 %&. S er sjelden gitt eksplisitt S ofte delmengde av brukbare løsninger i større rom av mulige løsninger (s,f(s)) sjelden gitt eksplisitt ofte kompakt representasjon av instans (kandidat)løsning ofte gitt ved verdier på beslutningsvariable (x 1,v 1 ),..., (x n,v n ) (valuering x v) ofte polynomielle algoritmer for å sjekke brukbarhet (medlemskap i S) og kostnad/verdi for kandidatløsninger INF-MAT Geir Hasle - Leksjon 8 10

11 1# 2 1 3& 3 byer: 1, 2,3 ( S, f ) 17 { } { } S = (1,2,3),(1,3,2),(2,1,3),(2,3,1),(3,1,2),(3,2,1) s,,s f (s ) = = 20 min f ( s) s S 1 f (s ) = = INF-MAT Geir Hasle - Leksjon

12 #) %&. 4%5&"# $4%&' Gitt x = x,, x ( ) 1 n ( ) ( ) { } { } 1 n = 11 1k n1 nk D = D,,D v, v,, v, v f : D D R 1 n { } 1 i = = (k) (k) (k) C c,,c, k 1, n c D ( k ) D ( k ) j πj min f (x v) slik at v c, j = 1, i, k (k) j π (1) (k) (k) j k k 1 n INF-MAT Geir Hasle - Leksjon 8 12

13 ,6! %& Eksakte metoder generer og test, eksplisitt enumrering matematisk programmering implisitt enumrering Approksimasjonsmetoder med garantier heuristikker INF-MAT Geir Hasle - Leksjon 8 13

14 1 %& DOP har ofte et endelig antall løsninger Eksakte metoder garanterer å finne optimal løsning Responstid? Eksakte metoder er gode for begrenset problemstørrelse kanskje gode for de instanser som er aktuelle ofte grunnlag for approksimasjonsmetoder ofte gode for forenklete problemer INF-MAT Geir Hasle - Leksjon 8 14

15 ). #6! %& Kompleksitetsteori, NP-komplette problemer Kompleksitetsteori ser på beslutningsproblemer Nær sammenheng mellom beslutningsproblem og optimeringsproblem Optimering minst like hardt som beslutning NP-komplett beslutningsproblem -> NP-hardt optimeringsproblem For NP-harde DOP fins antakelig ikke eksakt metode der regnetiden er begrenset av polynom Ulike valg eksakt metode (enumerativ) approksimasjonsmetode (polynomisk tid) heuristisk metode (ingen a priori garanti) NB! Ikke alle DOP er NP-harde! INF-MAT Geir Hasle - Leksjon 8 15

16 7 ). I den virkelige verden: som oftest krav til respons er optimering kun ett aspekt utelukker ofte problemstørrelse og responskrav eksakt optimeringsmetode p.g.a. beregningskompleksitet Heuristiske metoder robust valg I den virkelige verden trengs ofte ikke den optimale løsning Mennesker er ikke optimerere men tilfredsstillere (satisficers) Herb Simon Eksakte metoder kan være bedre valg Kulturer matematikere vs. pragmatikere/ingeniører OR vs. AI INF-MAT Geir Hasle - Leksjon 8 16

17 ( En teknikk som forbedrer effektiviteten til en søkeprosess, oftest ved å ofre kompletthet Garantier for løsningskvalitet vs. tid kan sjelden gis Generelle heuristikker (f. eks. i Branch & Bound for IP) Spesielle heuristikker utnytter kunnskap om problemet Begrep innført i How to solve it [Polya 1957]. Guide for løsning av matematiske problemer INF-MAT Geir Hasle - Leksjon 8 17

18 ,#6 %& Heuristisk metode Iterativ metode Små endringer av gitt løsning Ingredienser: Nabolag Søkestrategi Initiell løsning Stoppkriterium INF-MAT Geir Hasle - Leksjon 8 18

19 8 #6!9 ) " #6!+ Modifikasjon av gitt løsning gir naboløsning En viss type operasjon på løsningen gir et sett med naboer, et nabolag Evaluering av naboer objektfunksjon tillatt? INF-MAT Geir Hasle - Leksjon 8 19

20 1# 3& Operator: 2-opt Hvor mange naboer? INF-MAT Geir Hasle - Leksjon 8 20

21 1# :;!! Verdi Størrelse Anta vi ser på løsning verdi 73 Naturlig operator: Flip en bit, dvs. hvis artikkelen er i ryggsekken, ta den ut hvis artikkelen ikke er i ryggsekken, ta den med Noen naboer: verdi verdi 152, ikke tillatt verdi 47 INF-MAT Geir Hasle - Leksjon 8 21

22 . "#! La (S,f) være en DOP-instans. En nabolagsfunksjon er en avbildning N : S 2 S som for gitt løsning s S definerer et nabolag av løsninger N( s) som på et vis er i nærheten av t N( s) sies å være nabo til s S s INF-MAT Geir Hasle - Leksjon 8 22

23 "#! Oftest defineres nabolagene ved en gitt type operasjon på løsningen Oftest enkle operasjoner fjerning av element tillegg av element bytte av to eller flere elementer i løsning Flere nabolag - kvalifiseres med operator N σ ( s), σ Σ INF-MAT Geir Hasle - Leksjon 8 23

24 ,#6$"#!6' Utgangspunkt i initiell løsning Iterativt søk i nabolag etter bedre løsning Sekvens av løsninger sk + 1 Nσ( sk ), k = 0, Strategi for hvilken løsning i nabolaget som aksepteres som neste løsning Stoppkriterier Hva skjer når nabolaget ikke inneholder bedre løsning? INF-MAT Geir Hasle - Leksjon 8 24

25 .,# La (S,f) være en DOP-instans og la N være en nabolagsfunksjon. En løsning er lokalt optimal (minimal) med hensyn på N dersom: f ( sˆ ) f ( t), t N( sˆ ) ŝ Vi betegner mengden av lokalt optimale løsninger med Ŝ NB! Lokal optimalitet er relativt til nabolag INF-MAT Geir Hasle - Leksjon 8 25

26 ,#6 <3=< Procedure Local_Search_SD(init_sol,N,f) current:=init_sol new_current:=best_neighbor(current,n,f) while not new_current=current do current:=new_current new_current:= Best_Neighbor(current,N,f) od return current ; Local optimum INF-MAT Geir Hasle - Leksjon 8 26

27 %"). First Accept og Steepest Descent stopper i lokale optima Dersom nabolaget N er eksakt, er lokalsøk med disse strategiene (eksakte) optimeringsalgoritmer Lokalsøk kan betraktes som traversering i en rettet graf ( nabolagsgrafen ), der nodene er medlemmene i S og N definerer topologien (nodene merket med kostnad) og f definerer topografien INF-MAT Geir Hasle - Leksjon 8 27

28 ,#6 )! ) "#!! sk + 1 Nσ( sk ), k = 0, N σ ( s ) 0 N σ ( s ) 1 s 1 s 1 s 0 s 0 s 1 s 2 Et flytt er prosessen å velge en gitt løsning i nabolaget til nåværende løsning som nåværende løsning for neste iterasjon INF-MAT Geir Hasle - Leksjon 8 28

29 ,#!!#"# Kostnad Løsningsrom INF-MAT Geir Hasle - Leksjon 8 29

30 ># ##,3 #!! Restart av lokalsøk fra andre løsninger Tillate flytt til dårligere løsninger deterministisk probabilistisk Minne hvilke løsninger er besøkt før? unngå å besøke dem igjen Variere mellom ulike nabolag INF-MAT Geir Hasle - Leksjon 8 30

31 $8# ' søkestrategier for å unnslippe lokale optima introdusert tidlig 80-tallet betydelig suksess i løsning av DOP analogier fra fysikk, biologi, menneskelige hjerne, menneskelig problemløsning mange varianter INF-MAT Geir Hasle - Leksjon 8 31

32 Simulated Annealing (SA, simulert størkning) Threshold Accepting (TA, terskelakseptanse) Genetic Algorithms (GA, genetiske algoritmer) Memetic Algorithms (MA, memetiske algoritmer) Evolutionary Algorithms (EA, Evolusjonære algoritmer) Differential Evolution (DE, differensiell evolusjon) Ant Colony Optimization (ACO, maurkolonioptimering) Scatter Search (SS, spredningssøk) Path Relinking (PR,?) Tabu Search (TS, tabusøk) Guided Local Search (GLS, styrt lokalsøk) Greedy Randomized Adaptive Search (GRASP,?) Iterated Local Search (ILS, iterert lokalsøk) Variable Neighborhood Descent / Search (VND/VNS, variabelt nabolagsnedstigning / søk) Neural Networks (NN, nevrale nett) INF-MAT Geir Hasle - Leksjon 8 32

33 <.< ) $ # %? 0#;' En metaheuristikk er en iterativ genereringsprosess som styrer en underliggende heuristikk ved å kombinere (på en intelligent måte) ulike strategier for å utforske og utnytte søkerom (og læringsstrategier) for å finne nær-optimale løsninger på en effektiv måte INF-MAT Geir Hasle - Leksjon 8 33

34 <.< ) $ # 8#)? 0="!' Løsningsmetoder som benytter interaksjon mellom lokale forbedringsprosedyrer (lokalsøk) og strategier på høyere nivå for å unnslippe lokale optima og sørge for et robust søk i et søkerom INF-MAT Geir Hasle - Leksjon 8 34

35 7 ) ##6 ##! 6 $<: 3=<' Procedure Random_Search(f,N,Stop,initial) begin end current:=incumbent:=initial; while not Stop() do begin end current:=random_solution(n(current)) if f(current) < f(incumbent) then begin end return incumbent Stoppkriterier? incumbent:=current; INF-MAT Geir Hasle - Leksjon 8 35

36 3# 6! $3##!9 3' Inspirert av statistisk termodynamikk (nedkjøling av smeltet materiale) Brukt i optimering i 20 år (Kirkpatrick et al 1983) Bygget på lokalsøk (variant av Random Search/Random Descent) Enkel å implementere Mye litteratur Konvergerer mot globalt optimum under svake antakelser Men som oftest sakte... INF-MAT Geir Hasle - Leksjon 8 36

37 3# 6! $3' Kan uttrykkes som strategi for valg i nabolag i basalt lokalsøk: Procedure Local_Search(N,f,Strategy,Stop_Criterion) */ Strategy = SA incumbent:=current:= Find_Initial_Solution() Repeat (current,incumbent):= Select_SA_Neighbor(f,current,N(current),Stop_Criterion) if f(current)< f(incumbent) then incumbent :=current Until Stop_Criterion() return incumbent INF-MAT Geir Hasle - Leksjon 8 37

38 7#! ) #; 3 Procedure Select_SA_Neighbor (f,current,neighbors,stop_criterion) */ Strategy is Simulated Annealing while not Stop_Criterion() do begin end i:=random_element(neighbors) delta := f(i) - f(current) if delta < 0 or Random(0,1) < exp(-delta/t) then return i INF-MAT Geir Hasle - Leksjon 8 38

39 ) *#! #6! e t Tilfeldig nabolagssøk Lokalsøk (Random Descent) t = t 0 INF-MAT Geir Hasle - Leksjon 8 39

40 3 #; ) 3 Modell: tilstandsoverganger i søkerommet Overgangssannsynligheter [p ij ] mellom løsninger Kun avhengig av i og j: homogen Markovkjede Når alle overgangssannsynligheter er endelige, vil SA-lokalsøket konvergere mot en stasjonær fordeling som er uavhengig av startløsningen. Når temperaturen går mot null vil denne fordelingen gå mot en uniform fordeling over de globale optima. Statistisk garanti for at SA finner globalt optimum I praksis: eksponensiell kjøretid for å garantere optimum INF-MAT Geir Hasle - Leksjon 8 40

41 3 heuristisk approksimasjonsalgoritme oppførsel sterkt avhengig av nedkjølingsplan teori: ønskelig med eksponensielt antall iterasjoner ved hver temperatur i praksis: stort antall iterasjoner, få temperaturer lite antall iterasjoner, mange temperaturer INF-MAT Geir Hasle - Leksjon 8 41

42 3 /<< geometrisk rekke ti+ 1 = ati, i = 0,, K a < 1 ( ) antall repetisjoner kan varieres adaptivitet: variabelt antall trekk før temperaturreduksjon eksperimentering nødvendig INF-MAT Geir Hasle - Leksjon 8 42

43 3 /8# "#! Nedkjølingsplan basert på maksimal forskjell mellom løsninger i nabolag antall repetisjoner ved hver temperatur reduksjonsraten Adaptivt antall repetisjoner flere repetisjoner for lavere temperaturer antall aksepterte flytt, men maksimalgrense Svært lave temperaturer er unødvendig Nedkjølingsrate er viktigere enn nedkjølingsmetode INF-MAT Geir Hasle - Leksjon 8 43

44 3 /.! )# Probabilistisk Endret akseptansesannsynlighet Forenklet kostnadsfunksjon Approksimasjon av eksponensialfunksjon / tabell Få temperaturer Omstart Deterministisk Terskelakseptanse (Threshold Accepting, TA) Record-to-Record Travel Nedkjølingsplan Omstart INF-MAT Geir Hasle - Leksjon 8 44

45 7#! ) #; #==!$' Procedure Select_TA_Neighbor (f,current,neighbors,incumbent,theta1) */ Strategy is Threshold Accepting while true do begin end i:=random_element(neighbors) delta := f(i) - f(current) */ SA: if delta < 0 or Random(0,1) < exp(-delta/t) if delta < theta1 */ Positive Threshold w.r.t. current then return (i, if f(i)< incumbent i then i else incumbent) Problem med denne prosedyren? INF-MAT Geir Hasle - Leksjon 8 45

46 7#! ) #; :=:=)# Procedure Select_RRT_Neighbor (f,current,neighbors,incumbent,theta2) */ Strategy is Record-to-Record Travel while true do begin end i:=random_element(neighbors) */ SA, TA: delta := f(i) - f(current) */ SA: if delta < 0 or Random(0,1) < exp(-delta/t) if f(i) < theta2*incumbent */ theta2 > 1 then return (i, if f(i)< incumbent i then i else incumbent) INF-MAT Geir Hasle - Leksjon 8 46

47 3 / 0". Preprossesering god startløsning Standard lokalsøk underveis hvert aksepterte flytt hver forbedrende flytt SA i konstruksjonsheuristikker INF-MAT Geir Hasle - Leksjon 8 47

48 3 %! Inspirert av statistisk mekanikk - nedkjøling Metaheuristikk lokalsøk tilfeldig nedstigning tilfeldighet for å unngå lokalt optimum Enkel og robust metode, raskt å komme i gang Bevis for konvergens til globalt optimum verre enn komplett søk I praksis: beregningskrevende finjustering kan gi gode resultater god der det er vanskelig å lage robuste heuristikker som baseres på problemstruktur INF-MAT Geir Hasle - Leksjon 8 48

49 Basert på lokalsøk Søker å unngå lokale optima ved å tillate ikke-forbedrende flytt Bruk av minne for å unngå løkker spre søket (diversifisering) Generell strategi for å styre nabolagssøk/ indre heuristikker Meta-heuristikk (Glover) INF-MAT Geir Hasle - Leksjon 8 49

50 8#!! "6 Lokalsøk med Beste Nabo -strategi Alltid flytt til beste nabo ( aggressivt lokalsøk ) Fordel/ulempe? Men: noen naboer er tabu defineres av tabu-kriterier Men: noen er tilgjengelige (admissible) likevel bestemmes av admissibilitetskriterier typisk eksempel: beste løsning hittil Minne (korttids): Tabuliste INF-MAT Geir Hasle - Leksjon 8 50

51 ". defineres på egenskaper ved løsninger eller flytt - attributter hvor ofte eller hvor nylig - (frequency, recency) har denne attributten vært involvert i (å generere) løsning datastruktur: tabu-liste INF-MAT Geir Hasle - Leksjon 8 51

52 ,=#A3= $3999B=A"A3=' i=init_solution(s) incumbent:=i */ best solution until now */ local_optimum:=false while not Stopping_Criterion() do (i,incumbent):= Search_the_Neighborhood (i,n,f,basic_tabu_search,incumbent) */ if local_optimum return incumbent od return incumbent INF-MAT Geir Hasle - Leksjon 8 52

53 3=AA!" $=999!;9="' */ Assuming strategy=basic_tabu_search */ best_neighbor:=current best_acceptable_neighbor:=really_bad_solution() neighbors=n(current) for i in neighbors do if f(i) < f(best_acceptable_neighbor) and (not Tabu(i,Tabu_List) or Admissible(i)) then best_acceptable_neighbor:=i od if f(best_acceptable_neighbor) < f(incumbent) then incumbent:= best_acceptable_neighbor Update_Tabu_List(best_acceptable_neighbor,Tabu_List) return (best_acceptable_neighbor,incumbent) INF-MAT Geir Hasle - Leksjon 8 53

54 1# 3& Representasjon: permutasjonsvektor Flytt: parvis bytte 5 ( i, j) i < j i, j [ 1, n] INF-MAT Geir Hasle - Leksjon 8 54

55 3&# #; B;.) #; B;$9C' INF-MAT Geir Hasle - Leksjon 8 55

56 3&# Antall flytt: Til hvert flytt: flyttverdi n 2 ik + 1 Nσ( ik ), k = 0, = f ( i ) f ( i ), i N( i ) k + 1 k + 1 k k + 1 k Valg av taburestriksjon attributt: de byer som inngår i flytt det er tabu å foreta flytt som involverer samme byer de siste k iterasjoner k=3 (tabu-varighet, tabu tenure ) Valg av aspirasjonskriterium beste løsning hittil INF-MAT Geir Hasle - Leksjon 8 56

57 3&# "! Attributt: paret av byer som er involvert i flyttet Tabu: flytt som involverer samme par Antall iterasjoner til flytt blir lovlig igjen (tabuvarighet): 3 Datastruktur: triangulær tabell, antall iterasjoner til trekk blir lovlig igjen Oppdateres for hvert flytt INF-MAT Geir Hasle - Leksjon 8 57

58 3&#. D Bytte Verdi 3,1-2 2,3-1 3,6 1 7,1 2 6, INF-MAT Geir Hasle - Leksjon 8 58

59 3&# )" #! Brukes typisk til å diversifisere (spre) søket Aktiveres f. eks. når det ikke er forbedrende flytt Vanlig å bruke straff for flytt som er utført ofte i langtidsstrategi for diversifisering Tabu-status (nærhet i tid) Frekvens av flytt INF-MAT Geir Hasle - Leksjon 8 59

60 3 8##! Finn initiell løsning x Initialiser minne H Iterer inntil stoppkriterium er oppfylt: Finn kandidatliste Candidate_N(x) blant akseptable løsninger i N(x) Velg (med begrensete ressurser) den løsning i kandidatlisten som minimerer en utvidet kostnadsfunksjon c(h,x) Oppdater lokalsøk-strukturer og minnet H INF-MAT Geir Hasle - Leksjon 8 60

61 0)#! 3 Valg av nabolag N Definisjon av minnet H Hvordan kandidatlisten Candidate_N(x) bestemmes tabukriterium, attributt aspirasjonskriterium langtidsstrategi (inkludering av eliteløsninger) Evalueringsfunksjon c(h,x) Ofte implementeres kun grunnleggende tabusøk INF-MAT Geir Hasle - Leksjon 8 61

62 "6" Attributt: Egenskap ved løsning eller flytt Kan baseres på ethvert aspekt av løsningen som endres ved flytt Utgangspunkt for definisjon av taburestriksjoner Ett flytt kan endre mer enn ett attributt INF-MAT Geir Hasle - Leksjon 8 62

63 B#)")! Statisk t=7 t= n der n er mål for problemstørrelse Dynamisk t [5,11] t [.9 n, 1.1 n] Avhengighet av attributt TSP-eksempel kant-attributt, tabukriterier for kant inn og ut færre kanter inne enn ute samme tabuvarighet vil være ubalansert INF-MAT Geir Hasle - Leksjon 8 63

64 . Når kan taburestriksjoner ignoreres? Kan være viktig for ytelse Klassisk aspirasjonskriterium: Aksepter tabu flytt som gir beste løsning hittil Andre muligheter: kriterier basert på grad av endring grad av brukbarhet Influens av flytt: Grad av strukturell endring av løsning avstandsmål for løsninger Eksempel: Hamming-avstand Flytt med høy influens kan være viktige å forfølge når søket er nær et lokalt optimum INF-MAT Geir Hasle - Leksjon 8 64

65 !!)! Intensifisering: Aggressiv prioritering av gode løsningsattributter i ny løsning kort sikt: basert direkte på attributtene lengre sikt: bruk av eliteløsninger, deler av eliteløsninger (vokabularer) Diversifisering: Spredning av søk, ved at en prioriterer flytt som gir løsninger med nye sammensetninger av attributter INF-MAT Geir Hasle - Leksjon 8 65

66 !!)! # bruk av frekvensbasert minne basert på delmengde S av alle løsninger diversifisering: S velges slik at den inneholder stor andel av genererte løsninger (f. eks. alle lokale optima) intensifisering: S velges som liten delmengde av eliteløsninger som i stor grad har sammenfallende attributter har liten avstand i søkerommet Flere slike delmengder - partisjonering, cluster-analyse INF-MAT Geir Hasle - Leksjon 8 66

67 3!! $&!!#' Brukes i evaluering av flytt, tillegg til objektiv Gulrot for intensifisering vil være pisk for diversifisering (og omvendt) Diversifisering flytt til løsning som inneholder attributter med høy frekvens straffes TSP-eksempel: g(x)=f(x)+w 1 Σω ij Intensifisering flytt til løsning som inneholder attributter med høy frekvens blant eliteløsningene oppmuntres TSP-eksempel: g(x)=f(x)-w 2 Σγ ij INF-MAT Geir Hasle - Leksjon 8 67

68 & #! Velger to eliteløsninger x og x Lager (kortest mulig) sti av løsninger som forbinder dem x -> x (1)->... x (r)= x En eller flere av løsningene på stien velges som ny initiell løsning INF-MAT Geir Hasle - Leksjon 8 68

69 3!=#! Mål: effektivt samspill mellom intensifisering og diversifisering Oppdeling av søket i faser brukbare løsninger / ubrukbare løsning kan realiseres med modifisert evaluering Eksempel: Ryggsekkproblemet INF-MAT Geir Hasle - Leksjon 8 69

70 "63! Inspirert fra matematisk optimering og kunstig intelligens/kognitiv vitenskap Fokus på bruk av minne fremfor bruk av tilfeldighet Basert på aggressivt lokalsøk, aksepterer flytt til dårligere løsning Kandidatliste-strategier for billigere evaluering av nabolag Bruk av korttidsminne attributter unngå reversering og repetisjon tabukriterier, tabuliste Aspirasjonskriterier - tabuer er til for å brytes... Diversifisering og intensifisering Path relinking Strategisk oscillering Gode resultater for mange, harde DOP INF-MAT Geir Hasle - Leksjon 8 70

71 8,=#3= Generell strategi, metaheuristikk, for å styre nabolagssøk/ indre heuristikker Straffer uønskede egenskaper ( features ) i løsninger Fokuserer på lovende deler av søkerommet Søker å unngå lokal optima ved å jobbe med en utvidet objektivfunksjon (original + straffeledd) Kjører lokalsøk til (lokalt) minimum, straffer egenskaper, lokalsøk til minimum, straffer,. INF-MAT Geir Hasle - Leksjon 8 71

72 1! GLS fokuserer på karakteristiske (ikke-trivielle) egenskaper (features) ved løsninger Problemavhengige Egenskaper har en kostnad. Kostbare egenskaper prøver en å unngå. Representerer direkte eller indirekte innvirkning fra en løsning på (utvidet) objektivfunksjon Konstant eller variabel Indikatorfunksjon: 1, hvis løsning s har feature i I ( s) =, i s S 0, hvis løsning s ikke har feature i INF-MAT Geir Hasle - Leksjon 8 72

73 1! # 3& En løsning (tur) er et antall kanter En kant er godt valg som egenskap: Er enten med i en løsning eller ikke egenskap-kostnad = kantlengden La f.eks. settet av alle kanter e ij være egenskaper: E = { e }, i= 1... N, j = i N, i j ij Kostnad for en egenskap e ij er gitt av d ij i distansematrisen: D = [d ], i=1...n, j=1...n ij INF-MAT Geir Hasle - Leksjon 8 73

74 >) ".). Sett av egenskaper F={ f i Indikatorfunksjon: }, i=1 G 1, hvis løsning s inneholder fi Ii ( s) =, s S 0, hvis løsning s ikke inneholder fi Straffevektor p=[p i ], i=1 G, antall ganger egenskap f i er straffet til nå Straffefaktor eller reguleringsparameter G O'( s) = O( s) + λ Ii( s) p i= 1 i Kostnadsvektor c=[c i ], c i > 0, i=1 G, gir kostnad for f i INF-MAT Geir Hasle - Leksjon 8 74

75 >) ".). O'( s) = O( s) + λ I ( s) p i G i= 1 i Reguleringsparameteren gir straffens innflytelse på den utvidede objektivfunksjonen. Lav verdi: intensifisering Høy verdi: diversifisering Initielt er p i =0 i I lokale minima velges den (de) f i som har høyest verdi ( utility ), u i (s min, f i ) = I i * c i /(1+p i ). Denne egenskapen straffes ved å sette p i = p i +1. Diversifisering: ulike egenskaper straffes egenskaper med høy kostnad straffes oftere enn de med lav kostnad Merk: Bare egenskaper i lokale minima, s min, straffes INF-MAT Geir Hasle - Leksjon 8 75

76 8,3$ =9 9 ' { } int k = 0; // number of GLS-iterations s* = s 0 = generateinitialsolution(s); // get initial solution set all p i := 0; // set all penalties to zero while (stopcriterion not satisfied) do { O = O + *(I i *p i ); s k+1 = Local_Search (s k, O, N, best accept ); // local minimum for (i=1 to G) u i = I i (s k+1 )* c i /(1+p i ); for each i such that u i is maximum do p i := p i + 1; k = k+1; if (O(s k+1 ) < O(s*)) s* = s k+1 ; // save best solution found until now } return s*; INF-MAT Geir Hasle - Leksjon 8 76

77 0#8 B- Kromosom, komponentvektor, vektor, streng, løsning, individ x=(x 1,..., x 7 ) Gen, Komponent, Variabel, x 3 Locus, posisjon Allele, verdi x 3 {0,1} Alleler, domene INF-MAT Geir Hasle - Leksjon 8 77

78 8 1)#. Generasjon X Generasjon X+1 Mutasjon M=10 Krysning Seleksjon INF-MAT Geir Hasle - Leksjon 8 78

79 0#8 B Funksjonsoptimering kromosom svarer til binær enkoding av reelt tall - min/maks av vilkårlig funksjon DOP, eksempelvis TSP binær enkoding av løsning ofte bedre med mer direkte representasjon (f. eks. sekvensrepresentasjon) INF-MAT Geir Hasle - Leksjon 8 79

80 INF-MAT Geir Hasle - Leksjon 8 80

81 8 0# ;! $2' En forelder velges basert på fitness Den andre forelder velges tilfeldig Tilfeldig valg av krysningspunkt Forelder Forelder Krysningspunkt Avkom Avkom 2 INF-MAT Geir Hasle - Leksjon 8 81

82 8 /# ;! Vilkårlig individ i populasjonen byttes ut med ett av de to avkom Reproduksjon så lenge du orker Kan betraktes som sekvens av nesten like populasjoner Alternativt: en av foreldrene velges strengt etter fitness krysning skjer inntil M avkom er dannet den nye populasjonen består av avkommet Mange andre muligheter... Grunnleggende GA med klassisk krysning og mutasjon virker ofte bra INF-MAT Geir Hasle - Leksjon 8 82

83 8 /.# Fast populasjonsstørrelse Standard krysning en forelder velges tilfeldig etter fitness den andre velges tilfeldig tilfeldig krysningspunkt et tilfeldig individ byttes ut med ett av avkommene Mutasjon en viss sannsynlighet for at individene muteres tilfeldig hvilket gen som muteres standard: mutasjon av avkom INF-MAT Geir Hasle - Leksjon 8 83

84 #; ) 8 $(#' Skjema: delmengder av lignende kromosomer samme alleler i visse loki * * 1 * 0 * * Et gitt kromosom er med i mange skjema Hvor mange? INF-MAT Geir Hasle - Leksjon 8 84

85 3. I GA med standard reproduksjonsplan der sannsynlighet for krysning og mutasjon er P c og P m, respektive, og skjema S med orden k(s) og lengde l(s) har fitness-forhold f(s,t) i generasjon t, så er forventet antall representanter for skjema S i generasjon t+1 begrenset av: l( S) E ( S, t + 1) 1 P ( 1 (, )) c P S t Pm k( S) f ( S, t) N( S, t) n 1 INF-MAT Geir Hasle - Leksjon 8 85

86 0# Representasjonen av skjema S vil i gjennomsnitt øke dersom l( S) f ( S, t) 1 + Pc + Pm k( S) n 1 Korte, lavordens skjema vil øke sin representasjon forutsatt at deres fitness-ratio er litt større enn 1, mens lengre, høyere-orden skjema må jobbe hardere for å overleve INF-MAT Geir Hasle - Leksjon 8 86

87 8 /B;!!"#; Goldberg (1989) Korte, lavordens skjema kombineres til bedre og bedre løsninger INF-MAT Geir Hasle - Leksjon 8 87

88 8 />)# &#.6# Små populasjoner - underdekning Store populasjoner beregningsmessig krevende Optimal størrelse øker eksponensielt med strenglengden i binære enkodinger Ofte kan størrelser på 30 virke bra mellom n og 2n (Alander) INF-MAT Geir Hasle - Leksjon 8 88

89 8 />)# 8# ;! Bit-streng sier hvor genene skal hentes fra INF-MAT Geir Hasle - Leksjon 8 89

90 8 /1!!. Ikke-binær enkoding Sekvensrepresentasjon PMX (Partially Mapped Crossover) 2-punkts krysning P1 P O1 O INF-MAT Geir Hasle - Leksjon 8 90

91 8 (;"! GAs styrke og svakhet: domeneuavhengighet Hybridisering Såing, gode individer i initialpopulasjon Lokalsøk på individer Kombinasjon med andre metaheuristikker INF-MAT Geir Hasle - Leksjon 8 91

92 8 %! Viktige karakteristika populasjon av løsninger domeneuavhengighet enkoding mangel på utnyttelse av struktur iboende parallellitet skjema, vokabular robusthet gode mekanismer for intensifisering mangler noe diversifisering Hybrid med lokalsøk: Memetic algorithms INF-MAT Geir Hasle - Leksjon 8 92

93 #! %& 4#; %5 $4%' Introdusert av Dorigo, Maniezzo & Colorni 1992 Populasjonsbasert metaheuristikk Hver maur i populasjonen konstruerer en løsning Når alle er ferdige oppdateres et minne (kunstig feromon) Løsningskonstruksjon og minneoppdatering repeteres inntil stoppkriterium er oppfylt INF-MAT Geir Hasle - Leksjon 8 93

94 ; %& 3; $3' Første ACO-metode (Dorigo 1992) Løsningskonstruksjon (for hver maur) Beslutninger tas probabilistisk e.g.: TSP (første anvendelse) Konstruksjonsmekanisme Nærmeste nabo tilfeldighet Tilfeldig valgt startby B 7 B 1 B 6 Depot B 3 B 5 B 2 c 45 B 4 INF-MAT Geir Hasle - Leksjon 8 94

95 ; 0. Lokale beslutninger under konstruksjon baseres på: en konstruktiv heuristisk (grådig) regel et lokalt kvalitetskriterium(a priori heuristisk informasjon) et adaptivt minne (et dynamisk, globalt kvalitetskriteriumτ ) tilfeldighet p ij = h Ω β [ σ ] [ τ ] i ij ij β [ σ ] [ τ ] ih α ih hvis h 0 ellers α Ω i σ = ij 1 c ij for TSP der Ω i er mengden av tillatte alternativer INF-MAT Geir Hasle - Leksjon 8 95

96 ;$' %! ) ;. $' TSP-eksempelet: Alle kanter oppdateres etter hver iterasjon, for hver maur ( m) τ ij = (1 ρ) τ ij + τ ij, 0 < ρ 1 (1 ρ) τ ij m M er feromon på kant ij etter fordampning m M τ m ij τ m ij = er forsterkningen av kant ij (feromonutslipp fra maur m) 1, hvis ( i, j) s m f ( s ) 0 ellers m INF-MAT Geir Hasle - Leksjon 8 96

97 0!! ) Individ vs. populasjon Probabilistiske vs. deterministiske Minneløse vs. minnerike Modifikasjon av kostnadsfunksjon Nabolagsbaserte vs. Multi-start baserte INF-MAT Geir Hasle - Leksjon 8 97

98 "#!" ) #" Nabolagsbaserte Essensielt varianter av lokalsøk SA, TA (grunnleggende), GLS Multi-start baserte Iterativ generering av startløsninger for lokalsøk Startløsningene tas videre med lokalsøk GA, Evolusjonsalgoritmer, Memetic Algorithms Maurkolonialgoritmer, ACO GRASP Variabelt nabolagssøk Iterert lokalsøk INF-MAT Geir Hasle - Leksjon 8 98

99 0) Grådig konstruksjon grad av lokalitet i beslutningene informerte valg vs. regnetid Rekkefølge-basert konstruksjon Kritikalitet Statisk vs. dynamisk evaluering Parallell vs. sekvensiell konstruksjon Sæd (seeds) Kombinasjon med søk lokalsøk systematisk Squeaky Wheel optimering INF-MAT Geir Hasle - Leksjon 8 99

100 ##! $::/::' Procedure Random_Restart (S,N,f,Stop_Criterion) current=init_solution(s) incumbent:=current */ best solution until now while not Stop_Criterion() do local_optimum:=local_search_sd(current,n,f) if f(local_optimum) < f(incumbent) then incumbent:= local_optimum fi current:=random_init_solution(s) od return incumbent */ best solution until now INF-MAT Geir Hasle - Leksjon 8 100

101 8:3& Variant av Tilfeldig restart Konstruksjon med tilfeldighet Ligner ACO Begrenset kandidatliste for utvidelse INF-MAT Geir Hasle - Leksjon 8 101

102 8:3& Procedure GRASP (Max_Iterations) incumbent:=bad_solution() for k:=1 to Max_Iterations do current:=local_search( Greedy_Randomized_Construction()) if f(current) < f(incumbent) then incumbent:= current fi od return incumbent */ best solution until now INF-MAT Geir Hasle - Leksjon 8 102

103 8:3& /:54= Procedure Greedy_Randomized_Construction() solution := Empty_Solution() while not Complete(solution ) do od Restricted_Candidate_List :=Evaluate_Incremental_Costs(solution) partial_solution:=extend_solution(solution,random_elem ent(restricted_candidate_list)) return solution INF-MAT Geir Hasle - Leksjon 8 103

104 8:3& /:= 4, Restriksjon kan være Kardinalitetsbasert Verdibasert ( ) c(e) c,c + α c c min min max min Reaktiv GRASP: automatisk justering Perturbasjon av kostnadsfunksjon (noising) Utvidelse med Path Relinking Preprosessor til GA INF-MAT Geir Hasle - Leksjon 8 104

105 <3E;F# %5< I en pipende maskin smøres først de deler som piper Basert på konstruktiv heuristikk der Løsning bygges opp ved suksessiv utvidelse med elementer Sekvens av elementer er viktig (prioritet av elementer) Mål på hvor fornøyd et element er i den endelige løsning Endring av rekkefølgen av elementer Repetisjon INF-MAT Geir Hasle - Leksjon 8 105

106 3E;F# %5 Procedure Squeaky_Wheel_Optimization(f) Element_Priority_List :=Determine_Element_Priorities() ; Static prioritization incumbent:=some_feasible_solution() while not Stop_Criterion() do solution:= Empty_Solution() while not Complete(solution) do solution:=augment_solution(solution, Element_Priority_List) od if f(solution) < f(incumbent) then incumbent:=solution Element_Priority_List :=Update_Element_Priorities(Element_Priority_List,solution) od return solution INF-MAT Geir Hasle - Leksjon 8 106

107 7"# "#!6 $73' Lokalt optimum er relativt til nabolag Et lokalt optimum m.h.t. ett nabolag er ikke nødvendigvis lokalt optimum m.h.t et annet Et globalt optimum er et lokalt optimum for alle nabolag Lokale optima er ofte nær hverandre Grunnleggende idé i VNS: Systematisk variasjon av nabolag Nabolagsstruktur N, k = 1, k k max INF-MAT Geir Hasle - Leksjon 8 107

108 7"#!"=$7' Procedure VND (N[1..kmax]) incumbent:=initial_solution() while not Stop() do restart: for k:=1 to kmax do local_optimum:=local_search(n(k),incumbent) ; Variants: Just pick better or best neighbor if f(local_optimum) < f(incumbent) then incumbent:= local_optimum if not Stop() goto restart fi fi od return incumbent */ best solution until now INF-MAT Geir Hasle - Leksjon 8 108

109 7"#!"3=$73' Procedure VNS (N[1..kmax]) incumbent:=current:=initial_solution() while not Stop() do restart: for k:=1 to kmax do current:=random_element(n(k)) local_optimum:=local_search(n(k),current) ; Variants: Just pick better or best neighbor if f(local_optimum) < f(incumbent) then incumbent:= local_optimum if not Stop() goto restart fi od return incumbent */ best solution until now INF-MAT Geir Hasle - Leksjon 8 109

110 ##6 Prøver å iterere slik at vi unngår å restarte i samme Basin of attraction Gjør dette ved perturbasjon av beste løsning Diversifisering INF-MAT Geir Hasle - Leksjon 8 110

111 ##6 Procedure Iterated_Local_Search(N,f) current:=incumbent:=local_search(initial_solution(),n,f) while not Stop_Criterion() do new_start:=perturbation(current,history) new_local:= Local_Search(new_start,N,f) if f(new_local) < f(incumbent) then incumbent:=new_local fi if Accept(new_local,current,history) then current:= new_local fi od return incumbent INF-MAT Geir Hasle - Leksjon 8 111

112 ##6 Hvor stor skal perturbasjonen være? for liten perturbasjon: fare for å havne i samme Basin of attraction for mye perturbasjon: Random restart variabel perturbasjon Ruin and Recreate Very Large Neighborhood Search Distansemål kan være nyttig Måle distanse til lokale optima underveis INF-MAT Geir Hasle - Leksjon 8 112

113 ##6 Perturbasjon ved trekk i høyordens nabolag Perturbasjon ved fjerning og gjenoppbygging Ruin and Recreate Tilfeldig perturbasjon Fokusert perturbasjon Distansemål sjekke distanse til lokale optima underveis INF-MAT Geir Hasle - Leksjon 8 113

114 <,=< $F#? =:;9 2GG' Uformell beskrivelse: Når vi midler over alle probleminstanser i et gitt søkerom så har alle søkealgoritmer samme gjennomsnittlige ytelse. For enhver algoritme, så betales enhver fordel m.h.t. løsning av en klasse av problemer med tilsvarende ulempe for en annen klasse. INF-MAT Geir Hasle - Leksjon 8 114

115 (; Metaheuristikker er ikke generelle Det fins ingen beste metaheuristikk No free lunch -teoremet Hyperheuristikker Generelle søketeknikker Basert på (meta)heuristikker Bruk av (meta)heuristikker for å velge (meta)heuristikk under søk bruker ikke domenekunnskap INF-MAT Geir Hasle - Leksjon 8 115

116 (; Hyperheuristikk Domenebarrière h1 h2 h3 h4 h5 h6 Evalueringsfunksjon INF-MAT Geir Hasle - Leksjon 8 116

117 (; Informasjon til hyperheuristikk Hver (meta)heuristikk CPU-tid brukt Endring i objektfunksjon Effektivitet Hvor lenge siden er det siden heuristikken sist ble kalt INF-MAT Geir Hasle - Leksjon 8 117

118 (; Kvalifisert valg av heuristikk for å løse delproblem Læring under søk Probabilistisk valg av heuristikk Rulett-seleksjon INF-MAT Geir Hasle - Leksjon 8 118

Hybrid med lokalsøk: Memetic algorithms

Hybrid med lokalsøk: Memetic algorithms Leksjon 7 ! Viktige karakteristika populasjon av løsninger domeneuavhengighet enkoding mangel på utnyttelse av struktur iboende parallellitet skjema, vokabular robusthet gode mekanismer for intensifisering

Detaljer

INF-MAT-5380

INF-MAT-5380 INF-MAT-5380 http://www.uio.no/studier/emner/matnat/ifi/inf-mat5380/ Leksjon 7 GA - Oppsummering Viktige karakteristika populasjon av løsninger domeneuavhengighet enkoding mangel på utnyttelse av struktur

Detaljer

Del A: Diskret optimering og heuristiske metoder Leksjon 7

Del A: Diskret optimering og heuristiske metoder Leksjon 7 Del A: Diskret optimering og heuristiske metoder Leksjon 7 Sjefsforsker Geir Hasle SINTEF Anvendt matematikk, Oslo! Viktige karakteristika populasjon av løsninger domeneuavhengighet enkoding mangel på

Detaljer

INF-MAT-5380

INF-MAT-5380 INF-MAT-5380 http://www.uio.no/studier/emner/matnat/ifi/inf-mat5380/ Leksjon 3 Leksjon 2 - Oppsummering Eksempler på DOP Alternative formuleringer Definisjon nabolag, -operator Lokalsøk Definisjon lokalt

Detaljer

INF-MAT-5380

INF-MAT-5380 INF-MAT-5380 http://www.uio.no/studier/emner/matnat/ifi/inf-mat5380/ Leksjon 5 Leksjon 4 - Oversikt Tabusøk INF-MAT 5380 - Geir Hasle - Leksjon 5 2 Tabusøk - Sammendrag Inspirert fra matematisk optimering

Detaljer

Tilfeldig søk Simulert størkning Terskelakseptanseteknikker. INF-MAT Geir Hasle - Leksjon 4 2

Tilfeldig søk Simulert størkning Terskelakseptanseteknikker. INF-MAT Geir Hasle - Leksjon 4 2 Leksjon 4 !!"# Tilfeldig søk Simulert størkning Terskelakseptanseteknikker INF-MAT 5380 - Geir Hasle - Leksjon 4 2 $!"% Inspirert av statistisk mekanikk - nedkjøling Metaheuristikk lokalsøk tilfeldig nedstigning

Detaljer

INF-MAT 5380 - Geir Hasle - Leksjon 3 2

INF-MAT 5380 - Geir Hasle - Leksjon 3 2 Leksjon 3 !"#$ Eksempler på DOP Alternative representasjoner Definisjon nabolag, -operator Lokalsøk Definisjon lokalt optimum Eksakt nabolag Prosedyre for lokalsøk Traversering av nabolagsgraf Kommentarer,

Detaljer

INF-MAT-5380

INF-MAT-5380 INF-MAT-5380 http://www.uio.no/studier/emner/matnat/ifi/inf-mat5380/ Leksjon 4 Leksjon 3 - Oversikt Tilfeldig søk Simulert størkning Terskelakseptanse INF-MAT 5380 - Geir Hasle - Leksjon 4 2 SA - Oppsummering

Detaljer

Del A: Diskret optimering og heuristiske metoder Leksjon 4. Sjefsforsker Geir Hasle SINTEF Anvendt matematikk, Oslo

Del A: Diskret optimering og heuristiske metoder Leksjon 4. Sjefsforsker Geir Hasle SINTEF Anvendt matematikk, Oslo Del A: Diskret optimering og heuristiske metoder Leksjon 4 Sjefsforsker Geir Hasle SINTEF Anvendt matematikk, Oslo!"# Tilfeldig søk Simulert herding Terskelakseptanse Record-to-Record-Travel TMA 4198 -

Detaljer

!"!#$ INF-MAT Geir Hasle - Leksjon 2 2

!!#$ 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

Detaljer

INF-MAT-5380

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

Detaljer

INF-MAT-5380 http://www.uio.no/studier/emner/matnat/ifi/inf-mat5380/

INF-MAT-5380 http://www.uio.no/studier/emner/matnat/ifi/inf-mat5380/ INF-MAT-5380 http://www.uio.no/studier/emner/matnat/ifi/inf-mat5380/ Leksjon 8 Diskrete optimeringsproblemer (DOP) Finnes overalt operasjonsanalyse kunstig intelligens mønstergjenkjenning geometri økonomi

Detaljer

Styrt lokalsøk (Guided Local Search, GLS)

Styrt lokalsøk (Guided Local Search, GLS) Leksjon 6 !!"# Styrt lokalsøk (Guided Local Search, GLS) Martin Stølevik, SINTEF INF-MAT 5380 - Geir Hasle - Leksjon 6 2 $!%&!'%!($')! *+ GENET (neural network) Prosjekt for løsing av Constraint Satisfaction

Detaljer

INF-MAT-5380

INF-MAT-5380 INF-MAT-5380 http://www.uio.no/studier/emner/matnat/ifi/inf-mat5380/ Leksjon 6 Leksjon 5 - Oversikt Styrt lokalsøk (Guided Local Search, GLS) INF-MAT 5380 - Geir Hasle - Leksjon 6 2 Guided Local Search

Detaljer

Styrt lokalsøk (Guided Local Search, GLS)

Styrt lokalsøk (Guided Local Search, GLS) Del A: Diskret optimering og heuristiske metoder Leksjon 6 Sjefsforsker Geir Hasle SINTEF Anvendt matematikk, Oslo!"# Styrt lokalsøk (Guided Local Search, GLS) TMA 4198 - Geir Hasle - Leksjon 6 2 1 $ %&'%($

Detaljer

!!!" " # $ Leksjon 1

!!!  # $ Leksjon 1 !!!"" # $ Leksjon 1 %# Studenten skal etter seminaret ha en grunnleggende forståelse av hvordan moderne heuristiske metoder basert på lokalsøk og metaheuristikker kan brukes for å finne approksimerte løsninger

Detaljer

Epost: Tlf. SINTEF Mob

Epost: Tlf. SINTEF Mob Del A: Diskret optimering og heuristiske metoder Leksjon Sjefsforsker Geir Hasle SINTEF Anvendt matematikk, Oslo!" Epost: Geir.Hasle@sintef.no Tlf. SINTEF 22 06 78 87 Mob. 930 58 703 TMA 498 - Geir Hasle

Detaljer

INF-MAT Lokalsøk og meta-heuristikker i kombinatorisk optimering

INF-MAT Lokalsøk og meta-heuristikker i kombinatorisk optimering INF-MAT-5380 Lokalsøk og meta-heuristikker i kombinatorisk optimering http://www.uio.no/studier/emner/matnat/ifi/inf-mat5380/ Leksjon 1 Mål med kurset Studenten skal etter kurset ha en grunnleggende forståelse

Detaljer

Heuristisk søk 1. Prinsipper og metoder

Heuristisk 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

Detaljer

Oversikt. Heuristisk søk 1. Kombinatorisk optimering Lokalt søk og simulert størkning Populasjonsbasert søk. Prinsipper og metoder

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

Detaljer

Overview. Heuristic search 1. Target function and optimization. Minimum vertex cover

Overview. Heuristic search 1. Target function and optimization. Minimum vertex cover Overview Heuristic search Combinatorial optimization Local search and simulated annealing Population-based search Principles and methods Pål Sætrom Traveling sales person (TSP) Combinatorial optimization

Detaljer

Løsningsforslag: Deloppgave om heuristiske søkemetoder ALGKON 2001, ordinær eksamen

Lø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

Detaljer

Oversikt. Branch-and-bound. Hvordan løse NP-hard kombinatorisk optimering? Eks: Eksakt Min Vertex cover. Mulige løsninger representert som søketre

Oversikt. Branch-and-bound. Hvordan løse NP-hard kombinatorisk optimering? Eks: Eksakt Min Vertex cover. Mulige løsninger representert som søketre Oversikt Branch-and-bound Pål ætrom Branch and bound Prinsipper Min Vertex cover B & B eksempler Median string TP Hvordan løse NP-hard kombinatorisk optimering? Kombinatorisk opt. Løsningsrom, C Målfunksjon

Detaljer

Heuristiske søkemetoder II

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?

Detaljer

Løsningsforslag: Deloppgave om heuristiske søkemetoder ALGKON 2002, kontinuasjonseksamen

Lø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

Detaljer

Løsningsforslag: Deloppgave om heuristiske søkemetoder, ALGKON 2003, kontinuasjonseksamen

Lø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

Detaljer

Løsningsforslag: Deloppgave om heuristiske søkemetoder, ALGKON 2003, ordinær eksamen

Lø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,

Detaljer

Repetisjon og mer motivasjon. MAT1030 Diskret matematikk. Repetisjon og mer motivasjon

Repetisjon 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

Detaljer

LP. Leksjon 9: Kapittel 13: Nettverk strøm problemer, forts.2

LP. Leksjon 9: Kapittel 13: Nettverk strøm problemer, forts.2 LP. Leksjon 9: Kapittel 13: Nettverk strøm problemer, forts.2 Vi tar siste runde om (MKS): minimum kost nettverk strøm problemet. Skal oppsummere algoritmen. Se på noen detaljer. Noen kombinatorisk anvendelser

Detaljer

Dynamisk programmering

Dynamisk programmering Dynamisk programmering Metoden ble formalisert av Richard Bellmann (RAND Corporation) på 50-tallet. Programmering i betydningen planlegge, ta beslutninger. (Har ikke noe med kode eller å skrive kode å

Detaljer

Løsningsforslag: Deloppgave om heuristiske søkemetoder ALGKON 2002, ordinær eksamen

Lø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

Detaljer

IN2010: Forelesning 11. Kombinatorisk søking Beregnbarhet og kompleksitet

IN2010: 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

Detaljer

INF Algoritmer og datastrukturer

INF Algoritmer og datastrukturer INF2220 - Algoritmer og datastrukturer Institutt for informatikk, Universitetet i Oslo INF2220, forelesning 13: Dynamisk programmering (Ifi, UiO) INF2220 H2017, forelesning 13 1 / 30 Dagens plan Dynamisk

Detaljer

A study of different matching heuristics. Hovedfagspresentasjon Jan Kasper Martinsen

A study of different matching heuristics. Hovedfagspresentasjon Jan Kasper Martinsen A study of different matching heuristics Hovedfagspresentasjon Jan Kasper Martinsen (janma@ifi.uio.no) Terminologi: Graf teori En graf består av et sett med noder Nodene er tilknyttet hverandre ved hjelp

Detaljer

Grafteori. MAT1030 Diskret Matematikk. Repetisjon og mer motivasjon. Repetisjon og mer motivasjon. Forelesning 23: Grafteori.

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

MAT1030 Diskret Matematikk

MAT1030 Diskret Matematikk MAT1030 Diskret Matematikk Forelesning 23: Grafteori Dag Normann Matematisk Institutt, Universitetet i Oslo 20. april 2010 (Sist oppdatert: 2010-04-20 14:17) Grafteori MAT1030 Diskret Matematikk 20. april

Detaljer

Forelesning 23. MAT1030 Diskret Matematikk. Repetisjon og mer motivasjon. Repetisjon og mer motivasjon. Forelesning 23: Grafteori.

Forelesning 23. MAT1030 Diskret Matematikk. Repetisjon og mer motivasjon. Repetisjon og mer motivasjon. Forelesning 23: Grafteori. MAT030 Diskret Matematikk Forelesning 23: Grafteori Roger Antonsen Institutt for informatikk, Universitetet i Oslo Forelesning 23 22. april 2009 (Sist oppdatert: 2009-04-22 2:37) MAT030 Diskret Matematikk

Detaljer

Heuristiske søkemetoder I: Simulert størkning og tabu-søk

Heuristiske søkemetoder I: Simulert størkning og tabu-søk Heuristiske søkemetoder I: Simulert størkning og tabu-søk Lars Aurdal Norsk regnesentral lars@aurdalweb.com Heuristiske søkemetoder I:Simulert størkning ogtabu-søk p.1/141 Hva er tema for disse forelesningene?

Detaljer

Heuristiske søkemetoder III

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

Detaljer

Trianguleringer i planet.

Trianguleringer i planet. Trianguleringer i planet. Preliminaries Notasjon og teminologi Graf-egenskaper med trianguleringer i planet Enkle trianguleringsalgoritmer 1 Punkter og domener. Vi starter med et sett punkter i planet

Detaljer

NP-komplett, hva nå?

NP-komplett, hva nå? NP-komplett, hva nå? Anta vi har klart å vise at problemet vårt er NP-komplett eller NP-hardt. Hva betyr det? Såfremt P NP (de fleste tror det) har ikke problemet noen polynomisk algoritme. Hva skal vi

Detaljer

Kompleksitet. IN algoritmer og datastrukturer Plenumstime / repetisjon

Kompleksitet. IN algoritmer og datastrukturer Plenumstime / repetisjon Kompleksitet IN2010 - algoritmer og datastrukturer Plenumstime / repetisjon Dagens agenda Kompleksitet - hva er det? Avgjørelsesproblemer Kompleksitetsklassene P og NP Reduksjoner - å redusere et problem

Detaljer

MAT1030 Forelesning 23

MAT1030 Forelesning 23 MAT030 Forelesning 23 Grafteori Roger Antonsen - 22. april 2009 (Sist oppdatert: 2009-04-22 2:36) Forelesning 23 Repetisjon og mer motivasjon Først litt repetisjon En graf består av noder og kanter Kanter

Detaljer

Plan: Parameter-overføring Alias Typer (Ghezzi&Jazayeri kap.3 frem til 3.3.1) IN 211 Programmeringsspråk

Plan: Parameter-overføring Alias Typer (Ghezzi&Jazayeri kap.3 frem til 3.3.1) IN 211 Programmeringsspråk Plan: Parameter-overføring Alias Typer (Ghezzi&Jazayeri kap.3 frem til 3.3.1) Funksjonelle språk (Ghezzi&Jazayeri kap.7 frem til 7.4) Neste uke: ML Ark 1 av 16 Forelesning 16.10.2000 Parameteroverføring

Detaljer

INF-MAT5370. Trianguleringer i planet (Preliminaries)

INF-MAT5370. Trianguleringer i planet (Preliminaries) INF-MAT5370 Trianguleringer i planet (Preliminaries) Øyvind Hjelle oyvindhj@simula.no, +47 67 82 82 75 Simula Research Laboratory, www.simula.no August 23, 2009 Innhold Notasjon og terminologi Graf-egenskaper

Detaljer

Kontinuasjonseksamen i tdt4125 Algoritmekonstruksjon, videregående kurs

Kontinuasjonseksamen i tdt4125 Algoritmekonstruksjon, videregående kurs Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap Side 1 av 7 Eksamenforfattere: Ole Edsberg Kvalitetskontroll: Magnus Lie Hetland Kontakter under eksamen:

Detaljer

Discrete Optimization Methods in Maritime and Road-based Transportation

Discrete Optimization Methods in Maritime and Road-based Transportation Discrete Optimization Methods in Maritime and Road-based Transportation Forskningsprosjekt med støtte fra Norges Forskningsråd Samarbeidspartnere Norges Teknisk-Naturvitenskapelige Universitet Institutt

Detaljer

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer Institutt for datateknikk og informasjonsvitenskap Eksamensoppgave i TDT0 Algoritmer og datastrukturer Faglig kontakt under eksamen Magnus Lie Hetland Telefon 98 5 99 Eksamensdato 7. desember, 06 Eksamenstid

Detaljer

Dynamisk programmering

Dynamisk programmering Dynamisk programmering Metoden ble formalisert av Richard Bellmann (RAND Corporation) på 5-tallet. Programmering i betydningen planlegge, ta beslutninger. (Har ikke noe med kode eller å skrive kode å gjøre.)

Detaljer

Korteste vei problemet (seksjon 15.3)

Korteste 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

Detaljer

Kompleksitet og Beregnbarhet

Kompleksitet og Beregnbarhet Kompleksitet og Beregnbarhet 16. September, 2019 Institutt for Informatikk 1 Dagens plan Avgjørelsesproblemer. P EXPTIME NP Reduksjoner NP-kompletthet Uavgjørbarhet UNDECIDABLE DECIDABLE PSPACE NPC NP

Detaljer

Dagens plan. INF Algoritmer og datastrukturer. Koding av tegn. Huffman-koding

Dagens plan. INF Algoritmer og datastrukturer. Koding av tegn. Huffman-koding Grafer Dagens plan INF2220 - Algoritmer og datastrukturer HØSTEN 2007 Institutt for informatikk, Universitetet i Oslo Avsluttende om grådige algoritmer (kap. 10.1.2) Dynamisk programmering Floyds algoritme

Detaljer

Kontinuasjonseksamen i tdt4125 Algoritmekonstruksjon, videregående kurs

Kontinuasjonseksamen i tdt4125 Algoritmekonstruksjon, videregående kurs Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap Side 1 av 7 Eksamenforfattere: Ole Edsberg Kvalitetskontroll: Magnus Lie Hetland Kontakter under eksamen:

Detaljer

INF2220: Time 8 og 9 - Kompleksitet, beregnbarhet og kombinatorisk søk

INF2220: Time 8 og 9 - Kompleksitet, beregnbarhet og kombinatorisk søk INF0: Time 8 og 9 - Kompleksitet, beregnbarhet og kombinatorisk søk Mathias Lohne mathialo Rekursjonseksempel Eksempel Finn kjøretid for følgende program: (Ex11 b) 1 float foo(a) { n = Alength; 3 4 if

Detaljer

Kapittel 5 - Advanced Hypertext Model Kapittel 6 - Overview of the WebML Development Process

Kapittel 5 - Advanced Hypertext Model Kapittel 6 - Overview of the WebML Development Process INF 329 Web-teknologier Kapittel 5 - Advanced Hypertext Model Kapittel 6 - Overview of the WebML Development Process Navn: Bjørnar Pettersen bjornarp.ii.uib.no Daniel Lundekvam daniell.ii.uib.no Presentasjonsdato:

Detaljer

INF Algoritmer og datastrukturer

INF Algoritmer og datastrukturer INF2220 - Algoritmer og datastrukturer Institutt for informatikk, Universitetet i Oslo INF2220, forelesning 11: Huffman-koding & Dynamisk programmering (Ifi, UiO) INF2220 H2015, forelesning 11 1 / 32 Dagens

Detaljer

INF Algoritmer og datastrukturer

INF Algoritmer og datastrukturer INF2220 - Algoritmer og datastrukturer HØSTEN 2009 Institutt for informatikk, Universitetet i Oslo INF2220, forelesning 6: Grafer Bjarne Holen (Ifi, UiO) INF2220 H2009, forelesning 6 1 / 31 Dagens plan:

Detaljer

LP. Leksjon 5. Kapittel 5: dualitetsteori. motivasjon det duale problemet svak og sterk dualitet det duale til LP problemer på andre former

LP. Leksjon 5. Kapittel 5: dualitetsteori. motivasjon det duale problemet svak og sterk dualitet det duale til LP problemer på andre former LP. Leksjon 5 Kapittel 5: dualitetsteori motivasjon det duale problemet svak og sterk dualitet det duale til LP problemer på andre former 1 / 26 Motivasjon Til ethvert LP problem (P) er det knyttet et

Detaljer

LP. Leksjon 4. Kapittel 4: effektivitet av simpleksmetoden

LP. Leksjon 4. Kapittel 4: effektivitet av simpleksmetoden LP. Leksjon 4 Kapittel 4: effektivitet av simpleksmetoden hvordan måle effektivitet? verste tilfelle analyse, Klee-Minty kuben gjennomsnittsanalyse og i praksis 1 / 18 Status Hvor langt er vi kommet i

Detaljer

Introduksjon til operasjonsanalyse

Introduksjon til operasjonsanalyse 1 Introduksjon til operasjonsanalyse Asgeir Tomasgard 2 Operasjonsanalyse Operasjonsanalyse er å modellere og analysere et problem fra den virkelige verden med tanke på å finne optimale beslutninger. I

Detaljer

Dagens plan: INF Algoritmer og datastrukturer. Grafer vi har sett allerede. Det første grafteoretiske problem: Broene i Königsberg

Dagens plan: INF Algoritmer og datastrukturer. Grafer vi har sett allerede. Det første grafteoretiske problem: Broene i Königsberg Dagens plan: INF2220 - Algoritmer og datastrukturer HØSTEN 2009 Institutt for informatikk, Universitetet i Oslo INF2220, forelesning 6: Grafer Definisjon av en graf Grafvarianter Intern representasjon

Detaljer

LP. Leksjon 3. Kapittel 3: degenerasjon.

LP. Leksjon 3. Kapittel 3: degenerasjon. LP. Leksjon 3. Kapittel 3: degenerasjon. degenerasjon eksempel på sirkling den leksikografiske metoden andre pivoteringsregler fundamentaleoremet i LP 1 / 23 Repetisjon simpleksalgoritmen: sekvens av pivoteringer

Detaljer

MAT1030 Diskret matematikk

MAT1030 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

Detaljer

Innledning. MAT1030 Diskret matematikk. Kapittel 11. Kapittel 11. Forelesning 33: Repetisjon

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

Detaljer

INF2220: Forelesning 1. Praktisk informasjon Analyse av algoritmer (kapittel 2) (Binær)trær (kapittel )

INF2220: Forelesning 1. Praktisk informasjon Analyse av algoritmer (kapittel 2) (Binær)trær (kapittel ) INF2220: Forelesning 1 Praktisk informasjon Analyse av algoritmer (kapittel 2) (Binær)trær (kapittel 4.1-4.3 + 4.6) PRAKTISK INFORMASJON 2 Praktisk informasjon Kursansvarlige Ragnhild Kobro Runde (ragnhilk@ifi.uio.no)

Detaljer

MAT1030 Diskret Matematikk

MAT1030 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

Detaljer

Forelesning 29: Kompleksitetsteori

Forelesning 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

Detaljer

INF2220: Forelesning 7. Kombinatorisk søking

INF2220: Forelesning 7. Kombinatorisk søking INF2220: Forelesning 7 Kombinatorisk søking Oversikt Rekursjon - oppsummering Generering av permutasjoner Lett: Sekvens-generering Vanskelig: Alle tallene må være forskjellige Eksempel: Finne korteste

Detaljer

Kapittel 3: degenerasjon.

Kapittel 3: degenerasjon. LP. Leksjon 3 Kapittel 3: degenerasjon. degenerasjon eksempel på sirkling den leksikografiske metoden andre pivoteringsregler fundamentaleoremet i LP LP. Leksjon 3: #1 of 15 Repetisjon simpleksalgoritmen:

Detaljer

Søk i tilstandsrom. Backtracking (Kap. 10) Branch-and-bound (Kap. 10) Iterativ fordypning. Dijkstras korteste sti-algoritme A*-søk (Kap.

Søk i tilstandsrom. Backtracking (Kap. 10) Branch-and-bound (Kap. 10) Iterativ fordypning. Dijkstras korteste sti-algoritme A*-søk (Kap. Søk i tilstandsrom Backtracking (Kap. 10) DFS i tilstandsrommet. Trenger lite lagerplass. Branch-and-bound (Kap. 10) BFS Trenger mye plass: må lagre alle noder som er «sett» men ikke studert. Kan også

Detaljer

Forelesning 25. MAT1030 Diskret Matematikk. Litt repetisjon. Litt repetisjon. Forelesning 25: Trær. Dag Normann

Forelesning 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

Detaljer

Eksamensoppgave i TDT4120 Algoritmer og datastrukturer

Eksamensoppgave 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

Detaljer

Hashing: Håndtering av kollisjoner

Hashing: Håndtering av kollisjoner Hashing: Håndtering av kollisjoner Innsetting av dataelement i hashtabell Algoritme: 1. Bruk en hashfunksjon til å beregne hashverdi basert på dataelementets nøkkelverdi 2. Sett inn dataelementet i hashtabellen

Detaljer

LP. Leksjon 1. Kapittel 1 og 2: eksempel og simpleksmetoden

LP. Leksjon 1. Kapittel 1 og 2: eksempel og simpleksmetoden LP. Leksjon 1. Kapittel 1 og 2: eksempel og simpleksmetoden Dette emnet gir en innføring i lineær optimering og tilgrensende felt. hva er LP (lin.opt.=lin.programmering) mer generelt: matematisk optimering

Detaljer

MAT1030 Diskret Matematikk

MAT1030 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

Detaljer

Dagens stoff er hentet fra kapittel 9 i læreboka, samt kapittel 20.5 (som vi «hoppet over» sist)

Dagens stoff er hentet fra kapittel 9 i læreboka, samt kapittel 20.5 (som vi «hoppet over» sist) Dynamisk programmering Undervises av Stein Krogdahl 5. september 2012 Dagens stoff er hentet fra kapittel 9 i læreboka, samt kapittel 20.5 (som vi «hoppet over» sist) Kapittel 9 er lagt ut på undervisningsplanen.

Detaljer

MAT Oblig 1. Halvard Sutterud. 22. september 2016

MAT 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

Detaljer

Dynamisk programmering Undervises av Stein Krogdahl

Dynamisk programmering Undervises av Stein Krogdahl Dynamisk programmering Undervises av Stein Krogdahl 5. september 2012 Dagens stoff er hentet fra kapittel 9 i læreboka, samt kapittel 20.5 (som vi «hoppet over» sist) Kapittel 9 er lagt ut på undervisningsplanen.

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Side Det matematisk-naturvitenskapelige fakultet Prøveekasmen 2007, med svarforslag Eksamen i: INF 330/430: Algoritmer: Design og effektivitet Eksamensdag: Fredag. desember 200 Tid

Detaljer

INF2810: Funksjonell Programmering

INF2810: Funksjonell Programmering INF2810: Funksjonell Programmering Omgivelsesmodeller og destruktive listeoperasjoner Stephan Oepen & Erik Velldal Universitetet i Oslo 15. mars 2013 Tema 2 Forrige uke Representasjon av mengder Sorterte

Detaljer

Forelesning 33. Repetisjon. Dag Normann mai Innledning. Kapittel 11

Forelesning 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

Detaljer

INF Algoritmer og datastrukturer

INF Algoritmer og datastrukturer INF2220 - Algoritmer og datastrukturer HØSTEN 2016 Ingrid Chieh Yu Institutt for informatikk, Universitetet i Oslo Forelesning 5: Grafer I Ingrid Chieh Yu (Ifi, UiO) INF2220 H2016, forelesning 5 1 / 49

Detaljer

LØSNINGSFORSLAG ØVING 2 - APPROKSIMERING AV TSP

LØSNINGSFORSLAG ØVING 2 - APPROKSIMERING AV TSP LØSNINGSFORSLAG ØVING 2 - APPROKSIMERING AV TSP Approksimering av Travling Salesman Problem er her illustrert vha. en genetisk algoritme (GA). Den grunnlegge metaforen for en genetisk algoritme er evolusjon

Detaljer

Live life and be merry

Live life and be merry Om grådighet og først litt mer DP. Live life and be merry Ellevte forelesning for tomorrow you may catch some disgusting skin disease. [Edmund Blackadder] 1 2 g i t k i s K o rt Grådighet All form for

Detaljer

Kapittel 5: dualitetsteori

Kapittel 5: dualitetsteori LP Leksjon 5 Kapittel 5: dualitetsteori motivasjon det duale problemet svak og sterk dualitet det duale til LP problemer på andre former LP Leksjon 5: #1 of 17 Motivasjon Til ethvert LP problem (P) er

Detaljer

Kap. 4 del I Top Down Parsering INF5110 v2006. Stein Krogdahl Ifi, UiO

Kap. 4 del I Top Down Parsering INF5110 v2006. Stein Krogdahl Ifi, UiO Kap. 4 del I Top Down Parsering INF5110 v2006 Stein Krogdahl Ifi, UiO 1 Innhold First og Follow-mengder Boka ser på én parseringsmetode først, uten å se på First/Follow-mengder. Vi tar teorien først To

Detaljer

Sensitivitet og kondisjonering

Sensitivitet og kondisjonering Sensitivitet og kondisjonering Gitt en lineær likningssystem Ax = b vi skal studere effekten av perturbasjoner av input data: 1/19 på output data: Man kan A, b x perturbere bare b perturbere b og A samtidig.

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i INF-MAT 3370 Lineær optimering Eksamensdag: 3. juni 2008 Tid for eksamen: 14.30 17.30 Oppgavesettet er på 5 sider. Vedlegg: Ingen

Detaljer

INF Stein Krogdahl. NB: Det som under forelesningen ble kalt et vitne er nå omdøpt til et sertifikat.

INF Stein Krogdahl. NB: Det som under forelesningen ble kalt et vitne er nå omdøpt til et sertifikat. INF 4130 15. oktober 2009 Stein Krogdahl NB: Det som under forelesningen ble kalt et vitne er nå omdøpt til et sertifikat. Dagens tema: NP-kompletthet Eller: hvilke problemer er umulig å løse effektivt?

Detaljer

MAT1030 Diskret Matematikk

MAT1030 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

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i: STK2100 - FASIT Eksamensdag: Torsdag 15. juni 2017. Tid for eksamen: 09.00 13.00. Oppgavesettet er på 5 sider. Vedlegg: Tillatte

Detaljer

Avanserte flytalgoritmer

Avanserte flytalgoritmer Avanserte flytalgoritmer Magnus Lie Hetland, mars 2008 Stoff hentet fra: Network Flows av Ahua m.fl. (Prentice-Hall, 1993) Graphs, Networks and Algorithms, 2. utg., av Jungnickel (Springer, 2005) Repetisjon

Detaljer

NP-kompletthet. «Hvordan gjøre noe lett for å vise at noe annet er vanskelig»

NP-kompletthet. «Hvordan gjøre noe lett for å vise at noe annet er vanskelig» NP-kompletthet «Hvordan gjøre noe lett for å vise at noe annet er vanskelig» Gjennomgang Øving 12, maks flyt Oppskrift på et NPkomplett problem 1. Vise at problemet er veldig lett å sjekke 2. Vise at problemet

Detaljer

Repetisjon: Statiske språk uten rekursive metoder (C1 og C2) Dagens tema Kjøresystemer (Ghezzi&Jazayeri 2.6, 2.7)

Repetisjon: Statiske språk uten rekursive metoder (C1 og C2) Dagens tema Kjøresystemer (Ghezzi&Jazayeri 2.6, 2.7) Dagens tema Kjøresystemer (Ghezzi&Jazayeri.6,.7) Repetisjon Språk med rekursjon (C3) og blokker (C4) Statisk link Dynamisk allokering (C5) Parameteroverføring 1/5 Repetisjon: Statiske språk uten rekursive

Detaljer

Dagens tema Kjøresystemer (Ghezzi&Jazayeri 2.6, 2.7)

Dagens tema Kjøresystemer (Ghezzi&Jazayeri 2.6, 2.7) Dagens tema Kjøresystemer (Ghezzi&Jazayeri 2.6, 2.7) Repetisjon Språk med rekursjon (C3) og blokker (C4) Statisk link Dynamisk allokering (C5) Parameteroverføring 1/25 Forelesning 11 5.11.2003 Repetisjon:

Detaljer

INF3/4130 PRØVE-EKSAMEN MED SVARFORSLAG Gjennomgås 1/ , (lille aud.)

INF3/4130 PRØVE-EKSAMEN MED SVARFORSLAG Gjennomgås 1/ , (lille aud.) Oppgave 1 Uavgjørbarhet INF3/4130 PRØVE-EKSAMEN MED SVARFORSLAG Gjennomgås 1/12-2005, 14.15 (lille aud.) L = {(M 1, M 2 ) M 1 og M 2 er Turingmaskiner som er ekvivalente, dvs. gir samme output for samme

Detaljer

INF2810: Funksjonell Programmering

INF2810: Funksjonell Programmering INF2810: Funksjonell Programmering Omgivelsesmodeller og destruktive listeoperasjoner Stephan Oepen & Erik Velldal Universitetet i Oslo 15. mars 2013 Tema 2 Forrige uke Representasjon av mengder Sorterte

Detaljer

IN Algoritmer og datastrukturer

IN Algoritmer og datastrukturer IN010 - Algoritmer og datastrukturer HØSTEN 018 Institutt for informatikk, Universitetet i Oslo Forelesning 6: Grafer III Ingrid Chieh Yu (Ifi, UiO) IN010 0.10.018 1 / 0 Dagens plan: Dybde-først søk Biconnectivity

Detaljer

Plenumsregning 1. Kapittel 1. Roger Antonsen januar Velkommen til plenumsregning for MAT1030. Repetisjon: Algoritmer og pseudokode

Plenumsregning 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

Detaljer

Del A: Diskret optimering og heuristiske metoder Leksjon 3

Del A: Diskret optimering og heuristiske metoder Leksjon 3 Del A: Dskret optmerng og heurstske metoder Leksjon 3 Sjefsforsker Ger Hasle SINTEF Anvendt matematkk, Oslo!"# Eksempler på DOP Alternatve formulernger Defnsjon nabolag, -operator Lokalsøk Defnsjon lokalt

Detaljer