Study, representation and applications of hypergraph minimal transversals

02/03/2019
by   M. Nidhal Jelassi, et al.
0

This work is part of the field of the hypergraph theory and focuses on hypergraph minimal transversal. The problem of extracting the minimal transversals from a hypergraph received the interest of many researchers as shown the number of algorithms proposed in the literature, and this is mainly due to the solutions offered by the minimal transversal in various application areas such as databases, artificial intelligence, e-commerce, semantic web, etc. In view of the wide range of fields of minimal transversal application and the interest they generate, the objective of this thesis is to explore new application paths of minimal transversal by proposing methods to optimize the extraction. This has led to three proposed contributions in this thesis. The first approach takes advantage of the emergence of Web 2.0 and, therefore, social networks using minimal transversal for the detection of important actors within these networks. The second part of research in this thesis has focused on reducing the number of hypergraph minimal transversal. A concise and accurate representation of minimal transversal was proposed and is based on the construction of an irredundant hypergraph, hence are calculated the irredundant minimal transversal of the initial hypergraph. An application of this representation to the dependency inference problem is presented to illustrate the usefulness of this approach. The last approach includes the hypergraph decomposition into partial hypergraph the local minimal transversal are calculated and their Cartesian product can generate all the hypergraph transversal sets. Different experimental studies have shown the value of these proposed approaches.

READ FULL TEXT VIEW PDF

Authors

page 1

page 2

page 3

page 4

07/24/2018

Bounding the Number of Minimal Transversals in Tripartite 3-Uniform Hypergraphs

We bound the number of minimal hypergraph transversals that arise in tri...
08/29/2019

PageRank algorithm for Directed Hypergraph

During the last two decades, we easilly see that the World Wide Web's li...
05/03/2018

On the Enumeration of Minimal Hitting Sets in Lexicographical Order

It is a long-standing open problem whether there exists an output-polyno...
06/15/2021

Hypergraph Dissimilarity Measures

In this paper, we propose two novel approaches for hypergraph comparison...
01/15/2022

Zeon and Idem-Clifford Formulations of Hypergraph Problems

Zeon algebras have proven to be useful for enumerating structures in gra...
04/01/2019

MESH: A Flexible Distributed Hypergraph Processing System

With the rapid growth of large online social networks, the ability to an...
06/16/2018

Binary Classification in Unstructured Space With Hypergraph Case-Based Reasoning

Binary classification is one of the most common problem in machine learn...
This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

1.1 Introduction

Les hypergraphes généralisent la notion de graphe en définissant des hyperarêtes qui contiennent des familles de sommets, contrairement aux arêtes classiques qui ne joignent que deux sommets. D’un point de vue théorique, les hypergraphes permettent de généraliser certains théorèmes de graphes, voire d’en factoriser plusieurs en un seul. D’un point de vue pratique, ils sont parfois préférés aux graphes puisqu’ils modélisent mieux certains types de contraintes. Dans ce chapitre, nous présentons quelques définitions essentielles sur les hypergraphes et les traverses minimales nécessaires à l’introduction de la problématique de l’extraction des traverses minimales, en se basant essentiellement sur les définitions proposées par Berge dans [Ber89]. Ensuite, nous passons en revue le large éventail des domaines d’application des traverses minimales.

1.2 Préliminaires

La théorie des hypergraphes se propose de généraliser la théorie des graphes en introduisant le concept d’hyperarête. Dans un hypergraphe où chaque hyperarête peut contenir plusieurs sommets, une traverse minimale correspond à un sous-ensemble de sommets qui intersecte toutes les hyperarêtes d’un hypergraphe, en étant minimal au sens de l’inclusion.

1.2.1 Hypergraphes

Un hypergraphe est donc constitué de deux ensembles et , et est défini suivant la Définition 1.

Définition 1

hypergraphe [Ber89]
Soit le couple avec = , , …, un ensemble fini et =
{, , …, } une famille de parties de . constitue un hypergraphe sur si :

  1. ,…, };

  2. .

Les éléments de sont appelés sommets de l’hypergraphe et les éléments de sont appelés hyperarêtes de l’hypergraphe.

Un hypergraphe est dit d’ordre n si = et la taille d’un hypergraphe est égale au nombre d’occurrences des sommets dans ses hyperarêtes.

Exemple 1

La Figure 1.1 illustre un hypergraphe d’ordre et de taille tel que et 1, 2, 2, 3, 7, 3, 4, 5, 4, 6, 6, 7, 8, 7}.

Figure 1.1: Exemple d’un hypergraphe
Définition 2

hypergraphe simple
est dit hypergraphe simple si pour tout et , alors i = j, i.e, aucune hyperarête de ne renferme une autre hyperarête, sinon, est dit hypergraphe multiple.

Ainsi, la définition des hypergraphes englobe celle des graphes. En effet, un graphe simple est un hypergraphe simple dont toutes les hyperarêtes sont de cardinalité 2, i.e., = .

Propriété 1

[Ber89]
Tout hypergraphe simple d’ordre vérifie :

1.

De plus, le nombre d’arêtes vérifie :

Définition 3

sous-hypergraphe [Ber89]
Soit l’hypergraphe et , nous appelons sous-hypergraphe de tout hypergraphe = (, ) engendré par , tel que =
{ et }

Définition 4

hypergraphe partiel [Ber89]
Soit l’hypergraphe et , nous appelons hypergraphe partiel de tout hypergraphe engendré par , tel que = . est alors la restriction de l’hypergraphe à un sous-ensemble d’hyperarêtes inclus dans et aux sommets inclus dans .

Le rang r() d’un hypergraphe est, le nombre maximum de sommets d’une hyperarête et est défini par r() = max{, }. Inversement, l’anti-rang ar() désigne le nombre minimum de sommets d’une hyperarête, i.e, ar() = min{ , } [Ber89] [EG95]. Trivialement, ar() r(). Si le rang et l’anti-rang d’un hypergraphe sont égaux, alors est dit uniforme. Tout hypergraphe uniforme est simple.

Exemple 2

Considérons l’hypergraphe de la Figure 1.1. Nous avons r() = 3 et ar() = 1. Par conséquent, n’est pas uniforme.

De plus, est dit n-uniforme si est un hypergraphe simple uniforme de rang n [EG95]. En ce sens, tout graphe est un hypergraphe uniforme de rang égal à .

Un hypergraphe est dit "intersectant" si aucun couple de ses hyperarêtes n’est disjoint, i.e., , , [EG95].

Dans un hypergraphe, deux sommets et sont dits adjacents s’il existe une hyperarête qui les contient tous les deux ; deux hyperarêtes et sont dites adjacentes si leur intersection est non vide.

Un hypergraphe peut être représenté par une matrice d’incidence, notée , définie comme suit :

Définition 5

Hypergraphe dual
A tout hypergraphe , nous pouvons faire correspondre un hypergraphe = (, ) tel que = et = . Les sommets , , , représentent les hyperarêtes de et les hyperarêtes , , , représentent les sommets , , , de , où :

= { i m, }

(j = 1, 2, , n). On a , = , donc est bien un hypergraphe.

Figure 1.2: Hypergraphe dual
Exemple 3

Reconsidérons l’hypergraphe de la Figure 1.1. La Figure 1.2 illustre l’hypergraphe dual de tel que = (, ) et 11, 2, 2, 3, 3, 4, {} 4, 5, 2, 5, 6, 5, {}}.

est appelé l’hypergraphe dual de . La matrice d’incidence de l’hypergraphe , et la matrice d’incidence de l’hypergraphe , se déduisent l’une de l’autre par transposition ; on a donc en particulier = . Si deux sommets et de sont adjacents, il leur correspond dans des hyperarêtes et adjacentes ; si deux hyperarêtes et de sont adjacentes, il leur correspond des sommets et adjacents de .

Définition 6

Traverse minimale [Ber89]
Soit un hypergraphe , . L’ensemble des traverses de , noté , est égal à : = , .

Une traverse de est dite minimale s’il n’existe pas une autre traverse S de incluse dans : .

Nous noterons , l’ensemble des traverses minimales définies sur .
Dans l’exemple illustratif de la Figure 1.1, l’ensemble des traverses minimales de l’hypergraphe est : {1, 4, 7}, {2, 4, 7}, {1, 3, 6, 7}, {1, 3, 6, 9}, {1, 5, 6, 7}, {2, 3, 6, 7}, {2, 3, 6, 9}, {2, 5, 6, 7}, {2, 4, 6, 9}, {2, 4, 8, 9}, {2, 5, 6, 9}, {1, 3, 4, 8, 9}.

