bild
Skolan för
elektroteknik
och datavetenskap

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

VeckaTidPlatsInnehåll
40F1Onsdag 15-17V11Introduktion. Presentation av grundläggande begrepp.
41F2Tisdag 10-12V34Grafalgoritmer.
Ö1Tisdag 15-17D31Introduktion.
42F3Måndag 10-12D32Giriga algoritmer.
Ö2Måndag 15-17D33Grafalgoritmer.
44F4Tisdag 10-12E31Divide and Conqueralgoritmer.
Ö3Tisdag 15-17E36Giriga algoritmer och Divide and Conqueralgoritmer.
F5Torsdag 8-10D32Dynamisk programmering.
45F6Tisdag 10-12E52Flödesalgoritmer.
Ö4Onsdag 8-10D32Dynamisk Programmering.
45F7Torsdag 8-10D32Komplexitet: Introduktion till NP-problem.
46F8Tisdag 10-12E52Mer om NP-problem.
Ö5Tisdag 13-15B23NP-problem.
47F9Tisdag 10-12E52Turing-maskiner. Oavgörbarhet.
Ö6Tisdag 13-15 10-12E36Oavgörbarhet. Mer om NP-reduktioner.
F10Torsdag 10-12D35PSPACE-problem.
Ö7Torsdag 13-15E51NP-reduktioner.
F11Fredag 10-12D33Approximationsalgoritmer.
48F12Tisdag 13-15Q13Approximationsalgoritmer forts.
Ö8Torsdag 10-12D31Approximationsalgoritmer.
49F13Tisdag 10-12E52Linjärprogrammering.
Ö9Tisdag 13-15E53Repetition.
F14Onsdag 8-10E33Randomiserade algoritmer.
F15Torsdag 10-12D35Parallella 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.

Copyright © Sidansvarig: Johan Karlander <johank@nada.kth.se>
Uppdaterad 2008-05-22