Sidst opdateret: 24. januar, 12.50

Datalogisk Institut
Københavns Universitet

Datalogi 2A: Algoritmik
2002-2003


Rettelser af genaflevering af G1-opgaverne: Problemerne med tildelingen af ressourcer til retningen af genafleveringerne af G1-opgaverne er nu faldet på plads. Der er afsat 20 minutter til hver opgave, så man skal ikke forvente en detaljeret tilbagemelding med en masse kritik-punkter, men snarere blot godkendt/ikke-godkendt. Opgaver, der vurderes til at ligge på (eller under) grænsen, tildeles naturligvis ekstra opmærksomhed. Der arbejdes på at have resultaterne klar til semesterstart.


Vedr. rettelser af genaflevering af G1-opgaverne: På grund af ressourcemæssig nød er genafleveringerne af G1-opgaven endnu ikke rettede. Der arbejdes kraftigt på en løsning, men indtil videre må man væbne sig med tålmodighed til en endelig afklaring foreligger.


Vedr. genaflevering af G1-opgaverne: Når de forskellige problemområder er rettet til, udskrives en ny rapport til aflevering (i to eksemplarer). Ved afleveringen vedlægges også den oprindelige version af rapporten som sammenligningsgrundlag samt den oprindelige forside.


G-opgaverne er nu færdigrettede og vil være klar til afhentning i 1.-delen mandag morgen. Det var en trist affære: 62.5% er ikke blevet godkendt i første omgang!

Tilbagemelding på opgaver, der skal karakterbedømmes, følger senere.


G-opgaven:


K-opgaven: K-opgaven, for dem der har meldt sig til (vinter-)eksamen i den, bliver den samme som G-opgaven. Ønsker man derfor sin G-opgave bedømt som K-opgave, skal dette eksplicit angives på besvarelsen. Nærmere detaljer følger senere i forbindelse med opgaven.


Øvelser i uge 46: Afholdes i maskinstuen i mellemfløjen. Man skal nok ikke regne med at kunne komme alle opgaverne i gennem, hvis man ikke er forberedt. Under alle omstændigheder vil det være en god ide at have gjort sig nogle overvejelser omkring løsningerne (evt. i form af pseudokode) til understøttelse af implementationen.


Eksamens-HOWTO [ ps | pdf ]. Bemærk, at HOWTO'en kun er en vejledning i strukturering --- i sidste ende er det indholdet, der er afgørende!


Ekstra LEDA-hjælp i efterårsferien! Onsdag d. 16 fra kl. 10-12 i maskinstuen i mellemfløjen for dem der endnu ikke er kommet igemmen LEDA-opgaverne fra uge 39.


Som beskrevet i LEDA-vejledningen afholdes øvelserne her i uge 40 i maskinstuen i mellemfløjen. Oprindeligt var det tiltænk, at kun den første time skulle foregå ved terminalerne; behovet har imidlertid vist sig en del større, hvorfor også anden time vil forløbe ved terminalerne.


Evaluering af forelæsninger samt dertil hørende opgaver og øvelser i uge 36, 37 og 38: Evalueringsskema [ ps | pdf ]


Problemerne med lokalerne til hold 1 og 3 skulle nu være løst; hold 1 skal være i auditorium 3 på HCØ, mens hold 3 skal være i N034 på DIKU.


Da halvdelen af de oprindeligt planlagte øvelseshold er nedlagte og erstattede med nye, bliver det nødvendigt med en omfattende holdflytning. For at få det hele til at falde nogenlunde på plads, vil der her i den første tid være frit fremmøde på alle hold, således at man har lidt tid til at finde noget passende. Først når fremmødet på de forskellige hold har stabiliseret sig, vil vi give os i lag med holdbyttesedler til brug for administrationen.

Fremmødet i den første uge fordelte sig som angivet nedenfor. Ligeligt fordelt på alle øvelseshold ville fremmødet ligge på ca. 23.

Oversigt over fremmøde til øvelser i uge 37
Mandag Tirsdag Onsdag Torsdag Fredag
10-11 Hold 2: Hold 3:
11-12 5 44
12-13 Hold 1: Hold 4:
13-14 28 6
14-15 Hold 5:
15-16 30

I forhold til tidligere år er der sket en betydelig ændring, idet ordningen med flere instruktorer er erstattet af en enkelt undervisnings-assistent med øget ansvar overfor øvelser og opgaver generelt. Målet er som udgangspunkt at gøre kurset mere gennemsigtigt, således at formål og sammenhænge fremstår tydeligt for de studerende. Ligeledes øjnes muligheden for en begyndende differentiering, således at kurset i højere grad kan tage hensyn til den enkelte studerendes forudsætninger. I forbindelse med disse tiltag, vil der blive foretaget forskellige former for evaluering. Her er det naturligvis i alles interesse, at man siger sin uforbeholdne mening, således at der løbende kan foretages nødvendige justeringer.

