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

Cours d’Algorithmique

Présentations similaires


Présentation au sujet: "Cours d’Algorithmique"— Transcription de la présentation:

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

2 Présentation générale
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é 9 janvier 2006 Cours d'algorithmique 11 / Intranet Cours d'algorithmique

3 Cours d'algorithmique 11 / Intranet
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. 9 janvier 2006 Cours d'algorithmique 11 / Intranet

4 Cours d'algorithmique 11 / Intranet
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 » : 9 janvier 2006 Cours d'algorithmique 11 / Intranet

5 Cours d'algorithmique 11 / Intranet
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 » : (équivalant au parcours de la table de vérité), 9 janvier 2006 Cours d'algorithmique 11 / Intranet

6 Cours d'algorithmique 11 / Intranet
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 » : (équivalant au parcours de la table de vérité), et puis … ? 9 janvier 2006 Cours d'algorithmique 11 / Intranet

7 Cours d'algorithmique 11 / Intranet
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 » : (équivalant au parcours de la table de vérité), et puis … ? Rien ! ! ! 9 janvier 2006 Cours d'algorithmique 11 / Intranet

8 Personne n'a trouvé mieux ! ! !
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 » : (équivalant au parcours de la table de vérité), et puis … ? Rien ! ! ! Personne n'a trouvé mieux ! ! ! 9 janvier 2006 Cours d'algorithmique 11 / Intranet

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

10 Cours d'algorithmique 11 / Intranet
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 ! 9 janvier 2006 Cours d'algorithmique 11 / Intranet

11 Cours d'algorithmique 11 / Intranet
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 ! 9 janvier 2006 Cours d'algorithmique 11 / Intranet

12 Cours d'algorithmique 11 / Intranet
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 ! ! ! 9 janvier 2006 Cours d'algorithmique 11 / Intranet

13 On ne sait rien de définitif ! ! !
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 ! ! ! 9 janvier 2006 Cours d'algorithmique 11 / Intranet

14 On ne sait rien de définitif ! ! !
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 / 9 janvier 2006 Cours d'algorithmique 11 / Intranet

15 On ne sait rien de définitif ! ! !
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 / 9 janvier 2006 Cours d'algorithmique 11 / Intranet

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

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

18 Cours d'algorithmique 11 / Intranet
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 ! / 9 janvier 2006 Cours d'algorithmique 11 / Intranet

19 Cours d'algorithmique 11 / Intranet
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 ! / 9 janvier 2006 Cours d'algorithmique 11 / Intranet

20 Cours d'algorithmique 11 / Intranet
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 ! ! ! / 9 janvier 2006 Cours d'algorithmique 11 / Intranet

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

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

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

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

25 Cours d'algorithmique 11 / Intranet
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 ) 9 janvier 2006 Cours d'algorithmique 11 / Intranet

26 Cours d'algorithmique 11 / Intranet
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é). 9 janvier 2006 Cours d'algorithmique 11 / Intranet

27 Cours d'algorithmique 11 / Intranet
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é). 9 janvier 2006 Cours d'algorithmique 11 / Intranet

28 Cours d'algorithmique 11 / Intranet
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 9 janvier 2006 Cours d'algorithmique 11 / Intranet

29 Cours d'algorithmique 11 / Intranet
Des exemples « SAT » est « N P –complet » : « n » variables logiques, une formule logique construite sur ces variables à l’aide de et, ou et not. 9 janvier 2006 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 ? 9 janvier 2006 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 ! 9 janvier 2006 Cours d'algorithmique 11 / Intranet

32 Cours d'algorithmique 11 / Intranet
Des exemples Attention : Parfois c’est simple ! ! ! 9 janvier 2006 Cours d'algorithmique 11 / Intranet

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

34 Cours d'algorithmique 11 / Intranet
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 9 janvier 2006 Cours d'algorithmique 11 / Intranet

35 Cours d'algorithmique 11 / Intranet
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, 9 janvier 2006 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 ? 9 janvier 2006 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 ! 9 janvier 2006 Cours d'algorithmique 11 / Intranet

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

39 La classe de problèmes « P » !
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. 9 janvier 2006 Cours d'algorithmique 11 / Intranet

40 La classe de problèmes « P » !
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. 9 janvier 2006 Cours d'algorithmique 11 / Intranet

41 La classe de problèmes « P » !
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. 9 janvier 2006 Cours d'algorithmique 11 / Intranet

42 La classe de problèmes « P » !
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. 9 janvier 2006 Cours d'algorithmique 11 / Intranet

43 La classe de problèmes « P » ! La plupart des problèmes !
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 ! 9 janvier 2006 Cours d'algorithmique 11 / Intranet

44 La classe de problèmes « N P » !
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. 9 janvier 2006 Cours d'algorithmique 11 / Intranet

45 La classe de problèmes « N P » !
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. 9 janvier 2006 Cours d'algorithmique 11 / Intranet

46 La classe de problèmes « N P » !
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. 9 janvier 2006 Cours d'algorithmique 11 / Intranet

47 La classe de problèmes « N P » !
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 ! 9 janvier 2006 Cours d'algorithmique 11 / Intranet

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

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

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

51 La classe de problèmes « N P » !
N P – complétude La classe de problèmes « N P » ! ICI ! 9 janvier 2006 Cours d'algorithmique 11 / Intranet

