Kursanalysen för föregående omgång finns under
"Tidigare år".
VT 2004
Författare: Mikael Goldmann
Kursdata
Kurs
2D1446, Komplexitetsteori, 4p
Examination
Inlämningsuppgifter
Genomförd
HT 2003
Föreläsningar
24 timmar (12 st)
Kurslitteratur
Papadimitrou:
Complexity Theory
Antal studenter
37
Ansvarig/föreläsare
Mikael Goldmann
Assistenter
Fredrik
Niemelä Jakob Nordström
Sammanfattning
Studenter
D
24
E
1
F
6
MD
3
Utbyte
2
Dokt
1
Totalt
37
Detta baserar sig på vilka som registrerat sig på kursen i LADOK, eller som
genomgört någon del av kursen trots att de inte finns registrerade.
Tre studenter har meddelat att de hoppat av kursen och en student har
fått barn och skjutit kursen på framtiden.
Nyckeltal
Prestationsgrad och Examinationsgrad (2004-06-17) är 62%.
Av 37
deltagare har 23 blivit helt klara.Bland de som inte är klara finns 3
som meddelat att de hoppat av kursen, och 5 som restar med mindre
delar som de säkert kan komplettera om de vill. En person har kvar
sina muntliga redovisningar och har för lite lösta uppgifter totalt,
en har fått barn och hoppas komplettera senare. Resterande fem har
gjort en eller ingen uppgiftsomgång och har antagligen hoppat av
kursen utan att meddela det. Man kan nog hoppas att ca 5 till blir
klara.
Mål
Kursens mål är att
ge en utförlig orientering om modern komplexitetsteori
för att eleverna ska
förstå begreppen komplexitetsklasser och fullständighetsproblem
för sådana,
kunna bevisa påståenden inom komplexitetsteorin, t.ex. fullständighet
hos ett problem,
kunna läsa (relativt enkla) forskningsartiklar inom området
komplexitetsteori.
Nytt för i år
Justeringar av kursinnehållet har gjorts, huvudsakligen för att nya
resultat visat att man kan avgöra primalitet i polynomisk tid. Detta
var inte känt vid förra kursomgången och krävde mer eller mindre
omfattande ändringar i några föreläsningar.
Verkligt kursinnehåll
En logg fördes under kursens gång över vad som gjordes på respektive
föreläsning.
Lecture 1
Chapter 1,
parts of chapters 2 and 3. Administration. Solving computational problems
using bounded resources.
Turing machines: definition and examples (palindromes). Definitions of
computability, decidability and recursive enumerability. The classes R
(recursive languages) and RE (recursively enumerable languages). Church's
thesis.
Lecture 2
More from chapters 2 and 3,
Multi-tape TMs. Encoding TM as a string. Universal TM. R, RE, coRE,
R = (RE intersect coRE). Showed that there is a TM that enumerates L iff
there is a TM that accepts L. Defined non-deterministic TM and what it
means for it to accept input x in k steps. Showed the existence of
undecidable problems and that the Halting language is in RE but not in R.
Lecture 3
Concluded chapters 2 and 3, parts of
Chapter 7. RE-complete problems and man-one-reductions.
Defined TIME(f(n)) and SPACE(f(n)) and corresponding for
non-deterministic computation. Linear speed-up (and corresponding
result for space). Defined the classes L, NL, coNL, P, NP,
coNP, PSPACE, NPSPACE, EXP, and stated some inclusion results.
Lecture 4
More of Chapter 7. Time- and
space-hierarchies. Thereom 7.4 and the connection between
nondeterministic space and the reachability problem.
Lecture 5
Chapter 7. Savitch's theorem. PSPACE =
NPSPACE. Defined logspace-reductions, NL-completeness and
coNL-completeness. Reachability NL-complete and Non-reachability
coNL-complete. NL = coNL (by showing that non-reacability is in
NL).
Lecture 6
Chapter 8. Reductions and complete
problems. What it means for a class to be closed under
logspace-reductions. SAT and CLIQUE as examples of complete
problems. A detailed reduction of CLIQUE to SAT.
Lecture 7
Chapters 8 and 9.
NP-certificates and polynomially balanced
relations. Circuit value is P-complete, Circuit satisfiability and
3SAT are NP-complete.
Lecture 8
Chapters 9 and 10 + notes.
Proofs of NP-completeness for
Three-partite matching, Exact cover, and Knapsack. Defined coNP and
coNP-completeness. Example of problem in (NP intersect coNP) that is
not known to be in P: given (g,p), decide if p is prime and g is
generator of Zp*. (Notes, see below.)
Lecture 9
Chapters 9 and 10 + notes. Proof that
Zp* is cyclic when p is prime.
NP-function problems and NP-optimization problems. Oracle Turing
machines. If we have a SAT-oracle we can find a satisfying
assignment in polynomial time, and if we have an oracle for
graph colorability then we can find an optimal coloring in
polynomial time. The class FNP, reductions for FNP-problems, and
FNP-completenes.
Lecture 10
Chapter 11 (11.1 and 11.2).
Probabilistic Turing
machines. The classes RP, coRP, ZPP, and BPP. ZPP = (RP intersect
coRP). A in ZPP iff A can be decided in expected polynomial time.
Error reduction for RP and coRP.
Lecture 11
Chapter 11 (11.1 and 11.2), and a
handout (5 pages from Sipser's Introduction to the Theory of
Computation).
Error reduction for BPP. Chernoff bounds.
Proof that equivialence Read-once brancing programs is in coRP.
Lecture 12
Chapter 19.1.
PSPACE. PSPACE complete
problems: Generalized geography, QSAT.
Chapter 13 (pages 299-313). Approximation of
NPO-problems. Approximation ratio and ε-approximation.
Lecture 13
More about approximation of NPO-problems. Approximation algorithm for
Max3SAT and FPTAS for Knapsack. Non-approximability of general
TSP. L-reductions (preserve approximability).
Lecture 14
Overview of some complexity classes: PP, parity-P, #P. Polynomial
hierarchy (PH). Introduction to interactive proofs and the class
IP. IP contains NP but also problems that are (probably) not in NP
such as Graph Non-isomorphism. PSPACE contains IP (sketch of proof).
Lecture 15
Claimed that PSPACE=IP. Proved weaker result that P#P is
contained in IP. This implies that IP contains coNP, and by a result
of Toda that IP continains the polynomial hierarchy.
Undervisning
Undervisningen bygger på traditionella föreläsningar och
inlämningsuppgifter. Eftersom gruppen är liten och studenterna
motiverade blir det en stämning där det ställs frågor och ges
synpunkter. Jag tycker att föreläsningar fungerar bra i den här kursen
så länge deltagarna inte är rädda för att avbryta, fråga och
kommentera. OH-bilder har använts ganska sparsamt till förmån för
svarta tavlan.
Eftersom det fanns deltagare som inte förstod svenska särskilt väl
hölls de flesta av föreläsningarna under kursens andra halva på
engelska.
Examination
Kursen examineras med tre omgångar inlämningsuppgifter. Många av
problemen är ganska svåra, och skulle inte kunna användas på en
skriftlig tentamen. Svaren redovisas både skriftligt och muntligt.
Även om visst samarbete är tillåtet så
ger de muntliga presentationerna en bra känsla för hur väl
den enskilde studenten tillgodogjort sig materialet. Det har i några
fall hänt att två studenter med likvärdiga skriftliga lösningar fått
olika poäng då de klarat den muntliga delen mer eller mindre bra.
Jag har haft en
klar känsla av att studenterna följt de regler för samarbete som
fanns.
Det är heller inte lätt att hitta en lagom svårighetsnivå på
uppgifterna. Jag har försökt få en spridning så att varje omgång ska
innehålla några lätta, några medelsvåra och en eller två riktigt svåra
uppgifter. I år blev dock den sista omgången lite lättare än de två
första.
Exempel
inlämningsuppgifter finns på kursens hemsida.
Litteratur
Kursboken Complexity Theory av Papadimitriou har använts även
tidigare år. Dess starka sidor är att den håller en lagom nivå och
täcker i stort sett allt som behandlas inom kursen. Dess svaga sida är
att den börjar få några år på nacken och att
den
innehåller en del förtretliga fel i satser och bevis. Oftast går det
lätt att fixa till, men det kan ändå vara en rejäl stötesten för
läsaren.
Jag kommer att överväga alternativ, men jag har ingen
uppenbar kandidat till ny kursbok.
Studenternas arbetsbelastning
Tyvärr glömde jag att ha med frågor i enkäten som frågar
efter arbetstid. Någon har påpekat att man går och tänkter på
uppgifterna lite då och då och att det är svårt att säga hur lång tid
det tar. Somliga anser uppgifterna ganska lätta medan andra tycker de
är riktigt svåra. Däremot har ingen sagt att de är mycket
tidskrävande.
Enkät
Enkäten har 2004-06-16 besvarats av 17 personer. Resultatet återges
nedan. Av integritets- och utrymmesskäl har jag sammanfattat de svar
som är skrivna som fri text. På de tre sista frågorna ser jag dock
inget skäl att sammanfatta eftersom de svaren inte identifierar någon
inblandad person.
Upplever du kursen som lätt eller svår?
6% (1 st) Mycket lätt.
6% (1 st) Lätt.
18% (3 st) Medel.
53% (9 st) Ganska svår.
18% (3 st) Mycket svår.
Fick du i början av kursen klart för dig vad kursens mål var?
94% (16 st) Ja.
6% (1 st) Tveksam.
0% (0 st) Nej.
Om inte, vad hade du velat veta?
Inga svar
Tycker du att kursen är intressant och meningsfull?
71% (12 st) Ja, mycket.
24% (4 st) Ja.
6% (1 st) Neutral.
0% (0 st) Inte särskilt.
0% (0 st) Nej.
Vad tycker du om kursboken?
12% (2 st) Mycket bra.
53% (9 st) Bra.
12% (2 st) Hyfsad.
6% (1 st) Mindre bra.
0% (0 st) Dålig.
18% (3 st) Har inte använt den.
Ev. kommentar om boken (ange både starka och svaga
sidor -- och tala om vilket som är vilket):
Styrkor: Intressant, engagerad, täcker mycket.
---
Svagheter: Tryckfel, lite gammal, inte lätt att slå upp i utan måste
läsas ganska sammanhängande, priset.
---
Somliga finner den ganska lättläst, andra tycker den är svår.
Hur stor del av föreläsningarna har du varit på?
0% (0 st) Mindre än 20%.
6% (1 st) 20-40%.
6% (1 st) 40-60%.
18% (3 st) 60-80%.
65% (11 st) Mer än 80%.
Många föreläsningar hölls på engelska. Hur var det jämfört med när föreläsningarna hölls på svenska?
0% (0 st) Bättre med engelska föreläsningar.
82% (14 st) Spelar ingen roll.
18% (3 st) Sämre med engelska föreläsningar.
0% (0 st) Har inte deltagit.
Ev. kommentar om att föreläsa på engelska:
De flesta tycker det går bra (förutsatt att föreläsaren kan
engelska). Så länge deltagarna fortfarande får fråga på svenska så går
det bra. Någon tycker det är självklart att man ska välja engelska
om det finns deltagare som inte förstår svenska. Negativa kommentarer
är att föreläsningarna blir lite sämre, att det sänker tempot lite,
och att det blir svårare att hänga med.
Vad tycker du om föreläsningarna pedagogiskt sett? (Förklaras stoffet bra? Talar och skriver läraren tydligt? Används stordia i lagom omfattning?)
65% (11 st) Mycket bra.
24% (4 st) Bra.
12% (2 st) Acceptabelt.
0% (0 st) Mindre bra.
0% (0 st) Dåligt.
0% (0 st) Har inte deltagit.
Ev. kommentar om föreläsningar:
Mest positiva omdömen. En person saknar "information om hur ett bevis ska
skrivas" på inlämningsuppgifterna. Någon har också sagt att
föreläsningarna låg på en väl hög nivå.
Vad tycker du om examination med inlämningsuppgifter?
71% (12 st) Mycket bra.
29% (5 st) Bra.
0% (0 st) Acceptabelt.
0% (0 st) Mindre bra.
0% (0 st) Dåligt.
Ev. kommentar om inlämningsuppgifter:
Ingen vill byta ut examinationsformen. En person tycker att
uppgifterna var för lätta. Ett par personer uppfattar det som att
bedömingen varit olika beroende på vem man redovisat för.
Hur svår var första omgången med uppgifter på en tiogradig
skala där 1 är mycket lätt och 10 är mycket svår?
0% (0 st) 1
0% (0 st) 2
0% (0 st) 3
6% (1 st) 4
6% (1 st) 5
24% (4 st) 6
24% (4 st) 7
35% (6 st) 8
0% (0 st) 9
6% (1 st) 10
Hur svår var andra omgången med uppgifter?
0% (0 st) 1
0% (0 st) 2
6% (1 st) 3
0% (0 st) 4
6% (1 st) 5
6% (1 st) 6
41% (7 st) 7
41% (7 st) 8
0% (0 st) 9
0% (0 st) 10
Hur svår var tredje omgången med uppgifter?
0% (0 st) 1
0% (0 st) 2
6% (1 st) 3
0% (0 st) 4
6% (1 st) 5
24% (4 st) 6
24% (4 st) 7
24% (4 st) 8
18% (3 st) 9
0% (0 st) 10
Vad borde man ändra på i kursen (varför är det inte bra och hur blir det bättre)?
prata ihop sig innan om vilken nivå man skall hålla på redovisningarna
--- Det vore bra med föreläsningsanteckningar av något slag. Det behöver inte alls vara så omfattande men om man missat en föreläsning är det bra att åtminstone veta vad man ska läsa i boken.
--- Jag kommer inte på något.
--- Kursboken? Kan vara svårt att hitta någon bättre dock.
Mer detaljer i PMet om vilka avsnitt som tas upp på varje föreläsning, så att man kan läsa igenom dem i förväg. (Eller kanske mer realistiskt: så man kan läsa igenom dem efteråt, eller istället för föreläsningen).
--- Det tog onödigt lång tid mellan upgift ett och två.
Vad borde man låta vara som det är i kursen?
Systemet med inlämningsuppgifter
--- Allt.
--- Examinationssystemet är bra. Eftersom kursen bygger vidare på tidigare kurser som har traditionell tenta så är det inte motiverat att övergå till tenta i denna kurs.
--- Inlupparna.
--- Antal föreläsningar var lagom. Ha kvar inlämningsuppgifter som eximinationsform.
Övriga kommentarer om kursen:
Mycket bra kurs!
--- jag har bara löst tre av de sista talen ännu, så ta svårighetsangivelsen med en nypa salt. komplex är kul. migo är mycket bra. systemet med inlämningsuppgifter som redovisas muntligt är bra, om än lite problematisk ur rättvisesynpunkt.
--- Mycket bra kurs.
--- Ganska intressant men absolut den svåraste kursen jag läst hittills på KTH.
--- Mycket intressant ämne som också genomförs i en mycket bra och inte allt för svår kurs.
--- Toppenkurs!
--- En bra kurs
--- En av NADA:s bästa kurser!
Slutsatser och kommande förändringar
Givet enkätsvaren finns det några saker att fundera över
Bör man byta kursbok?
Om man kan hitta en bra bok som är väsentligt nyare kan det vara bra
att göra det. Vi får se vilka böcker som kan dyka upp till nästa
kursomgång.
Ska man föreläsa på engelska?
Vi provade för att försöka tillmötesgå
utbytesstudenterna. Överenskommelsen var att om någon önskade
föreläsningar på svenska så skulle de hållas på svenska eftersom det
är det språk kursen officiellt ges på. Hur mycket extra arbete detta
innebär beror på den enskilda kursen och den enskilde föreläsaren.
Jag kommer antagligen att fortsätta att göra så.
Hur ser man till att alla bedöms lika?
Ett av förslagen i enkäten är att man (jag och assistenterna)
ska "prata ihop sig innan om vilken nivå man skall hålla på
redovisningarna". Det har vi också försökt att göra. Vi har
diskuterat de skriftliga lösningarna och i viss mån vad som ska
ingå i den muntliga redovisningen.
För att göra det mer rättvist och dessutom tydligare så bör lärare och
assistenter komma fram till en gemensam syn på den muntliga
redovisningen (vilket vi nog ändå hade i ganska stor utsträckning) och
dessutom eperimentera med att kräva att studenterna redovisar för
olika personer under kursens gång.
Ska man dela ut föreläsningsanteckningar?
Det finns inga färdiga OH-bilder eller skrivna anteckningar i Word
eller LaTeX att dela ut och det är ett ganska omfattande arbete att
göra sådana. Efter föreläsningarna har jag på webbsidan för nyheter
sammanfattat föreläsningen på några rader vilket ett par studenter
kanske inte upptäckt.
Det kan vara bra att prova att studenterna turas om att
skriva föreläsningsanteckningar för föreläsningarna. Dessa kan sedan
delas ut till alla och skulle kunna ge poäng vid examination.