Trods ændringerne i kursets infrastruktur vil indhold og form dog ikke adskille sig væsentligt fra tidligere. Læs evt. uddrag af det oprindelige oplæg.

Bemærk, at der er flyttet rundt på nogen af øvelsesholdene, da overlap ikke er tilladeligt under den nye struktur. Da ændringerne først er faldet endeligt på plads i løbet af sommeren, har det desværre ikke været muligt at informere om dette tidligere. Til gengæld afholdes der nu øvelser på fem forskellige tidspunkter, hvilket skulle give alle mulighed for at finde noget passende.


Formalia

Bemærk at oplysningerne på KU's studieinformationssystem, SIS (www.sis.ku.dk), generelt er forkerte! Vi har desværre ikke mulighed for at opdatere SIS's materiale, hvorfor kun nærværende bør betragtes som værende gældende.

Undervisere

Undervisningsassistent

Jens Jensen, doozer@diku.dk, N323, tlf. (353)21003

Lærebøger

[CLRS] Cormen, Leiserson, Rivest, Stein: Introduction to Algorithms, Second Edition, MIT Press, Cambridge (2001).
[KB1] Kursusbog bind 1: Branch-and-bound Algorithms & Generelle Optimeringsheuristikker (bruges kun i forårssemesteret).

Ny udgave af lærebogen:

[CLRS] er blevet gennemrevideret i forhold til den første udgave [CLR]. For dem der skulle være i besiddelse af den første udgave (og endnu ikke har fået anskaffet anden udgave), følger her en kort oversigt over ændringerne i de første kapitler:
[CLRS] [CLR]
1 -
2
Løkkeinvariant indføres
1
3 2
4
Rekursionstræer "forfremmes"
4
6 7
7
Ny version af PARTITION
8
8 9
9 10

For opgavernes vedkommende vil det være en god ide, at anskaffe sig kopier, så man kan se den præcise formulering. Til brug for første uge vil sammenhængen dog være som følger:

[CLRS] [CLR]
2.1-3 1.1-3 + løkkeinvariant (formulering og bevis)
2.2-2 1.2-1 + løkkeinvariant (formulering og bevis)
3.1-1 2.1-1
3.1-4 2.1-4
3-4 2-4
3-1(a) 2-1(a)

Skemaoplysninger

Forelæsninger:
Torsdag 12-14 i aud. 2 (HCØ)
Øvelseshold:
Hold 1: Mandag 12-14 i aud. 3 (HCØ)
Hold 2: Mandag 10-12 i E37 (Jagtvej 155B, 2. sal)
Hold 3: Torsdag 10-12 i N034 (DIKU)
Hold 4: Onsdag 12-14 i E38A (Jagtvej 155B, 2. sal)
Hold 5: Torsdag 14-16 i N014 (DIKU)
Spørgeåbent:
Kom og spørg om hvad som helst. Der er ikke tale om spørgetimer i traditionel forstand, men om et (individuelt) tilbud, hvis man skulle være kørt fast (eller ellers har noget på hjertet). Som udgangspunkt kan man kigge forbi når som helst, men det er ikke sikkert, at der er nogen. Det vil der dog være på nedenstående tidspunkter:
Tirsdag 13-14 i N323
Onsdag 10-11 i N323
Fredag 10-11 i N323
Oversigt over forelæsninger, øvelseshold og spørgetider
Mandag Tirsdag Onsdag Torsdag Fredag
10-11 Hold 2 Spørgeåbent Hold 3 Spørgeåbent
11-12 Hold 2 Hold 3
12-13 Hold 1 Hold 4 Forelæsning
13-14 Hold 1 Spørgeåbent Hold 4 Forelæsning
14-15 Hold 5
15-16 Hold 5

Punktsætning

Kursets omfang svarer til 4 punkter (10 ECTS).

Bedømmelse

Der stilles i løbet af kurset to G-opgaver (en i hvert semester), der skal godkendes (med mulighed for genaflevering). Godkendelse er en forudsætning for at kunne gå til eksamen!

Kurset afsluttes med en mundtlig, karaktergivende eksamen (i på forhånd kendte spørgsmål).

Programmeringssprog

