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 11 / Intranet 1 9 janvier 2006 Cours dAlgorithmique N P - complétude.

Présentations similaires


Présentation au sujet: "Cours d'algorithmique 11 / Intranet 1 9 janvier 2006 Cours dAlgorithmique N P - complétude."— Transcription de la présentation:

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

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

3 9 janvier 2006Cours d'algorithmique 11 / Intranet3 Le problème Nous avons vu le « action selection problem » : 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.

4 9 janvier 2006Cours d'algorithmique 11 / Intranet4 Le problème Nous avons vu le « action selection problem » : 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 dune formule logique » : Nous avons vu la « satisfaction dune formule logique » :

5 9 janvier 2006Cours d'algorithmique 11 / Intranet5 Le problème Nous avons vu le « action selection problem » : 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 dune formule logique » : Nous avons vu la « satisfaction dune formule logique » : – en back-track avec une complexité exponentielle, (équivalant au parcours de la table de vérité), (équivalant au parcours de la table de vérité),

6 9 janvier 2006Cours d'algorithmique 11 / Intranet6 Le problème Nous avons vu le « action selection problem » : 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 dune formule logique » : Nous avons vu la « satisfaction dune formule logique » : – en back-track avec une complexité exponentielle, (équivalant au parcours de la table de vérité), (équivalant au parcours de la table de vérité), – et puis … ?

7 9 janvier 2006Cours d'algorithmique 11 / Intranet7 Le problème Nous avons vu le « action selection problem » : 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 dune formule logique » : Nous avons vu la « satisfaction dune formule logique » : – en back-track avec une complexité exponentielle, (équivalant au parcours de la table de vérité), (équivalant au parcours de la table de vérité), – et puis … ? – Rien ! ! !

8 9 janvier 2006Cours d'algorithmique 11 / Intranet8 Le problème Nous avons vu le « action selection problem » : 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 dune formule logique » : Nous avons vu la « satisfaction dune formule logique » : – en back-track avec une complexité exponentielle, (équivalant au parcours de la table de vérité), (équivalant au parcours de la table de vérité), – et puis … ? – Rien ! ! !

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

10 9 janvier 2006Cours d'algorithmique 11 / Intranet10 Le problème La question : La question : Y aurait-il par hasard des problèmes dont la complexité intrinsèque est exponentielle ? 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 ! Pour un tel problème, tout algorithme pour le résoudre serait exponentiel en temps !

11 9 janvier 2006Cours d'algorithmique 11 / Intranet11 Le problème La question : La question : Y aurait-il par hasard des problèmes dont la complexité intrinsèque est exponentielle ? 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 ! Pour un tel problème, tout algorithme pour le résoudre serait exponentiel en temps ! La réponse : La réponse : Probablement OUI ! Probablement OUI !

12 9 janvier 2006Cours d'algorithmique 11 / Intranet12 Le problème La question : La question : Y aurait-il par hasard des problèmes dont la complexité intrinsèque est exponentielle ? 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 ! Pour un tel problème, tout algorithme pour le résoudre serait exponentiel en temps ! La réponse : La réponse : Probablement OUI ! Probablement OUI ! Malheureusement ! ! ! Malheureusement ! ! !

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

29 9 janvier 2006Cours d'algorithmique 11 / Intranet29 Des exemples « SAT » est « N P –complet » : « SAT » est « N P –complet » : « n » variables logiques, « n » variables logiques, une formule logique construite sur ces variables à laide de et, ou et not. une formule logique construite sur ces variables à laide de et, ou et not.

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

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

32 9 janvier 2006Cours d'algorithmique 11 / Intranet32 Des exemples Attention : Attention : Parfois cest simple ! ! ! Parfois cest simple ! ! !

33 9 janvier 2006Cours d'algorithmique 11 / Intranet33 Des exemples Attention : Attention : Parfois cest simple ! ! ! Parfois cest simple ! ! ! a b... z a b... z a v (... ) a v (... ) vvv

