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

Slides:



Advertisements
Présentations similaires
La recherche de chemin optimal
Advertisements

Présentation générale Marc Gengler
Algorithmes et structures de données avancées Cours 7
3. Variantes de l’algorithme
Algorithmes et structures de données avancés
Portée des variables VBA & Excel
Cours d’Algorithmique
Cours d'algorithmique 10 / Intranet 1 19 décembre 2006 Cours dAlgorithmique Logique de Hoare (fin) : Les boucles et les invariants.
Cours d’Algorithmique
Cours d'algorithmique 9 - Intranet 1 12 décembre 2006 Cours dAlgorithmique Logique de Hoare (début) : Principes et constructions élémentaires.
Cours d’Algorithmique
Problème des 4 couleurs, graphes planaires.
Cours d'algorithmique 7 - Intranet 1 27 novembre 2006 Cours dAlgorithmique Dérécursion (début) : Équivalences entre programmes récursifs et programmes.
Cours de graphes Problèmes de flots. Théorème du Max-flow – Min-cut.
Quelques applications.
9 octobre 2007Cours de compilation 5 - Intranet1 Cours de compilation Techniques danalyse ascendantes.
Cours d’Algorithmique
Cours d'algorithmique 9 - Intranet 1 12 décembre 2006 Cours dAlgorithmique Logique de Hoare (début) : Principes et constructions élémentaires.
Cours d'algorithmique 7 - Intranet 1 27 novembre 2006 Cours dAlgorithmique Dérécursion (début) : Équivalences entre programmes récursifs et programmes.
Cours d’Algorithmique
Cours d'algorithmique 11 / Intranet 1 9 janvier 2006 Cours dAlgorithmique N P - complétude.
Cours de compilation 2 - Intranet
Cours de graphes Les plus courts chemins,
Cours de compilation Marc Gengler 18h de cours avec un peu de TD
21 septembre 2007Cours de compilation 2 - Intranet1 Cours de compilation Evaluation partielle etcompilation.
Marc Gengler
Cours d'algorithmique 8 - Intranet 1 4 décembre 2006 Cours dAlgorithmique Dérécursion (fin) : Équivalences entre programmes récursifs et programmes itératifs.
Cours d’Algorithmique
24 septembre 2007Cours de compilation 4 - Intranet1 Cours de compilation Techniques danalyse descendantes.
Cours d’Algorithmique
Cours d'algorithmique 5 - Intranet 1 17/21 novembre 2006 Cours dAlgorithmique Divide and Conquer : principes et applications. Calculabilité.Complexité.
Séminaire Biblio LISC - 3/04/02 Complexité, information Daprès JP Delahaye (1999)
Calcul propositionnel
Système formel Nous avons introduit : signes de variables (x, y, z, …), de constantes (0, 1), d’opérations (+, ), de relations (=, ) Axiomes : ce sont.
Cours du 20 septembre Exceptionnellement, le cours prévu pour le mercredi 20 septembre se donnera Mardi le 19 septembre de 13h30 à 15h20 à la salle 1112.
Cours d’Algorithmique
Chapitre 2 Réductions: exemples et méthodes
Problème des 4 couleurs, graphes planaires.
Quelques applications.
Optimisation linéaire
Quelques graphes particuliers.
Systèmes d’équations linéaires
Cours de graphes Les arbres et arborescences.
16 mars 2007Cours de graphes 7 - Intranet1 Cours de graphes Problèmes NP-complets. Réductions polynômiales.
Algorithme de Bellman-Ford
Chapitre 2 Réductions: exemples et méthodes
Coloration gap sommet identifiante de graphes
Rappels de logique des prédicats du 1er ordre
IFT Complexité et NP-complétude
IFT Au delà de NP: hiérarchie polynomiale, EXP, NEXP.
5.1 SYSTÈME DÉQUATIONS LINÉAIRES Cours 13. Au dernier cours nous avons vus Léquations vectoriel et léquation normale dun plan. Lintersection de deux plans.
Algorithmes d ’approximation
Optimisation linéaire
Recherche Opérationnelle
Cours de graphes Marc Gengler Alexandra Bac Sébastien Fournier
21 février 2006Cours de graphes 2 - Intranet1 Cours de graphes Les plus courts chemins, les chemins les plus légers : à laide de la vague, à laide de la.
Cours de graphes 6 - Intranet
23 février 2007Cours de graphes 4 - Intranet1 Cours de graphes Problèmes de flots. Théorème du Max-flow – Min-cut. Algos de Ford-Fulkerson et Edmonds-Karp.
Programmation dynamique
Atelier de formation : MAT optimisation II (les graphes).
8INF8061 Conception et analyse des algorithmes Comment comparer deux problèmes?
IFT Complexité et NP-complétude Chapitre 0 Rappels.
D.E ZEGOUR Ecole Supérieure d’Informatique
D.E ZEGOUR Ecole Supérieure d’Informatique
Chapitre 3 :Algèbre de Boole
Programmation linéaire en nombres entiers
Complexité des Problèmes Combinatoires Module IAD/RP/RO/Complexité Philippe Chrétienne.
Problème de double digestion
Cycle, Cocycle, Arbre et Arborescence
Complexité des Problèmes Combinatoires Module IAD/RP/RO/Complexité Philippe Chrétienne.
Transcription de la présentation:

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

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

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

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 !

