d’autres problèmes np-completsdi.ulb.ac.be/ssd/jfr/clique-ind-partition.pdf · npc sens...

77
D’autres problèmes NP-complets Clique et ensemble indépendant Circuit hamiltonien Partition Tuesday 10 November 2009

Upload: others

Post on 21-Mar-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: D’autres problèmes NP-completsdi.ulb.ac.be/ssd/jfr/Clique-Ind-Partition.pdf · NPC sens faible-sens fort ... contient une clique à K sommets ? Pour résoudre ce problème, il

D’autres problèmes NP-complets

• Clique et ensemble indépendant

• Circuit hamiltonien

• Partition

Tuesday 10 November 2009

Page 2: D’autres problèmes NP-completsdi.ulb.ac.be/ssd/jfr/Clique-Ind-Partition.pdf · NPC sens faible-sens fort ... contient une clique à K sommets ? Pour résoudre ce problème, il

Clique et ensemble indépendant

Tuesday 10 November 2009

Page 3: D’autres problèmes NP-completsdi.ulb.ac.be/ssd/jfr/Clique-Ind-Partition.pdf · NPC sens faible-sens fort ... contient une clique à K sommets ? Pour résoudre ce problème, il

Tuesday 10 November 2009

Page 4: D’autres problèmes NP-completsdi.ulb.ac.be/ssd/jfr/Clique-Ind-Partition.pdf · NPC sens faible-sens fort ... contient une clique à K sommets ? Pour résoudre ce problème, il

Tuesday 10 November 2009

Page 5: D’autres problèmes NP-completsdi.ulb.ac.be/ssd/jfr/Clique-Ind-Partition.pdf · NPC sens faible-sens fort ... contient une clique à K sommets ? Pour résoudre ce problème, il

Tuesday 10 November 2009

Page 6: D’autres problèmes NP-completsdi.ulb.ac.be/ssd/jfr/Clique-Ind-Partition.pdf · NPC sens faible-sens fort ... contient une clique à K sommets ? Pour résoudre ce problème, il

Tuesday 10 November 2009

Page 7: D’autres problèmes NP-completsdi.ulb.ac.be/ssd/jfr/Clique-Ind-Partition.pdf · NPC sens faible-sens fort ... contient une clique à K sommets ? Pour résoudre ce problème, il

Circuit hamiltonien☝A préparer par l’étudiant (voir Garey et Johnson)

Tuesday 10 November 2009

Page 8: D’autres problèmes NP-completsdi.ulb.ac.be/ssd/jfr/Clique-Ind-Partition.pdf · NPC sens faible-sens fort ... contient une clique à K sommets ? Pour résoudre ce problème, il

Partition et algorithmes pseudo-polynomiaux

Tuesday 10 November 2009

Page 9: D’autres problèmes NP-completsdi.ulb.ac.be/ssd/jfr/Clique-Ind-Partition.pdf · NPC sens faible-sens fort ... contient une clique à K sommets ? Pour résoudre ce problème, il

Tuesday 10 November 2009

Page 10: D’autres problèmes NP-completsdi.ulb.ac.be/ssd/jfr/Clique-Ind-Partition.pdf · NPC sens faible-sens fort ... contient une clique à K sommets ? Pour résoudre ce problème, il

Tuesday 10 November 2009

Page 11: D’autres problèmes NP-completsdi.ulb.ac.be/ssd/jfr/Clique-Ind-Partition.pdf · NPC sens faible-sens fort ... contient une clique à K sommets ? Pour résoudre ce problème, il

Tuesday 10 November 2009

Page 12: D’autres problèmes NP-completsdi.ulb.ac.be/ssd/jfr/Clique-Ind-Partition.pdf · NPC sens faible-sens fort ... contient une clique à K sommets ? Pour résoudre ce problème, il

Tuesday 10 November 2009

Page 13: D’autres problèmes NP-completsdi.ulb.ac.be/ssd/jfr/Clique-Ind-Partition.pdf · NPC sens faible-sens fort ... contient une clique à K sommets ? Pour résoudre ce problème, il

Tuesday 10 November 2009

Page 14: D’autres problèmes NP-completsdi.ulb.ac.be/ssd/jfr/Clique-Ind-Partition.pdf · NPC sens faible-sens fort ... contient une clique à K sommets ? Pour résoudre ce problème, il