52 La classe de problèmes « N P » ! On voit ou est la solution !
N P – complétude La classe de problèmes « N P » ! ICI ! On voit ou est la solution ! 9 janvier 2006 Cours d'algorithmique 11 / Intranet

53 La classe de problèmes « N P » !
N P – complétude La classe de problèmes « N P » ! E t m a i n t e n a n t ? ICI ! 9 janvier 2006 Cours d'algorithmique 11 / Intranet

54 La classe de problèmes « N P » !
N P – complétude La classe de problèmes « N P » ! Vous pouvez bien-sûr faire du back-track ! Mais, c’est très, très coûteux ! ! ! ! ! ! E t m a i n t e n a n t ? ICI ! 9 janvier 2006 Cours d'algorithmique 11 / Intranet

55 La classe de problèmes « N P » !
N P – complétude Ou alors poser la question à l'oracle ! La classe de problèmes « N P » ! E t m a i n t e n a n t ? ICI ! 9 janvier 2006 Cours d'algorithmique 11 / Intranet

56 La classe de problèmes « N P » !
N P – complétude Ou alors poser la question à l'oracle ! La classe de problèmes « N P » ! Oracle ? E t m a i n t e n a n t ? ICI ! 9 janvier 2006 Cours d'algorithmique 11 / Intranet

57 La classe de problèmes « N P » !
N P – complétude Ou alors poser la question à l'oracle ! La classe de problèmes « N P » ! Oracle ? A gauche ! E t m a i n t e n a n t ? ICI ! 9 janvier 2006 Cours d'algorithmique 11 / Intranet

58 La classe de problèmes « N P » !
N P – complétude Ou alors poser la question à l'oracle ! La classe de problèmes « N P » ! Oracle ? E t m a i n t e n a n t ? ICI ! 9 janvier 2006 Cours d'algorithmique 11 / Intranet

59 La classe de problèmes « N P » !
N P – complétude Ou alors poser la question à l'oracle ! La classe de problèmes « N P » ! Oracle ? A droite ! E t m a i n t e n a n t ? ICI ! 9 janvier 2006 Cours d'algorithmique 11 / Intranet

60 La classe de problèmes « N P » !
N P – complétude Ou alors poser la question à l'oracle ! La classe de problèmes « N P » ! Oracle ? E t m a i n t e n a n t ? ICI ! 9 janvier 2006 Cours d'algorithmique 11 / Intranet

61 La classe de problèmes « N P » !
N P – complétude Ou alors poser la question à l'oracle ! La classe de problèmes « N P » ! Oracle ? A droite ! E t m a i n t e n a n t ? ICI ! 9 janvier 2006 Cours d'algorithmique 11 / Intranet

62 La classe de problèmes « N P » ! L'oracle ne se trompe jamais !
N P – complétude Ou alors poser la question à l'oracle ! La classe de problèmes « N P » ! Oracle ? A droite ! ICI ! L'oracle ne se trompe jamais ! 9 janvier 2006 Cours d'algorithmique 11 / Intranet

63 Cours d'algorithmique 11 / Intranet
N P – complétude Nous remplaçons une exploration à l’aide du back-track par un appel à l’oracle. 9 janvier 2006 Cours d'algorithmique 11 / Intranet

64 Cours d'algorithmique 11 / Intranet
N P – complétude Nous remplaçons une exploration à l’aide du back-track par un appel à l’oracle. L’oracle répond au bout de ? 9 janvier 2006 Cours d'algorithmique 11 / Intranet

65 Cours d'algorithmique 11 / Intranet
N P – complétude Nous remplaçons une exploration à l’aide du back-track par un appel à l’oracle. L’oracle répond au bout de ? La complexité de l’oracle est bien-sûr en O ( 1 ) . 9 janvier 2006 Cours d'algorithmique 11 / Intranet

66 Cours d'algorithmique 11 / Intranet
N P – complétude Nous remplaçons une exploration à l’aide du back-track par un appel à l’oracle. L’oracle répond au bout de ? La complexité de l’oracle est bien-sûr en O ( 1 ) . Je sais réaliser un oracle en temps exponentiel ! Il suffit de faire un back-track en cachette ! ! ! 9 janvier 2006 Cours d'algorithmique 11 / Intranet

67 Une autre façon de voir les choses :
N P – complétude Une autre façon de voir les choses : Si P = N P alors l’oracle, c’est-à-dire le choix peut toujours être calculé en temps polynômial ! 9 janvier 2006 Cours d'algorithmique 11 / Intranet

68 Autre formulation de la classe de problèmes « N P » !
N P – complétude Autre formulation de la classe de problèmes « N P » ! 9 janvier 2006 Cours d'algorithmique 11 / Intranet

69 Autre formulation de la classe de problèmes « N P » !
N P – complétude Autre formulation de la classe de problèmes « N P » ! Ce sont les problèmes qui : acceptent, pour chaque instance, un nombre borné de candidats à être la solution, pour lesquels, la vérification qu’un candidat quelconque est solution appartient à « P  ». 9 janvier 2006 Cours d'algorithmique 11 / Intranet

