AccueilđŸ‡«đŸ‡·Chercher

Théorie des graphes

La thĂ©orie des graphes est la discipline mathĂ©matique et informatique qui Ă©tudie les graphes, lesquels sont des modĂšles abstraits de dessins de rĂ©seaux reliant des objets[1]. Ces modĂšles sont constituĂ©s par la donnĂ©e de sommets (aussi appelĂ©s nƓuds ou points, en rĂ©fĂ©rence aux polyĂšdres), et d'arĂȘtes (aussi appelĂ©es liens ou lignes) entre ces sommets ; ces arĂȘtes sont parfois non-symĂ©triques (les graphes sont alors dits orientĂ©s) et sont appelĂ©es des flĂšches ou des arcs.

Un tracé de graphe.

Les algorithmes élaborés pour résoudre des problÚmes concernant les objets de cette théorie ont de nombreuses applications dans tous les domaines liés à la notion de réseau (réseau social, réseau informatique, télécommunications, etc.) et dans bien d'autres domaines (par exemple génétique) tant le concept de graphe, à peu prÚs équivalent à celui de relation binaire (à ne pas confondre donc avec graphe d'une fonction), est général. De grands théorÚmes difficiles, comme le théorÚme des quatre couleurs, le théorÚme des graphes parfaits, ou encore le théorÚme de Robertson-Seymour, ont contribué à asseoir cette matiÚre auprÚs des mathématiciens, et les questions qu'elle laisse ouvertes, comme la conjecture de Hadwiger, en font une branche vivace des mathématiques discrÚtes.

DĂ©finitions

Il existe plusieurs variantes dans la définition des graphes en théorie des graphes. Les définitions les plus usuelles sont les suivantes.

Graphe

Un graphe avec trois sommets et trois arĂȘtes.

Dans un sens restreint mais trÚs répandu du terme[2] - [3], un graphe est un couple G = (V, E) comprenant

  • V un ensemble de sommets (aussi appelĂ©s nƓuds, points ou vertex) ;
  • E ⊆ {{x, y} | (x, y) ∈ V2 ∧ x ≠ y} un ensemble d'arĂȘtes (aussi appelĂ©es liens ou lignes), qui sont des paires de sommets (c.-Ă -d. qu'une arĂȘte est associĂ©e Ă  deux sommets distincts).

Pour lever toute ambiguĂŻtĂ©, ce type d'objet peut ĂȘtre appelĂ© prĂ©cisĂ©ment un graphe simple non orientĂ©.

Dans l'arĂȘte {x, y}, les sommets x et y sont appelĂ©s les extrĂ©mitĂ©s ou les sommets extrĂȘmes de l'arĂȘte. On dit que l'arĂȘte joint x et y et est incidente sur x et sur y. Un sommet peut exister dans un graphe sans arĂȘte incidente. Les arĂȘtes multiples sont deux arĂȘtes ou plus qui joignent les mĂȘmes deux sommets ; elles ne peuvent pas exister dans un graphe simple non orientĂ©.

Dans un sens plus gĂ©nĂ©ral du terme autorisant les arĂȘtes multiples[4] - [5], un graphe est un triplet G = (V, E, ϕ) comprenant

  • V un ensemble de sommets (aussi appelĂ©s nƓuds, points ou vertex) ;
  • E un ensemble d'arĂȘtes (aussi appelĂ©s liens ou lignes) ;
  • ϕ: E → {{x, y} | (x, y) ∈ V2 ∧ x ≠ y} une fonction d'incidence associant Ă  chaque arĂȘte une paire de sommets (c.-Ă -d. qu'une arĂȘte est associĂ©e Ă  deux sommets distincts).

Pour lever toute ambiguĂŻtĂ©, ce type d'objet peut ĂȘtre appelĂ© prĂ©cisĂ©ment un multigraphe non orientĂ©.

Une boucle est une arĂȘte qui joint un sommet Ă  lui-mĂȘme. Les graphes tels que dĂ©finis dans les deux dĂ©finitions prĂ©cĂ©dentes ne peuvent pas avoir de boucles, car une boucle joignant un sommet x est l'arĂȘte (pour un graphe simple non orientĂ©) ou est incidente sur (pour un multigraphe non orientĂ©) {x, x} = {x} qui n'est pas dans {{x, y} | (x, y) ∈ V2 ∧ x ≠ y}. Ainsi pour autoriser les boucles les dĂ©finitions doivent ĂȘtre Ă©tendues. Pour les graphes simples non orientĂ©s, E ⊆ {{x, y} | (x, y) ∈ V2 ∧ x ≠ y} doit devenir E ⊆ {{x, y} | (x, y) ∈ V2}. Pour les multigraphes non orientĂ©s, ϕ: E → {{x, y} | (x, y) ∈ V2 ∧ x ≠ y} doit devenir ϕ: E → {{x, y} | (x, y) ∈ V2}. Pour lever toute ambiguĂŻtĂ©, ces types d'objets peuvent ĂȘtre appelĂ©s prĂ©cisĂ©ment un graphe simple non orientĂ© avec boucles et un multigraphe non orientĂ© avec boucles respectivement.

V et E sont en gĂ©nĂ©ral supposĂ©s finis, et de nombreux rĂ©sultats cessent d'ĂȘtre vrais (ou ont des Ă©noncĂ©s diffĂ©rents) pour des graphes infinis parce que certains arguments de preuve ne se transposent pas au cas infini. De plus, V est souvent supposĂ© non vide, mais E peut ĂȘtre l'ensemble vide. L'ordre d'un graphe |V| est son nombre de sommets. La taille d'un graphe est |E|, son nombre d'arĂȘtes. Le degrĂ© ou la valence d'un sommet est le nombre d'arĂȘtes incidentes Ă  ce sommet, oĂč une boucle compte double.

Dans un graphe simple non orientĂ© d'ordre n, le degrĂ© maximum d'un sommet est n − 1 et la taille maximale du graphe est n(n − 1)/2.

Les arĂȘtes E d'un graphe non orientĂ© G induisent une relation binaire symĂ©trique ~ sur V appelĂ©e la relation d'adjacence de G. SpĂ©cifiquement, pour chaque arĂȘte {x, y}, ses sommets extrĂȘmes x et y sont dits adjacents l'un l'autre, ce qui est notĂ© x ~ y.

Graphe orienté

Un graphe orientĂ© avec trois sommets et quatre arĂȘtes.

Un graphe orientĂ© est un graphe dans lequel les arĂȘtes possĂšdent une orientation.

