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

16 mars 2007Cours de graphes 7 - Intranet1 Cours de graphes Problèmes NP-complets. Réductions polynômiales.

Présentations similaires


Présentation au sujet: "16 mars 2007Cours de graphes 7 - Intranet1 Cours de graphes Problèmes NP-complets. Réductions polynômiales."— Transcription de la présentation:

1 16 mars 2007Cours de graphes 7 - Intranet1 Cours de graphes Problèmes NP-complets. Réductions polynômiales.

2 16 mars 2007Cours de graphes 7 - Intranet2 Les grandes lignes du cours Définitions de base Définitions de base Connexité Connexité Les plus courts chemins Les plus courts chemins Dijkstra et Bellmann-Ford Dijkstra et Bellmann-Ford Arbres Arbres Arbres de recouvrement minimaux Arbres de recouvrement minimaux Problèmes de flots Problèmes de flots Coloriage de graphes, graphes planaires Coloriage de graphes, graphes planaires Couplage Couplage Chemins dEuler et de Hamilton Chemins dEuler et de Hamilton Problèmes NP-complets Problèmes NP-complets

3 16 mars 2007Cours de graphes 7 - Intranet3 Rappels sur la NP - complétude ----------------------------------------------------------------- R A P P E L S S U R L A N P – C O M P L E T U D E

4 16 mars 2007Cours de graphes 7 - Intranet4 Rappels sur la NP - complétude ----------------------------------------------------------------- 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 /

5 16 mars 2007Cours de graphes 7 - Intranet5 Rappels sur la NP - 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.

6 16 mars 2007Cours de graphes 7 - Intranet6 Rappels sur la NP - 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.

7 16 mars 2007Cours de graphes 7 - Intranet7 Rappels sur la NP - complétude ----------------------------------------------------------------- Nous remplaçons une exploration à laide du back-trackNous 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 ! ! !

8 16 mars 2007Cours de graphes 7 - Intranet8 Rappels sur la NP - 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 ».

9 16 mars 2007Cours de graphes 7 - Intranet9 Rappels sur la NP - 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 / ? ? ? ? ? ? ?

10 16 mars 2007Cours de graphes 7 - Intranet10 Rappels sur la NP - 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.

11 16 mars 2007Cours de graphes 7 - Intranet11 Rappels sur la NP - 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 polynômialement en P, noté P <= PP se réduit polynômialement en P, noté P <= P si et seulement si : 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 ) ) 11 22 1122 1 2 1 1 2 P

12 16 mars 2007Cours de graphes 7 - Intranet12 Rappels sur la NP - 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 !

13 16 mars 2007Cours de graphes 7 - Intranet13 Rappels sur la NP - 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

14 16 mars 2007Cours de graphes 7 - Intranet14 Rappels sur la NP - 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.

15 16 mars 2007Cours de graphes 7 - Intranet15 Rappels sur la NP - complétude ----------------------------------------------------------------- N P P N P C SAT

16 16 mars 2007Cours de graphes 7 - Intranet16 Conséquences :Conséquences : Sil existe un seul problème P N P CSil 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 CSil 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 ! Rappels sur la NP - complétude ----------------------------------------------------------------- /

17 16 mars 2007Cours de graphes 7 - Intranet17 Rappels sur la NP - 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... Comment prouver quil est N - P - complet ? ? ?Comment prouver quil est N - P - complet ? ? ? –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 A <= P P On vous donne la solution et vous vérifiez que cen est bien une !

18 16 mars 2007Cours de graphes 7 - Intranet18 Réductions polynômiales ----------------------------------------------------------------- Q U E L Q U E S R E D U C T I O N S P O L Y N O M I A L E S

19 16 mars 2007Cours de graphes 7 - Intranet19 Réductions polynômiales ----------------------------------------------------------------- Nous construirons les réductions polynômiales suivantes :Nous construirons les réductions polynômiales suivantes :P SAT P CIRCUIT - SAT P 3 - SAT FNC SUBSET SUM CLIQUE VERTEX COVER P et VERTEX C. P P P SET PARTITION 0 - 1 LINEAR PROG.

20 16 mars 2007Cours de graphes 7 - Intranet20 Réductions polynômiales ----------------------------------------------------------------- Nous construirons les réductions polynômiales suivantes :Nous construirons les réductions polynômiales suivantes :P SAT P CIRCUIT - SAT P 3 - SAT FNC SUBSET SUM CLIQUE VERTEX COVER P et VERTEX C. P P P SET PARTITION 0 - 1 LINEAR PROG.

21 16 mars 2007Cours de graphes 7 - Intranet21 Réductions polynômiales ----------------------------------------------------------------- Nous construirons les réductions polynômiales suivantes :Nous construirons les réductions polynômiales suivantes :P SAT P CIRCUIT - SAT P 3 - SAT FNC SUBSET SUM CLIQUE VERTEX COVER P et VERTEX C. P P P SET PARTITION 0 - 1 LINEAR PROG.

