Comment trouver des problèmes difficiles faciles? Florian Sikora

Documents pareils
La NP-complétude. Johanne Cohen. PRISM/CNRS, Versailles, France.

Exemples de problèmes et d applications. INF6953 Exemples de problèmes 1

Resolution limit in community detection

Cours de Master Recherche

Programmation linéaire

ALGORITHMIQUE II NOTION DE COMPLEXITE. SMI AlgoII

Nouvelles propositions pour la résolution exacte du sac à dos multi-objectif unidimensionnel en variables binaires

Objectifs du cours d aujourd hui. Informatique II : Cours d introduction à l informatique et à la programmation objet. Complexité d un problème (2)

Communications collectives et ordonnancement en régime permanent pour plates-formes hétérogènes

Optimisation Discrète

Sujet 4: Programmation stochastique propriétés de fonction de recours

Polynômes à plusieurs variables. Résultant

1 de 46. Algorithmique. Trouver et Trier. Florent Hivert. Mél : Florent.Hivert@lri.fr Page personnelle : hivert

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://

Programmation Linéaire - Cours 1

Annexe 6. Notions d ordonnancement.

Nouvelles propositions pour la résolution exacte du problème de sac à dos bi-objectif unidimensionnel en variables binaires

Optimisation des fonctions de plusieurs variables

Optimisation Combinatoire (Méthodes approchées) II. Recherche Locale simple (Les bases)

Optimisation multi-critère pour l allocation de ressources sur Clouds distribués avec prise en compte de l énergie

Commun à tous les candidats

Cours Optimisation Partie Optimisation Combinatoire. Année scolaire Gérard Verfaillie ONERA/DCSD/CD, Toulouse

La programmation linéaire : une introduction. Qu est-ce qu un programme linéaire? Terminologie. Écriture mathématique

Raisonnement par récurrence Suites numériques

Chapitre 7. Récurrences

Intelligence Artificielle Planification

Exercices - Polynômes : corrigé. Opérations sur les polynômes

aux différences est appelé équation aux différences d ordre n en forme normale.

Plus courts chemins, programmation dynamique

Continuité et dérivabilité d une fonction

Sites web éducatifs et ressources en mathématiques

Équations non linéaires

OPTIMISATION À UNE VARIABLE

Limites finies en un point

Baccalauréat S Antilles-Guyane 11 septembre 2014 Corrigé

U.F.R. Sciences Fondamentales et Appliquées. pour obtenir. le grade de Docteur en Sciences. Spécialité : informatique

Quelques tests de primalité

Exercices du Cours de la programmation linéaire donné par le Dr. Ali DERBALA

Cours de Recherche Opérationnelle IUT d Orsay. Nicolas M. THIÉRY. address: Nicolas.Thiery@u-psud.fr URL:

Soit la fonction affine qui, pour représentant le nombre de mois écoulés, renvoie la somme économisée.

Big data : vers une nouvelle science des risques?

Programmation linéaire

Programmation Par Contraintes

Chapitre 6. Fonction réelle d une variable réelle

Capacité d un canal Second Théorème de Shannon. Théorie de l information 1/34

Chp. 4. Minimisation d une fonction d une variable

Problèmes arithmétiques issus de la cryptographie reposant sur les réseaux

Optimisation non linéaire Irène Charon, Olivier Hudry École nationale supérieure des télécommunications

Améliorer les performances du site par l'utilisation de techniques de Web Mining

Concurrence imparfaite

Model checking temporisé

Baccalauréat ES Polynésie (spécialité) 10 septembre 2014 Corrigé

La gestion de données dans le cadre d une application de recherche d alignement de séquence : BLAST.

Identification de nouveaux membres dans des familles d'interleukines

Contexte. Pour cela, elles doivent être très compliquées, c est-à-dire elles doivent être très différentes des fonctions simples,

Mlle Yasmin A. RÍOS SOLÍS

Rappels sur les suites - Algorithme

Débuter avec EXPRESS. Alain Plantec. 1 Schema 2