A partir d’un hypergraphe = , , l’ensemble des traverses minimales permet la construction de l’hypergraphe transversal, que nous avons noté = , , tel que = et [EG02].

Lemma 1

[Ber89] Pour tout hypergraphe simple , nous avons = .

Définition 7

Nombre de Transversalité [Ber89]
Soit un hypergraphe , , le nombre minimum de sommets d’un ensemble transversal est appelé le nombre de transversalité de l’hypergraphe et est désigné par :

() = min {, s.t. }.

Ainsi, dans l’exemple illustratif de la Figure 1.1, le nombre de transversalité de l’hypergraphe est égal à car la plus petite traverse minimale de renferme sommets.

La détermination d’un nombre de transversalité apparaît dans de nombreux problèmes combinatoires comme la détermination d’un ensemble stable maximum d’un graphe ou encore la détermination d’un ensemble absorbant minimum d’un -graphe [Ber89].

1.3 Problème de l’extraction des traverses minimales

L’extraction des traverses minimales d’un hypergraphe est un des problèmes les plus importants en théorie des hypergraphes. C’est un problème algorithmique central et particulièrement difficile et la question de sa complexité exacte reste toujours ouverte. Plusieurs travaux se sont attachés à proposer diverses méthodes pour le traiter [Ber89] [KS05] [BEGK03]. Fredman et Khachiyan ont proposé un algorithme avec une complexité quasi-polynomiale de représente la taille de l’entrée et de la sortie [FK96]. Ce résultat de Fredman et Khachiyan nous donne un algorithme d’extraction des traverses minimales dont la complexité est bornée par [Mar13]. Ce résultat relance le débat sur le fait que ce problème soit coNP-complet puisqu’à moins que tout problème coNP-complet admette un algorithme quasi-polynomial, le problème de l’extraction des traverses minimales n’est pas coNP-complet.

Trouver une traverse minimale d’un hypergraphe est une tâche aisée mais calculer l’ensemble de toutes les traverses minimales pose plusieurs problèmes dans la mesure où le nombre de sous-ensembles de sommets à tester est très important. Les travaux antérieurs, pour faire sauter les différents verrous scientifiques que posait l’extraction des traverses minimales d’un hypergraphe, se sont attachés à réduire l’espace de recherche. Néanmoins, le coût du calcul reste substantiellement élevé et les algorithmes existants se sont heurtés à des temps d’exécution conséquents et à l’incapacité de traitement lorsque le nombre de transversalité de l’hypergraphe d’entrée est grand.

Comme nous l’avons mentionné dans la section précédente, le problème de l’extraction des traverses minimales à partir d’un hypergraphe est équivalent à celui de la construction de l’hypergraphe transversal à . Formellement, nous définissions ce problème comme suit:

Entrée: Hypergraphe simple = , . Sortie: Hypergraphe transversal = , .

Même pour des hypergraphes simples, le nombre de traverses minimales d’un hypergraphe peut être exponentiel [Hag08], comme le montre l’exemple 4.

Exemple 4

Soit un hypergraphe tel que = (, , …, ) et , , , , …, , ). est de taille mais renferme traverses minimales.

La complexité des approches proposées dans la littérature, et décrites dans le chapitre suivant, est analysée en termes de la taille d’entrée et de sortie. Plus concrètement, si n = , m = et m’ = , nous disons qu’un algorithme d’extraction des traverses minimales est polynomial en la taille de l’entrée et de la sortie si sa complexité peut être bornée, de manière polynomiale, par , qui désigne une fonction de n, m et m’. En outre, un algorithme est incrémental s’il énumère une par une toutes traverses minimales de l’hypergraphe d’entrée de telle sorte que le temps nécessaire pour délivrer en sortie une nouvelle transverse minimale est polynomiale en n, m et k, k étant la taille de l’hypergraphe transversal.

La notion d’algorithme incrémental a ouvert la voie à une autre approche consistant à ne générer qu’un sous-ensemble de traverses minimales, i.e., une liste partielle de traverses minimales, à partir de l’hypergraphe d’entrée. Formellement, ce problème est défini comme suit :

Entrée: Hypergraphe simple = , et un sous-ensemble de traverses minimales . Sortie: Vrai si , sinon retourner une traverse minimale de .

Un troisième problème a été défini par [BI95] et qui se résume à vérifier si deux hypergraphes sont transversaux l’un par rapport à l’autre.

Entrée: Deux hypergraphes simples = , et = , . Sortie: Vrai si = , Faux sinon.

Les trois problèmes sont liés et divers algorithmes ont été proposés pour les résoudre.

1.4 Domaines d’application

L’intérêt pour l’extraction des traverses minimales s’est accru, ces dernières années, en raison de la diversité des domaines d’application où le recours aux traverses minimales peut constituer une solution. Le large éventail des domaines d’application, comme le résume la Figure 1.3 [Hag08], donne ainsi une importance plus grande aux traverses minimales et motive l’intérêt qu’elles suscitent. Dans ce qui suit, nous en donnerons un aperçu et nous citerons les problèmes les plus connus, où les traverses minimales sont applicables.

Figure 1.3: Domaines d’application des traverses minimales [Hag08]

1.4.1 Bases de données

Plusieurs travaux se sont attachés à appliquer les traverses minimales pour résoudre des verrous scientifiques dans le domaine des bases de données. Jouant un rôle important dans l’identification, de façon minimale, des n-uplets que renferment les relations, l’identification des clés est fortement liée au problème du calcul des traverses minimales comme l’ont démontré les travaux de [DT99] et de [TS05]. Étant donné une relation et un ensemble de clés, décider de l’existence d’une autre clé est un problème, équivalent à celui de la recherche des traverses minimales. Les dépendances d’inclusion [MP03], qui sont une généralisation des clés étrangères dans un modèle relationnel, peuvent ainsi être déduites en adaptant les techniques de calcul des traverses minimales d’un hypergraphe. Celles-ci peuvent, par ailleurs, présenter des solutions aux problèmes de réécriture des requêtes, d’exécution des requêtes et d’actualisation des vues. Ces dernières, dont le rôle est très important dans la présentation des données à partir des bases, peuvent en effet être gérées en se basant sur les traverses minimales. L’inférence des dépendances fonctionnelles représente aussi un domaine d’application fort intéressant des traverses minimales comme le montre les travaux de [MR94] et [LPL00] et comme nous le verrons dans le chapitre .

1.4.2 Logique

En logique, une clause est une disjonction de littéraux, qui sont des variables booléennes ou leurs négations, alors qu’un terme est une conjonction. Une formule est sous sa forme normale disjonctive (FND) (resp. conjonctive (FNC)) si c’est une une disjonction de termes (resp. une conjonction de clauses). La détermination de la dualité FNC/FND est équivalente au problème de calcul des traverses minimales d’un hypergraphe. En effet, le problème, connu en logique, de la dualisation où il s’agit de calculer la forme duale normale disjonctive (fnd) monotone et irrédondante à partir d’une forme normale disjonctive du même type est équivalent au calcul d’un sous-ensemble des traverses minimales d’un hypergraphe.

1.4.3 Intelligence artificielle

Plusieurs problématiques en intelligence artificielle ont un lien très fort avec les traverses minimales, à commencer par l’abduction. Définie par Peirce, l’abduction est un mode de raisonnement par lequel des faits utiles sont inventés (contrairement à l’induction qui consiste à inventer des théories) et est utilisée dans deux acceptations différentes. Plus formellement, à partir de l’ensemble caractéristique d’une théorie de Horn , d’un littéral q et d’un sous-ensemble A de tous les littéraux, il s’agirait de trouver toutes les interprétations possibles pour q par rapport à A. Dans ce cas, une théorie logique est un ensemble de formules. C’est une Horn s’il s’agit d’un ensemble des clauses ayant, chacune, au plus un littéral positif. Les travaux de Eiter et al. [EG02] ont montré que ce problème de l’abduction est équivalent à une adaptation du calcul des traverses minimales d’un hypergraphe.

1.4.4 E-commerce

Que ce soit pour des problématiques telles que la recherche du meilleur recouvrement, dont les applications sont nombreuses, la réécriture des requêtes dans les e-catalogues ou la découverte des web services, les techniques d’extraction des traverses minimales peuvent jouer un rôle important en e-commerce, comme le montre les travaux de [BHL05]. Ainsi, à titre d’exemple, l’une des tâches les plus importantes en web services est de trouver automatiquement les services qui répondent à des contraintes d’utilisation spécifiques aux utilisateurs. Ce problème est singulièrement similaire à celui de la recherche d’un ensemble de couverture dans un contexte de contraintes et pour lequel l’application des techniques de calcul des traverses minimales s’avère judicieuse.

