AccueilđŸ‡«đŸ‡·Chercher

ProblĂšme de la clique

En informatique, le problĂšme de la clique est un problĂšme algorithmique qui consiste Ă  trouver des cliques (sous-ensembles de sommets d'un graphe tous adjacents les uns aux autres, Ă©galement appelĂ©s sous-graphes complets) dans un graphe. Ce problĂšme a plusieurs formulations diffĂ©rentes selon les cliques et les informations sur les cliques devant ĂȘtre trouvĂ©es. Les formulations courantes du problĂšme de la clique incluent la recherche d'une clique maximum (une clique avec le plus grand nombre possible de sommets), la recherche d'une clique de poids maximal dans un graphe pondĂ©rĂ©, la liste de toutes les cliques maximums et la rĂ©solution du problĂšme de dĂ©cision consistant Ă  dĂ©terminer si un graphe contient une clique plus grande qu'une taille donnĂ©e.

Recherche exhaustive d'une 4-clique dans ce graphe à 7 sommets en testant la complétude des C(7,4)= 35 sous-graphes à 4 sommets.

Le problĂšme de la clique apparaĂźt dans la situation rĂ©elle suivante. ConsidĂ©rons un rĂ©seau social, oĂč les sommets du graphe reprĂ©sentent des personnes et les arĂȘtes reprĂ©sentent la connaissance mutuelle entre les personnes. Une clique reprĂ©sente alors un sous-ensemble de personnes qui se connaissent toutes mutuellement, et des algorithmes pour trouver des cliques peuvent ĂȘtre utilisĂ©s pour dĂ©couvrir ces groupes d'amis communs. Outre ses applications aux rĂ©seaux sociaux, le problĂšme de la clique a Ă©galement de nombreuses applications en bioinformatique et en chimie numĂ©rique.

La plupart des versions du problÚme de la clique sont des problÚmes difficiles. Le problÚme décisionnel de la clique est NP-complet (l'un des 21 problÚmes NP-complets de Karp). Le problÚme de trouver une k-clique est à la fois intraitable à paramÚtre fixé (il n'est pas dans la classe de problÚmes FPT) et est difficile à approcher (en). Lister toutes les cliques maximums peut nécessiter un temps exponentiel car il existe des graphes avec un nombre de cliques maximums exponentiel en le nombre de sommets. Par conséquent, une grande partie de la théorie sur le problÚme de la clique est consacrée à l'identification de types particuliers de graphes qui admettent des algorithmes plus efficaces, ou à l'établissement de la difficulté algorithmique du problÚme général dans divers modÚles de calcul.

Pour trouver une clique maximum, on peut inspecter tous les sous-ensembles du graphe, mais ce type de recherche exhaustive est trop long pour ĂȘtre utilisable dans des graphes comprenant plus de quelques dizaines de sommets. Bien qu'aucun algorithme de temps polynomial ne soit connu pour ce problĂšme, des algorithmes plus efficaces que la recherche exhaustive sont connus. Par exemple, l'algorithme de Bron-Kerbosch peut ĂȘtre utilisĂ© pour lister toutes les cliques maximums, en temps optimal dans le pire cas, et il est Ă©galement possible de les lister en temps polynomial par clique.

Histoire et applications

L'Ă©tude de sous-graphes complets en mathĂ©matiques est antĂ©rieure Ă  la terminologie «clique». Par exemple, les sous-graphes complets font une premiĂšre apparition dans la littĂ©rature mathĂ©matique dans la reformulation de la thĂ©orie de Ramsey du point de vue de la thĂ©orie des graphes par ErdƑs et Szekeres (1935). Mais le terme « clique » et le problĂšme de lister les cliques de maniĂšre algorithmique proviennent tous deux des sciences sociales, oĂč des sous-graphes complets sont utilisĂ©s pour modĂ©liser des cliques sociales (en), des groupes de personnes qui se connaissent toutes. En 1949, Luce et Perry ont utilisĂ© des graphes pour modĂ©liser les rĂ©seaux sociaux et ont adaptĂ© la terminologie des sciences sociales Ă  la thĂ©orie des graphes. Ils ont Ă©tĂ© les premiers Ă  appeler les sous-graphes complets « cliques ». Le premier algorithme pour rĂ©soudre le problĂšme de la clique est celui de Harary et Ross (1957)[1], qui Ă©taient motivĂ©s par les applications sociologiques. Les chercheurs en sciences sociales ont Ă©galement dĂ©fini divers autres types de cliques et de cliques maximales dans le cadre des rĂ©seaux sociaux, des « sous-groupes cohĂ©sifs » de membres du rĂ©seau qui partagent tous l'un des diffĂ©rents types de relations. Beaucoup de ces notions gĂ©nĂ©ralisĂ©es de cliques peuvent Ă©galement ĂȘtre retrouvĂ©es en construisant un graphe non orientĂ© dont les arĂȘtes reprĂ©sentent des paires liĂ©es de membres du rĂ©seau social, puis en appliquant Ă  ce graphe un algorithme pour le problĂšme de la clique. [2]

Depuis les travaux de Harary et Ross, de nombreux autres ont conçu des algorithmes pour diffĂ©rentes versions du problĂšme de la clique[1] . Dans les annĂ©es 1970, les chercheurs ont commencĂ© Ă  Ă©tudier ces algorithmes du point de vue de l' analyse du pire cas . Par exemple, Tarjan et Trojanowski ont publiĂ© un premier travail sur la complexitĂ© du pire cas du problĂšme de la clique maximum en 1977. Toujours dans les annĂ©es 1970, en commençant par les travaux de Cook (1971) et Karp (1972), les chercheurs ont commencĂ© Ă  utiliser la thĂ©orie de la NP-complĂ©tude et notamment des rĂ©sultats d'insolvabilitĂ© pour fournir une explication mathĂ©matique de la difficultĂ© du problĂšme de clique. Dans les annĂ©es 1990, une sĂ©rie d'articles commençant par Feige et al. (1991) et rapportĂ©s dans le New York Times, [3] ont montrĂ© que (en supposant P ≠ NP ), il n'est mĂȘme pas possible d' approcher le problĂšme avec prĂ©cision et efficacitĂ©.

Des algorithmes de recherche de cliques ont Ă©tĂ© utilisĂ©s en chimie, pour trouver des produits chimiques qui correspondent Ă  une structure cible [4] et pour modĂ©liser l'ancrage molĂ©culaire et les sites de liaison des rĂ©actions chimiques. [5] Ils peuvent Ă©galement ĂȘtre utilisĂ©s pour trouver des structures similaires dans diffĂ©rentes molĂ©cules[6]. Dans ces applications, on forme un graphe dans lequel chaque sommet reprĂ©sente un couple d'atomes appariĂ©s, un de chacune des deux molĂ©cules[7]. Deux sommets sont reliĂ©s par une arĂȘte si les paires qu'ils reprĂ©sentent sont compatibles entre elles. Être compatible peut signifier, par exemple, que les distances entre les atomes dans chacune des deux molĂ©cules sont approximativement Ă©gales, Ă  une certaine tolĂ©rance donnĂ©e. Une clique dans ce graphique reprĂ©sente un ensemble de paires d'atomes compatibles les unes avec les autres. Un cas particulier de cette mĂ©thode est l'utilisation du produit modulaire de graphes pour rĂ©duire le problĂšme de trouver le sous-graphe induit commun maximum de deux graphes au problĂšme de trouver une clique maximum dans leur produit. [8]

Dans la génération automatique de modÚles de test, la recherche de cliques peut aider à limiter la taille d'un ensemble de test. [9] En bioinformatique, des algorithmes de recherche de clique ont été utilisés pour la génération d'arbres d'évolutions, [10] la prédiction de structures protéiques, [11] et pour trouver des groupes de protéines en interaction étroite. [12] Lister les cliques d'un graphe de dépendances (en) est une étape importante dans l'analyse de certains processus aléatoires. [13] En mathématiques, la conjecture de Keller sur le pavage de l'espace euclidien par des hypercubes a été réfutée par Lagarias et Shor (1992), qui ont utilisé un algorithme de recherche de clique sur un graphe associé pour trouver un contre-exemple[14].

Cliques maximales et cliques maximums

Soit G=(V,E) un graphe non orientĂ©, avec V les sommets du graphe et E les arĂȘtes. Une clique dans G est un sous-graphe G'=(V',E') complet, ce qui signifie que tous les sommets dans V' sont reliĂ©s entre eux. Voici deux notions diffĂ©rentes dont on prendra garde Ă  ne les pas confondre :

  • On parle de clique maximale une clique de G Ă  laquelle on ne peut rajouter aucun sommet de G. Cette clique est donc maximale pour l'inclusion.
  • On parle de clique maximum une clique de G possĂ©dant le plus grand nombre de sommets. Cette clique est donc maximale pour le cardinal.

Par consĂ©quent, chaque clique est contenue dans une clique maximale.[13] Les cliques maximales peuvent ĂȘtre trĂšs petites. Un graphe peut contenir une clique non maximale avec de nombreux sommets et une autre clique de taille 2 qui est maximale. Alors qu'une clique maximum (c'est-Ă -dire la plus grande) est nĂ©cessairement maximale, l'inverse ne tient pas. Il existe certains types de graphes dans lesquels chaque clique maximale est maximum; ce sont les complĂ©mentaires des graphes bien couverts, dans lesquels chaque ensemble indĂ©pendant maximal est maximum. [15] Cependant, d'autres graphes ont des cliques maximales qui ne sont pas maximum.