Tuesday 10 November 2009

Page 15: D’autres problèmes NP-completsdi.ulb.ac.be/ssd/jfr/Clique-Ind-Partition.pdf · NPC sens faible-sens fort ... contient une clique à K sommets ? Pour résoudre ce problème, il

Tuesday 10 November 2009

Page 16: D’autres problèmes NP-completsdi.ulb.ac.be/ssd/jfr/Clique-Ind-Partition.pdf · NPC sens faible-sens fort ... contient une clique à K sommets ? Pour résoudre ce problème, il

Tuesday 10 November 2009

Page 17: D’autres problèmes NP-completsdi.ulb.ac.be/ssd/jfr/Clique-Ind-Partition.pdf · NPC sens faible-sens fort ... contient une clique à K sommets ? Pour résoudre ce problème, il

Tuesday 10 November 2009

Page 18: D’autres problèmes NP-completsdi.ulb.ac.be/ssd/jfr/Clique-Ind-Partition.pdf · NPC sens faible-sens fort ... contient une clique à K sommets ? Pour résoudre ce problème, il

Tuesday 10 November 2009

Page 19: D’autres problèmes NP-completsdi.ulb.ac.be/ssd/jfr/Clique-Ind-Partition.pdf · NPC sens faible-sens fort ... contient une clique à K sommets ? Pour résoudre ce problème, il

Tuesday 10 November 2009

Page 20: D’autres problèmes NP-completsdi.ulb.ac.be/ssd/jfr/Clique-Ind-Partition.pdf · NPC sens faible-sens fort ... contient une clique à K sommets ? Pour résoudre ce problème, il

Tuesday 10 November 2009

Page 21: D’autres problèmes NP-completsdi.ulb.ac.be/ssd/jfr/Clique-Ind-Partition.pdf · NPC sens faible-sens fort ... contient une clique à K sommets ? Pour résoudre ce problème, il

Tuesday 10 November 2009

Page 22: D’autres problèmes NP-completsdi.ulb.ac.be/ssd/jfr/Clique-Ind-Partition.pdf · NPC sens faible-sens fort ... contient une clique à K sommets ? Pour résoudre ce problème, il

Tuesday 10 November 2009

Page 23: D’autres problèmes NP-completsdi.ulb.ac.be/ssd/jfr/Clique-Ind-Partition.pdf · NPC sens faible-sens fort ... contient une clique à K sommets ? Pour résoudre ce problème, il

Tuesday 10 November 2009

Page 24: D’autres problèmes NP-completsdi.ulb.ac.be/ssd/jfr/Clique-Ind-Partition.pdf · NPC sens faible-sens fort ... contient une clique à K sommets ? Pour résoudre ce problème, il

Un algorithme basé sur la programmation dynamique pour

Partition

Tuesday 10 November 2009

Page 25: D’autres problèmes NP-completsdi.ulb.ac.be/ssd/jfr/Clique-Ind-Partition.pdf · NPC sens faible-sens fort ... contient une clique à K sommets ? Pour résoudre ce problème, il

Tuesday 10 November 2009

Page 26: D’autres problèmes NP-completsdi.ulb.ac.be/ssd/jfr/Clique-Ind-Partition.pdf · NPC sens faible-sens fort ... contient une clique à K sommets ? Pour résoudre ce problème, il

Vrai

Tuesday 10 November 2009

Page 27: D’autres problèmes NP-completsdi.ulb.ac.be/ssd/jfr/Clique-Ind-Partition.pdf · NPC sens faible-sens fort ... contient une clique à K sommets ? Pour résoudre ce problème, il

Tuesday 10 November 2009

Page 28: D’autres problèmes NP-completsdi.ulb.ac.be/ssd/jfr/Clique-Ind-Partition.pdf · NPC sens faible-sens fort ... contient une clique à K sommets ? Pour résoudre ce problème, il

Vrai

Tuesday 10 November 2009

Page 29: D’autres problèmes NP-completsdi.ulb.ac.be/ssd/jfr/Clique-Ind-Partition.pdf · NPC sens faible-sens fort ... contient une clique à K sommets ? Pour résoudre ce problème, il

