« INFO704 : Analyse d'algorithmes » : différence entre les versions

De Wiki du LAMA (UMR 5127)
Aller à la navigation Aller à la recherche
Aucun résumé des modifications
Aucun résumé des modifications
Ligne 26 : Ligne 26 :
- [https://we.tl/t-6fQ3UswRZV Fichiers pour Problème 3]
- [https://we.tl/t-6fQ3UswRZV Fichiers pour Problème 3]


import sys


import sys
filename = sys.argv[2]
filename = sys.argv[2]
tab = []
tab = []
with open(filename, "r") as file:
with open(filename, "r") as file:

Version du 25 septembre 2019 à 06:38

Responsable 2019: Sébastien Tavenas

Adresse couriel : sebastien.tavenas@univ-smb.fr


Quelques ressources bibliographiques

Ouvrage de référence :

  1. Cormen, Leiserson, Rivest et Stein, Algorithmique, 3e edition (2009). ( Aussi appelé "Introduction à l'algorithmique" pour les deux premières éditions )

Autres références bibliographiques :

  1. Wilf, Algorithms and Complexity, (1994). Disponible en ligne
  2. Garey et Johnson, Computers and intractability a guide to the theory of NP-completeness. (1979).
  3. Hopcroft et Ullman, Introduction to automata theory, languages, and computation, (1979).

TP

TP1 le 25 septembre : Analyser la complexité d'algorithmes

- Sujet du TP 1

Fichiers pour le TP :

- Fichiers pour GraphChrono
- Fichiers pour Problème 2
- Fichiers pour Problème 3


   import sys
   filename = sys.argv[2]
   tab = []
   with open(filename, "r") as file:
       for line in file:
           tab.append( 1)



TP2 le 9 octobre : Problème NP-complet

TP3 le 18 octobre : Réductions polynomiales

Déroulement (2019-2020)

Cours 1 (9 septembre) : Introduction

- Introduction
- Exemple de différents tris 
- Notions d'instance et de problème
- Notion de complexité asymptotique

TD 1 (13 septembre) : Rappels de mathématiques

- Grand-O de la notation de Landau
- Fonctions mathématiques de base : polynômes, exponentielles et logarithmes
- Correction des questions 1 et 2 du TD

TD2 (16 septembre) : Analyse des algorithmes

- Complexité d'éléments basiques : instructions, tests, boucles Pour et TantQue
- Cas des algorithmes récursifs.
- Analyse des algorithmes

Cours 2 (18 septembre) : Algorithmes récursifs (Diviser pour régner)

- Présentation des algorithmes Diviser-pour-régner.
- Théorème général.
- Problème distance minimale

TD 3 (23 septembre) : Algorithmes récursifs (Diviser-pour-régner)

- Exercice algorithmes récursifs 

Cours 3 (30 septembre) : Programmation dynamique.

TD 4 (30 septembre) : Programmation dynamique

Cours 4 (1 octobre) : Complexité des problèmes

Cours 5 (7 octobre) : Réductions de NP-complétude

TD 5 (15 octobre) : NP-complétude

Annales Examen

Examen 2017

Historique

Ce cours était donné précédemment par Xavier Provençal. Ce cours est une refonte de INFO724 Algorithmique avancée, graphes et NP-complétude.