Ces deux notions de cliques conduisent à définir différents problÚmes algorithmiques qui seront définies dans la partie suivante.

Algorithmes

Trouver une seule clique maximale

On peut trouver une clique maximale grĂące Ă  un algorithme glouton en temps linĂ©aire[16]. En commençant par une clique arbitraire (par exemple, n'importe quel sommet unique ou mĂȘme l'ensemble vide), augmentez la clique actuelle un sommet Ă  la fois en faisant une boucle sur les sommets restants du graphe. Pour chaque sommet v que cette boucle examine, ajoutez v Ă  la clique si v est adjacent Ă  chaque sommet qui est dĂ©jĂ  dans la clique, et rejetez v dans le cas contraire. En raison de la facilitĂ© de trouver des cliques maximales et de leur petite taille potentielle, plus d'attention a Ă©tĂ© accordĂ©e au problĂšme algorithmique beaucoup plus difficile de trouver une clique maximum ou une plus grande qu'une taille donnĂ©e. Cependant, certaines recherches en algorithmique parallĂšle ont toutefois Ă©tudiĂ© le problĂšme de la recherche d'une clique maximale. En particulier, le problĂšme de la recherche de la premiĂšre clique maximale lexicographique (celle trouvĂ©e par l'algorithme ci-dessus) s'est avĂ©rĂ© complet pour la classe des fonctions de temps polynomiales (FP) . Ce rĂ©sultat implique qu'il est peu probable que le problĂšme puisse ĂȘtre rĂ©solu dans la classe de complexitĂ© parallĂšle NC.[17]

Cliques de taille fixée