22 16 mars 2007Cours de graphes 7 - Intranet22 Réductions polynômiales ----------------------------------------------------------------- Nous construirons les réductions polynômiales suivantes :Nous construirons les réductions polynômiales suivantes :P SAT P CIRCUIT - SAT P 3 - SAT FNC SUBSET SUM CLIQUE VERTEX COVER P et VERTEX C. P P P SET PARTITION 0 - 1 LINEAR PROG.

23 16 mars 2007Cours de graphes 7 - Intranet23 Réductions polynômiales ----------------------------------------------------------------- Nous construirons les réductions polynômiales suivantes :Nous construirons les réductions polynômiales suivantes :P SAT P CIRCUIT - SAT P 3 - SAT FNC SUBSET SUM CLIQUE VERTEX COVER P et VERTEX C. P P P SET PARTITION 0 - 1 LINEAR PROG.

24 16 mars 2007Cours de graphes 7 - Intranet24 SAT se réduit en CIRCUIT - SAT ----------------------------------------------------------------- CIRCUIT - SATCIRCUIT - 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 ? CIRCUIT - SAT est bien dans NP, car si on nous donne une solution nous sommes capables de vérifier que cen est bien une en temps polynômial et de façon déterministe !

25 16 mars 2007Cours de graphes 7 - Intranet25 SAT se réduit en CIRCUIT - SAT ----------------------------------------------------------------- CIRCUIT - SATCIRCUIT - 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 ? La réduction :La réduction : –Nous allons traduire une formule logique de SAT en un circuit de CIRCUIT - SAT qui donne les mêmes résultats !

26 16 mars 2007Cours de graphes 7 - Intranet26 SAT se réduit en CIRCUIT - SAT ----------------------------------------------------------------- La réduction :La réduction : –Variable 3 - SAT - > variable CIRCUIT - SAT. – x - > x –( a v b v... v z ) - > a b b............ z z –( a b... z ) - > a b............ z vvv... La réduction est dans P !...

27 16 mars 2007Cours de graphes 7 - Intranet27 Réductions polynômiales ----------------------------------------------------------------- Nous construirons les réductions polynômiales suivantes :Nous construirons les réductions polynômiales suivantes :P SAT P CIRCUIT - SAT P 3 - SAT FNC SUBSET SUM CLIQUE VERTEX COVER P et VERTEX C. P P P SET PARTITION 0 - 1 LINEAR PROG.

28 16 mars 2007Cours de graphes 7 - Intranet28 SAT se réduit en 3 - SAT FNC ----------------------------------------------------------------- Une formule SAT est une formule de profondeur quelconque qui comporte des littéraux ou leurs négations ainsi que des conjonctions et des disjonctions binaires.Une formule SAT est une formule de profondeur quelconque qui comporte des littéraux ou leurs négations ainsi que des conjonctions et des disjonctions binaires. ( ( x v y ) v ( ( y ( z v t ) ) x ) ) ( ( x v y ) v ( ( y ( z v t ) ) x ) ) Une formule 3 - SAT FNC (forme normale conjonctive) est une formule qui comporte une conjonction n-aire composée de disjonctions avec trois littéraux ou leurs négations.Une formule 3 - SAT FNC (forme normale conjonctive) est une formule qui comporte une conjonction n-aire composée de disjonctions avec trois littéraux ou leurs négations. ( a v b v c ) ( a v d v e )... ( d v c v e ) ( a v b v c ) ( a v d v e )... ( d v c v e ) vv vvv 3 - SAT FNC est bien dans NP, car si on nous donne une solution nous sommes capables de vérifier que cen est bien une en temps polynômial et de façon déterministe !

29 16 mars 2007Cours de graphes 7 - Intranet29 SAT se réduit en 3 - SAT FNC ----------------------------------------------------------------- Une formule SAT est une formule de profondeur quelconque qui comporte des littéraux ou leurs négations ainsi que des conjonctions et des disjonctions binaires.Une formule SAT est une formule de profondeur quelconque qui comporte des littéraux ou leurs négations ainsi que des conjonctions et des disjonctions binaires. ( ( x v y ) v ( ( y ( z v t ) ) x ) ) ( ( x v y ) v ( ( y ( z v t ) ) x ) ) Une formule 3 - SAT FNC (forme normale conjonctive) est une formule qui comporte une conjonction n-aire composée de disjonctions avec trois littéraux ou leurs négations.Une formule 3 - SAT FNC (forme normale conjonctive) est une formule qui comporte une conjonction n-aire composée de disjonctions avec trois littéraux ou leurs négations. ( a v b v c ) ( a v d v e )... ( d v c v e ) ( a v b v c ) ( a v d v e )... ( d v c v e ) Nous allons « aplatir » notre formule SAT en une formule 3 - SAT FNC.Nous allons « aplatir » notre formule SAT en une formule 3 - SAT FNC. v vv vv