16 mars 2007Cours de graphes 7 - Intranet5 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 /

16 mars 2007Cours de graphes 7 - Intranet6 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.

16 mars 2007Cours de graphes 7 - Intranet7 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.

16 mars 2007Cours de graphes 7 - Intranet8 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.

16 mars 2007Cours de graphes 7 - Intranet9 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.

16 mars 2007Cours de graphes 7 - Intranet10 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 ! ! !

16 mars 2007Cours de graphes 7 - Intranet11 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 ».

16 mars 2007Cours de graphes 7 - Intranet12 Rappels sur la NP - complétude Théorème :Théorème : P N P P N P U N P P

16 mars 2007Cours de graphes 7 - Intranet13 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 / ? ? ? ? ? ? ?

16 mars 2007Cours de graphes 7 - Intranet14 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

16 mars 2007Cours de graphes 7 - Intranet15 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.

16 mars 2007Cours de graphes 7 - Intranet16 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 11 22

16 mars 2007Cours de graphes 7 - Intranet17 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 ) ) P

16 mars 2007Cours de graphes 7 - Intranet18 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 !

16 mars 2007Cours de graphes 7 - Intranet19 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. P

16 mars 2007Cours de graphes 7 - Intranet20 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

16 mars 2007Cours de graphes 7 - Intranet21 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.

16 mars 2007Cours de graphes 7 - Intranet22 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.

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

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

16 mars 2007Cours de graphes 7 - Intranet25 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 /

16 mars 2007Cours de graphes 7 - Intranet26 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 /

16 mars 2007Cours de graphes 7 - Intranet27 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...

16 mars 2007Cours de graphes 7 - Intranet28 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

16 mars 2007Cours de graphes 7 - Intranet29 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 !

16 mars 2007Cours de graphes 7 - Intranet30 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

16 mars 2007Cours de graphes 7 - Intranet31 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 LINEAR PROG.

16 mars 2007Cours de graphes 7 - Intranet32 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 LINEAR PROG.

16 mars 2007Cours de graphes 7 - Intranet33 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 LINEAR PROG.

16 mars 2007Cours de graphes 7 - Intranet34 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 LINEAR PROG.

16 mars 2007Cours de graphes 7 - Intranet35 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 LINEAR PROG.

16 mars 2007Cours de graphes 7 - Intranet36 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 LINEAR PROG.

16 mars 2007Cours de graphes 7 - Intranet37 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 LINEAR PROG.

16 mars 2007Cours de graphes 7 - Intranet38 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 ?

16 mars 2007Cours de graphes 7 - Intranet39 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 !

16 mars 2007Cours de graphes 7 - Intranet40 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 !

16 mars 2007Cours de graphes 7 - Intranet41 SAT se réduit en CIRCUIT - SAT La réduction :La réduction : –Variable 3 - SAT - > variable CIRCUIT - SAT.

16 mars 2007Cours de graphes 7 - Intranet42 SAT se réduit en CIRCUIT - SAT La réduction :La réduction : –Variable 3 - SAT - > variable CIRCUIT - SAT. – x - > x