Tuesday 10 November 2009

Page 30: D’autres problèmes NP-completsdi.ulb.ac.be/ssd/jfr/Clique-Ind-Partition.pdf · NPC sens faible-sens fort ... contient une clique à K sommets ? Pour résoudre ce problème, il

Tuesday 10 November 2009

Page 31: D’autres problèmes NP-completsdi.ulb.ac.be/ssd/jfr/Clique-Ind-Partition.pdf · NPC sens faible-sens fort ... contient une clique à K sommets ? Pour résoudre ce problème, il

Problèmes NP complets au sens fort et au sens faible

Tuesday 10 November 2009

Page 32: D’autres problèmes NP-completsdi.ulb.ac.be/ssd/jfr/Clique-Ind-Partition.pdf · NPC sens faible-sens fort ... contient une clique à K sommets ? Pour résoudre ce problème, il

Mesure des instances • Pour les problèmes qui contiennent des valeurs numériques (comme dans

Partition), nous allons définir une nouvelle façon de mesurer les instances d’un problème;

• Rappel de la mesure classique. Nous avons décidé de mesurer la taille d’une instance à l’aide de la taille de son encodage : si w ∈ Σ* est l’encodage d’une instance alors la taille de cette instance est mesurée par |w|.

• Mesure alternative pour les problèmes avec valeurs numériques. En plus de mesurer une instance par la taille de son encodage, nous allons mesurer une instance par la valeur maximale qui apparaît dans l’instance. Nous noterons cette valeur Max(w).

• Exemple : dans le problème Partition, pour une instance (A,S) encodée dans le mot w, Max(w) renvoit la plus grande valeur dans { S(a) | a ∈ A }.

Tuesday 10 November 2009

Page 33: D’autres problèmes NP-completsdi.ulb.ac.be/ssd/jfr/Clique-Ind-Partition.pdf · NPC sens faible-sens fort ... contient une clique à K sommets ? Pour résoudre ce problème, il

Algorithmes pseudo-polynomiaux

• Un problème avec des valeurs numériques (paramètres naturels) a une solution pseudo-polynomiale si il existe un algorithme déterministe pour le résoudre et dont le temps d’exécution pour une instance encodée par w est borné par O(p(|w| + Max(w))), où p est une fonction polynomiale.

• Notons qu’avec un encodage binaire des nombres naturels, on aura que Max(w) est exponentiel par rapport à |w|. On n’a donc pas un algorithme polynomial par rapport à la mesure traditionnelle !

Tuesday 10 November 2009

Page 34: D’autres problèmes NP-completsdi.ulb.ac.be/ssd/jfr/Clique-Ind-Partition.pdf · NPC sens faible-sens fort ... contient une clique à K sommets ? Pour résoudre ce problème, il

NPC sens faible-sens fort

• Un problème est NP complet au sens faible si :

• il est NP complet;

• il a une solution pseudo-polynomiale.

• Un problème est NP complet au sens fort si :

• il est NP complet;

• il n’existe pas de solution pseudo-polynomiale sous hypothèse que P est différent de NP.

Tuesday 10 November 2009

Page 35: D’autres problèmes NP-completsdi.ulb.ac.be/ssd/jfr/Clique-Ind-Partition.pdf · NPC sens faible-sens fort ... contient une clique à K sommets ? Pour résoudre ce problème, il

TSP : NP complet au sens fort

• Dans la réduction du circuit Hamiltonien vers le TSP, les deux longueurs utilisées entre villes sont 1(présence d’un arc entre les deux sommets représentés par les villes), et 2 (absence d’un tel arc).

• Max(w) est donc toujours borné par une constante;

• Il n’existe donc pas d’algorithme pseudo-polynomial à moins que P=NP.

Tuesday 10 November 2009

Page 36: D’autres problèmes NP-completsdi.ulb.ac.be/ssd/jfr/Clique-Ind-Partition.pdf · NPC sens faible-sens fort ... contient une clique à K sommets ? Pour résoudre ce problème, il

Equivalence entre expressions régulières

sans étoile

Tuesday 10 November 2009

Page 37: D’autres problèmes NP-completsdi.ulb.ac.be/ssd/jfr/Clique-Ind-Partition.pdf · NPC sens faible-sens fort ... contient une clique à K sommets ? Pour résoudre ce problème, il

