A study of different matching heuristics. Hovedfagspresentasjon Jan Kasper Martinsen
|
|
- Gro Christensen
- 7 år siden
- Visninger:
Transkript
1 A study of different matching heuristics Hovedfagspresentasjon Jan Kasper Martinsen
2 Terminologi: Graf teori
3 En graf består av et sett med noder
4 Nodene er tilknyttet hverandre ved hjelp av kanter
5 Hver kant har en node i hver ende, og når vi referer til disse kaller vi dem endepunkter.
6 Noder og kanter utgjør sammen en struktur som kalles for en graf
7 Vi utvider ved å legge til såkalte vekter på noder og kanter, og introduserer dermed en vektet graf. For resten av presentasjonen skal vi anta at alle grafene er vektet, men at både noder og kanter i utgangspunktet har vekten 1.
8 Nabolagvekt = Nabolag = 4 Vi introduserer også konseptet med nabolag og nabolagvekt.
9 Graf strukturen har en del applikasjoner i det virkelige liv, og det er flere problemer som har blitt definert rundt denne. Et av problemene er graph partisjonerings problemet som vi vil behandle under denne presentasjonen.
10 Del 1 Del 3 Del Problemet er følgende: Del opp grafen i en gitt antall deler, slik at følgende betingelser er oppfylt: 1. Hver del inneholder (omtrentlig samme nodevekt). Det er så få mulige kanter mellom de ulike delene som mulig
11 Del 1 Del 3 Del Vi sier at forholdet mellom den delen med flest noder og den optimale størrelsen på en del (dvs. antall noder / deler) er last-balanse. Vi sier videre at summen av kantvekten mellom de forskjellige delene er kant-kuttet.
12 Selv om problemet er enkelt å forstå er det uvisst hvorvidt det finnes en effektiv metode som finner den optimale partisjonen i løpet av en fornuftig tid. Vi kan løse det med å lete igjennom alle kombinasjonene av partisjoner, men siden antall kombinasjoner øker eksponentsielt med antall noder i grafen kan vi risikere at dette tar lang tid.
13 Noder Kanter Endepunkter Naboer Graf partisjonerings problemet Kant-kutt og last-balanse
14 Løsning av graf partisjonerings problemet
15 Suboptimale metoder for å finne partisjoner Grådige graf partisjonerings metoder Rekursive graf biseksjonsmetoder Multilevel partisjonerings metoder Dette er fellesbetegnelse på metoder som er raske, men som kan finne partisjoner som (kan være) langt fra de optimale med hensyn på kantkutt og last-balanse.
16 Multilevel metoder Ideen er, krympe grafen. Når den er tilstrekkelig liten så kan vi bruke en sofistikert metode for finne en partisjon, og så kan vi projisere denne partisjonen tilbake til det opprinnelige størrelsen.
17 Multilevel metoder Motivasjonen bak denne teknikken var (selvfølgelig) å gjøre prosessen raskere. Men det ble også oppdaget en egenskap til, som vi skal snakke om senere
18 Multilevel metoder forgrovning partisjonering forfining Metoden er delt opp i tre faser, forgrovning, initial partisjoneringer og forfining.
19 Forgrovning For å lage en mindre graf bruker vi en teknikk fra graf teori som kalles matching.
20 Forgrovning, matching Matching er et sett med kanter, slik at alle endepunktene er distinkte (dvs. at et ende punkt ikke forekommer mer enn en gang). Dette kalles en maksimal matching
21 Forgrovning, matching Tilsvarende, hvis vi finner en maksimal matching, hvor alle nodene er med som endepunkt kaller vi det en perfekt matching. ikke alle grafer har perfekte matchinger
22 Forgrovning, matching Hvordan relaterer matching seg til forgrovningfasen? Matching brukes som en metode for å rekonstruere en mindre graf.
23 Forgrovning, matching De to endepunktene kombineres til en såkalt multinode. Merk at nodevekten til multinoden er lik summen av de to nodene som utgjør multinoden.
24 Forgrovning, matching Videre ser vi at de to endepunktene som utgjør multinoden er nabo til samme node. Dermed slåes de to kantene sammen til en kant, hvor vekten er lik summen av de to kantene.
25 Forgrovning, matching Matching < terskel? rekonstruksjon Denne prosessen repeteres inntil den nye grafen er vesentlig mindre enn den opprinnelige.
26 Initiell partisjonering Initial partisjonering, siden grafen blir mindre kan vi tillate oss å bruke en sofistikert metode for å partisjonere grafen (selv om vi normalt ikke gjør det)
27 Forgrovning, matching Takket være at vi har lagt sammen node-vekt og kant-vekt, vet vi at kant-kutte til den initial partisjoneringen er den samme som når vi projiserer grafen tilbake.
28 Forfining Vi pakker opp multinodene, og plasserer de to nodene i samme partisjon som multinoden. Dette gjøres stegvis inntil det ikke er flere multinoder igjen.
29 Forfining Kant-kutt = 5 Kant-kutt = 4 I tillegg, kan vi gå igjennom nodene og forsøke å flytte dem for å forbedre kant-kuttet uten å forverre last balansen. Dette kan gjøres ved å gå igjennom nodene i grafen og flytte noden til en annen partisjon hvis dette forbedrer kant-kuttet uten å forverre last balansen (*)
30 Multilevel partisjonering Forgrovning Initial partisjonering Forfining Maksimal matching Perfekt matching
31 Matching heuristikk (eller hvordan velge kanter?)
32 Matching heuristikker Hvilken rekkefølge vi legger kanter, og hvilke kanter vi velger bestemmer hvor mange noder den rekonstruerte grafen vil ha. Matching heuristikker er essensielt regler for hvilke kanter som velges til en matching.
33 Matching heuristikker Random matching (RM) Heavy edge matching (HEM) Local greedy heavy edge matching (LGHEM) Global greedy heavy edge matching (GGHEM)
34 Matching heuristikker, Random matching Vi velger noder tilfeldig. Hvis noden ikke er et endepunkt i en kant som allerede er med i en matching, så velger vi en nabonode (tilfeldig), og legger denne kanten til en matching.
35 Motivasjon, gjemme tunge kanter, slik at kant-kutter blir minst mulig for den initial partisjonen. Matching heuristikker, heavy edge matching Utvidelse av RM. Vi velger en node tilfeldig, vi velger den naboen slik at kanten-vekten mellom noden og naboen er den største blant alle naboene.
36 Matching heuristikker, local greedy heavy edge matching HEM velger den nabo-noden som knyttes til den valgte naboen med høyest mulig kantvekt. Men det er jo ikke gitt at denne kanten er den tyngste kanten nabo-noden er tilknyttet til
37 Matching heuristikker, local greedy heavy edge matching Dette er motivasjonen for local greedy heavy edge matching, vi leter inntil vi finner to noder som er sammenknyttet med den samme maksimale kant-vekten (Det finnes alltid to slike noder)
38 Matching heuristikker, global greedy heavy edge matching Local greedy heavy edge matching er nesten det det samme som følgende: Sortere alle kantene basert på deres kant-vekt, og velge kanter i stigende rekkefølge. Da er ikke man ikke så avhengig av topologien til grafen, som når man bruker de andre metodene.
39 Matching heuristikker, global greedy heavy edge matching Det uheldige er at programmet vårt ikke er tilpasset for kanter, dette gjorde at vi måtte lage en bygge opp en ny datastruktur, sortere kantene og begynne å velge kantene
40 Random matching Heavy edge matching Local greedy heavy edge matching Global greedy heavy edge matching
41 Resultater, kant-kutt og kjøre tid
42 Resultater Local greedy heavy edge matching og global greedy heavy edge matching er plassert inn i METIS partisjonerings programvare.
43 Resultater, kant-kutt Motivasjonen bak heavy edge matching var å fjerne tunge kanter slik at summen av kant-vekt ble minst mulig for den groveste grafen. Igjen for å få minst mulig kant-kutt I følge dette kriteriet så local greedy heavy edge matching bedre enn heavy edge matching. Siden den nesten alltid (>90%) har lavere kant-vekt og kant-kutt på det groveste nivået.
44 Resultater, kant-kutt Men etter forfining, så ser vi at partisjonene hvor local greedy heavy edge matching kun gir lavere kant-kutt for 60% av tilfellene.. Vi fant ut at dette skyldes at grafen på det groveste nivået hadde færre naboer hvis local greedy heavy edge matching ble brukt som matching heuristikk i tillegg til at man bruker færre forgrovningsnivåer enn heavy edge matching. Forfining tilsynelatende mer effektivt for HEM enn for LGHEM.
45 Resultater, kant-kutt Men samtidig, kant-kutter er generelt lavere ved bruk av local greedy heavy edge matching enn heavy edge matching. Når det gir det laveste kant-kuttet, så er det generelt 7% lavere enn ved heavy edge matching. (generelt % lavere når heavy edge matching bruker det laveste kant-kuttet)
46 Resultater, kant-kutt Hvorfor lager local greedy heavy edge matching grovere grafer med et lavere antall naboer enn heavy edge matching? Siden LGHEM ofte matcher tyngre kanter enn HEM, og tyngre kanter indikerer noder som har vært matched flere ganger Matching av noder med et stort antall naboer gir ofte færre kanter ut, siden flere av kantene blir slått sammen.
47 Resultater, kant-kutt Hvis vi sammenlikner GGHEM og LGHEM ser vi at LGHEM har lavere kant-vekt på laveste nivå, men GGHEM lager oftere den initial partisjonen med lavest kant-kutt. Vi fant ut at GGHEM hadde et høyt antall kanter, noe som virket positivt på den fineste partisjonen. Men for den endelige partisjonen, så ga de to metodene kant-kutt resultater som var like.
48 Resultater, kant-kutt Kant-kutt Viktig med et lavt kant-vekt, men dette må sees i sammenheng med antall forgrovnings nivåer. Hvis man har et høyt antall forfinings nivåer, ser det ut til å være fordelaktig med et høyt antall naboer, siden dette styrker evnen til forfining.
49 Resultater, Kjøre tid Både LGHEM og GGHEM gjør at vi må lete igjennom undersøke mye flere kanter enn HEM. Men vårt mål er ikke å produsere matchinger raskt, men å forgrove grafen.
50 Resultater, Kjøre tid Matching ratio = Noder før matching / noder etter matching * Måle hvor langt en matching er fra en perfekt matching. RM har høyere matching ratio enn HEM. Dette kan forklares med det samme argumentet med at å legge til en tung kant til en matching blokkerer andre noder fra å bli matched.
51 Resultater, Kjøre tid Imidlertidig ser det ut at LGHEM har en høyere matching ratio enn HEM Sannsynligvis betyr det at LGHEM finner to noder som den inkluderer i en matching med få kanter (det er mange kanter med lik vekt)
52 Resultater, Kjøre tid GGHEM har en høyere matching ratio enn LGHEM, antagligvis på grunn av at den er uavhengig av topologien til grafen.
53 Resultater, Kjøre tid Hva betyr dette for den faktiske kjøre-tiden? LGHEM er tregere enn HEM, men ikke mye! Forskjellen minker ettersom partisjonene øker Antall kanter vi må gå igjennom konvergerer hvis man sammenlikner LGHEM og HEM.
54 Resultater, Kjøre tid GGHEM er en mye tregere enn LGHEM. Dette skyldes blant annet at vi må bygge opp en ny datastruktur, sortere denne og deretter danne matchinger.
55 Konklusjon(er) De to heuristikkene ga to plasser i the Graph Partitioning Archive Generelt gir de bedre resultater (mhp kant-kutt) enn de heuristikkene som allerede finnes i METIS, men kostnaden var kjøretid. Virker som heuristikkene passer bra med store grafer, og hvis man ønsker å dele dem opp i mange deler. Kan tillate å bruke en avansert heuristikk, hvis den har høyere matching ratio.
56 Videre Heuristikkene er prototyper, og det er mulig å implementere dem mye raskere, for eksempel; Bytte ut sortingsmetoden med en bucket/radix sort ide i GGHEM Jeg har en (uimplementert) ide til GGHEM der hvor alle delene (sortering etc, etc) er bygd inn i en og samme metode Bruke LGHEM på tidlige forgrovnings faser, og GGHEM på de senere? Metoder for å finne perfekte matchinger finnes!! De er normalt for trege til å bruke i multilevel setting, men det kunne være gøy å se resultatet
57 Gratulerer, 100 år siden Norge ble partisjonert fra Sverige! Spørsmål!?
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
DetaljerGrunnleggende Grafalgoritmer II
Grunnleggende Grafalgoritmer II Lars Vidar Magnusson March 17, 2015 Kapittel 22 Dybde-først søk Topologisk sortering Relasjonen til backtracking Dybde-Først Søk Dybde-først søk i motsetning til et bredde-først
DetaljerMinimum Spenntrær - Kruskal & Prim
Minimum Spenntrær - Kruskal & Prim Lars Vidar Magnusson 4.4.2014 Kapittel 23 Kruskal algoritmen Prim algoritmen Kruskal Algoritmen Kruskal algoritmen kan beskrives med følgende punkter. Vi har en en sammenkoblet
DetaljerDijkstras algoritme Spørsmål
:: Forside s algoritme Åsmund Eldhuset asmunde *at* stud.ntnu.no folk.ntnu.no/asmunde/algdat/dijkstra.pdf :: Vi er ofte interessert i å finne korteste, raskeste eller billigste vei mellom to punkter Gods-
Detaljer45011 Algoritmer og datastrukturer Løsningsforslag eksamen 13. januar 1992
45011 Algoritmer og datastrukturer Løsningsforslag eksamen 13. januar 12 Oppgave 1 Idé til algoritme Benytter S n som betegn på en tallmengde med n elementer. For at et tall m skal være et majoritetstall
DetaljerKorteste vei i en vektet graf uten negative kanter
Dagens plan: IN - Algoritmer og datastrukturer HØSTEN 7 Institutt for informatikk, Universitetet i Oslo IN, forelesning 7: Grafer II Korteste vei, en-til-alle, for: Vektet rettet graf uten negative kanter
DetaljerINF Algoritmer og datastrukturer
INF2220 - Algoritmer og datastrukturer HØSTEN 2016 Ingrid Chieh Yu Institutt for informatikk, Universitetet i Oslo Forelesning 4: Prioritetskø og Heap Ingrid Chieh Yu (Ifi, UiO) INF2220 H2016, forelesning
DetaljerGRAFER. Korteste vei i en vektet graf uten negative kanter. Korteste vei, en-til-alle, for: Minimale spenntrær
IN Algoritmer og datastrukturer GRAER IN Algoritmer og datastrukturer Dagens plan: orteste vei, en-til-alle, for: ektet rettet graf uten negative kanter (apittel 9..) (Dijkstras algoritme) ektet rettet
DetaljerINF 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
DetaljerFørst litt praktisk info. Sorteringsmetoder. Nordisk mesterskap i programmering (NCPC) Agenda
Først litt praktisk info Sorteringsmetoder Gruppeøvinger har startet http://selje.idi.ntnu.no:1234/tdt4120/gru ppeoving.php De som ikke har fått gruppe må velge en av de 4 gruppende og sende mail til algdat@idi.ntnu.no
DetaljerAvsluttende eksamen i TDT4120 Algoritmer og datastrukturer
Avsluttende eksamen i TDT4120 Algoritmer og datastrukturer Eksamensdato 3. desember 2012 Eksamenstid 0900 1300 Sensurdato 3. januar 2013 Språk/målform Bokmål Kontakt under eksamen Magnus Lie Hetland (tlf.
DetaljerINF Algoritmer og datastrukturer
INF2220 - Algoritmer og datastrukturer HØSTEN 2016 Institutt for informatikk, Universitetet i Oslo Forelesning 6: Grafer II Ingrid Chieh Yu (Ifi, UiO) INF2220 28.09.2016 1 / 30 Dagens plan: Dijkstra fort.
DetaljerINF1020 Algoritmer og datastrukturer GRAFER
GRAFER Dagens plan: Minimale spenntrær Prim Kapittel 9.5.1 Kruskal Kapittel 9.5.2 Dybde-først søk Kapittel 9.6.1 Løkkeleting Dobbeltsammenhengende grafer Kapittel 9.6.2 Å finne ledd-noder articulation
DetaljerEksamen i fag SIF8010 Algoritmer og datastrukturer Lørdag 9. august 2003, kl
SIF8010 2003-08-09 Stud.-nr: Antall sider: 1 Eksamen i fag SIF8010 Algoritmer og datastrukturer Lørdag 9. august 2003, kl. 0900 1500 Faglig kontakt under eksamen: Arne Halaas, tlf. 41661982; Magnus Lie
DetaljerLøsningsforslag for eksamen i fag SIF8010 Algoritmer og datastrukturer Lørdag 9. august 2003, kl
SIF8010 2003-08-09 Stud.-nr: Antall sider: 1 Løsningsforslag for eksamen i fag SIF8010 Algoritmer og datastrukturer Lørdag 9. august 2003, kl. 0900 1500 Faglig kontakt under eksamen: Arne Halaas, tlf.
DetaljerINF2220: Time 12 - Sortering
INF0: Time 1 - Sortering Mathias Lohne mathialo Noen algoritmer Vi skal nå se på noen konkrete sorteringsalgoritmer. Gjennomgående i alle eksempler vil vi sortere tall etter tallverdi, men som diskutert
DetaljerLO118D Forelesning 12 (DM)
LO118D Forelesning 12 (DM) Trær 15.10.2007 1 Traversering av trær 2 Beslutningstrær 3 Isomorfisme i trær Preorden-traversering 1 Behandle den nåværende noden. 2 Rekursivt behandle venstre subtre. 3 Rekursivt
DetaljerAvsluttende eksamen i TDT4120 Algoritmer og datastrukturer
Avsluttende eksamen i TDT4120 Algoritmer og datastrukturer Eksamensdato 18. august 2011 Eksamenstid 0900 1300 Sensurdato 8. september Språk/målform Bokmål Kontakt under eksamen Magnus Lie Hetland (tlf.
DetaljerIN Algoritmer og datastrukturer
IN00 - Algoritmer og datastrukturer HØSTEN 08 Institutt for informatikk, Universitetet i Oslo Forelesning 5: Grafer II Ingrid Chieh Yu (Ifi, UiO) IN00 8.09.08 / Dagens plan: Korteste vei en-til-alle vektet
DetaljerIN 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Øvingsforelesning 2 - TDT4120. Grafer og hashing. Benjamin Bjørnseth
Øvingsforelesning 2 - TDT4120 Grafer og hashing Benjamin Bjørnseth Informasjon Studasser algdat@idi.ntnu.no Program Presentasjon av øving 2 Grafer og traverseringsalgoritmer BFS, DFS Hashing Gjennomgang
DetaljerNår Merge sort og Insertion sort samarbeider
Når Merge sort og Insertion sort samarbeider Lars Sydnes 8. november 2014 1 Innledning Her skal vi undersøke to algoritmer som brukes til å sortere lister, Merge sort og Insertion sort. Det at Merge sort
DetaljerEksamensoppgave i TDT4120 Algoritmer og datastrukturer
Eksamensoppgave i TDT4120 Algoritmer og datastrukturer Faglig kontakt under eksamen Magnus Lie Hetland Tlf.!! 91851949 Eksamensdato! 15. august 2013 Eksamenstid (fra til)! 0900 1300 Hjelpemiddelkode D.
DetaljerDisjunkte mengder ADT
Binære relasjoner A A = {(x, y) x, y A}: mengden av ordnede par over A. Disjunkte mengder ADT Weiss kap. 8.1 8.5 Løser ekvivalensproblemet Lett og rask implementasjon Vanskelig tidsforbrukanalyse Ark 1
DetaljerHvorfor sortering og søking? Søking og sortering. Binære søketrær. Ordnet innsetting forbereder for mer effektiv søking og sortering INF1010 INF1010
Hvorfor sortering og søking? Man bør ha orden i dataene umulig å leve uten i informasjonssamfunnet vi blir fort lei av å lete poleksempel internett alt er søking og sortering alternativer til sortering
DetaljerEksamensoppgave i TDT4120 Algoritmer og datastrukturer
Eksamensoppgave i TDT4120 Algoritmer og datastrukturer Faglig kontakt under eksamen Magnus Lie Hetland Tlf.!! 91851949 Eksamensdato! 15. august 2013 Eksamenstid (fra til)! 0900 1300 Hjelpemiddelkode D.
DetaljerEksamensoppgave i TDT4120 Algoritmer og datastrukturer
Eksamensoppgave i TDT4120 Algoritmer og datastrukturer Faglig kontakt under eksamen Magnus Lie Hetland Tlf. 918 51 949 Eksamensdato 12. august, 2014 Eksamenstid (fra til) 0900 1300 Hjelpemiddelkode D.
DetaljerINF1010 notat: Binærsøking og quicksort
INF1010 notat: Binærsøking og quicksort Ragnhild Kobro Runde Februar 2004 I dette notatet skal vi ta for oss ytterligere to eksempler der rekursjon har en naturlig anvendelse, nemlig binærsøking og quicksort.
DetaljerØvingsforelesning 9. Flytnettverk, maksimum flyt og maksimum bipartitt matching. Jon Marius Venstad
Øvingsforelesning 9 Flytnettverk, maksimum flyt og maksimum bipartitt matching Jon Marius Venstad venstad@idi.ntnu.no 1 Dagens tema Flytnettverk Terminologi Max-flow min-cut teoremet Ford-Fulkersons metode
DetaljerAvanserte 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
DetaljerPrioritetskøer. Prioritetskøer. Binære heaper (vanligst) Prioritetskøer
Binære heaper (Leftist) Prioritetskøer Prioritetskøer er viktige i bla. operativsystemer (prosesstyring i multitaskingssystemer), og søkealgoritmer (A, A*, D*, etc.), og i simulering. Prioritetskøer Prioritetskøer
DetaljerINF Triangulering. Med sterk støtte fra Petter Kristiansen. Skal først se på et eksempel fra Google Earth
INF 4130 17. november 2011 Triangulering Stein Krogdahl Med sterk støtte fra Petter Kristiansen Skal først se på et eksempel fra Google Earth De bruker en underliggende triangulering av landskapet, men
DetaljerINF-MAT5370. Grafer og datastrukturer
INF-MAT5370 Grafer og datastrukturer Øyvind Hjelle oyvindhj@simula.no, +47 67 82 82 75 Simula Research Laboratory, www.simula.no August 3, 2009 Innhold Kort om grafer Topologiske operatorer og operasjoner,
DetaljerMatchinger i ikke-bipartite grafer
Matchinger i ikke-bipartite grafer Stein Krogdahl, Notat til INF 3/4130 Sist revidert september 2006 Vi skal i dette notatet se på det å finne matchinger i generelle grafer, uten noe krav om at grafen
DetaljerLøsningsforslag: Deloppgave om heuristiske søkemetoder, ALGKON 2003, kontinuasjonseksamen
Løsningsforslag: Deloppgave om heuristiske søkemetoder, ALGKON 2003, kontinuasjonseksamen 1. september 2003 Deloppgave a I denne oppgaven skal vi ta for oss isomorfismer mellom grafer. To grafer G og H
DetaljerRepetisjon og mer motivasjon. MAT1030 Diskret matematikk. Repetisjon og mer motivasjon
Repetisjon og mer motivasjon MAT030 Diskret matematikk Forelesning 22: Grafteori Roger Antonsen Matematisk Institutt, Universitetet i Oslo 4. april 2008 Først litt repetisjon En graf består av noder og
DetaljerLøsningsforslag: Deloppgave om heuristiske søkemetoder ALGKON 2002, kontinuasjonseksamen
Løsningsforslag: Deloppgave om heuristiske søkemetoder ALGKON 2002, kontinuasjonseksamen 14. september 2003 Innledning Vi skal betrakte det såkalte maksimum-kutt problemet (maximum cut problem). Problemet
DetaljerINF 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
DetaljerAvsluttende eksamen i TDT4120 Algoritmer og datastrukturer
Avsluttende eksamen i TDT4120 Algoritmer og datastrukturer Eksamensdato 14. desember 2011 Eksamenstid 1500 1900 Sensurdato 14. januar Språk/målform Bokmål Kontakt under eksamen Magnus Lie Hetland (tlf.
DetaljerINF Algoritmer og datastrukturer
INF2220 - Algoritmer og datastrukturer HØSTEN 2015 Ingrid Chieh Yu Institutt for informatikk, Universitetet i Oslo Forelesning 4: Prioritetskø og Heap Ingrid Chieh Yu (Ifi, UiO) INF2220 H2015, forelesning
DetaljerAlg. Dat. Øvingsforelesning 3. Grafer, BFS, DFS og hashing. Børge Rødsjø rodsjo@stud.ntnu.no
Alg. Dat Øvingsforelesning 3 Grafer, BFS, DFS og hashing Børge Rødsjø rodsjo@stud.ntnu.no Dagens tema Grafer Terminologi Representasjon av grafer Bredde først søk (BFS) Dybde først søk (DFS) Hashing Hashfunksjoner,
DetaljerINF Algoritmer og datastrukturer
INF2220 - Algoritmer og datastrukturer HØSTEN 2015 Ingrid Chieh Yu Institutt for informatikk, Universitetet i Oslo Forelesning 4: Prioritetskø og Heap Ingrid Chieh Yu (Ifi, UiO) INF2220 H2015, forelesning
DetaljerNotat for oblig 2, INF3/4130 h07
Notat for oblig 2, INF3/4130 h07 Dag Sverre Seljebotn 15. oktober 2007 Jeg har skrivd et noe langt notat for oblig 2 som interesserte kan se på. Merk at dette er kun for å gi et par tips (for oppgave 3
DetaljerLøsningsforslag for utvalgte oppgaver fra kapittel 9
Løsningsforslag for utvalgte oppgaver fra kapittel 9 9.2 1 Grafer og minne.......................... 1 9.2 4 Omvendt graf, G T......................... 2 9.2 5 Kompleksitet............................
DetaljerPrioritetskøer. Binære heaper Venstrevridde heaper (Leftist) Binomialheaper Fibonacciheaper
Prioritetskøer Binære heaper Venstrevridde heaper (Leftist) Binomialheaper Fibonacciheaper Prioritetskøer er viktige i bla. operativsystemer (prosesstyring i multitaskingssystemer), og søkealgoritmer (A,
DetaljerAlgdat - Øvingsforelesning. Maks flyt
Algdat - Øvingsforelesning Maks flyt Dagens plan 1. LF teoriøving 7 2. Maks flyt 3. Ford-Fulkerson 4. Maksimal bipartitt matching 5. Presentasjon av øving 9 2 Øving 7 4b) I hvilken rekkefølge velges noder
DetaljerQuicksort. Fra idé til algoritme.
Quicksort Fra idé til algoritme. Quicksortalgoritme algoritmeidé 1. Del arrayen i to deler, slik at alle elementer i den ene delen er mindre enn alle elementer i den andre delen. Q U I C K S O R T A L
DetaljerLogaritmiske sorteringsalgoritmer
Logaritmiske sorteringsalgoritmer Logaritmisk sortering Rekursive og splitt og hersk metoder: Deler verdiene i arrayen i to (helst) omtrent like store deler i henhold til et eller annet delingskriterium
DetaljerLøsnings forslag i java In115, Våren 1996
Løsnings forslag i java In115, Våren 1996 Oppgave 1a For å kunne kjøre Warshall-algoritmen, må man ha grafen på nabomatriseform, altså en boolsk matrise B, slik at B[i][j]=true hvis det går en kant fra
DetaljerTo geometriske algoritmer, kap. 8.6
INF 4130, 18. november 2010 To geometriske algoritmer, kap. 8.6 Computational Geometry Stein Krogdahl Hovedkapittelet t (kap. 8) dreier seg generelt om devide-and-conquer eller splitt og hersk : Splitt
DetaljerINF2220: Time 4 - Heap, Huffmann
INF0: Time 4 - Heap, Huffmann Mathias Lohne mathialo Heap (prioritetskø) En heap (også kalt prioritetskø) er en type binært tre med noen spesielle struktur- og ordningskrav. Vi har to typer heap: min-
DetaljerTrianguleringer 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
DetaljerGRAFER. Noen grafdefinisjoner. Korteste vei i en uvektet graf V 2 V 1 V 5 V 3 V 4 V 6
IN Algoritmer og datastrukturer GRAER Dagens plan: Kort repetisjon om grafer Korteste, en-til-alle, for: uektede grafer (repetisjon) ektede rettede grafer uten negatie kanter (Dijkstra, kapittel 9..) ektede
DetaljerØvingsforelesning 6. Sorteringsalgoritmer. Martin Kirkholt Melhus Basert på foiler av Kristian Veøy 30/09/14 1
Øvingsforelesning 6 Sorteringsalgoritmer Martin Kirkholt Melhus martme@stud.ntnu.no Basert på foiler av Kristian Veøy 30/09/14 1 Agenda l Spørsmål fra øving 4 l Sortering l Presentasjon av øving 6 30/09/14
DetaljerGrådige algoritmer. Lars Vidar Magnusson Kapittel 16. Aktivitetvelgingsproblemet Huffmankoder
Grådige Algoritmer Lars Vidar Magnusson 12.3.2014 Kapittel 16 Grådige algoritmer Aktivitetvelgingsproblemet Huffmankoder Ideen bak Grådige Algoritmer Ideen bak grådige algoritmer er å løse optimaliseringsproblem
DetaljerKøbenhavn 20 Stockholm
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i IN 115 Algoritmer og datastrukturer Eksamensdag: 26. mai 2001 Tid for eksamen: 9.00 15.00 Oppgavesettet er på 7 sider. Vedlegg:
DetaljerUNIVERSITETET I OSLO
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet «Midterm» i: INF 4130: Algoritmer: Design og effektivitet Eksamensdag: 1. november 2011 Tid for «midterm»: Kl. 09:00 13:00 (4 timer) [124%,
DetaljerØvingsforelesning 4. Topologisk sortering, Strongly Connected Components og Minimale spenntrær. Magnus Botnan
Øvingsforelesning 4 Topologisk sortering, Strongly Connected Components og Minimale spenntrær Magnus Botnan botnan@stud.ntnu.no 09/10/09 1 I dag Topologisk Sortering Sterke Komponenter Minimale Spenntrær
DetaljerMAT1030 Diskret Matematikk
MAT1030 Diskret Matematikk Forelesning 29: Kompleksitetsteori Roger Antonsen Institutt for informatikk, Universitetet i Oslo 13. mai 2009 (Sist oppdatert: 2009-05-17 22:38) Forelesning 29: Kompleksitetsteori
DetaljerForelesning 29: Kompleksitetsteori
MAT1030 Diskret Matematikk Forelesning 29: Kompleksitetsteori Roger Antonsen Institutt for informatikk, Universitetet i Oslo Forelesning 29: Kompleksitetsteori 13. mai 2009 (Sist oppdatert: 2009-05-17
DetaljerINF-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
DetaljerSorteringsproblemet. Gitt en array A med n elementer som kan sammenlignes med hverandre:
Sortering Sorteringsproblemet Gitt en array A med n elementer som kan sammenlignes med hverandre: Finn en ordning (eller permutasjon) av elementene i A slik at de står i stigende (evt. avtagende) rekkefølge
DetaljerØvingsforelesning 6. Sorteringsalgoritmer. Kristian Veøy
Øvingsforelesning 6 Sorteringsalgoritmer Kristian Veøy veoy@stud.ntnu.no 26.09.08 1 Spørsmål fra øvingsgruppene Må jeg kunne python på eksamen? (Nei) Er det lurt å gjøre alle programmeringsøvingene? (Ikke
DetaljerQuicksort. Lars Vidar Magnusson Kapittel 7 Quicksort Randomisert Quicksort Analyse av Quicksort
Quicksort Lars Vidar Magnusson 29.1.2014 Kapittel 7 Quicksort Randomisert Quicksort Analyse av Quicksort Om Quicksort Quicksort er en svært populær sorteringsalgoritme. Algoritmen har i verstefall en kjøretid
DetaljerE K S A M E N. EKSAMENSDATO: 15. desember 1994 TID: Kladd og oppgavearkene leveres sammen med besvarelsen. Kladd merkes med "KLADD".
E K S A M E N FAGNAVN: FAGNUMMER: Algoritmiske metoder LO 164 A EKSAMENSDATO: 15. desember 1994 TID: 09.00-14.00 FAGLÆRER: Frode Haug KLASSE: 2AA/AE ANTALL SIDER UTLEVERT: TILLATTE HJELPEMIDLER: 5 (inkludert
DetaljerGrunnleggende Grafalgoritmer
Grunnleggende Grafalgoritmer Lars Vidar Magnusson 19.3.2014 Kapittel 22 Representere en graf Bredde-først søk Grafer i Informatikken Problem med grafer går ofte igjen i informatikkens verden, så det å
DetaljerOppsummering TMA4100. Kristian Seip. 26./28. november 2013
Oppsummering TMA4100 Kristian Seip 26./28. november 2013 Forelesningene 26./28. november Disse forelesningene er et forsøk på å se de store linjer og sammenhengen mellom de ulike deltemaene i TMA4100 delvis
DetaljerEksamensoppgave i TDT4120 Algoritmer og datastrukturer
Eksamensoppgave i TDT4120 Algoritmer og datastrukturer Faglig kontakt under eksamen Magnus Lie Hetland Tlf. 918 51 949 Eksamensdato 12. august, 2014 Eksamenstid (fra til) 0900 1300 Hjelpemiddelkode D.
DetaljerEksamen i tdt4120 Algoritmer og datastrukturer
Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap Side 1 av 5 Oppgavestillere: Magnus Lie Hetland Jon Marius Venstad Kvalitetskontroll: Magnar Nedland Faglig
DetaljerGrafteori. MAT1030 Diskret Matematikk. Repetisjon og mer motivasjon. Repetisjon og mer motivasjon. Forelesning 23: Grafteori.
MAT030 Diskret Matematikk Forelesning 23: Grafteori Dag Normann Matematisk Institutt, Universitetet i Oslo Grafteori 20. april 200 (Sist oppdatert: 200-04-20 4:8) MAT030 Diskret Matematikk 20. april 200
DetaljerDijkstras algoritme. Her finnes det også (minst) en riktig rekkefølge for Relax, men den må vi oppdage litt etter hvert.
Her finnes det også (minst) en riktig rekkefølge for Relax, men den må vi oppdage litt etter hvert. Tenk vann som sprer seg i rør: Vi behandler krysningspunktene i den rekkefølgen de fylles. Det må gi
DetaljerMAT1030 Forelesning 25
MAT1030 Forelesning 25 Trær Dag Normann - 27. april 2010 (Sist oppdatert: 2010-04-27 14:16) Forelesning 25 Litt repetisjon Vi har snakket om grafer og trær. Av begreper vi så på var følgende: Eulerstier
DetaljerMAT1030 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
DetaljerINF 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
DetaljerMAT1030 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
DetaljerHvor raskt klarer vi å sortere?
Sortering Sorteringsproblemet Gitt en array med n elementer som kan sammenlignes med hverandre: Finn en ordning (eller permutasjon) av elementene slik at de står i stigende (evt. avtagende) rekkefølge
DetaljerForelesning 25. MAT1030 Diskret Matematikk. Litt repetisjon. Litt repetisjon. Forelesning 25: Trær. Dag Normann
MAT1030 Diskret Matematikk Forelesning 25: Trær Dag Normann Matematisk Institutt, Universitetet i Oslo Forelesning 25 27. april 2010 (Sist oppdatert: 2010-04-27 14:16) MAT1030 Diskret Matematikk 27. april
DetaljerForelesning 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
DetaljerLøsningsforslag til eksamen i fag SIF8010 Algoritmer og Datastrukturer Tirsdag 14. Desember 1999, kl
Student nr.: Side 1 av 7 Løsningsforslag til eksamen i fag SIF8010 Algoritmer og Datastrukturer Tirsdag 14. Desember 1999, kl 0900-1500 Faglig kontakt under eksamen: Arne Halaas, tlf. 73 593442. Hjelpemidler:
DetaljerPython: Rekursjon (og programmering av algoritmer) Python-bok: Kapittel 12 + teoribok om Algoritmer
Python: Rekursjon (og programmering av algoritmer) Python-bok: Kapittel 12 + teoribok om Algoritmer TDT4110 IT Grunnkurs Professor Guttorm Sindre Læringsmål og pensum Mål Forstå, og kunne bruke, algoritmer
DetaljerGrunnleggende Grafteori
Grunnleggende Grafteori 2. September, 2019 Institutt for Informatikk 1 Dagens plan Terminologi og definisjoner Hvordan representere grafer i datamaskinen Traversering Dybde-først-søk Bredde-først-søk Topologisk
DetaljerMAT1030 Diskret Matematikk
MAT1030 Diskret Matematikk Forelesning 25: Trær Dag Normann Matematisk Institutt, Universitetet i Oslo 27. april 2010 (Sist oppdatert: 2010-04-27 14:15) Forelesning 25 MAT1030 Diskret Matematikk 27. april
DetaljerAlgdat - øvingsforelesning
Algdat - øvingsforelesning Topologisk sortering og minimale spenntrær Nils Barlaug Dagens plan 1. 2. 3. 4. 5. Praktisk og dagens plan Topologisk sortering Minimale spenntrær a. Kruskal b. Prim Tips til
DetaljerDagens plan: INF Algoritmer og datastrukturer. Eksempel. Binære Relasjoner
Dagens plan: INF2220 - Algoritmer og datastrukturer HØSTEN 2009 Institutt for informatikk, Universitetet i Oslo INF2220, forelesning 10: Disjunkte Mengder Definisjon av binær relasjon Definisjon av ekvivalens
DetaljerEksamensoppgave i TDT4120 Algoritmer og datastrukturer
Eksamensoppgave i TDT4120 Algoritmer og datastrukturer Faglig kontakt under eksamen Magnus Lie Hetland Tlf. 91851949 Eksamensdato 11. august 2014 Eksamenstid (fra til) 0900 1300 Hjelpemiddelkode D. Ingen
DetaljerINF Algoritmer og datastrukturer
INF2220 - Algoritmer og datastrukturer HØSTEN 2009 Institutt for informatikk, Universitetet i Oslo INF2220, forelesning 10: Disjunkte Mengder Bjarne Holen (Ifi, UiO) INF2220 H2009, forelesning 10 1 / 27
DetaljerINF 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
DetaljerLO118D Forelesning 5 (DM)
LO118D Forelesning 5 (DM) Relasjoner 03.09.2007 1 Relasjoner 2 Ekvivalensrelasjoner 3 Matriser av relasjoner 4 Relasjonsdatabaser Relasjon Relasjoner er en generalisering av funksjoner En relasjon er en
DetaljerIN Algoritmer og datastrukturer
IN2010 - Algoritmer og datastrukturer HØSTEN 2018 Ingrid Chieh Yu Institutt for informatikk, Universitetet i Oslo Forelesning 3: Prioritetskø og Heap Ingrid Chieh Yu (Ifi, UiO) INF2010 H2018, forelesning
DetaljerEksamen i IN 110, 18. mai 1993 Side 2 Del 1 (15%) Vi skal se på prioritetskøer av heltall, der vi hele tiden er interessert i å få ut den minste verdi
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i Eksamensdag: 18. mai 1993 Tid for eksamen: 9.00 15.00 Oppgavesettet er på 7 sider. Vedlegg: Tillatte hjelpemidler: IN 110 Algoritmer
DetaljerUNIVERSITETET I OSLO. Det matematisk-naturvitenskapelige fakultet
UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i: INF 4130: lgoritmer: Design og effektivitet Eksamensdag: 12. desember 2008 Tid for eksamen: Kl. 09:00 12:00 (3 timer) Oppgavesettet
DetaljerINF 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:
DetaljerAlgoritmer og Datastrukturer
Eksamen i Algoritmer og Datastrukturer IAI 21899 Høgskolen i Østfold Avdeling for informatikk og automatisering Torsdag 3. november 2, kl. 9. - 14. Hjelpemidler: Alle trykte og skrevne hjelpemidler. Kalkulator.
DetaljerDagens 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
DetaljerForelesning 23. Grafteori. Dag Normann april Oppsummering. Oppsummering. Oppsummering. Digresjon: Firefarveproblemet
Forelesning 23 Grafteori Dag Normann - 16. april 2008 Oppsummering En graf består av noder og kanter Kanter ligger inntil noder, og noder kan være naboer. Vi bør kjenne til begrepene om sammenhengende
DetaljerINF Algoritmer og datastrukturer
INF0 - Algoritmer og datastrukturer HØSTEN 05 Institutt for informatikk, Universitetet i Oslo Forelesning 6: Grafer II Ingrid Chieh Yu (Ifi, UiO) INF0.09.05 / 8 Dagens plan: Minimale spenntrær Prim Kruskal
DetaljerAlg. Dat. Øvingsforelesning 3. Grafer, BFS, DFS og hashing
Alg. Dat Øvingsforelesning 3 Grafer, BFS, DFS og hashing Dagens tema Grafer Terminologi Representasjon av grafer Bredde først søk (BFS) Dybde først søk (DFS) Hashing Hashfunksjoner, hashtabeller Kollisjonshåndtering
DetaljerMAT1030 Diskret matematikk
MAT1030 Diskret matematikk Forelesning 23: Grafteori Dag Normann Matematisk Institutt, Universitetet i Oslo 16. april 2008 Oppsummering En graf består av noder og kanter Kanter ligger inntil noder, og
DetaljerOppsummering. MAT1030 Diskret matematikk. Oppsummering. Oppsummering. Forelesning 23: Grafteori
Oppsummering MAT1030 Diskret matematikk Forelesning 23: Grafteori Dag Normann Matematisk Institutt, Universitetet i Oslo 16. april 2008 En graf består av noder og kanter Kanter ligger inntil noder, og
DetaljerHeuristiske søkemetoder III
Heuristiske søkemetoder III Lars Aurdal Intervensjonssenteret Lars.Aurdal@labmed.uio.no 14. september 2003 Plan Eksempel: Bildebehandling, segmentering: Hva er segmentering? Klassisk metode, terskling.
Detaljer