1.4.5 Fouille de données

Les liens entre certaines problématiques de la fouille de données [ABYL11, FEJ12a] et les traverses minimales sont nombreuses. C’est d’ailleurs le domaine où l’application des traverses minimales est la plus intéressante, comme dans la génération des règles associatives, des itemsets fermés, des itemsets fréquents ou encore l’analyse formelle de concepts [BYN04a, HBYN10a, BBBY12a].
Les règles associatives sont de la forme "si x est présent dans une transaction alors il y a 95% de chance que y soit aussi présent". Elles sont cruciales au cours du processus d’extraction des connaissances. Une des étapes les plus importantes dans la génération des règles associatives est le calcul des ensembles fréquents et infréquents. Or, calculer les ensembles maximaux k-fréquents ou les ensembles minimaux k-infréquents est équivalent à la construction d’un hypergraphe transversal comme l’ont démontré les travaux de Boros et al. [BGKM03] et, Mannila et Toivonen [MT97]. Par ailleurs, les règles associatives ayant comme prémisses les générateurs minimaux sont les règles les plus intéressantes en fouille de données. Les générateurs minimaux d’un itemset fermé étant les plus petits itemsets ayant cette même fermeture , leur calcul peut être optimisé en utilisant les traverses minimales d’un hypergraphe selon les travaux de [Gar06] et de [PT02]. Les treillis de concepts qui jouent un rôle important dans l’extraction de connaissances [PT02] et la génération des règles à partir de bases de données relationnelles [YN04a, BEBY06, GBYNB07, BSBYN12] peuvent aussi bénéficier des techniques d’extraction des traverses minimales en raison de leur relation avec les itemsets fermés.

1.5 Conclusion

Nous avons introduit, dans ce chapitre, les notions-clés de la théorie des hypergraphes tout en mettant en exergue les verrous scientifiques que posent le problème de l’extraction des traverses minimales d’un hypergraphe. Le survol des domaines d’application des traverses minimales démontre l’intérêt, de plus en plus, croissant pour les traverses minimales et, dans la littérature, plusieurs algorithmes dédiés à leur calcul ont été proposés. Dans le chapitre suivant, nous présentons un état de l’art détaillé de ces algorithmes, qui reposent sur des approches différentes.

2.1 Introduction

Plusieurs auteurs se sont intéressés au problème de l’extraction des traverses minimales d’un hypergraphe. Dans ce chapitre, nous présentons un état de l’art détaillé de ces différentes approches, en mettant en exergue leurs points forts et leurs limites. Le nombre de traverses minimales d’un hypergraphe pouvant être exponentiel en la taille de l’hypergraphe, la question de la mise en place d’un algorithme résolvant le problème de l’extraction des traverses minimales d’un hypergraphe avec une complexité polynomiale en reste néanmoins ouverte. Une étude comparative des différents algorithmes existants nous permet de situer nos contributions par rapport à ces travaux et mettre en lumière l’intérêt des différentes approches que nous proposons dans les chapitres suivants.

2.2 Algorithme de Berge [Ber89]

Berge est le premier à s’être intéressé au problème du calcul des traverses minimales et à avoir proposé un algorithme pour le résoudre. Cet algorithme, dont le principe est simple, commence par calculer l’ensemble des traverses minimales de la première hyperarête, qui est équivalent à l’ensemble des sommets contenus dans cette dernière. Ensuite, il met à jour cet ensemble des traverses minimales en ajoutant les autres hyperarêtes, une à une, de manière incrémentale. Ainsi, l’algorithme de Berge construit des hypergraphes partiels au fur et à mesure qu’il ajoute des hyperarêtes. Néanmoins, l’algorithme a toujours besoin de stocker les traverses minimales intermédiaires avant de passer à l’étape suivante consistant à ajouter une nouvelle hyperarête.
Formellement, l’algorithme de Berge repose sur la formule suivante [Ber89]: à partir d’un hyperpgraphe partiel = (, ) tel que = {, , …, } et = {, , …, }, l’ensemble des traverses minimales de tel que et . L’opérateur "" désigne le produit cartésien tel que comporte toutes les pairs (,) tel que et .

Entrées : = (, ): Hypergraphe
Sorties : : ensemble des traverses minimales de
1 début
2       = {{} };
3       pour  =  faire
4             = Min { {} tel que , }
5       = ;
6       retourner
7
Algorithme 1 L’algorithme de Berge [Hag08]

La complexité de cet algorithme, dont le pseudo-code est donné par l’Algorithme 1 est exponentielle en la taille de l’entrée et de la sortie [Hag08]. Ceci s’explique par la nécessité de stocker toutes les traverses intermédiaires vu que l’ensemble des traverses minimales n’est généré qu’après l’insertion de la dernière hyperarête. Ceci rend l’algorithme de Berge impraticable sur des hypergraphes de grande taille.

Récemment, Boros et al. ont prouvé que le temps de traitement de l’algorithme de Berge a une borne supérieure subexponentielle de [BEM08].

2.3 Améliorations de l’algorithme de Berge

Plusieurs chercheurs ont cherché à améliorer l’algorithme de Berge. Parmi les améliorations les plus connues proposées récemment figurent celles introduites par Dong et al. [DL05], Kavvadias et Stavropoulos [KS05] et Bailey et al. [BMR03].

Entrées : = (, ): Hypergraphe
Sorties : : ensemble des traverses minimales de
1 début
2       = {{} };
3       pour  =  faire
4             = {};
5             = { {} };
6             = ;
7             = ;
8             pour chaque  trié par ordre croissant de cardinalité faire
9                   pour chaque  faire
10                        si  {} n’est le sur-ensemble d’aucun élément de  alors
11                               = { {}}
12                        
13                  
14             = ;
15            
16       = ;
17       retourner
18
Algorithme 2 L’algorithme de Dong et Li [Hag08]

2.3.1 Algorithme de Dong et Li [Dl05]

C’est en s’inspirant de l’extraction des itemsets émergeants en fouille de données que Dong et Li ont proposé une solution, dont le pseudo-code est donné par l’Algorithme 2.

L’algorithme de Dong et Li a été évalué expérimentalement sur de nombreux jeux de données. Néanmoins, les auteurs n’ont pas effectué une analyse théorique de la complexité en temps de traitement de leur algorithme. Cependant, cette adaptation de l’algorithme initial s’est avérée très fructueuse. La principale amélioration de Dong et Li par rapport à l’algorithme de Berge réside dans l’optimisation réalisée lors du calcul de , et qui consiste à considérer uniquement les traverses qui intersectent la nouvelle hyperarête traitée et, aussi, à ne prendre que les sommets de qui n’appartiennent pas déjà aux traverses minimales déjà identifiées.

2.3.2 Algorithme de Kavvadias et Stavropoulos [Ks05]

L’un des inconvénients majeurs de l’algorithme de Berge, observé par Kavvadias et Stavropoulos, est la consommation excessive en mémoire. Dans la mesure où la minimalité des nouvelles traverses calculées doit être testée, les traverses minimales intermédiaires doivent aussi être stockées en mémoire. L’algorithme de Kavvadias et Stavropoulos tente de surmonter ce problème de consommation mémoire, en utilisant deux techniques. La première introduit la notion de "sommets généralisés" selon la Définition 8.

Définition 8

Soit , un hypergraphe. L’ensemble est un ensemble de sommets généralisés de si tous les sommets de appartiennent aux mêmes hyperarêtes de .

Le pseudo-code de l’algorithme de Kavvadias et Stavropoulos est décrit par l’Algorithme 3. Le principe est le suivant. En ajoutant une hyperarête , l’algorithme met à jour l’ensemble des sommets généralisés avant de considérer les éléments de et les sommets constituant comme les ensembles de sommets généralisés du niveau . étant l’hypergraphe partiel composé uniquement des sommets généralisés calculés au niveau , les traverses minimales de l’hypergraphe , , sont ensuite calculées selon la formule de Berge, i.e., en effectuant le produit cartésien entre et les sommets généralisés de , et en testant la minimalité de ces traverses candidates.

La seconde technique introduite par Kavvadias et Stavropoulos pour diminuer la consommation mémoire élevée revient à adopter une stratégie de recherche en profondeur d’abord. Berge utilisait une forme de parcours en largeur d’abord à travers la construction d’un "arbre" de traverses minimales. Au i-ème niveau de l’arbre, les noeuds sont des traverses minimales de l’hypergraphe partiel . Les descendants d’une traverse minimale , du niveau i, sont les traverses minimales de l’hypergraphe incluant . Le parcours de cet "arbre" est très coûteux puisque les traverses minimales d’un hypergraphe sont retrouvées dans le dernier niveau de l’arbre. De plus, certains noeuds sont "visités" plusieurs fois parce qu’ils peuvent avoir plusieurs parents.