Tuesday 10 November 2009

Page 38: D’autres problèmes NP-completsdi.ulb.ac.be/ssd/jfr/Clique-Ind-Partition.pdf · NPC sens faible-sens fort ... contient une clique à K sommets ? Pour résoudre ce problème, il

Tuesday 10 November 2009

Page 39: D’autres problèmes NP-completsdi.ulb.ac.be/ssd/jfr/Clique-Ind-Partition.pdf · NPC sens faible-sens fort ... contient une clique à K sommets ? Pour résoudre ce problème, il

Tuesday 10 November 2009

Page 40: D’autres problèmes NP-completsdi.ulb.ac.be/ssd/jfr/Clique-Ind-Partition.pdf · NPC sens faible-sens fort ... contient une clique à K sommets ? Pour résoudre ce problème, il

Tuesday 10 November 2009

Page 41: D’autres problèmes NP-completsdi.ulb.ac.be/ssd/jfr/Clique-Ind-Partition.pdf · NPC sens faible-sens fort ... contient une clique à K sommets ? Pour résoudre ce problème, il

Tuesday 10 November 2009

Page 42: D’autres problèmes NP-completsdi.ulb.ac.be/ssd/jfr/Clique-Ind-Partition.pdf · NPC sens faible-sens fort ... contient une clique à K sommets ? Pour résoudre ce problème, il

Tuesday 10 November 2009

Page 43: D’autres problèmes NP-completsdi.ulb.ac.be/ssd/jfr/Clique-Ind-Partition.pdf · NPC sens faible-sens fort ... contient une clique à K sommets ? Pour résoudre ce problème, il

Tuesday 10 November 2009

Page 44: D’autres problèmes NP-completsdi.ulb.ac.be/ssd/jfr/Clique-Ind-Partition.pdf · NPC sens faible-sens fort ... contient une clique à K sommets ? Pour résoudre ce problème, il

Tuesday 10 November 2009

Page 45: D’autres problèmes NP-completsdi.ulb.ac.be/ssd/jfr/Clique-Ind-Partition.pdf · NPC sens faible-sens fort ... contient une clique à K sommets ? Pour résoudre ce problème, il

Tuesday 10 November 2009

Page 46: D’autres problèmes NP-completsdi.ulb.ac.be/ssd/jfr/Clique-Ind-Partition.pdf · NPC sens faible-sens fort ... contient une clique à K sommets ? Pour résoudre ce problème, il

Tuesday 10 November 2009

Page 47: D’autres problèmes NP-completsdi.ulb.ac.be/ssd/jfr/Clique-Ind-Partition.pdf · NPC sens faible-sens fort ... contient une clique à K sommets ? Pour résoudre ce problème, il

Autres classes de complexité

Tuesday 10 November 2009

Page 48: D’autres problèmes NP-completsdi.ulb.ac.be/ssd/jfr/Clique-Ind-Partition.pdf · NPC sens faible-sens fort ... contient une clique à K sommets ? Pour résoudre ce problème, il

Tuesday 10 November 2009

Page 49: D’autres problèmes NP-completsdi.ulb.ac.be/ssd/jfr/Clique-Ind-Partition.pdf · NPC sens faible-sens fort ... contient une clique à K sommets ? Pour résoudre ce problème, il

Tuesday 10 November 2009

Page 50: D’autres problèmes NP-completsdi.ulb.ac.be/ssd/jfr/Clique-Ind-Partition.pdf · NPC sens faible-sens fort ... contient une clique à K sommets ? Pour résoudre ce problème, il

Tuesday 10 November 2009

Page 51: D’autres problèmes NP-completsdi.ulb.ac.be/ssd/jfr/Clique-Ind-Partition.pdf · NPC sens faible-sens fort ... contient une clique à K sommets ? Pour résoudre ce problème, il

Tuesday 10 November 2009

Page 52: D’autres problèmes NP-completsdi.ulb.ac.be/ssd/jfr/Clique-Ind-Partition.pdf · NPC sens faible-sens fort ... contient une clique à K sommets ? Pour résoudre ce problème, il

Tuesday 10 November 2009

