Minimum-weight vertex-cover vha. lineær programmering + avrunding.
|
|
- Johanne Løkken
- 6 år siden
- Visninger:
Transkript
1 Randomisering Forelesning 4 Magnus Lie Hetland, 3. mars 2009 Stoffet i dette dokumentet er bl.a. hentet fra kapittel 13 i Algorithim Design av Kleinberg og Tardos (Addison Wesley, 2005) og kapittel fem i Introduction to Algorithms av Cormen et al. (MIT Press, 2001). Fortsettelse fra forrige gang (approksimering) Minimum-weight vertex-cover vha. lineær programmering + avrunding. Innledning/motivasjon Veldig kort introduksjon til randomiserte algoritmer Motivasjon: Unngå systematisk (input-avhengig) worst-case Få atskillig enklere algoritmer Eksempel (repetisjon): MAX 3-SAT v/å kaste mynt/kron Ratio bound på forventningsverdi: 8/7 Kjente anvendelser: Select, Quicksort, Hashing Hvilken rolle spiller (pseudo)tilfeldigheter her? Probabilistisk analyse egentlig separat emne, men dekkes også delvis her. To typer randomiserte algoritmer: Monte Carlo-algoritmer: Kjøretiden er deterministisk, men man får bare korrekt svar med en viss sannsynlighet. Las Vegas-algoritmer: Man er garantert korrekt svar, men kjøretiden er en tilfeldig variabel med probabilistiske grenser. Kjent stoff (forhåpentligvis) En indikatorvariabel I{A} er knyttet til en probabilistisk hendelse, og er definert slik: I{A} = 1 hvis A inntreffer, og 0 ellers E[I{A}] = 1 Pr{A} + 0 Pr{ A} = Pr{A} Eks: Forventede antall «mynt» hvis man kaster mynt/kron n ganger: La X i være indikator for at kast nr i blir «mynt» X = sum(x i ) E[X] = E[sum(X i )] = sum(e[x i ]) = sum(1/2) = n/2 Relativt trivielt men nyttig verktøy Eksempel: Ansettelsesproblemet TDT4125 Algoritmekonstruksjon, videregående kurs 1/6
2 (Tilsvarende: Hva er høyden på venstre løvnode i et tilfeldig binærtre? Hvor mange køer har du på en tilfeldig landevei?) Intervju n kandidater i rekkefølge Hvis den du intervjuer er bedre enn alle tidligere, ansett den nye X = Hvor mange må vi ansette? Worst-case: O(n) Probabilistisk, med indikatorvariable: X i = I{kandidat i ansatt} X = X 1 + X X n E{X i } = Pr{kandidat i ansatt} Sannsynlighet for at i er bedre enn de forrige = 1/i E[X] = E[sum(X i )] = sum(e[x i ]) = sum(1/i) = ln n + O(1) Noen forenklende grenser Ofte vanskelig å finne eksakte sannsynligheter, men ofte trenger vi bare en grense Mest opplagt: Union bound Pr{A eller B eller eller Z} Pr{A} + Pr{B} + + Pr{Z}, med likhet ved uavhengighet Litt mindre opplagt: Markov bound (Markovs ulikhet) For a > 0, Pr{X a} E[X]/a Bevis: a I{X a} X Opplagt, ved å prøve begge muligheter E[a I{X a}] E[X] E[a I{X a}] = a E[I{X a}] = a Pr{X a} Dermed har vi a Pr{X a} E[X], og siden a > 0 kan vi dele på a Enda mindre opplagt (gjengis uten bevis): Chernoff bounds La X = X 1 Xn være en sum av uavhengige 1-0-variable, der X i har verdien 1 med sannsynlighet p i. La μ E[X] = sum(p i ) Vi har da: Pr{X > (1 + δ)μ} < [e δ / (1+δ) (1+δ) )] μ Pr{X < (1 δ)μ} < e^( μδ 2 /2) dvs. sannsynligheten er «eksponentielt liten» for at X ligger langt fra E[X] TDT4125 Algoritmekonstruksjon, videregående kurs 2/6
3 Eksempel på indikatorvariable: Balls and bins Situasjon: Du kaster baller tilfeldig i b «bins» (båser), nummerert 1 b. Alle kastene er uniformt tilfeldige. Interessante spørsmål: Hvor mange baller hanver i en gitt bås? Binomialfordelt med sannsynlighet 1/b; etter n baller er forventet antall n 1/b = n/b Hvor mange baller må man kaste før en gitt bås inneholder en ball? Geometrisk fordeling med sannsynlighet 1/b; forventning = 1/(1/b) = b «Coupon collector s problem»: Du vil samle én hver av b ulike kuponger. Hvor mange kuponger må du skaffe deg? Eller: Hvor mange baller må man kaste før alle inneholder en ball? Del inn i stadier: Stadium i, fra «nydekt» bås i 1 til nummer i n i er antall kast i stadium i; nødvendig antall totalt, n = sum 1 b (n i ) n i er geometrisk fordelt med sannsynlighet (b i+1)/b E[n i ] = b/(b i+1) E[n] = E[sum(n i ) = sum(e[n i ]) = sum(b/(b i+1)) = b sum(1/i) = b(ln b + O(1)) Man må altså samle ca b ln b kuponger Konflikthåndtering Vi har n prosesser P i som konkurrerer om adgang til en delt database Kun én kan få tilgang i hver «runde»; hvis to+ prøver seg så får ingen Prosessene har ingen kontakt med hverandre Løsning: Randomisert algoritme symmetry breaking Hver prosess prøver å få tilgang med sannsynlighet p > 0 Hva er optimal p, som minimerer tiden det tar før alle har fått tilgang? p = 0 og p = 1 gir uakseptable svar A[i, t]: P i prøver å få tilgang i runde t S[i, t]: P i lykkes i runde t S[i, t] = A[1, t] A[2, t] A[i, t] A[n, t] Pr{S[i, t]} = Pr{A[i, t]} prod j i ( A[j, t]) = p(1 p) n 1 = f(p) f (p) = (1 p) n 1 (n 1)p(1 p) n 2 f (p) = 0, p = 1/n optimalt Pr{S[i, t]} = (1/n) (1 1/n) n 1 Med litt algebra: Pr{S[i, t]} er Θ(1/n) ligger mellom 1/(en) og 1/(2n) Hvor lang tid tar det da før én prosess lykkes? TDT4125 Algoritmekonstruksjon, videregående kurs 3/6
4 F[i, t]: P i lykkes ikke i runde 1 t Pr{F[i, t]} = Pr{snitt r=1 t ( S[i, t])} = prod r=1 t (Pr{ S[i, t]}) = [1 (1/n)(1 1/n) n 1 ] t (1 1/(en)) t fra forrige trinn Pr{F[i, ceil(en)]} (1 1/(en)) ceil(en) (1 1/(en)) en 1/e mer algebra La oss øke t litt: Pr{F[i, ceil(en) (c ln n)]} (1 1/en) t = ((1 1/en) ceil(en) ) c ln n e c ln n = n c Så: Etter Θ(n) runder er sannsynligheten for at P i ikke ennå har lyktes begrenset av en konstant; mellom der og Θ(n ln n) synker sannsynligheten raskt til en svært liten verdi, begrenset av et inverst polynom av n Hvor lang tid tar det før alle er ferdge? F t : Protokollen feiler etter t runder F t = union i=1 n (F[i, t]) Ikke uavhengige men vi kan bruke the union bound: Pr{F t } sum(pr{f[i, t]}) Sum av n termer med samme verdi; for å få sannsynligheten lav må hver av dem være atskillig lavere enn 1/n Mao: t = Θ(n) er ikke godt nok Hvis vi velger t = ceil(en) (c ln n) kommer vi under n c Vi velger t = 2 ceil(en) ln n Pr{Ft} sum i (Pr{F[i, t]}) n n 2 = n 1 Altså: Med sannsynlighet på minst 1 n 1 vil alle prosessene ha hatt tilgang til databasen minst én gang innen t = 2 ceil(en) ln n runder Merk: Den «magiske algebraen» over er rett og slett bruk av følgende to fakta (1 1/n) n konvergerer monotont fra 1/4 opp til 1/e når n øker fra 2 (1 1/n) n 1 konvergerer monotont fra 1/2 ned til 1/e når n øker fra 2 Nærmeste par Repetisjon: Hvordan kan du finne de to nærmeste punktene i planet i O(n lg n) tid, vha splitt-og-hersk? Ved å bruke randomisering og en ordlistestruktur kan vi få en forventet kjøretid på O(n) + O(n) stk ordlisteoppslag. (Effektiviteten til ordlisteoppslagene kommer an på implementasjonen, selvfølgelig.) Enkel grunnidé: TDT4125 Algoritmekonstruksjon, videregående kurs 4/6
5 Vurder punktene i tilfeldig rekkefølge, og vedlikehold avstand δ for de (hittil) nærmeste to punktene For hvert nye punkt, se «i nærheten» for å se om noen nye punkter ligger innen en avstand δ fra det nye Hvordan finner vi ut om det ligger punkter innen en avstand δ? Vi bruker en spesialisert «ordliste» (mer om dette siden). Sidespor: Dette er et generelt nyttig problem, med spesial-strukturer både for det euklidske planet (som her), for mangedimensjonale euklidske og ikke-euklidske rom, og for generelle metriske (og for så vidt ikke-metriske) rom. For en intro til denne typen søk i metriske rom generelt, se Vi tenker oss at algoritmen utføres i stadier: Hvert stadium går frem til δ oppdateres fordi vi har funnet et bedre par med punkter Antall stadier avhenger av rekkefølgen på punktene (alt fra 1 til n 2) Vil vise: Forventet kjøretid er en konstant faktor unna det heldigste tilfellet, der det første paret er løsningen Idé når vi legger til et nytt punkt: Del området vårt, f.eks. enhetskvadratet, i delruter med sidelengder δ/2 La N = ceil(1/2δ); vi har da N 2 kvadrater Vi har følgende egenskaper: Hvis to punkter ligger i samme rute så har de en avstand på mindre enn δ Opplagt, siden diagonalen er kortere enn dette Hvis to punkter har avstand på mindre enn δ så må de ligge i samme rute, eller i nærliggende ruter maks 2 ruter unna i x- og y-retning. Hvis de ligger mer enn 2 ruter unna i en retning vil avstanden være mer enn 2 (δ/2). Altså er det et konstant antall ruter som må undersøkes Hvordan holder vi styr på hvilke punkter som er i hvilken rute, når rutestørrelsen stadig krymper? Vi bruker i utgangspunktet en hashtabell e.l. fra rutenummer til punktliste Hvis δ krymper bygger vi oss rett og slett en helt ny hashtabell Dette er selvfølgelig litt dyrt Algoritmen så langt løser problemet, og den utfører O(n) avstandsberegninger, O(n) oppslag i datastrukturen vår, og O(n) totale ombygginger av datastrukturen Vi ønsker å finne en grense for forventet antall innsettinger i strukturen Det kan virke som om dette blir høyt; i verste tilfelle blir det jo kvadratisk TDT4125 Algoritmekonstruksjon, videregående kurs 5/6
6 Men: Selv om ombyggingene blir dyrere (mhp. antall innsettinger) etter hvert som antall punkter i strukturen vokser, så blir de også mindre sannsynlige etter hvert som δ synker! X: Tilfeldig variabel; antall innsettinger; avgjøres av rekkefølgen på punktene Vi vil finne en grense for E[X] Vi bryter ned X i komponenter: X i er 1 hvis det i-ende punktet får δ til å krympe, og 0 ellers X = n + sum i (ix i ) Hvert punkt settes inn minst én gang, og i punkter på settes inn hvis strukturen må bygges om i iterasjon i Pr{X i = 1} 2/i La p og q være de to nærmeste punktene blant de i første For at avstanden skal reduseres i iterasjon i må en av disse være sist Alle har like stor sannsynlighet for å være sist; sannsynligheten for at enten p eller q er sist blir 2/i Dette er bare en øvre grense, siden vi kan ha flere par med samme avstand! E[X] = n + sum i (i E[X i ]) n + 2n = 3n Med andre ord: Algoritmen krever lineær forventet tid + et lineært antall oppslag i strukturen Formelt sett kreves det en del mer å vise at kjøretiden blir lineær (dvs. at antall punkter vi må inspisere totalt sett blir lineært), siden vi må si noe om sammenhengen mellom tilfeldighetskilden brukt til å velge punktrekkefølgen og kilden brukt til å velge hashfunksjon ved universell hashing. men vi går ikke inn på detaljene rundt det her. TDT4125 Algoritmekonstruksjon, videregående kurs 6/6
n/b log b n = (lg n) a log b n = n log b a
Masterteoremet 1 T (n) = at (n/b) + f(n) Antall «barn»: Størrelse per «barn»: «Høyde»: a n/b log b n = (lg n) Rota har f(n) arbeid; hver løvnode har en konstant mengde arbeid. Hva vil dominere totalen?
Detaljerdeeegimnoorrrsstt Sjette forelesning
deeegimnoorrrsstt Sjette forelesning 1 2 Rebus. Hva er dette? Svar: Kvadratiske sorteringsalgoritmer :-> Som vanlig relativt abstrakte beskrivelser her. Ta en titt på pseudokode i boka for mer detaljert
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
DetaljerPropabilistisk Analyse og Randomiserte Algoritmer
Propabilistisk Analyse og Randomiserte Algoritmer Lars Vidar Magnusson 22.1.2014 Kapittel 5 Propabilistisk analyse Randomiserte algoritmer Hiring Problemet For å forklare propabilistisk analyse kan det
DetaljerALGORITMER OG DATASTRUKTURER
Stud. nr: Side 1 av 6 NTNU Norges teknisk-naturvitenskapelige universitet BOKMÅL Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap AVSLUTTENDE
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.
DetaljerDatastrukturer. Algoritmer og datastrukturer. Øvingsforelesning 2
Datastrukturer Algoritmer og datastrukturer Øvingsforelesning 2 Datastrukturer Algoritmer og datastrukturer Øvingsforelesning 2 av Henrik Grønbech Datastrukturer Algoritmer og datastrukturer Øvingsforelesning
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.
DetaljerAlle mot alle. Åttende forelesning. (eller eller Bellman-Ford, eller BFS, alt ettersom) fra alle noder.
Enkel alle-til-allealgoritme: Kjør Dijkstra (eller eller Bellman-Ford, eller BFS, alt ettersom) fra alle noder. Kan fungere for spinkle grafer blir dyrt ellers. Alle mot alle Åttende forelesning 1 Dijkstra
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.
DetaljerHashing. INF Algoritmer og datastrukturer HASHING. Hashtabeller
Hashing INF2220 - Algoritmer og datastrukturer HØSTEN 200 Institutt for informatikk, Universitetet i Oslo INF2220, forelesning : Hashing Hashtabeller (kapittel.) Hash-funksjoner (kapittel.2) Kollisjonshåndtering
DetaljerALGORITMER OG DATASTRUKTURER
Stud. nr: Side 1 av 6 NTNU Norges teknisk-naturvitenskapelige universitet BOKMÅL Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap LØSNINGSFORSLAG,
DetaljerINF1020 Algoritmer og datastrukturer
Dagens plan Hashing Hashtabeller Hash-funksjoner Kollisjonshåndtering Åpen hashing (kap. 5.3) Lukket hashing (kap. 5.4) Rehashing (kap. 5.5) Sortering ut fra en hashing-ide (side 66-68) Bøttesortering
DetaljerEkstra ark kan legges ved om nødvendig, men det er meningen at svarene skal få plass i rutene på oppgavearkene. Lange svar teller ikke positivt.
Side 1 av 5 Noen viktige punkter: (i) (ii) (iii) (iv) Les hele eksamenssettet nøye før du begynner! Faglærer går normalt én runde gjennom lokalet. Ha evt. spørsmål klare! Skriv svarene dine i svarrutene
DetaljerEksamensoppgave 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
DetaljerALGORITMER OG DATASTRUKTURER
Stud. nr: Side 1 av 7 NTNU Norges teknisk-naturvitenskapelige universitet BOKMÅL Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap AVSLUTTENDE
DetaljerLO118D Forelesning 2 (DM)
LO118D Forelesning 2 (DM) Kjøretidsanalyse, matematisk induksjon, rekursjon 22.08.2007 1 Kjøretidsanalyse 2 Matematisk induksjon 3 Rekursjon Kjøretidsanalyse Eksempel Finne antall kombinasjoner med minst
DetaljerØvingsforelesning 3: Splitt og hersk. Daniel Solberg
Øvingsforelesning 3: Splitt og hersk Daniel Solberg Plan for dagen Vi går raskt gjennom øving 2 Splitt og hersk Algoritmer: Mergesort Quicksort Binærsøk Rekurrenser, masse rekurrenser 2 Splitt og hersk
DetaljerLØSNINGSFORSLAG, EKSAMEN I ALGORITMER OG DATASTRUKTURER (IT1105)
Norges teknisk naturvitenskapelige universitet Institutt for datateknikk og informasjonsvitenskap Side 1 av 8 Faglig kontakt under eksamen: Magnus Lie Hetland LØSNINGSFORSLAG, EKSAMEN I ALGORITMER OG DATASTRUKTURER
DetaljerEksamensoppgave 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 9. august, 07 Eksamenstid
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
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.
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
DetaljerEksamensoppgave i TDT4120 Algoritmer og datastrukturer
Eksamensoppgave i TDT4120 Algoritmer og datastrukturer Faglig kontakt under eksamen Magnus Lie Hetland Tlf. 91851949 Eksamensdato 7. desember 2013 Eksamenstid (fra til) 0900 1300 Hjelpemiddelkode Målform/språk
DetaljerMaps og Hashing. INF Algoritmer og datastrukturer. Map - ADT. Map vs Array
Maps og Hashing INF0 - Algoritmer og datastrukturer HØSTEN 00 Institutt for informatikk, Universitetet i Oslo INF0, forelesning : Maps og Hashing Map - Abstrakt Data Type Hash-funksjoner hashcode Kollisjonshåndtering
DetaljerINF2220: Forelesning 2
INF2220: Forelesning 2 Mer om analyse av algoritmer Analyse av binære søketrær Balanserte søketrær Rød-svarte trær (kapittel12.2) B-trær (kapittel 4.7) ANALYSE AV ALGORITMER 2 Analyse av tidsforbruk Hvor
DetaljerInnhold. Innledning 1
Innhold Innledning 1 1 Kompleksitetsanalyse 7 1.1 Innledning.............................. 8 1.2 Hva vi beregner........................... 8 1.2.1 Enkle operasjoner...................... 8 1.2.2 Kompleksitet........................
DetaljerNinety-nine bottles. Femte forelesning. I dagens forelesning: Mest matematiske verktøy. Først: Asymptotisk notasjon. Så: Rekurrensligninger.
I dagens forelesning: Mest matematiske verktøy. Først: Asymptotisk notasjon. Så: Rekurrensligninger. Hva slags kjøretid har denne sangen? Hvordan kan du formulere det som en rekurrensligning? Ninety-nine
DetaljerSortering i Lineær Tid
Sortering i Lineær Tid Lars Vidar Magnusson 5.2.2014 Kapittel 8 Counting Sort Radix Sort Bucket Sort Sammenligningsbasert Sortering Sorteringsalgoritmene vi har sett på så langt har alle vært sammenligningsbaserte
DetaljerINF Algoritmer og datastrukturer
INF2220 - Algoritmer og datastrukturer HØSTEN 2009 Institutt for informatikk, Universitetet i Oslo INF2220, forelesning 3: Maps og Hashing Bjarne Holen (Ifi, UiO) INF2220 H2009, forelesning 3 1 / 25 Maps
DetaljerStudentnummer: Side 1 av 1. Løsningsforslag, Eksamen i TDT4120 Algoritmer og datastrukturer August 2005
Studentnummer: Side 1 av 1 Løsningsforslag, Eksamen i TDT4120 Algoritmer og datastrukturer August 2005 Faglige kontakter under eksamen: Magnus Lie Hetland, Arne Halaas Tillatte hjelpemidler: Bestemt enkel
Detaljer... HASHING. Hashing. Hashtabeller. hash(x)
HASHING Hashing Hashtabeller (kapittel.) Hash-funksjoner (kapittel.) Kollisjonshåndtering Åpen hashing (kapittel.) Lukket hashing (kapittel.) Anta at en bilforhandler har ulike modeller han ønsker å lagre
DetaljerSpenntrær, oppsummert: Kruskal: Traverserer ikke. Plukker kanter i hytt og vær Prim: Legger alltid til den noden som er nærmest treet
Spenntrær, oppsummert: Kruskal: Traverserer ikke. Plukker kanter i hytt og vær Prim: Legger alltid til den noden som er nærmest treet 1 A B D C Prim: Kruskal: AB, BD, DC DC, AB, BD 2 0 + 1 + + n 1; antall
DetaljerPensum: 3. utg av Cormen et al. Øvingstime: I morgen, 14:15
http://www.idi.ntnu.no/~algdat algdat@idi.ntnu.no Pensum: 3. utg av Cormen et al. Øvingstime: I morgen, 14:15 b c g a f d e h The pitch drop experiment. Foreløpig kjørt fra 1927 til nå. Åtte dråper har
DetaljerEksamensoppgave 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 9. august, 07 Eksamenstid
DetaljerMaps og Hashing. INF Algoritmer og datastrukturer. Map - ADT. Map vs Array
Maps og Hashing INF0 - Algoritmer og datastrukturer HØSTEN 00 Institutt for informatikk, Universitetet i Oslo INF0, forelesning : Maps og Hashing Map - Abstrakt Data Type (kapittel.) Hash-funksjoner (kapittel..)
DetaljerKontinuasjonseksamen i fag SIF8010 Algoritmer og Datastrukturer Torsdag 9. August 2001, kl
Student nr.: Side 1 av 5 Kontinuasjonseksamen i fag SIF8010 Algoritmer og Datastrukturer Torsdag 9. August 2001, kl 0900-1500 Faglig kontakt under eksamen: Arne Halaas, tlf. 73 593442. Hjelpemidler: Alle
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.
DetaljerALGORITMER OG DATASTRUKTURER
Stud. nr: Side 1 av 6 NTNU Norges teknisk-naturvitenskapelige universitet BOKMÅL Fakultet for informasjonsteknologi, matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap AVSLUTTENDE
Detaljer... Når internminnet blir for lite. Dagens plan: Løsning: Utvidbar hashing. hash(x) katalog. O modellen er ikke lenger gyldig ved
Dagens plan: Utvidbar hashing (kapittel 5.6) B-trær (kap. 4.7) Abstrakte datatyper (kap. 3.1) Stakker (kap. 3.3) Når internminnet blir for lite En lese-/skriveoperasjon på en harddisk (aksesstid 7-12 millisekunder)
DetaljerINF2220: Forelesning 3
INF2220: Forelesning 3 Map og hashing Abstrakte datatyper (kapittel 3.1) Map (kapittel 4.8) Hashing (kapittel 5) ABSTRAKTE DATATYPER 2 Abstrakte datatyper En ADT består av: Et sett med objekter. Spesifikasjon
DetaljerLive 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
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: 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)
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,
DetaljerINF2220: Forelesning 3. Map og hashing Abstrakte datatyper (kapittel 3.1) Map (kapittel 4.8) Hashing (kapittel 5)
INF2220: Forelesning 3 Map og hashing Abstrakte datatyper (kapittel 3.1) Map (kapittel 4.8) Hashing (kapittel 5) Map og hashing Ett minutt for deg selv: Hva vet du om maps/dictionarys og hashing fra tidligere?
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.
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
DetaljerSide om side. Trettende forelesning
Side om side Trettende forelesning 1 Det finnes mange modeller for parallellitet. Her får dere en liten smak av én av dem som er ment å modellere trådbasert parallellitet/ multicoreprogrammering. Parallellitet
DetaljerINF Algoritmer og datastrukturer. Hva er INF2220? Algoritmer og datastrukturer
Praktiske opplysninger INF2220 - Algoritmer og datastrukturer HØSTEN 2007 Institutt for informatikk, Universitetet i Oslo Tid og sted: Mandag kl. 12:15-14:00 Store auditorium, Informatikkbygningen Kursansvarlige
DetaljerAvsluttende eksamen i TDT4125 Algoritmekonstruksjon, videregående kurs (løsningsforslag)
TDT4125 2011-06-04 Kand.-nr. 1/5 Avsluttende eksamen i TDT4125 Algoritmekonstruksjon, videregående kurs (løsningsforslag) Kontakt under eksamen Tillatte hjelpemidler Magnus Lie Hetland Alle trykte/håndskrevne;
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
Detaljerdeeegimnoorrrsstt Sjette forelesning
deeegimnoorrrsstt Sjette forelesning 1 2 Bellman-Ford BFS/DFS Binære søketrær Binærsøk Bubblesort Bucket sort Counting sort Dijkstra DAGshortest-path Edmonds- Karp Floyd- Warshall Hashing Heapsort Huffmankoding
DetaljerNotater til INF2220 Eksamen
Notater til INF2220 Eksamen Lars Bjørlykke Kristiansen December 13, 2011 Stor O notasjon Funksjon Navn 1 Konstant log n Logaritmisk n Lineær n log n n 2 Kvadratisk n 3 Kubisk 2 n Eksponensiell n! Trær
DetaljerNITH PG4200 Algoritmer og datastrukturer Løsningsforslag Eksamen 4.juni 2013
NITH PG00 Algoritmer og datastrukturer Løsningsforslag Eksamen.juni 0 Dette løsningsforslaget er til tider mer detaljert enn det man vil forvente av en eksamensbesvarelse. Det er altså ikke et eksempel
DetaljerNy/utsatt EKSAMEN. Dato: 6. januar 2017 Eksamenstid: 09:00 13:00
Ny/utsatt EKSAMEN Emnekode: ITF20006 Emne: Algoritmer og datastrukturer Dato: 6. januar 2017 Eksamenstid: 09:00 13:00 Hjelpemidler: Alle trykte og skrevne Faglærer: Jan Høiberg Om eksamensoppgavene: Oppgavesettet
DetaljerHeapsort. Lars Vidar Magnusson Kapittel 6 Heaps Heapsort Prioritetskøer
Heapsort Lars Vidar Magnusson 24.1.2014 Kapittel 6 Heaps Heapsort Prioritetskøer Sorterings Problemet Sorterings problemet er et av de mest fundementalske problemene innen informatikken. Vi sorterer typisk
DetaljerOm Kurset og Analyse av Algoritmer
Om Kurset og Analyse av Algoritmer Lars Vidar Magnusson 8.1.2014 Praktisk informasjon om kurset Hva er en algoritme? (kapittel 1) Hvordan analysere en algoritme? (kapittel 2) Praktisk Informasjon Introduction
DetaljerHashing: Håndtering av kollisjoner
Hashing: Håndtering av kollisjoner Innsetting av dataelement i hashtabell Algoritme: 1. Bruk en hashfunksjon til å beregne hashverdi basert på dataelementets nøkkelverdi 2. Sett inn dataelementet i hashtabellen
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
DetaljerMagnus Lie Hetland. Problemløsningsguide, Algoritmer og datastrukturer
Magnus Lie Hetland Problemløsningsguide, 2018 Algoritmer og datastrukturer 2018-11-18 18:46:46 Magnus Lie Hetland Oversikt Om du står overfor en type problem du har løst mange ganger, eller noe som ligner
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
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
DetaljerNP-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
DetaljerHashtabeller. Lars Vidar Magnusson Kapittel 11 Direkte adressering Hashtabeller Chaining Åpen-adressering
Hashtabeller Lars Vidar Magnusson 12.2.2014 Kapittel 11 Direkte adressering Hashtabeller Chaining Åpen-adressering Dictionaries Mange applikasjoner trenger dynamiske sett som bare har dictionary oparsjonene
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
DetaljerUke 5 Disjunkte mengder
Uke 5 Disjunkte mengder MAW, kap.. 8 September 19, 2005 Page 1 Hittil Forutsetninger for og essensen i faget Metodekall, rekursjon, permutasjoner Analyse av algoritmer Introduksjon til ADT er Den første
DetaljerINF2220: Forelesning 2. Balanserte søketrær Rød-svarte trær (kapittel12.2) B-trær (kapittel 4.7)
INF2220: Forelesning 2 Balanserte søketrær Rød-svarte trær (kapittel12.2) B-trær (kapittel 4.7) REPETISJON: BINÆRE SØKETRÆR 2 Binære søketrær 8 4 12 2 7 9 15 6 11 13 16 For enhver node i et binært søketre
DetaljerALGORITMER OG DATASTRUKTURER
Stud. nr: Side 1 av 6 NTNU Norges teknisk-naturvitenskapelige universitet BOKMÅL Fakultet for informasjonsteknologi matematikk og elektroteknikk Institutt for datateknikk og informasjonsvitenskap AVSLUTTENDE
DetaljerINF2220: Forelesning 2
INF2220: Forelesning 2 Balanserte søketrær Rød-svarte trær (kapittel12.2) B-trær (kapittel 4.7) REPETISJON: BINÆRE SØKETRÆR 2 Binære søketrær 8 4 12 2 7 9 15 6 11 13 16 For enhver node i et binært søketre
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
DetaljerAvsluttende eksamen i IT1105/TDT4120 Algoritmer og datastrukturer
IT1105/TDT4120 2007 06 12 1/6 Avsluttende eksamen i IT1105/TDT4120 Algoritmer og datastrukturer Eksamensdato Torsdag 6. desember Eksamenstid 1500 1900 Sensurdato Torsdag 10. januar Språk/målform Bokmål
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.
DetaljerLøsningsforslag for eksamen i fag TDT4120 Algoritmer og datastrukturer Tirsdag 9. desember 2003, kl
TDT4120 2003-12-09 Stud.-nr: Antall sider: 1/7 Løsningsforslag for eksamen i fag TDT4120 Algoritmer og datastrukturer Tirsdag 9. desember 2003, kl. 0900 1500 Faglig kontakt under eksamen: Arne Halaas,
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
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
DetaljerObservatorer. STK Observatorer - Kap 6. Utgangspunkt. Eksempel høyde Oxford studenter
Observatorer STK00 - Observatorer - Kap 6 Geir Storvik 4. april 206 Så langt: Sannsynlighetsteori Stokastiske modeller Nå: Data Knytte data til stokastiske modeller Utgangspunkt Eksempel høyde Oxford studenter
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.
DetaljerEksamensoppgave 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 0. desember, 08 Eksamenstid
DetaljerAlgdat Oppsummering, eksamen-ting. Jim Frode Hoff
Algdat Oppsummering, eksamen-ting Jim Frode Hoff November 18, 2012 1 Definisjoner 1.1 Ordliste Problem Probleminstans Iterasjon Asymtpoisk notasjon O(x) kjøretid Ω(x) kjøretid Θ(x) kjøretid T (x) kjøretid
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
DetaljerMAT jan jan feb MAT Våren 2010
MAT 1012 Våren 2010 Mandag 25. januar 2010 Forelesning Vi fortsetter med å se på det bestemte integralet, bl.a. på hvordan vi kan bruke numeriske beregninger til å bestemme verdien når vi ikke nødvendigvis
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
DetaljerEksamensoppgave i TDT4120 Algoritmer og datastrukturer
Institutt for datateknikk og informasjonsvitenskap Eksamensoppgave i TDT4120 Algoritmer og datastrukturer Faglig kontakt under eksamen Magnus Lie Hetland Telefon 918 51 949 Eksamensdato 4. desember, 2017
DetaljerAlgoritmer og Datastrukturer IAI 21899
Eksamen i Algoritmer og Datastrukturer IAI 21899 Høgskolen i Østfold Avdeling for informatikk og automatisering Torsdag 30. november 2000, kl. 09.00-14.00 LØSNINGSFORSLAG 1 Del 1, Binære søketrær Totalt
DetaljerKontinuasjonseksamen 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:
DetaljerAnbefalte forkunnskaper Studentene forutsettes å kunne programmere, for eksempel ved å ha tatt TDT4100 Objektorientert programmering.
Anbefalte forkunnskaper Studentene forutsettes å kunne programmere, for eksempel ved å ha tatt TDT4100 Objektorientert programmering. Studentene forutsettes også å ha kunnskaper om funksjoner, logaritmer,
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
DetaljerKjøretidsanalyse. Hogne Jørgensen
Kjøretidsanalyse Hogne Jørgensen Program Presentasjon/tips til Øving 5 Kompleksitetsanalyse Kahoot Rekurrensligninger Kahoot 2 Øving 5 Veibygging i Ogligogo Finne dyreste kant i minimalt spenntre Prim
DetaljerØvingsforelesning i Python (TDT4110)
Øvingsforelesning i Python (TDT4110) Tema: Introduksjon, Kalkulasjoner Kristoffer Hagen Velkommen! Litt om meg Kristoffer Hagen, PhD stipendiat datateknikk Forsker på Exergames (https://www.youtube.com/watch?v=hmyp6tbno5c,
DetaljerKontinuasjonseksamen 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:
DetaljerLP. Leksjon 8: Kapittel 13: Nettverk strøm problemer, forts.1
LP. Leksjon 8: Kapittel 13: Nettverk strøm problemer, forts.1 Vi fortsetter studiet av (MKS): minimum kost nettverk strøm problemet. Har nå en algoritme for beregning av x for gitt spenntre T Skal forklare
DetaljerObligatorisk oppgavesett 1 MAT1120 H16
Obligatorisk oppgavesett MAT0 H6 Innleveringsfrist: torsdag /09 06, innen kl 4.30. Besvarelsen leveres på Matematisk institutt, 7. etasje i N.H. Abels hus. Husk å bruke forsiden som du finner via hjemmesiden.
DetaljerSIF8010 ALGORITMER OG DATASTRUKTURER
SIF8010 ALGORITMER OG DATASTRUKTURER KONTINUASJONSEKSAMEN, 1999; LØSNINGSFORSLAG Oppgave 1 (12%) Anta at du skal lage et støtteprogram som umiddelbart skal varsle om at et ord blir skrevet feil under inntasting
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.
DetaljerDiskrete sannsynlighetsfordelinger som histogram. Varians. Histogram og kumulativ sannsynlighet. Forventning (gjennomsnitt) (X=antall mynt i tre kast)
Diskret sannsynlighetsfordeling (kap 1.1-1.6) Oversikt Utfallsrom (sample space) Sannsynlighetsfordeling Forventning (expectation), E(X), populasjonsgjennomsnitt Bruk av figurer og histogram Binomialfordelingen
DetaljerLineær sortering. Radix sort
Fra forrige gang 1 Lineær sortering Radix sort 2 Sorter hvert siffer for seg Bruk en stabil sortering (f.eks. CS) for å bevare arbeidet så langt Vi må begynne med minst signifikante siffer Konstant antall
DetaljerKompleksitet. 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
DetaljerRekursiv programmering
Rekursiv programmering Babushka-dukker En russisk Babushkadukke er en sekvens av like dukker inne i hverandre, som kan åpnes Hver gang en dukke åpnes er det en mindre utgave av dukken inni, inntil man
DetaljerNP-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