On peut tester si un graphe G contient une clique de taille k, et trouver une telle clique, en utilisant un algorithme de recherche exhaustive . Cet algorithme examine chaque sous-graphe avec k sommets et vĂ©rifie s'il forme une clique. Cela s'effectue en temps , tel qu'exprimĂ© en utilisant la notation O. En effet, il y a sous-graphes Ă  vĂ©rifier, chacun d'entre eux ayant arĂȘtes dont la prĂ©sence dans le graphe G doit ĂȘtre vĂ©rifiĂ©e. Ainsi, le problĂšme peut ĂȘtre rĂ©solu en temps polynomial Ă  condition que k soit une constante fixe. Cependant, lorsque k n'a pas de valeur fixe, et est une variable du problĂšme, le temps est exponentiel.[18]

Le cas non trivial le plus simple du problĂšme de recherche de clique est de trouver un triangle dans un graphe, ou de dĂ©terminer de maniĂšre Ă©quivalente si le graphe est sans triangle . Dans un graphe G avec m arĂȘtes, il peut y avoir au plus Θ(m3/2) triangles (en utilisant la notation grand thĂȘta pour indiquer que cette borne est serrĂ©e). Le pire des cas pour cette formule se produit lorsque G est lui-mĂȘme une clique. Par consĂ©quent, les algorithmes pour lister tous les triangles doivent prendre au moins Ω(m3/2) temps dans le pire des cas (en utilisant la notation grand omĂ©ga ), et des algorithmes sont connus qui correspondent Ă  cette limite de temps.[19] Par exemple, Chiba & Nishizeki (1985) dĂ©crivent un algorithme qui trie les sommets dans l'ordre du plus haut degrĂ© au plus bas, puis itĂšre Ă  travers chaque sommet v de la liste triĂ©e, Ă  la recherche de triangles qui incluent v et n'incluent aucun sommet prĂ©cĂ©dent dans le liste. Pour ce faire, l'algorithme marque tous les voisins de v, recherche Ă  travers tous les arĂȘtes incidentes Ă  un voisin de v, produisant un triangle pour chaque arĂȘte qui a deux extrĂ©mitĂ©s marquĂ©es, puis supprime les marques et supprime v du graphe. Comme le montrent les auteurs, le temps de cet algorithme est proportionnel Ă  l' arboricitĂ© du graphe (notĂ©e a(G) ) multipliĂ©e par le nombre d'arĂȘtes, qui est . L'arboricitĂ© Ă©tant au plus Ă©gale Ă  , cet algorithme s'exĂ©cute au temps . Plus gĂ©nĂ©ralement, toutes les k -cliques peuvent ĂȘtre listĂ©es par un algorithme similaire qui prend un temps proportionnel au nombre d'arĂȘtes multipliĂ© par l'arboricitĂ© Ă  la puissance (k − 2) . Pour les graphes d'arboricitĂ© constante, tels que les graphes planaires (ou en gĂ©nĂ©ral les graphes de toute famille de graphes mineurs fermĂ©s non triviale), cet algorithme prend un temps , ce qui est optimal car il est linĂ©aire dans la taille de l'entrĂ©e[20].

Si l'on dĂ©sire un seul triangle, ou l'assurance que le graphe est sans triangle, des algorithmes plus rapides sont possibles. Comme l'observe Itai & Rodeh (1978), le graphe contient un triangle si et seulement si sa matrice d'adjacence et le carrĂ© de sa matrice d'adjacence contiennent des entrĂ©es non nulles dans la mĂȘme cellule. Par consĂ©quent, des techniques de multiplication matricielle rapide telles que l' algorithme Coppersmith – Winograd peuvent ĂȘtre appliquĂ©es pour trouver des triangles dans le temps . Alon, Yuster & Zwick (1994) ont utilisĂ© la multiplication matricielle rapide pour amĂ©liorer l'algorithme en pour trouver des triangles en . Ces algorithmes basĂ©s sur la multiplication matricielle rapide ont Ă©galement Ă©tĂ© Ă©tendus aux problĂšmes de recherche de k -cliques pour des valeurs de k plus grandes.[21] [22] [23] [24] [25]

Lister toutes les cliques maximales

D'aprĂšs un rĂ©sultat de Moon & Moser (1965), chaque graphe de taille a au plus 3n/3 cliques maximales. Elles peuvent ĂȘtre listĂ©es par l' algorithme de Bron – Kerbosch, un algorithme de retour arriĂšre crĂ©Ă© par Bron & Kerbosch (1973) . Le sous-programme rĂ©cursif principal de cet algorithme a trois arguments: une clique partiellement construite (non maximale), un ensemble de sommets candidats qui pourraient ĂȘtre ajoutĂ©s Ă  la clique, et un autre ensemble de sommets qui ne devraient pas ĂȘtre ajoutĂ©s (car cela conduirait Ă  une clique dĂ©jĂ  trouvĂ©e). L'algorithme essaie d'ajouter les sommets candidats un par un Ă  la clique partielle, en effectuant un appel rĂ©cursif pour chacun. AprĂšs avoir essayĂ© chacun de ces sommets, il le dĂ©place vers l'ensemble des sommets qui ne doivent plus ĂȘtre ajoutĂ©s. On peut montrer que des variantes de cet algorithme ont un temps d'exĂ©cution dans le pire des cas en , correspondant au nombre de cliques qui pourraient avoir besoin d'ĂȘtre listĂ©es. [26] Par consĂ©quent, cela fournit une solution optimale dans le pire des cas au problĂšme de la liste de toutes les cliques maximales. De plus, l'algorithme de Bron – Kerbosch a Ă©tĂ© largement dĂ©clarĂ© plus rapide en pratique que ses alternatives. [27]