Page 53: D’autres problèmes NP-completsdi.ulb.ac.be/ssd/jfr/Clique-Ind-Partition.pdf · NPC sens faible-sens fort ... contient une clique à K sommets ? Pour résoudre ce problème, il

est bornée par un polynôme p(n).

Tuesday 10 November 2009

Page 54: D’autres problèmes NP-completsdi.ulb.ac.be/ssd/jfr/Clique-Ind-Partition.pdf · NPC sens faible-sens fort ... contient une clique à K sommets ? Pour résoudre ce problème, il

Techniques pour établir la NP complétude

Tuesday 10 November 2009

Page 55: D’autres problèmes NP-completsdi.ulb.ac.be/ssd/jfr/Clique-Ind-Partition.pdf · NPC sens faible-sens fort ... contient une clique à K sommets ? Pour résoudre ce problème, il

Technique de la restriction

Tuesday 10 November 2009

Page 56: D’autres problèmes NP-completsdi.ulb.ac.be/ssd/jfr/Clique-Ind-Partition.pdf · NPC sens faible-sens fort ... contient une clique à K sommets ? Pour résoudre ce problème, il

Tuesday 10 November 2009

Page 57: D’autres problèmes NP-completsdi.ulb.ac.be/ssd/jfr/Clique-Ind-Partition.pdf · NPC sens faible-sens fort ... contient une clique à K sommets ? Pour résoudre ce problème, il

Tuesday 10 November 2009

Page 58: D’autres problèmes NP-completsdi.ulb.ac.be/ssd/jfr/Clique-Ind-Partition.pdf · NPC sens faible-sens fort ... contient une clique à K sommets ? Pour résoudre ce problème, il

En effet, si on s’intéresse aux instances où

Tuesday 10 November 2009

Page 59: D’autres problèmes NP-completsdi.ulb.ac.be/ssd/jfr/Clique-Ind-Partition.pdf · NPC sens faible-sens fort ... contient une clique à K sommets ? Pour résoudre ce problème, il

Tuesday 10 November 2009

Page 60: D’autres problèmes NP-completsdi.ulb.ac.be/ssd/jfr/Clique-Ind-Partition.pdf · NPC sens faible-sens fort ... contient une clique à K sommets ? Pour résoudre ce problème, il

Tuesday 10 November 2009

Page 61: D’autres problèmes NP-completsdi.ulb.ac.be/ssd/jfr/Clique-Ind-Partition.pdf · NPC sens faible-sens fort ... contient une clique à K sommets ? Pour résoudre ce problème, il

Tuesday 10 November 2009

Page 62: D’autres problèmes NP-completsdi.ulb.ac.be/ssd/jfr/Clique-Ind-Partition.pdf · NPC sens faible-sens fort ... contient une clique à K sommets ? Pour résoudre ce problème, il

Un restriction de ce problème correspond au problème de la clique. En effet :

Est-ce que G=(V1,E1) contient une clique à K sommets ?

Pour résoudre ce problème, il suffit de considérer le problème d’isomorphisme de sous-graphe avec G et un graphe H qui est un graphe complet à K sommets (une clique de K sommets).

Tuesday 10 November 2009

Page 63: D’autres problèmes NP-completsdi.ulb.ac.be/ssd/jfr/Clique-Ind-Partition.pdf · NPC sens faible-sens fort ... contient une clique à K sommets ? Pour résoudre ce problème, il

Tuesday 10 November 2009

Page 64: D’autres problèmes NP-completsdi.ulb.ac.be/ssd/jfr/Clique-Ind-Partition.pdf · NPC sens faible-sens fort ... contient une clique à K sommets ? Pour résoudre ce problème, il

Tuesday 10 November 2009

Page 65: D’autres problèmes NP-completsdi.ulb.ac.be/ssd/jfr/Clique-Ind-Partition.pdf · NPC sens faible-sens fort ... contient une clique à K sommets ? Pour résoudre ce problème, il

➸ Souvent, les problèmes “réels” sont des complications de problèmes NP-complets répertoriés.

➸ Beaucoup de résultats de “NP difficulté” sont obtenus par cette technique simple.

Tuesday 10 November 2009

Page 66: D’autres problèmes NP-completsdi.ulb.ac.be/ssd/jfr/Clique-Ind-Partition.pdf · NPC sens faible-sens fort ... contient une clique à K sommets ? Pour résoudre ce problème, il

