Ensimag Rubrique Formation 2022

Advanced algorithms approximation parallel and randomized algorithms - Complexity - 4MMALGOA

  • Number of hours

    • Lectures 13.5
    • Tutorials 13.5
    • Laboratory works 6.0


    ECTS 2.5


This course presents the complexity theory (lower bounds, complexity classes and reduction, NP classification) and presents the main techniques to design efficient algorithms: parallel, randomized and approximation algorithms, heuristics.
The course is coupled to a practical project on the programming of a multi-players game in C++.

Contact Jean-Louis ROCH


1. Machine models, Problem Complexity. Heuristics (e.g. alpha-beta)
2. Complexity; lower bounds; reduction.
3. Complexity classes P, NP, NP-complete.
4. Approximation algorithms. APX classes.
5. Randomized Algorithms. [BRZ]PP classes.
6. Parallel Algorithms. [ RZ][AN]C classes.
7. Interactive algorithms and proofs (IP). Polynomial hierarchy.


Very good understanding of cost analysis for simple sequential algorithms (iterative / loops, recursive / divide and conquer).
Prerequisites: Algorithms and programming (1st year, 3MMALG2), elementary notions on graphs (3MMRO) and on computation models (3MMTL2).


One individual written examination (2h)(E: coef 3 / 4). One programming work with report (P: coef 1 / 4).


Additional Information

Curriculum->MMIS.->Semester 4
Curriculum->ENGINEERING systm of information->Semester 4
Curriculum->For Financial Engineering->Semester 4


S. Arora, B. Barak, Computaional complexity: a modern approach, 2009
P. Berlioux, M.-P. Cani, A. Lux, R. Mohr, D. Naddef, J.-L. Roch : Algorithmique II.. Polycopié ENSIMAG
T. Cormen, C.E. Leiserson, R. Rivest, C. Stein : Introduction to Algorithms, 2nd edition, 2001