Kursöversikt

Viggo Kann [VK] och Stefan Nilsson [SN] delar på föreläsningarna. Tomas Ekholm [TE] håller en gästföreläsning. Både föreläsningar och övningar ges i sal på campus. Nedanstående 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. I tabellen nedan finns länkar till föreläsningsbilder, övningsuppgifter och annat material.

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å det finns förberedande videor och uppgifter till dessa föreläsningar. Första timmen på dessa föreläsningar är avsatt för att du ska kunna göra förberedelserna. Ta i så fall med egen dator. Om du gör förberedelserna i förväg räcker det att du kommer till andra timmen på 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

  • Ö1 4 september
    Algoritmanalys.

  • F7 11 september
    [SN] Algoritmkonstruktion: giriga algoritmer, totalsökning. (Sup: 31-48, KTorig: 115-136, 183-188/KTnie: 157-179, 225-230)
  • Övningsmästarprovsövning 1 26 september
    Redovisning av övningsmästarprov 1 som förberedelse till mästarprov 1, som publiceras denna dag.
    Grupp 1 (Noras grupp) genomför övningsmästarprovet i Zoom: https://kth-se.zoom.us/j/65627359290 (Du laddar då upp din lösning i Canvas under övningen.)
    Övriga grupper är i sal. Det går bra att gå till vilken av grupperna som helst.
  • F14 27 september
    [VK] Undre gränser. (Sup: 17-29)
    Genomgång av lydelsen till uppgift 2 på mästarprov 1.
  • Ö5 28 september
    Grafalgoritmer och undre gränser.
  • Labb 2 29 september
    Rättstavning, redovisning.

Sammanfattning av alla algoritmer hittills i kursen.

  • F20 10 oktober (OBS, omvänd föreläsning: förberedelse krävs!)
    [SN] Reduktioner. (KT: 451-459)
    Första timmen: tid för att göra förberedelserna.
    Andra timmen: frågestund och arbete med uppgifter i grupp.
  • Ö7 11 oktober
    Probabilistiska algoritmer. Reduktioner.
  • F21 12 oktober (OBS, omvänd föreläsning, förberedelse krävs!)
    [SN] Introduktion till komplexitet, motivering. (KT: 463-466 hela sidan)
    Första timmen: tid för att göra förberedelserna.
    Andra timmen: frågestund och arbete med uppgifter i grupp.
  • Mästarprov 1 (Algoritmkonstruktion) senast tisdag 17 oktober klockan 19:00.
    Uppgiftslydelsen publiceras i Canvas 26 september.
    Muntliga redovisningar sker 23-27 oktober.

Period 2

  • Labb 3 3 november
    Flöden och matchningar, redovisning.
  • F24 6 november
    [VK] Cooks sats. (PDF att läsa)
  • F25 7 november kl 15
    [VK] NP-fullständighetsbevis. (KT: 466-495)

  • F27 14 november kl 15
    [SN] NP-fullständighetsreduktioner. (KT: 459-463)
  • Labb 4 17 november
    NP-fullständighetsreduktioner, redovisning.
  • F29 20 november
    [SN] Heuristiska algoritmer. Simulated annealing. (KTorig: 661-670/KTnie: 749-758)
    Detta är Stefans sista föreläsning som lärare på KTH. Missa inte den!
  • F30 21 november
    [VK] Approximationsalgoritmer. (KT: 599-630)
  • Övningsmästarprovsövning 2 23 november
    Redovisning av övningsmästarprov 2 och genomgång av fler exempel på NP-fullständighetsproblem som förberedelse till mästarprov 2, som publiceras denna dag.
    Grupp 2 (Douglas grupp) genomför övningsmästarprovet i Zoom.
    Övriga grupper är i sal.
    Grupp 3 (Jespers grupp) genomför övningsmästarprovet den 24 november kl 10-12.
    Det går bra att gå till vilken av grupperna som helst.
    Lösningsförslag till övningsmästarprovet
  • F31 27 november
    [VK] Mer approximationsalgoritmer. (webbsida om Christofides algoritm, Viggos lista med approximationsresultat för NP-svåra optimeringsproblem)
    Genomgång av lydelsen till uppgift 1 på mästarprov 2.
  • Ö11 28 november
    Approximationsalgoritmer. Teoriredovisning till labb 5.
  • F32 29 november
    [VK] Komplexitetsklasser. (KT: 495-497, 531-547)
    Genomgång av lydelsen till uppgift 2 och 3 på mästarprov 2.
  • F33 5 december
    [VK] Repetition. Kursens betygssystem. Om teoritentan, högrebetygslabben, muntan och omexamination.
  • Ö12 6 december
    Komplexitetsklasser och repetition.
  • Mästarprov 2 (komplexitet), senast 7 december klockan 19:00!
    Uppgiftslydelsen publiceras i Canvas 23 november.
    Muntliga redovisningar sker 11-15 december.
  • Labb 5 7 december
    Heuristik för rollbesättningsproblemet, redovisning. 
  • Extra labbredovisningstillfälle 14 december för alla labbar, inklusive högrebetygslabben.
    Labbredovisningar prioriteras framför labbhjälp. Eftersom längden på redovisningarna varierar läggs inga bokningslistor upp, utan Stay-a-while används som kö. Redovisningar kommer att kunna genomföras både i Zoom och i datorsal Grå+Karmosin.
  • Teoritenta 18 december klockan 9-12. Skrivtid 9:00-10:30 i Canvas. Obligatorisk rättningssession kl 11:00-12:00 i Zoom. Sedvanlig tentaanmälan måste göras i förväg.
    Den som har 50% förlängd skrivtid tentar klockan 8:15-10:30.
  • Ommästarprov för mästarprov 1 och mästarprov 2 offentliggörs 18 december och redovisas skriftligt 4 januari och muntligt 8-11 januari 2024.
  • Redovisning av högrebetygslabben Heuristik för rollbesättningsproblemet (övriga labbar kan inte redovisas), 8 januari 2024 kl 9-12. Bokningslistor publiceras i Canvas 31 december.
  • Labbkursreflektion bör lämnas in senast 9 januari 2024.
  • Frivillig munta för högre mästarprovsbetyg, 11 och 12 januari 2024. Anmälan görs under perioden 31 december 2023 till 5 januari 2024. Instruktioner om hur muntan genomförs

Efter period 2 är kursen slut. Den som har labbar kvar att redovisa kan göra det antingen i labbveckan i juni eller under våren på labbpassen i systerkursen DD2352 Algoritmer och komplexitet. Säg till den du redovisar för att du ska ha labben rapporterad på adk23. Labbkursreflektionen lämnar du in i kursrummet för adk23 när du är klar med alla labbarna.

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å att du kan lämna in mästarprovet).

Den som har teoritentan kvar kan anmäla sig till och gå upp på omtentan i april 2024 eller nästa ordinarietenta i december 2024.