30 16 mars 2007Cours de graphes 7 - Intranet30 SAT se réduit en 3 - SAT FNC ----------------------------------------------------------------- A une variable SAT nous associons une variable 3 - SAT FNC.A une variable SAT nous associons une variable 3 - SAT FNC. A une formule SAT de la forme ( A op B ) nous associons une nouvelle variable y pour laquelle nous affirmons queA une formule SAT de la forme ( A op B ) nous associons une nouvelle variable y pour laquelle nous affirmons que –y est vraie et –y est équivalente à ( A op B ) Ensuite, il suffit de traduire cette équivalence en une disjonction.Ensuite, il suffit de traduire cette équivalence en une disjonction. v y ( y A op B )

31 16 mars 2007Cours de graphes 7 - Intranet31 SAT se réduit en 3 - SAT FNC ----------------------------------------------------------------- Une formule de la forme ( y A op B ) correspond à une table de vérité avec 8 lignes. Nous en sélectionnons les 4 lignes qui sont fausses et nous les traduisons en une formule qui est une disjonction de conjonctions :Une formule de la forme ( y A op B ) correspond à une table de vérité avec 8 lignes. Nous en sélectionnons les 4 lignes qui sont fausses et nous les traduisons en une formule qui est une disjonction de conjonctions : ( y A B ) v ( y A B ) v ( y A B ) v... ( y A B ) v ( y A B ) v ( y A B ) v... La négation de est la formule recherchée. Daprès de « De Morgan », nous obtenons :La négation de est la formule recherchée. Daprès de « De Morgan », nous obtenons : ( y v A v B ) ( y v A v B ) ( y v A v B )... v vvvvvv vv

32 16 mars 2007Cours de graphes 7 - Intranet32 SAT se réduit en 3 - SAT FNC ----------------------------------------------------------------- Une formule de la forme ( y A op B ) correspond à une table de vérité avec 8 lignes. Nous en sélectionnons les lignes qui sont fausses et nous les traduisons en une formule qui est une disjonction de conjonctions :Une formule de la forme ( y A op B ) correspond à une table de vérité avec 8 lignes. Nous en sélectionnons les lignes qui sont fausses et nous les traduisons en une formule qui est une disjonction de conjonctions : ( y A B ) v ( y A B ) v ( y A B ) ( y A B ) v ( y A B ) v ( y A B ) La négation de est la formule recherchée. Daprès de « De Morgan », nous obtenons :La négation de est la formule recherchée. Daprès de « De Morgan », nous obtenons : ( y v A v B ) ( y v A v B ) ( y v A v B ) ( y v A v B ) ( y v A v B ) ( y v A v B ) La même approche reste vraie pour tous les opérateurs binaires, comme et, ou, =>,,...La même approche reste vraie pour tous les opérateurs binaires, comme et, ou, =>,,... v vvvvvv v

33 16 mars 2007Cours de graphes 7 - Intranet33 SAT se réduit en 3 - SAT FNC ----------------------------------------------------------------- U N E X E M P L E

34 16 mars 2007Cours de graphes 7 - Intranet34 SAT se réduit en 3 - SAT FNC ----------------------------------------------------------------- ( ( ( x => x ) x ) v x ) v 2321 v x 1 v x 2 => x 3 x 2 y 1 y 2 y 3 y 1 v ( y ( y v x ) ) 1 v v ( y ( y x ) ) 2 ( y ( x => x ) ) 323 21 32 v

35 16 mars 2007Cours de graphes 7 - Intranet35 SAT se réduit en 3 - SAT FNC ----------------------------------------------------------------- ( ( ( x => x ) x ) v x ) v 2321 y 1 v ( y ( y v x ) ) 1 v v ( y ( y x ) ) 2 ( y ( x => x ) ) 323 21 32 v y 3 x 2 x 3... 0 0 0 0 0 0 1 0 0 1 0 1 0 1 1 0 1 0 0 1 1 0 1 1 1 1 0 0 1 1 1 1 = ( y x x ) = ( y x x ) v ( y x x ) v... v ( y x x ) v... v 32 v 3 v 32 v 3

36 16 mars 2007Cours de graphes 7 - Intranet36 SAT se réduit en 3 - SAT FNC ----------------------------------------------------------------- ( ( ( x => x ) x ) v x ) v 2321 y 1 v ( y ( y v x ) ) 1 v v ( y ( y x ) ) 2 ( y ( x => x ) ) 323 21 32 v y 3 x 2 x 3... 0 0 0 0 0 0 1 0 0 1 0 1 0 1 1 0 1 0 0 1 1 0 1 1 1 1 0 0 1 1 1 1 = ( y v x v x ) = ( y v x v x ) ( y v x v x )... ( y v x v x )... v 323 v 323