Pour remédier à ce problème, Kavvadias et Stavropoulos utilisent une stratégie en profondeur d’abord et introduisent la notion de "sommets appropriés" pour vérifier la minimalité des traverses générées. Ceci permet à l’algorithme de réduire considérablement le stockage en mémoire durant le calcul des traverses minimales d’un hypergraphe.

Définition 9

Soit un hypergraphe , et soit une traverse minimale de l’hypergraphe partiel de . Un ensemble de sommets généralisés , au niveau est un ensemble de sommets appropriés pour si aucun sous-ensemble de , excepté , ne peut être supprimé sans que les sommets restants ne représentent plus une traverse.

Entrées : = (, ): Hypergraphe
Sorties : : ensemble des traverses minimales de
1 début
2       pour  =  faire
3            Ajouter_hyperarête();
4             Mettre à jour les sommets généralisés;
5             Considérer et comme étant des sommets généralisés du niveau ;
6             Calculer = :;
7            
8      Déduire à partir de ;
9       retourner
10
Algorithme 3 L’algorithme de Kavvadias et Stavropoulos [KS05]

L’algorithme de Kavvadias et Stavropoulos n’est pas polynomial en la taille de la sortie. Son temps de traitement est de l’ordre de , N désignant la taille de l’entrée et de sortie [Hag08]. Cet algorithme est l’un des plus performants, en termes de temps de traitement. Adoptant une stratégie en profondeur, l’algorithme consomme, par ailleurs, très peu de mémoire vive. Ce qui représente un avantage non négligeable.

2.3.3 Algorithme de Bailey et al. [Bmr03]

Pour traiter les hypergraphes de grande taille, Bailey et al. ont exploité les bonnes performances de l’algorithme de Dong et Li sur les hypergraphes renfermant des hyperarêtes de petite taille. L’algorithme de Bailey et al., dont le pseudo-code est décrit par l’Algorithme 4, prend en entrée un hypergraphe et comporte un pré-traitement récursif.

Entrées : = , : Hypergraphe
Sorties : : ensemble des traverses minimales de
1 début
2       = ;
3       Ordonner();
4       pour  =  faire
5             = ;
6             =
7             pour chaque   faire
8                   si   alors
9                         = {e };
10                  
11             = ;
12             si  2 and Volume() 50 alors
13                  Algorithme 4 (, );
14            sinon
15                   = Algorithme 2();
16                   = min( ( ));
17             = {}
18      retourner
19
Algorithme 4 L’algorithme de Bailey et al. [Hag08]

A partir d’un sommet ou d’un ensemble de sommets apparaissant dans le plus petit nombre d’hyperarêtes dans l’hypergraphe d’entrée, ce pré-traitement vise à construire un sous-ensemble d’hyperarêtes ne contenant pas ces sommets . Si est elevée () et si son volume, fonction de la cardinalité moyenne de ces hyperarêtes est aussi elevée () alors l’algorithme de Bailey et al. est appelé de manière récursive. Sinon, les traverses minimales de sont déterminées par l’algorithme de Dong et Li. Les traverses minimales de l’hypergraphe d’entrée sont ensuite déduites par la méthode de Berge via un produit cartésien entre les traverses minimales de l’hypergraphe constitué par les hyperarêtes et , conjugué à un test de la minimalité. Les expérimentations menées par les auteurs ont montré l’efficacité de leur algorithme, sur un type particulier d’hypergraphes, par rapport aux deux algorithmes considérés, i.e., celui de Fredman et Kachiyan, et celui de Kavvadias et Stavropoulos (une version antérieure à celle présentée dans la section 2.3.2) .

2.4 Algorithme de Fredman et Kachiyan [Fk96]

En , Fredman et Kachiyan ont proposé deux algorithmes pour le calcul des traverses minimales d’un hypergraphe, l’algorithme FK-A et sa version optimisée, appelée l’algorithme FK-B. Ce dernier possède la meilleure complexité théorique connue à ce jour et qui est de où N représente la taille de l’entrée et de sortie [FK96]. Les auteurs motivent le calcul de traverses minimales comme la solution au problème de la dualisation des formules booléennes monotones et c’est cette approche intuitive que nous reprenons. Étant donnée une formule = sous forme normale conjonctive, il s’agit de calculer la formule duale correspondante = = sous forme normale conjonctive également. Pour cela, on obtient aisément sous forme normale disjonctive en remplaçant chaque conjonction de par une disjonction et vice-versa. Pour calculer la forme normale conjonctive de la formule duale, il s’agit finalement de développer la forme normale disjonctive pour constituer les classes de . Pour cela, on prendra un littéral dans chaque terme de pour constituer une classe. Des simplifications apparaissent si l’on prend plusieurs fois le même littéral. Pour calculer les traverses minimales d’un hypergraphe, chaque traverse est construite en prenant un item dans chaque terme de : le résultat obtenu est identique à celui fourni par la dualisation des formules booléennes monotones. Ce problème et celui du calcul des traverses minimales d’un hypergraphe sont alors parfaitement équivalents.

Par exemple, soit = () () () () (). La formule duale correspondante, obtenue en échangeant chaque conjonction par une disjonction et vice-versa, est () = () () () () (). Si nous développons scrupuleusement cette dernière expression pour la transformer en forme normale conjonctive, on obtient la série de clauses suivantes : () = () () (). Ceci donne alors 216 clauses, dont il n’en restera que trois, après les simplifications : () = () ().

La solution proposée par les auteurs revient à determiner, de façon incrémentale, si deux formules et ne sont pas duales, i.e., () = ().

Entrées : Deux formules monotones sous la Forme Normale Disjonctive et
Sorties : Le Dual de et
1 début
2       Factoriser et
3       Vérifier que et sont des formes mutuellement duales et que le problème peut se résoudre en un temps polynomial.
4       si  1 alors
5            le dual de et est calculé en .
6      si  2 alors
7            Trouver une variable commune à et tel que Fréquence()
8             = ;
9             = ;
10             FK(, );
11             FK(, );
12      
13
Algorithme 5 L’algorithme FK-A [FK96]

La vérification de la dualité, dans l’algorithme de Fredman et Khachiyan dont le pseudo-code est donné par l’Algorithme 5, et la mise en évidence d’un disqualifieur sont effectuées grâce à la propriété suivante : en factorisant et selon une variable , les auteurs font apparaître des formules plus courtes, et qui ne contiennent pas . On obtient ainsi () = ( ()) () puis () = ( ()) () ( ne contient pas le littéral ). et sont duales si et seulement si et le sont, ainsi que et . La taille du problème est ainsi réduite et permet d’appliquer récursivement ce procédé. Néanmoins, cette méthode est peu adaptée au calcul des traverses minimales de longueur bornée.

2.5 Algorithme MtMiner [Hbc07]

L’algorithme proposé par Hébert et al. consiste à exploiter les travaux réalisés, dans la littérature, sur l’extraction de motifs [HBC07]. Les auteurs ont réutilisé le principe des algorithmes par niveaux pour calculer les traverses minimales d’un hypergraphe. Cette approche repose donc sur le fait que les bases de données et les hypergraphes peuvent se représenter de la même manière, i.e, sous la forme d’une matrice booléenne où les sommets correspondent aux motifs et les hyperarêtes aux objets.

Par le biais de la correspondance de Galois qui relie les ensembles de motifs et les ensembles d’objets, un parallèle est établi entre l’extraction des motifs et l’extraction des traverses minimales. L’extension de cette nouvelle connexion permet de définir des classes d’équivalence, pour un hypergrpahe, de façon analogue aux classes d’équivalence utilisées en fouille de motifs, selon la définition 10 [Héb07].

Ces classes regroupent les ensembles de sommets appartenant aux mêmes hyperarêtes de l’hypergraphe d’entrée . Le nombre d’hyperarêtes non recouvertes par un ensemble de sommets est appelé fréquence et correspond alors au nombre d’occurrences (support disjonctif) d’un motif en fouille de données. Les traverses de sont, dans ce cas, les ensembles de sommets ayant une fréquence nulle. En utilisant les propriétés de la fouille de données, les auteurs ont prouvé que les traverses minimales de sont les générateurs minimaux de fréquence nulle.

Définition 10

La classe d’équivalence d’un ensemble de sommets est notée () et est définie comme suit :
() =
{ () = ()}() est l’ensemble des hyperarêtes qui ne contient aucun sommet de .

