Accueil🇫🇷Chercher

Graphe orienté acyclique

En théorie des graphes, un graphe orienté acyclique (en anglais directed acyclic graph ou DAG), est un graphe orienté qui ne possède pas de circuit. Un tel graphe peut être vu comme une hiérarchie.

Un exemple de graphe orienté acyclique

DĂ©finition

Un graphe orienté acyclique est un graphe orienté qui ne possède pas de circuit[1].

Arbre et tri topologique

  • On peut toujours trouver un sous-graphe couvrant d’un graphe orientĂ© acyclique qui soit un arbre (resp. une forĂŞt).
  • Dans un graphe orientĂ© acyclique, la relation d'accessibilitĂ© R(u, v) dĂ©finie par « il existe un chemin de u Ă  v » est une relation d'ordre partielle. L'algorithme du tri topologique permet de numĂ©roter les sommets d'un graphe orientĂ© acyclique de manière compatible avec cet ordre (autrement dit, s'il existe un chemin de u Ă  v dans le graphe, alors le numĂ©ro de u est infĂ©rieur Ă  celui de v).
  • Cette numĂ©rotation facilite la reprĂ©sentation par niveaux. Pour le graphe orientĂ© acyclique ci-dessus, les sommets (7, 5, 3) forment le niveau 1, (11, 8) formant le niveau 2, (2, 9, 10) le niveau 3. Un arc de 8 vers 11 introduirait 4 niveaux, imposĂ©s par le chemin (3, 8, 11, 2).

Aspects algorithmiques

  • Le problème des plus courts chemins Ă  partir d'une source peut ĂŞtre rĂ©solu en temps linĂ©aire dans un tel graphe.
  • Il est possible de trouver une couverture par chemins minimale en temps polynomial, alors que c'est un problème NP-complet dans un graphe orientĂ© quelconque.
  • Étant donnĂ© un graphe orientĂ©, on peut toujours enlever un certain nombre de sommets pour le transformer en graphe acyclique. Un tel ensemble est appelĂ© coupe-cycles de sommets (feedback vertex set). Le problème algorithmique associĂ© consiste Ă  trouver un tel ensemble de cardinal minimum.

Utilisations

La notion formalise un outil traditionnel d’analyse, dont on trouve des exemples :

  • en matière d'ordonnancement de projet, d'organigrammes…
  • dans tous les modèles par couches, tel que le modèle OSI, le modèle de BĂĽhler (ou de Taber-Nida) des fonctions du langage, ou en psychologie la pyramide des besoins de Maslow.
  • La technologie IOTA de transactions sĂ©curisĂ©es a pour structure de donnĂ©e sous-jacente un graphe orientĂ© acyclique contrairement Ă  la blockchain plus classique qui a pour structure de donnĂ©e sous-jacente un arbre enracinĂ© (les « chaĂ®nes » sont les chemins de la racine aux feuilles). Chaque transaction est un nĹ“ud du graphe.

En informatique, la notion s'applique en particulier pour la représentation des termes avec partage, pour l'organisation des démonstrations en déduction naturelle ou pour la théorie des langages de l’orientation objet, en ce qui concerne la classification des types.

Notes et références

Articles connexes

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