DM892: Approksimationsalgoritmer

Det Naturvidenskabelige Studienævn

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

STADS ID (UVA): N340129101
ECTS-point: 10

Godkendelsesdato: 15-03-2023


Varighed: 1 semester

Version: Godkendt - aktiv

Kommentar

Kurset udbydes efter behov.

Indgangskrav

Kurset kan ikke tages af studerende, som har bestået DM865 eller DM833.

Faglige forudsætninger

Studerende, der følger kurset, forventes at kunne

  • designe og analysere algoritmer

Stoffet fra DM507/DM578/DS814 forudsættes kendt.
Det er en fordel at kende stoffet fra DM553 Kompleksitet og beregnelighed og at have basalt kendskab til lineær programmering.

Formål

Mange opgaver som planlægning og skedulering kan formuleres som diskrete optimeringsproblemer, men ofte kan de ikke løses optimalt inden for en rimelig tid. Her spiller approksimations-algoritmer en væsentlig rolle.

En approksimationsalgoritme er en optimerings-algoritme med en garanteret køretid og løsningskvalitet. F.eks. gennemgås i kurset en simpel og hurtig algoritme, som garanterer at finde en TSP-rute, som er højst en halv gang længere end den optimale.

Vi vil også se på online-algoritmer. Her er begrænsningen ikke, at der ikke findes polynomielle algoritmer til at løse problemet optimalt, men derimod begrænset viden om problem-instansen. Når man kører et program, ved man f.eks. ikke altid, hvilke hukommelses-sider, det vil være en fordel at bevare i den hurtige, men forholdsvis lille, del af hukommelsen.  

Kurset bygger oven på den viden, der er erhvervet i kurset DM507/DM578/DS804 Algoritmer og datastrukturer. Referencer til begreber fra DM553 Kompleksitet og beregnelighed eller DM545/DM871 Lineær og heltalsprogrammering kan også finde sted i kursusforløbet.

Kurset giver et fagligt grundlag for at lave et speciale indenfor approksimations- og/eller online-algoritmer.
I forhold til uddannelsens kompetenceprofil har kurset eksplicit fokus på at:

  • Give færdigheder i at beskrive, analysere og løse avancerede datalogiske problemstillinger ved hjælp af de lærte modeller
  • Give færdigheder i at analysere fordele og ulemper ved forskellige algoritmer, specielt med hensyn til ressourceforbrug
  • Give færdigheder i at udvikle nye varianter af de lærte metoder, hvor det konkrete problem kræver det
  • Kunne forstå og på et videnskabeligt grundlag reflektere over principper og grundlæggende egenskaber omkring approksimations- og online-algoritmer
  • Give ekspertviden om approksimations- og online-algoritmer
  • Give viden om et udvalg af specialiserede modeller og metoder udviklet inden for approksimations- og online-algoritmer fra den internationale forskningsfront

Målbeskrivelse

For at opnå kursets formål er det læringsmålet for kurset, at den studerende demonstrerer evne til at:            

  • Beskrive problemerne behandlet i kurset kort og præcist.
  • Beskrive algoritmerne gennemgået i kurset, både konkrete algoritmer og algoritme-paradigmer.
  • Analysere kendte og nye algoritmer, især mht approksimations-faktor men også mht køretid og pladsforbrug.
  • Vurdere hvilke metoder, der er hensigtsmæssige at anvende i sammenhængen.
  • Tilpasse kendte algoritmer til specialtilfælde af kendte problemer og til nye problemer.
  • Designe og analysere nye algoritmer til at løse problemer, som i natur minder om problemer fra kurset.

Indhold

Kurset indeholder følgende faglige hovedområder: 

  • Approksimations-faktor og competitive ratio.
  • Køretid og pladsforbrug
  • Kombinatoriske algoritmer, LP-baserede algoritmer, grådige algoritmer
  • Deterministiske og randomiserede algoritmer
  • Konkrete optimerings-problemer så som TSP, scheduling, knapsack, bin packing og caching.

Litteratur

Se itslearning for pensumlister og yderligere litteraturhenvisninger.

Eksamensbestemmelser

Eksamenselement a)

Tidsmæssig placering

Januar

Udprøvninger

Mundtlig eksamen

EKA

N340129102

Censur

Ekstern prøve

Bedømmelse

7-trinsskala

Identifikation

Studiekort

Sprog

Følger, som udgangspunkt, undervisningssprog

Hjælpemidler

Oplyses på kurset

ECTS-point

10

Uddybende information




Vejledende antal undervisningstimer

72 timer per semester

Undervisningsform

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

  • Introfase (forelæsning): 36 timer 
  • Træningsfase 36 timer

Aktiviteter i studiefasen:

  • Løsning af ugentlige opgaver med henblik på diskussion af disse ved eksaminatorierne
  • Selvstudium af visse emner fra lærebogen
  • Selvstændig opsamling på intro og træningsfasen

Ansvarlig underviser

Navn E-mail Institut
Lene Monrad Favrholdt lenem@imada.sdu.dk Algoritmer

Skemaoplysninger

Administrationsenhed

Institut for Matematik og Datalogi (datalogi)

Team hos Uddannelsesjura & Registratur

NAT

Udbudssteder

Odense

Anbefalede studieforløb

Profil Uddannelse Semester Udbuds periode

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.