37 16 mars 2007Cours de graphes 7 - Intranet37 SAT se réduit en 3 - SAT FNC ----------------------------------------------------------------- ( ( ( x => x ) x ) v x ) v 2321 y 1 v ( y ( y v x ) ) 1 v v ( y ( y x ) ) 2 21 32 v y 3 x 2 x 3... 0 0 0 0 0 0 1 0 0 1 0 1 0 1 1 0 1 0 0 1 1 0 1 1 1 1 0 0 1 1 1 1 ( y v x v x ) 323 v 323 v...

38 16 mars 2007Cours de graphes 7 - Intranet38 Réductions polynômiales ----------------------------------------------------------------- Nous construirons les réductions polynômiales suivantes :Nous construirons les réductions polynômiales suivantes :P SAT P CIRCUIT - SAT P 3 - SAT FNC SUBSET SUM CLIQUE VERTEX COVER P et VERTEX C. P P P SET PARTITION 0 - 1 LINEAR PROG.

39 16 mars 2007Cours de graphes 7 - Intranet39 3 - SAT FNC se réduit en CLIQUE ----------------------------------------------------------------- Une clique dun graphe G = ( V, E ) est un sous-ensemble des sommets qui sont tous voisins les uns des autres !Une clique dun graphe G = ( V, E ) est un sous-ensemble des sommets qui sont tous voisins les uns des autres ! Une clique de 3 sommets !

40 16 mars 2007Cours de graphes 7 - Intranet40 3 - SAT FNC se réduit en CLIQUE ----------------------------------------------------------------- Une clique dun graphe G = ( V, E ) est un sous-ensemble des sommets qui sont tous voisins les uns des autres !Une clique dun graphe G = ( V, E ) est un sous-ensemble des sommets qui sont tous voisins les uns des autres ! Question : Y a-t-il G une clique de k sommets ?Question : Y a-t-il G une clique de k sommets ? CLIQUE est dans NP car nous savons vérifier dans P si un ensemble de sommets est une clique ou non !CLIQUE est dans NP car nous savons vérifier dans P si un ensemble de sommets est une clique ou non ! Lunique clique de 4 sommets !

41 16 mars 2007Cours de graphes 7 - Intranet41 3 - SAT FNC se réduit en CLIQUE ----------------------------------------------------------------- F = C... C v 1 C = T v T v T ii,1 T = x | x pi,jp k v i,2i,3 Soit une formule 3 - SAT FNC constituée de k conjonctions :Soit une formule 3 - SAT FNC constituée de k conjonctions : Nous allons montrer que cette formule peut être rendue vraie si et seulement sil existe une clique de taille k dans un certain graphe.Nous allons montrer que cette formule peut être rendue vraie si et seulement sil existe une clique de taille k dans un certain graphe. CLIQUE sera donc au moins aussi difficile que 3 - SAT FNC, cest-à-dire vraisemblablement exponentiel en général.CLIQUE sera donc au moins aussi difficile que 3 - SAT FNC, cest-à-dire vraisemblablement exponentiel en général.

42 16 mars 2007Cours de graphes 7 - Intranet42 3 - SAT FNC se réduit en CLIQUE ----------------------------------------------------------------- La construction du graphe :La construction du graphe : A chaque terme T nous associons un sommet.A chaque terme T nous associons un sommet. Les sommets T et T sont voisins dans le graphe ssi :Les sommets T et T sont voisins dans le graphe ssi : –i et m sont différents, –les termes ne sont pas la négation lun de lautre. i,j i,jm,n

43 16 mars 2007Cours de graphes 7 - Intranet43 3 - SAT FNC se réduit en CLIQUE ----------------------------------------------------------------- La construction du graphe :La construction du graphe : A chaque terme T nous associons un sommet.A chaque terme T nous associons un sommet. Les sommets T et T sont voisins dans le graphe ssi :Les sommets T et T sont voisins dans le graphe ssi : –i et m sont différents, –les termes ne sont pas la négation lun de lautre. Cette construction est clairement déterministe et peut se faire en temps polynômial.Cette construction est clairement déterministe et peut se faire en temps polynômial. i,j i,jm,n

44 16 mars 2007Cours de graphes 7 - Intranet44 3 - SAT FNC se réduit en CLIQUE ----------------------------------------------------------------- ( x v x v x ) 123 123 v 124 v x 1 x 2 x 3 x x 1 x 2 x 3 x 1 x 2 x 4 En construction... NON COMPATIBLES !

45 16 mars 2007Cours de graphes 7 - Intranet45 3 - SAT FNC se réduit en CLIQUE ----------------------------------------------------------------- ( x v x v x ) 123 123 v 124 v x 1 x 2 x 3 x x 1 x 2 x 3 x 1 x 2 x 4 Le voilà ! Le voilà !