Cependant, lorsque le nombre de cliques est significativement plus petit que celui du pire cas, d'autres algorithmes peuvent ĂȘtre prĂ©fĂ©rables. Comme Tsukiyama et al. (1977) l'ont montrĂ©, il est Ă©galement possible de lister toutes les cliques maximales dans un graphe dans un laps de temps qui est polynomial par clique gĂ©nĂ©rĂ©e. Un algorithme tel que le leur, dans lequel le temps d'exĂ©cution dĂ©pend de la taille de la sortie est appelĂ© algorithme sensible Ă  la sortie . Leur algorithme est basĂ© sur les deux observations suivantes, reliant les cliques maximales du graphe G de dĂ©part aux cliques maximales d'un graphe G \ v formĂ© en supprimant un sommet arbitraire v de G :

  • Pour chaque clique maximale K de G \ v, soit K continue de former une clique maximale dans G, soit K ⋃ {v} forme une clique maximale dans G. Par consĂ©quent, G a au moins autant de cliques maximales que G \ v.
  • Chaque clique maximale dans G qui ne contient pas v est une clique maximale dans G \ v, et chaque clique maximale dans G qui contient v peut ĂȘtre formĂ©e Ă  partir d'une clique maximale K dans G \ v en ajoutant v et en supprimant les non-voisins de v dans K.

En utilisant ces observations, on peut gĂ©nĂ©rer toutes les cliques maximales dans G par un algorithme rĂ©cursif qui choisit v puis, pour chaque clique maximale K dans G \ v, produit Ă  la fois K et la clique formĂ©e en ajoutant v Ă  K et en supprimant les non-voisins de v . Cependant, certaines cliques de G peuvent ĂȘtre gĂ©nĂ©rĂ©es de cette maniĂšre Ă  partir de plus d'une clique parente de G \ v, donc ils Ă©liminent les doublons en conservant une clique dans G uniquement lorsque son parent dans G \ v est le maximum lexicographique parmi toutes les cliques parentes possibles. Sur la base de ce principe, ils montrent que toutes les cliques maximales dans G peuvent ĂȘtre gĂ©nĂ©rĂ©es en temps par clique, oĂč m est le nombre d'arĂȘtes dans G et n est le nombre de sommets. Chiba & Nishizeki (1985) l' amĂ©liorent Ă  O(ma) par clique, oĂč a est l'arboricitĂ© du graphe donnĂ©. Makino & Uno (2004) proposent un algorithme alternatif sensible Ă  la sortie basĂ© sur une multiplication matricielle rapide. Johnson & Yannakakis (1988) montrent qu'il est mĂȘme possible de lister toutes les cliques maximales dans l' ordre lexicographique avec un retard polynomial par clique. Cependant, le choix de l'ordre est important pour l'efficacitĂ© de cet algorithme: pour l'inverse de cet ordre, il n'y a pas d'algorithme Ă  retard polynomial sauf si P = NP .

Sur la base de ce rĂ©sultat, il est possible de lister toutes les cliques maximales en temps polynomial, pour des familles de graphes dans lesquelles le nombre de cliques est polynomialement bornĂ©. Ces familles comprennent les graphes cordaux, les graphes complets, les graphes sans triangle, les graphes d'intervalles, les graphes de boxicitĂ© (en) bornĂ©e et les graphes planaires . [28] En particulier, les graphes planaires ont cliques, de taille au plus constante, qui peuvent ĂȘtre listĂ©es en temps linĂ©aire. Il en va de mĂȘme pour toute famille de graphe clairsemĂ©s (ayant un nombre d'arĂȘtes au plus constant multipliĂ© par le nombre de sommets) fermĂ©e sous l'opĂ©ration de prise de sous-graphes[20] - [29].

Rechercher une clique maximum

Il est possible de trouver une clique maximum, ou sa taille, d'un graphe arbitraire Ă  n sommets dans le temps en utilisant l'un des algorithmes dĂ©crits ci-dessus pour lister toutes les cliques maximales dans le graphe et celle de cardinal maximum. Cependant, pour cette variante du problĂšme de clique, de meilleures limites de temps dans le pire des cas sont possibles. L'algorithme de Tarjan & Trojanowski (1977) rĂ©sout ce problĂšme en temps . Il s'agit d'un algorithme de retour arriĂšre rĂ©cursif similaire Ă  celui de l' algorithme de Bron-Kerbosch, mais il est capable d'Ă©liminer certains appels rĂ©cursifs lorsqu'il peut ĂȘtre dĂ©montrĂ© que les cliques trouvĂ©es dans l'appel seront sous-optimales. Jian (1986) a amĂ©liorĂ© le temps Ă  , et Robson (1986) Ă  , au dĂ©triment d'une plus grande complexitĂ© spatiale. L'algorithme de Robson combine un algorithme de retour arriĂšre similaire (avec une analyse de cas plus compliquĂ©e) et une technique de programmation dynamique dans laquelle la solution optimale est prĂ©calculĂ©e pour tous les petits sous-graphes connectĂ©s du graphe complĂ©mentaire . Ces solutions partielles sont utilisĂ©es pour raccourcir la rĂ©cursivitĂ© de retour arriĂšre. L'algorithme le plus rapide connu aujourd'hui est une version raffinĂ©e de cette mĂ©thode par Robson (2001) qui s'exĂ©cute dans le temps . [30]

Il y a Ă©galement eu des recherches approfondies sur les algorithmes heuristiques pour rĂ©soudre les problĂšmes de clique maximum sans garanties sur le temps d'exĂ©cution dans le pire cas, basĂ©es sur des mĂ©thodes comprenant la sĂ©paration et Ă©valuation[31], la recherche locale[32], les algorithmes gloutons[33], et la programmation par contraintes. [34] Les mĂ©thodologies de calcul non standards qui ont Ă©tĂ© suggĂ©rĂ©es pour trouver des cliques comprennent le calcul ADN et le calcul quantique adiabatique . [35] Le problĂšme de clique maximum a fait l'objet d'un dĂ©fi de mise en Ɠuvre parrainĂ© par DIMACS (en) en 1992–1993, [36] dont la collection de graphes utilisĂ©s comme points de repĂšre pour le dĂ©fi est accessible au public.

