MA5011 - Complexité

MA5011 - Complexité

Objectifs

Objectif général :

Comprendre et savoir calculer la complexité des algorithmes séquentiels.
Savoir reconnaître les problèmes combinatoires et être capable de prouver leur difficulté.
Appréhender les systèmes cryptographiques.

Objectifs détaillés :

Comprendre les différentes notions de complexité d'un algorithme et être capable d'analyser les algorithmes séquentiels non-récursifs et récursifs.
Comprendre la complexité des problèmes de décision et le modèle de calcul sous-jacent de la machine de Turing non-déterministe.
Maîtriser la réduction de Turing entre problème et les classes P, NP et NPC.
Reconnaître et prouver la NP-complétude ou la NP-difficulté des problèmes d'optimisation combinatoire.
Comprendre comment l'utilisation de problèmes difficiles permet de créer des cryptosystèmes
asymétriques.

Place dans le cursus

1ère moitié du semestre 9

Volume horaire (h)

  • Cours Magistraux : 20h

Examens

Nombre total d'heures d’évaluation : 3

En bref

Crédits ECTS : Cf UE

Nombre d'heures 23

Contact(s)

Lieu(x)

  • Toulouse