L’algorithme MtMiner adopte deux stratégies d’élagage lors du parcours par niveau des candidats dans le treillis généré. La première repose sur la propriété d’anti-monotonie de la minimalité dans les classes d’équivalence, selon laquelle si un ensemble de sommets ne constitue pas un générateur minimal alors l’espace de recherche généré à partir de celui-ci est élagué.

En effet, si un ensemble de sommets n’est pas un générateur minimal alors aucun de ses sur-ensembles ne peut être aussi un générateur minimal. Comme les auteurs ont déjà montré qu’une traverse minimale est nécessairement un générateur minimal, il est inutile de considérer ces sur-ensembles. La deuxième stratégie d’élagage consiste à éliminer les sur-ensembles d’un ensemble de sommets qui est une traverse minimale, puisqu’ils ne vérifient pas la condition de minimalité au sens de l’inclusion.

Entrées : = (, ): Hypergraphe
Sorties : : ensemble des traverses minimales de
1 début
2       = {{} et ({}) = 0};
3       = {{} et ({}) };
4       k = 1;
5       tant que   faire
6             pour chaque ( {}, {})  faire
7                   = ;
8                   () = ( {}) ( {});
9                   i = 1;
10                   tant que i k+1 et {} et () ( {})  faire
11                        i = i+1;
12                  si i = k + 2 alors
13                        si  () = 0 alors
14                               = ;
15                        sinon
16                               = {};
17                        
18                  
19            k = k + 1;
20            
21      retourner
22
Algorithme 6 L’algorithme MtMiner [Héb07]

L’algorithme MtMiner effectue un parcours en largeur en démarrant le balayage de l’espace de recherche par les sommets, avant de générer les ensembles plus grands, suivant une approche inspirée de Apriori [AR94]. La stratégie en largeur permet de garantir la minimalité des candidats, dans la mesure où chaque candidat n’est gardé dans un niveau i qu’après avoir calculé et testé l’extension de ses sous-ensembles directs, qui se trouvent dans le niveau i-1.
L’ensemble est initialisé avec les sommets d’extension vide, i.e, qui appartiennent à toutes les hyperarêtes de l’hypergraphe d’entrée (({}) = 0). Ces sommets représentent donc des traverses minimales du niveau . A chaque niveau i, MtMiner génére des candidats , à partir des éléments calculés au niveau i-1. Si le candidat vérifie la propriété d’anti-monotonie et si ({}) = 0, il est alors ajouté à , sinon il sera reversé dans et servira comme générateur pour le niveau i+1. Si ne vérifie pas la propriété d’anti-monotonie, il n’est donc pas un générateur minimal et il est tout simplement élagué de l’espace de recherche.

D’après Hébert et al., la complexité de l’algorithme MtMiner dépend de () et [Héb07]. Pour chaque traverse minimale , l’algorithme considère au plus ensembles de sommets et effectue, par conséquent, un nombre d’opérations inférieur à : .

De ce fait, pour un hypergraphe , MtMiner calcule l’ensemble des traverses minimales en . Cependant, pour Hagen, la complexité réelle de l’algorithme MtMiner est de (), telle que N est la taille de l’entrée et de la sortie de l’algorithme. Hagen présente le calcul détaillé de cette complexité dans [Hag08]. D’un point de vue performances, MtMiner présente des temps de traitements intéressants, notamment pour des hypergraphes denses et ayant un nombre de transversalité assez bas. Cependant, et comme souligné par les auteurs, MtMiner est assez gourmand en consommation mémoire [Elb08].

2.6 Algorithmes de type Shd [Mu13]

Murakami et Uno proposent les algorithmes de type Shd, Mmcs et rs, qui visent à réduire l’espace de recherche [MU13]. En ce sens, ces algorithmes sont destinés à traiter des hypergraphes de grande taille constitués par un très grand nombre d’hyperarêtes.

Les algorithmes de type Shd adoptent une stratégie de parcours en profondeur de l’espace de recherche qui, dans le cas de rs, est équivalente à celle de l’algorithme de Kavvadias et Stavropoulos. La principale différence entre ce dernier et rs repose sur l’élimination des itérations redondantes où aucun sommet n’est ajouté à un ensemble de sommets générés auparavant. De plus, Murakami et Uno introduisent deux nouveaux concepts, i.e, le test de la transversalité (uncov) et les hyperarêtes critiques (crit), et ce afin d’optimiser les tests sur la minimalité effectués sur l’ensemble des traverses générées.

Var. Globale : uncov (initialisé à ), (initialisé à ), crit[] initialisé à pour chaque
Entrées : = , : Hypergraphe, : ensemble de sommets
Sorties : tel que
1 début
2       si uncov =  alors
3            retourner
4      Choisir une hyperarête à partir de uncov;
5       = ;
6       = ;
7       pour chaque   faire
8            Update_crit_uncov(, crit, uncov);
9             si crit(f, ) pour chaque f  alors
10                  Mmcs( );
11                   = ;
12            Restaurer les valeurs de crit et uncov d’avant la ligne ;
13      
14
Algorithme 7 L’algorithme Mmcs [MU13]

Étant donné un ensemble de sommets, éventuellement réduit à un singleton, uncov() désigne l’ensemble des hyperarêtes que n’intersectent pas , i.e, uncov() = { , = }. est une traverse si et seulement si uncov() = .

Pour un sommet , une hyperarête est dite critique pour si = {}. L’ensemble des hyperarêtes critiques pour est noté crit(, ), i.e., crit(, ) = { , = {}}. Ainsi, un ensemble de sommets est une traverse si uncov() = et c’est une traverse minimale si, en plus, crit(, ) = .

Par ailleurs, si est une traverse, alors si le sommet n’a aucune hyperarête critique, chaque renferme un sommet de , autre que , et est alors une traverse. Ceci est résumé par la propriété 2 proposée par les auteurs.

Propriété 2

est une traverse minimale si et seulement si uncov() = et crit(, ) , .

Les auteurs proposent aussi divers lemmes, dans [MU13], pour optimiser le calcul de la fonction crit, qui est la clé de leur approche.

Les algorithmes de type Shd se basent donc sur la même approche et l’Algorithme 7 décrit le pseudo-code de l’algorithme Mmcs. Cet algorithme est récursif et fournit en sortie des traverses minimales en série. Pour tester un ensemble de sommets , les algorithmes cherchent, de façon itérative, les sous-ensembles de et effectuent un appel récursif pour chacun tout en mettant à jour les ensembles crit et uncov. En opérant de cette manière, Murakami et Uno permettent à leur algorithme de balayer l’espace de recherche en profondeur en cherchant seulement les sous-ensembles du candidat courant. La méthode et les étapes pour la recherche des sous-ensembles d’un candidat sont détaillées dans [MU13]. L’étude expérimentale effectuée par les auteurs a montré que les algorithmes de type Shd (et notamment mmcs) présentaient des performances très intéressantes et s’imposaient comme les algorithmes les plus performants dans la littérature.

2.7 Algorithme de Toda [Tod13]

L’algorithme de Toda est le plus récent dans la littérature [Tod13]. Cet algorithme fait appel à des structures de données compressées qui permettent d’exploiter les capacités des diagrammes de décision binaire (bdd) et une des améliorations de ces dernières, i.e., les zéro diagrammes supprimés de décision (zdd). Les diagrammes de décision binaires permettent de représenter des fonctions booléennes sous la forme de graphes orientés. Leurs principes et mécanismes de fonctionnement sont décrits dans les travaux de [Ake78] et [BRB90].

Toda se base sur les travaux de Donald Knuth sur les zdd et tente de les additionner aux bdd pour optimiser son algorithme. L’intérêt des bdd dans l’algorithme de Toda se trouve dans la représentation des résultats intermédiaires. Comme le montre le pseudo-code de l’Algorithme 8, Toda génère d’abord les traverses avant de tester leur minimalité. Les traverses candidats sont compressées et stockées dans un bdd avant que le zdd généré ne fournisse les traverses minimales souhaitées. Ainsi, dans l’Algorithme 8, dénote la famille des ensembles d’un bdd (ou un zdd).

Entrées : = , : Hypergraphe
Sorties :
1 début
2       = Compresser en un zdd;
3       Calculer le bdd pour toutes les traverses de ;
4       Calculer le zdd pour tous les ensembles minimaux dans ;
5       Décompresser en un ensemble ;
6       retourner
7
Algorithme 8 L’algorithme de Toda [Tod13]

Les expérimentations effectuées par Toda visent à comparer son algorithme à celui de Murakami et Uno, présenté dans la section 2.6. L’etude expérimentale a montré que l’algorithme de Toda est compétitif, y compris sur les bases éparses. Ceci peut être expliqué par les capacités qu’offrent les zdd sur ce type de bases.