Familles spéciales de graphes

Dans ce graphe de permutation, les cliques maximums correspondent aux sous-suites décroissantes les plus longues, (4,3,1) et (4,3,2) dans la permutation ici définie.

Les graphes planaires, et d'autres familles de graphes clairsemĂ©s, ont Ă©tĂ© discutĂ©s ci-dessus: ils ont des cliques maximales linĂ©airement nombreuses, de taille bornĂ©e, qui peuvent ĂȘtre listĂ©es en temps linĂ©aire[20]. En particulier, pour les graphes planaires, toute clique peut avoir au plus quatre sommets, selon le thĂ©orĂšme de Kuratowski[37].

Les graphes parfaits sont dĂ©finis comme Ă©tant les graphes qui vĂ©rifie la propriĂ©tĂ© d'avoir leur nombre de clique Ă©gal Ă  leur nombre chromatique, et dont chaque sous-graphes induit vĂ©rifie aussi cette propriĂ©tĂ©. Pour des graphes parfaits, il est possible de trouver une clique maximum en temps polynomial, en utilisant un algorithme basĂ© sur une programmation semi-dĂ©finie . [38] Cependant, cette mĂ©thode est complexe et non combinatoire, et des algorithmes de recherche de cliques spĂ©cialisĂ©s ont Ă©tĂ© dĂ©veloppĂ©s pour de nombreuses sous-familles de graphes parfaits. [39] Dans les graphes complĂ©mentaires des graphes bipartis, le thĂ©orĂšme de KƑnig permet de rĂ©soudre le problĂšme de la clique maximum en utilisant des techniques de couplage . Dans une autre famille de graphes parfaits, les graphes de permutation, une clique maximum est une sous-suite dĂ©croissante la plus longue de la permutation dĂ©finissant le graphe et peut ĂȘtre trouvĂ©e en utilisant des algorithmes connus pour le problĂšme de sous-suite dĂ©croissante la plus longue. Inversement, chaque instance du problĂšme de sous-suite dĂ©croissante la plus longue peut ĂȘtre dĂ©crite de maniĂšre Ă©quivalente comme un problĂšme de recherche d'une clique maximum dans un graphe de permutation. Even, Pnueli & Lempel (1972) fournissent un algorithme alternatif pour les cliques maximales dans les graphes de comparabilitĂ©, une famille plus large de graphes parfaits qui inclut les graphes de permutation[40]. Cet algorithme s'exĂ©cute en temps quadratique. [41] Dans les graphes cordaux, les cliques maximales peuvent ĂȘtre trouvĂ©es en listant les sommets dans un ordre d'Ă©limination, et en vĂ©rifiant les voisinages de clique de chaque sommet dans cet ordre[42].

Dans certains cas, ces algorithmes peuvent Ă©galement ĂȘtre Ă©tendus Ă  d'autres familles de graphes non parfaits. Par exemple, dans un graphe circulaire, le voisinage de chaque sommet est un graphe de permutation, donc une clique maximum dans un graphe circulaire peut ĂȘtre trouvĂ©e en appliquant l'algorithme de graphe de permutation Ă  chaque voisinage[43]. De mĂȘme, dans un graphe de disque unitaire (avec une reprĂ©sentation gĂ©omĂ©trique connue), il existe un algorithme en temps polynomial pour les cliques maximums basĂ© sur l'application de l'algorithme sur les complĂ©mentaires de graphes bipartis aux voisinages partagĂ©s par des paires de sommets. [44]

Le problĂšme algorithmique de trouver une clique maximum dans un graphe alĂ©atoire tirĂ© du modĂšle ErdƑs – RĂ©nyi (dans lequel chaque arĂȘte apparaĂźt avec une probabilitĂ© 1/2, indĂ©pendamment des autres arĂȘtes) a Ă©tĂ© suggĂ©rĂ© par Karp (1976) . Étant donnĂ© que la clique maximum dans un graphe alĂ©atoire a une taille logarithmique avec une probabilitĂ© Ă©levĂ©e, elle peut souvent ĂȘtre trouvĂ©e par une recherche par force brute dans le temps . Il s'agit d'une limite temporelle quasi polynomiale . [45] Bien que le nombre de cliques de ces graphes soit gĂ©nĂ©ralement trĂšs proche de 2 log2n, des algorithmes gloutons simples ainsi que des techniques d'approximation alĂ©atoire plus sophistiquĂ©es ne trouvent que des cliques de taille log2n, deux fois moins grandes. Le nombre de cliques maximales dans de tels graphes est avec une probabilitĂ© Ă©levĂ©e exponentielle en log2n, ce qui empĂȘche les mĂ©thodes qui rĂ©pertorient toutes les cliques maximales de s'exĂ©cuter en temps polynomial. [46] En raison de la difficultĂ© de ce problĂšme, plusieurs auteurs ont Ă©tudiĂ© le problĂšme de la clique plantĂ©e, le problĂšme de la clique sur des graphes alĂ©atoires qui ont Ă©tĂ© augmentĂ©s en ajoutant de grandes cliques[47]. Alors que les mĂ©thodes spectrales [48] et la programmation semi-dĂ©finie [49] peuvent dĂ©tecter les cliques cachĂ©es de taille , aucun algorithme en temps polynomial n'est actuellement connu pour dĂ©tecter celles de taille (exprimĂ©es en utilisant la notation o ). [50]

Algorithmes d'approximation

Plusieurs auteurs ont envisagé des algorithmes d'approximation qui tentent de trouver une clique ou un ensemble indépendant qui, bien que non maximum, a une taille aussi proche du maximum que l'on peut trouver en temps polynomial. Bien qu'une grande partie de ce travail se soit concentrée sur des ensembles indépendants dans des graphes clairsemés, un cas qui n'a pas de sens pour le problÚme de la clique complémentaire, il y a également eu des travaux sur des algorithmes d'approximation pour des graphes non nécessairement clairsemés[51].

