NDAB05005U Logik i datalogi: modeller og beviser for systemer (Logik)
Logic in Computer Science: Models and Proofs for Systems (Logik)
Formålet med dette kursus er at lægge et teoretisk grundlag for formel logik, med vægt på logikker, egenskaber, teknikker og algoritmer der er relevante i datalogi. Kurset bygger ovenpå de studerendes eksisterende kendskab til Boolsk logik og matematisk ræsonnement. Det dækker både fundamentale logiske formalismer såvel som mere specialiserede logikker, brugt i modellering, specifikation, og verificering af programmer og hardwaresystemer.
Kurset dækker udsagns- og prædikatlogik i detaljer. Derefter gennemgås mere specialiserede logikker, f.eks. temporallogik, Hoare logik og/eller modallogik, der kan bruges til at ræsonnere om korrektheden af computersystemer.
Ved kursets afslutning vil den succesfulde studerende have følgende.
Viden om:
- Definitionen af logikker i form af syntaks, semantik, og naturlige deduktionssystemer, og hvordan man formelt ræsonnerer om logiske formler.
- Et udvalg af bestemte logikker, inklusive udsagnsslogik, prædikatlogik, og temporallogik (f.eks. LTL og CTL).
- De fundamentale egenskaber for disse logikker, såsom sundhed, fuldstændighed, og (u)afgørlighed.
- Algoritmer til at transformere logiske formler til normalformer; til at afgøre fundamentale egenskaber for logiske formler såsom tilfredsstillelighed, gyldighed, og (semantisk) følge; og til (symbolsk) modelcheck ved brug af ”binary decision diagrams” (BDD’er).
Færdigheder i:
- At afgøre og bevise formelle egenskaber for logiske formler (f.eks. tilfredsstillelighed, gyldighed, implikation, og ækvivalens) både ved brug at semantisk argument, og naturlig deduktion.
- At bevise egenskaber for forholdet mellem semantikken for de viste logikker og deres deduktionssystemer (f.eks. sundhed og fuldstændighed).
- At anvende specifikke algoritmer til at afgøre egenskaber for logiske formler (f.eks. ”SAT solvers” til tilfredsstillelighed af udsagnslogik; modelcheck af LTL/CTL; brug af BDD’er til at repræsentere Boolske formler og udføre symbolsk modelcheck).
- At udføre alt ovenstående for varianter af de præsenterede logikker.
Kompetence til:
- At anvende formel logik til at beskrive forskellige virkelighedstro situationer samt udtrykke egenskaber ved programmer (begge af begrænset omfang), og at ræsonnere om disse formelt.
Forventes at blive "Logic in Computer Science", 2. udgave; af Michael Huth and Mark Ryan, Cambridge University Press, 2004, ISBN 0-521-54310X. Supplerende noter.
2 undervisningsgange pr. uge, hver gang med ca. 2 forelæsningstimer og 1 øvelses-/diskussionstime.
- Kategori
- Timer
- Eksamen
- 12
- Forberedelse
- 152
- Forelæsninger
- 28
- Teoretiske øvelser
- 14
- I alt
- 206
- Point
- 7,5 ECTS
- Prøveform
- Skriftlig aflevering, 27 timerHjemmeopgave, der skal udformes fuldstændigt indidviduelt.
- Krav til indstilling til eksamen
- er vil blive stillet 6 opgavesæt i løbet af kurset: mindst 5 af de 6 opgavesæt skal afleveres og godkendes for at kunne gå op til eksamen. Hver uge med undervisningsgange (undtagen den sidste) vil have et opgavesæt, med afleveringsfrist enten sidst i samme uge, eller tidligt næste uge. Der gives mulighed for genaflevering af ikke-beståede opgaver, hvis første aflevering af en opgave er et seriøst løsningsforsøg. Det sidste opgavesæt (nr. 6) kan dog ikke forventes at kunne genafleveres, af tidsmæssige grunde.
- Hjælpemidler
- Alle hjælpemidler tilladt
- Bedømmelsesform
- 7-trins skala
- Censurform
- Ingen ekstern censur
Flere interne bedømmere
- Reeksamen
- Hvis der er 10 eller færre studerende tilmeldt til reeksamen erstattes den skriftlige aflevering med en mundtlig eksamen.
Kriterier for bedømmelse
Kursusinformation
- Sprog
- Dansk
- Kursuskode
- NDAB05005U
- Point
- 7,5 ECTS
- Niveau
- Bachelor
- Varighed
- 1 blok
- Placering
- Blok 1
- Skemagruppe
- C
- Kursuskapacitet
- Ingen begrænsning
- Efter- og videreuddannelse
- Studienævn
- Studienævn for Matematik og Datalogi
Udbydende institut
- Datalogisk Institut
Kursusansvarlige
- Holger Bock Axelsen (funkstar@di.ku.dk)