70 Autre formulation de la classe de problèmes « N P » !
N P – complétude Autre formulation de la classe de problèmes « N P » ! Ce sont les problèmes qui : acceptent, pour chaque instance, un nombre borné de candidats à être la solution, pour lesquels, la vérification qu’un candidat quelconque est solution appartient à « P  ». L'oracle choisit une solution parmi tous les candidats ! ! ! 9 janvier 2006 Cours d'algorithmique 11 / Intranet

71 Autre formulation de la classe de problèmes « N P » !
N P – complétude Autre formulation de la classe de problèmes « N P » ! Ce sont les problèmes qui : acceptent, pour chaque instance, un nombre borné de candidats à être la solution, pour lesquels, la vérification qu’un candidat quelconque est solution appartient à « P  ». L'oracle choisit une solution parmi tous les candidats ! ! ! En temps raisonnable : 9 janvier 2006 Cours d'algorithmique 11 / Intranet

72 Vous vérifiez qu'il n'y a pas arnaque !
N P – complétude Autre formulation de la classe de problèmes « N P » ! Ce sont les problèmes qui : acceptent, pour chaque instance, un nombre borné de candidats à être la solution, pour lesquels, la vérification qu’un candidat quelconque est solution appartient à « P  ». L'oracle choisit une solution parmi tous les candidats ! ! ! En temps raisonnable : Vous vérifiez qu'il n'y a pas arnaque ! 9 janvier 2006 Cours d'algorithmique 11 / Intranet

73 Cours d'algorithmique 11 / Intranet
N P – complétude Théorème : P N P U 9 janvier 2006 Cours d'algorithmique 11 / Intranet

74 Cours d'algorithmique 11 / Intranet
N P – complétude Théorème : P N P U N P P 9 janvier 2006 Cours d'algorithmique 11 / Intranet

75 Cours d'algorithmique 11 / Intranet
N P – complétude Théorème : P N P U N P P ? ? P = N P c’est-à-dire N P \ P = o | 9 janvier 2006 Cours d'algorithmique 11 / Intranet

76 Cours d'algorithmique 11 / Intranet
N P – complétude Théorème : P N P U N P ? ? ? ? ? P ? ? P = N P c’est-à-dire N P \ P = o | 9 janvier 2006 Cours d'algorithmique 11 / Intranet

77 Cours d'algorithmique 11 / Intranet
N P – complétude Théorème : P N P U N P TSP SAT SAT P TSP Où sont SAT et TSP ? 9 janvier 2006 Cours d'algorithmique 11 / Intranet

78 Cours d'algorithmique 11 / Intranet
N P – complétude Définissons la classe « N P C  », c’est-à-dire les problèmes « N-P-complets » : N P P 9 janvier 2006 Cours d'algorithmique 11 / Intranet

79 Cours d'algorithmique 11 / Intranet
N P – complétude Définissons la classe « N P C  », c’est-à-dire les problèmes « N-P-complets » : N P C N P P 9 janvier 2006 Cours d'algorithmique 11 / Intranet

80 Cours d'algorithmique 11 / Intranet
N P – complétude Définissons la classe « N P C  », c’est-à-dire les problèmes « N-P-complets » : Difficile. N P C N P P Facile. 9 janvier 2006 Cours d'algorithmique 11 / Intranet

81 Cours d'algorithmique 11 / Intranet
N P – complétude Définissons la classe « N P C  », c’est-à-dire les problèmes « N-P-complets » : Difficile. N P C N P P Facile. Ce seront les problèmes les plus difficiles de « N P » ! 9 janvier 2006 Cours d'algorithmique 11 / Intranet

82 Cours d'algorithmique 11 / Intranet
N P – complétude Définissons la classe « N P C  », c’est-à-dire les problèmes « N-P-complets » : Difficile. N P C N P P Facile. Ce seront les problèmes les plus difficiles de « N P » ! L’idée : Si eux sont dans « P », alors « P = N P » ! ! ! 9 janvier 2006 Cours d'algorithmique 11 / Intranet

83 Cours d'algorithmique 11 / Intranet
N P – complétude Définissons la classe « N P C  », c’est-à-dire les problèmes « N-P-complets » : Difficile. N P C N P P Facile. Ce seront les problèmes les plus difficiles de « N P » ! L’idée : Si eux sont dans « P », alors « P = N P N P C » ! ! ! U 9 janvier 2006 Cours d'algorithmique 11 / Intranet

84 Cours d'algorithmique 11 / Intranet
N P – complétude Il nous faut une notion de traduction ! Soit un problème P : D -> BOOL 1 1 2 2 9 janvier 2006 Cours d'algorithmique 11 / Intranet

85 Cours d'algorithmique 11 / Intranet
N P – complétude Il nous faut une notion de traduction ! Soit un problème P : D -> BOOL P se réduit en P , noté P <= P , si et seulement si : 1 1 2 2 1 2 1 2 9 janvier 2006 Cours d'algorithmique 11 / Intranet

86 Cours d'algorithmique 11 / Intranet
N P – complétude Il nous faut une notion de traduction ! Soit un problème P : D -> BOOL P se réduit en P , noté P <= P , si et seulement si : il existe f : D -> D 1 1 2 2 1 2 1 2 1 2 9 janvier 2006 Cours d'algorithmique 11 / Intranet

