Number of hours
- Lectures 16.5
- Projects -
- Tutorials 16.5
- Internship -
- Laboratory works -
- Written tests -
ECTS
ECTS 3.0
Goal(s)
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++.
Frederic WAGNER
Content(s)
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).
- MCC en présentiel ou distanciel **
N1=3/4E1+1/4P
N2=3/4E2+1/4P
dans le cas du distanciel l'examen ecrit e1 sera a distance
- MCC en présentiel ou distanciel **
The course exists in the following branches:
- Curriculum - Information Systems Engineering - Semester 8
- Curriculum - Information Systems Engineering - Semester 8
- Curriculum - Financial Engineering - Semester 8
- Curriculum - Financial Engineering - Semester 8
- Curriculum - Math. Modelling, Image & Simulation - Semester 8
Course ID : 4MMALGA6
Course language(s):
The course is attached to the following structures:
You can find this course among all other courses.
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