Feige (2004) dĂ©crit un algorithme en temps polynomial qui trouve une clique de taille Ω((log n/log log n)2) dans n'importe quel graphe contenant une clique de taille Ω(n/logkn) pour n'importe quelle constante . En utilisant cet algorithme quand la taille de la clique maximum est entre n/log n et n/log3n, en utilisant un algorithme diffĂ©rent (de Boppana & HalldĂłrsson (1992) ) pour les graphes dont les cliques maximums sont plus grandes, et en utilisant une 2-clique quand les deux algorithmes Ă©chouent, Feige fournit un algorithme d'approximation qui trouve une clique de taille proche du maximum Ă  un facteur O(n(log log n)2/log3n). MĂȘme si le taux d'approximation de cet algorithme est faible, c'est le meilleur connu Ă  ce jour[52]. Les rĂ©sultats portant sur la duretĂ© d'approximation dĂ©crits ci-aprĂšs suggĂšrent qu'il ne peut pas exister d'algorithme d'approximation de ratio significativement meilleur que linĂ©aire.

Limites théoriques

NP-complétude

L'instance de satisfaction 3-FNC (x √ x √ y) ∧ (~ x √ ~ y √ ~ y) ∧ (~ x √ y √ y) réduite à une instance de Clique. Les sommets verts forment une 3-clique et correspondent à une affectation satisfaisante.

Le problÚme de la décision de clique est NP-complet . C'était l'un des 21 problÚmes originaux de Richard Karp montré NP-complet dans son article de 1972 « Réductibilité parmi les problÚmes combinatoires ». [53] Ce problÚme a également été mentionné dans l'article de Stephen Cook présentant la théorie des problÚmes NP-complets[54]. En raison de la dureté du problÚme de décision, le problÚme de trouver une clique maximum est également NP-difficile. Si on pouvait le résoudre, on pourrait aussi résoudre le problÚme de décision, en comparant la taille de la clique maximum au paramÚtre de taille donné en entrée dans le problÚme de décision.

Démonstration de la NP-complétude

On passe en général par 3-SAT.

Certains problĂšmes NP-complets (tels que le problĂšme du voyageur de commerce dans les graphes planaires ) peuvent ĂȘtre rĂ©solus dans le temps qui est exponentiel en une fonction sous-linĂ©aire du paramĂštre de taille d'entrĂ©e n, significativement plus rapide qu'une recherche par force brute.[55] Cependant, il est peu probable qu'une telle limite temporelle sous-exponentielle soit possible pour le problĂšme de clique dans des graphes arbitraires, car elle impliquerait des limites sous-exponentielles similaires pour de nombreux autres problĂšmes NP-complets standards. [56]

Complexité de circuit

Un circuit monotone pour dĂ©tecter une k-clique dans un graphe Ă  n-sommets pour k = 3 et n = 4. Chaque entrĂ©e dans ce circuit code l'absence ou la prĂ©sence d'une arĂȘte prĂ©cise (celle en rouge) sur le graphe. Le circuit utilise une porte logique et interne pour dĂ©tecter chaque potentielle k-clique.

La complexitĂ© de rĂ©solution du problĂšme de la clique a Ă©tĂ© utilisĂ© pour trouver plusieurs bornes infĂ©rieures en complexitĂ© de circuit. L’existence d’une clique d’une taille donnĂ©e est une propriĂ©tĂ© monotone de graphe, ce qui signifie que s’il existe une clique dans un graphe, alors il existera dans tous les sur-graphes du premier graphe. La monotonie de la propriĂ©tĂ© implique qu’il existe un circuit monotone n’utilisant que des portes logiques ou et et permettant de rĂ©soudre le problĂšme de dĂ©cisions d’existence d’une clique de taille fixĂ©e. Cependant la taille de ces circuits est plus que polynomiale en la taille de la clique et en le nombre d’arĂȘtes : il est exponentiel en la racine cubique du nombre d’arĂȘtes[57]. MĂȘme si on autorise un petit nombre de portes non la complexitĂ© reste plus que polynomiale[58]. De plus la profondeur d’un circuit monotone rĂ©solvant le problĂšme de la clique avec un nombre bornĂ© de fan-in doit ĂȘtre au moins polynomiale en la taille de la clique[59].

Intraitabilité à paramÚtre fixé

La complexitĂ© paramĂ©trĂ©e est l' Ă©tude thĂ©orique de la complexitĂ© de problĂšmes qui sont naturellement Ă©quipĂ©s d'un petit paramĂštre entier k et pour lesquels le problĂšme devient plus difficile Ă  mesure que k augmente, comme la recherche de k -cliques dans les graphes. Un problĂšme est dit traitable Ă  paramĂštre fixĂ© s'il existe un algorithme pour le rĂ©soudre sur des entrĂ©es de taille n, et une fonction f, telle que l'algorithme s'exĂ©cute au temps [60]. Autrement dit, il est traitable Ă  paramĂštre fixĂ© s'il peut ĂȘtre rĂ©solu en temps polynomial pour toute valeur fixe de k et de plus si l'exposant du polynĂŽme ne dĂ©pend pas de k .