87 Cours d'algorithmique 11 / Intranet
N P – complétude Il nous faut une notion de traduction ! Soit un problème P : D -> BOOL P se réduit en P , noté P <= P , si et seulement si : il existe f : D -> D telle que pour tout x e D : P ( x ) = P ( f ( x ) ) 1 1 2 2 1 2 1 2 1 2 1 1 2 9 janvier 2006 Cours d'algorithmique 11 / Intranet

88 Cours d'algorithmique 11 / Intranet
N P – complétude L’idée derrière la traduction : P 1 x 9 janvier 2006 Cours d'algorithmique 11 / Intranet

89 Cours d'algorithmique 11 / Intranet
N P – complétude L’idée derrière la traduction : P 1 Calcul ! x Vrai ou Faux 9 janvier 2006 Cours d'algorithmique 11 / Intranet

90 Cours d'algorithmique 11 / Intranet
N P – complétude L’idée derrière la traduction : P 1 Calcul ! x Vrai ou Faux Traduction ! P 2 f ( x ) 9 janvier 2006 Cours d'algorithmique 11 / Intranet

91 Cours d'algorithmique 11 / Intranet
N P – complétude L’idée derrière la traduction : P 1 Calcul ! x Vrai ou Faux Traduction ! P 2 Calcul ! f ( x ) Vrai ou Faux 9 janvier 2006 Cours d'algorithmique 11 / Intranet

92 Cours d'algorithmique 11 / Intranet
N P – complétude L’idée derrière la traduction : P 1 Calcul ! x Vrai ou Faux Le même résultat ! Traduction ! P 2 Calcul ! f ( x ) Vrai ou Faux 9 janvier 2006 Cours d'algorithmique 11 / Intranet

93 Cours d'algorithmique 11 / Intranet
N P – complétude Un exemple : Les booléens : Vrai Faux et ou not Les entiers : * max ( 1 - _ ) 9 janvier 2006 Cours d'algorithmique 11 / Intranet

94 Cours d'algorithmique 11 / Intranet
N P – complétude Un exemple : Les booléens : Vrai Faux et ou not Les entiers : * max ( 1 - _ ) f : 9 janvier 2006 Cours d'algorithmique 11 / Intranet

95 Cours d'algorithmique 11 / Intranet
N P – complétude Un exemple : Les booléens : Vrai Faux et ou not Les entiers : * max ( 1 - _ ) Théorème : F = Vrai si et seulement si f ( F ) = 1 f : BOOL BOOL 9 janvier 2006 Cours d'algorithmique 11 / Intranet

96 Vrai et ( Faux ou not ( Faux ) ) = Vrai
N P – complétude Vrai et ( Faux ou not ( Faux ) ) = Vrai Un exemple : Les booléens : Vrai Faux et ou not Les entiers : * max ( 1 - _ ) Théorème : F = Vrai si et seulement si f ( F ) = 1 f : BOOL BOOL 9 janvier 2006 Cours d'algorithmique 11 / Intranet

97 Vrai et ( Faux ou not ( Faux ) ) = Vrai
N P – complétude Vrai et ( Faux ou not ( Faux ) ) = Vrai Un exemple : Les booléens : Vrai Faux et ou not Les entiers : * max ( 1 - _ ) Théorème : F = Vrai si et seulement si f ( F ) = 1 f : 1 * ( 0 max ( ) ) = 1 BOOL BOOL 9 janvier 2006 Cours d'algorithmique 11 / Intranet

98 Cours d'algorithmique 11 / Intranet
N P – complétude Si P <= P et que A résout P : 1 2 2 2 9 janvier 2006 Cours d'algorithmique 11 / Intranet

99 Cours d'algorithmique 11 / Intranet
N P – complétude Si P <= P et que A résout P : 1 2 2 2 A 2 y P ( y ) 2 9 janvier 2006 Cours d'algorithmique 11 / Intranet

100 Cours d'algorithmique 11 / Intranet
N P – complétude Si P <= P et que A résout P : 1 2 2 2 x f ( x ) P ( f ( x ) ) 2 A f 2 y P ( y ) 2 9 janvier 2006 Cours d'algorithmique 11 / Intranet

101 Cours d'algorithmique 11 / Intranet
N P – complétude Si P <= P et que A résout P : 1 2 2 2 Par définition ! x x f ( x ) P ( f ( x ) ) = P ( x ) 2 1 A f 2 y P ( y ) 2 9 janvier 2006 Cours d'algorithmique 11 / Intranet

102 Cours d'algorithmique 11 / Intranet
N P – complétude Si P <= P et que A résout P : 1 2 2 2 x x f ( x ) P ( f ( x ) ) P ( x ) 2 1 A f 2 y P ( y ) 2 9 janvier 2006 Cours d'algorithmique 11 / Intranet

103 Cours d'algorithmique 11 / Intranet
N P – complétude Si P <= P et que A résout P : 1 2 2 2 x x f ( x ) P ( f ( x ) ) P ( x ) 2 1 A f 2 y P ( y ) 2 9 janvier 2006 Cours d'algorithmique 11 / Intranet

104 Cours d'algorithmique 11 / Intranet
N P – complétude Si P <= P et que A résout P : 1 2 2 2 x x f ( x ) P ( f ( x ) ) P ( x ) 2 1 A 2 A f 1 y P ( y ) 2 9 janvier 2006 Cours d'algorithmique 11 / Intranet

