INF-MAT

Størrelse: px
Begynne med side:

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

Transkript

1 INF-MAT Leksjon 8

2 Diskrete optimeringsproblemer (DOP) Finnes overalt operasjonsanalyse kunstig intelligens mønstergjenkjenning geometri økonomi bildeanalyse Er som regel ikke effektivt løsbare kompleksitetsteori NP-harde problemer P NP NP\ P vi kan antakelig ikke finne polynomielle eksakte algoritmer Eksempler på NP-harde problemer TSP, TSPTW, VRP Ryggsekkproblemet INF-MAT Geir Hasle - Leksjon 8 2

3 Hva består et DOP av? 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 DOP-formuleringer Matematisk program LP MIP, IP, PIP viktig spesialtilfelle Constrained Optimization Problem CSP + objektiv Generell, kompakt formulering INF-MAT Geir Hasle - Leksjon 8 4

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

6 Lineær heltallsprogrammering n j1 = j n max ζ= c x slik at j1 = j ij j i j ax b i= 1, K,m x 0 j= 1, K,n n j1 = j i n max ζ= c x slik at x j1 = j ij j i j ax b i= 1, K,m 0 j = 1, K,n { K n} + x N i I 1,, Blandete heltallsprogrammer (Mixed Integer Programs MIP) Rene heltallsprogrammer (Pure Integer Programs IP, PIP) 0-1 programmer { K } i I 1,,n { K } i I= 1,,n i { } x 0,1 INF-MAT Geir Hasle - Leksjon 8 6

