FI:IA101 Algorithmics for Hard Problems - Course Information
IA101 Algorithmics for Hard ProblemsFaculty of Informatics
- Extent and Intensity
- 2/0. 2 credit(s) (plus extra credits for completion). Type of Completion: zk (examination).
- prof. RNDr. Ivana Černá, CSc. (lecturer)
- Guaranteed by
- prof. RNDr. Ivana Černá, CSc.
Department of Computer Science - Faculty of Informatics
Contact Person: prof. RNDr. Ivana Černá, CSc.
Supplier department: Department of Computer Science - Faculty of Informatics
- Experience with basic techniques for design and analysis of algorithms (recursion, dynamic programming, greedy approach) as well as with basic data structures and algorithms are required.
- Course Enrolment Limitations
- The course is also offered to the students of the fields other than those the course is directly associated with.
- fields of study / plans the course is directly associated with
- there are 53 fields of study the course is directly associated with, display
- Course objectives
- The course expands on courses IB002 Algorithms and Data Structures I and IV003 Algorithms and Data Structures II. It focuses on design of algorithms for hard computing tasks. The course systematically explains, combines, and compares the main possibilities for attacking hard algorithmic problems like randomization, heuristics, approximation and local search.
- Learning outcomes
- After enrolling the course students are able to :
- identify algorithmically hard problems,
- identify applications where pseudopolynomial, approximative, randomized, and heuristic algorithms can be succesfully used,
- actively used published pseudopolynomial, approximative, and randomized algorithms and correctly interpret their outcomes,
- design simple pseudopolynomial, approximative, and randomized, algorithms,
- experimentally evaluate heuristic algorithms.
- Deterministic approaches: pseudo-polynomial-time algorithms, parametrized complexity, branch-and-bound, lowering worst case complexity of exponential algorithms.
- Approximation approaches: concept of approximation algorithms, classification of optimization problems, stability of approximation, inapproximability, algorithms design. Linear programming as a method for construction of approximative algorithms.
- Randomized approaches: classification of randomized algorithms and design paradigms, design of randomized algorithms, derandomization, randomization and approximation.
- Heuristics: local search, simulated annealing, genetic algorithms.
- recommended literature
- D. Williansom, D. Shmoys. The Design of Approximation Algorithms. Cambridge, 2011
- VAZIRANI, Vijay V. Approximation algorithms. Berlin: Springer, 2001. xix, 378. ISBN 3540653678. info
- MOTWANI, Rajeev and Prabhakar RAGHAVAN. Randomized algorithms. Cambridge: Cambridge University Press, 1995. xiv, 476. ISBN 0521474655. info
- HROMKOVIČ, Juraj. Algorithmics for hard problems : introduction to combinatorial optimization, randomization, approximation, and heuristics. Berlin: Springer, 2001. xi, 492. ISBN 3540668608. info
- CORMEN, Thomas H., Charles Eric LEISERSON and Ronald L. RIVEST. Introduction to algorithms. Cambridge: MIT Press, 1989. xvii, 1028. ISBN 0070131430. info
- COOK, William. In pursuit of the traveling salesman : mathematics at the limits of computation. Princeton: Princeton University Press, 2012. xiii, 228. ISBN 9780691152707. info
- CHVÁTAL, Václav. Linear programming. New York: W.H. Freeman, 1983. xiii, 478. ISBN 0716715872. info
- not specified
- KLEINBERG, Jon and Éva TARDOS. Algorithm design. Boston: Pearson/Addison-Wesley, 2006. xxiii, 838. ISBN 0321372913. info
- Teaching methods
- lectures, individual homeworks and projects aiming at practical skills with designe techniques
- Assessment methods
- Written test
- Language of instruction
- Further Comments
- The course is taught annually.
The course is taught: every week.
- Teacher's information