46 16 mars 2007Cours de graphes 7 - Intranet46 3 - SAT FNC se réduit en CLIQUE ----------------------------------------------------------------- ( x v x v x ) 123 123 v 124 v Clairement, notre formule peut être rendu vraie seulement si nous trouvons dans chaque terme de la conjonction au moins une fois la valeur vrai.Clairement, notre formule peut être rendu vraie seulement si nous trouvons dans chaque terme de la conjonction au moins une fois la valeur vrai. De plus, ces choix doivent être compatibles !De plus, ces choix doivent être compatibles ! Autrement dit, ils doivent correspondre à une clique que nous pouvons former dans le graphe !Autrement dit, ils doivent correspondre à une clique que nous pouvons former dans le graphe ! Rendre vraie la formule ou trouver une clique dans le graphe sont donc des problèmes de même difficulté ! ! !Rendre vraie la formule ou trouver une clique dans le graphe sont donc des problèmes de même difficulté ! ! !

47 16 mars 2007Cours de graphes 7 - Intranet47 3 - SAT FNC se réduit en CLIQUE ----------------------------------------------------------------- ( x v x v x ) 123 123 v 124 v x 1 x 2 x 3 x x 1 x 2 x 3 x 1 x 2 x 4 Une solution ! Une solution !

48 16 mars 2007Cours de graphes 7 - Intranet48 3 - SAT FNC se réduit en CLIQUE ----------------------------------------------------------------- ( x v x v x ) 123 123 v 124 v x 1 x 2 x 3 x x 1 x 2 x 3 x 1 x 2 x 4 Une autre Une autre solution ! solution !

49 16 mars 2007Cours de graphes 7 - Intranet49 Réductions polynômiales ----------------------------------------------------------------- Nous construirons les réductions polynômiales suivantes :Nous construirons les réductions polynômiales suivantes :P SAT P CIRCUIT - SAT P 3 - SAT FNC SUBSET SUM CLIQUE VERTEX COVER P et VERTEX C. P P P SET PARTITION 0 - 1 LINEAR PROG.

50 16 mars 2007Cours de graphes 7 - Intranet50 CLIQUE se réduit en VERTEX COVER ----------------------------------------------------------------- Nous nous donnons un graphe G = ( V, E ) avec n sommets et une constante naturelle k.Nous nous donnons un graphe G = ( V, E ) avec n sommets et une constante naturelle k. Question : Pouvons-nous trouver un sous-ensemble V dau plus k sommets de façon à ce que toute arête ait au moins une extrémité dans V ?Question : Pouvons-nous trouver un sous-ensemble V dau plus k sommets de façon à ce que toute arête ait au moins une extrémité dans V ? k = 2 OUI ! ! ! Les arêtes sont dans lensemble ou elles traversent la frontière ! Nous sommes capables de vérifier une solution en temps polynômial et déterministe ! ! !

51 16 mars 2007Cours de graphes 7 - Intranet51 CLIQUE se réduit en VERTEX COVER ----------------------------------------------------------------- Pourquoi est-ce un VERTEX COVER ?Pourquoi est-ce un VERTEX COVER ? Cen est un parce que les sommets en dehors de V nont aucune arête en commun ! ! !Cen est un parce que les sommets en dehors de V nont aucune arête en commun ! ! ! Autrement dit, les arêtes absentes comportent une clique de taille | V | – | V |, cest-à-dire n – k.Autrement dit, les arêtes absentes comportent une clique de taille | V | – | V |, cest-à-dire n – k. Considérons le graphe G qui contient les arêtes absentes de G ! G possède alors une clique de taille n – k.

52 16 mars 2007Cours de graphes 7 - Intranet52 CLIQUE se réduit en VERTEX COVER ----------------------------------------------------------------- Pour un graphe avec n sommets, il est équivalent dePour un graphe avec n sommets, il est équivalent de –de trouver un VERTEX COVER de taille k ou –de trouver une CLIQUE de taille n – k dans le graphe complémentaire. Considérons le graphe G qui contient les arêtes absentes de G ! G possède alors une clique de taille n – k. La transformation est déterministe et polynômiale.

53 16 mars 2007Cours de graphes 7 - Intranet53 Réductions polynômiales ----------------------------------------------------------------- Nous construirons les réductions polynômiales suivantes :Nous construirons les réductions polynômiales suivantes :P SAT P CIRCUIT - SAT P 3 - SAT FNC SUBSET SUM CLIQUE VERTEX COVER P et VERTEX C. P P P SET PARTITION 0 - 1 LINEAR PROG.

54 16 mars 2007Cours de graphes 7 - Intranet54 VERTEX COVER se réduit en SUBSET SUM --------------------------------------------------------------------------- Nous avons :Nous avons : –un ensemble S dentiers naturels non nuls, –une constante k. La question est la suivante :La question est la suivante : –Pouvons-nous trouver un sous-ensemble de S dont la somme vaut k ? S = { 13, 17, 23, 41, 65, 69 } et k = 105 OUI ! ! ! Une autre solution ! ! !

