Fonction sous-modulaire

Un article de Wikipédia, l'encyclopédie libre.

En optimisation combinatoire, les fonctions sous-modulaires sont des fonctions d'ensemble particulières.

Soient E un ensemble et f une fonction qui à tout sous-ensemble X de E associe un réel f(X), on dit que f est sous-modulaire si l'inégalité suivante est vérifiée pour tous sous-ensembles X et Y de E

Les fonctions sous-modulaires peuvent être vues comme l'analogue discret des fonctions convexes[1].

Définition[modifier | modifier le code]

Soient E un ensemble et f une fonction qui à tout sous-ensemble X de E associe un réel f(X), on dit que f est sous-modulaire si l'inégalité suivante est vérifiée pour tous sous-ensembles X et Y de E

Une définition équivalente est que pour tout avec et tout on a : . Cette définition est parfois appelée loi des rendements décroissants, notamment dans l'application à l'économie[2].

Exemples[modifier | modifier le code]

Des exemples de fonctions sous-modulaires sont les fonctions de rang des matroïdes, ou en théorie des graphes la fonction qui associe à tout sous-ensemble de sommets d'un graphe la cardinalité de sa coupe[3]. On trouve aussi des exemples en théorie de l'information, comme l'entropie de Shannon, ou dans la théorie des probabilités.

Aspects algorithmiques[modifier | modifier le code]

Le résultat important en algorithmique à propos des fonctions sous-modulaires est le suivant :

On peut minimiser une fonction sous-modulaire en temps (fortement) polynomial[3].

Un cas particulier est le calcul de la coupe minimum d'un graphe.

A contrario, la maximisation d'une fonction sous-modulaire définit un problème de décision NP-complet, mais sa résolution via un algorithme glouton fournit un algorithme d'approximation[4]. Le problème de couverture maximale est un exemple de telle maximisation.

Utilisations[modifier | modifier le code]

Ce type de fonction apparait en apprentissage automatique. Par exemple, en sélection de caractéristique, étant donné des données de grande dimension, on cherche à trouver un petit ensemble de variables qui soit les plus pertinentes, et cette pertinence peut parfois être représentée par une fonction sous-modulaire.

Bibliographie[modifier | modifier le code]

  • Alexander Schrijver, « A Combinatorial Algorithm Minimizing Submodular Functions in Strongly Polynomial Time », J. Comb. Theory, Ser. B, vol. 80, no 2,‎ , p. 346-355

Notes et références[modifier | modifier le code]

  1. László Lovász, « Submodular functions and convexity », Mathematical Programming The State of the Art,‎ , p. 235-257 (lire en ligne)
  2. Andreas Krause et Daniel Golovin, « Submodular Function Maximization », sur École polytechnique fédérale de Zurich, .
  3. a et b Alexander Schrijver, « A Combinatorial Algorithm Minimizing Submodular Functions in Strongly Polynomial Time », J. Comb. Theory, Ser. B, vol. 80, no 2,‎ , p. 346-355
  4. George L Nemhauser, Laurence A Wolsey et Marshall L Fisher, « An analysis of approximations for maximizing submodular set functions—I », Mathematical Programming, vol. 14, no 1,‎ , p. 265-294.