Department of Information and Computing Sciences

Departement Informatica Onderwijs
Bachelor Informatica Informatiekunde Kunstmatige intelligentie Master Computing Science Game&Media Technology Artifical Intelligence Human Computer Interaction Business Informatics

Onderwijs Informatica en Informatiekunde

Vak-informatie Informatica en Informatiekunde

Algorithms and networks

Website:website containing additional information
Course code:INFOAN
Credits:7.5 ECTS
Period:period 3 (week 6 through 15, i.e., 4-2-2019 through 12-4-2019; retake week 27)
Participants:up till now 39 subscriptions
Schedule:Official schedule representation can be found in MyTimetable
Teachers:Dit is een oud rooster!
lecture          Hans Bodlaender
Johan van Rooij
Contents:Systems and programs are designed for many purposes and in many ways, but it's algorithms that make things work. Good algorithm design requires understanding and modelling an application, and subsequently studying and analysing the computational features of the design. In this course, we study a number of advanced techniques for efficient algorithm design, often at the hand of problems from networks and graphs.

In many applications, networks and graphs are used as a model. Typical examples are networks of roads, or electronic networks. In other applications, the graph model may be less obvious, but appears to be very useful, like for scheduling problems. In this course, we look to the translation of problem to network model, and we look to algorithmic problems and their solutions on networks and graphs.

Some topics are: shortest paths, flow, matchings, stable marriage and stable roommates problems, planar graphs, triangulated graphs, treewidth, graph isomorphism, exact exponential-time algorithms, approximation algorithms, fixed parameter tractability, kernelisation, and some complexity theory.

We expect students to have a level of understanding of mathematics and algorithms as taught in the bachelor course Algoritmiek (bachelor level 3). Similar skills can be acquired, for example through the Algorithms for decision support course (Master, period 1), or a number of courses from a bachelor in Mathematics. Additionally, we expect the students to be familiar with the theory of NP-completeness. This is taught in the above mentioned courses (Algoritmiek or Algorithms for decision support). If you are unfamiliar with this topic, please read the chapter in the book by Cormen et al. on NP-Completeness (Chapter 34 in the 3th edition of the book). When in doubt about whether you satisfy these prerequisites, you can always e-mail one of the teachers. We want to emphasise that we do not think this course is more difficult than most other courses, however, it can be perceived as such by students without the proper prerequisite knowledge.

Literature:Most literature will be handed out during the course or can be downloaded from the website.

Recommended reading:

  • Cormen, Leiserson, Rivest, Stein. Introduction to Algorithms, Third Edition. MIT Press / McGraw-Hill, 2001. ISBN 978-0-262-03384-8.
  • Cygan, Fomin, Kowalik, Lokshtanov, Marx, Pilipczuk, Pilipczuk, Saurabh. Parameterized Algorithms. Springer, 2015. ISBN 978-3-319-21274-6.
  • Fomin and Kratsch. Exact Exponential Algorithms. Springer, 2010. ISBN 978-3-642-16532-0.
  • Ausiello, Crescenzi, Gambosi, Kann, Marchetti Spaccamela, Protasi. Complexity and Approximation. Springer, 1998. ISBN 978-3-540-65431-5.
  • Kleinberg and Tardos. Algorithm Design. Pearson / Addision Wesley, 2005. ISBN 978-0-321-29535-4.
  • Ahuja, Magnanti, Orlin. Network Flows. Pearson, 1993. ISBN-13: 978-0-136-17549-0.
  • Schrijver. Combinatorial Optimization. Polyhedra and Efficiency. Springer, 2003. ISBN 978-3-540-44389-6.
Note that these books are not obligatory. Participation in classes is recommended: much is not covered in the books!
Course form:Lectures, two per week. Exercises. Lectures on Tuesdays will be in principal be given by Johan van Rooij and lectures on Thursdays will be in principal be given by Hans Bodlaender.
Exam form:There are a number (7 - 8) exercise sets, and two exams. In order to pass the course, you need:
  • An average grade of at least 5.5 (computation of the average is explained at the course website).
  • At least an average grade of 6.0 on the exercises.
  • An average of at least 5.0 for the exams.
The exercise sets count for 30 percent of the end note, and the two exams each for 35 percent.
Minimum effort to qualify for 2nd chance exam:To qualify for a re-exam, you need at least a 4.0 for your average grade.