1/23 Optimisation sous-modulaire Guillaume Aubian 14 avril 2016
2/23 Définition Soient f : E R et g : E {true, false} Problème de minimisation associé : Trouver x E tel que : g(x) = true y E, f (x) f (y)
3/23 Savoir minimiser, c est cool... Quitte à remplacer f par f, maximiser c est minimiser
4/23 Savoir minimiser, c est cool... Quitte à remplacer f par f, maximiser c est minimiser Exemple : Maximiser f définie ainsi : E = {1,..., 49} 8 f : x somme que je gagne si je joue x au loto demain g : _ true
5/23...mais c est dur :( Indécidable si E infini Même si f et g calculables.
6/23...mais c est dur :( Indécidable si E infini Même si f et g calculables. Même si f : E {42}
7/23...mais c est dur :( Indécidable si E infini Même si f et g calculables. Même si f : E {42} Ou alors les matheux sont idiots : Comment démontrer un théorème trivial : E = {2k k > 1} f : x 42 g : x p 1, p 2 P, p 1 + p 2 x
8/23 Cas continu Définition On dit que f : R n R convexe si x, y R n, 0 λ 1, f (λx + (1 λ)y) λf (x) + (1 λ)f (y)
9/23 Cas continu Si E = R n f convexe g convexe Alors on sait minimiser f Et rapidement (polynomial en #digits) Méthode de l Ellipsoïde (1972), interêt théorique Méthode des points intérieurs (1984), très rapide
10/23 Cas discret E fini trivial d optimiser en O( E ) Si E = 2 V, peut-on optimiser en O(P( V )) = O(P(log E ))?
11/23 Cas discret E fini trivial d optimiser en O( E ) Si E = 2 V, peut-on optimiser en O(P( V )) = O(P(log E ))? Si oui, les infos sont idiots : Comment démontrer un théorème trivial : V = un ensemble de variables Soit ϕ une formule logique sur V f : x 1 si ϕ(x), 0 sinon g : _ true
12/23 Sous-modularité Définition Soit f : 2 V R On dit que f est sous-modulaire si : A, B 2 V, f (A) + f (B) f (A B) + f (A B) qui équivaut à : A B V, x 1 V, f (A {x 1 }) f (A) f (B {x 1 }) f (B) La première est pratique pour les calculs, la seconde pour l intuition
13/23 Optimisation sous-modulaire Soit f : 2 V R sous-modulaire, on sait...... minimiser f en temps (fortement) polynomial selon 2 V... que maximiser f est NP-complet... obtenir une (1 1 e )-approximation du maximum... qu un meilleur approximateur entraîne P=NP... faire un truc SWAG et inutile : les arbres de Gomory-Hu
14/23 Stabilité sous-modulaire Les fonctions sous-modulaires sont stables par : Composition gauche par une fonction croissante Et donc par multiplication par un scalaire positif Addition Composition gauche par une fonction concave Composition droite par le complémentaire Minimisation contre certaines fonctions
15/23 Exemple : fonction bugdet À tout i V, on associe un poids w i Fonction budget f : A V cste + i A w i est sous-modulaire Inutile tout seul car trivial à optimiser, cool avec les sommes Seule fonction f sous-modulaire, telle que f l est aussi
16/23 Autres exemples Min-Cut Petit trick pour virer la solution Peu importe que le graphe soit orienté (+ hypergraphe?) Problèmes NP-Complet Plein de NP-complets = maximiser une fonction sous-modulaire Set-cover Rang des matroïdes Certaines formulations de Max-Sat...
17/23 Algorithme de minimisation Complexité : O((γn 4 + n 5 )log(max_value))... C est beaucoup :( Date de 2012 (par Satoru Iwata) donc surement améliorable
18/23 Algorithme de maximisation Juste un glouton Difficile de prouver que resultat = (1 1 e )maximum Mieux P = NP Cool pour prouver la complexité d algos
19/23 Algorithme de maximisation resultat = (1 1 e )maximum Vrai même si on met une restriction sur la taille de la solution (par exemple, minimiser parmi les solutions de cardinal 42) Dans le cas de la minimisation, ça devient d un coup NP-complet!
20/23 Arbres de Gomory-Hu Soit f symétrique ( A V, f (A) = f (V A)) On note min i,j (f ) = min(f (S) S tq i S, j / S) Théorème Il existe un (unique à enracinage près) arbre pondéré A de sommets V, tel que : i, j V, min i,j (f ) = min(w(e), e Chemin de i à j dans A )
21/23 Arbres de Gomory-Hu Théorème Il existe un (unique à enracinage près) arbre pondéré A de sommets V, tel que : i, j V, min i,j (f ) = min(w(e), e Chemin de i à j dans A ) Algorithme de Gomory-Hu pour le calculer On sait le faire en n 1 appels de f (n 2 semblent nécessaires)
22/23 Interêt des arbres de Gomory-Hu Euh...
23/23 Conclusion Minimiser c est cool mais c est lent Maximiser c est cool mais c est pas parfait Pouvoir combiner des fonctions sous-modulaires c est cool Les arbres de Gomory-Hu... euh...