Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
1
Conception et analyse des algorithmes
8INF806 Conception et analyse des algorithmes
2
1936 Définition formelle de la notion d'algorithme:
Turing: Machine de Turing Post: Machine de Post Kleene: fonctions récursives Church: -calculus
3
Problèmes indécidables
Certains problèmes n'admettent aucun algorithme. ex. Problème d'arrêt ex. Résoudre une équation diophantienne ex. Le jeu de la vie (game of life)
4
Thèse de Church-Turing
Toutes ces définitions sont équivalentes Notion intuitive d'algorithme = machine de Turing Remarque: ordinateur bio-moléculaire et ordinateur quantique.
5
Efficacité des algorithmes
Quantité raisonnable de ressources Ressources: temps, espace mémoires, nombre de processeurs, nombre de bits de communications, nombre de bits aléatoires, etc. Nous considérerons surtout le temps Algorithme efficace = temps polynomial
6
Thèse de Church-Turing étendue
algorithme efficace = machine de Turing efficace
7
Théorie de la complexité
Prouver que certains problèmes requièrent une quantité minimale de ressources. Exemple: Factorisation d'un entier n Conception d'algorithme: borne supérieure Théorie de la complexité: borne inférieure
8
Pourquoi des bornes inférieures
Résultats négatifs Évite de perdre son temps La recherche de bornes inférieures peut conduire à la découverte d'algorithmes efficaces. Exemple: Test de primalité
9
Difficulté du domaine Borne supérieure un seul algorithme
Borne supérieure tous les algorithmes Fait: Aucun des plus important problèmes en complexité n'a encore été résolu Exemple: Dernier théorème de Fermat
10
Question centrale: P≠NP
P: ensemble des problèmes disposant d'une solution efficace Exemple: test de primalité NP: ensemble de problèmes pour lesquel on ne connaît aucun algorithme efficace Exemple: Problème du commis voyageur
11
Comparer des problèmes (réduction)
Deux problèmes: A et B A≤B si on peut construire un algorithme efficace pour A si on dispose d'un algorithme efficace pour B B est au moins aussi difficile que A A et B ont le même niveau de difficulté si A≤B et B≤A.
12
Exemple A: multiplication B: mise au carré X2 = X × X X × Y =
13
Problèmes NP-complet Un problème A est NP-complet si: A est dans NP
B ≤ A pour tout B dans NP A est le problème le plus difficile dans NP Si A admet un algorithme efficace alors tous les probles B dans NP admettent un algorithme efficace
14
Que faire quand un problème est trop difficile?
Reformuler le problème Algorithmes probabiliste: L'espérance du temps est raisonnable La probabilité d'erreur est raisonnable Algorithme d'approximation Pour les problèmes d'optimisation (ex. TSP) Heuristiques (algorithmes génétiques, etc.)
15
Quelques joyaux Théorème de Cook: Théorème PCP
SAT est NP-complet Théorème PCP Exemple: circuit hamiltonien Théorème de Furst, Saxe et Sipser. Limites du parallélisme
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.