Pour trouver des k-cliques, l'algorithme de recherche par force brute a un temps d'exĂ©cution O(nkk2) . Comme l'exposant de n dĂ©pend de k, cet algorithme n'est pas traitable Ă  paramĂštre fixe. Bien qu'il puisse ĂȘtre amĂ©liorĂ© par une multiplication matricielle rapide, le temps d'exĂ©cution a toujours un exposant linĂ©aire en k. Ainsi, bien que le temps d'exĂ©cution des algorithmes connus pour le problĂšme de clique soit polynomial pour tout k fixe, ces algorithmes ne suffisent pas pour la traitabilitĂ© Ă  paramĂštre fixĂ©. Downey & Fellows (1995)[61] ont dĂ©fini une hiĂ©rarchie de problĂšmes paramĂ©trĂ©s, la hiĂ©rarchie W, dont ils ont supposĂ© qu'elle n'avait pas d'algorithmes traitables Ă  paramĂštres fixes. Ils ont prouvĂ© que l'ensemble indĂ©pendant (ou, de maniĂšre Ă©quivalente, clique) est difficile pour le premier niveau de cette hiĂ©rarchie, W [1] . Ainsi, selon leur conjecture, la clique n'a pas d'algorithme traitable Ă  paramĂštre fixe. De plus, ce rĂ©sultat fournit la base des preuves de la duretĂ© W [1] de nombreux autres problĂšmes, et sert ainsi d'analogue au thĂ©orĂšme de Cook-Levin pour la complexitĂ© paramĂ©trĂ©e. [18]

Chen et al. (2006)[62] ont montrĂ© que trouver des k-cliques ne peut pas ĂȘtre fait en temps no(k) sauf si l'hypothĂšse du temps exponentiel est invalide. Encore une fois, c'est un argument en faveur de l'intraitabilitĂ© Ă  paramĂštre fixĂ©.[63]

Bien que les problĂšmes d'Ă©numĂ©ration des cliques maximales ou de recherche de cliques maximums soient peu susceptibles d'ĂȘtre traitables Ă  paramĂštre k fixĂ©, ils peuvent ĂȘtre traitables Ă  paramĂštre fixĂ© pour d'autres paramĂštres de complexitĂ© d'instance. Par exemple, les deux problĂšmes sont connus pour ĂȘtre rĂ©solus Ă  paramĂštre fixĂ© lorsqu'ils sont paramĂ©trĂ©s par la dĂ©gĂ©nĂ©rescence du graphe d'entrĂ©e[29].

Dureté d'approximation

Un graphe des relations de compatibilitĂ© pour des Ă©chantillons de 2 bits sur des preuves de 3 bits. Chaque clique maximale dans ce graphe reprĂ©sente toutes les maniĂšres d’échantillonner 3 bits. La preuve d'inaproximabilitĂ© du problĂšme de la clique utilise des sous-graphes de graphes construits de mĂȘme maniĂšre pour un plus grand nombre de bits.

De faibles résultats laissant à penser que le problÚme de la clique soit dur à approximer est connu depuis longtemps. Garey et Johnson en 1978[64] ont observé que parce que le nombre de petites cliques est NP-difficile à calculer il ne peut y avoir un schéma d'approximation en temps polynomial. Si une approximation trop précise existait, arrondir le nombre obtenu par le schéma d'approximation à l'entier le plus proche donnerait le nombre précis de cliques.

Cependant, ce n'est qu'au début des années 1990 que d'autres résultats ont été prouvés lorsque des chercheuses et chercheurs ont fait le lien entre l'approximation du problÚme de la clique maximum et les preuves vérifiables de maniÚre probabiliste. Elles et ils ont utilisé cette connexion pour montrer la dureté d'approximation du problÚme de la clique maximum[3][65] [66][67]. AprÚs de nombreuses améliorations, il est désormais connu que pour tout , il ne peut exister un algorithme en temps polynomial approximant la clique maximum avec un meilleur facteur qu'un à moins que P=NP.

L'idĂ©e gĂ©nĂ©rale de ces rĂ©sultats est que l'on peut crĂ©er un graphe reprĂ©sentant un systĂšme de preuves vĂ©rifiables de maniĂšre probabiliste pour un problĂšme NP-complet comme le problĂšme de satisfiabilitĂ© boolĂ©enne. Dans un systĂšme de preuves vĂ©rifiables de maniĂšre probabiliste, une preuve est reprĂ©sentĂ©e par une sĂ©quence de bits. Une instance du problĂšme de satisfiabilitĂ© doit avoir une preuve valide si et seulement si l'instance est satisfiable. La preuve est vĂ©rifiĂ©e et examinĂ©e par un algorithme qui, aprĂšs un temps de calcul polynomial sur l'instance du problĂšme, choisit d'examiner un petit nombre de positions alĂ©atoirement choisies dans la chaine de caractĂšre de la preuve. En fonction de la valeur trouvĂ©e sur cet Ă©chantillon de bits, l'algorithme acceptera ou non la preuve sans avoir Ă  regarder les autres bits. Les faux nĂ©gatifs ne sont pas autorisĂ©s : une preuve valide doit toujours ĂȘtre acceptĂ©e. Par contre, une preuve invalide peut parfois ĂȘtre acceptĂ©e. Cependant, pour chaque preuve invalide, la probabilitĂ© que l'algorithme l'accepte se doit d'ĂȘtre basse[68].