Dans un sens restreint mais trÚs répandu du terme[6], un graphe orienté est un couple G = (V, A) (parfois G = (V, E)) comprenant

  • V un ensemble de sommets (aussi appelĂ©s nƓuds ou points) ;
  • A ⊆ {(x, y) | (x, y) ∈ V2 ∧ x ≠ y} un ensemble de flĂšches (aussi appelĂ©es arĂȘtes orientĂ©es — parfois simplement arĂȘtes avec l'ensemble correspondant nommĂ© E au lieu de A —, liens orientĂ©s ou lignes orientĂ©es), qui sont des couples de sommets distincts (c.-Ă -d. une flĂšche est associĂ©e Ă  deux sommets distincts).

Pour lever toute ambiguĂŻtĂ©, ce type d'objet peut ĂȘtre appelĂ© prĂ©cisĂ©ment un graphe simple orientĂ©.

Dans la flĂšche (x, y) orientĂ©e de x vers y, x est appelĂ© la queue de la flĂšche et y la tĂȘte de la flĂšche. La flĂšche (y, x) est appelĂ©e la flĂšche inverse de (x, y).

Dans un sens plus gĂ©nĂ©ral du terme autorisant les flĂšches multiples[4] - [5], un graphe orientĂ© est un triplet G = (V, A, ϕ) (parfois G = (V, E, ϕ)) comprenant

  • V un ensemble de sommets (aussi appelĂ©s nƓuds ou points) ;
  • A un ensemble de flĂšches (aussi appelĂ©es arĂȘtes orientĂ©es — parfois simplement arĂȘtes avec l'ensemble correspondant nommĂ© E au lieu de A —, liens orientĂ©s ou lignes orientĂ©es);
  • ϕ: A → {(x, y) | (x, y) ∈ V2 ∧ x ≠ y} une fonction d'incidence associant Ă  chaque flĂšche un couple de sommets distincts (c.-Ă -d. une flĂšche est associĂ©e Ă  deux sommets distincts).

Pour lever toute ambiguĂŻtĂ©, ce type d'objet peut ĂȘtre appelĂ© prĂ©cisĂ©ment un multigraphe orientĂ©.

Les graphes orientĂ©s tels que dĂ©finis dans les deux dĂ©finitions prĂ©cĂ©dentes ne peuvent pas avoir de boucles, car une boucle joignant un sommet x est la flĂšche (pour un graphe simple orientĂ©) ou est incidente sur (pour un multigraphe orientĂ©) (x, x) qui n'est pas dans {(x, y) | (x, y) ∈ V2 ∧ x ≠ y}. Ainsi pour autoriser les boucles les dĂ©finitions doivent ĂȘtre Ă©tendues. Pour les graphes simples orientĂ©s, A ⊆ {(x, y) | (x, y) ∈ V2 ∧ x ≠ y} doit devenir A ⊆ V2. Pour les multigraphes orientĂ©s, ϕ: A → {(x, y) | (x, y) ∈ V2 ∧ x ≠ y} doit devenir ϕ: A → V2. Pour lever toute ambiguĂŻtĂ©, ces types d'objets peuvent ĂȘtre appelĂ©s prĂ©cisĂ©ment un graphe simple orientĂ© avec boucles et un multigraphe orientĂ© avec boucles (ou un carquois) respectivement.

Un graphe simple orientĂ© avec boucles est une relation homogĂšne (une relation binaire entre un ensemble et lui-mĂȘme). Un graphe simple orientĂ© avec boucles G = (V, A) est dit symĂ©trique si, pour chaque flĂšche de A, la flĂšche inverse correspondante appartient aussi Ă  A.

Topologies

Principales topologies typiques de graphes.
Topologie typique d'un réseau multipolaire.

Il existe trois grandes familles de graphes et cinq catégories au total :

  • structurĂ©s : il est alors possible de dĂ©finir quatre identitĂ©s topologiques remarquables :
    • homogĂšnes (1) : les sommets et les arĂȘtes reproduisent un schĂ©ma rĂ©gulier. Le schĂ©ma le plus commun est une architecture de type matriciel aussi appelĂ© "en filet de poisson" (mesh) ;
    • hiĂ©rarchiques (2) : structure typique des graphes oĂč les sommets s'arrangent en couches hiĂ©rarchisĂ©es et pyramidales ;
    • cycliques (3) : on peut identifier des cycles dans le graphe. L'exemple le plus parlant est le graphe circulaire ;
    • centralisĂ©s ou polaires (4) : c'est une architecture oĂč tous les sommets sont rattachĂ©s Ă  un seul sommet, le pĂŽle ;
  • quelconques (5) : aucune propriĂ©tĂ© topologique ne semble Ă©merger ;
  • multipolaires : c'est une architecture mixte entre les graphes centralisĂ©s et dĂ©centralisĂ©s. Les rĂ©seaux multipolaires sont trĂšs Ă©tudiĂ©s en raison de leur proximitĂ© avec de nombreux cas concrets, notamment Internet ou les rĂ©seaux de neurones. Les graphes multipolaires sont caractĂ©risĂ©s par deux types d'arĂȘtes : celles qui forment les liens Ă©manant du pĂŽle : les liens forts ; et les liens rĂ©unissant deux pĂŽles entre eux : les liens faibles. Les pĂŽles peuvent par ailleurs prendre une architecture structurĂ©e (souvent centralisĂ©e) ou quelconque.

Origines

Un article du mathĂ©maticien suisse Leonhard Euler, prĂ©sentĂ© Ă  l'AcadĂ©mie de Saint-PĂ©tersbourg en 1735 puis publiĂ© en 1741, traitait du problĂšme des sept ponts de Königsberg[O 1], ainsi que schĂ©matisĂ© ci-dessous. Le problĂšme consistait Ă  trouver une promenade Ă  partir d'un point donnĂ© qui fasse revenir Ă  ce point en passant une fois et une seule par chacun des sept ponts de la ville de Königsberg. Un chemin passant par toute arĂȘte exactement une fois fut nommĂ© chemin eulĂ©rien, ou circuit eulĂ©rien s'il finit lĂ  oĂč il a commencĂ©. Par extension, un graphe admettant un circuit eulĂ©rien est dit graphe eulĂ©rien, ce qui constitue donc le premier cas de propriĂ©tĂ© d'un graphe. Euler avait formulĂ©[7] qu'un graphe n'est eulĂ©rien que si chaque sommet a un nombre pair d'arĂȘtes. L'usage est de s'y rĂ©fĂ©rer comme thĂ©orĂšme d'Euler, bien que la preuve n'en ait Ă©tĂ© apportĂ©e que 130 ans plus tard par le mathĂ©maticien allemand Carl Hierholzer[O 2]. Un problĂšme similaire consiste Ă  passer par chaque sommet exactement une fois, et fut d'abord rĂ©solu avec le cas particulier d'un cavalier devant visiter chaque case d'un Ă©chiquier par le thĂ©oricien d'Ă©checs arabe Al-Adli dans son ouvrage Kitab ash-shatranj paru vers 840 et perdu depuis[O 3]. Ce problĂšme du cavalier fut Ă©tudiĂ© plus en dĂ©tail au XVIIIe siĂšcle par les mathĂ©maticiens français Alexandre-ThĂ©ophile Vandermonde[O 4], Pierre RĂ©mond de Montmort et Abraham de Moivre; le mathĂ©maticien britannique Thomas Kirkman Ă©tudia le problĂšme plus gĂ©nĂ©ral du parcours oĂč on ne peut passer par un sommet qu'une fois, mais un tel parcours prit finalement le nom de chemin hamiltonien d'aprĂšs le mathĂ©maticien irlandais William Rowan Hamilton, et bien que ce dernier n'en ait Ă©tudiĂ© qu'un cas particulier[O 5]. On accorde donc Ă  Euler l'origine de la thĂ©orie des graphes parce qu'il fut le premier Ă  proposer un traitement mathĂ©matique de la question, suivi par Vandermonde.


→ →

Liste des arbres Ă  2, 3 et 4 sommets.

Au milieu du XIXe siÚcle, le mathématicien britannique Arthur Cayley s'intéressa aux arbres, qui sont un type particulier de graphe n'ayant pas de cycle, i.e. dans lequel il est impossible de revenir à un point de départ sans faire le chemin inverse. En particulier, il étudia le nombre d'arbres à n sommets[O 6] et montra qu'il en existe . Ceci constitua « une des plus belles formules en combinatoire énumérative »[O 7], domaine consistant à compter le nombre d'éléments dans un ensemble fini, et ouvrit aussi la voie à l'énumération de graphes ayant certaines propriétés. Ce champ de recherche fut véritablement initié par le mathématicien hongrois George Pólya, qui publia en 1937 le théorÚme de dénombrement qui porte son nom, et le mathématicien hollandais Nicolaas Govert de Bruijn. Les travaux de Cayley, tout comme ceux de Polya, présentaient des applications à la chimie et le mathématicien anglais James Joseph Sylvester, coauteur de Cayley, introduisit en 1878 le terme de "graphe" basé sur la chimie :

« Il peut ne pas ĂȘtre entiĂšrement sans intĂ©rĂȘt pour les lecteurs de Nature d'ĂȘtre au courant d'une analogie qui m'a rĂ©cemment fortement impressionnĂ© entre des branches de la connaissance humaine apparemment aussi dissemblables que la chimie et l'algĂšbre moderne. [
] Chaque invariant et covariant devient donc exprimable par un graphe prĂ©cisĂ©ment identique Ă  un diagramme KĂ©kulĂ©an ou chemicographe[O 8]. »

Équivalence entre les rĂ©gions d'une carte et un graphe pour le thĂ©orĂšme des quatre couleurs.

Un des problĂšmes les plus connus de thĂ©orie des graphes vient de la coloration de graphe, oĂč le but est de dĂ©terminer combien de couleurs diffĂ©rentes suffisent pour colorer entiĂšrement un graphe de telle façon qu'aucun sommet n'ait la mĂȘme couleur que ses voisins. En 1852, le mathĂ©maticien sud-africain Francis Guthrie Ă©nonça le problĂšme des quatre couleurs par une discussion Ă  son frĂšre, qui demandera Ă  son professeur Auguste De Morgan si toute carte peut ĂȘtre coloriĂ©e avec quatre couleurs de façon que des pays voisins aient des couleurs diffĂ©rentes. De Morgan envoya d'abord une lettre au mathĂ©maticien irlandais William Rowan Hamilton, qui n'Ă©tait pas intĂ©ressĂ©, puis le mathĂ©maticien anglais Alfred Kempe publia une preuve erronĂ©e[O 9] dans l’American Journal of Mathematics, qui venait d'ĂȘtre fondĂ© par Sylvester. L'Ă©tude de ce problĂšme entraĂźna de nombreux dĂ©veloppements en thĂ©orie des graphes, par Peter Guthrie Tait, Percy John Heawood, Frank Ramsey et Hugo Hadwiger.

Les problĂšmes de factorisation de graphe Ă©mergĂšrent ainsi Ă  la fin du XIXe siĂšcle en s'intĂ©ressant aux sous-graphes couvrants, c'est-Ă -dire aux graphes contenant tous les sommets mais seulement une partie des arĂȘtes. Un sous-graphe couvrant est appelĂ© un k-facteur si chacun de ses sommets a k arĂȘtes et les premiers thĂ©orĂšmes furent donnĂ©s par Julius Petersen[O 10] ; par exemple, il montra qu'un graphe peut ĂȘtre sĂ©parĂ© en 2-facteurs si et seulement si tous les sommets ont un nombre pair d'arĂȘtes (mais il fallut attendre 50 ans pour que BĂ€bler traite le cas impair[O 11]). Les travaux de Ramsey sur la coloration, et en particulier les rĂ©sultats du mathĂ©maticien hongrois Pal Turan, permirent le dĂ©veloppement de la thĂ©orie des graphes extrĂ©maux s'intĂ©ressant aux graphes atteignant le maximum d'une quantitĂ© particuliĂšre (par exemple le nombre d'arĂȘtes) avec des contraintes donnĂ©es[O 12], telles que l'absence de certains sous-graphes.

Dans la seconde moitiĂ© du XXe siĂšcle, le mathĂ©maticien français Claude Berge contribue au dĂ©veloppement de la thĂ©orie des graphes par ses contributions sur les graphes parfaits[O 13] et l'introduction du terme d’hypergraphe (Ă  la suite de la remarque de Jean-Marie Pla l'ayant utilisĂ© dans un sĂ©minaire) avec un monographe[O 14] sur le sujet. Son ouvrage d'introduction Ă  la thĂ©orie des graphes[O 15] proposa Ă©galement une alternative originale, consistant plus en une promenade personnelle qu'une description complĂšte. Il marquera Ă©galement la recherche française en ce domaine, par la crĂ©ation conjointe avec Marcel-Paul SchĂŒtzenberger d'un sĂ©minaire hebdomadaire Ă  l'Institut Henri PoincarĂ©, des rĂ©unions le lundi Ă  la Maison des Sciences de l'Homme, et la direction de l'Ă©quipe Combinatoire de Paris.

Flots dans les réseaux

ReprĂ©sentation du flot dans un graphe, indiquant pour chaque arĂȘte le flot a qui la traverse et sa capacitĂ© maximale b, sous la forme a/b.
Coupe dans un graphe, avec la source s et le puits t.
Exemple d'application des flots réseaux pour le mouvement d'un fluide dans un réseau hydraulique.

Les Allemands Franz Ernst Neumann et Jacobi, respectivement physicien et mathĂ©maticien, fondĂšrent en 1834 une sĂ©rie de sĂ©minaires. Le physicien allemand Gustav Kirchhoff Ă©tait un des Ă©tudiants participant au sĂ©minaire entre 1843 et 1846, et il Ă©tendit le travail de Georg Ohm pour Ă©tablir en 1845 les lois de Kirchhoff exprimant la conservation de l'Ă©nergie et de la charge dans un circuit Ă©lectrique. En particulier, sa loi des nƓuds stipule que la somme des intensitĂ©s des courants entrant dans un nƓud est Ă©gale Ă  celle qui en sort. Un circuit Ă©lectrique peut se voir comme un graphe, dans lequel les sommets sont les nƓuds du circuit, et les arĂȘtes correspondent aux connexions physiques entre ces nƓuds. Pour modĂ©liser les courants traversant le circuit, on considĂšre que chaque arĂȘte peut ĂȘtre traversĂ©e par un flot. Ceci offre de nombreuses analogies, par exemple Ă  l'Ă©coulement d'un liquide comme l'eau Ă  travers un rĂ©seau de canaux[Flot 1], ou la circulation dans un rĂ©seau routier. Comme stipulĂ© par la loi des nƓuds, le flot Ă  un sommet est conservĂ©, ou identique Ă  l'entrĂ©e comme Ă  la sortie ; par exemple, l'eau qui entre dans un canal ne disparaĂźt pas et le canal n'en fabrique pas, donc il y a autant d'eau en sortie qu'en entrĂ©e. De plus, une arĂȘte a une limite de capacitĂ©, tout comme un canal peut transporter une certaine quantitĂ© maximale d'eau. Si l'on ajoute que le flot dĂ©marre Ă  un certain sommet (la source) et qu'il se termine Ă  un autre (le puits), on obtient alors les principes fondamentaux de l'Ă©tude des flots dans un graphe.

Si on considĂšre que la source est un champ pĂ©trolifĂšre et que le puits est la raffinerie oĂč on l'Ă©coule, alors on souhaite rĂ©gler les vannes de façon Ă  avoir le meilleur dĂ©bit possible de la source vers le puits. En d'autres termes, on cherche Ă  avoir une utilisation aussi efficace que possible de la capacitĂ© de chacune des arĂȘtes, ce qui est le problĂšme de flot maximum. Supposons que l'on « coupe » le graphe en deux parties, telles que la source est dans l'une et le puits est dans l'autre. Chaque flot doit passer entre les deux parties, et est donc limitĂ© par la capacitĂ© maximale qu'une partie peut envoyer Ă  l'autre. Trouver la coupe avec la plus petite capacitĂ© indique donc l'endroit oĂč le rĂ©seau est le plus limitĂ©, ce qui revient Ă  Ă©tablir le flot maximal qui peut le traverser[Flot 2]. Ce thĂ©orĂšme est appelĂ© flot-max/coupe-min et fut Ă©tabli en 1956.

L’étude des flots rĂ©seaux se gĂ©nĂ©ralise de plusieurs façons. La recherche d'un maximum, ici dans le cas du flot, est un problĂšme d'optimisation, qui est la branche des mathĂ©matiques consistant Ă  optimiser (i.e. trouver un minimum ou maximum) une fonction sous certaines contraintes. Un flot rĂ©seau est soumis Ă  trois contraintes[Flot 3] : la limite de capacitĂ© sur chaque arĂȘte, la crĂ©ation d'un flot non nul entre la source et le puits (i.e. la source crĂ©e un flot), et l'Ă©galitĂ© du flot en entrĂ©e/sortie pour tout sommet autre que la source et les puits (i.e. ils ne consomment ni ne gĂ©nĂšrent une partie du flot). Ces contraintes Ă©tant linĂ©aires, le problĂšme d'un flot rĂ©seau fait partie de l'optimisation linĂ©aire. Il est Ă©galement possible de rajouter d'autres variables au problĂšme pour prendre en compte davantage de situations : on peut ainsi avoir plusieurs sources et puits, une capacitĂ© minimale (en) sur chaque arĂȘte, un coĂ»t lorsqu'on utilise une arĂȘte, ou une amplification du flot (en) passant par une arĂȘte.

Introduction de probabilités

Schéma d'une transition de phase, ayant l'allure typique rencontrée dans le cas d'un graphe aléatoire.

Jusqu'au milieu du XXe siĂšcle, l'algorithme construisant un graphe n'avait rien d'alĂ©atoire : tant que les paramĂštres fournis Ă  l'algorithme ne changeaient pas, alors le graphe qu'il construisait Ă©tait toujours le mĂȘme. Une certaine dose d'alĂ©atoire fut alors introduite, et les algorithmes devinrent ainsi probabilistes. Le mathĂ©maticien d'origine russe Anatol Rapoport eut d'abord cette idĂ©e en 1957[Proba 1] mais elle fut proposĂ©e indĂ©pendamment deux ans aprĂšs, de façon plus formelle, par les mathĂ©maticiens hongrois Paul ErdƑs et AlfrĂ©d RĂ©nyi[Proba 2]. Ceux-ci se demandĂšrent Ă  quoi ressemble un graphe « typique » avec n sommets et m arĂȘtes. Ils souhaitaient ainsi savoir quelles propriĂ©tĂ©s pouvaient ĂȘtre trouvĂ©es avec n sommets, et m arĂȘtes crĂ©Ă©es au hasard. Une quantitĂ© fixe m n'Ă©tant pas pratique pour rĂ©pondre Ă  cette question[Proba 3], il fut dĂ©cidĂ© que chaque arĂȘte existerait avec une probabilitĂ© p. Ceci fut le dĂ©but de la thĂ©orie des graphes alĂ©atoires, oĂč l'on considĂšre un nombre de sommets n assez grand, et l'on s'intĂ©resse Ă  la probabilitĂ© p suffisante pour que le graphe ait une certaine propriĂ©tĂ©.

Abstraction d'une pierre par une grille de 50 x 50. Seuls les canaux sont représentés.
Exemples de graphes aléatoires
20 sommets et probabilité 0,1.
20 sommets et probabilité 0,1.
20 sommets et probabilité 0,1.
Play Pause Stop Précédent Suivant Select
La distribution du degrĂ© donne la quantitĂ© de sommets par nombre de connexions (par exemple, il y a 30 sommets ayant 25 voisins, oĂč 30 est en ordonnĂ©e et 25 en abscisse). Le graphe alĂ©atoire d'ErdƑs et RĂ©nyi engendre une distribution normale.

ErdƑs et RĂ©nyi dĂ©couvrirent que le graphe n'Ă©voluait pas de façon linĂ©aire mais qu'il y avait au contraire une probabilitĂ© critique p aprĂšs laquelle il changeait de façon radicale. Ce comportement est bien connu en physique : si l'on observe un verre d'eau que l'on met dans un congĂ©lateur, il ne se change pas progressivement en glace mais plutĂŽt brutalement lorsque la tempĂ©rature passe en dessous de 0 °C. L'eau avait deux phases (liquide et glace) et passe de l'une Ă  l'autre par un phĂ©nomĂšne nommĂ© transition de phase, la transition Ă©tant rapide autour d'un point critique qui est dans ce cas la tempĂ©rature de 0 °C. Pour nombre de propriĂ©tĂ©s observĂ©es, les graphes alĂ©atoires fonctionnent de la mĂȘme maniĂšre[Proba 4] : il existe une probabilitĂ© critique en dessous de laquelle ils se trouvent dans une phase sous-critique, et au-dessus de laquelle ils passent en phase sur-critique. Dans le cas d'un graphe alĂ©atoire, la probabilitĂ© que l'on observe la propriĂ©tĂ© nous intĂ©ressant est faible en phase sous-critique mais devient trĂšs forte (i. e. quasi-certitude) en phase sur-critique ; le tracĂ© de la probabilitĂ© d'avoir la propriĂ©tĂ© en fonction de p a donc une allure bien particuliĂšre, simplifiĂ©e dans le schĂ©ma Ă  droite.

Au-delĂ  du vocabulaire commun des phases, la thĂ©orie des graphes alĂ©atoires se retrouve en physique statistique sous la forme de la thĂ©orie de la percolation[Proba 5]. Cette derniĂšre visait Ă  l'origine Ă  Ă©tudier l'Ă©coulement d'un fluide Ă  travers un matĂ©riau poreux. Par exemple, si l'on immerge une pierre ponce dans un seau rempli d'eau[Proba 6], on s'intĂ©resse Ă  la façon dont l'eau va s'Ă©couler dans la pierre. Pour modĂ©liser ce problĂšme, on se concentre sur les paramĂštres importants : l'Ăąge ou la couleur de la pierre n'importe pas, tandis que les ouvertures ou 'canaux' dans lesquels peut circuler l'eau sont primordiaux. L'abstraction la plus simple est de voir une pierre comme une grille, oĂč chaque canal existe avec une probabilitĂ© p. On retrouve ainsi le modĂšle du graphe alĂ©atoire, mais avec une contrainte spatiale : une arĂȘte ne peut exister entre deux sommets que s'ils sont voisins dans la grille. Cependant, cette contrainte peut ĂȘtre levĂ©e pour Ă©tablir une Ă©quivalence entre la thĂ©orie des graphes et celle de la percolation. Tout d'abord, un graphe de n sommets peut ĂȘtre reprĂ©sentĂ© par une grille avec n dimensions ; puisqu'on s'intĂ©resse au cas oĂč n est assez grand, c'est-Ă -dire , ceci Ă©tablit une Ă©quivalence avec la percolation en dimension infinie. De plus, il existe une dimension critique telle que le rĂ©sultat ne dĂ©pend plus de la dimension dĂšs que celle-ci atteint ; on pense que cette dimension critique est 6, mais elle n'a pu ĂȘtre prouvĂ©e[Proba 7] que pour 19.

De nombreux modĂšles ont Ă©tĂ© proposĂ©s depuis le dĂ©but des annĂ©es 2000 pour retrouver des phĂ©nomĂšnes observĂ©s dans des graphes tels que celui reprĂ©sentant les connexions entre des acteurs de Hollywood (obtenu par IMDb) ou des parties du Web. En 1999, Albert-LĂĄszlĂł BarabĂĄsi et RĂ©ka Albert expliquĂšrent qu'un de ces phĂ©nomĂšnes « est une consĂ©quence de deux mĂ©canismes : le rĂ©seau grandit continuellement avec l'ajout de nouveaux sommets, et les nouveaux sommets s'attachent avec certaines prĂ©fĂ©rences Ă  d'autres qui sont dĂ©jĂ  bien en place »[Proba 8]. Une certaine confusion s'installa autour de leur modĂšle : s'il permet effectivement d'obtenir le phĂ©nomĂšne souhaitĂ©, il n'est pas le seul modĂšle arrivant Ă  ce rĂ©sultat et on ne peut donc pas conclure en voyant le phĂ©nomĂšne qu'il rĂ©sulte d'un processus d'attachement prĂ©fĂ©rentiel. Les phĂ©nomĂšnes de petit monde et de libertĂ© d'Ă©chelle, pour lesquels de trĂšs nombreux modĂšles ont Ă©tĂ© proposĂ©s, peuvent ĂȘtre rĂ©alisĂ©s simplement par des graphes alĂ©atoires[Proba 9] : la technique de Michael Molloy et Bruce Reed[Proba 10] permet d'obtenir l'effet de libre d'Ă©chelle, tandis que celle de Li, Leonard et Loguinov conduit au petit-monde[Proba 11].

Représentations et invariants

Étiquetage et morphismes

Formellement un graphe est Ă©tiquetĂ© : chaque sommet ou arĂȘte appartient Ă  un ensemble, donc porte une Ă©tiquette. Typiquement, les graphes sont Ă©tiquetĂ©s par des nombres entiers, mais une Ă©tiquette peut en fait appartenir Ă  n'importe quel ensemble : ensemble de couleurs, ensemble de mots, ensemble des rĂ©els. Les exemples ci-contre montrent des graphes Ă©tiquetĂ©s par des entiers et par des lettres. L'Ă©tiquetage d'un graphe peut ĂȘtre conçu de façon Ă  donner des informations utiles pour des problĂšmes comme le routage : partant d'un sommet , on veut arriver Ă  un sommet , c'est-Ă -dire que l'on souhaite acheminer une information de Ă  . Selon la façon dont les sommets sont Ă©tiquetĂ©s, les Ă©tiquettes que portent et peuvent nous permettre de trouver facilement un chemin. Par exemple, dans le graphe de Kautz (en) oĂč la distance maximale entre deux sommets est , imaginons que l'on soit Ă  un sommet Ă©tiquetĂ© et que l'on souhaite aller Ă  : il suffit de dĂ©caler l'Ă©tiquette en introduisant la destination[R 1], ce qui donne le chemin

Ce chemin se lit de la façon suivante : si on se trouve au sommet étiqueté alors on va vers le voisin portant l'étiquette , et ainsi de suite.

On se retrouve cependant face Ă  un problĂšme : si on regarde plus haut l'illustration de la liste des arbres Ă  2, 3 et 4 sommets, beaucoup d'entre eux ont exactement la mĂȘme structure mais un Ă©tiquetage diffĂ©rent (donnĂ© ici par des couleurs). Pour Ă©tudier uniquement la structure, il faut donc un outil permettant d'ignorer l'Ă©tiquetage, c'est-Ă -dire de donner une Ă©quivalence structurelle. Pour cela, on introduit la notion de morphisme. Un morphisme de graphes[R 2], ou homomorphisme de graphes, est une application entre deux graphes qui respecte la structure des graphes. Autrement dit l'image du graphe dans doit respecter les relations d'adjacences prĂ©sentes dans . Plus prĂ©cisĂ©ment, si et sont deux graphes, une application est un morphisme de graphes si oĂč transforme les sommets de G en ceux de H, et les arĂȘtes de G en celles de H en respectant la contrainte suivante : s'il existe une arĂȘte entre deux sommets de alors il doit y avoir une arĂȘte entre les deux sommets correspondants de . On dit de l'homomorphisme qu'il est une injection (respectivement surjection) si ses deux fonctions et sont injectives (respectivement surjectives); si elles sont Ă  la fois injectives et surjectives, c'est-Ă -dire bijectives, alors est un isomorphisme de graphes. Si deux graphes sont isomorphes, alors ils ont la mĂȘme structure : peu importe la façon dont ils sont dessinĂ©s ou Ă©tiquetĂ©s, il est possible de dĂ©placer les sommets ou de changer les Ă©tiquettes pour que l'un soit la copie conforme de l'autre, ainsi qu'illustrĂ© ci-dessous. On dĂ©signe alors par graphe non Ă©tiquetĂ© la classe d'Ă©quivalence d'un graphe pour la relation d'isomorphisme. Deux graphes isomorphes seront alors considĂ©rĂ©s comme Ă©gaux si on les considĂšre en tant que graphes non Ă©tiquetĂ©s.

Graphe G Graphe H Isomorphisme
entre G et H







Le mot graphe peut dĂ©signer, selon les contextes, un graphe Ă©tiquetĂ© ou non Ă©tiquetĂ©. Quand on parle du graphe du web, les Ă©tiquettes sont des URL et ont un sens. Le mot est utilisĂ© pour dĂ©signer un graphe Ă©tiquetĂ©. À l'opposĂ© le graphe de Petersen est toujours considĂ©rĂ© Ă  isomorphisme prĂšs, donc non Ă©tiquetĂ©, seules ses propriĂ©tĂ©s structurelles Ă©tant intĂ©ressantes.

  • L'hypercube 
          Q
            3
    {\displaystyle Q_{3}}
 étiqueté sur l'alphabet 
        {
        0
        ,
        1
        }
    {\displaystyle \{0,1\}}
    L'hypercube étiqueté sur l'alphabet
  • Graphe Ă©tiquetĂ© par des entiers
    Graphe étiqueté par des entiers
  • Graphe Ă©tiquetĂ© par des lettres
    Graphe étiqueté par des lettres

Graphes et algÚbre linéaire

Tout graphe peut ĂȘtre reprĂ©sentĂ© par une matrice. Les relations entre arĂȘtes et sommets, appelĂ©es les relations d'incidence, sont toutes reprĂ©sentĂ©es par la matrice d'incidence du graphe. Les relations d'adjacences (si deux sommets sont reliĂ©s par une arĂȘte ils sont adjacents) sont reprĂ©sentĂ©s par sa matrice d'adjacence. Elle est dĂ©finie par


Graphe Représentation par une matrice d'adjacence Représentation par une matrice laplacienne (non normalisée)

De nombreuses informations d'un graphe peuvent ĂȘtre reprĂ©sentĂ©es par une matrice. Par exemple, la matrice des degrĂ©s est une matrice diagonale oĂč les Ă©lĂ©ments correspondent au nombre de connexions du sommet , c'est-Ă -dire Ă  son degrĂ©. En utilisant cette matrice et la prĂ©cĂ©dente, on peut Ă©galement dĂ©finir la matrice laplacienne ; on obtient sa forme normalisĂ©e par , oĂč dĂ©note la matrice identitĂ©, ou on peut aussi l'obtenir directement par chacun de ses Ă©lĂ©ments :

Ces reprĂ©sentations dĂ©pendent de la façon dont les sommets du graphe sont Ă©tiquetĂ©s. Imaginons que l'on garde la mĂȘme structure que dans l'exemple ci-dessus et que l'on inverse les Ă©tiquettes 1 et 6 : on inverse alors les colonnes 1 et 6 de la matrice d'adjacence. Il existe en revanche des quantitĂ©s qui ne dĂ©pendent pas de la façon dont on Ă©tiquette les sommets, tels que le degrĂ© minimal/maximal/moyen du graphe. Ces quantitĂ©s sont des invariants du graphe : elles ne changent pas selon la numĂ©rotation. Tandis qu'une matrice d'adjacence ou laplacienne varie, son spectre, c'est-Ă -dire l'ensemble de ses valeurs propres , est un invariant. L'Ă©tude du rapport entre les spectres et les propriĂ©tĂ©s d'un graphe est le sujet de la thĂ©orie spectrale des graphes[R 3] ; parmi les rapports intĂ©ressants, le spectre donne des renseignements sur le nombre chromatique, le nombre de composantes connexes et les cycles du graphe.

DĂ©compositions arborescentes et en branches

DĂ©composition arborescente Ă  6 sommets d'un graphe Ă  8 sommets. Chaque nƓud de la dĂ©composition contient au plus trois sommets du graphe original, et la profondeur de cette dĂ©composition est donc 2.

Les graphes permettant de reprĂ©senter de nombreuses situations, il existe de nombreux algorithmes (i.e. programmes) les utilisant. La complexitĂ© d'un algorithme consiste essentiellement Ă  savoir, pour un problĂšme donnĂ©, combien de temps est nĂ©cessaire pour le rĂ©soudre et quel est l'espace machine que cela va utiliser. Certaines reprĂ©sentations de graphes permettent d'obtenir de meilleures performances, c'est-Ă -dire que le problĂšme est rĂ©solu plus rapidement ou en occupant moins d'espace. Dans certains cas, un problĂšme NP-complet (classe la plus ardue) sur une reprĂ©sentation d'un graphe peut ĂȘtre rĂ©solu en temps polynomial (classe simple) avec une autre reprĂ©sentation; l'idĂ©e n'est pas qu'il suffit de regarder le graphe diffĂ©remment pour rĂ©soudre le problĂšme plus vite, mais que l'on « paye » pour le transformer et que l'on « Ă©conomise » alors pour rĂ©soudre le problĂšme. Une telle transformation est la dĂ©composition arborescente proposĂ©e par les mathĂ©maticiens Robertson et Seymour dans leur sĂ©rie Graph Minors[R 4]. Intuitivement, une dĂ©composition arborescente reprĂ©sente le graphe d'origine par un arbre, oĂč chaque sommet correspond Ă  un sous-ensemble des sommets de G, avec quelques contraintes. Formellement, pour un graphe donnĂ© , sa dĂ©composition arborescente est oĂč est un arbre et une fonction associant Ă  chaque sommet un ensemble de sommets . Trois contraintes doivent ĂȘtre satisfaites :

  • . La dĂ©composition n'oublie aucun sommet du graphe d'origine.
  • tel que .
  • si est sur le chemin de Ă  alors . Si l'on prend l'intersection des sommets abstraits par deux nƓuds de l'arbre, alors cette intersection doit ĂȘtre contenue dans un sommet intermĂ©diaire. Sur l'exemple ci-contre, l'intersection de {A,B,C} et {C,D,E} est {C} qui est bien contenue dans le sommet intermĂ©diaire {C,B,E}.

La largeur arborescente d'une dĂ©composition d'un graphe est , c'est-Ă -dire la taille du plus grand ensemble reprĂ©sentĂ© par un sommet moins 1 ; on peut la voir comme l'abstraction maximale : pour un sommet de l'arbre, jusqu'Ă  combien de sommets du graphe reprĂ©sente-t-on ? Construire la dĂ©composition arborescente d'un graphe quelconque avec la plus petite largeur arborescente est un problĂšme NP-dur[R 5]. Cependant, cela peut ĂȘtre fait rapidement pour certains graphes[R 6], ou approximĂ©e[R 7] pour d'autres tels les graphes planaires (i. e. pouvant ĂȘtre dessinĂ©s sans croiser deux arĂȘtes).

Exemple d'un arbre, ayant 1 comme racine, {2,4,5,7} comme nƓuds internes et {3,6,8,9,10,11,12} comme feuilles.

Robertson et Seymour dĂ©veloppĂšrent Ă©galement le concept de dĂ©composition en branches. Pour la comprendre, il faut introduire davantage de vocabulaire sur un arbre. Dans les graphes, un arbre est dessinĂ© "Ă  l'envers" : on dĂ©marre de la racine en haut, et on descend jusqu'Ă  atteindre les feuilles en bas ; tout sommet n'Ă©tant pas une feuille est appelĂ© un 'nƓud interne'. La dĂ©composition en branches rĂ©sulte en un arbre dans lequel tout nƓud interne a exactement trois voisins (comme sur l'exemple ci-contre), et oĂč chaque feuille reprĂ©sente une arĂȘte du graphe d'origine. La profondeur minimale de la dĂ©composition d'un graphe est notĂ©e , et on a la relation . De mĂȘme que pour la dĂ©composition arborescente, il est NP-dur de construire une dĂ©composition en branches avec minimal pour un graphe quelconque ; dans ce cas, cette construction est rĂ©alisable pour un graphe planaire[R 8].

Ces reprĂ©sentations sont utilisĂ©es sur des problĂšmes NP-complets par des techniques de programmation dynamique, qui prennent gĂ©nĂ©ralement un temps exponentiel en ou . Un tel problĂšme est par exemple l'ensemble dominant : on veut savoir s'il y a un sous-ensemble de sommets de taille au plus tel qu'un sommet n'Ă©tant pas dans y soit reliĂ© par une arĂȘte. Si le graphe est planaire, cette technique permet de rĂ©soudre le problĂšme[R 9] en temps .

Aspect algorithmique

Structures de données

La façon dont le graphe est reprĂ©sentĂ© en tant qu'objet mathĂ©matique a Ă©tĂ© exposĂ©e dans la section prĂ©cĂ©dente. Dans l'aspect algorithmique de la thĂ©orie des graphes, on cherche Ă  concevoir un processus efficace pour traiter un problĂšme faisant intervenir un graphe. Les principaux critĂšres d'efficacitĂ©s d'un processus sont le temps nĂ©cessaire avant d'obtenir la rĂ©ponse, et l'espace que le processus consomme dans son travail. La façon dont on reprĂ©sente le graphe influence la performance en temps et en espace : par exemple, si l'on veut connaĂźtre l'existence d'une arĂȘte entre deux sommets, la matrice d'adjacence permettra d'obtenir un rĂ©sultat immĂ©diatement, ce que l'on appelle en . En revanche, une opĂ©ration de base telle que trouver le voisin d'un sommet est en sur une matrice d'adjacence : dans le pire des cas, il faudra scanner la totalitĂ© de la colonne pour s'apercevoir qu'il n'y a pas de voisin. Une autre structure de donnĂ©es est la liste d'adjacence, consistant en un tableau dont l'entrĂ©e donne la liste des voisins du sommet : sur une telle structure, trouver un voisin se fait en tandis que l'existence d'une arĂȘte est en . Ainsi, au niveau du temps, le choix de la structure dĂ©pend des opĂ©rations de base que l'on souhaite optimiser.

Un graphe étiqueté et sa représentation par liste d'adjacence ci-contre
Représentation par liste d'adjacence du graphe ci-contre:
0adjacent Ă 0,1,2,3
1adjacent Ă 0
2adjacent Ă 0,3,4
3adjacent Ă 0,2
4adjacent Ă 2

De mĂȘme, l'espace qu'une structure consomme dĂ©pend du type de graphe considĂ©rĂ© : un raccourci abusif consiste Ă  dire qu'une liste d'adjacences consomme moins d'espace qu'une matrice car celle-ci sera creuse, mais cela prend par exemple plus d'espace pour stocker un graphe alĂ©atoire avec les listes qu'avec une matrice ; dans le cas gĂ©nĂ©ral, une matrice utilise un espace et les listes utilisent donc si le graphe est dense alors peut ĂȘtre suffisamment grand pour qu'une matrice consomme moins d'espace, et si le graphe est peu dense alors les listes consommeront moins d'espace. Des modifications simples d'une structure de donnĂ©es peuvent permettre d'avoir un gain apprĂ©ciable : par exemple, dans une reprĂ©sentation partiellement complĂ©mentĂ©e d'une liste, un bit spĂ©cial indique si la liste est celle des voisins prĂ©sents ou manquants ; cette technique permet d'avoir des algorithmes linĂ©aires sur le complĂ©ment d'un graphe[Algo 1].

Tandis que ces structures sont locales, il existe aussi des structures de donnĂ©es distribuĂ©es. Le principe de ces structures est de concevoir un schĂ©ma d'Ă©tiquetage tel que, pour deux sommets et , on puisse rĂ©pondre Ă  une question comme « quelle est la distance entre et » uniquement en utilisant les Ă©tiquettes de ces nƓuds ; une telle utilisation des Ă©tiquettes a Ă©tĂ© vue en section « Étiquetage et morphismes » avec le graphe de Kautz oĂč l'on peut dĂ©duire le chemin entre deux sommets uniquement grĂące Ă  leur Ă©tiquette, et la longueur de ce chemin nous donne la distance. Un Ă©tiquetage est efficace s'il permet de rĂ©pondre Ă  une question donnĂ©e uniquement en utilisant deux Ă©tiquettes, tout en minimisant le nombre maximum de bits d'une Ă©tiquette[Algo 2]. Outre la distance, une question type peut ĂȘtre de tester l'adjacence, c'est-Ă -dire de savoir si deux sommets sont voisins ; notons que cela se ramĂšne Ă©galement au cas particulier d'une distance 1. Le premier exemple d'Ă©tiquetage efficace pour tester l'adjacence fut proposĂ© dans le cas des arbres, et chaque Ă©tiquette est constituĂ©e de deux parties de bits : la premiĂšre partie identifie le sommet, et un nombre allant jusqu'Ă  nĂ©cessite bits pour ĂȘtre codĂ©, tandis que la seconde partie identifie le parent de ce sommet ; pour tester l'adjacence, on utilise le fait que deux sommets sont voisins dans un arbre si et seulement si l'un est le parent de l'autre[Algo 3].

Sous-graphes utiles : séparateurs, spanners et arbres de Steiner

L'efficacité d'un schéma d'étiquetage est lié à la taille des séparateurs du graphe.

DĂ©finition — un sĂ©parateur est un sous-ensemble de sommet qui « sĂ©pare » les sommets du graphe en deux composants et tel que et il n'y a pas d'arĂȘtes entre des sommets de et .

Illustration d'un séparateur
Étant donnĂ© un graphe avec un ensemble de sommets , ...
un séparateur est un ensemble de sommets tel que...
lorsqu'on le retire alors on sépare le graphe en deux composantes et .
Play Pause Stop Précédent Suivant Select

Si un graphe a des sĂ©parateurs de taille , alors on peut par exemple concevoir des Ă©tiquettes de bits pour la distance ; ceci permet directement d'en dĂ©duire l'Ă©tiquetage pour des graphes dont on connaĂźt la taille des sĂ©parateurs, tels un graphe planaire oĂč le sĂ©parateur est de taille [Algo 4]. Enfin, il ne faut pas considĂ©rer que la taille de l'Ă©tiquetage mais Ă©galement le temps nĂ©cessaire, Ă©tant donnĂ©s deux Ă©tiquettes, pour effectuer le dĂ©codage rĂ©pondant Ă  la question (i.e. quelle est la distance ? sont-ils voisins ?).

Réduction de données

De nombreux problĂšmes sur les graphes sont NP-complets, c'est-Ă -dire durs Ă  rĂ©soudre. Cependant, cette duretĂ© est inĂ©gale : certaines parties du problĂšme peuvent ĂȘtre particuliĂšrement dures, et en constituent ainsi le cƓur, tandis que d'autres sont assez faciles Ă  gĂ©rer. Ainsi, avant d'exĂ©cuter un algorithme sur un problĂšme qui peut ĂȘtre dur, il est prĂ©fĂ©rable de passer du temps Ă  rĂ©duire ce problĂšme pour ne plus avoir Ă  considĂ©rer que son cƓur.

Notions connexes

  • Un graphe est Ă©galement un espace topologique de dimension 1 dont la gĂ©nĂ©ralisation est un complexe simplicial.
  • Un graphe biparti est un graphe dont l'ensemble de sommets peut ĂȘtre partitionnĂ© en deux sous-ensembles et tels que chaque arĂȘte ait une extrĂ©mitĂ© dans et l'autre dans .

Notes

  1. Il existe d'autres objets mathĂ©matiques portant le mĂȘme nom, par exemple les graphes de fonctions, mais ceux-ci n'ont que peu de rapports avec les graphes Ă©tudiĂ©s ici.
  2. (en) Edward A. Bender et S. Gill Williamson, Lists, Decisions and Graphs : With an Introduction to Probability, , 251 p. (lire en ligne), p. 148
  3. Par exemple (Iyanaga et Kawada 1977, p. 234) ou (Biggs 1993, p. 4).
  4. (en) Edward A. Bender et S. Gill Williamson, Lists, Decisions and Graphs : With an Introduction to Probability, , 251 p. (lire en ligne), p. 149
  5. Par exemple (Graham et. al. 1995, p. 5).
  6. (en) Edward A. Bender et S. Gill Williamson, Lists, Decisions and Graphs : With an Introduction to Probability, , 251 p. (lire en ligne), p. 161
  7. Au regard des mathĂ©matiques modernes, la formulation d'Euler est une conjecture puisque le rĂ©sultat est Ă©noncĂ© sans preuve. Cependant, les mathĂ©matiques en son temps ne prĂ©sentaient pas la mĂȘme rigueur : tandis que conjecturer un rĂ©sultat signifie maintenant que l'on renonce Ă  le dĂ©montrer, pour Euler l'absence d'une preuve peut signifier que celle-ci n'Ă©tait pas considĂ©rĂ©e utile.

Références

Origines

  1. (la) Leonhard Euler - Solutio problematis ad geometriam situs pertinentis, Commentarii academiae scientiarum Petropolitanae 8, 1741, pages 128-140.
  2. (de) Carl Hierholzer, « Über die Möglichkeit, einen Linienzug ohne Wiederholung und ohne Unterbrechung zu umfahren », dans Mathematische Annalen, vol. 6, 1873, p. 30–32
  3. (en) Martin G. - The arab role in the development of Chess, Al Shindagah 45, Mars-Avril 2002
  4. Alexandre-ThĂ©ophile Vandermonde, « Remarques sur des problĂšmes de situation », dans MĂ©moires de l’AcadĂ©mie Royale des Sciences, 1771, p. 566-574. RĂ©fĂ©rences par (ru) LJ.Rossia.org
  5. (en) William Tutte - Graph theory as I have known it, Oxford Science Publications, Clarendon Press, 1998, (ISBN 978-0-19-850251-7). Chapitre 2 : Knight Errant.
  6. (en) Arthur Cayley, « On the Theory of the Analytical Forms called Trees », dans Phil. Mag., 1857, p. 172-176
  7. Martin Aigner et GĂŒnter M. Ziegler, « La formule de Cayley pour le nombre d’arbres », dans Raisonnements divins, 2e Ă©d., 2006
  8. (en) James Joseph Sylvester, « Chemistry and algebra », dans Nature, no 17, 7 février 1878, p. 284
  9. (en) Alfred Bray Kempe, « On the Geographical Problem of the Four Colours », dans American Journal of Mathematics, vol. 2, no 3, septembre 1879, p. 193-200
  10. (de) Julius Petersen, « Die Theorie der regulÀren Graphen », dans Acta Mathematica, vol. 15, 1891, p. 193-220
  11. (de) F. BĂ€bler, « Über die Zerlegung regulĂ€rer Streckencomplexe ungerader Ordnung », dans Comment. Math. Helv., vol. 10, 1938, p. 275–287
  12. (en) Bela Bollobas, Extremal Graph Theory, Dover, 2004
  13. (en) Claude Berge, « Some classes of perfect graphs », dans « Six papers on Graph Theory », Indian. Statistical Institute, Calcutta, 1969, p. 1-21
  14. Claude Berge, Graphes et hypergraphes, Dunod, 1970
  15. Claude Berge, Théorie des graphes et ses applications, Dunod, 1958

Flots

  1. (en) V.V. Ostapenko et A. P. Yakovleva, « Mathematical questions of modeling and control in water distribution problems », dans Control Cybern., vol. 20, no 4, 1991, p. 99-111
  2. (en) Kevin Wayne, Diaporama prĂ©sentant l'Ă©quivalence entre la coupe minimale et le flot maximal. Support d'Ă©tude pour le livre Algorithm Design de Jon Kleinberg et Éva Tardos, Addison Wesley, 2005.
  3. (en) John W. Chinneck, Practical optimization: a gentle introduction, 2001, chap. 10

Probabilités

  1. (en) Anatol Rapoport, « Contribution to the theory of random and biased nets », dans Bulletin of Mathematical Biology, vol. 19, no 4, 1957
  2. (en) Paul ErdƑs et AlfrĂ©d RĂ©nyi, « On random graphs », dans Publicationes Mathematicae, vol. 6, 1959. Voir Ă©galement des mĂȘmes auteurs : « On the evolution of random graphs », dans Publications of the Mathematical Institute of the Hungarian Academy of Sciences, vol. 5, 1960.
  3. (en) Rick Durrett, Random Graph Dynamics, Cambridge Series in Statistical and Probabilistic Mathematics, 2006, chap. 1
  4. (en) A. V. Lapshin, « The property of phase transitions in random graphs », dans Probabilistic Methods in Discrete Mathematics: Proceedings of the Third International Petrozavodsk Conference, Petrozavodsk, Russia, May 12-15, 1992
  5. (en) Bela Bollobas et Oliver Riordan, Percolation, Cambridge University Press, 2006. Cet ouvrage présente la théorie de la percolation avec une approche inspirée de la théorie des graphes.
  6. (en) Harry Kesten, « What is percolation? », dans Notices Amer. Math. Soc., vol. 53, no 5, 2006
  7. (en) Takashi Hara et Gordon Slade, « Mean-field critical behaviour for percolation in high dimensions », dans Commun. Math. Phys., vol. 128, 1990
  8. (en) Albert-Låszló Barabåsi et Reka Albert, « Emergence of scaling in random networks », dans Science, no 286, 1999
  9. (en) Philippe Giabbanelli, Self-improving immunization policies for epidemics over complex networks, thÚse de master, Université Simon Fraser, 2009, sous la direction de Joseph G. Peters
  10. (en) Michael Molloy et Bruce A. Reed, « A critical point for random graphs with a given degree sequence », dans Random Struct. Algorithms, vol. 6, no 2/3, 1995, p. 161–180
  11. (en) Xiafeng Li, Derek Leonard et Dmitri Loguinov, « On Reshaping of Clustering Coefficients in Degree-Based Topology Generators », dans Algorithms and Models for the Web-Graph, Berlin, Springer, 2004, p. 68-79

Représentations

  1. J-C. Bermond et al., Communications dans les réseaux de processeurs, Masson, 1994 (ISBN 978-2-225-84410-2). Paru sous le pseudonyme Jean de Rumeur.
  2. (en) Pavol Hell et Jaroslav Nesetril, Graphs and Homomorphisms, Oxford University Press, 2004 (ISBN 978-0-19-852817-3)
  3. (en) Fan R. K. Chung, Spectral Graph Theory, coll. Regional Conference Series in Mathematics, no 92, AMS, 1997.
  4. (en) Neil Robertson et Paul D. Seymour, « Graph Minors II Algorithmic Aspects of Tree-Width », dans Journal of Algorithms, vol. 7, no 3, 1983
  5. (en) S. Arnborg, D.G. Corneil et A. Proskurowski, « Complexity of finding embedding in a k-tree », dans SIAM Journal on Discrete Mathematics, vol. 8, 1987, p. 277-284
  6. (en) Hans L. Bodlaender, « A linear time algorithm for finding tree-decomposition of small treewidth », dans SIAM journal on Computing, vol. 25, 1996, p. 1305-1317
  7. (en) Paul D. Seymour et R. Thomas, « Call routing and the ratcatcher », dans Combinatorica, vol. 14, no 2, 1994, p. 217-241
  8. (en) Q.P. Gu et H. Tamaki, « Optimal branch decomposition of planar graphs in time », dans Proceedings of the 32nd International Colloquium on Automata, Languages, and Programming, LNCS 3580, Springer-Verlag, 2005, p. 373-384
  9. Pour les notations et techniques, voir (en) Qianping Gu, « Tree/Branch Decompositions and Their Applications »(Archive.org ‱ Wikiwix ‱ Archive.is ‱ Google ‱ Que faire ?), notes de cours Ă  l'UniversitĂ© Simon Fraser.

Aspect algorithmique

  1. [PDF] (en) Elias Dahlhaus, Jens Gustedt et Ross M. McConnell, « Partially complemented representations of digraphs », dans Discrete Mathematics and Theoretical Computer Science, vol. 5, no 1, 2002, p. 147-168
  2. (en) Stephen Alstrup et Theis Rauhe, « Small Induced-Universal Graphs and Compact Implicit Graph Representations », dans Proceedings of the 43rd annual IEEE Symposium on Foundations of Computer Science, 2002, p. 53-62
  3. (en) Sampath Kannan, Moni Naor, et Steven Rudich, « Implicit Representation of Graphs », dans SIAM J. on Discrete Math., vol. 5, 1992, p. 596-603
  4. (en) Cyril Gavoille, David Peleg, Stéphane Pérennes et Ran Razb, « Distance labeling in graphs », dans Journal of Algorithms, vol. 53, 2004, p. 85-112

Bibliographie

  • Olivier Cogis et Claudine Schwartz, ThĂ©orie des graphes : problĂšmes, thĂ©orĂšmes, algorithmes, Paris, Cassini, , 280 p. (ISBN 978-2-84225-189-5)
  • Alain Bretto, Alain Faisant et François Hennecart, ÉlĂ©ments de thĂ©orie des graphes, Paris, Springer-Verlag France, coll. « IRIS », , xix + 371 (ISBN 978-2-8178-0280-0 et 978-2-8178-0281-7, zbMATH 1250.68002).
  • Johannes Carmesin, « Graph Theory – A Survey on the Occasion of the Abel Prize for LĂĄszlĂł LovĂĄsz », Jahresbericht der Deutschen Mathematiker-Vereinigung, vol. 124,‎ , p. 83-108 (DOI 10.1365/s13291-022-00247-7 AccĂšs libre)

Voir aussi

Articles connexes

Liens externes

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