2.8 Les traverses minimales approchées

Nous avons présenté, dans le chapitre précédent, le problème de l’extraction des traverses minimales d’un hypergraphe comme étant un problème NP-difficile. En ce sens, à côté des algorithmes présentés plus haut, d’autres travaux se sont intéressés à la recherche des traverses minimales approchées dans le but de contourner la difficulté du problème [AvG09] [DQ13]. Ces travaux, assez rares toutefois, s’intéressent à une sous-classe des traverses minimales dont les éléments n’intersectent pas toutes les hyperarêtes de l’hypergraphe d’entrée. Ainsi, dans [AvG09], les auteurs se sont basés sur une approche évolutionnaire où la transversalité et la minimalité sont transcrites dans une fonction objective. D’autres approches introduisent un certain nombre d’exceptions liées à la transversalité pour générer les traverses minimales approchées. Récemment, Durand et al. ont présenté dans [DQ13] l’algorithme -MTminer qui permet de calculer les transverses minimales approchées. L’algorithme prend en compte un nouveau paramètre, , qui correspond au nombre des hyperarêtes qu’une traverse minimale approchée pourrait ne pas intersecter.

2.9 Discussion

A la lumière de notre description des principaux algorithmes d’extraction des traverses minimales d’un hypergraphe et avec pour objectif de situer nos contributions, présentées dans les chapitres suivants, par rapport à ces travaux, nous avons synthétisé les caractéristiques de ces algorithmes dans le tableau 2.1. Les critères que nous avons choisis pour distinguer les différentes approches sont le principe, sur lequel se base chaque algorithme, la stratégie d’exploration et les techniques d’élagages.

Algorithme Algos sous-jacents Stratégie Techniques d’élagages
d’exploration
Berge - Processus En largeur Aucune
incrémental
Dong et Li - Algorithme 1 de Berge En largeur Traverses garanties
- Itemsets emergeants Couvertures d’hyperarêtes
Kavvadias et - Algorithme 1 de Berge En profondeur Sommets généralisés
Stavropoulos Sommets appropriés
Bailey et al. - Algorithme 1 de Berge et En largeur -
Algorithme 2 de Dong et Li
- Partitionnement des
hyperarêtes
FK - Dualisation des formules - Dualité Mutuelle
booléennes monotones
MtMiner - Extraction de motifs En largeur Anti-monotonie de
la minimalité
Mmcs - Itemsets fermés En profondeur uncov et crit
Toda - Structures de En profondeur Caractéristiques des
données compressées bdd et zdd
Table 2.1: Caractéristiques des algorithmes de l’état de l’art

Les caractéristiques des principaux algorithmes d’extraction des traverses minimales ont été établies à partir des différentes sections présentées dans ce chapitre. La première constatation qui se dégage de ce tableau est qu’aucune approche n’a mis à profit la notion de nombre de transversalité, introduite par la Définition 7. Cette notion qui donne une indication claire sur le nombre minimum de sommets formant une traverse minimale peut être intéressante, notamment en adoptant une stratégie en largeur pour cibler directement le niveau qui contient ces plus petites traverses minimales. Notre première contribution, qui consiste à détecter les multi-membres d’un réseau social et qui correspondent à des plus petites traverses minimales d’un hypergraphe représentant les différentes communautés d’un réseau social, se base sur cette notion de nombre de transversalité pour optimiser l’extraction des plus petites traverses minimales à travers un algorithme appelé om2d que nous introduisons dans le chapitre suivant.

Une deuxième constatation concerne les éléments générés en sortie par les différents algorithmes. Tous ces derniers calculent toutes les traverses minimales et leurs cardinalités sont généralement très importantes. Ce nombre de traverses minimales pouvant s’avérer exponentiel en la taille de l’hypergraphe, nous nous sommes intéressés à chercher une forme d’irrédondance dans l’ensemble des traverses minimales. Le fait de représenter cet ensemble de manière concise et exacte améliore le temps de traitement nécessaire à l’extraction de toutes les traverses minimales. En outre, et partant du fait que les traverses minimales apportent des solutions dans de nombreuses applications, comme présenté dans la section 1.4 du chapitre 1 (page 1.4), cette représentation concise a des répercussions directes sur l’optimisation de bien d’autres problématiques. Notre deuxième contribution, présentée dans le chapitre , met en avant cette notion d’irredondance qui se cache dans les traverses minimales et l’illustre en présentant son impact sur le problème du calcul de la couverture minimale des dépendances fonctionnelles en bases de données.

Enfin, notre troisième contribution consiste en une optimisation de l’extraction des traverses minimales en adoptant la stratégie diviser pour régner. Cette stratégie a été utilisée par l’algorithme 4 de Bailey et al. sauf que les auteurs se sont focalisés sur le partitionnement des hyperarêtes quand celles-ci sont composées d’un nombre important de sommets. Notre idée se base, plutôt, sur le partitionnement de l’hypergraphe d’entrée en hypergraphes partiels tel que est égal au nombre de transversalité. De cette manière, nous éliminons le test coûteux de la minimalité sur les traverses formées par sommets. Cette approche s’est avérée fructueuse mais, seulement, sur un certain type d’hypergraphes. Une étude détaillée est présentée dans le chapitre .

2.10 Conclusion

Dans ce chapitre, nous avons présenté les principaux algorithmes de calcul des traverses minimales, proposés dans la littérature. Que ce soit en adoptant une stratégie en largeur d’abord ou en profondeur d’abord, les différentes approches ont tenté d’innover avec pour but commun d’optimiser l’extraction des traverses minimales. En profitant de la notion de nombre de transversalité, inutilisée jusque-là, nous nous intéressons, dans le chapitre suivant, à une classe particulière des traverses minimales et à son application dans les systèmes communautaires.

3.1 Introduction

Avec l’expansion des systèmes communautaires du Web 2.0, beaucoup de travaux se sont intéressés à identifier les membres clés dans les réseaux sociaux, qualifiés, selon les auteurs, d’influenceurs, de médiateurs, d’ambassadeurs ou encore d’experts. Ce problème a été notamment considéré comme un problème de maximisation. Dans ce chapitre, nous présentons un type particulier d’acteurs que nous appelons multi-membres, en raison de leur appartenance à plusieurs communautés. Nous introduisons alors un cadre méthodologique pour identifier ce type d’acteurs dans un hypergraphe, dans lequel les sommets sont les acteurs et les hyperarêtes représentent les communautés. Nous démontrons que détecter les multi-membres pourrait être ramené au problème d’extraction des traverses minimales à partir d’un hypergraphe et nous présenterons deux algorithmes d’extraction des multi-membres qui conjuguent des concepts de la fouille de données et de la théorie des hypergraphes. Au cours de l’étude expérimentale, nous étudierons notamment la nature des acteurs qui constituent une traverse minimale multi-membres et leurs rôles au sein du réseau.

3.2 Problématique

C’est en s’appuyant sur des représentations et des concepts issus de la théorie des graphes que les réseaux sociaux ont été étudiés en sciences sociales dès les années soixante [Mor34] [CH77]. Parmi les questions essentielles que l’analyse de réseau s’efforce de traiter figure l’identification d’individus occupant un rôle déterminant dans le réseau. Ainsi, plusieurs indicateurs tels que la centralité ou le prestige ont été définis pour caractériser la position occupée par un acteur [Fre79] [Sco00] [WF94] [BE92]. Néanmoins, la communauté scientifique informatique a été confrontée au problème du passage à l’échelle des algorithmes classiques de détection de tels individus. Avec l’émergence du Web 2.0 et l’explosion des réseaux sociaux sur Internet [HBGBY13a], des travaux plus récents se sont attachés à repérer des acteurs qui occupent une place particulière dans le réseau et qui selon appelés, selon les auteurs, influenceurs, médiateurs, ambassadeurs ou encore les experts [Dom05], [STE07a], [STE07b], [ALTY08], [OH10].

L’identification de tels acteurs a eu, en effet, de nombreuses applications, e.g., dans les domaines de l’épidémiologie, du marketing, ou encore de la diffusion d’innovation.

En particulier, plusieurs algorithmes ont été présentés récemment [LKG07], [CWY09], [WCSX10], [CWW10], [CYZ10], [KS06], [GLL11] pour résoudre le problème de recherche d’influenceurs, redéfini comme un problème de maximisation [DR01], [RD02], [KKT03].

Parmi les modèles de diffusion dans un réseau, répertoriés dans la littérature, on peut distinguer d’une part les modèles linéaires à seuil inspirés des travaux de Granovetter et Schelling [Gra78], [Sch78] et d’autre part les modèles à cascade indépendantes [JG01]

