Information om DD2354, Algoritmer och komplexitet hösten 2007
Tenta
Lösning till tentan 2007-12-15 finns här
Lösningar
Komplettering
Tentan är rättad. De som har betyg C på den har möjlighet att göra en
muntlig komplettering på den för högre betyg. Hör av dig om du är intresserad av detta.
Jag föreslår tisdag den 8 januari kl 10 som en mötestid. Om tiden inte passar kan vi komma
överns per mail om annan tid.
OBS: Tentan den 15 dec kommer att vara kl 10-13 (alltså 3 timmar).
Tentan är en teoritenta och har inte riktigt samma form som tidigare.
Som exempel ges här en teoritenta från kursen Algoritmer, datastrukturer
och komplexitet.
Tenta
Lösningar
Aktuellt
Lärare
Kursledare, föreläsare och övningsassistent är
Johan Karlander,
johank@nada.kth.se
.
Telefon 070-686 74 66.
Kurslitteratur
Kurslitteraturen ska läsas på egen hand parallellt med kursen. Föreläsningar
och övningar täcker endast en del av kursmaterialet.
Kursbok
Kleinberg, Tardos; Algorithm Design, Pearson Addison-Wesley.
Examination
Examinationsformen ändras en del till detta läsår. Den är nu i möjligaste mån
anpassad till kursen DD1352 Algoritmer, datastrukturer och komplexitet.
Examination
Kursbunt
- Kursprogram (i stort sett denna text).
- Kapitel 8 ur "David Harel: Algorithmics - the spirit of computing.
- Tre exempeltentor.
Kursbunten kan köpas på Nadas
elevexpedition.
Papper som delas ut under kursens gång kommer att finnas i en pärm
i hyllan utanför expeditionen.
Kursen kommer att gå i period 1-2. Huvudvikten av undervisningen
kommer att ligga i period 2.
Schema
Vecka | | Tid | Plats | Innehåll
|
---|
40 | F1 | Onsdag 15-17 | V11 | Introduktion. Presentation av
grundläggande begrepp.
|
41 | F2 | Tisdag 10-12 | V34 | Grafalgoritmer.
|
| Ö1 | Tisdag 15-17 | D31 | Introduktion.
|
42 | F3 | Måndag 10-12 | D32 | Giriga algoritmer.
|
| Ö2 | Måndag 15-17 | D33 | Grafalgoritmer.
|
44 | F4 | Tisdag 10-12 | E31 | Divide and Conqueralgoritmer.
|
| Ö3 | Tisdag 15-17 | E36 | Giriga algoritmer och Divide and Conqueralgoritmer.
|
| F5 | Torsdag 8-10 | D32 | Dynamisk programmering.
|
45 | F6 | Tisdag 10-12 | E52 | Flödesalgoritmer.
|
| Ö4 | Onsdag 8-10 | D32 | Dynamisk Programmering.
|
45 | F7 | Torsdag 8-10 | D32 | Komplexitet: Introduktion till NP-problem.
|
46 | F8 | Tisdag 10-12 | E52 | Mer om NP-problem.
|
| Ö5 | Tisdag 13-15 | B23 | NP-problem.
|
47 | F9 | Tisdag 10-12 | E52 | Turing-maskiner. Oavgörbarhet.
|
| Ö6 | Tisdag 13-15 10-12 | E36 | Oavgörbarhet. Mer om NP-reduktioner.
|
| F10 | Torsdag 10-12 | D35 | PSPACE-problem.
|
| Ö7 | Torsdag 13-15 | E51 | NP-reduktioner.
|
| F11 | Fredag 10-12 | D33 | Approximationsalgoritmer.
|
48 | F12 | Tisdag 13-15 | Q13 | Approximationsalgoritmer forts.
|
| Ö8 | Torsdag 10-12 | D31 | Approximationsalgoritmer.
|
49 | F13 | Tisdag 10-12 | E52 | Linjärprogrammering.
|
| Ö9 | Tisdag 13-15 | E53 | Repetition.
|
| F14 | Onsdag 8-10 | E33 | Randomiserade algoritmer.
|
| F15 | Torsdag 10-12 | D35 | Parallella algoritmer.
|
Mästarprov
Mästarprov 1
8 nov: En liten korrigering har gjorts
Mästarprov 2
Föreläsningsanteckningar
Föreläsning 1
Föreläsning 2
Föreläsning 3
Föreläsning 4
Föreläsning 5
Föreläsning 6
Föreläsning 7+8
Föreläsning 9
Föreläsning 10
Föreläsning 11+12
Föreläsning 13
Föreläsning 14
Övningar
Övning 1
Övning 2
Övning 3
Övning 4
Övning 5
Övning 6
Övning 7
Övning 8
Läsanvisningar
- Kap 1.
- Kap 2: Framför allt 2.1, 2.2, 2.4.
- Kap 3: Hela kapitlet.
- Kap 4: Hela kapitlet utom 4.8-4.9.
- Kap 5: Hela kapitlet.
- Kap 6: 6.1, 6.2, 6.3, 6.4, 6.5, 6.8, 6.10 (kursivt)
- Kap 7: 7.1, 7.2, 7.3, 7.5 resten av kapitlet kan läsas kursivt.
- Kap 8: Hela kapitlet.
- Kap 9: Hela kapitlet.
- Kap 11: 11.1, 11.4 (en variant på problemet från föreläsningen), 11.5 t.o.m.
sid 627, 11.8. Avsnitt 11.2 och 11.3 kan läsas kursivt.
- Till föreläsning 13: Kap 11.6, 11.7 och föreläsningsanteckningar.
- Kap 13: 13.2, 13.33, 13.4, 13.5
Kursregistrering
Alla som vill gå kursen måste registrera sig på den. Detta görs med
kommandot
res checkin algokomp07
på någon av Nadas unixdatorer.
Registrera dig så snart som möjligt efter att kursen
börjat!
Du bör också ge kommandot
course join algokomp07
Detta kommando gör tre saker:
- Du får se eventuella nya meddelanden från kursledaren varje gång du
loggar in.
- Du får kursens användarmiljö, det vill säga alla initieringar
ensom kursledaren tycker att kursdeltagarna bör ha görs vid varje inloggning.
- Du får en speciell kurshemsida som startsida i Netscape.
När du är klar med kursen ger du kommandot
course leave algokomp07
för att återställa allt.
Hederskodex
Grundregeln är att det jobb du gör i kursen (inlämningsuppgifter,
tentor m.m.) ska du göra själv.
Ibland, speciellt när man skriver program, kan det vara nödvändigt att fråga
någon annan (en kamrat eller en handledare) om hjälp med att hitta fel.
Detta är tillåtet förutsatt att du uppfyller följande villkor.
- Du måste förstå hela den färdiga lösningen, även de delar
du fått hjälp med.
Varje annan form av samarbete och utnyttjande av andras
lösningar betraktas som ett
brott mot hederskodexen
och kan bestraffas, t ex genom att du förlorar alla bonuspoäng
eller får göra en ny uppgift.
Detta är en översatt och omarbetad version av den hederskodex som
används i kursen
Introduction to computer science vid
Stanford University.
Den tillämpas i många av Nadas kurser.