Hoppa till huvudinnehållet
Till KTH:s startsida

DD2352 Algoritmer och komplexitet 7,5 hp

Den andra kursen i att utforma och analysera effektiva algoritmer i den här kursen fokuserade på de grundläggande principerna för algoritmutveckling och beräkningskomplexitet. Du kommer att utforska viktiga tekniker för algoritmdesign, analysera deras prestanda och dyka djupt in i de komplexitetsklasser som definierar vilka problem datorer kan lösa. Kursen är idealisk för alla som vill förbättra sina färdigheter i problemlösning och utveckla en solid grund i algoritmers teoretiska och praktiska aspekter.

Information per kursomgång

Välj termin och kursomgång för att se aktuell information och mer om kursen, såsom kursplan, studieperiod och anmälningsinformation.

Termin

Kursplan som PDF

Notera: all information från kursplanen visas i tillgängligt format på denna sida.

Kursplan DD2352 (VT 2024–)
Rubriker med innehåll från kursplan DD2352 (VT 2024–) är markerade med en asterisk ( )

Innehåll och lärandemål

Kursinnehåll

Konstruktionsprinciper för algoritmer: Dekomposition, giriga algoritmer, dynamisk programmering. Algoritmanalys. Probabilistiska algoritmer. Approximationsalgoritmer. Utvalda tillämpningar inom mängder, grafer, aritmetik och geometri. Implementation av algoritmer.

Beräkningsbarhet och komplexitet: Reduktioner. Komplexitetsklasserna P (polynomisk tid), NP (ickedeterministisk polynomisk tid), PSPACE (polynomiskt minne) och BPP (probabilistisk polynomisk tid med begränsat fel). NP-fullständighet och NP-svårighetsreduktioner. Oavgörbara problem.

Lärandemål

Efter godkänd kurs ska studenten kunna

  • utveckla och implementera algoritmer och reduktioner, och analysera dem med avseende på korrekthet och effektivitet
  • jämföra alternativa algoritmer med hänsyn till effektivitet
  • definiera och förklara centrala begrepp som P, NP, NP-fullständighet och oavgörbarhet
  • jämföra problem med hänsyn till komplexitet med hjälp av reduktioner

i syfte att

  • självständigt kunna konstruera datorprogram som effektivt utnyttjar tid och minne och därmed kan bidra till ekonomisk och miljömässig hållbar utveckling
  • i yrkeslivet kunna identifiera problem som är orealistiskt resurskrävande eller inte alls går att lösa med dator.

Kurslitteratur och förberedelser

Särskild behörighet

Kunskaper i grundläggande datalogi, 6 hp, motsvarande slutförd kurs DD1338/DD1320-DD1328/DD2325/ID1020/ID1021.

Kunskaper och färdigheter i programmering, 6 hp, motsvarande slutförd kurs DD1310-DD1319/DD1321/DD1331/DD1337/DD100N/ID1018.

Kunskaper i envariabelanalys, 7,5 hp, motsvarande slutförd kurs SF1625/SF1673.

Gymnasiekursen Engelska B/6.

Aktivt deltagande i kursomgång vars slutexamination ännu inte är Ladokrapporterad jämställs med slutförd kurs. Den som är registrerad anses vara aktivt deltagande. Med slutexamination avses både ordinarie examination och det första omexaminationstillfället.

Rekommenderade förkunskaper

Kunskaper i diskret matematik är nödvändigt. Den som vid kursstart inte har slutfört 7,5 hp diskret matematik motsvarande SF1610/SF1662/SF1679/SF1688 måste läsa en av dessa kurser parallellt med DD2352, se under övriga föreskrifter i kursplanen.

Kunskaper i sannolikhetsteori motsvarande till exempel SF1901 Sannolikhetslära och statistik rekommenderas men kan också läsas in under kursen.

Utrustning

Ingen information tillagd

Kurslitteratur

Ingen information tillagd

Examination och slutförande

När kurs inte längre ges har student möjlighet att examineras under ytterligare två läsår.

Betygsskala

A, B, C, D, E, FX, F

Examination

  • LAB1 - Laborationer, 1,5 hp, betygsskala: P, F
  • MAS1 - Mästarprov, 1,5 hp, betygsskala: A, B, C, D, E, FX, F
  • MAS2 - Mästarprov, 1,5 hp, betygsskala: A, B, C, D, E, FX, F
  • TEN1 - Tentamen, 3,0 hp, betygsskala: A, B, C, D, E, FX, F

Examinator beslutar, baserat på rekommendation från KTH:s handläggare av stöd till studenter med funktionsnedsättning, om eventuell anpassad examination för studenter med dokumenterad, varaktig funktionsnedsättning.

Examinator får medge annan examinationsform vid omexamination av enstaka studenter.

Laborationer och mästarprov examineras både muntligt och skriftligt. Tentamen är skriftlig.

Möjlighet till komplettering

Ingen information tillagd

Möjlighet till plussning

Ingen information tillagd

Examinator

Etiskt förhållningssätt

  • Vid grupparbete har alla i gruppen ansvar för gruppens arbete.
  • Vid examination ska varje student ärligt redovisa hjälp som erhållits och källor som använts.
  • Vid muntlig examination ska varje student kunna redogöra för hela uppgiften och hela lösningen.

Ytterligare information

Kursrum i Canvas

Registrerade studenter hittar information för genomförande av kursen i kursrummet i Canvas. En länk till kursrummet finns under fliken Studier i Personliga menyn vid kursstart.

Ges av

Huvudområde

Datalogi och datateknik

Utbildningsnivå

Avancerad nivå

Påbyggnad

DD2440 Avancerade algoritmer,
DD2542 Seminariekurs i teoretisk datalogi, algoritmer och komplexitet, DD2445 Komplexitetsteori,
DD2458 Problemlösning och programmering under press.

Kontaktperson

Per Austrin, e-post: austrin@kth.se

Övrig information

Denna kurs har ersatt DD2354 Algoritmer och komplexitet.

Kursen kan inte kombineras med någon av kurserna DD1352, DD2350, DD2354.

I denna kurs tillämpas EECS hederskodex, se:
http://www.kth.se/eecs/utbildning/hederskodex

Övriga föreskrifter

Den som vid kursstart inte har slutfört 7,5 hp diskret matematik motsvarande SF1610/SF1662/SF1679/SF1688 måste läsa en av dessa kurser parallellt med DD2352.