La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

8INF806 Conception et analyse des algorithmes. 1936 Définition formelle de la notion d'algorithme: •Turing: Machine de Turing •Post: Machine de Post •Kleene:

Présentations similaires


Présentation au sujet: "8INF806 Conception et analyse des algorithmes. 1936 Définition formelle de la notion d'algorithme: •Turing: Machine de Turing •Post: Machine de Post •Kleene:"— Transcription de la présentation:

1 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é •X 2 = X × X •X × Y =

13 Problèmes NP-complet Un problème A est NP-complet si: 1.A est dans NP 2.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 1.Théorème de Cook: •SAT est NP-complet 2.Théorème PCP •Exemple: circuit hamiltonien 3.Théorème de Furst, Saxe et Sipser. •Limites du parallélisme


Télécharger ppt "8INF806 Conception et analyse des algorithmes. 1936 Définition formelle de la notion d'algorithme: •Turing: Machine de Turing •Post: Machine de Post •Kleene:"

Présentations similaires


Annonces Google