105 Cours d'algorithmique 11 / Intranet
N P – complétude Si P <= P et que A résout P : Complexité : Si f e P et A e P , alors A e P ! 1 2 2 2 x x f ( x ) P ( f ( x ) ) P ( x ) 2 1 A 2 A f 1 y P ( y ) 2 2 1 9 janvier 2006 Cours d'algorithmique 11 / Intranet

106 Cours d'algorithmique 11 / Intranet
N P – complétude Il nous faut une réduction en temps raisonnable ! P se réduit polynômialement en P , noté P <= P , si et seulement si : il existe f : D -> D avec f e P telle que pour tout x e D : P ( x ) = P ( f ( x ) ) 1 2 1 2 P 1 2 1 1 2 9 janvier 2006 Cours d'algorithmique 11 / Intranet

107 Cours d'algorithmique 11 / Intranet
N P – complétude Il nous faut une réduction en temps raisonnable ! P se réduit polynômialement en P , noté P <= P , si et seulement si : il existe f : D -> D avec f e P telle que pour tout x e D : P ( x ) = P ( f ( x ) ) <= est un pré-ordre : réflexitivité, transitivité, OK. Non anti-symétrique : P <= P et P <= P , mais P = P 1 2 1 2 P 1 2 1 1 2 P P P 1 2 2 1 / 9 janvier 2006 Cours d'algorithmique 11 / Intranet 1 2

108 Cours d'algorithmique 11 / Intranet
N P – complétude Théorème : Soient P et P avec P <= P : Si P e P alors P e P . 1 2 1 2 P 2 1 / / 1 2 9 janvier 2006 Cours d'algorithmique 11 / Intranet

109 Cours d'algorithmique 11 / Intranet
N P – complétude Théorème : Soient P et P avec P <= P : Si P e P alors P e P . Donc, P est au moins aussi difficile que P . 1 2 1 2 P 2 1 / / 1 2 2 1 9 janvier 2006 Cours d'algorithmique 11 / Intranet

110 Cours d'algorithmique 11 / Intranet
N P – complétude Théorème : Soient P et P avec P <= P : Si P e P alors P e P . Donc, P est au moins aussi difficile que P . Preuve (première condition) : Si P e P alors il existe A pour le résoudre de manière déterministe et en temps polynômial ! Il suffit de composer A avec la fonction de traduction f . 1 2 1 2 P 2 1 / / 1 2 2 1 2 2 2 9 janvier 2006 Cours d'algorithmique 11 / Intranet

111 Cours d'algorithmique 11 / Intranet
N P – complétude Théorème : Soient P et P avec P <= P : Si P e P alors P e P . Donc, P est au moins aussi difficile que P . Preuve (seconde condition) : Par absurde : Il n’est pas possible que P e P et que P e P . Il existerait A dans P pour résoudre P et il suffirait de composer A avec la fonction de traduction f . . . 1 2 1 2 P 2 1 / / 1 2 2 1 / 1 2 2 2 2 9 janvier 2006 Cours d'algorithmique 11 / Intranet

112 Cours d'algorithmique 11 / Intranet
N P – complétude Définition : La classe « N P C » est la classe des problèmes P tels que : P e N P . Pour tout Q e N P on a : Q <= P . P 9 janvier 2006 Cours d'algorithmique 11 / Intranet

113 Cours d'algorithmique 11 / Intranet
N P – complétude Définition : La classe « N P C » est la classe des problèmes P tels que : P e N P . Pour tout Q e N P on a : Q <= P . Tout le monde se réduit vers P . P 9 janvier 2006 Cours d'algorithmique 11 / Intranet

114 Cours d'algorithmique 11 / Intranet
N P – complétude Définition : La classe « N P C » est la classe des problèmes P tels que : P e N P . Pour tout Q e N P on a : Q <= P . Tout le monde se réduit vers P . P est donc le plus difficile ! ! ! P 9 janvier 2006 Cours d'algorithmique 11 / Intranet

115 Cours d'algorithmique 11 / Intranet
N P – complétude Définition : La classe « N P C » est la classe des problèmes P tels que : P e N P . Pour tout Q e N P on a : Q <= P . Tout le monde se réduit vers P . P est donc le plus difficile ! ! ! Si P , P’ e N P C , alors il sont « ex aequo » en difficulté : P <= P’ et P’ <= P . P P P 9 janvier 2006 Cours d'algorithmique 11 / Intranet

116 Cours d'algorithmique 11 / Intranet
N P – complétude Schématiquement : N P C P P’ N P 9 janvier 2006 Cours d'algorithmique 11 / Intranet

117 Cours d'algorithmique 11 / Intranet
N P – complétude Schématiquement : <= P N P C P P’ N P >= P 9 janvier 2006 Cours d'algorithmique 11 / Intranet

118 Cours d'algorithmique 11 / Intranet
N P – complétude Schématiquement : <= P N P C P P’ N P >= P <= P A 9 janvier 2006 Cours d'algorithmique 11 / Intranet

119 Cours d'algorithmique 11 / Intranet
N P – complétude Schématiquement : <= P N P C P P’ N P >= P >= P <= P A B 9 janvier 2006 Cours d'algorithmique 11 / Intranet

120 Cours d'algorithmique 11 / Intranet
N P – complétude Schématiquement : <= P N P C P P’ N P >= P >= P <= P A B <= P C 9 janvier 2006 Cours d'algorithmique 11 / Intranet