. Dans tous ces modèles, on considère qu’à un instant donné, chaque membre du réseau est soit actif soit inactif. On cherche, par un processus itératif, à déterminer les acteurs devenus actifs à partir d’un sous-ensemble d’acteurs initialement actifs. On suppose bien sûr qu’un acteur peut être influencé par ses voisins suivant un certain seuil ou une certaine probabilité. La mise en oeuvre de ces modèles requiert donc l’estimation de ces probabilités d’influence ou de ces seuils. Cependant, l’estimation des paramètres n’est pas le seul inconvénient de ces modèles.


En effet, la recherche des influenceurs dans un réseau peut être énoncée plus formellement comme un problème d’optimisation discrète, connu dans la littérature sous le nom de "influence maximization" ou "spread maximisation". Étant donné , un ensemble d’acteurs du réseau et une mesure d’influence associée à cet ensemble, définie comme le nombre des acteurs devenus actifs à partir de , le problème revient à déterminer, pour un paramètre k donné, les k acteurs du réseau qui maximise la fonction d’influence. Or, Kempe et al. ont démontré que ce problème était NP-complet pour les deux familles de modèles citées précédemment [KKT03].

En s’appuyant sur la théorie des fonctions submodulaires, Kempe a aussi défini un cadre d’analyse généralisant les modèles à cascade et les modèles à seuil, et a montré qu’il est possible de déterminer une solution qui approche la solution optimale à un facteur près, à l’aide d’algorithmes gloutons, tels que Greedy Algorithm [KKT03]. Ceci a conduit au développement d’heuristiques permettant de déterminer approximativement les influenceurs dans un réseau. Ainsi, en suivant ce cadre d’analyse, Leskovec et al. ont développé l’algorithme "Cost-Effective Lazy Forward" (CELF), qui a donné lieu ensuite à plusieurs extensions, telles que NewGreedy et MixedGreedy introduit par Chen et al. ou, plus récemment, CELF++ par Goyal et al. [LKG07], [CWY09], [GLL11].
L’algorithme Greedy a fait aussi l’objet d’autres améliorations, exploitant des propriétés spécifiques du modèle à cascade [KS06] [CWW10] ou du modèle à seuil [CYZ10]. D’autres solutions ont aussi été proposées pour résoudre le problème de maximisation de l’influence, comme par exemple le modèle de vote de Even-Dar et al., qui exploite d’ailleurs les mêmes hypothèses que les modèles à seuil [EDS07]. Cependant, tous les travaux cités précédemment considèrent la recherche d’influenceurs comme un problème d’optimisation sans tenir compte explicitement des communautés présentes dans le réseau. Or, comme le souligne Scripps et. al., il peut être utile, pour identifier des influenceurs, de mieux connaître les positions occupées par les acteurs au sein des communautés présentes dans le réseau [STE07b], [STE07a]. C’est d’ailleurs le principe de l’algorithme Community-based Greedy, qui consiste justement à détecter des communautés en tenant compte du processus de diffusion au sein du réseau puis à identifier les influenceurs au sein des communautés [WCSX10]. Cependant, comme les algorithmes précédemment cités, Community-based Greedy suppose que le réseau est décrit par un graphe simple de sorte que les relations entre les acteurs pris deux à deux sont connues. Ainsi, ces algorithmes exploitent la matrice d’adjacence associée au graphe décrivant le réseau. Dans de nombreuses applications, on ne dispose pas forcément de cette information. Par contre, on sait à quelle(s) communauté(s) appartient un acteur. Ainsi par exemple, on sait quels sont les chercheurs qui ont participé à la conférence KDD et ceux qui ont assisté à VLDB sans forcément connaître les liens directs existants entre ces chercheurs. De même, dans le domaine du marketing, on peut savoir quels sont les clients qui ont acheté des articles d’une gamme de produits sans savoir s’ils sont en relation. Dans ces deux cas, il peut être intéressant d’identifier des acteurs, en nombre le plus petit possible, susceptibles de diffuser des idées ou recommandations d’un groupe à un autre. C’est ce problème que nous nous proposons de résoudre. Nous émettons l’hypothèse que la propagation repose sur des acteurs qui sont susceptibles d’assurer la transmission entre les groupes d’individus. En ce sens, les multi-membres que nous recherchons sont, pour partie, des ambassadeurs tels que Scripss et al les définissent [STE07b]. Il s’agirait donc de déterminer le plus petit ensemble de membres du réseau susceptibles de couvrir toutes les communautés.

L’objectif est donc de déterminer le plus petit ensemble d’acteurs, appelés multi-membres, qui sont susceptibles de représenter au mieux possible les différentes communautés du réseau en analysant le réseau dans ce contexte d’information incomplète où nous ne disposons pas de la matrice d’adjacence associée au graphe représentant le réseau mais où, en revanche, les communautés sont données.

Pour ce faire, nous proposons de représenter le système communautaire sous la forme d’un hypergraphe dans lequel les sommets représentent les acteurs et les hyperarêtes représentent les communautés. Dans cet hypergraphe, les multi-membres pourront être déterminés à partir des traverses minimales de l’hypergraphe, elles-mêmes définies comme un ensemble de sommets, minimal au sens de l’inclusion, qui intersecte toutes les hyperarêtes [Ber89].

3.3 Definition d’une traverse minimale multi-membres

Un réseau social peut être défini comme un ensemble d’entités interconnectés les unes aux autres [WF94]. Ces entités sont généralement des individus ou des organisations. Les relations matérialisent les interactions entre les entités.
Dans le contexte d’un hypergraphe où nous disposons seulement des communautés d’un réseau modélisées par les hyperarêtes, nous considérons que les multi-membres correspondent au plus petit ensemble de sommets tel qu’au moins un élément appartient à chaque communauté et, si possible, avec plusieurs éléments appartenant à des communautés de large taille. En ce sens, la définition des multi-membres peut se baser sur celle d’une traverse minimale définie comme étant un ensemble de sommets ayant une intersection, non vide, avec chaque hyperarête.

Exemple 5

Dans la suite de ce chapitre, nous utiliserons à titre illustratif l’hypergraphe de la Figure 3.1 (gauche) tel que et = {{}, {}, {}, {}, {}, {}}. L’ensemble de ses traverses minimales est {{}, {}, {}, {}, {}, {}}. La Table de la figure 3.1 (droite) représente la matrice d’incidence associée à l’hypergraphe . Cet exemple d’hypergraphe sera repris tout au long de ce chapitre pour illustrer notre approche et extraire les multi-membres de .

1 2 3 4 5 6 7 8 {1, 2} 0 0 0 0 0 0 {2, 3, 7} 0 0 0 0 0 {3, 4, 5} 0 0 0 0 0 {4, 6} 0 0 0 0 0 0 {6, 7, 8} 0 0 0 0 0 {7} 0 0 0 0 0 0 0
Figure 3.1: Un exemple d’hypergraphe et la matrice d’incidence correspondante

Nous pouvons redéfinir une traverse minimale à partir de la notion d’ensemble de sommets essentiels.

Définition 11

Support d’un ensemble de sommets
Soit l’hypergraphe , et un sous-ensemble de sommets de . Nous définissons comme le nombre d’hyperarêtes de , renfermant au moins un élément de : = , étant la relation binaire entre les hyperarêtes et les sommets de la matrice d’incidence correspondante à .

Ainsi, l’ensemble peut être vu comme une disjonction de sommets tel que la présence d’un seul sommet de suffit à affirmer que satisfait une hyperarête donnée, indépendamment des autres sommets.

Définition 12

Ensemble essentiel de sommets ([CCL05]) Soit l’hypergraphe , et . représente un ensemble essentiel de sommets si et seulement si : .

Il est important de souligner que les ensembles essentiels, extraits à partir d’une matrice d’incidence, vérifient la propriété d’idéal d’ordre des itemsets essentiels, i.e, si est un ensemble essentiel, alors , est aussi un ensemble essentiel. De plus, la notion de traverse peut être redéfinie par le biais du support d’un ensemble de sommets et de la notion d’ensemble essentiel, selon la proposition 1.

Proposition 1

Traverse minimale
Un sous-ensemble de sommets est une traverse minimale de l’hypergraphe , si est essentiel et si son support est égal au nombre des hyperarêtes de , autrement dit, est un ensemble essentiel tel que =.

Preuve 1

Soit un ensemble essentiel de sommets tel que =. Par conséquent,   , …, . Donc, d’après la définition 7, est une traverse. La minimalité de tient à son "essentialité". En effet, puisque est essentiel, alors son support est strictement supérieur à celui de ses sous-ensembles directs. Par conséquent, s.t. =. est donc une traverse minimale.

