Ugeseddel 9
Bemærk: Alle studerende, også under Åben Uddannelse, skal selv tilmelde sig til eksamen. For sommereksamen sker det i uge 14, dvs. fra 29/3 til 4/4, og det foregår online på http://www.au.dk/da/studerende/ under punktet "selvbetjening".
Forelæsning 17/3Algoritmer som transitionssystemer.
LæsningHansen og Schmidt, kapitel 2.
KommentarerEt transitionssystem anskuer en dynamisk proces som en sekvens af tilstande, hvor de mulige skift mellem tilstande kan beskrives formelt. Specielt kan algoritmer ses som transistionsystemer, hvis en tilstand defineres som værdierne af de i algoritmen indgående variable samt hvor i programmet vi er. Formålet med at anskue algoritmer som transitionsystemer er, at man derved kan argumentere formelt om gyldighed (at algoritmen ender i den ønskede tilstand, såfremt den stopper) og terminering (at den faktisk stopper). En algoritme siges at være korrekt, hvis den for alle input som overholder inputbetingelsen er gyldig og terminerer.
I det centrale kapitel 2 i noterne defineres en minimal pseudokode,
som bruges til at beskrive algoritmer. For at argumentere for
korrekthed dekoreres denne pseudokode med logiske udsagn. En konkret
udførsel af algoritmen kan nu ses som en kæde af skiftende udsagn og
pseudekode-stumper. Vores opgave i forbindelse med gyldighed er
at bevise, at hvis første udsagn (om input til algoritmen) er opfyldt,
så vil enhver sådan kæde ende med at opfylde udsagnet indeholdt i
outputkravet for algoritmen. Denne opgave løses ved at argumenterer
for korrektheden af en relevant mængde led i kæden, alle af typen
Bemærk at opgaver af denne type er ofte forekommende i eksamenssæt.
Forelæsning 24/3 (forventet indhold)Flere eksempler på algoritmer som transitionssystemer. Start på grafer.
LæsningHansen og Schmidt, kapitel 3. Goodrich og Tamassia, start på kapitel 6.
Øvelser 24/3Der er ingen øvelser i denne uge.
Rolf Fagerberg (rolf@daimi.au.dk) | |