121 Cours d'algorithmique 11 / Intranet
N P – complétude Schématiquement : Globalement, il suffit de savoir résoudre un seul problème, P par exemple, et de traduire tous les autres vers P . <= P N P C P P’ N P >= P >= P <= P A B <= P C 9 janvier 2006 Cours d'algorithmique 11 / Intranet

122 "P" est un problème universel ! ! !
N P – complétude Schématiquement : Globalement, il suffit de savoir résoudre un seul problème, P par exemple, et de traduire tous les autres vers P . <= P N P C P P’ N P >= Autrement dit, "P" est un problème universel ! ! ! P >= P <= P A B <= P C 9 janvier 2006 Cours d'algorithmique 11 / Intranet

123 Cours d'algorithmique 11 / Intranet
N P – complétude Et si « N P C » était vide ? ? ? C’est-à-dire, un tel problème universel n’existe pas ! ! ! 9 janvier 2006 Cours d'algorithmique 11 / Intranet

124 Cours d'algorithmique 11 / Intranet
N P – complétude Et si « N P C » était vide ? ? ? C’est-à-dire, un tel problème universel n’existe pas ! ! ! Théorème (Cook, 1971) : SAT e N P C . 9 janvier 2006 Cours d'algorithmique 11 / Intranet

125 Cours d'algorithmique 11 / Intranet
N P – complétude Et si « N P C » était vide ? ? ? C’est-à-dire, un tel problème universel n’existe pas ! ! ! Théorème (Cook, 1971) : SAT e N P C . Il n’y a pas plus difficile (dans N P C) que la logique. 9 janvier 2006 Cours d'algorithmique 11 / Intranet

126 Cours d'algorithmique 11 / Intranet
N P – complétude Et si « N P C » était vide ? ? ? C’est-à-dire, un tel problème universel n’existe pas ! ! ! Théorème (Cook, 1971) : SAT e N P C . Il n’y a pas plus difficile (dans N P C) que la logique. Principe de la preuve : Tout problème dans « N P » peut être traduit en une formule logique. 9 janvier 2006 Cours d'algorithmique 11 / Intranet

127 Cours d'algorithmique 11 / Intranet
N P – complétude Et si « N P C » était vide ? ? ? C’est-à-dire, un tel problème universel n’existe pas ! ! ! Théorème (Cook, 1971) : SAT e N P C . Il n’y a pas plus difficile (dans N P C) que la logique. Principe de la preuve : Tout problème dans « N P » peut être traduit en une formule logique. Analogie : Tout texte peut être traduit en une formule alphabétique. 9 janvier 2006 Cours d'algorithmique 11 / Intranet

128 Cours d'algorithmique 11 / Intranet
N P – complétude Conséquences : S’il existe un seul problème P e N P C pour lequel on trouve un algorithme en temps polynômial et déterministe, alors P = N P ! 9 janvier 2006 Cours d'algorithmique 11 / Intranet

129 Le problème universel est facile !
N P – complétude Conséquences : S’il existe un seul problème P e N P C pour lequel on trouve un algorithme en temps polynômial et déterministe, alors P = N P ! Le problème universel est facile ! 9 janvier 2006 Cours d'algorithmique 11 / Intranet

130 Le problème universel est facile !
N P – complétude Conséquences : S’il existe un seul problème P e N P C pour lequel on trouve un algorithme en temps polynômial et déterministe, alors P = N P ! Le problème universel est facile ! Personne n'a trouvé ! ! ! 9 janvier 2006 Cours d'algorithmique 11 / Intranet

131 Le problème universel est facile !
N P – complétude Conséquences : S’il existe un seul problème P e N P C pour lequel on trouve un algorithme en temps polynômial et déterministe, alors P = N P ! pour lequel on prouve qu’un algorithme en temps polynômial et déterministe ne peut pas exister, Le problème universel est facile ! Personne n'a trouvé ! ! ! / 9 janvier 2006 Cours d'algorithmique 11 / Intranet

132 N P – complétude -----------------------------------------------------------------
Conséquences : S’il existe un seul problème P e N P C pour lequel on trouve un algorithme en temps polynômial et déterministe, alors P = N P ! pour lequel on prouve qu’un algorithme en temps polynômial et déterministe ne peut pas exister, Le problème universel est facile ! Personne n'a trouvé ! ! ! / Le problème universel est difficile ! 9 janvier 2006 Cours d'algorithmique 11 / Intranet

133 Personne n'a trouvé ! ! ! Personne n'a prouvé ! ! !
N P – complétude Conséquences : S’il existe un seul problème P e N P C pour lequel on trouve un algorithme en temps polynômial et déterministe, alors P = N P ! pour lequel on prouve qu’un algorithme en temps polynômial et déterministe ne peut pas exister, Le problème universel est facile ! Personne n'a trouvé ! ! ! Personne n'a prouvé ! ! ! / Le problème universel est difficile ! 9 janvier 2006 Cours d'algorithmique 11 / Intranet

134 Cours d'algorithmique 11 / Intranet
N P – complétude Concrètement : Vous avez un problème qui vous résiste ! 9 janvier 2006 Cours d'algorithmique 11 / Intranet