55 16 mars 2007Cours de graphes 7 - Intranet55 VERTEX COVER se réduit en SUBSET SUM --------------------------------------------------------------------------- Nous avons :Nous avons : –un ensemble S dentiers naturels non nuls, –une constante k. La question est la suivante :La question est la suivante : –Pouvons-nous trouver un sous-ensemble de S dont la somme vaut k ? Le problème est dans NP, car la vérification est polynômiale et déterministe !Le problème est dans NP, car la vérification est polynômiale et déterministe !

56 16 mars 2007Cours de graphes 7 - Intranet56 VERTEX COVER se réduit en SUBSET SUM --------------------------------------------------------------------------- Nous considérons une matrice dadjacence :Nous considérons une matrice dadjacence : 4 3 5 a b c d e f a bcdef 1 2 3 4 5 1 1 0 0 0 Il y a deux occurrences de 1 sur chaque colonne ! 1 2 Larête b est incidente aux sommets 1 et 2 !

57 16 mars 2007Cours de graphes 7 - Intranet57 VERTEX COVER se réduit en SUBSET SUM --------------------------------------------------------------------------- Nous considérons une matrice dadjacence :Nous considérons une matrice dadjacence : 4 1 2 3 5 a b c d e f a bcdef 1 2 3 4 5 1 1 0 0 0 1 0 0 1 0 1 0 0 0 1 0 0 0 1 1 0 1 1 0 0 0 0 1 0 1

58 16 mars 2007Cours de graphes 7 - Intranet58 VERTEX COVER se réduit en SUBSET SUM --------------------------------------------------------------------------- Nous rajoutons uneNous rajoutons une matrice identité ! matrice identité ! Nous rajoutons uneNous rajoutons une colonne au début ! colonne au début ! A lire en base 4, ilA lire en base 4, il ny a pas de retenue ! ny a pas de retenue ! Et les nombres sontEt les nombres sont tous différents ! tous différents ! Chaque ligne de laChaque ligne de la matrice donne un matrice donne un nombre de S ! nombre de S ! a bcdef 1 2 3 4 5 1 1 0 0 0 1 0 0 0 1 0 0 0 1 1 0 1 1 0 0 0 0 1 0 1 00001 00010 00100 01000 10000 00000 1 0 0 1 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 333333 | V | + = 1 = 4 = 16 =... = x = y

59 16 mars 2007Cours de graphes 7 - Intranet59 VERTEX COVER se réduit en SUBSET SUM --------------------------------------------------------------------------- Le graphe contient un VERTEX COVER de taille k si nous pouvons choisir de telles lignes afin que chaque colonne comporte 2 occurrences de 1 ! 4 1 2 3 5 a b c d e f a bcdef 1 2 3 4 5 1 1 0 0 0 1 0 0 1 0 1 0 0 0 1 0 0 0 1 1 0 1 1 0 0 0 0 1 0 1 V { 1, 2, 5 } est un VERTEX COVER de 3 sommets ! ! !

60 16 mars 2007Cours de graphes 7 - Intranet60 Soit k = k VERTEX COVER se réduit en SUBSET SUM --------------------------------------------------------------------------- Nous rajoutons uneNous rajoutons une matrice identité ! matrice identité ! Nous rajoutons uneNous rajoutons une colonne au début ! colonne au début ! A lire en base 4, ilA lire en base 4, il ny a pas de retenue ! ny a pas de retenue ! Et les nombres sontEt les nombres sont tous différents ! tous différents ! Chaque ligne de laChaque ligne de la matrice donne un matrice donne un nombre de S ! nombre de S ! a bcdef 1 2 3 4 5 1 1 0 0 0 1 0 0 0 1 0 0 0 1 1 0 1 1 0 0 0 0 1 0 1 00001 00010 00100 01000 10000 00000 1 0 0 1 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 222222 + = 1 = 4 = 16 =... = x = y S V

61 16 mars 2007Cours de graphes 7 - Intranet61 VERTEX COVER se réduit en SUBSET SUM --------------------------------------------------------------------------- Nous avons un VERTEXNous avons un VERTEX COVER de taille k ssi COVER de taille k ssi nous avons un SUBSET nous avons un SUBSET SUM de valeur k. SUM de valeur k. Soit le VERTEX COVER.Soit le VERTEX COVER. Chaque colonne comporte au moins une fois le 1 ! ! ! Nous choisissons dautres lignes pour compléter à 2 !Chaque colonne comporte au moins une fois le 1 ! ! ! Nous choisissons dautres lignes pour compléter à 2 ! V S 1 1 0 0 0 1 0 0 0 1 0 0 0 1 1 0 1 1 0 0 0 0 1 0 1 00001 00010 00100 01000 10000 00000 1 0 0 1 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 Nous avons une somme de k = k Nous avons une somme de k = k V 222222 S