I de to G-opgaver (og også i en del af de almindelige øvelses-opgaver) bruges LEDA, der er et bibliotek af klasser til C++. I forhold til tidligere kursus-forløb vil vi forsøge at lave en mere glidende indføring i LEDA, således at der er mulighed for at få ordentligt kendskab til værktøjet. Der arbejdes på at stille nogle introducerende opgaver i LEDA allerede i forbindelse med forelæsningen om dybde-først søgning og stærkt sammenhængende komponenter i uge 39.

Forelæsningsplan

Opgaver gennemgås ved øvelserne den følgende uge (første gang er i uge 37). Læs mere om opgaver og vejledninger her.

Forelæsningsplanen er vejledende og ret til ændringer forbeholdes!

Uge Lærer Emne [CLRS] Supplement Opgaver
36 PW Introduction 1, 2, 3 Læsevejledning [ ps | pdf ]
Plancher [ ps | pdf ]
2.1-3, 2.2-2, 3.1-1, 3.1-4, 3-4, 3-1(a).
Vejledende løsninger [ ps | pdf ]
Løsning af 3-1
37 PW Recurrences,
Sorting and Paradigms
4.1-4.3,
6, 8.1-8.4
Læsevejledning [ ps | pdf ] Plancher [ ps | pdf ] 2.3-5, 4.1-1, 4.2-1, 4.3-1, 6.1-1, 6.2-6, 6.3-1, 6.4-1, 6.4-4, 6.5-5, 6.5-7
Vejledende løsninger [ ps | pdf ]
38 PW Quicksort,
Selection and Paradigms
7,
9
Læsevejledning [ ps | pdf ]
Plancher: se uge 37
7.1-1, 7.1-3, 7.2-4, 7.3-2, 7-4, 9.1-1, 9.2-4, 9.3-1, 9.3-3, 9.3-5
Vejledende løsninger [ ps | pdf ]
39 JK Depth-first search,
Strongly connected components
22.3-22.5 LEDA-vejledning [ ps | pdf ]
SCC-bevis [ ps | pdf ]
euler.cc Makefile
Se LEDA-vejledningen for opgaver
40 PW Dynamic Programming 15.1-15.4 Læsevejledning [ ps | pdf ]
Plancher [ ps | pdf ]
15.1-5, 15.4-1, 16.2-2(vink1)(vink2), 15-1(vink1)(vink2), 15-4(vink1)(vink2)
Vejledende løsninger [ ps | pdf ]
41 PW Greedy Algorithms 16.1-16.3, 23.1-23.2 Læsevejledning [ ps | pdf ]
Plancher [ ps | pdf ]
16.1-3, 16.1-4, 16-1
Vejledende løsninger [ ps | pdf ]
42 Efterårsferie
43 PW Binary Search Trees 12.1-12.3, 13 Læsevejledning [ ps | pdf ]
Plancher [ ps | pdf ]
Bevis for lemma 13.1, 13.1-2, 13.2-3, 13.3-1, 13.3-2, 13.4-3, 13.4-7
Vejledende løsninger [ ps | pdf ]
44 PW Amortized Analysis 17 Læsevejledning [ ps | pdf ] 17.1-3, 17.2-1, 17.2-2, 17.3-2, 17-2
Vejledende løsninger [ ps | pdf ]
45 MZ LEDA Læsevejledning [ ps | pdf ]
Plancher [ ps | pdf ]
Se læsevejledningen!
Forslag til løsninger
46 PW Heaps 19 Læsevejledning [ ps | pdf ]
Plancher [ ps | pdf ]
19.1-1, 19.1-2, 19.2-2, 19.2-3, 19.2-4, 20.2-1, 20.3-1
Vejledende løsninger [ ps | pdf ]
47 PW Fibonacci Heaps,
Disjoint Sets
20,
21.1-21.3
Læsevejledning [ ps | pdf ]
Plancher [ ps | pdf ]
20.2-5, 20.4-1, 21.2-2, 21.3-1, 21-1
48
PW
MZ
G1 stilles 26/11, kl. 11.30
Minimum Spanning Trees
Præsentation af G1

23
G1 [ ps | pdf ]
Plancher [ ps | pdf ]
Gennemgås i uge 50: 23.1-1, 23.1-3, 23.1-5, 23.2-3, 23-1
Vejledende løsninger [ ps | pdf ]
49 (ingen forelæsning)
G1 afleveres 6/12, kl. 11.30
50 PW Computational Geometry 33 Plancher [ ps | pdf ] 33.1-4, 33.2-3, 33.2-4, 33.2-5, 33.4-1, 33-1
Vejledende løsninger [ ps | pdf ]
51 PW Algorithmic Pearl