Centrale Lille Course Catalogue

Algorithms and their complexity 2

Course label : Algorithms and their complexity 2
Teaching departement : EEA / Electrotechnics - Electronics - Control Systems
Teaching manager : Mister PIERRE-ANTOINE THOUVENIN / Mister PIERRE CHAINAIS
Education language :
Potential ects : 0
Results grid :
Code and label (hp) : MR_DS_S2_AC2 - Algo and their complexity 2

Education team

Teachers : Mister PIERRE-ANTOINE THOUVENIN / Mister PIERRE CHAINAIS
External contributors (business, research, secondary education): various temporary teachers

Summary

The course will cover the following topics: • Tractable and intractable problems. • NP-algorithms, NP-hardness, NP-completeness. • Reductions. • NP-hard problems and linear programing. • Hard problems: Traveling salesman problem, Longest path, Hamilton cycle, Boolean circuit satisfiability, Clique, Vertex cover, Correlation Clustering. • Basic notions of probability (conditional probability, the law of total probability). • Approximation algorithms. • Analysis of approximation algorithms for graph problems. • Random graphs and basic notions related to random walk. • Hashing algorithms. Searching using Hashing. Hash tables. Hash functions. Some examples of hash functions. Collision resolution. • Basic problems related to randomized algorithms (e.g., Coupon Collector’s problem , Balls and Bins, …). • Chernoff Bound and its basic applications in the analysis of randomized algorithms. • Basic properties of randomized algorithms and methods for analyzing them. • Advanced data structures to solve specific problems taking into account computational constraints.

Educational goals

The goal of this course is to provide advanced algorithmic and computation notions covering the main topics related to randomized algorithms, relationships between different complexity classes, reductions and approximation algorithms. After successfully taking this course, a student should be able to: • Analyze average-case running times of algorithms whose running time is probabilistic. Employ indicator random variables and linearity of expectation to perform the analyses. • Manipulate problem reductions. • Know the relationships between different specific complexity classes (including complexity classes P, NP, L, NL, PSPACE, BPP, #P). • Design heuristics for complex problems. • Apply important algorithmic design paradigms and methods of analysis. • Argue the correctness of algorithms using inductive proofs. • Explain the basic properties of randomized algorithms and methods for analyzing them. Design algorithms that employ randomization. • Explain advanced graph algorithms and their analysis. • Design and analyze approximation algorithms.

Sustainable development goals

Knowledge control procedures

Continuous Assessment
Comments: Labs, grading scale: (min) 0 – 20 (max) Exam, grading scale: (min) 0 – 20 (max)

Online resources

Introduction to Algorithms (Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest e Clifford Stein) – McGraw-Hill.

Pedagogy

24 hours, 8 lectures 4 exercises. Language of instruction is specified in the course offering information in the course and program directory. English is the default language.

Sequencing / learning methods

Number of hours - Lectures : 12
Number of hours - Tutorial : 12
Number of hours - Practical work : 0
Number of hours - Seminar : 0
Number of hours - Half-group seminar : 0
Number of student hours in TEA (Autonomous learning) : 0
Number of student hours in TNE (Non-supervised activities) : 0
Number of hours in CB (Fixed exams) : 0
Number of student hours in PER (Personal work) : 0
Number of hours - Projects : 0

Prerequisites

This course requires some programming knowledge and a background in algorithms and data structures, with a good understanding of the fundamental notions of probability. Algorithms and their complexity 1.

Maximum number of registrants

Remarks