16 mars 2007Cours de graphes 7 - Intranet43 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...

16 mars 2007Cours de graphes 7 - Intranet44 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...

16 mars 2007Cours de graphes 7 - Intranet45 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...

16 mars 2007Cours de graphes 7 - Intranet46 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 !...

16 mars 2007Cours de graphes 7 - Intranet47 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 LINEAR PROG.

16 mars 2007Cours de graphes 7 - Intranet48 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 ) ) vv

16 mars 2007Cours de graphes 7 - Intranet49 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

16 mars 2007Cours de graphes 7 - Intranet50 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 !

16 mars 2007Cours de graphes 7 - Intranet51 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

16 mars 2007Cours de graphes 7 - Intranet52 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.

16 mars 2007Cours de graphes 7 - Intranet53 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

16 mars 2007Cours de graphes 7 - Intranet54 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 y

16 mars 2007Cours de graphes 7 - Intranet55 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 ) v y ( y A op B )

16 mars 2007Cours de graphes 7 - Intranet56 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 )

16 mars 2007Cours de graphes 7 - Intranet57 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... vvvvvv

16 mars 2007Cours de graphes 7 - Intranet58 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

16 mars 2007Cours de graphes 7 - Intranet59 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

16 mars 2007Cours de graphes 7 - Intranet60 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

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

16 mars 2007Cours de graphes 7 - Intranet62 SAT se réduit en 3 - SAT FNC ( ( ( x => x ) x ) v x ) v 2321

16 mars 2007Cours de graphes 7 - Intranet63 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

16 mars 2007Cours de graphes 7 - Intranet64 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

16 mars 2007Cours de graphes 7 - Intranet65 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 ) ) 121 v...

16 mars 2007Cours de graphes 7 - Intranet66 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 ) ) 121 v...

16 mars 2007Cours de graphes 7 - Intranet67 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 ) ) 232 v 21

16 mars 2007Cours de graphes 7 - Intranet68 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 ) ) v

16 mars 2007Cours de graphes 7 - Intranet69 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 ) ) v

16 mars 2007Cours de graphes 7 - Intranet70 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 ) ) v y 3 x 2 x 3...

16 mars 2007Cours de graphes 7 - Intranet71 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 ) ) v y 3 x 2 x

16 mars 2007Cours de graphes 7 - Intranet72 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 ) ) v y 3 x 2 x = ( y x x ) = ( y x x ) v ( y x x ) v... v ( y x x ) v... v 32 v 3 v 32 v 3

16 mars 2007Cours de graphes 7 - Intranet73 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 ) ) v y 3 x 2 x = ( y v x v x ) = ( y v x v x ) ( y v x v x )... ( y v x v x )... v 323 v 323

16 mars 2007Cours de graphes 7 - Intranet74 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 ) ) v y 3 x 2 x ( y v x v x ) 323 v 323 v...

16 mars 2007Cours de graphes 7 - Intranet75 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 ) ) v y 3 x 2 x ( y v x v x ) 323 v 323 v...

16 mars 2007Cours de graphes 7 - Intranet76 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 LINEAR PROG.

16 mars 2007Cours de graphes 7 - Intranet77 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 LINEAR PROG.

16 mars 2007Cours de graphes 7 - Intranet 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 !

16 mars 2007Cours de graphes 7 - Intranet 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 !

16 mars 2007Cours de graphes 7 - Intranet 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 ! Lunique clique de 4 sommets !

16 mars 2007Cours de graphes 7 - Intranet 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 ? Lunique clique de 4 sommets !

16 mars 2007Cours de graphes 7 - Intranet 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 !

16 mars 2007Cours de graphes 7 - Intranet 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 :

16 mars 2007Cours de graphes 7 - Intranet 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.

16 mars 2007Cours de graphes 7 - Intranet 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.

16 mars 2007Cours de graphes 7 - Intranet 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. i,j

16 mars 2007Cours de graphes 7 - Intranet 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

16 mars 2007Cours de graphes 7 - Intranet 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

16 mars 2007Cours de graphes 7 - Intranet 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

16 mars 2007Cours de graphes 7 - Intranet SAT FNC se réduit en CLIQUE ( x v x v x ) v 124 v

