Cours d’Algorithmique - PowerPoint PPT Presentation

cours d algorithmique n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Cours d’Algorithmique PowerPoint Presentation
Download Presentation
Cours d’Algorithmique

play fullscreen
1 / 159
Cours d’Algorithmique
179 Views
Download Presentation
hogan
Download Presentation

Cours d’Algorithmique

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Cours d’Algorithmique N P-complétude. Cours d'algorithmique 11 / Intranet

  2. Les grandes lignes du cours • Trier et chercher, recherche textuelle • Listes et arbres • Le back-track • Arbres équilibrés • Récursivité et induction sur la structure • Divide and conquer, algorithmes gloutons • Minimax, alpha-beta • Dérécursion • NP-complétude • Logique de Hoare • Programmation dynamique • Complexité et calculabilité Cours d'algorithmique 11 / Intranet

  3. Le problème----------------------------------------------------------------- • Nous avons vu le « action selection problem » : • en back-track avec une complexité exponentielle, • en programmation dynamique avec une complexité quadratique, • comme algorithme glouton avec une complexité linéaire. Cours d'algorithmique 11 / Intranet

  4. Le problème----------------------------------------------------------------- • Nous avons vu le « action selection problem » : • en back-track avec une complexité exponentielle, • en programmation dynamique avec une complexité quadratique, • comme algorithme glouton avec une complexité linéaire. • Nous avons vu la « satisfaction d’une formule logique » : Cours d'algorithmique 11 / Intranet

  5. Le problème----------------------------------------------------------------- • Nous avons vu le « action selection problem » : • en back-track avec une complexité exponentielle, • en programmation dynamique avec une complexité quadratique, • comme algorithme glouton avec une complexité linéaire. • Nous avons vu la « satisfaction d’une formule logique » : • en back-track avec une complexité exponentielle, (équivalant au parcours de la table de vérité), Cours d'algorithmique 11 / Intranet

  6. Le problème----------------------------------------------------------------- • Nous avons vu le « action selection problem » : • en back-track avec une complexité exponentielle, • en programmation dynamique avec une complexité quadratique, • comme algorithme glouton avec une complexité linéaire. • Nous avons vu la « satisfaction d’une formule logique » : • en back-track avec une complexité exponentielle, (équivalant au parcours de la table de vérité), • et puis … ? Cours d'algorithmique 11 / Intranet

  7. Le problème----------------------------------------------------------------- • Nous avons vu le « action selection problem » : • en back-track avec une complexité exponentielle, • en programmation dynamique avec une complexité quadratique, • comme algorithme glouton avec une complexité linéaire. • Nous avons vu la « satisfaction d’une formule logique » : • en back-track avec une complexité exponentielle, (équivalant au parcours de la table de vérité), • et puis … ? • Rien ! ! ! Cours d'algorithmique 11 / Intranet

  8. Le problème----------------------------------------------------------------- • Nous avons vu le « action selection problem » : • en back-track avec une complexité exponentielle, • en programmation dynamique avec une complexité quadratique, • comme algorithme glouton avec une complexité linéaire. • Nous avons vu la « satisfaction d’une formule logique » : • en back-track avec une complexité exponentielle, (équivalant au parcours de la table de vérité), • et puis … ? • Rien ! ! ! Personne n'a trouvé mieux ! ! ! Cours d'algorithmique 11 / Intranet

  9. Le problème----------------------------------------------------------------- • La question : • Y aurait-il par hasard des problèmes dont la complexité intrinsèque est exponentielle ? Cours d'algorithmique 11 / Intranet

  10. Le problème----------------------------------------------------------------- • La question : • Y aurait-il par hasard des problèmes dont la complexité intrinsèque est exponentielle ? • Pour un tel problème, tout algorithme pour le résoudre serait exponentiel en temps ! Cours d'algorithmique 11 / Intranet

  11. Le problème----------------------------------------------------------------- • La question : • Y aurait-il par hasard des problèmes dont la complexité intrinsèque est exponentielle ? • Pour un tel problème, tout algorithme pour le résoudre serait exponentiel en temps ! • La réponse : • Probablement OUI ! Cours d'algorithmique 11 / Intranet

  12. Le problème----------------------------------------------------------------- • La question : • Y aurait-il par hasard des problèmes dont la complexité intrinsèque est exponentielle ? • Pour un tel problème, tout algorithme pour le résoudre serait exponentiel en temps ! • La réponse : • Probablement OUI ! • Malheureusement ! ! ! Cours d'algorithmique 11 / Intranet

  13. Le problème----------------------------------------------------------------- • La question : • Y aurait-il par hasard des problèmes dont la complexité intrinsèque est exponentielle ? • Pour un tel problème, tout algorithme pour le résoudre serait exponentiel en temps ! • La réponse : • Probablement OUI ! • Malheureusement ! ! ! • On ne sait rien de définitif ! ! ! Cours d'algorithmique 11 / Intranet

  14. Le problème----------------------------------------------------------------- • La question : • Y aurait-il par hasard des problèmes dont la complexité intrinsèque est exponentielle ? • Pour un tel problème, tout algorithme pour le résoudre serait exponentiel en temps ! • La réponse : • Probablement OUI ! • Malheureusement ! ! ! • On ne sait rien de définitif ! ! ! / P = N P ou bien P = N P Cours d'algorithmique 11 / Intranet

  15. Le problème----------------------------------------------------------------- • La question : • Y aurait-il par hasard des problèmes dont la complexité intrinsèque est exponentielle ? • Pour un tel problème, tout algorithme pour le résoudre serait exponentiel en temps ! • La réponse : • Probablement OUI ! • Malheureusement ! ! ! • On ne sait rien de définitif ! ! ! / P = N P ou bien P = N P Cours d'algorithmique 11 / Intranet

  16. Le problème----------------------------------------------------------------- • La question de la « N P – complétude » : / P = N P ou bien P = N P Cours d'algorithmique 11 / Intranet

  17. Le problème----------------------------------------------------------------- • On connaît des centaines et des centaines de problèmes « N P – complets » : Cours d'algorithmique 11 / Intranet

  18. Le problème----------------------------------------------------------------- • On connaît des centaines et des centaines de problèmes « N P – complets » : • Si P = N P (probable) : Tous ont une complexité exponentielle ! / Cours d'algorithmique 11 / Intranet

  19. Le problème----------------------------------------------------------------- • On connaît des centaines et des centaines de problèmes « N P – complets » : • Si P = N P (probable) : Tous ont une complexité exponentielle ! • Si P = N P (peu probable) : Tous ont une complexité polynômiale ! / Cours d'algorithmique 11 / Intranet

  20. Le problème----------------------------------------------------------------- • On connaît des centaines et des centaines de problèmes « N P – complets » : • Si P = N P (probable) : Tous ont une complexité exponentielle ! • Si P = N P (peu probable) : Tous ont une complexité polynômiale ! • C’est sans doute le problème informatique non résolu le plus important ! ! ! / Cours d'algorithmique 11 / Intranet

  21. Le problème----------------------------------------------------------------- Les problèmes « N P – complets » sont aussi appelés : INTRACTABLES !!! Cours d'algorithmique 11 / Intranet

  22. Le problème----------------------------------------------------------------- Les problèmes « N P – complets » sont aussi appelés : INTRACTABLES !!! Parce que : 2^10 = 1024 2^20 = 1048576 2^30 = 1073741824 2^50 = 1125899906842624 Cours d'algorithmique 11 / Intranet

  23. Le problème----------------------------------------------------------------- Les problèmes « N P – complets » sont aussi appelés : INTRACTABLES !!! Parce que : 2^10 = 1024 2^20 = 1048576 2^30 = 1073741824 2^50 = 1125899906842624 Evitez-les quand vous le pouvez ! Cours d'algorithmique 11 / Intranet

  24. Le problème----------------------------------------------------------------- • Un problème « N P – complet » est, • de manière informelle, • mais correspondant à la pratique : Cours d'algorithmique 11 / Intranet

  25. Le problème----------------------------------------------------------------- • Un problème « N P – complet » est, • de manière informelle, • mais correspondant à la pratique : • un problème de décision ( OUI – NON ) Cours d'algorithmique 11 / Intranet

  26. Le problème----------------------------------------------------------------- • Un problème « N P – complet » est, • de manière informelle, • mais correspondant à la pratique : • un problème de décision ( OUI – NON ) • qui se résout (pour l’heure) par back-track (ou équivalent en complexité). Cours d'algorithmique 11 / Intranet

  27. Le problème----------------------------------------------------------------- Plus difficile : difficile • Un problème « N P – complet » est, • de manière informelle, • mais correspondant à la pratique : • un problème de décision ( OUI – NON ) • qui se résout (pour l’heure) par back-track (ou équivalent en complexité). Cours d'algorithmique 11 / Intranet

  28. Le problème----------------------------------------------------------------- Plus difficile : difficile • Un problème « N P – complet » est, • de manière informelle, • mais correspondant à la pratique : • un problème de décision ( OUI – NON ) • qui se résout (pour l’heure) par back-track (ou équivalent en complexité). d’optimisation ( le meilleur, … ) complet Cours d'algorithmique 11 / Intranet

  29. Des exemples----------------------------------------------------------------- • « SAT » est « N P –complet » : • « n » variables logiques, • une formule logique construite sur ces variables à l’aide de et, ou et not. Cours d'algorithmique 11 / Intranet

  30. Des exemples----------------------------------------------------------------- • « SAT » est « N P –complet » : • « n » variables logiques, • une formule logique construite sur ces variables à l’aide de et, ou et not. • La question ( toute simple ) : Est-il possible de donner des valeurs aux variables logiques de manière à rendre vraie la formule ? Cours d'algorithmique 11 / Intranet

  31. Des exemples----------------------------------------------------------------- • « SAT » est « N P –complet » : • « n » variables logiques, • une formule logique construite sur ces variables à l’aide de et, ou et not. • La question ( toute simple ) : Est-il possible de donner des valeurs aux variables logiques de manière à rendre vraie la formule ? • La solution : Essayez tout ! Cours d'algorithmique 11 / Intranet

  32. Des exemples----------------------------------------------------------------- • Attention : • Parfois c’est simple ! ! ! Cours d'algorithmique 11 / Intranet

  33. Des exemples----------------------------------------------------------------- • Attention : • Parfois c’est simple ! ! ! • a b . . . z a v ( . . . ) v v v Cours d'algorithmique 11 / Intranet

  34. Des exemples----------------------------------------------------------------- • Attention : • Parfois c’est simple ! ! ! • a b . . . z a v ( . . . ) • Mais, dans le cas général (c’est-à-dire le plus souvent), c’est difficile ! ! ! v v v Cours d'algorithmique 11 / Intranet

  35. Des exemples----------------------------------------------------------------- • Le « Voyageur de Commerce », en anglais « Traveling Salesman Problem » ( TSP ), est « N P –difficile » : • « n » villes, • un réseau routier entre ces villes avec les distances, Cours d'algorithmique 11 / Intranet

  36. Des exemples----------------------------------------------------------------- • Le « Voyageur de Commerce », en anglais « Traveling Salesman Problem » ( TSP ), est « N P –difficile » : • « n » villes, • un réseau routier entre ces villes avec les distances, • La question : Quel est le coût du circuit (point de départ = point d’arrivée) le moins cher qui visite chaque ville une et une seule fois ? Cours d'algorithmique 11 / Intranet

  37. Des exemples----------------------------------------------------------------- • Le « Voyageur de Commerce », en anglais « Traveling Salesman Problem » ( TSP ), est « N P –difficile » : • « n » villes, • un réseau routier entre ces villes avec les distances, • La question : Quel est le coût du circuit (point de départ = point d’arrivée) le moins cher qui visite chaque ville une et une seule fois ? • La solution : Essayez tout ! Cours d'algorithmique 11 / Intranet

  38. N P – complétude ----------------------------------------------------------------- P L U S • R E C I S E M E N T . . . Cours d'algorithmique 11 / Intranet

  39. N P – complétude ----------------------------------------------------------------- • La classe de problèmes « P » ! • Ce sont les problèmes qui acceptent un algorithme : • polynômial, • déterministe, • qui résout toutes les instances. Cours d'algorithmique 11 / Intranet

  40. N P – complétude ----------------------------------------------------------------- • La classe de problèmes « P » ! • Ce sont les problèmes qui acceptent un algorithme : • polynômial, • déterministe, • qui résout toutes les instances. La complexité est un polynôme en termes de la taille du problème. Cours d'algorithmique 11 / Intranet

  41. N P – complétude ----------------------------------------------------------------- • La classe de problèmes « P » ! • Ce sont les problèmes qui acceptent un algorithme : • polynômial, • déterministe, • qui résout toutes les instances. La complexité est un polynôme en termes de la taille du problème. Il n’y a aucun élément de chance ou d’indication venant de l’extérieur. Cours d'algorithmique 11 / Intranet

  42. N P – complétude ----------------------------------------------------------------- • La classe de problèmes « P » ! • Ce sont les problèmes qui acceptent un algorithme : • polynômial, • déterministe, • qui résout toutes les instances. La complexité est un polynôme en termes de la taille du problème. Il n’y a aucun élément de chance ou d’indication venant de l’extérieur. Aucune instance n’est trop difficile. Cours d'algorithmique 11 / Intranet

  43. N P – complétude ----------------------------------------------------------------- • La classe de problèmes « P » ! • Ce sont les problèmes qui acceptent un algorithme : • polynômial, • déterministe, • qui résout toutes les instances. La complexité est un polynôme en termes de la taille du problème. Il n’y a aucun élément de chance ou d’indication venant de l’extérieur. Aucune instance n’est trop difficile. La plupart des problèmes ! Cours d'algorithmique 11 / Intranet

  44. N P – complétude ----------------------------------------------------------------- • La classe de problèmes « N P » ! • Ce sont les problèmes qui acceptent un algorithme : • polynômial, • non-déterministe, • qui résout toutes les instances. Cours d'algorithmique 11 / Intranet

  45. N P – complétude ----------------------------------------------------------------- • La classe de problèmes « N P » ! • Ce sont les problèmes qui acceptent un algorithme : • polynômial, • non-déterministe, • qui résout toutes les instances. Cours d'algorithmique 11 / Intranet

  46. N P – complétude ----------------------------------------------------------------- • La classe de problèmes « N P » ! • Ce sont les problèmes qui acceptent un algorithme : • polynômial, • non-déterministe, • qui résout toutes les instances. Il peut y a avoir des éléments de chance ou des indications venant de l’extérieur. Cours d'algorithmique 11 / Intranet

  47. N P – complétude ----------------------------------------------------------------- • La classe de problèmes « N P » ! • Ce sont les problèmes qui acceptent un algorithme : • polynômial, • non-déterministe, • qui résout toutes les instances. Il peut y a avoir des éléments de chance ou des indications venant de l’extérieur. Oracle ! Boule de cristal ! La Pythie ! Cours d'algorithmique 11 / Intranet

  48. N P – complétude ----------------------------------------------------------------- • La classe de problèmes « NP » ! • Il est clair que : P N P U Cours d'algorithmique 11 / Intranet

  49. N P – complétude ----------------------------------------------------------------- • La classe de problèmes « NP » ! • Il est clair que : P N P • Mais ? P = N P ou P = N P U / Cours d'algorithmique 11 / Intranet

  50. N P – complétude ----------------------------------------------------------------- • La classe de problèmes « NP » ! • Il est clair que : P N P • Mais ? P = N P ou P = N P U / Est-ce que l'oracle apporte un plus ? ? ? Cours d'algorithmique 11 / Intranet