University of Warsaw - Central Authentication System
Strona główna

Algorithmics

General data

Course ID: 1000-2N00ALG
Erasmus code / ISCED: 11.302 Kod klasyfikacyjny przedmiotu składa się z trzech do pięciu cyfr, przy czym trzy pierwsze oznaczają klasyfikację dziedziny wg. Listy kodów dziedzin obowiązującej w programie Socrates/Erasmus, czwarta (dotąd na ogół 0) – ewentualne uszczegółowienie informacji o dyscyplinie, piąta – stopień zaawansowania przedmiotu ustalony na podstawie roku studiów, dla którego przedmiot jest przeznaczony. / (0612) Database and network design and administration The ISCED (International Standard Classification of Education) code has been designed by UNESCO.
Course title: Algorithmics
Name in Polish: Algorytmika
Organizational unit: Faculty of Mathematics, Informatics, and Mechanics
Course groups: (in Polish) Przedmioty obieralne na studiach drugiego stopnia na kierunku bioinformatyka
Elective courses (facultative) for Computer Science
Elective courses for Computer Science
ECTS credit allocation (and other scores): 6.00 Basic information on ECTS credits allocation principles:
  • the annual hourly workload of the student’s work required to achieve the expected learning outcomes for a given stage is 1500-1800h, corresponding to 60 ECTS;
  • the student’s weekly hourly workload is 45 h;
  • 1 ECTS point corresponds to 25-30 hours of student work needed to achieve the assumed learning outcomes;
  • weekly student workload necessary to achieve the assumed learning outcomes allows to obtain 1.5 ECTS;
  • work required to pass the course, which has been assigned 3 ECTS, constitutes 10% of the semester student load.

view allocation of credits
Language: Polish
Type of course:

elective courses

Prerequisites:

Algorithms and Data Structures 1000-213aASD

Short description:

The course is a continuation of the course "Algorithms and data structures". The aim is to make students acquainted with the methods of constructions of efficient algorithms for various combinatorial problems.

Prerequisities: Algorithms and data structures

Full description:

1. Path problems in graphs

- Bellman-Ford algorithm

- applications of matrix multiplication in path problems

- Floyd-Warshall algorithm

- Johson's algorithm

2. Network flows

- min-cut max-flow theorem,

- algorithms of Ford-Fulkerson, Edmonds-Karp, Dinic, three Indians

- min cost flow, cycle cancelling algorithm, successive shortest paths algorithm

- reductions to flow problems

3. Complexity classes: P and NP, proving NP-hardness

4. Linear Programming

- the geometry of linear programs,

- simplex algorithm

5. Approximation algorithms

- 2-approximation for vertex cover

- nonapproximability of general Travelling Salesman Problem

- Christofides algorithm for metric Travelling Salesman Problem

- applications of linear programming in approximation

6. Parameterized algorithms

- FPT and XP classes

- branching algorithms

- kernelization: linear kernel for vertex cover

- treewidth and pathwidth

- dynamic programming on tree decpompositions

7. Randomized algorithms

- Monte Carlo and Las Vegas algorithms

- Monte-Carlo algorithm for the maximum matching problem

- sublinear algorithms

Bibliography:

1. Introduction to Algorithms, T. H. Cormen, C. E. Leiserson, C. Stein, MIT, 2001.

2. Approximation Algorithms, V. V. Vazirani, Springer 2003.

3. Probability and Computing, M. Mitzenmacher, E. Upfal, Cambridge University Press 2006.

4. The Design and Analysis of Algorithms, D. C. Kozen, Springer 1991.

5. Parameterized Algorithms, Cygan, Fomin, Kowalik, Lokshtanov, Marx, Pilipczuk, Pilipczuk, Saurabh, Springer 2015

Learning outcomes:

knowledge

1. Knows the most important combinatorial optimization problems

2. Knows the concepts of complexity classes P and NP, the concept of NP-hard problems

3. Knows the most efficient algorithms for combinatorial optimization problems within the class P (path and flow problems, linear programming)

4. Knows the most important NP-hard problems.

5. Is familiar with the concept of approximation algorithm and knows examples of such algorithms, both using combinatorial approach and based on the linear programming theory

6. Is familiar with the concept of parameterized algorithm and examples of various parameterizations. Knows the notion of kernalization.

7. Knows the notion of treewidth and applies the technique of dynamic programming over tree decomposition

8. Knows examples of randomized Monte-Carlo and Las-Vegas algorithms

Skills:

1. reduces new problems to the well-known flow and path problems, or to linear programming

2. proves NP-hardness

3. is able to design approximation algorithms and analyze the quality of approximation

4. is able to identify natural parametrizations of problems and applies techniques like branching, kernelization and dynamic programming over tree decomposition

5. applies the basic techniques of randomization (randomized rounding, Zippel-Schwartz lemma, color coding) and derandomizes algorithms with the method conditional expected value

Assessment methods and assessment criteria:

After each lecture, there will be a short quiz available in Moodle. 75% of quiz points is required to get a passing grade in the first exam session.

Moreover, during the semester there will be 3-4 homeworks, each consisting of 1-2 problems. The exam will be a 90-minutes test, checking knowledge and its creative use. The final grade depends on the scores from homeworks and the exam.

In the case of completing the course by a doctoral student, the student will read a selected recent research article and a chat with a lecturer about the article will be a part of the exam.

To be admitted to the early exam ("zerówka"), one needs more than 90% of points from quizzes and more than 90% of points from homeworks.

Classes in period "Summer semester 2023/24" (in progress)

Time span: 2024-02-19 - 2024-06-16
Selected timetable range:
Navigate to timetable
Type of class:
Classes, 30 hours more information
Lecture, 30 hours more information
Coordinators: Marcin Pilipczuk
Group instructors: Marcin Pilipczuk, Anna Zych-Pawlewicz
Students list: (inaccessible to you)
Examination: Examination

Classes in period "Summer semester 2024/25" (future)

Time span: 2025-02-17 - 2025-06-08
Selected timetable range:
Navigate to timetable
Type of class:
Classes, 30 hours more information
Lecture, 30 hours more information
Coordinators: Łukasz Kowalik, Marcin Pilipczuk
Group instructors: Jadwiga Czyżewska, Kacper Kluk, Łukasz Kowalik, Marcin Pilipczuk, Anna Zych-Pawlewicz
Students list: (inaccessible to you)
Examination: Examination
Course descriptions are protected by copyright.
Copyright by University of Warsaw.
Krakowskie Przedmieście 26/28
00-927 Warszawa
tel: +48 22 55 20 000 https://uw.edu.pl/
contact accessibility statement USOSweb 7.0.3.0 (2024-03-22)