7 (Lineær) Heltallsprogrammering 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 Definisjon Diskret Optimeringsproblem 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 Definisjon DOP-instans S, f ( ) En DOP-instans er et par der S= { s} er mengden av tillatte (interessante) løsninger og f:s R er kostnadsfunksjonen. Målet (antar minimering) 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 Kommentarer DOP-definisjon S er sjelden gitt eksplisitt S ofte delmengde av brukbare løsninger i større mengde (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 r r (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 Eksempel 1: En TSP-instans 3 byer: 1, 2, ( S, f ) min f ( s) s S { } { } S = (1, 2, 3), (1, 3, 2), (2,1, 3), (2, 3,1), (3,1, 2), (3, 2,1) s, K, s f (s ) = = 20 M 1 f (s ) = = INF-MAT Geir Hasle - Leksjon 8 11

12 Alternativ DOP-representasjon Constrained Optimization Problem (COP) r Gitt x = x,, x ( K ) 1 n ( ) ( ) { } { } 1 K n = 11 K 1k K n1 K nk D= D,,D v, v,, v, v f:d L D R 1 n { } 1 K i (k) (k) (k) C = c,,c, k = 1, n c D (k) L D (k) j j r r min f (x v) slik at r v c,j= 1, Ki, k (k) j π (1) π (k) (k) j k k K 1 n INF-MAT Geir Hasle - Leksjon 8 12

13 Løsningsmetoder for DOP Eksakte metoder generer og test, eksplisitt enumrering matematisk programmering implisitt enumrering Approksimasjonsmetoder med garantier heuristikker INF-MAT Geir Hasle - Leksjon 8 13

14 Eksakte metoder for DOP 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 og delproblemer INF-MAT Geir Hasle - Leksjon 8 14

15 Motivasjon for heuristiske løsningsmetoder for DOP 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 Videre motivasjon - heuristikker 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 sammensmelting i de senere år INF-MAT Geir Hasle - Leksjon 8 16

17 Heuristikk 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 Lokalsøk for DOP 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 Gitt en løsning, hvordan finne bedre løsning? Modifikasjon av gitt løsning gir naboløsning En viss type operasjon på løsningen gir et sett med naboer, et nabolag En spesifikk type operasjon kalles en nabolagsoperator (eller bare operator) Evaluering av naboer objektfunksjon tillatt? INF-MAT Geir Hasle - Leksjon 8 19

20 Eksempel: TSP Operator: 2-opt ta ut to kanter kombiner til lovlig tur Hvor mange naboer? INF-MAT Geir Hasle - Leksjon 8 20

21 Eksempel: Ryggsekk-instans 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 Definisjon: Nabolag 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 Ns () 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 Nabolagsoperator 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 Lokalsøk (nabolagssøk) Utgangspunkt i initiell løsning Iterativt søk i nabolag etter bedre løsning Sekvens av løsninger sk+ 1 Nσ( sk), k = 0, K 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 Definisjon: Lokalt optimum 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 Lokalsøk med Steepest Descent Procedure Local_Search_SD(init_sol,N,f) current:=init_sol new_current:=best_neighbor(current,n,f) ; Antar current returneres når det ikke er bedre nabo 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 Observasjoner First Accept og Steepest Descent (a.k.a Hill-climbing, Iterative improvement ) 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 Lokalsøk: Traversering av nabolagsgrafen sk+ 1 Nσ( sk), k = 0, K 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 Lokale og globale optima Kostnad Løsningsrom INF-MAT Geir Hasle - Leksjon 8 29

30 Unnslippe lokale optima i LS - noen mulige strategier 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 Metaheuristikker (Generelle heuristikker) 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 Noen metaheuristikker 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 Definisjon av metaheuristikk (a la Osman & Kelly) 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 Definisjon av metaheuristikk (a la Glover & Kochenberger) 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 Variant av lokalsøk: Tilfeldig søk ( Random Search ) Procedure Random_Search(f,N,Stop,initial) begin current:=incumbent:=initial; while not Stop() do begin current:=random_solution(n(current)) if f(current) < f(incumbent) then begin incumbent:=current; end end return incumbent end Stoppkriterier? INF-MAT Geir Hasle - Leksjon 8 35

36 Metaheuristikken Simulert størkning (Simulated Annealing, SA) 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 Simulert størkning (SA) 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 Valg av flytt i SA 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 Akseptanse av dårligere løsning e t Tilfeldig nabolagssøk Lokalsøk (Random Descent) t = t 0 INF-MAT Geir Hasle - Leksjon 8 39

40 Statistisk analyse av SA 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 SA i praksis 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 SA i praksis heksekunst geometrisk rekke ti+ 1 = ati, i = 0, K, 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 SA Generelle beslutninger 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 SA Modifikasjoner og utvidelser 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 Valg av flytt - Threshold Accepting (TA) Procedure Select_TA_Neighbor (f,current,neighbors,incumbent,theta1) */ Strategy is Threshold Accepting while true do begin 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 end Problem med denne prosedyren? INF-MAT Geir Hasle - Leksjon 8 45

46 Valg av flytt - Record-to-Record Travel Procedure Select_RRT_Neighbor (f,current,neighbors,incumbent,theta2) */ Strategy is Record-to-Record Travel whiletruedo 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*f(incumbent) */ theta2 > 1 then return i INF-MAT Geir Hasle - Leksjon 8 46

47 SA Kombinasjon med andre metoder Preprossesering god startløsning Standard lokalsøk underveis hvert aksepterte flytt hver forbedrende flytt SA i konstruksjonsheuristikker SA som Lokalsøk i andre metaheuristikker INF-MAT Geir Hasle - Leksjon 8 47

48 SA - Oppsummering 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 Tabusøk - Hovedidéer 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 Grunnleggende Tabusøk 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 Taburestriksjoner 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 Local_Search (S,f,N,Basic_Tabu_Search) incumbent:=current:=init_solution(s) */ best solution until now */ local_optimum:=false while not Stopping_Criterion() do od current:=search_the_neighborhood (current,n,f,basic_tabu_search,incumbent) if f(current) < f(incumbent) then incumbent:=current */ if local_optimum return incumbent return incumbent INF-MAT Geir Hasle - Leksjon 8 52

53 Search_the_Neighborhood (current,n,f,strategy,incumbent) */ 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 Update_Tabu_List(best_acceptable_neighbor,Tabu_List) return best_acceptable_neighbor INF-MAT Geir Hasle - Leksjon 8 53

54 Eksempel: TSP Valgt representasjon: permutasjonsvektor Triviell initialløsning: identitetspermutasjonen Flytt: parvis bytte 5 ( i, j) i< j i, j [ 1, n] INF-MAT Geir Hasle - Leksjon 8 54

55 TSP-eksempel - Flytt Bytte i permutasjonsvektor Flytt: Bytt(5,6) INF-MAT Geir Hasle - Leksjon 8 55

56 TSP-eksempel Antall flytt: Til hvert flytt: flyttverdi n 2 ik+ 1 Nσ( ik), k = 0, K = 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 TSP-eksempel - Tabukriterier og datastruktur 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 TSP-eksempel - iterasjon 2 Verdi: Gjeldende løsning Bytte Verdi 3,1-2 2,3-1 3,6 1 7,1 2 6,1 4 Kandidatliste Velger flytt: (3,1) Tabu-liste INF-MAT Geir Hasle - Leksjon 8 58

59 TSP-eksempel - Frekvensbasert langtidsminne Brukes typisk til å diversifisere (spre) søket, men kan også brukes til intensifisering Aktiveres f. eks. når det ikke har vært forbedrende flytt på en stund Brukes i langtidsstrategi for diversifisering ved å straffe attributter som har forekommet ofte Tabu-status (nærhet i tid) Frekvens av flytt INF-MAT Geir Hasle - Leksjon 8 59

60 TS - Generell formulering 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 Kritiske valg i TS 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 Tabusøk - Attributter 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 Bestemmelse av tabuvarighet 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 Aspirasjonskriterier 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 og diversifisering 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 Intensifisering og diversifisering - enkle mekanismer 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 Straff og oppmuntring (Pisk og gulrot) 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 Path relinking 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 Strategisk oscillering 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 Tabusøk - Sammendrag 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 Guided Local Search - Hovedidé 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 GLS - Utvidet objektiv Sett av egenskaper E={ e i Indikatorfunksjon: }, i=1 G 1, hvis løsning s inneholder ei Ii () s =, s S 0, hvis løsning s ikke inneholder ei Straffevektor p=[p i ], i=1 G, antall ganger egenskap e i er straffet til nå Straffefaktor eller reguleringsparameter λ f '( s) = f( s) + λ I ( s) p i G i= 1 i Kostnadsvektor c=[c i ], c i > 0, i=1 G, gir kostnad for e i INF-MAT Geir Hasle - Leksjon 8 72

73 GLS Utvidet objektiv - kommentarer f '( s) = f( 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) e i som har høyest verdi ( utility ), u i (s min, e 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, straffes INF-MAT Geir Hasle - Leksjon 8 73

74 GLS(S, f, λ, I, c, G, stopcriterion, N) { } int k := 0; // number of GLS-iterations s* := s k := InitialSolution(S); // get initial solution set all p i := 0; // set all penalties to zero while (stopcriterion not satisfied) do { f = f + λ* (I i *p i ); s k+1 = Local_Search (s k, f, 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 (f(s k+1 ) < f(s*)) s* = s k+1 ; // save best solution found until now } return s*; INF-MAT Geir Hasle - Leksjon 8 74

75 GLS - eksempel : TSP Egenskap: kant Kostnad på egenskap: lengden Egenskap en assosiert med e 26 vil bli straffet i løsningen til høyre: I neste runde med lokalsøk er objektivverdien som før (f(s)) bortsett fra hvis e 26 er med, da er verdien f(s)+λ INF-MAT Geir Hasle - Leksjon 8 75

76 GLS - eksempel : TSP 5 Etter neste lokalsøk blir e 34 straffet. Deretter er objektivverdien som før (f(s)) bortsett fra hvis e 26 eller e 34 er med f () s, både e og e s f '( s) = f(s)+ λ, e eller e s f(s)+2 λ, både e og e s INF-MAT Geir Hasle - Leksjon 8 76

77 GA - Analogier med biologi Representasjon av komplekse objekter ved en vektor av enkle komponenter Kromosomer Selektiv forplantning Darwinistisk evolusjon Klassisk GA: Binær enkoding INF-MAT Geir Hasle - Leksjon 8 77

78 Klassisk GA: Binære kromosomer 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 78

79 Genotype, Phenotype, Populasjon Genotype kromosom samling av kromosomer kodet streng, samling av kodete strenger Phenotype det fysiske uttrykk egenskapene som en mengde løsninger har Populasjon - en mengde løsninger INF-MAT Geir Hasle - Leksjon 8 79

80 Genetiske operatorer Manipulerer kromosomer/løsninger Mutasjon: Unær operator Krysning (crossover): Binær operator Invertering... INF-MAT Geir Hasle - Leksjon 8 80

81 GA - Evolusjon Generasjon X Generasjon X+1 Mutasjon M=10 Krysning Seleksjon INF-MAT Geir Hasle - Leksjon 8 81

82 Klassisk GA: Binære kromosomer 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 82

83 GA - Mutasjon INF-MAT Geir Hasle - Leksjon 8 83

84 GA - Klassisk krysning (1-punkt) En forelder velges basert på fitness Den andre forelder velges tilfeldig Tilfeldig valg av krysningspunkt Forelder 1 Forelder 2 Krysningspunkt Avkom Avkom 2 INF-MAT Geir Hasle - Leksjon 8 84

85 GA klassisk krysning forts. 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 85

86 GA standard reproduksjonsplan 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 86

87 Teoretisk analyse av GA (Holland) 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 87

88 Skjema - fitness Hver gang vi evaluerer fitness til et kromosom samles informasjon om gjennomsnittlig fitness til hvert av skjemaene Teoretisk: Populasjon kan inneholde (M 2 n ) skjema I praksis: overlapp INF-MAT Geir Hasle - Leksjon 8 88

89 GA Iboende parallelitet En rekke skjema evalueres i parallell Hvor mange? Under rimelige antakelser: O(M 3 ) Ved anvendelse av genetiske operatorer vil de skjema som representeres i populasjonen øke eller minke i forhold til relativ fitness Skjemateoremet INF-MAT Geir Hasle - Leksjon 8 89

90 Fitness-ratio Forholdet mellom gjennomsnittlig fitness av et skjema e(s) og gjennomsnittlig fitness til populasjonen P ( ) e S = s S f() s N( S) f() s s P M INF-MAT Geir Hasle - Leksjon 8 90

91 Skjemateoremet 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 e(s,t) i generasjon t, så er forventet antall representanter for skjema S i generasjon t+1 begrenset av: ls ( ) E( S, t+ 1) 1 P ( 1 (, )) c P S t Pmk( S) e( S, t) N( S, t) n 1 S overlever krysning og mutasjon INF-MAT Geir Hasle - Leksjon 8 91

92 Korollar Representasjonen av skjema S vil i gjennomsnitt øke dersom ls ( ) est (, ) 1 + Pc + PkS m ( ) 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 92

93 GA Byggeblokkhypotesen Goldberg (1989) Korte, lavordens skjema kombineres til bedre og bedre løsninger INF-MAT Geir Hasle - Leksjon 8 93

94 Konstruktive heuristikker 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 94

95 GRASP Variant av Tilfeldig restart Konstruksjon med tilfeldighet Ligner ACO Begrenset kandidatliste for utvidelse INF-MAT Geir Hasle - Leksjon 8 95

96 Squeaky Wheel Optimization 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 96

97 Variabelt nabolagssøk (VNS) 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, Kk k max INF-MAT Geir Hasle - Leksjon 8 97

98 Iterert lokalsøk 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 98

99 Itererert lokalsøk 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 99

100 Itererert lokalsøk Hvor stor skal perturbasjonen være? For liten perturbasjon: fare for å havne i samme Basin of attraction For mye perturbasjon: Random restart Variabel størrelse på perturbasjon INF-MAT Geir Hasle - Leksjon 8 100

101 Itererert lokalsøk Perturbasjon ved flytt 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 101

102 Kategorisering av metaheuristikker Individ vs. populasjon Probabilistiske vs. deterministiske Minneløse vs. minnerike Modifikasjon av kostnadsfunksjon Nabolagsbaserte vs. Multi-start baserte INF-MAT Geir Hasle - Leksjon 8 102

103 Nabolagsbaserte vs. Multi-start baserte metaheuristikker 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 103

104 GUT of Metaheuristics? Hvilke mekanismer virker? lokalsøk restart tilfeldighet oppoverflytt minne straff diversifisering populasjon... Hva med å lage en universell metaheuristikk? No free lunch -teoremet INF-MAT Geir Hasle - Leksjon 8 104

105 No Free Lunch -teoremet (Wolpert & MacReady, 1995) 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 105

106 GUT for metaheuristikker Det er liten vits i å sause sammen alle metaheuristikker til en metode Opportunistisk resonnering analyse av problemet / problemløsningsstatus valg av aktuell teknikk læring styring av søkeprosess etter kjølvannet INF-MAT Geir Hasle - Leksjon 8 106

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

108 Hyperheuristikk 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 108

109 Hyperheuristikker 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 109

110 INF-MAT-5380 Takk for deltakelsen!

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

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

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 4 Leksjon 3 - Oversikt Tilfeldig søk Simulert størkning Terskelakseptanse INF-MAT 5380 - Geir Hasle - Leksjon 4 2 SA - Oppsummering

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

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

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

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

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

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

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

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

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

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

!# $%&' P NP NP \ P. Finnes overalt. Er som regel ikke effektivt løsbare. Eksempler på NP-harde problemer Leksjon 8 !"# $%&' 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

PG4200 Algoritmer og datastrukturer forelesning 10. Lars Sydnes 21. november 2014

PG4200 Algoritmer og datastrukturer forelesning 10. Lars Sydnes 21. november 2014 PG4200 Algoritmer og datastrukturer forelesning 10 Lars Sydnes 21. november 2014 I Grafer Grafisk fremstilling av en graf D A B C Ikke-rettet graf Grafisk fremstilling av en graf D A B C Rettet graf Grafisk

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

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

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

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

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

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

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

MAT1140: Kort sammendrag av grafteorien

MAT1140: Kort sammendrag av grafteorien MAT1140, H-15 MAT1140: Kort sammendrag av grafteorien Dette notatet gir en kort oppsummering av grafteorien i MAT1140. Vekten er på den logiske oppbygningen, og jeg har utelatt all motivasjon og (nesten)

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

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

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

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

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

Plenumsregning 1. MAT1030 Diskret Matematikk. Repetisjon: Algoritmer og pseudokode. Velkommen til plenumsregning for MAT1030

Plenumsregning 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

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

Velkommen til plenumsregning for MAT1030. MAT1030 Diskret matematikk. Repetisjon: Algoritmer og pseudokode. Eksempel fra boka. Eksempel

Velkommen 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

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

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

4.4 Koordinatsystemer

4.4 Koordinatsystemer 4.4 Koordinatsystemer Minner om at B = { b 1, b 2,..., b n } V kalles en basis for et vektorrom V dersom B er lineært uavhengig og B utspenner V. I samme vektorrom kan vi innføre ulike koordinatsystemer

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

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

INF Algoritmer og datastrukturer

INF Algoritmer og datastrukturer INF2220 - Algoritmer og datastrukturer HØSTEN 2017 Ingrid Chieh Yu Institutt for informatikk, Universitetet i Oslo Forelesning 4: Prioritetskø og Heap Ingrid Chieh Yu (Ifi, UiO) INF2220 H2017, forelesning

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

Grunnleggende Grafteori

Grunnleggende 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

Detaljer

MAT1030 Plenumsregning 1

MAT1030 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

Detaljer

MAT1030 Diskret matematikk

MAT1030 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

Detaljer

INF1020 Algoritmer og datastrukturer GRAFER

INF1020 Algoritmer og datastrukturer GRAFER GRAFER Dagens plan: Avsluttende om grådige algoritmer Huffman-koding (Kapittel 10.1.2) Dynamisk programmering Floyds algoritme for korteste vei alle-til-alle (Kapittel 10.3.4) Ark 1 av 16 Forelesning 22.11.2004

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

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

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

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

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

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

MAT1140: Kort sammendrag av grafteorien

MAT1140: Kort sammendrag av grafteorien MAT1140: Kort sammendrag av grafteorien Dette notatet gir en kort oversikt over den delen av grafteorien som er gjennomgått i MAT1140 høsten 2013. Vekten er på den logiske oppbygningen, og jeg har utelatt

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

INF 4130. 8. oktober 2009. Dagens tema: Uavgjørbarhet. Neste uke: NP-kompletthet

INF 4130. 8. oktober 2009. Dagens tema: Uavgjørbarhet. Neste uke: NP-kompletthet INF 4130 8. oktober 2009 Stein Krogdahl Dagens tema: Uavgjørbarhet Dette har blitt framstilt litt annerledes tidligere år Se Dinos forelesninger fra i fjor. I år: Vi tenker mer i programmer enn i Turing-maskiner

Detaljer

Ikke lineære likninger

Ikke lineære likninger Ikke lineære likninger Opp til nå har vi studert lineære likninger og lineære likningsystemer. 1/19 Ax = b Ax b = 0. I en dimensjon, lineære likninger kan alltid løses ved hjelp av formler: ax + b = 0

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

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

Kombinatorikk. MAT1030 Diskret Matematikk. Oppsummering av regneprinsipper

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

Detaljer

MAT1030 Diskret Matematikk

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

Detaljer

LP. Leksjon 7. Kapittel 13: Nettverk strøm problemer

LP. Leksjon 7. Kapittel 13: Nettverk strøm problemer LP. Leksjon 7. Kapittel 13: Nettverk strøm problemer Skal studere matematiske modeller for strøm i nettverk. Dette har anvendelser av typen fysiske nettverk: internet, vei, jernbane, fly, telekommunikasjon,

Detaljer

LP. Leksjon 6: Kap. 6: simpleksmetoden i matriseform, og Seksjon 7.1: følsomhetsanalyse

LP. Leksjon 6: Kap. 6: simpleksmetoden i matriseform, og Seksjon 7.1: følsomhetsanalyse LP. Leksjon 6: Kap. 6: simpleksmetoden i matriseform, og Seksjon 7.1: følsomhetsanalyse matrisenotasjon simpleksalgoritmen i matrisenotasjon eksempel negativ transponert egenskap: bevis følsomhetsanalyse

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

Avsluttende eksamen i TDT4125 Algoritmekonstruksjon, videregående kurs

Avsluttende 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

Detaljer

Kap 9 Tre Sist oppdatert 15.03

Kap 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

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