Intelligence Artificielle et Systèmes Multi-Agents. Badr Benmammar

Sécurité par compression! ReSIST Gilles RICHARD IRIT

Stratégie de recherche adaptative en programmation par contrainte

FACTURATION. Menu. Fonctionnement. Allez dans le menu «Gestion» puis «Facturation» 1 Descriptif du dossier (onglet Facturation)

L exclusion mutuelle distribuée

FIMA, 7 juillet 2005

Masses de données. 1. Introduction 2. Problématiques 3. Socle de formation (non présenté) 4. Liens avec Formation INSA

Cours des Méthodes de Résolution Exactes Heuristiques et Métaheuristiques

Simulation de variables aléatoires

Pourquoi l apprentissage?

Activité 11 : Nuage de points ou diagramme de dispersion

ARBRES BINAIRES DE RECHERCHE

Master of Science en mathématiques

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

Cryptographie et fonctions à sens unique

LES MÉTHODES DE POINT INTÉRIEUR 1

Comment démontrer des formules sans effort? exposé de maîtrise

Chapitre VI - Méthodes de factorisation

Première partie. Préliminaires : noyaux itérés. MPSI B 6 juin 2015

Théorème du point fixe - Théorème de l inversion locale

Echantillonnage Non uniforme

AVERTISSEMENT. D'autre part, toute contrefaçon, plagiat, reproduction encourt une poursuite pénale. LIENS

Encryptions, compression et partitionnement des données

Théorie des Graphes Cours 3: Forêts et Arbres II / Modélisation

Info0804. Cours 6. Optimisation combinatoire : Applications et compléments

Cours 1 : Qu est-ce que la programmation?

CHAPITRE 5. Stratégies Mixtes

Jean-Philippe Préaux

Programmation Visual Basic. Visite guidée d'un programme Visual Basic 6.0

Initiation à LabView : Les exemples d applications :

Optimisation for Cloud Computing and Big Data

Le théorème de Perron-Frobenius, les chaines de Markov et un célèbre moteur de recherche

I. Polynômes de Tchebychev

Développements limités. Notion de développement limité

6. Hachage. Accès aux données d'une table avec un temps constant Utilisation d'une fonction pour le calcul d'adresses

Baccalauréat ES Pondichéry 7 avril 2014 Corrigé

TRACER LE GRAPHE D'UNE FONCTION

Les transactions 1/46. I même en cas de panne logicielle ou matérielle. I Concept de transaction. I Gestion de la concurrence : les solutions

Chapitre 3. Quelques fonctions usuelles. 1 Fonctions logarithme et exponentielle. 1.1 La fonction logarithme

Chapitre 4 : Exclusion mutuelle

Algorithmes de recherche

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

Transcription:

1 Comment trouver des problèmes difficiles faciles? Florian Sikora

2 Plan Contourner la difficulté

3 Difficulté Théorème du doigt mouillé La plupart des problèmes combinatoires intéressants sont NP-difficiles Approuvé par F. Foch : Ne me dites pas que ce problème est difficile. S il n était pas difficile, ce ne serait pas un problème.

3 Difficulté Théorème du doigt mouillé La plupart des problèmes combinatoires intéressants sont NP-difficiles Approuvé par F. Foch : Ne me dites pas que ce problème est difficile. S il n était pas difficile, ce ne serait pas un problème. Problèmes NP-complets : N existe probablement pas d algorithme exact de complexité pire cas polynomiale (par ex. O(n c )).

4 Difficulté Garey and Johnson 1979. Je suis trop bête pour trouver un algorithme efficace pour ce problème...... comme toutes ces personnes reconnues!

4 Difficulté Garey and Johnson 1979. Je suis trop bête pour trouver un algorithme efficace pour ce problème...... comme toutes ces personnes reconnues! Adaptation D. Hermelin 2009. Et alors?! J ai besoin d une solution!

Que faire? Pour contourner la difficulté, boîte à outil ( c F.H.) : Trouver des instances plus simples. Complexité paramétrée. Algorithmes modérément exponentiels. Approximation (polynomiale). Approximation non polynomiale. ILP....