62 16 mars 2007Cours de graphes 7 - Intranet62 VERTEX COVER se réduit en SUBSET SUM --------------------------------------------------------------------------- Nous avons un VERTEXNous avons un VERTEX COVER de taille k ssi COVER de taille k ssi nous avons un SUBSET nous avons un SUBSET SUM de valeur k. SUM de valeur k. Soit le SUBSET SUM.Soit le SUBSET SUM. Nous en extrayons un VERTEX COVER !Nous en extrayons un VERTEX COVER ! V S 1 1 0 0 0 1 0 0 0 1 0 0 0 1 1 0 1 1 0 0 0 0 1 0 1 00001 00010 00100 01000 10000 00000 1 0 0 1 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0

63 16 mars 2007Cours de graphes 7 - Intranet63 VERTEX COVER se réduit en SUBSET SUM --------------------------------------------------------------------------- U N E X E M P L E N U M E R I Q U E

64 16 mars 2007Cours de graphes 7 - Intranet64 VERTEX COVER se réduit en SUBSET SUM --------------------------------------------------------------------------- 1 1 0 0 0 1 0 0 0 1 0 0 0 1 1 0 1 1 0 0 0 0 1 0 1 00001 00010 00100 01000 10000 00000 1 0 0 1 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 1 = 4 = 16 = 64 = 256 = 1024 = 5440 = 4356 = 4101 = 5136 = 4177 = Le VERTEX COVER { 1, 2, 5 } donne : 5440435641771416102415018 k = 15018 = 3 k = 15018 = 3 S 222222

65 16 mars 2007Cours de graphes 7 - Intranet65 VERTEX COVER se réduit en SUBSET SUM --------------------------------------------------------------------------- 1 1 0 0 0 1 0 0 0 1 0 0 0 1 1 0 1 1 0 0 0 0 1 0 1 00001 00010 00100 01000 10000 00000 1 0 0 1 0 0 0 0 0 0 1 1 1 1 1 1 0 0 0 0 0 0 1 = 4 = 16 = 64 = 256 = 1024 = 5440 = 4356 = 4101 = 5136 = 4177 = Le VERTEX COVER { 2, 4, 5 } donne : 4356513641771464256102415018 k = 15018 = 3 k = 15018 = 3 S 222222

66 16 mars 2007Cours de graphes 7 - Intranet66 Réductions polynômiales ----------------------------------------------------------------- Nous construirons les réductions polynômiales suivantes :Nous construirons les réductions polynômiales suivantes :P SAT P CIRCUIT - SAT P 3 - SAT FNC SUBSET SUM CLIQUE VERTEX COVER P et VERTEX C. P P P SET PARTITION 0 - 1 LINEAR PROG.

67 16 mars 2007Cours de graphes 7 - Intranet67 SUBSET SUM se réduit en 0-1 LINEAR PROG. -------------------------------------------------------------------------------- Nous avons un n-uplet X de variables qui prennent 0 ou 1 comme valeurs.Nous avons un n-uplet X de variables qui prennent 0 ou 1 comme valeurs. Nous avons p inéquations dinconnue X :Nous avons p inéquations dinconnue X : La question : Pouvons-nous trouver un vecteur X qui satisfait toutes les inéquations ?La question : Pouvons-nous trouver un vecteur X qui satisfait toutes les inéquations ? Le problème est bien dans NP !Le problème est bien dans NP ! a x +... + a x <= b 1,111,n n1 p,11p,n np... Sous forme matricielle : A X <= B

68 16 mars 2007Cours de graphes 7 - Intranet68 SUBSET SUM se réduit en 0-1 LINEAR PROG. -------------------------------------------------------------------------------- Soit lensemble S = { s,..., s } de nombres et la constante k.Soit lensemble S = { s,..., s } de nombres et la constante k. Nous construisons les deux inégalités :Nous construisons les deux inégalités : La transformation est dans P.La transformation est dans P. Trivial : k peut être obtenue comme somme de nombres de S, si et seulement si, le système de programmation 0–1 admet une solution.Trivial : k peut être obtenue comme somme de nombres de S, si et seulement si, le système de programmation 0–1 admet une solution. s x +... + s x <= k 11n n Celles-ci équivalent à une égalité ! 1n – s x –... – s x <= – k 11n n = =

69 16 mars 2007Cours de graphes 7 - Intranet69 Réductions polynômiales ----------------------------------------------------------------- Nous construirons les réductions polynômiales suivantes :Nous construirons les réductions polynômiales suivantes :P SAT P CIRCUIT - SAT P 3 - SAT FNC SUBSET SUM CLIQUE VERTEX COVER P et VERTEX C. P P P SET PARTITION 0 - 1 LINEAR PROG.

