Skip to main content
Before choosing courseFEP3360 Algorithms for Networks - Complexity and Approximations 8.0 creditsAdministrate About course

The course covers the fundamentals of complexity theory and algorithm design with applications in networked system optimization and sequential decision making. The course is intended for PhD students who perform research in the ICT area, and it prepares the students to use rigorous methods for proving the complexity of optimization problems and for designing approximation algorithms with provable worst case performance bounds for computationally intractable problems.

Course offering missing for current semester as well as for previous and coming semesters
* Retrieved from Course syllabus FEP3360 (Autumn 2016–)

Content and learning outcomes

Course contents

1.      Problems, algorithms and complexity, polynomial time, NP-complete and NP-hard problems

2.      Examples of polynomial time problems on graphs, greedy algorithms, networking examples

3.      Famous NP-complete problems, proof of NP completeness, problems beyond NP,

4.      Polynomial-time reduction, NP-hard problems, networking examples

5.      Approximation methods and algorithms – greedy strategy, restriction, partition

6.      Approximation methods and algorithms – relaxation, primal-dual schemes and local ratio

7.      Proof of complexity and algorithm design for networking problems based on recent literature

Intended learning outcomes

After the course the students should be able to:

-       Correctly define computational complexity classes and analyze the complexity of algorithms;

-       Discuss basic problems in areas of graph theory, sets and partitions, storage and scheduling;

-       Formulate network design problems as decision or discrete optimization problems;

-       Present procedures of proving NP-completeness and NP-hardness, and be able to provide proofs for basic examples;

-       Use approximation algorithms to cope with NP-hard problems.

Course Disposition

8 lectures, 2 seminars with student presentations, 3 home assignments, final exam. 

Literature and preparations

Specific prerequisites

PhD student

Recommended prerequisites

No information inserted


No information inserted


-        J. Kleinberg, É. Tardos, “Algorithm Design” Pearson Education, 2014

-        Ding-Zhu. Du Ker-I Ko; Xiaodong Hu, “Design and Analysis of Approximation Algorithms”, Springer Optimization and Its Applications vol 62

-        Extracts of M.R. Garey and D.S.Johnson, “Computers and Intractability,” W. H. Freeman, 1979

-        Relevant journal papers with networking applications, provided before course start.

Examination and completion

If the course is discontinued, students may request to be examined during the following two academic years.

Grading scale

P, F


    Based on recommendation from KTH’s coordinator for disabilities, the examiner will decide how to adapt an examination for students with documented disability.

    The examiner may apply another examination format when re-examining individual students.

    Other requirements for final grade

    -        Active participation on the lectures

    -        30 min oral presentation on one of the seminars

    -        80% on homework problems

    -        80% on the final exam

    Opportunity to complete the requirements via supplementary examination

    No information inserted

    Opportunity to raise an approved grade via renewed examination

    No information inserted


    Profile picture Viktoria Fodor

    Ethical approach

    • All members of a group are responsible for the group's work.
    • In any assessment, every student shall honestly disclose any help received and sources used.
    • In an oral assessment, every student shall be able to present and answer questions about the entire assignment and solution.

    Further information

    Course web

    No information inserted

    Offered by

    EECS/Network and Systems Engineering

    Main field of study

    No information inserted

    Education cycle

    Third cycle

    Add-on studies

    No information inserted

    Postgraduate course

    Postgraduate courses at EECS/Network and Systems Engineering