34 9 janvier 2006Cours d'algorithmique 11 / Intranet34 Des exemples Attention : Attention : Parfois cest simple ! ! ! Parfois cest simple ! ! ! a b... z a b... z a v (... ) a v (... ) Mais, dans le cas général (cest-à-dire le plus souvent), Mais, dans le cas général (cest-à-dire le plus souvent), cest difficile ! ! ! vvv

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

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

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

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

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

40 9 janvier 2006Cours d'algorithmique 11 / Intranet40 N P – complétude La classe de problèmes « P » ! La classe de problèmes « P » ! Ce sont les problèmes qui acceptent un algorithme : 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.

41 9 janvier 2006Cours d'algorithmique 11 / Intranet41 N P – complétude La classe de problèmes « P » ! La classe de problèmes « P » ! Ce sont les problèmes qui acceptent un algorithme : 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 ny a aucun élément de chance ou dindication venant de lextérieur.

42 9 janvier 2006Cours d'algorithmique 11 / Intranet42 N P – complétude La classe de problèmes « P » ! La classe de problèmes « P » ! Ce sont les problèmes qui acceptent un algorithme : 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 ny a aucun élément de chance ou dindication venant de lextérieur. Aucune instance nest trop difficile.

43 9 janvier 2006Cours d'algorithmique 11 / Intranet43 N P – complétude La classe de problèmes « P » ! La classe de problèmes « P » ! Ce sont les problèmes qui acceptent un algorithme : 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 ny a aucun élément de chance ou dindication venant de lextérieur. Aucune instance nest trop difficile.

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

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

46 9 janvier 2006Cours d'algorithmique 11 / Intranet46 N P – complétude La classe de problèmes « N P » ! La classe de problèmes « N P » ! Ce sont les problèmes qui acceptent un algorithme : 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 lextérieur.

47 9 janvier 2006Cours d'algorithmique 11 / Intranet47 N P – complétude La classe de problèmes « N P » ! La classe de problèmes « N P » ! Ce sont les problèmes qui acceptent un algorithme : 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 lextérieur.

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

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

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

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

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

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

54 9 janvier 2006Cours d'algorithmique 11 / Intranet54 N P – complétude La classe de problèmes « N P » ! La classe de problèmes « N P » ! ICI ! Vous pouvez bien-sûr faire du back-track ! Mais, cest très, très coûteux ! ! ! ! ! !

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

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

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

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

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

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

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

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

63 9 janvier 2006Cours d'algorithmique 11 / Intranet63 N P – complétude Nous remplaçons une exploration à laide du back-track Nous remplaçons une exploration à laide du back-track – par un appel à loracle.

64 9 janvier 2006Cours d'algorithmique 11 / Intranet64 N P – complétude Nous remplaçons une exploration à laide du back-track Nous remplaçons une exploration à laide du back-track – par un appel à loracle. Loracle répond au bout de... ? Loracle répond au bout de... ?

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

85 9 janvier 2006Cours d'algorithmique 11 / Intranet85 N P – complétude Il nous faut une notion de traduction ! 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 : P se réduit en P, noté P <= P, si et seulement si :

86 9 janvier 2006Cours d'algorithmique 11 / Intranet86 N P – complétude Il nous faut une notion de traduction ! 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 : P se réduit en P, noté P <= P, si et seulement si : – il existe f : D - > D

87 9 janvier 2006Cours d'algorithmique 11 / Intranet87 N P – complétude Il nous faut une notion de traduction ! 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 : P se réduit en P, noté P <= P, si et seulement si : – il existe f : D - > D – telle que pour tout x D : P ( x ) = P ( f ( x ) ) P ( x ) = P ( f ( x ) )

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

127 9 janvier 2006Cours d'algorithmique 11 / Intranet127 N P – complétude Et si « N P C » était vide ? ? ? Et si « N P C » était vide ? ? ? – Cest-à-dire, un tel problème universel nexiste pas ! ! ! Théorème (Cook, 1971) : Théorème (Cook, 1971) : – SAT N P C. Il ny a pas plus difficile (dans N P C) que la logique. Il ny a pas plus difficile (dans N P C) que la logique. Principe de la preuve : 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.

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

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

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

