DM551: Algoritmer og sandsynlighed

Det Naturvidenskabelige Studienævn

Undervisningssprog: På dansk eller engelsk afhængigt af underviser, men engelsk ved internationale studerende
EKA: N330012112, N330012102
Censur: Intern prøve, en bedømmer, Ekstern prøve
Bedømmelse: Bestået/Ikke bestået, 7-trinsskala
Udbudssteder: Odense
Udbudsterminer: Efterår
Niveau: Bachelor

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

Godkendelsesdato: 14-03-2022


Varighed: 1 semester

Version: Godkendt - aktiv

Kommentar

NEDLÆGGES - udbydes sidste gang E23

Eksamensforsøg afholdes januar 2024 (ordinær)

Eksamensforsøg afholdes marts 2024 (reeksamen)

Eksamensforsøg afholdes august 2024

Kurset samlæses med MM851.

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 grundlæggende datastrukturer
  • Have kendskab til basale algoritmer for manipulering af (repræsentationer af) talsæt og grafer, samt implementering af sådanne i et imperativt programmeringssprog
  • Have kendskab til basal matematisk argumentation, herunder bevis ved induktion, bevis ved modstrid og logiske udtryk.
  • Have kendskab til konvergens af potensrækker.

Formål

Kurset har til formål at sætte den studerende i stand til at anvende metoder fra kombinatorik og diskret sandsynlighed i forbindelse med design og analyse af algoritmer og datastrukturer. Disse færdigheder er vigtige både når der skal udvikles nye algoritmer til et givet problem og når man skal vurdere, hvilken blandt flere algoritmer, samt implementationer af disse vha. datastrukturer, der må forventes at være mest effektive til at løse problemet hurtigt.

Kurset bygger oven på den viden, der er erhvervet i kurserne DM507 Algoritmer og datastrukturer samt DM549 Diskrete metoder til datalogi.

Kurset giver et fagligt grundlag for at gennemføre et bachelorprojekt samt valgfrie kandidatkurser der indeholder et eller flere af følgende elementer: strømning i netværk, randomisering, tælleargumenter med henblik på analyse af kompleksiteten eller bevise korrektheden af en algoritme, samt probabilistiske beviser. Desuden giver kurset, suppleret med ovennævnte typer af kurser, et fagligt grundlag for at lave et speciale indenfor randomiserede algoritmer.

I forhold til uddannelsens kompetenceprofil har kurset eksplicit fokus på at:

  • Give kompetence til at kunne udvikle og analysere algoritmer ud fra metoder fra kombinatorik og diskret sandsynlighedsteori.
  • Give færdigheder i at anvende kombinatoriske argumenter, samt diskret sandsynlighedsteori i forbindelse med udvikling og analyse af algoritmer og datastrukturer.
  • Give viden om hvordan den probabilistiske metode anvendes
  • Give viden om hvorledes kombinatorik og randomisering kan anvendes til udvikling og analyse af algoritmer der har en god forventet køretid/performance.
  • Give viden om anvendelsen af randomisering af design af algoritmer, samt anvendelse af elementær sandsynlighedsteori til at analysere køretiden af algoritmer
  • Give kompetencer til at udvikle nye varianter af centrale algoritmer og datastrukturer udviklet inden for datalogi

Målbeskrivelse

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

  • Anvende de i kurset gennemgåede tælleteknikker til at bestemme kardinaliteten af en mængde.
  • Anvende de i kurset gennemgåede begreber fra diskret sandsynlighedsteori, bl.a. på centrale diskrete sandsynlighedsfordelinger, samt til at vurdere forventede køretider af algoritmer.
  • Løse lineære rekursionsligninger
  • Udvikle og analysere basale randomiserede algoritmer under brug af kursets emner.
  • Anvende teknikker fra universel hashing til udvælgelse af hash funktioner med god forventet opførsel.
  • Anvende algoritmer fra kurset til at finde forekomster af en given tekststreng i en tekst.
  • Opskrive en endelig automat som svarer til tekstsøgningsproblemet for et givet tekstmønster.
  • Opstille en strømningsmodel for problemer som ligner dem der dækkes i kurset

Indhold

Kurset indeholder følgende faglige hovedområder:

  • Kombinatorik
  • Tælleteknikker, herunder permutationer, kombinationer, binomialkoefficienter, fordeling af emner i kasser samt inklusion/eksklusions-princippet
  • Lineære rekursionsligninger
  • Diskret sandsynlighedsteori og diskrete sandsynlighedsfordelinger
  • Randomiserede algoritmer
  • Probabilistisk analyse af algoritmer
  • Den probabilistiske metode
  • Universel hashing
  • Strengsøgning
  • Strømning i netværk

Litteratur

Se Itslearning for pensumlister og yderligere litteraturhenvisninger.

Eksamensbestemmelser

Forudsætningsprøve a)

Tidsmæssig placering

Efterår

Udprøvninger

Obligatoriske opgaver

EKA

N330012112

Censur

Intern prøve, en bedømmer

Bedømmelse

Bestået/Ikke bestået

Identifikation

Fulde navn og SDU brugernavn

Sprog

Følger, som udgangspunkt, undervisningssprog

Hjælpemidler

Oplyses på kurset 

ECTS-point

0

Uddybende information

Forudsætningsprøven er en forudsætning for deltagelse i eksamenselement a).

Eksamenselement a)

Tidsmæssig placering

Januar

Udprøvninger

Mundtlig eksamen

EKA

N330012102

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

10

Uddybende information

Mundtlig eksamen samt et antal opgavesæt afleveret i løbet af kurset. Karakteren baseres på et samlet indtryk af elementerne som indgår i evalueringen. 
Opgavebesvarelserne danner, sammen med udvalgte emner fra kurset, grundlag for den mundtlige eksamen. Censor vil have mulighed for at se besvarelserne på opgavesættene.

Reeksamen er en mundtlig eksamen, der bedømmes med karakter efter 7-skalaen og ekstern censur.

Vejledende antal undervisningstimer

70 timer per semester

Undervisningsform

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

  • Introfase (forelæsning) - Antal timer: 40
  • Træningsfase: Antal timer: 30

Bemærk, at en del af introtimerne vil blive afholdt som videoforelæsninger som de studerende ser og gør sig klar til at diskutere de væsentligste pointer ved de fysiske forelæsninger

Aktiviteter i studiefasen:

  • Selvstudium af lærebogen og andet undervisningsmateriale
  • Løsning af ugentlige opgaver med henblik på diskussion af disse ved eksaminatorierne.
  • Skriftlige hjemmeopgaver som en del af eksamen
  • Selvstændig opsamling på intro- og træningsfasen
  • Repetition op til eksamen

Ansvarlig underviser

Navn E-mail Institut
Jørgen Bang-Jensen jbj@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.