DM553: Kompleksitet og beregnelighed
Kommentar
Indgangskrav
Faglige forudsætninger
Studerende, der følger kurset, forventes at:
- Have kendskab til basale algoritmer for manipulering af (repræsentationer af) talsæt og grafer, samt analyse af algoritmer
- Have kendskab til basal matematisk argumentation, herunder bevis ved induktion, bevis ved modstrid og logiske udtryk.
- Have kendskab til brugen af kombinatoriske teknikker indenfor algoritme udvikling.
Formål
- Anvende formalismer for formelle sprog til at formulere f.eks. afgørelsesproblemer præcist.
- Arbejde med endelige automater, regulære udtryk, stakautomater og kontekstfrie grammatikker som et elementer i en algoritmisk løsning af større problemer.
- Afgøre kompleksiteten af nye problemer ud fra kendskab til kompleksiteten af en lang række vigtige eksempler fra kurset.
- Vurdere om et problem kan løses ved hjælp af en computer eller om det er uafgørligt.
- Argumentere for NP-komplethed af problemer.
- Vurdere muligheden for at udvikle en approksimationsalgoritme eller parametericeretalgoritme for et givet optimeringsproblem der vides at være NP-hårdt.
- Give nedre grænser for kompleksiteten af problemer der ligner dem som studeres i kurset.
- Give kompetence til at kunne vurdere kompleksiteten af (afgørelses)problemer.
- Give viden om beregningsstyrken af forskellige modeller for beregning.
- Give den studerende evnen til at kunne konstruere stakautomater og kontekstfrie grammatiker til simple sprog.
- Udstyre den studerende med vigtige redskaber til at vise at et givet sprog ikke kan genkendes ved hjælp af en endelig automat, stakautomat eller en Turing maskine.
- Give den studerende evnen til at kunne bevise nedre grænser for kompleksiteten af algoritmer til et givet problem.
- Udstyre den studerende med vigtige redskaber til at kunne designe nye approksimationsalgoritmer.
- Udstyre den studerende med vigtige redskaber til at bevise at et givet afgørelsesproblem er NP-komplet eller uafgørligt.
Målbeskrivelse
- Kunne vurdere kompleksiteten af (afgørelses)problemer.
- Kunne vurdere beregningsstyrken af forskellige modeller for beregning.
- Konstruere stakautomater og kontekstfrie grammatiker til simple sprog.
- Vise at et givet sprog, der ligner dem som er studeret i kurset, ikke kan genkendes ved hjælp af en endelig automat, stakautomat eller en Turing maskine.
- Kunne bevise nedre grænser for kompleksiteten af algoritmer til et givet problem som i natur ligner dem der er behandlet i kurset.
- Designe nye approksimationsalgoritmer til et givet problem som i natur ligner dem der er behandlet i kurset
- Kunne bevise at et givet afgørelsesproblem, som i natur ligner dem der er behandlet i kurset, er NP-komplet eller uafgørligt.
- Kunne definere fixed parametericeret kompleksitet og forklare en eksampel.
- Give præcise definitioner samt beviser for ovenstående.
Indhold
- Endelige automater og stakautomater
- Kontekstfrie sprog og grammatiker
- Turing-maskiner
- Afgørlighed
- Problem reduktioner
- Nedre grænser (informationsteoretiske og modstanderargumenter)
- Kompleksitetsklasserne P og NP
- Teorien for NP-fuldstændighed
- Approksimationsalgoritmer
- Parametericeret kompleksitet
Litteratur
Eksamensbestemmelser
Eksamenselement a)
Tidsmæssig placering
Forudsætninger
Type | Forudsætningsnavn | Forudsætningsfag |
---|---|---|
Delprøve | Forudsætningsprøve a) | N330048101, DM553: Kompleksitet og beregnelighed |
Udprøvninger
Mundtlig eksamen
EKA
Censur
Bedømmelse
Identifikation
Sprog
Varighed
Hjælpemidler
Oplyses på kurset
ECTS-point
Uddybende information
Mundtlig eksamen samt et antal opgavesæt afleveret i løbet af kurset. Karakter baseres på et samlet indtryk af elementerne, som indgår i evaluering. Censor vil have adgang til besvarelserne af opgaverne.
Reeksamen er en mundtlig eksamen, der bedømmes med ekstern censur og karakter efter 7 trinsskalaen.
Forudsætningsprøve a)
Tidsmæssig placering
Udprøvninger
Skriftlig aflevering
EKA
Censur
Bedømmelse
Identifikation
Sprog
Hjælpemidler
ECTS-point
Uddybende information
Forudsætningsprøven består i at uploade et dokument med ens navn og bekræftigelse af deltagelse i mundtlig eksamen. Forudsætningsprøven er en forudsætning for deltagelse i eksamenselement a)
Vejledende antal undervisningstimer
Undervisningsform
- Introfase (forelæsning) - 40 timer
- Træningsfase: 30 timer
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.
I introfasen introduceres og perspektiveres begreber, teorier og modeller.
I træningsfasen træner de studerende færdigheder og trænger dybere ned i det stof.
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
Skemaoplysninger
Administrationsenhed
Team hos Uddannelsesjura & Registratur
Udbudssteder
Anbefalede studieforløb
Overgangsordninger
Se overgangsordninger for alle kurser på Det Naturvidenskabelige Fakultet.