DM582: Avancerede algoritmer

Det Naturvidenskabelige Studienævn

Undervisningssprog: På dansk eller engelsk afhængigt af underviser, men engelsk ved internationale studerende
EKA: N330070102
Censur: Ekstern prøve
Bedømmelse: 7-trinsskala
Udbudssteder: Odense
Udbudsterminer: Forår
Niveau: Bachelor

STADS ID (UVA): N330070101
ECTS-point: 7.5

Godkendelsesdato: 20-03-2023


Varighed: 1 semester

Version: Arkiv

Indgangskrav

Kurset kan ikke følges af studerende, der har bestået MM541, DM538 eller DM551/MM851.

Faglige forudsætninger

Studerende, der følger kurset, forventes at:
  • Have kendskab til basale algoritmer og datastrukturer såvel som implementering af disse i et imperativt programmeringssprog, herunder stakke, køer, søgetræer og prioritetskøer, såvel som sorteringsmetoder og basale grafalgoritmer.
  • Have kendskab til algoritmedesignteknikker og være i stand til at analysere algoritmer ved hjælp af asymptotisk analyse og sammenligne asymptotiske resultater.
  • Være i stand til at anvende basal matematisk argumentation, herunder logiske udtryk, beviser ved induktion, modstridsargumenter, tælleteknikker og diskret sandsynlighedsteori.
Disse kompetencer kan opnås gennem f.eks. DM549, DM578 og DM581.

Formål

Kurset har til formål at sætte den studerende i stand til at anvende randomisering og probabilistiske metoder i design og analyse af algoritmer og gøre den studerende fortrolig med avancerede algoritmiske emner som strømning i netværk og analyseteknikker som amortiseret analyse.

Kurset bygger på viden opnået i kurser om algoritmer og datastrukturer, diskret matematik og sandsynlighedsteori.
Kurset giver et fagligt grundlag for at gennemføre bachelorprojekter såvel som at følge valgfri kurser i forlængelse af kursets emner.

I forhold til uddannelsens kompetenceprofil har kurset fokus på at give den studerende de nødvendige kompetencer for at udføre probabilistiske analyser af algoritmer, anvende randomisering i algoritmedesign og være i stand til at analysere deres tidskompleksitet. Endvidere skal den studerende blive i stand til at anvende algoritmer til strømning i netværk og forstå deres begrænsninger og analyse. Endelig skal den studerende blive i stand til at analysere algoritmer og datastrukturer ved brug af teknikker fra amortiseret analyse.

Målbeskrivelse

Læringsmålet for kurset er, at den studerende demonstrerer evnen til at:
  • Anvende emner fra diskret sandsynlighedsteori til at estimere den forventede køretid for algoritmer
  • Udvikle og analysere basale randomiserede algoritmer
  • Anvende teknikker fra universel hashing til at vælge hashfunktioner med god forventet opførsel
  • Formulere en strømningsmodel for problemer, der ligner dem fra kurset
  • Anvende teknikker fra kurset til at vurdere den amortiserede tidskompleksitet af operationer på en datastruktur

Indhold

Kurset indeholder følgende hovedområder:
  • Randomiserede algoritmer
  • Probabilistiske analyser af algoritmer
  • Den probabilistiske metode
  • Universel og perfekt hashing
  • Strømning i netværk
  • Amortiseret analyse

Litteratur

Se pensum på itslearning.

Eksamensbestemmelser

Eksamenselement a)

Tidsmæssig placering

Forår og juni

Udprøvninger

Portfolio med mundtlig forsvar

EKA

N330070102

Censur

Ekstern prøve

Bedømmelse

7-trinsskala

Identifikation

Fulde navn og SDU brugernavn

Sprog

Følger, som udgangspunkt, undervisningssprog

Hjælpemidler

Oplyses på kurset

ECTS-point

7.5

Uddybende information

Portfolio eksamen består af to elementer:

  1. Obligatorisk opgave
  2. Mundtlig prøve - afvikles juni
Der gives en samlet bedømmelse af  de to elementer:
Reeksamen er mundtlig.

Vejledende antal undervisningstimer

70 timer per semester

Undervisningsform

På naturvidenskab er undervisningen tilrettelagt efter trefasemodellen; dvs. intro-, trænings- og studiefasen.

  • Introfase: 40 lektioner
  • Træningsfase: 30 lektioner

I introfasen anvendes en modificeret variant af klassiske forelæsninger, hvor fundamentale begreber og metoder præsenteres teoretisk såvel som gennem eksampler på konkrete data. Der opmuntres til spørgsmål og diskussioner. Træningsfasen drejer sig om øvelser og diskussionsemner, der relaterer sig til det materiale, der er blevet introduceret i de forudgående introfase lektioner. I træningsfasen kan de studerende arbejde specifikt med de mere udfordrende emner. Spørgsmål, som opstår i studiefasen, kan bringes op under mødetiderne.

Ansvarlig underviser

Navn E-mail Institut
Kim Skak Larsen kslarsen@imada.sdu.dk Algoritmer

Skemaoplysninger

Administrationsenhed

Institut for Matematik og Datalogi (datalogi)

Team hos Uddannelsesjura & Registratur

NAT

Udbudssteder

Odense

Anbefalede studieforløb

Overgangsordninger

Overgangsordninger beskriver, hvordan et kursus erstatter et andet kursus, når der ændres i et studieforløb.
Hvis der er lavet en overgangsordning for et kursus vil den fremgå af oversigten.
Se overgangsordninger for alle kurser på Det Naturvidenskabelige Fakultet.