bild
Skolan för
datavetenskap
och kommunikation
KTH / CSC / Kurser / DD2352 / algokomp12

DD2352, Algorithms and Complexity 2012, algokomp12

Course Information

Course leader and lecturer: Johan Karlander johank@nada.kth.se.

Course assistant: Musard Balliu: musard@kth.se.

Extra exam

Some of you have told me that you will not be able to attend the ordinary exam on May 31th. For you, there will be an extra exam on May 10th. If you are interested in doing the exam on the 10th, please contact me.

Extra Mastarprov

For those of you that haven't done Mas 1 or Mas 2 there will be an extra opportunity to do them. However, it will only be possible to get at most grade E on these extra assignments. They will be published on May 2nd and should be handed in latest May 16th.

Extra Mastarprov 1

Extra Mastarprov 2

Extra lab session

In the same way, For those of you that haven't done Lab 1 or Lab 2 there will be an extra opportunity to do them. We have planned a lab session for May 7th, 13-15.

Current information

Presentation of Mas 2:+
Tryck här för att hämta bokningslistor:
20/3: Mas 2 is published

Mastarprov 2

5/3: Lab 2 is published.

17/2: Error on webpage! Todays Ovning is 10-12 and nothing else!

9/2: Mastarprov 1

7/2: There is a change in schedule for Mastarprov 1. Will be published Feb 9 and returned Feb 24 (latest).

30/1: The date for the exam is set. It will be on May 31th 14-17 in Q34

Course literature

Kleinberg, Tardos; Algorithm Design, Pearson Addison-Wesley.

Learning outcomes

The goals of the course are to give the students

  • the fundamental skills needed to develop algorithms using data structures and analyze their correctness and efficiency,
  • an introduction to complexity theory,

so that they will be able to

  • design programs that use computer resources efficiently,
  • realize that there are problems that are impractical or even impossible to solve by a computer.

Course content

Principles for construction of algorithms: Decomposition, greedy algorithms, dynamic programming. Algorithm analysis. Probalistic algorithms. Approximation. Selected applications to sets, graphs, arithmetic, and geometry.

Computability and complexity: Reduction. Complexity classes P (polynomial time), NP (non-deterministic polynomial time), and NC (efficiently parallelizable problems). NP-complete problems. Undecidable problems.

Examination

The examination has four parts.

  • There are two home assignements (Mästarprov). They consist of 4 problems. They will be graded F-A. Basically, two problems correctly solved give you an E. They will be handed out during the course. You should hand in a written report and then do a short oral exam (15 min).
  • There are two laboratory works.
  • The course ends with a written exam.

Three of the parts are graded: Mas 1, Mas 2 and Exam. The final course grade will be the mean value of these grades where E counts as 1 and A counts as 5. In the first written phase the grade on the exam will be E, D or C. If you get grade C on the exam or if you pass the exam and has got at least C on both Mas 1 and Mas 2 you can do a complementary exam and raise the grade on the exam to B or A.

Schedule for Mästarprov

Mästarprov 1 will be published 9/2 and shall be handed in 24/2

Mästarprov 2 will be published 20/3 and shall be handed in 3/4

Schedule

This is a preliminary form. There could be small changes during the course.

Week Date Time Place Activity Topic Reading instructions
317/113-15B24Föreläsning 1Introduction. Graph Algorithms Ch. 1-3
18/113-15B23Föreläsning 2Greedy Algorithms Ch. 4 (Except 4.4)
20/110-12B24Ă–vning 1Algorithm Analysis
424/113-15B22Föreläsning 3Flow Algorithms. More about graph algorithms. Ch 7.1-7.3, 7.5, 4.4, 6.8-6.10
25/113-15E51Föreläsning 4Divide and Conquer Algorithms. Ch 5
27/110-12E35Ă–vning 2Divide and Conquer Algorithms
530/18-10D3Föreläsning 5Dynamic Programming Ch 6
31/113-15D34Föreläsning 6Dynamic Programming cont. Ch 6
3/210-12D33Ă–vning 3Dynamic Programming
67/213-15Q24Föreläsning 7Introduction to Linear Programming The chapter on Linear Programming in "Kursbunt".
8/213-15GulLab 1Reporting of theory problems. Help session.
9/213-15D32Föreläsning 8Probabilistic Algorithms and other algorithms Lecture notes
10/210-12Q26Ă–vning 4Dynamic Programming cont.
714/213-15K53Föreläsning 9Complexity. NP-problems. Ch 8
15-17GulLab 1Lab reporting
15/213-15D34Föreläsning 10NP-problems cont. Ch 8
17/210-12D42Ă–vning 5Flow Algorithms and Linear Programming.
821/213-15E53Föreläsning 11Turing Machines. Computability. Kursbunten, Lecture notes.
22/213-15K53Föreläsning 12Uncomputability. Kursbunten, Lecture notes.
24/210-12E35Ă–vning 6NP-problems.
1220/310-12E51Föreläsning 13Approximation Algorithms Ch 11
22/310-12E51Ă–vning 7NP-problems. Uncomputability.
1327/310-12E36Föreläsning 14Approximation Algorithms cont. CH 13.1-13.5
29/310-12Q17Ă–vning 8Approximation Algorithms.
15-17GulLab 2Reporting of theory problems. Help session.
1510/410-12E32Föreläsning 15Probabilistic Algorithms. PSPACE-problems. Ch 9
11/415-17E35Ă–vning 9Repetition.
12/415-17GulLab 2Lab reporting.

Lecture notes

F1

F2

F3

F4

F5 (updated)

F6 (updated)

F7 (draft)

F8 (updated)

F9

F10

F11

F12

F13

F14

F15

Exercises

Exercise 1

Solutions 1

Exercise 2

Solutions

Exercise 3+4

Solutions

Exercise 5

Solutions

Exercise 6

Solutions

Exercise 7

Solutions

Exercise 8

Solutions

Exercise 9

Solutions

Old lecture notes

There is a set of lecture notes from previous year. They are in Swedish.

F1

F2

F3

F4+F5

F6

F7

F8

F9+F10

F11+F12

F13+F14

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