70 16 mars 2007Cours de graphes 7 - Intranet70 SUBSET SUM se réduit en SET PARTITION ----------------------------------------------------------------------------- S = { 17, 37, 48, 70, 76 } OUI ! ! ! Le problème SET PARTITION consiste à savoir si un ensemble S de nombres naturels peut être décomposé en deux sous-ensembles de nombres de sommes égales.Le problème SET PARTITION consiste à savoir si un ensemble S de nombres naturels peut être décomposé en deux sous-ensembles de nombres de sommes égales. Le problème est bien dans NP !Le problème est bien dans NP !

71 16 mars 2007Cours de graphes 7 - Intranet71 SUBSET SUM se réduit en SET PARTITION ----------------------------------------------------------------------------- Soit lensemble dentiers S et la constante k pour lesquels nous cherchons une solution à SUBSET SUM. Soit T la somme des éléments de S.Soit lensemble dentiers S et la constante k pour lesquels nous cherchons une solution à SUBSET SUM. Soit T la somme des éléments de S. Soit lensemble Z = S v { k+1, T–k+1 } pour lequel nous cherchons une solution à SET PARTITION.Soit lensemble Z = S v { k+1, T–k+1 } pour lequel nous cherchons une solution à SET PARTITION. Les deux problèmes sont équivalents. La transformationLes deux problèmes sont équivalents. La transformation est polynômiale et déterministe. est polynômiale et déterministe. Preuve ( => ) :Preuve ( => ) : –Si A est un sous-ensemble de S de somme k, alors son complément AC est de somme T–k. –Il suffit de choisir les ensembles B = A v { T–k+1 } et BC = AC v { k+1 } pour avoir une solution à SET PARTITION avec la somme identique T+1.

72 16 mars 2007Cours de graphes 7 - Intranet72 SUBSET SUM se réduit en SET PARTITION ----------------------------------------------------------------------------- Soit lensemble dentiers S et la constante k pour lesquels nous cherchons une solution à SUBSET SUM. Soit T la somme des éléments de S.Soit lensemble dentiers S et la constante k pour lesquels nous cherchons une solution à SUBSET SUM. Soit T la somme des éléments de S. Soit lensemble Z = S v { k+1, T–k+1 } pour lequel nous cherchons une solution à SET PARTITION.Soit lensemble Z = S v { k+1, T–k+1 } pour lequel nous cherchons une solution à SET PARTITION. Les deux problèmes sont équivalents. La transformationLes deux problèmes sont équivalents. La transformation est polynômiale et déterministe. est polynômiale et déterministe. Preuve ( <= ) :Preuve ( <= ) : –Soient B et BC une partition de Z en solution de SET PARTITION. k+1 et T–k+1 ne figurent pas dans le même sous-ensemble. –Si T–k+1 est dans B, il suffit de choisir A égal à B \ { T–k+1 } pour que A soit un sous-ensemble de S de somme k et donc une solution à SUBSET SUM.

73 16 mars 2007Cours de graphes 7 - Intranet73 Un problème curieux ----------------------------------------------------------------- I S O M O R P H I S M E S D E G R A P H E S

74 16 mars 2007Cours de graphes 7 - Intranet74 Un problème curieux ----------------------------------------------------------------- Deux graphes sont-ils identiques à (re-)nommage des sommets près ?Deux graphes sont-ils identiques à (re-)nommage des sommets près ? A1 B2 C3D4 E5 G6 H7 I8J9 K10 A1 B2 C3E5 D4 G6H7 I8K10 J9

75 16 mars 2007Cours de graphes 7 - Intranet75 Un problème curieux ----------------------------------------------------------------- GRAPH ISOMORPHISM est bien-sûr dans NP !GRAPH ISOMORPHISM est bien-sûr dans NP ! On sait résoudre le problème dans P pour de nombreuses classes de graphes !On sait résoudre le problème dans P pour de nombreuses classes de graphes ! On ne connaît aucun algorithme dans P qui résolve toutes les instances !On ne connaît aucun algorithme dans P qui résolve toutes les instances ! On ne sait pas si GRAPH ISOMORPISM est dans P ?On ne sait pas si GRAPH ISOMORPISM est dans P ? On ne sait toujours pas si GRAPH ISOMORPHISM est N – P –complet ! ! !On ne sait toujours pas si GRAPH ISOMORPHISM est N – P –complet ! ! !

76 16 mars 2007Cours de graphes 7 - Intranet76 Synthèse ----------------------------------------------------------------- Problèmes NP-complets.Problèmes NP-complets. Réductions polynômiales.Réductions polynômiales.


Télécharger ppt "16 mars 2007Cours de graphes 7 - Intranet1 Cours de graphes Problèmes NP-complets. Réductions polynômiales."

Présentations similaires


Annonces Google