6 Complexité paramétrée Mesurer la complexité seulement en fonction de la taille de la donnée signifie ignorer toute information structurelle sur l instance donnée... J. Flum et M. Grohe Question : Quand un problème venant de la vie réelle n a pas d autre structure que sa taille? Réponse : Jamais! R. Downey et M. Fellows

6 Complexité paramétrée Mesurer la complexité seulement en fonction de la taille de la donnée signifie ignorer toute information structurelle sur l instance donnée... J. Flum et M. Grohe Question : Quand un problème venant de la vie réelle n a pas d autre structure que sa taille? Réponse : Jamais! R. Downey et M. Fellows L idée fondamentale est de restreindre l explosion combinatoire, semble-t-il inévitable, qui est responsable de la croissance exponentielle du temps de calcul, à un paramètre spécifique au problème... R. Niedermeier

7 Complexité paramétrée : Exemple du Vertex Cover

7 Complexité paramétrée : Exemple du Vertex Cover

8 Complexité paramétrée Problème dans la classe FPT si algorithme exact avec complexité pire cas de la forme f (k) X c. Par ex. O(2k n 2 ) ou O(2 222222k n).

9 Complexité paramétrée - En pratique? Souvent des paramètres naturels (petits) dans des applications. Taille k de la requête dans une base de données de taille n. k étapes dans un jeu à n mouvements possibles. Aligner k séquences d ADN de taille n. Nombre k de sommets intéressants dans un réseau social de taille n. Nombre n de votants parmi k candidats. IA. Strip Planning : taille k du plan....

9 Complexité paramétrée - En pratique? Souvent des paramètres naturels (petits) dans des applications. Taille k de la requête dans une base de données de taille n. k étapes dans un jeu à n mouvements possibles. Aligner k séquences d ADN de taille n. Nombre k de sommets intéressants dans un réseau social de taille n. Nombre n de votants parmi k candidats. IA. Strip Planning : taille k du plan.... k 10000 pour le problème Cluster Editing en quelques minutes.

Complexité paramétrée - Dark side Classes de complexités... fpt-réductions préservant le paramètre. Transformer une instance (G, k) d Independent Set en une instance (G, n k) de Vertex Cover n est pas une fpt-réduction. Transformer une instance (G, k) d Independent Set en une instance (G, k) de Clique est une fpt-réduction.

Complexité paramétrée - Dark side Classes de complexités... fpt-réductions préservant le paramètre. Transformer une instance (G, k) d Independent Set en une instance (G, n k) de Vertex Cover n est pas une fpt-réduction. Transformer une instance (G, k) d Independent Set en une instance (G, k) de Clique est une fpt-réduction. Existe une analogie avec le théorème de Cook-Levin pour démarrer. Par ex., Independent Set pas dans FPT pour le paramètre taille de la solution.

11 Noyaux Pre-processing de l instance. Obtenir en temps polynomial une instance équivalente de taille bornée par une fonction du paramètre. But : noyau de la plus petite taille possible (polynomial vs non-polynomial) Temps polynomial X k X k f (k) g(k)

Noyaux - Max 3-Sat Max 3-Sat Entrée : n variables, m clauses. Paramètre : un entier k. Question : Existe-t-il une affectation des variables pour satisfaire au moins k clauses?

Noyaux - Max 3-Sat Max 3-Sat Entrée : n variables, m clauses. Paramètre : un entier k. Question : Existe-t-il une affectation des variables pour satisfaire au moins k clauses? Il existe une affectation pour satisfaire la moitié des clauses. Prendre n importe quelle affectation : Si elle satisfait la moitié des clauses, OK. Sinon, son complémentaire satisfait la moitié des clauses, OK. Si k m/2 : réduire à une instance OUI triviale (1 clause, k = 1). Sinon, m 2k, donc n 6k : instance bornée par une fonction (linéaire) de k.

