Kursöversikt
Kursen består av 33 föreläsningar och 14 övningar. Alla föreläsningar efter första veckans tre föreläsningar är egentligen entimmesföreläsningar (men av schematekniska skäl har vid ett tillfälle två entimmesföreläsningar kommit att hamna direkt efter varandra). Viggo Kann [VK] och Stefan Nilsson [SN] delar på föreläsningarna. Följande tabell visar vad som kommer att behandlas under föreläsningarna och övningarna. För varje föreläsning anges vilket material i kurslitteraturen som behandlas. Du bör ha skummat det innan du kommer till föreläsningen för att ha riktig glädje av föreläsningen. Föreläsning 9-11 om dynamisk programmering samt föreläsning 20 och 21 om reduktioner och introduktion till komplexitet har omvänd undervisning, så videor ska ses och uppgifter ska göras före dessa föreläsningar.
Undervisning, redovisningar och läsanvisningar
- KT=Kleinberg-Tardos, oavsett om det är KTorig eller KTnie
- KTorig=Kleinberg-Tardos International Edition (2006) eller motsvarande amerikanska utgåva
- KTnie=Kleinberg-Tardos New International Edition (2014), när denna skiljer sig från den tidigare utgåvan (kapitel 5 Divide and Conquer kommer före kapitel 4 Greedy Algorithms och kapitel 13 Randomized Algorithms kommer före kapitel 12 Local Search)
- Sup=supplementet Algorithms and Complexity
Period 1
- F1 (timme 1
Download timme 1, timme 2
Download timme 2) 24 augusti (2 timmar)
[SN+VK] Introduktion till kursen. Repetition av algoritmanalys, beräkningsmodeller, bitkostnad, enhetskostnad. (KT: 29-56)
Mer material: tidskomplexitet Links to an external site., bitkostnad Links to an external site., ordonotation Links to an external site., mästarsatsen. Links to an external site.(Videoklipp Links to an external site.)
Länk till inspelning av föreläsningen
-
F2
Download F2 26 augusti (2 timmar)
[SN] Repetition av sortering (animering 1 Links to an external site., animering 2 Links to an external site.). (KTorig: 209-221/KTnie: 115-127)
Effektiv kodning och testning. Labbpartnermatchning i pausen.
Mer material: insättningssortering Links to an external site. (videoklipp Links to an external site.), quicksort Links to an external site.. Se även Diverse länkar.
Länk till inspelning av föreläsningen Links to an external site.
-
F3
Download F3 27 augusti (2 timmar)
[VK] Datastrukturer: repetition Links to an external site., tidskomplexitet för listor Links to an external site., hashning Links to an external site., praktiska datastrukturer, trie Links to an external site. (animering Links to an external site.) (KT: 57-65) Latmanshashning, skipplistor Links to an external site.. (Sup: 77-83 Download Sup: 77-83) Labbpartnermatchning i pausen.
Länk till inspelning av föreläsningen Links to an external site.
-
Ö1
Download Ö1 28 augusti
Algoritmanalys.
-
F4
Download F4 31 augusti
[SN] Grafer: djupetförstsökning Links to an external site., breddenförstsökning Links to an external site.. (KT: 73-107)
Mer material: grafteori och grafsökning Links to an external site., grafpaket i Go Links to an external site.
Länk till inspelning av föreläsningen
-
F5
Download F5 1 september
[VK] Datastrukturer: bloomfilter. Tillämpning: rättstavning.
Mer material: bloomfilter Links to an external site.
Länk till inspelning av föreläsningen
-
F6
Download F6 2 september
[SN] Korrekthetsbevis.
Mer material: invarianter Links to an external site., induktion Links to an external site..
Länk till inspelning av föreläsningen
-
Ö2
Download Ö2 3 september
Datastrukturer och grafer. Teoriredovisning för labb 1.
-
F7
Download F7 8 september
[SN] Algoritmkonstruktion: giriga algoritmer, totalsökning. (Sup: 31-48, KTorig: 115-136, 183-188/KTnie: 157-179, 225-230)
Länk till inspelning av föreläsningen Links to an external site.
-
F8
Download F8 9 september
[SN] Algoritmkonstruktion: dekomposition. (KTorig: 221-234, 242-246/KTnie: 127-140, 148-152)
Länk till inspelning av föreläsningen Links to an external site. -
F9 10 september (OBS, omvänd föreläsning, förberedelse krävs!)
[VK] Algoritmkonstruktion: dynamisk programmering, del 1. (KT: 251-260)
Visualiseringar: Fibonaccitalen Links to an external site..
Uppgifter som vi arbetade med under föreläsningen Download Uppgifter som vi arbetade med under föreläsningen
Uppgifterna med lösningsförslag Download Uppgifterna med lösningsförslag -
Ö3
Download Ö3 10 september
Dekomposition och dynamisk programmering. -
Labb 1 11 september
Konkordans, redovisning. - F10 14 september (OBS, omvänd föreläsning, förberedelse krävs!)
[VK] Algoritmkonstruktion: dynamisk programmering, del 2. (KT: 261-290)
Uppgifter som vi arbetar med under föreläsningen Download Uppgifter som vi arbetar med under föreläsningen
Uppgifterna med lösningsförslag Download Uppgifterna med lösningsförslag
Dags att börja titta på övningsmästarprov 1! - F11 15 september (OBS, omvänd föreläsning, förberedelse krävs!)
[VK] Dynamisk programmering, del 3: konstruktion av lösning och motivering av korrekthet. (KT: 290-301, 307-311)
Uppgifter som vi arbetar med under föreläsningen Download Uppgifter som vi arbetar med under föreläsningen
Uppgifterna med lösningsförslag Download Uppgifterna med lösningsförslag -
F12
Download F12 16 september
[SN] Grafer: minimala spännande träd (Prim Links to an external site. och Kruskal Links to an external site.), kortaste stigar (Dijkstra Links to an external site.). (KTorig: 137-157/KTnie: 179-199)
Länk till inspelning av föreläsningen -
Ö4
Download Ö4 17 september
Dynamisk programmering. Teoriredovisning för labb 2. -
F13 Download F13 21 september
[VK] Grafer: demo av maximala flöden Links to an external site.. Extra föreläsningsbilder från en kurs på Princeton Links to an external site. (KT: 337-357, 367-373)
Länk till inspelning av föreläsningen
- MAS1-övning 22 september
Redovisning av övningsmästarprov 1 som förberedelse till mästarprov 1. -
F14
Download F14 23 september
[VK] Undre gränser. (Sup: 17-29)
Genomgång av lydelsen till uppgift 1 på mästarprov 1.
Länk till inspelning av föreläsningen Links to an external site.
-
F15
Download F15 24 september
[SN] Algoritmkonstruktion: geometriska algoritmer, geomalgorithms.com Links to an external site., Grahamscan: beskrivning Links to an external site., animering Links to an external site..
Genomgång av lydelsen till uppgift 2 och 3 på mästarprov 1.
Länk till inspelning av föreläsningen Links to an external site.
-
Ö5
Download Ö5 24 september
Grafalgoritmer och undre gränser.
-
Labb 2 25 september
Rättstavning, redovisning.
-
F16
Download F16 28 september kl 10
[SN] Algoritmkonstruktion: sortering i linjär tid. Räknesortering och radixsortering Links to an external site.. (Sup: 1-6)
Länk till inspelning av föreläsningen Links to an external site.
- F17 28 september kl 11
[SN] Algoritmkonstruktion: textsökning. (Sup: 7-16, Pythonkramaren II: 46-48 Download Pythonkramaren II: 46-48)
Länk till inspelning av föreläsningen Links to an external site.
-
F18
Download F18 2 oktober kl 12 Handskrivna föreläsningsanteckningar
[SN] Algoritmkonstruktion: polynomberäkningar och FFT. (KTorig: 234-242/KTnie: 140-148)
Länk till inspelning av föreläsningen Links to an external site.
-
Ö6
Download Ö6 30 september
Algoritmkonstruktion. Teoriredovisning för labb 3.
Sammanfattning av alla algoritmer hittills i kursen.
-
F19
Download F19 5 oktober
[SN] Probabilistiska algoritmer. (KTorig: 707-734, 769-776/KTnie: 661-688, 723-730)
Lasvegas- och Montecarloalgoritmer, Links to an external site. Probabilistisk algoritm för medianproblemet Download Probabilistisk algoritm för medianproblemet
Länk till inspelning av föreläsningen Links to an external site.
-
F20
Download F20 6 oktober OBS, omvänd föreläsning, förberedelse krävs!
[SN] Reduktioner. (KT: 451-459)
-
Ö7
Download Ö7 7 oktober
Probabilistiska algoritmer. Reduktioner. -
Mästarprov 1, senast onsdag 7 oktober klockan 19!
Uppgiftslydelsen läggs upp i Canvas 23 september.Algoritmer. Muntliga redovisningar sker 12-16 oktober.
-
F21
Download F21 8 oktober OBS, omvänd föreläsning, förberedelse krävs!
[SN] Introduktion till komplexitet, motivering. (KT: 463-466 hela sidan)
Period 2
-
F22
Download F22 26 oktober
[VK] Formella definitioner, turingmaskiner Links to an external site.. (PDF att läsa Download PDF att läsa, bild 1 Links to an external site., bild 2 Links to an external site.) (färgfråga 1 Download 1, 2 Download 2, 3 Download 3)
Links to an external site.Länk till inspelning av föreläsningen
-
F23
Download F23 27 oktober
[SN] Oavgörbarhet. (Sup: 49-73)
Links to an external site.<inspelning saknas>
-
Ö8
Download Ö8 29 oktober (endast grupp 2-4, den lite enklare gruppen är inställd)
Genomgång av lösning till mästarprov 1. Oavgörbarhet.
-
Labb 3 30 oktober
Flöden och matchningar, redovisning.
-
F24
Download F24 2 november (färgfråga 1
Download 1 och 2
Download 2)
[VK] Cooks sats. (PDF att läsa)
Länk till inspelning av föreläsningen Links to an external site. -
F25 Download F25 3 november kl 10 (fråga Download fråga)
[VK] NP-fullständighetsbevis. (KT: 466-495)
Länk till inspelning av föreläsningen
- F26 3 november kl 11
[VK] NP-reduktionsvisualisering med Alvie Links to an external site..
Länk till inspelning av föreläsningen
I Alvie finns reduktioner för hörntäckning Download hörntäckning (Vertex Cover) och delmängdssumma Download delmängdssumma (Subset Sum) visualiserade och bevisade.
Alvie är utvecklat av Pierluigi Crescenzi. Om du inte vill ladda ner Alvie själv kan du titta på reduktionsvisualiseringarna som filmer:
Visualisering av reduktionen av 3-CNFSAT till hörntäckning som Flash och Quicktime.
Visualisering av reduktionen av 3-CNFSAT till delmängdssumma som Flash och Quicktime.
-
Ö9
Download Ö9 4 november (endast grupp 2-4, den lite enklare gruppen är inställd)
NP-fullständighetsbevis. Teoriredovisning för labb 4.
-
F27
Download F27 10 november
[SN] NP-fullständighetsreduktioner. (KT: 459-463)
Länk till inspelning av föreläsningen Links to an external site.
-
F28
Download F28 11 november
[VK] Mer NP-fullständighetsreduktioner. (KT: 497-505)
Länk till inspelning av föreläsningen -
Ö10
Download Ö10 11 november (endast grupp 2-4, den lite enklare gruppen är inställd)
NP-fullständiga problem.
-
Labb 4 13 november
NP-fullständighetsreduktioner, redovisning.
-
F29
Download F29 16 november
[SN] Heuristiska algoritmer Links to an external site.. Simulated annealing Links to an external site.. (KTorig: 661-670/KTnie: 749-758)
Länk till inspelning av föreläsningen -
F30
Download F30 17 november (färgfråga 1
Download 1 2
Download 2 3
Download 3)
[VK] Approximationsalgoritmer. (KT: 599-630)
Länk till inspelning av föreläsningen - MAS2-övning 19 november (endast grupp 2-4, den lite enklare gruppen är inställd)
Redovisning av övningsmästarprov 2 och genomgång av fler exempel på NP-fullständighetsproblem som förberedelse till mästarprov 2.
-
F31
Download F31 24 november (färgfråga 1
Download 1 2
Download 2)
[VK] Mer approximationsalgoritmer. (webbsida Links to an external site. om Christofides algoritm, Viggos lista med approximationsresultat för NP-svåra optimeringsproblem)
Genomgång av lydelsen till uppgift 1 och 3 på mästarprov 2.
Links to an external site.Länk till inspelning av föreläsningen Links to an external site. -
F32
Download F32 25 november (färgfråga 1
Download 1 2
Download 2)
[VK] Komplexitetsklasser. (KT: 495-497, 531-547)
Genomgång av lydelsen till uppgift 2 på mästarprov 2.
Links to an external site.Länk till inspelning av föreläsningen Links to an external site.
-
Ö11
Download Ö11 26 november (endast grupp 2-4, den lite enklare gruppen är inställd)
Approximationsalgoritmer. Teoriredovisning för labb 5.
-
Mästarprov 2, senast 3 december klockan 15!
Uppgiftslydelsen läggs upp i Canvas 19 november.Komplexitet. Muntliga redovisningar sker 7-11 december.
-
F33
Download F33 30 november
[VK] Links to an external site.Repetition. Kursens betygssystem. Om teoritentan, högrebetygslabben, muntan och omexamination.
Länk till inspelning av föreläsningen
-
Ö12
Download Ö12 2 december (endast grupp 2-4, den lite enklare gruppen är inställd)
Komplexitetsklasser och repetition. -
Labb 5 4 december
Heuristik för rollbesättningsproblemet, redovisning. Bokningslistor publiceras i Canvas 3 december.
- Extra labbredovisningstillfälle 11 december för alla labbar, inklusive högrebetygslabben. Bokningslistor publiceras i Canvas 9 december.
- Teoritenta 15 december klockan 9-12. Skrivtid 9:00-10:30 i Canvas. Obligatorisk rättningssession kl 11:00-12:00 i Zoom.
- Ommästarprov för mästarprov 1 och mästarprov 2 offentliggörs 15 december och redovisas skriftligt 4 januari och muntligt 7-11 januari 2021.
- Frivillig munta för högre mästarprovsbetyg, 13 och 15 januari 2021. Muntan genomförs i Zoom. Anmälan görs under perioden 31 december 2020 till 6 januari 2021.
- Redovisning av högrebetygslabben Heuristik för rollbesättningsproblemet (inga andra labbar kan redovisas), 12 januari 2021 kl 9-12. Bokningslistor publiceras i Canvas 31 december.
Efter period 2 är kursen slut. Den som har labbar kvar att redovisa kan göra det antingen i labbveckan i juni eller på labbpassen i systerkursen DD2352 Algoritmer och komplexitet. Säg till den du redovisar för att du ska ha labben rapporterad på adk20.
Den som har mästarprov kvar kan göra dom i en senare kursomgång av antingen ADK (som går varje hösttermin) eller systerkursen DD2352 (som går varje vårtermin; du ska inte registrera dig på DD2352, men du behöver kontakta kursledaren för DD2352, Per Austrin, för att bli inlagd i kursrummet). Säg till den du redovisar att du ska ha mästarprovet rapporterat på adk20.
Den som har tentan kvar kan gå upp på omtentan 9 april 2021 kl 14:00-17:00 eller nästa ordinarietenta i december 2021.