16 mars 2007Cours de graphes 7 - Intranet SAT FNC se réduit en CLIQUE ( x v x v x ) v 124 v x 1 x 2 x 3 x x 1 x 2 x 3 x 1 x 2 x 4

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

16 mars 2007Cours de graphes 7 - Intranet SAT FNC se réduit en CLIQUE ( x v x v x ) 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 !

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

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

16 mars 2007Cours de graphes 7 - Intranet SAT FNC se réduit en CLIQUE ( x v x v x ) 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à !

16 mars 2007Cours de graphes 7 - Intranet SAT FNC se réduit en CLIQUE ( x v x v x ) 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 !

16 mars 2007Cours de graphes 7 - Intranet SAT FNC se réduit en CLIQUE ( x v x v x ) 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 !

16 mars 2007Cours de graphes 7 - Intranet SAT FNC se réduit en CLIQUE ( x v x v x ) 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 !

16 mars 2007Cours de graphes 7 - Intranet SAT FNC se réduit en CLIQUE ( x v x v x ) 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 !

16 mars 2007Cours de graphes 7 - Intranet SAT FNC se réduit en CLIQUE ( x v x v x ) 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 !

16 mars 2007Cours de graphes 7 - Intranet SAT FNC se réduit en CLIQUE ( x v x v x ) 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 !

16 mars 2007Cours de graphes 7 - Intranet SAT FNC se réduit en CLIQUE ( x v x v x ) 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é ! ! !

16 mars 2007Cours de graphes 7 - Intranet SAT FNC se réduit en CLIQUE ( x v x v x ) 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 !

16 mars 2007Cours de graphes 7 - Intranet SAT FNC se réduit en CLIQUE ( x v x v x ) 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 !

16 mars 2007Cours de graphes 7 - Intranet106 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 LINEAR PROG.

16 mars 2007Cours de graphes 7 - Intranet107 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 ?

16 mars 2007Cours de graphes 7 - Intranet108 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

16 mars 2007Cours de graphes 7 - Intranet109 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 ! ! !

16 mars 2007Cours de graphes 7 - Intranet110 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 !

16 mars 2007Cours de graphes 7 - Intranet111 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 ! ! !

16 mars 2007Cours de graphes 7 - Intranet112 CLIQUE se réduit en VERTEX COVER Pourquoi est-ce un VERTEX COVER ?Pourquoi est-ce un VERTEX COVER ?

16 mars 2007Cours de graphes 7 - Intranet113 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 ! ! !

16 mars 2007Cours de graphes 7 - Intranet114 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.

16 mars 2007Cours de graphes 7 - Intranet115 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 !

16 mars 2007Cours de graphes 7 - Intranet116 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.

16 mars 2007Cours de graphes 7 - Intranet117 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.

16 mars 2007Cours de graphes 7 - Intranet118 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.

16 mars 2007Cours de graphes 7 - Intranet119 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 LINEAR PROG.

16 mars 2007Cours de graphes 7 - Intranet120 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 LINEAR PROG.

16 mars 2007Cours de graphes 7 - Intranet121 VERTEX COVER se réduit en SUBSET SUM Nous avons :Nous avons : –un ensemble S dentiers naturels non nuls, –une constante k.

16 mars 2007Cours de graphes 7 - Intranet122 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 ?

16 mars 2007Cours de graphes 7 - Intranet123 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, 67 } et k = 105

16 mars 2007Cours de graphes 7 - Intranet124 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 ! ! !

16 mars 2007Cours de graphes 7 - Intranet125 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 ! ! !

16 mars 2007Cours de graphes 7 - Intranet126 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 !

16 mars 2007Cours de graphes 7 - Intranet127 VERTEX COVER se réduit en SUBSET SUM Nous considérons une matrice dadjacence :Nous considérons une matrice dadjacence :

16 mars 2007Cours de graphes 7 - Intranet128 VERTEX COVER se réduit en SUBSET SUM Nous considérons une matrice dadjacence :Nous considérons une matrice dadjacence :

16 mars 2007Cours de graphes 7 - Intranet129 VERTEX COVER se réduit en SUBSET SUM Nous considérons une matrice dadjacence :Nous considérons une matrice dadjacence : a b c d e f a bcdef