Exemple 6

L’ensemble des traverses minimales , calculées à partir de l’hypergraphe de l’Exemple 5, est {{}, {}, {}, {}, {}, {}}.

En se basant sur les définitions présentées ci-dessus, nous pouvons donner une définition plus formelle des traverses minimales multi-membres (tmm).

Définition 13

Traverse minimale multi-membres
Soit , , un hypergraphe et . est appelé Traverse minimale multi-membre, noté Tmm, si vérifie les trois conditions suivantes :

  1. (Condition nécessaire): est une traverse minimale : .

  2. (Condition de composition): est minimale dans dans le sens de la cardinalité : X = (H) where (H) = Min T, T. () est le nombre de transversalité de .

  3. (Condition de recouvrement maximum):
    = Max , T tel que T = (H) .

Ainsi, un ensemble de sommets est une Tmm s’il constitue une traverse minimale, si sa taille est la plus petite possible et s’il maximise la condition de recouvrement. Spécifiquement, la première condition assure qu’il existe au moins un multi-membre dans chaque communauté. La seconde suppose que l’ensemble des multi-membres est le plus petit possible. Ainsi, l’objectif est de représenter toutes les communautés avec un nombre minimal de sommets. La troisième condition, calculant le recouvrement maximum, prend en compte le fait que certains multi-membres peuvent appartenir à une ou plusieurs mêmes communautés. Dans ce cas, le but est de favoriser les éléments qui appartiennent aux communautés les plus grandes.

Exemple 7

Pour l’hypergraphe de l’Exemple 5, nous avons une seule Tmm. C’est la traverse minimale {}.

3.4 Méthodologie et algorithmes d’extraction des multi-membres

A présent, nous introduisons un premier algorithme d’extraction des multi-membres, baptisé M2D, qui balaye l’espace de recherche en largeur. M2D repose sur la propriété d’ordre idéal garantie par les ensembles de sommets essentiels pour l’élagage des candidats. En ce sens, cet algorithme agit d’une manière brute-force en générant les candidats nécessaires. Il s’arrête après avoir atteint le niveau , i.e. le nombre de transversalité, où a été détecté la première traverse minimale.

3.4.1 Algorithme M2d

L’algorithme M2D, dont le pseudo-code est décrit par l’algorithme 9, prend en entrée un hypergraphe et fournit en sortie l’ensemble des Tmms. L’algorithme effectue un parcours en largeur d’abord, i.e., il opère par niveau pour déterminer les ensembles de sommets essentiels. A chaque niveau , un appel à la procédure Apriori-Gen [AR94] est effectué pour calculer les candidats de taille , à partir des ensembles de sommets essentiels de taille . En effet, Apriori-Gen génère un nouveau candidat = à partir de deux candidats et , tels que = et = . M2D calcule, ensuite, le support des k-candidats générés, à la ligne 9, et vérifie si leurs supports respectifs sont strictement supérieurs à ceux de leurs sous-ensembles directs (ligne 10).

Si parmi les ensembles de sommets essentiels, générés à un niveau , il existe au moins un sommet, dont le support est égal au nombre d’hyperarêtes de l’hypergraphe (ligne 12), la boucle de la ligne 8 s’arrête et renferme alors l’ensemble des traverses minimales qui sont minimales au sens de la cardinalité.

Entrées : = (, ): Hypergraphe
Sorties :
1 début
2       = ;
3       := 1;
4       pour chaque  faire
5            si  alors
6                   ;
7                  
8            
9      si   alors
10            Aller ligne
11      sinon
12             find = false ;
13             tant que  ou find = false faire
14                   := Apriori-Gen;
15                   := ;
16                   pour chaque   faire
17                         si  alors
18                               ;
19                               find = true;
20                        
21                   := + 1;
22                  
23            
24       = Recouvrement();
25       retourner
26
Algorithme 9 M2D

Ces ensembles de sommets vérifient aussi bien la condition nécessaire que la condition de composition de la définition 13. Au final, parmi ces candidats, les Tmms sont déterminés en se basant sur la fonction de calcul du recouvrement (ligne ). Cette fonction calcule le nombre de sommets couverts par chaque candidat (i.e., la somme des cardinalités des communautés auxquelles appartient ce candidat) et retourne ceux qui ont la valeur maximale. Ainsi, la troisième condition de la définition 13 est aussi vérifiée.

Min. Tran. Recouvrement
1 4 7 8
2 4 7 10
1 3 6 7
1 5 6 7
2 3 6 7
2 5 6 7
Table 3.1: Les Tmms extraits à partir de l’hypergraphe de la Figure 3.1
Exemple 8

Illustrons le déroulement de l’algorithme M2D sur l’hypergraphe de la Figure 3.1. M2D balaye l’espace de recherche en opérant en largeur jusqu’à arriver au niveau 3. Toutes les traverses minimales, que renferme l’hypergraphe de la figure 3.1 (page 3.1), sont données par la première colonne du tableau 3.1. Seules les plus petites traverses minimales, au sens de la cardinalité, nous intéressent et c’est la raison pour laquelle l’algorithme s’arrête au troisième niveau. Ces traverses minimales sont marquées comme étant des Tmms candidates : {1 4 7} et {2 4 7} dans le tableau 3.1. La fonction Recouvrement calcule, pour chaque candidat, la somme des tailles des communautés auxquelles il appartient et ne gardera que celui qui la maximise. Ainsi, le premier Tmm candidat est {1, 4, 7}. Le sommet 1 couvre le sommet 2, le sommet 4 couvre les sommets 3, 5 et 6. Enfin, le sommet 7 couvre les sommets 2, 3, 6 et 8. Le candidat {1, 4, 7} couvre donc, deux fois, chacun des sommets 2, 3 et 6, et une seule fois les sommets 5 et 8. Ainsi, le recouvrement du candidat Tmm {1, 4, 7} est égal à 8 sommets alors que, dans le même temps, le candidat {2, 4, 7} couvre au total 10 sommets. Ce dernier candidat est alors la seule Tmm de l’hypergraphe d’entrée et est retourné par l’algorithme M2D.

L’algorithme M2D balaye l’espace de recherche du niveau 1 jusqu’au niveau , i.e., le niveau renfermant les plus petites traverses minimales. Sachant que les Tmm appartiennent à un et un seul niveau, l’ensemble des candidats générés du niveau 1 jusqu’au niveau est inutile puisque ces derniers ne vérifient pas la condition nécessaire de la définition 13. Cette génération inutile des candidats handicape sérieusement l’efficacité du processus de recherche des Tmms, spécialement dans les bases éparses où la taille des Tmms est large (i.e., localisées dans un niveau élevé de l’espace de recherche). Idéalement, il serait plus bénéfique d’accéder directement à ce niveau . Dans l’exemple ci-dessus, les candidats de taille 1 et 2 ne renferment pas des Tmms puisque la taille de la plus petite traverse minimale est égale à 3. Ainsi, "sauter" les niveaux 1 et 2 présenterait une optimisation conséquente dans la mesure où le nouveau algorithme n’aura pas à générer et tester les candidats inutiles. Cet algorithme, appelé O-M2D, est une optimisation de l’algorithme M2D et détermine intelligemment le niveau adéquat pour identifier les Tmm à partir des k-candidats uniquement.

3.4.2 Algorithme O-M2d

Comme M2D, l’algorithme O-M2D prend en entrée un hypergraphe et donne en sortie l’ensemble des Tmms. Le balayage s’effectue sur un seul niveau, i.e., le niveau qui renferme les Tmms. O-M2D commence par invoquer la fonction GetMinTransversality, dont le pseudo-code est décrit par l’Algorithme 11, pour localiser le niveau où la taille des candidats générés est égale à celle des Tmms (ligne ). Ce niveau correspond au nombre de transversalité de l’hypergraphe d’entrée.

Ensuite, O-M2D génére, un à un, l’ensemble des -candidats (ligne ). Pour chaque -candidat, i.e., ensemble de sommets de taille , l’algorithme calcule son support (ligne ). Si ce support est strictement supérieur au maximum des supports de ses sous-ensembles directs et qu’il est égal au nombre des hyperarêtes (ligne ), alors ce candidat est marqué comme étant une traverse minimale et donc une Tmm potentielle.

Quand toutes les traverses minimales ont été extraites, la fonction Recouvrement (ligne ) se charge d’identifier l’ensemble des Tmms, comme expliqué plus haut.

Entrées : = (, ): Hypergraphe et sa matrice d’incidence correspondante
Sorties :