1 / 76

Cours de graphes

Cours de graphes. Problèmes NP-complets. Réductions polynômiales. Les grandes lignes du cours. Définitions de base Connexité Les plus courts chemins Dijkstra et Bellmann-Ford Arbres Arbres de recouvrement minimaux Problèmes de flots Coloriage de graphes, graphes planaires Couplage

salene
Download Presentation

Cours de graphes

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Cours de graphes Problèmes NP-complets. Réductions polynômiales. Cours de graphes 7 - Intranet

  2. Les grandes lignes du cours • Définitions de base • Connexité • Les plus courts chemins • Dijkstra et Bellmann-Ford • Arbres • Arbres de recouvrement minimaux • Problèmes de flots • Coloriage de graphes, graphes planaires • Couplage • Chemins d’Euler et de Hamilton • Problèmes NP-complets Cours de graphes 7 - Intranet

  3. 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 Cours de graphes 7 - Intranet

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

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

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

  7. Rappels sur la NP-complétude----------------------------------------------------------------- • Nous remplaçons une exploration à l’aide du back-track • par un appel à l’oracle. • L’oracle répond au bout de . . . ? • La complexité de l’oracle est bien-sûr en O ( 1 ) . • Je sais réaliser un oracle en temps exponentiel ! • Il suffit de faire un back-track en cachette ! ! ! Cours de graphes 7 - Intranet

  8. Rappels sur la NP-complétude----------------------------------------------------------------- • Autre formulation de la classe de problèmes « N P » ! • Ce sont les problèmes qui : • acceptent, pour chaque instance, un nombre borné de candidats à être la solution, • pour lesquels, la vérification qu’un candidat quelconque est solution appartient à « P  ». Cours de graphes 7 - Intranet

  9. Rappels sur la NP-complétude----------------------------------------------------------------- • Théorème : • P N P U N P ? ? ? ? ? P ? ? P = N P c’est-à-dire N P \ P = o / Cours de graphes 7 - Intranet

  10. Rappels sur la NP-complétude----------------------------------------------------------------- • Définissons la classe « N P C  », c’est-à-dire les problèmes « N-P-complets » : Difficile. N P C N P P Facile. Ce seront les problèmes les plus difficiles de « N P » ! L’idée : Si eux sont dans « P », alors« P = N P »! ! ! Cours de graphes 7 - Intranet

  11. Rappels sur la NP-complétude----------------------------------------------------------------- • Il nous faut une notion de traduction ! • Soit un problème P : D -> BOOL • Soit un problème P : D -> BOOL • P se réduit polynômialement en P , noté P <= P • si et seulement si : • il existe f : D -> D avec f e P • telle que pour tout x e D : • P ( x ) = P ( f ( x ) ) 1 1 2 2 1 2 1 2 P 1 2 1 1 2 Cours de graphes 7 - Intranet

  12. Rappels sur la NP-complétude----------------------------------------------------------------- • L’idée derrière la traduction : P Calcul ! 1 x Vrai ou Faux Le même résultat ! Traduction ! P Calcul ! 2 f ( x ) Vrai ou Faux Cours de graphes 7 - Intranet

  13. Rappels sur la NP-complétude----------------------------------------------------------------- • Définition : • La classe « N P C » est la classe des problèmes P tels que : • P eN P . • Pour tout Q eN P on a : Q <= P . • Tout le monde se réduit vers P . • P est donc le plus difficile ! ! ! • Si P , P’ eN P C , alors il sont ex aequo en difficulté : • P <= P’ et P’ <= P . P P P Cours de graphes 7 - Intranet

  14. Rappels sur la NP-complétude----------------------------------------------------------------- • Et si « N P C » était vide ? ? ? • C’est-à-dire, un tel problème universel n’existe pas ! ! ! • Théorème (Cook, 1971) : • SAT eN P C . • Il n’y a pas plus difficile (dans N P C) que la logique. • Principe de la preuve : • Tout problème dans « N P » peut être traduit en une formule logique. • Analogie : Tout texte peut être traduit en une formule alphabétique. Cours de graphes 7 - Intranet

  15. Rappels sur la NP-complétude----------------------------------------------------------------- N P C N P SAT P Cours de graphes 7 - Intranet

  16. Rappels sur la NP-complétude----------------------------------------------------------------- • Conséquences : • S’il existe un seul problème PeN P C • pour lequel on trouve un algorithme en temps polynômial et déterministe, • alors P = N P ! • S’il existe un seul problème PeN P C • pour lequel on prouve qu’un algorithme en temps polynômial et déterministe ne peut pas exister, • alors P = N P ! Le problème universel est facile ! Personne n'a réussi ! / Le problème universel est difficile ! Cours de graphes 7 - Intranet

  17. Rappels sur la NP-complétude----------------------------------------------------------------- • Concrètement : • Vous avez un problème qui vous résiste ? • Essayez de savoir s’il est N-P-complet ! • le Garey and Johnson, ou Internet, ou . . . • Comment prouver qu’il 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 On vous donne la solution et vous vérifiez que c’en est bien une ! P Cours de graphes 7 - Intranet

  18. 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 Cours de graphes 7 - Intranet

  19. £ £ £ £ £ £ £ P P P P P P P Réductions polynômiales----------------------------------------------------------------- • Nous construirons les réductions polynômiales suivantes : CIRCUIT-SAT De la logique ! SAT 3-SAT FNC CLIQUE VERTEX COVER 0-1 LINEAR PROG. et VERTEX C. SUBSET SUM SET PARTITION Cours de graphes 7 - Intranet

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

  21. £ £ £ £ £ £ £ P P P P P P P Réductions polynômiales----------------------------------------------------------------- • Nous construirons les réductions polynômiales suivantes : CIRCUIT-SAT De l'arithmétique ! SAT 3-SAT FNC CLIQUE VERTEX COVER 0-1 LINEAR PROG. et VERTEX C. SUBSET SUM SET PARTITION Cours de graphes 7 - Intranet

  22. £ £ £ £ £ £ £ P P P P P P P Réductions polynômiales----------------------------------------------------------------- • Nous construirons les réductions polynômiales suivantes : Les transitions entre domaines sont difficiles ! CIRCUIT-SAT SAT 3-SAT FNC CLIQUE VERTEX COVER 0-1 LINEAR PROG. et VERTEX C. SUBSET SUM SET PARTITION Cours de graphes 7 - Intranet

  23. £ £ £ £ £ £ £ P P P P P P P Réductions polynômiales----------------------------------------------------------------- SAT est dans NPC et donc les autres aussi ! • Nous construirons les réductions polynômiales suivantes : CIRCUIT-SAT SAT 3-SAT FNC CLIQUE VERTEX COVER 0-1 LINEAR PROG. et VERTEX C. SUBSET SUM SET PARTITION Cours de graphes 7 - Intranet

  24. SAT se réduit en CIRCUIT-SAT----------------------------------------------------------------- • CIRCUIT-SAT • « n » variables logiques et un circuit logique construit à partir des circuits de base et , ou ou not . • La question : Le circuit peut-il rendre la valeur « Vrai » pour un choix adéquat des valeurs des variables ? CIRCUIT-SAT est bien dans NP , car si on nous donne une solution nous sommes capables de vérifier que c’en est bien une en temps polynômial et de façon déterministe ! Cours de graphes 7 - Intranet

  25. SAT se réduit en CIRCUIT-SAT----------------------------------------------------------------- • CIRCUIT-SAT • « n » variables logiques et un circuit logique construit à partir des circuits de base et , ou ou not . • La question : Le circuit peut-il rendre la valeur « Vrai » pour un choix adéquat des valeurs des variables ? • La réduction : • Nous allons traduire une formule logique de SAT en un circuit de CIRCUIT-SAT qui donne les mêmes résultats ! Cours de graphes 7 - Intranet

  26. SAT se réduit en CIRCUIT-SAT----------------------------------------------------------------- • La réduction : • Variable 3-SAT -> variable CIRCUIT-SAT. • ù x -> x • ( a v b v . . . v z ) -> a • b • . . . . . . • z • ( a b . . . z ) ->a • b • . . . . .. • z L'équivalence est évidente ! . . . La réduction est dans P ! v v v . . . Cours de graphes 7 - Intranet

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

  28. 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. • ( ( 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. • ( a v ù b v c ) ( a v d v e ) . . . ( ù d v c v e ) v v v v v 3-SAT FNC est bien dans NP , car si on nous donne une solution nous sommes capables de vérifier que c’en est bien une en temps polynômial et de façon déterministe ! Cours de graphes 7 - Intranet

  29. 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. • ( ( 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. • ( 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. v v v v v Cours de graphes 7 - Intranet

  30. SAT se réduit en 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 que • y est vraie • et • y est équivalente à ( A op B ) • Ensuite, il suffit de traduire cette équivalence en une disjonction. y( y <=> A op B ) v Cours de graphes 7 - Intranet

  31. 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 f qui est une disjonction de conjonctions : • ( y A B ) v ( ù y ù A B ) v ( y ù A ù B ) v . . . • La négation de f est la formule recherchée. D’après de « De Morgan », nous obtenons : • ( ù y v ù A v ù B ) ( y v A v ù B ) ( ù y v A v B ) . . . v v v v v v v v v Cette réduction est bien polynômiale ! Cours de graphes 7 - Intranet

  32. 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 f qui est une disjonction de conjonctions : • ( y A B ) v ( ù y ù A B ) v ( y ù A ù B ) • La négation de f est la formule recherchée. D’après de « De Morgan », nous obtenons : • ( ù 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 , => , <=> , . . . v v v v v v v v Cours de graphes 7 - Intranet

  33. SAT se réduit en 3-SAT FNC----------------------------------------------------------------- U N E X E M P L E Cours de graphes 7 - Intranet

  34. SAT se réduit en 3-SAT FNC----------------------------------------------------------------- ( ( ( x => x ) x ) v x ) v 2 3 2 1 y 1 y 1 v y ( y <=> ( y v x ) ) v 2 1 2 1 x v 1 ( y <=> ( y x ) ) v y v 2 3 2 3 x => ( y <=> ( x => x ) ) v 2 3 2 3 x x 3 2 Ecrivons sa table de vérité ! Cours de graphes 7 - Intranet

  35. SAT se réduit en 3-SAT FNC----------------------------------------------------------------- ( ( ( x => x ) x ) v x ) v 2 3 2 1 y x x . . . 3 2 3 y 0 0 0 0 1 0 0 1 0 ( y <=> ( y v x ) ) v 1 2 1 0 1 0 1 ( y <=> ( y x ) ) v v 2 3 2 0 1 1 0 ( y <=> ( x => x ) ) v 1 0 0 1 3 2 3 1 0 1 1 f = ( ù y ù x ù x ) v ( ù y ù x x ) v . . . v v 3 2 3 1 1 0 0 v v 1 1 1 1 3 2 3 Cours de graphes 7 - Intranet

  36. SAT se réduit en 3-SAT FNC----------------------------------------------------------------- ( ( ( x => x ) x ) v x ) v 2 3 2 1 y x x . . . 3 2 3 y 0 0 0 0 1 0 0 1 0 ( y <=> ( y v x ) ) v 1 2 1 0 1 0 1 ( y <=> ( y x ) ) v v 2 3 2 0 1 1 0 ( y <=> ( x => x ) ) v 1 0 0 1 3 2 3 1 0 1 1 ù f = ( y v x v x ) ( y v x v ù x ) . . . 3 2 3 1 1 0 0 v v 1 1 1 1 3 2 3 Cours de graphes 7 - Intranet

  37. SAT se réduit en 3-SAT FNC----------------------------------------------------------------- Etc . . . ( ( ( x => x ) x ) v x ) v 2 3 2 1 y x x . . . 3 2 3 y 0 0 0 0 1 0 0 1 0 ( y <=> ( y v x ) ) v 1 2 1 0 1 0 1 ( y <=> ( y x ) ) v v 2 3 2 0 1 1 0 ( y v x v x ) v 1 0 0 1 3 2 3 1 0 1 1 ( y v x v ù x ) v 3 2 3 1 1 0 0 . . . 1 1 1 1 v Cours de graphes 7 - Intranet

  38. £ £ £ £ £ £ £ P P P P P P P Réductions polynômiales----------------------------------------------------------------- C'est plus difficile ! Nous passons de la logique aux graphes ! • Nous construirons les réductions polynômiales suivantes : CIRCUIT-SAT SAT 3-SAT FNC CLIQUE VERTEX COVER 0-1 LINEAR PROG. et VERTEX C. SUBSET SUM SET PARTITION Cours de graphes 7 - Intranet

  39. 3-SAT FNC se réduit en CLIQUE----------------------------------------------------------------- • Une clique d’un graphe G = ( V , E ) est un sous-ensemble des sommets qui sont tous voisins les uns des autres ! Une clique de 3 sommets ! Cours de graphes 7 - Intranet

  40. 3-SAT FNC se réduit en CLIQUE----------------------------------------------------------------- • Une clique d’un 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 ? • CLIQUE est dans NP car nous savons vérifier dans P si un ensemble de sommets est une clique ou non ! L’unique clique de 4 sommets ! Cours de graphes 7 - Intranet

  41. 3-SAT FNC se réduit en CLIQUE----------------------------------------------------------------- • Soit une formule 3-SAT FNC constituée de k conjonctions : • Nous allons montrer que cette formule peut être rendue vraie si et seulement s’il existe une clique de taille k dans un certain graphe. • CLIQUE sera donc au moins aussi difficile que 3-SAT FNC, c’est-à-dire vraisemblablement exponentiel en général. F = C . . . C v v k 1 C = T v T v T T = x | ù x i i,1 i,2 i,3 i,j p p Cours de graphes 7 - Intranet

  42. 3-SAT FNC se réduit en CLIQUE----------------------------------------------------------------- • La construction du graphe : • A chaque terme T nous associons un sommet. • 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 l’un de l’autre. i,j i,j m,n Ils peuvent être vrais en même temps ! Cours de graphes 7 - Intranet

  43. 3-SAT FNC se réduit en CLIQUE----------------------------------------------------------------- • La construction du graphe : • A chaque terme T nous associons un sommet. • 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 l’un de l’autre. • Cette construction est clairement déterministe et peut se faire en temps polynômial. i,j i,j m,n Cours de graphes 7 - Intranet

  44. 3-SAT FNC se réduit en CLIQUE----------------------------------------------------------------- ( x v ù x v ù x ) ( ù x v x v x ) ( x v x v x ) v v 1 2 3 1 2 3 1 2 4 En construction . . . NON COMPATIBLES ! x ù x ù x 1 2 3 ù x x 1 1 x x 2 2 x x 3 4 Cours de graphes 7 - Intranet

  45. 3-SAT FNC se réduit en CLIQUE----------------------------------------------------------------- ( x v ù x v ù x ) ( ù x v x v x ) ( x v x v x ) v v 1 2 3 1 2 3 1 2 4 Le voilà ! x ù x ù x 1 2 3 ù x x 1 1 x x 2 2 x x 3 4 Cours de graphes 7 - Intranet

  46. x est quelconque ! 3-SAT FNC se réduit en CLIQUE----------------------------------------------------------------- 3 ( x v ù x v ù x ) ( ù x v x v x ) ( x v x v x ) v v 1 2 3 1 2 3 1 2 4 • 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 ! • 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é ! ! ! Cours de graphes 7 - Intranet

  47. 3-SAT FNC se réduit en CLIQUE----------------------------------------------------------------- ( x v ù x v ù x ) ( ù x v x v x ) ( x v x v x ) v v 1 2 3 1 2 3 1 2 4 Une solution ! x ù x ù x 1 2 3 ù x x 1 1 x x 2 2 x x 3 4 Cours de graphes 7 - Intranet

  48. 3-SAT FNC se réduit en CLIQUE----------------------------------------------------------------- ( x v ù x v ù x ) ( ù x v x v x ) ( x v x v x ) v v 1 2 3 1 2 3 1 2 4 Une autre solution ! x ù x ù x 1 2 3 ù x x 1 1 x x 2 2 x x 3 4 Cours de graphes 7 - Intranet

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

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

More Related