16 mars 2007Cours de graphes 7 - Intranet130 VERTEX COVER se réduit en SUBSET SUM Nous considérons une matrice dadjacence :Nous considérons une matrice dadjacence : a b c d e f a bcdef

16 mars 2007Cours de graphes 7 - Intranet131 VERTEX COVER se réduit en SUBSET SUM Nous considérons une matrice dadjacence :Nous considérons une matrice dadjacence : a b c d e f a bcdef Larête b est incidente aux sommets 1 et 2 !

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

16 mars 2007Cours de graphes 7 - Intranet133 VERTEX COVER se réduit en SUBSET SUM Nous considérons une matrice dadjacence :Nous considérons une matrice dadjacence : a b c d e f a bcdef

16 mars 2007Cours de graphes 7 - Intranet134 VERTEX COVER se réduit en SUBSET SUM Nous considérons une matrice dadjacence :Nous considérons une matrice dadjacence : a b c d e f a bcdef

16 mars 2007Cours de graphes 7 - Intranet135 VERTEX COVER se réduit en SUBSET SUM a bcdef

16 mars 2007Cours de graphes 7 - Intranet136 VERTEX COVER se réduit en SUBSET SUM Nous rajoutons uneNous rajoutons une matrice identité ! matrice identité ! a bcdef

16 mars 2007Cours de graphes 7 - Intranet137 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 bcdef

16 mars 2007Cours de graphes 7 - Intranet138 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 ! a bcdef | V |

16 mars 2007Cours de graphes 7 - Intranet139 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 ! a bcdef | V | + = 1 = 4 = 16 =... = x = y

16 mars 2007Cours de graphes 7 - Intranet140 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 | V | + = 1 = 4 = 16 =... = x = y

16 mars 2007Cours de graphes 7 - Intranet141 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 ! a b c d e f a bcdef V

16 mars 2007Cours de graphes 7 - Intranet142 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 ! a b c d e f a bcdef V { 1, 2, 5 } est un VERTEX COVER de 3 sommets ! ! !

16 mars 2007Cours de graphes 7 - Intranet143 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 ! a b c d e f a bcdef V { 1, 2, 5 } est un VERTEX COVER de 3 sommets ! ! !

16 mars 2007Cours de graphes 7 - Intranet144 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 ! a b c d e f a bcdef V { 1, 2, 5 } est un VERTEX COVER de 3 sommets ! ! !

16 mars 2007Cours de graphes 7 - Intranet145 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 ! a b c d e f a bcdef V { 1, 2, 5 } est un VERTEX COVER de 3 sommets ! ! !

16 mars 2007Cours de graphes 7 - Intranet146 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 = 4 = 16 =... = x = y S V

16 mars 2007Cours de graphes 7 - Intranet147 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 = 4 = 16 =... = x = y S V

16 mars 2007Cours de graphes 7 - Intranet148 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. V S

16 mars 2007Cours de graphes 7 - Intranet149 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. V S

16 mars 2007Cours de graphes 7 - Intranet150 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. V S k V

16 mars 2007Cours de graphes 7 - Intranet151 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 k = k k = k V S

16 mars 2007Cours de graphes 7 - Intranet152 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 k = k k = k V S

16 mars 2007Cours de graphes 7 - Intranet153 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 Nous avons une somme de k = k Nous avons une somme de k = k V S

16 mars 2007Cours de graphes 7 - Intranet154 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. V S k = k k = k V S

16 mars 2007Cours de graphes 7 - Intranet155 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

16 mars 2007Cours de graphes 7 - Intranet156 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

16 mars 2007Cours de graphes 7 - Intranet157 VERTEX COVER se réduit en SUBSET SUM = 4 = 16 = 64 = 256 = 1024 = 5440 = 4356 = 4101 = 5136 = 4177 =

16 mars 2007Cours de graphes 7 - Intranet158 VERTEX COVER se réduit en SUBSET SUM = 4 = 16 = 64 = 256 = 1024 = 5440 = 4356 = 4101 = 5136 = 4177 = k = = 3 k = = S