131 9 janvier 2006Cours d'algorithmique 11 / Intranet131 N P – complétude Conséquences : Conséquences : Sil existe un seul problème P N P C Sil existe un seul problème P N P C – pour lequel on trouve un algorithme en temps polynômial et déterministe, – alors P = N P ! Sil existe un seul problème P N P C Sil existe un seul problème P N P C – pour lequel on prouve quun algorithme en temps polynômial et déterministe ne peut pas exister, – alors P = N P ! /

132 9 janvier 2006Cours d'algorithmique 11 / Intranet132 N P – complétude Conséquences : Conséquences : Sil existe un seul problème P N P C Sil existe un seul problème P N P C – pour lequel on trouve un algorithme en temps polynômial et déterministe, – alors P = N P ! Sil existe un seul problème P N P C Sil existe un seul problème P N P C – pour lequel on prouve quun algorithme en temps polynômial et déterministe ne peut pas exister, – alors P = N P ! /

133 9 janvier 2006Cours d'algorithmique 11 / Intranet133 N P – complétude Conséquences : Conséquences : Sil existe un seul problème P N P C Sil existe un seul problème P N P C – pour lequel on trouve un algorithme en temps polynômial et déterministe, – alors P = N P ! Sil existe un seul problème P N P C Sil existe un seul problème P N P C – pour lequel on prouve quun algorithme en temps polynômial et déterministe ne peut pas exister, – alors P = N P ! /

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

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

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

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

138 9 janvier 2006Cours d'algorithmique 11 / Intranet138 N P – complétude Concrètement : Concrètement : Vous avez un problème qui vous résiste ! Vous avez un problème qui vous résiste ! Essayez de savoir sil est N - P - complet ! Essayez de savoir sil est N - P - complet ! – le Garey and Johnson, – ou Internet, – ou prouvez-le vous-même. Comment faire ? 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

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

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

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

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

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

144 9 janvier 2006Cours d'algorithmique 11 / Intranet144 N P – complétude Quelques problèmes de « N P C » ! Quelques problèmes de « N P C » ! SAT SAT – « n » variables logiques et une formule « F » construite sur ces variables à laide 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 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 ) Exemple : ( x v x v x ) ( x v x v x ) – Même question ! v

145 9 janvier 2006Cours d'algorithmique 11 / Intranet145 N P – complétude Quelques problèmes de « N P C » ! Quelques problèmes de « N P C » ! SAT SAT – « n » variables logiques et une formule « F » construite sur ces variables à laide 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 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 ) Exemple : ( x v x v x ) ( x v x v x ) – Même question ! 2-SAT P 2-SAT P v

146 9 janvier 2006Cours d'algorithmique 11 / Intranet146 N P – complétude Quelques problèmes de « N P C » ! Quelques problèmes de « N P C » ! SAT SAT – « n » variables logiques et une formule « F » construite sur ces variables à laide 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 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 ) Exemple : ( x v x v x ) ( x v x v x ) – Même question ! 2-SAT P 2-SAT P v

147 9 janvier 2006Cours d'algorithmique 11 / Intranet147 N P – complétude Quelques problèmes de « N P C » ! Quelques problèmes de « N P C » ! Circuit-SAT 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 ?

148 9 janvier 2006Cours d'algorithmique 11 / Intranet148 N P – complétude Quelques problèmes de « N P C » ! Quelques problèmes de « N P C » ! Circuit-SAT 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 : 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 » !

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

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

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

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

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

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

155 9 janvier 2006Cours d'algorithmique 11 / Intranet155 N P – complétude Quelques problèmes de « N P C » ! Quelques problèmes de « N P C » ! Subset-Sum 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 ?

156 9 janvier 2006Cours d'algorithmique 11 / Intranet156 N P – complétude Quelques problèmes de « N P C » ! Quelques problèmes de « N P C » ! Subset-Sum 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 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 lensemble complémentaire ?

157 9 janvier 2006Cours d'algorithmique 11 / Intranet157 N P – complétude Quelques problèmes de « N P C » ! Quelques problèmes de « N P C » ! Programmation entière 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 ?

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

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

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

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

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


Télécharger ppt "Cours d'algorithmique 11 / Intranet 1 9 janvier 2006 Cours dAlgorithmique N P - complétude."

Présentations similaires


Annonces Google