Noyaux - Max 3-Sat Max 3-Sat Entrée : n variables, m clauses. Paramètre : un entier k. Question : Existe-t-il une affectation des variables pour satisfaire au moins k clauses? Il existe une affectation pour satisfaire la moitié des clauses. Prendre n importe quelle affectation : Si elle satisfait la moitié des clauses, OK. Sinon, son complémentaire satisfait la moitié des clauses, OK. Si k m/2 : réduire à une instance OUI triviale (1 clause, k = 1). Sinon, m 2k, donc n 6k : instance bornée par une fonction (linéaire) de k. Un noyau implique l appartenance à la classe FPT pour ce paramètre (brute-force).

Algorithmes modérements exponentiels But : avoir un algorithme exact en O(c n ), petit c! Par ex., O(1.8 n ) à O(1.7 n ) : facteur multiplicatif sur la taille des instances possibles.

Algorithmes modérements exponentiels Maximum Independent Set naïf : Tester tous les sous-ensembles de sommets et renvoyer le plus grand. Ω(2 n ).

15 Branchements pour Maximum Independent Set Brancher sur deux sous-problèmes et résoudre récursivement. Pour chaque v, soit : Sélectionner v (et supprimer son voisinage). Supprimer v.

15 Branchements pour Maximum Independent Set Brancher sur deux sous-problèmes et résoudre récursivement. Pour chaque v, soit : Sélectionner v (et supprimer son voisinage). Supprimer v. Algo MIS récursif : Si deg(g) 2 : polynomial. Sinon, Choisir un v. Retourner max(1 + MIS(G \ N[v]), MIS(G \ {v}). G, v Sélectionner v Supprimer v G \ N[v], v G \ {v}, v......

15 Branchements pour Maximum Independent Set Brancher sur deux sous-problèmes et résoudre récursivement. Pour chaque v, soit : Sélectionner v (et supprimer son voisinage). Supprimer v. Algo MIS récursif : Si deg(g) 2 : polynomial. Sinon, Choisir un v. Retourner max(1 + MIS(G \ N[v]), MIS(G \ {v}). Sélectionner v G, v Supprimer v G \ N[v], v G \ {v}, v...... T (n) T (n 1) + T (n d(v) 1) T (n 1) + T (n 4). Solution pour x n = x n 1 + x n 4. O(1.3803 n poly(n)) = O (1.3803 n )

16 Approximation Pour un problème d optimisation NP-difficile, pas d algorithme polynomial possible (sauf si P = NP)...... si la solution doit être optimale! Sacrifier de l exactitude pour obtenir un algorithme polynomial.

17 Approximation (problème de minimisation) On borne l erreur. Un algorithme est de r-approximation s il est polynomial et qu il retourne des solutions dont le coût est au pire r Opt. Opt r Opt Solutions

18 Approximation Difficulté Possible de prouver qu il n existe pas d algorithme d approximation inférieur à un certain ratio. But : rapprocher les deux frontières. 1 1.3606 2 Exemple pour Vertex Cover r

Approximation en temps exponentiel Problème Max Independent Set. On sait le résoudre en O (c n ). Propriété héréditaire Vérifie la propriété sur G ssi tous ses sous-graphes la vérifient. V = 16 Figure E. Tourniaire

19 Approximation en temps exponentiel Problème Max Independent Set. On sait le résoudre en O (c n ). Propriété héréditaire Vérifie la propriété sur G ssi tous ses sous-graphes la vérifient. Partager l instance en 2 parts égales. Résoudre sur chaque partie. Renvoyer le plus grand tel quel. V = 6 Ratio 1/2 : O (c n/2 ). V = 10 Figure E. Tourniaire

19 Approximation en temps exponentiel Problème Max Independent Set. On sait le résoudre en O (c n ). Propriété héréditaire Vérifie la propriété sur G ssi tous ses sous-graphes la vérifient. Partager l instance en 2 parts égales. Résoudre sur chaque partie. Renvoyer le plus grand tel quel. Ratio 1/2 : O (c n/2 ). Pas de ratio meilleur que n 1 ɛ en temps polynomial. Figure E. Tourniaire V = 6 V = 10

20 Plan Contourner la difficulté

21 Graph Motif M : G : Sortie : existe t-il un sous-graphe connexe contenant exactement toutes les couleurs de M?

21 Graph Motif M : G : Sortie : existe t-il un sous-graphe connexe contenant exactement toutes les couleurs de M?

21 Graph Motif M : G : Sortie : existe t-il un sous-graphe connexe contenant exactement toutes les couleurs de M?

22 Graph Motif Difficulté Le problème reste NP-complet, même si : G est un arbre [Lacroix et al. 2006]. Cet arbre est de degré maximum 3 et une occurrence par couleur dans M [Fellows et al. 2007]. L arbre est de profondeur 2 et une occurrence par couleur dans M [Ambalath et al. 2010]. 2 couleurs différentes dans M et G est un graphe biparti de degré maximum 4 [Fellows et al. 2007].

22 Graph Motif Difficulté Le problème reste NP-complet, même si : G est un arbre [Lacroix et al. 2006]. Cet arbre est de degré maximum 3 et une occurrence par couleur dans M [Fellows et al. 2007]. L arbre est de profondeur 2 et une occurrence par couleur dans M [Ambalath et al. 2010]. 2 couleurs différentes dans M et G est un graphe biparti de degré maximum 4 [Fellows et al. 2007]. Polynomial si : G est un caterpillar (suppression des feuilles de l arbre donne un chemin) [Ambalath et al. 2010]. Moins de n 2 sous-chemins possibles. G est un arbre où chaque couleur apparaît au plus deux fois, une occurrence par couleur dans M [S. 2011]. 2 Sat

23 Graph Motif Complexité paramétré Le problème est dans FPT avec le paramètre k = M. Course : O (87 k ) [Fellows et al. 2007]. O (4.3 k ) (programmation dynamique et technique du color-coding) [Betzler et al. 2008]. O (4 k ) et espace polynomial (Recherche de monômes multilinéaires) [Guillemot et S. 2012]. O (2.54 k ) [Koutis 2012]. O (2 k ) et espace polynomial (Narrow sieves) [Bjorklund et al. 2013] [Pinter et al. 2013]. O((2 ɛ) k ) improbable [Bjorklund et al. 2013].

23 Graph Motif Complexité paramétré Le problème est dans FPT avec le paramètre k = M. Course : O (87 k ) [Fellows et al. 2007]. O (4.3 k ) (programmation dynamique et technique du color-coding) [Betzler et al. 2008]. O (4 k ) et espace polynomial (Recherche de monômes multilinéaires) [Guillemot et S. 2012]. O (2.54 k ) [Koutis 2012]. O (2 k ) et espace polynomial (Narrow sieves) [Bjorklund et al. 2013] [Pinter et al. 2013]. O((2 ɛ) k ) improbable [Bjorklund et al. 2013]. Pas dans FPT pour le paramètre nombre de couleurs différentes dans M [Fellows et al. 2007].

24 Graph Motif Noyaux Pas de noyau polynomial même si G est un comb graph [Ambalath et al. 2010].

Graph Motif Approximation Différentes versions d optimisations associées. Par exemple, maximiser la taille de la solution. Difficile à approcher. APX-difficile, même pour G arbre de degré maximum 3 [Dondi et al. 2009]. Pas approximable à moins de n 1/3 ɛ, même pour G arbre où chaque couleur apparait au plus deux fois [Rizzi et S. 2012].

Graph Motif Algorithme modérement exponentiel Si G est un arbre, algorithme en O (1.62 n ) [Dondi et al. 2009]. Suppose la racine dans la solution. Test de l ajout de feuilles en temps polynomial. Branchement sur les sommets internes. 1. L ajouter dans la solution. 2. Ne pas l ajouter et supprimer son sous-arbre (donc au moins 2 sommets). Ajouter v G, v Ne pas ajouter v G \ {v}, v G \ T (v), v...... O (1.33 n ) si chaque couleur n apparait qu au plus une fois dans M. 26