16 mars 2007Cours de graphes 7 - Intranet159 VERTEX COVER se réduit en SUBSET SUM = 4 = 16 = 64 = 256 = 1024 = 5440 = 4356 = 4101 = 5136 = 4177 = Le VERTEX COVER { 1, 2, 5 } donne : k = = 3 k = = 3 S

16 mars 2007Cours de graphes 7 - Intranet160 VERTEX COVER se réduit en SUBSET SUM = 4 = 16 = 64 = 256 = 1024 = 5440 = 4356 = 4101 = 5136 = 4177 = Le VERTEX COVER { 2, 4, 5 } donne : k = = 3 k = = 3 S

16 mars 2007Cours de graphes 7 - Intranet161 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 LINEAR PROG.

16 mars 2007Cours de graphes 7 - Intranet162 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.

16 mars 2007Cours de graphes 7 - Intranet163 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 : a x a x <= b 1,111,n n1 p,11p,n np...

16 mars 2007Cours de graphes 7 - Intranet164 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 : a x a x <= b 1,111,n n1 p,11p,n np... Sous forme matricielle : A X <= B

16 mars 2007Cours de graphes 7 - Intranet165 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 ? a x a x <= b 1,111,n n1 p,11p,n np... Sous forme matricielle : A X <= B

16 mars 2007Cours de graphes 7 - Intranet166 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

16 mars 2007Cours de graphes 7 - Intranet167 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. 1n

16 mars 2007Cours de graphes 7 - Intranet168 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 : s x s x <= k 11n n 1n – s x –... – s x <= – k 11n n

16 mars 2007Cours de graphes 7 - Intranet169 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 : s x s x <= k 11n n Celles-ci équivalent à une égalité ! 1n – s x –... – s x <= – k 11n n = =

16 mars 2007Cours de graphes 7 - Intranet170 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. s x s x <= k 11n n Celles-ci équivalent à une égalité ! 1n – s x –... – s x <= – k 11n n = =

16 mars 2007Cours de graphes 7 - Intranet171 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 = =

16 mars 2007Cours de graphes 7 - Intranet172 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 LINEAR PROG.

16 mars 2007Cours de graphes 7 - Intranet173 SUBSET SUM se réduit en SET PARTITION 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.

16 mars 2007Cours de graphes 7 - Intranet174 SUBSET SUM se réduit en SET PARTITION S = { 17, 37, 48, 70, 76 } 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.

16 mars 2007Cours de graphes 7 - Intranet175 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.

16 mars 2007Cours de graphes 7 - Intranet176 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 !

16 mars 2007Cours de graphes 7 - Intranet177 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.

16 mars 2007Cours de graphes 7 - Intranet178 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.

16 mars 2007Cours de graphes 7 - Intranet179 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.

16 mars 2007Cours de graphes 7 - Intranet180 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.

16 mars 2007Cours de graphes 7 - Intranet181 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.

16 mars 2007Cours de graphes 7 - Intranet182 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.

16 mars 2007Cours de graphes 7 - Intranet183 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.

16 mars 2007Cours de graphes 7 - Intranet184 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

16 mars 2007Cours de graphes 7 - Intranet185 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 ?

16 mars 2007Cours de graphes 7 - Intranet186 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 ? A B CD E G H IJ K

16 mars 2007Cours de graphes 7 - Intranet187 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 ? A B CD E G H IJ K

16 mars 2007Cours de graphes 7 - Intranet188 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 G H IJ K A1 B2 C3E5 D

16 mars 2007Cours de graphes 7 - Intranet189 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

16 mars 2007Cours de graphes 7 - Intranet190 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

16 mars 2007Cours de graphes 7 - Intranet191 Un problème curieux GRAPH ISOMORPHISM est bien-sûr dans NP !GRAPH ISOMORPHISM est bien-sûr dans NP !

16 mars 2007Cours de graphes 7 - Intranet192 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 !

16 mars 2007Cours de graphes 7 - Intranet193 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 !

16 mars 2007Cours de graphes 7 - Intranet194 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 ?

16 mars 2007Cours de graphes 7 - Intranet195 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 ! ! !

16 mars 2007Cours de graphes 7 - Intranet196 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 ! ! !

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

16 mars 2007Cours de graphes 7 - Intranet198 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 ! ! !