Pour transformer un systĂšme de preuve vĂ©rifiable de maniĂšre probabiliste en une instance du problĂšme de la clique, on forme un graphe avec comme sommets chaque portion de bits pouvant ĂȘtre choisie alĂ©atoirement. Un sommet peut donc ĂȘtre reprĂ©sentĂ© par une sĂ©quence de bits de la mĂȘme taille que celle de la preuve avec des 0 ou des 1 sur les caractĂšres examinĂ©s par l'algorithme et des $ pour les autres. Deux sommets sont reliĂ©s si les deux sommets ont les mĂȘmes codes (0 ou 1) dans les positions que les deux examinent (i.e. lĂ  oĂč il n'y a aucun $ dans les deux sommets). Chaque portion de preuve (valide ou invalide) correspond Ă  une clique. Une de ces cliques est grande si et seulement si elle correspond Ă  une portion de preuve que beaucoup d'algorithmes acceptent. Si l'instance originale du problĂšme de satisfiabilitĂ© est satisfiable alors il aura une portion de preuve valide qui sera acceptĂ©e par tous les algorithmes et cette portion correspondra Ă  la clique maximale dans le graphe. Au contraire, si ce n'est pas le cas alors toutes les portions de preuves sont invalides, et donc chaque portion de preuve sera acceptĂ©e par un trĂšs faible nombre d'algorithmes ce qui entraine le fait que toutes les cliques soient petites. C'est pourquoi, s'il existait un algorithme permettant de distinguer les graphes avec de grandes cliques et les graphes avec que des petites cliques, ou alors s'il existait un graphe approximant suffisamment bien le problĂšme de la clique maximale, alors utiliser cet algorithme permettrait de distinguer en temps polynomial les instances satisfiables et celles non satisfiables, ce qui est impossible Ă  moins que P=NP[68].


Notes

  1. (Bomze et al. 1999); (Gutin 2004).
  2. Wasserman et Faust (1994).
  3. Kolata (1990).
  4. Rhodes et al. (2003).
  5. Kuhl, Crippen et Friesen (1983).
  6. National Research Council Committee on Mathematical Challenges from Computational Chemistry (1995).
  7. Muegge et Rarey (2001).
  8. Barrow et Burstall (1976).
  9. Hamzaoglu et Patel (1998).
  10. Day et Sankoff (1986).
  11. Samudrala et Moult (1998).
  12. Spirin et Mirny (2003).
  13. Frank et Strauss (1986).
  14. Le graphe que Keller utilisa pour (Lagarias et Shor 1992) a 1048576 sommets et un taille de clique de 1024. Ils décrivent une construction de clique, et utilise des algorithmes de recherche de cliques dans des graphes plus petits pour aider leur recherche. (Mackey 2002) a simplifié la preuve pour trouver une clique de taille 256 dans un graphe de Keller à 65536 sommets.
  15. Plummer (1993).
  16. Skiena (2009).
  17. Cook (1985).
  18. Downey et Fellows (1995).
  19. Itai et Rodeh (1978).
  20. (Chiba et Nishizeki 1985)
  21. Eisenbrand et Grandoni (2004).
  22. Kloks, Kratsch et MĂŒller (2000).
  23. Neơetƙil et Poljak (1985).
  24. Vassilevska et Williams (2009).
  25. Yuster (2006).
  26. Tomita, Tanaka et Takahashi (2006).
  27. Eppstein, Löffler et Strash (2013).
  28. Rosgen et Stewart (2007).
  29. (Eppstein, Löffler et Strash 2013)
  30. Robson (2001).
  31. (Balas et Yu 1986); (Carraghan et Pardalos 1990); (Pardalos et Rogers 1992); (ÖstergĂ„rd 2002); (Fahle 2002); (Tomita et Seki 2003); (Tomita et Kameda 2007); (Konc et JaneĆŸič 2007).
  32. (Battiti et Protasi 2001); (Katayama, Hamamoto et Narihisa 2005).
  33. (Abello, Pardalos et Resende 1999); (Grosso, Locatelli et Della Croce 2004).
  34. RĂ©gin (2003).
  35. Childs et al. (2002).
  36. Johnson et Trick (1996).
  37. (Papadimitriou et Yannakakis 1981); (Chiba et Nishizeki 1985).
  38. Grötschel, Lovåsz et Schrijver (1988).
  39. Golumbic (1980).
  40. (Golumbic 1980), p. 159.
  41. Even, Pnueli et Lempel (1972).
  42. (Blair et Peyton 1993), Lemme 4.5, p. 19.
  43. (Gavril 1973); (Golumbic 1980), p. 247.
  44. Clark, Colbourn et Johnson (1990).
  45. Song (2015).
  46. Jerrum (1992).
  47. (Arora et Barak 2009), Exemple 18.2, pp. 362–363.
  48. Alon, Krivelevich et Sudakov (1998).
  49. Feige et Krauthgamer (2000).
  50. Meka, Potechin et Wigderson (2015).
  51. (Boppana et HalldĂłrsson 1992); (Feige 2004); (HalldĂłrsson 2000).
  52. (Liu et al. 2015): « En termes de nombre de sommets d'un graphe, Feige propose le meilleur taux d'approximation connu à ce jour ». Liu et al. écrivent à propos de « Ensemble indépendant maximum », qui est équivalent du point de vue de l'approximation
  53. Karp (1972).
  54. Cook (1971).
  55. Lipton et Tarjan (1980).
  56. Impagliazzo, Paturi et Zane (2001).
  57. Alon et Boppana (1987).
  58. Amano et Maruoka (2005).
  59. Goldmann et HĂ„stad (1992).
  60. (Downey et Fellows 1999). Il y a une hypothÚse technique supplémentaire qui demande que f soit une computable function.
  61. (Downey et Fellows 1995)
  62. (Chen et al. 2006)
  63. Chen et al. (2006).
  64. Garey et Johnson (1978).
  65. Feige et al. (1991).
  66. Arora et Safra (1998).
  67. Arora et al. (1998).
  68. La réduction est originellement due à (Feige et al. 1991) et utilise toutes les preuves d'inapproximation suivantes ; les preuves diffÚrent dans les puissances et les détails des systÚmes de preuves probabilistes qu'elles utilisent.

Références

Ouvrages de synthÚse et ouvrages généraux

Presse populaire

  • Gina Kolata, In a Frenzy, Math Enters Age of Electronic Mail, (lire en ligne).

Articles de recherche

Cet article est issu de wikipedia. Text licence: CC BY-SA 4.0, Des conditions supplĂ©mentaires peuvent s’appliquer aux fichiers multimĂ©dias.