Technique du remplacement local

Tuesday 10 November 2009

Page 67: D’autres problèmes NP-completsdi.ulb.ac.be/ssd/jfr/Clique-Ind-Partition.pdf · NPC sens faible-sens fort ... contient une clique à K sommets ? Pour résoudre ce problème, il

Tuesday 10 November 2009

Page 68: D’autres problèmes NP-completsdi.ulb.ac.be/ssd/jfr/Clique-Ind-Partition.pdf · NPC sens faible-sens fort ... contient une clique à K sommets ? Pour résoudre ce problème, il

Autre exemple:Séquençage dans des intervalles (SWI)

Tuesday 10 November 2009

Page 69: D’autres problèmes NP-completsdi.ulb.ac.be/ssd/jfr/Clique-Ind-Partition.pdf · NPC sens faible-sens fort ... contient une clique à K sommets ? Pour résoudre ce problème, il

Tuesday 10 November 2009

Page 70: D’autres problèmes NP-completsdi.ulb.ac.be/ssd/jfr/Clique-Ind-Partition.pdf · NPC sens faible-sens fort ... contient une clique à K sommets ? Pour résoudre ce problème, il

Tuesday 10 November 2009

Page 71: D’autres problèmes NP-completsdi.ulb.ac.be/ssd/jfr/Clique-Ind-Partition.pdf · NPC sens faible-sens fort ... contient une clique à K sommets ? Pour résoudre ce problème, il

Tuesday 10 November 2009

Page 72: D’autres problèmes NP-completsdi.ulb.ac.be/ssd/jfr/Clique-Ind-Partition.pdf · NPC sens faible-sens fort ... contient une clique à K sommets ? Pour résoudre ce problème, il

Tuesday 10 November 2009

Page 73: D’autres problèmes NP-completsdi.ulb.ac.be/ssd/jfr/Clique-Ind-Partition.pdf · NPC sens faible-sens fort ... contient une clique à K sommets ? Pour résoudre ce problème, il

Tuesday 10 November 2009

Page 74: D’autres problèmes NP-completsdi.ulb.ac.be/ssd/jfr/Clique-Ind-Partition.pdf · NPC sens faible-sens fort ... contient une clique à K sommets ? Pour résoudre ce problème, il

Technique du design de composants

• Technique la plus compliquée

• Construction de composants qui remplissent des “missions” spécifiques pour “résoudre” le problème connu comme étant NP difficile.

Tuesday 10 November 2009

Page 75: D’autres problèmes NP-completsdi.ulb.ac.be/ssd/jfr/Clique-Ind-Partition.pdf · NPC sens faible-sens fort ... contient une clique à K sommets ? Pour résoudre ce problème, il

Ex 1 : 3SAT vers VC

• des arcs sont utilisés pour choisir une valeur de vérité pour les variables propositionnelles;

• des arcs sont utilisés pour vérifier qu’au moins 1 littéral par clause évalue à vrai.

Tuesday 10 November 2009

Page 76: D’autres problèmes NP-completsdi.ulb.ac.be/ssd/jfr/Clique-Ind-Partition.pdf · NPC sens faible-sens fort ... contient une clique à K sommets ? Pour résoudre ce problème, il

Ex 2 : 3SAT vers 3DM

• des éléments de l’ensemble de triplets M sont utilisés pour choisir une valeur de vérité pour les variables propositionnelles;

• des éléments de l’ensemble de triplets M sont utilisés pour vérifier que chaque clause contient au moins un littéral qui évalue à vrai;

• des éléments de l’ensemble des triplets M jouent un rôle plus technique dit de “garbage collection”.

Tuesday 10 November 2009

Page 77: D’autres problèmes NP-completsdi.ulb.ac.be/ssd/jfr/Clique-Ind-Partition.pdf · NPC sens faible-sens fort ... contient une clique à K sommets ? Pour résoudre ce problème, il

Ex 3 : Théorème de Cook

• Chaque contrainte qui participe à la définition de la notion d’exécution d’une machine de Turing non-déterministe est codée à l’aide d’une formule propositionnelle (un ensemble de clauses).

Tuesday 10 November 2009