bild
Skolan för
elektroteknik
och datavetenskap

DD2352, Algorithms and Complexity 2014, algokomp14

Times for oral exam

These are the requirements for being admissable for the oral exam. You should

Have grade C on the exam

or

Have grade E or D on the exam and have at least grade C on both Mas 1 and Mas 2.

Tryck här för att hämta bokningslistor:

Course evaluation

Here are some questions we would like you to answer:

Questions

Solutions to the exam

Solutions

Course Information

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

Course assistant: Mladen Miksa: miksa@kth.se.

Current information

Booking for extra mas:

Tryck här för att hämta bokningslistor:

19/5: For those of you who haven't completed all labs there will be an extra opportunity during the lab week:

http://www.csc.kth.se/utbildning/kth/labbvecka/

22/4: Mas 2 is published.

If you want to practise your skills and see what a mästarprov could look like, you can try to solve this one: Mas 2 2010

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,

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.

A previous exam

Solutions

And one more

Solutions

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 count s 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 i f 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. On the complementary exam you can also raise the grade on Mas 1 and Mas 2. The form of the exam is like this: You get 1, 2 or 3 problems to solve depending on whether you want a higher grade on Mas 1, Mas 2 or the exam. You get one hour to think about the problems. Then you will present the solutions to the examiner.

This extra exam will be given June 9-11. There will be individual booking.

Preliminary schedule for Mästarprov

Mästarprov 1 will be published 14/2 and shall be handed in 28/2.

Mästarprov 2 will be published 22/4 and shall be handed in 6/5.

If you have failed either Mas 1 or Mas 2 there will be extra versions of them to solve. They will be published May 12 and should be submitted latest May 26.

For those who have failed either Mas1 or Mas2 there are extra versions here. Correctly solved they give grade E:

Extra mas1

Extra mas2

Here are some sketches for solutions to the old Mas 2 previously published. Solutions

Schedule

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

Week Date Time Place Activity Topic Reading instructions
420/113-15E32Lecture 1Introduction. Graph Algorithms Ch. 1-3
22/113-15D34Lecture 2Greedy Algorithms Ch. 4 (Except 4.4)
22/115-17E52Exercise 1Algorithm Analysis
527/113-15D34Lecture 3Flow Algorithms. More about graph algorithms. Ch 7.1-7.3, 7.5, 4.4, 6.8-6.10
29/113-15D34Lecture 4Divide and Conquer Algorithms. Ch 5
29/115-17E31Exercise 2Divide and Conquer Algorithms
63/213-15E31Lecture 5Dynamic Programming Ch 6
5/213-15E31Lecture 6Dynamic Programming cont. Ch 6
5/215-17E32Exercise 3Dynamic Programming
710/213-15Q17Lecture 7Introduction to Linear Programming Lecture notes. Extra material on Linear Programming. Can be found on Kurswebben. (You must login.)
12/213-15D34Lecture 8Probabilistic Algorithms and other algorithms Lecture notes
12/215-17D41Exercise 4Dynamic Programming cont.
817/213-15D34Lecture 9Complexity. NP-problems. Ch 8
19/213-15Q31Lecture 10NP-problems cont. Ch 8
820/210-12OrangeLab 1Reporting of theory problems. Help session.
19/215-17Q17Exercise 5Flow Algorithms and Linear Programming.
924/213-15D34Föreläsning 11Uncomputability. Lecture notes. Extra material on Uncomputability. Can be found on Kurswebben. (You must login.)
26/213-15E31Föreläsning 12Turing Machines. Computability. Lecture notes. Extra material on Turing Machines. Can be found on Kurswebben. (You must login.)
26/215-17E32Exercise 6NP-problems.
27/210-12OrangeLab 1Lab reporting
1614/48-10D41Lecture 13Approximation Algorithms Ch 11
16/413-15E36Exercise 7NP-problems. Uncomputability.
16/415-17SpelLab 2Reporting of theory problems. Help session.
1723/413-15D34Lecture 14Approximation Algorithms cont. CH 13.1-13.5
24/48-10D41Exercise 8Approximation Algorithms.
24/410-12SpelLab 2Lab reporting.
1828/413-15D34Lecture 15Probabilistic Algorithms. PSPACE-problems. Ch 9
30/413-15E52Exercise 9Repetition.
235/69-12V33,V35Exam
249-11/6Invididual extra exams
Here you will find lecture notes and exercise problems.

Lecture notes

F1

F2

F3

F4

F5

F6

F7

F8

F9

F10

F11

F12

F13

F14

F15

Exercises

Exercise 1 with solutions

Exercise 2

Exercise 2 with solutions

Exercise 3+4

Exercise 3+4 with solutions

Exercise 5

Exercise 5 with solutions

Exercise 6

Exercise 6 with solutions

Exercise 7

Exercise 7 with solutions

Exercise 8

Exercise 8 with solutions

Exercise 9

Laboratory work

Lab 1

Lab 2

If you need help help with the lab you can contact Mladen miksa@kth.se Fredrik Lilkaer lilkaer@kth.se Mattias Andrée maandree@kth.se

f you are going to present solutions to the theory questions you should present them in written form (and be prepaired to explain them).

Copyright © Sidansvarig: Johan Karlander <johank@nada.kth.se>
Uppdaterad 2014-06-09