135 Cours d'algorithmique 11 / Intranet
N P – complétude Concrètement : Vous avez un problème qui vous résiste ! Essayez de savoir s’il est N-P-complet ! le Garey and Johnson, ou Internet, ou prouvez-le vous-même. 9 janvier 2006 Cours d'algorithmique 11 / Intranet

136 Cours d'algorithmique 11 / Intranet
N P – complétude Concrètement : Vous avez un problème qui vous résiste ! Essayez de savoir s’il est N-P-complet ! le Garey and Johnson, ou Internet, ou prouvez-le vous-même. Comment faire ? 9 janvier 2006 Cours d'algorithmique 11 / Intranet

137 Cours d'algorithmique 11 / Intranet
N P – complétude Concrètement : Vous avez un problème qui vous résiste ! Essayez de savoir s’il est N-P-complet ! le Garey and Johnson, ou Internet, ou prouvez-le vous-même. Comment faire ? Prouvez que votre problème P est dans N P et 9 janvier 2006 Cours d'algorithmique 11 / Intranet

138 Cours d'algorithmique 11 / Intranet
N P – complétude Concrètement : Vous avez un problème qui vous résiste ! Essayez de savoir s’il est N-P-complet ! le Garey and Johnson, ou Internet, ou prouvez-le vous-même. Comment faire ? Prouvez que votre problème P est dans N P et prenez un problème A de N P C et montrez que A <= P P 9 janvier 2006 Cours d'algorithmique 11 / Intranet

139 Cours d'algorithmique 11 / Intranet
N P – complétude Concrètement : Si, par malheur, il l’est . . . 9 janvier 2006 Cours d'algorithmique 11 / Intranet

140 Cours d'algorithmique 11 / Intranet
N P – complétude Concrètement : Si, par malheur, il l’est . . . Est-ce que j’ai vraiment besoin de ce résultat ? 9 janvier 2006 Cours d'algorithmique 11 / Intranet

141 Cours d'algorithmique 11 / Intranet
N P – complétude Concrètement : Si, par malheur, il l’est . . . Est-ce que j’ai vraiment besoin de ce résultat ? Si oui . . . Est-ce que mon instance est par chance suffisamment petite ? 9 janvier 2006 Cours d'algorithmique 11 / Intranet

142 Cours d'algorithmique 11 / Intranet
N P – complétude Concrètement : Si, par malheur, il l’est . . . Est-ce que j’ai vraiment besoin de ce résultat ? Si oui . . . Est-ce que mon instance est par chance suffisamment petite ? Est-ce que je peux me contenter d’un résultat approché ? L’idée derrière le résultat approché : Il est peut-être pas loin d’être optimal ( par exemple à 5% de l’optimum ), mais il est dans « P » ( par exemple en n^2 ) . 9 janvier 2006 Cours d'algorithmique 11 / Intranet

143 Cours d'algorithmique 11 / Intranet
N P – complétude Quelques problèmes de « N P C » ! SAT « n » variables logiques et une formule « F » construite sur ces variables à l’aide de et , ou ou not . La question : F peut-elle prendre la valeur Vrai pour un choix adéquat des valeurs des variables ? 9 janvier 2006 Cours d'algorithmique 11 / Intranet

144 Cours d'algorithmique 11 / Intranet
N P – complétude Quelques problèmes de « N P C » ! SAT « n » variables logiques et une formule « F » construite sur ces variables à l’aide de et , ou ou not . La question : F peut-elle prendre la valeur Vrai pour un choix adéquat des valeurs des variables ? 3-SAT « n » variables logiques et une formule « F » en forme normale conjonctive avec 3 littéraux par disjonction. Exemple : ( x v x v ù x ) ( x v ù x v ù x ) Même question ! v 1 3 5 3 2 4 9 janvier 2006 Cours d'algorithmique 11 / Intranet

145 Cours d'algorithmique 11 / Intranet
N P – complétude Quelques problèmes de « N P C » ! SAT « n » variables logiques et une formule « F » construite sur ces variables à l’aide de et , ou ou not . La question : F peut-elle prendre la valeur Vrai pour un choix adéquat des valeurs des variables ? 3-SAT « n » variables logiques et une formule « F » en forme normale conjonctive avec 3 littéraux par disjonction. Exemple : ( x v x v ù x ) ( x v ù x v ù x ) Même question ! 2-SAT e P v 1 3 5 3 2 4 9 janvier 2006 Cours d'algorithmique 11 / Intranet

146 Cours d'algorithmique 11 / Intranet
N P – complétude Quelques problèmes de « N P C » ! SAT « n » variables logiques et une formule « F » construite sur ces variables à l’aide de et , ou ou not . La question : F peut-elle prendre la valeur Vrai pour un choix adéquat des valeurs des variables ? 3-SAT « n » variables logiques et une formule « F » en forme normale conjonctive avec 3 littéraux par disjonction. Exemple : ( x v x v ù x ) ( x v ù x v ù x ) Même question ! 2-SAT e P v 1 3 5 3 2 4 Attention ! 9 janvier 2006 Cours d'algorithmique 11 / Intranet

147 Cours d'algorithmique 11 / Intranet
N P – complétude Quelques problèmes de « N P C » ! Circuit-SAT « n » variables logiques et un circuit logique construit à partir des circuits de base et , ou ou not . La question : Le circuit peut-il rendre la valeur Vrai pour un choix adéquat des valeurs des variables ? 9 janvier 2006 Cours d'algorithmique 11 / Intranet

148 Cours d'algorithmique 11 / Intranet
N P – complétude Quelques problèmes de « N P C » ! Circuit-SAT « n » variables logiques et un circuit logique construit à partir des circuits de base et , ou ou not . La question : Le circuit peut-il rendre la valeur Vrai pour un choix adéquat des valeurs des variables ? Exemple de réduction : Admettons que 3-SAT soit connu pour appartenir à « N P C ». Démontrons que Circuit-SAT appartient aussi à « N P C » ! 9 janvier 2006 Cours d'algorithmique 11 / Intranet

149 Cours d'algorithmique 11 / Intranet
N P – complétude La réduction : Variable 3-SAT -> variable Circuit-SAT. 9 janvier 2006 Cours d'algorithmique 11 / Intranet

150 Cours d'algorithmique 11 / Intranet
N P – complétude La réduction : Variable 3-SAT -> variable Circuit-SAT. ù x -> x 9 janvier 2006 Cours d'algorithmique 11 / Intranet

151 Cours d'algorithmique 11 / Intranet
N P – complétude La réduction : Variable 3-SAT -> variable Circuit-SAT. ù x -> x ( a v b v c ) -> a b c 9 janvier 2006 Cours d'algorithmique 11 / Intranet

152 Cours d'algorithmique 11 / Intranet
N P – complétude La réduction : Variable 3-SAT -> variable Circuit-SAT. ù x -> x ( a v b v c ) -> a b c ( a b z ) -> a z v v v . . . 9 janvier 2006 Cours d'algorithmique 11 / Intranet

153 Cours d'algorithmique 11 / Intranet
N P – complétude La réduction : Variable 3-SAT -> variable Circuit-SAT. ù x -> x ( a v b v c ) -> a b c ( a b z ) -> a z L'équivalence est évidente ! v v v . . . 9 janvier 2006 Cours d'algorithmique 11 / Intranet

154 Cours d'algorithmique 11 / Intranet
N P – complétude La réduction : Variable 3-SAT -> variable Circuit-SAT. ù x -> x ( a v b v c ) -> a b c ( a b z ) -> a z L'équivalence est évidente ! La réduction est dans P ! v v v . . . 9 janvier 2006 Cours d'algorithmique 11 / Intranet

155 Cours d'algorithmique 11 / Intranet
N P – complétude Quelques problèmes de « N P C » ! Subset-Sum Un ensemble E de « n » entiers naturels et une constante s . La question : Existe-il un sous-ensemble I de E tel que la somme des éléments de I soit égale à s ? 9 janvier 2006 Cours d'algorithmique 11 / Intranet

156 Cours d'algorithmique 11 / Intranet
N P – complétude Quelques problèmes de « N P C » ! Subset-Sum Un ensemble E de « n » entiers naturels et une constante s . La question : Existe-il un sous-ensemble I de E tel que la somme des éléments de I soit égale à s ? Set-Partition Un ensemble E de « n » entiers naturels. La question : Existe-il un sous-ensemble I de E tel que la somme des éléments de I soit égale à la somme des éléments de l’ensemble complémentaire ? 9 janvier 2006 Cours d'algorithmique 11 / Intranet

157 Cours d'algorithmique 11 / Intranet
N P – complétude Quelques problèmes de « N P C » ! Programmation entière Une matrice entière M et un vecteur entier b . La question : Existe-il un vecteur x tel que M * x <= b ? 9 janvier 2006 Cours d'algorithmique 11 / Intranet

158 Cours d'algorithmique 11 / Intranet
N P – complétude Quelques problèmes de « N P C » ! Programmation entière Une matrice entière M et un vecteur entier b . La question : Existe-il un vecteur x tel que M * x <= b ? Programmation entière en 0 - 1 La question : Existe-il un vecteur x avec des valeurs 0 ou 1 tel que M * x <= b ? 9 janvier 2006 Cours d'algorithmique 11 / Intranet

159 Cours d'algorithmique 11 / Intranet
N P – complétude Quelques problèmes de « N P C » ! Programmation entière Une matrice entière M et un vecteur entier b . La question : Existe-il un vecteur x tel que M * x <= b ? Programmation entière en 0 - 1 La question : Existe-il un vecteur x avec des valeurs 0 ou 1 tel que M * x <= b ? Et des milliers d’autres 9 janvier 2006 Cours d'algorithmique 11 / Intranet

160 Cours d'algorithmique 11 / Intranet
Synthèse N P-complétude : 9 janvier 2006 Cours d'algorithmique 11 / Intranet

161 Très probablement P = N P ! ! ! Malheureusement ! ! ! /
Synthèse N P-complétude : Très probablement P = N P ! ! ! Malheureusement ! ! ! / 9 janvier 2006 Cours d'algorithmique 11 / Intranet

162 Cours d'algorithmique 11 / Intranet
m E r C i e T b O n N e J o U r N é E ! ! ! n ‘ O u B l I e Z p A s D e p R é P a R e R v O s T D ! ! ! 9 janvier 2006 Cours d'algorithmique 11 / Intranet


Télécharger ppt "Cours d’Algorithmique"

Présentations similaires


Annonces Google