Pourquoi les graphiques dirigés sont-ils importants?

18

Nous avons lu sur les algorithmes pour MST, forte connectivité, routage, etc. dans les graphiques dirigés.

Récemment, des chercheurs ont également recherché des algorithmes dynamiques et tolérants aux pannes pour les graphiques dirigés.

Mais je me demandais s'il existe des applications pratiques où le réseau de graphes souligné est "dirigé". À part les réseaux sociaux, tous les problèmes auxquels je pourrais penser, comme le réseau ferroviaire / routier, le réseau Internet, etc., ne concernent que les graphiques non orientés.

Edit 1: Je comprends que ceux-ci peuvent être utilisés pour modéliser certains scénarios où les liens sont dirigés, mais je me demandais à quelle fréquence ces scénarios se produisent dans le monde réel, et quelle est l'importance de l'étude de la tolérance aux pannes pour les graphiques dirigés.

chyle
la source
6
L'arbre et le DAG (Directed Acyclic Graph) sont deux des classes de graphes dirigés les plus célèbres de toute l'informatique. L'arbre est utilisé dans de nombreuses choses (par exemple, les arbres généalogiques, les hiérarchies); Le DAG peut en faire des versions plus sophistiquées. Les DAG sont utilisés essentiellement chaque fois que vous avez un ensemble d'entités qui ont des dépendances les unes des autres. Lorsque votre problème a une composante «temps» ou «étape par étape», la direction représente cette marche inexorable du progrès. Vous voyez les DAG dans des éléments tels que les organigrammes, les logiciels de gestion de packages et les formulaires SSA de représentation intermédiaire des compilateurs.
Iwillnotexist Idonotexist
2
OK, quelle est votre vraie question? Voulez-vous savoir pourquoi les graphiques dirigés sont importants ou pourquoi la tolérance aux pannes dans les graphiques dirigés est importante? Ce sont deux questions complètement distinctes.
David Richerby
2
Vos exemples, bien que physiquement "non dirigés" dans la mise en œuvre, ont toujours fréquemment des graphiques dirigés opérant logiquement sur eux. Par exemple, les trains ne voyagent pas dans les deux sens - ils vont dans un sens ou dans l'autre selon un horaire. Disons que l'on ne planifie pas les trains, mais uniquement les passagers. Ensuite, cette personne s'intéresse à un graphique dirigé, malgré le fait arbitraire que les trains peuvent théoriquement voyager dans les deux sens sur un rail.
Darren Ringer
5
chyle: Les réseaux peuvent très certainement bénéficier d'être représentés par un graphique dirigé. La plupart des connexions Internet des ménages sont asymétriques. Les liaisons en amont et en aval peuvent avoir des propriétés complètement différentes (bande passante, latence, perte de paquets, etc.)
Alexander - Reinstate Monica
1
Je ne sais pas pour tout le monde, mais mon arbre généalogique est un digraphe. Je ne suis pas le parent de ma mère.

Réponses:

36

Rappelant qu'un graphe orienté est un graphe où les bords ont une direction associée.

En utilisant un graphe orienté, vous pouvez représenter des relations asymétriques entre les nœuds, tandis que dans un graphe non orienté, nous ne pouvons représenter que des relations symétriques .

En pratique, en utilisant un graphe orienté, vous pouvez représenter:

  • Réseaux routiers (en utilisant un graphique dirigé, vous pouvez représenter la direction des rues);
  • hyperliens reliant des pages Web ;
  • dépendances dans les modules logiciels ;
  • relations proie-prédateur ;
  • automate fini déterministe .

Outre ces exemples classiques, vous pouvez représenter de nombreux autres scénarios du monde réel (commerce financier, planification, maladies infectieuses, citation, contrôle du flux, etc.) qui nécessitent une relation ordonnée [1] .

darioSka
la source
4
Très bonne réponse. Je pense que OP oublie que lorsque vous avez une rue, vous avez en fait deux rues (une pour chaque direction, généralement parfaitement parallèle). Ils peuvent être représentés sous forme de graphique simple, mais les graphiques orientés ajoutent des informations essentielles au modèle.
ecc
J'aime ça, et je remarque que cette réponse fait attention à dire des pages Web connectées par hyperlien - ce qui exclut l'utilisation de la fonction Retour. ;-)
SDsolar
Pour mettre le commentaire de @ ecc en langue vernaculaire, vous avez deux nœuds reliés par deux arêtes. Chaque bord est dirigé à l'opposé de l'autre. On le voit souvent dans les diagrammes d'état déterministes. Pour les rues, il se réduirait à un seul bord, qu'il soit dirigé (unidirectionnel) ou non dirigé.
SDsolar
4
@ecc aussi, d'où je viens (Californie), nous avons des rues à sens unique
k_g
5

Des graphiques dirigés existent. Comme mentionné dans les commentaires, les graphiques acycliques dirigés (DAG), en particulier, sont extrêmement utiles dans de nombreuses tâches de calcul telles que la compilation de code.

De plus, il convient de noter que la plupart des algorithmes de graphe orienté peuvent être utilisés dans le cas non orienté simplement en remplaçant chaque bord non orienté par deux bords orientés. Le double de cela, essayer de faire un graphe orienté à partir d'un graphe non orienté, ne peut pas être fait pour la plupart des algorithmes.

Cort Ammon - Rétablir Monica
la source
3

Les débuts du tri topologique (opération fondamentale sur les graphes acycliques dirigés) résident dans les réseaux de dépendances en gestion de projet, notamment la méthode PERT . Kahn et Lasser citent tous les deux PERT dans leurs articles et basent leurs exemples dessus, par exemple

Un réseau PERT de 30 000 activités peut être commandé en moins d'une heure de temps machine.

La planification des travaux en ligne se fait toujours avec ce type de réseau; par exemple, un système ETL planifie l'exécution des travaux uniquement après l'exécution des travaux qui fournissent leurs données d'entrée.

KWillets
la source
2

Réponse: Du PO, je déduis que la question est en fait liée aux ODD (Graphes dirigés signés). Voici donc ma réponse qui aborde les graphiques dirigés de base puis mène aux ODD.

Les graphiques dirigés sont largement utilisés dans l'analyse des arbres de défaillances dans les systèmes industriels. Lorsque vous éliminez les causes d'un défaut, vous suivez le graphique dirigé pour explorer d'autres possibilités.

Des graphiques dirigés sont utilisés pour empêcher une révision contre-productive des nœuds qui ont été efficacement éliminés. Dans le diagnostic de panne, le délai de rétablissement du service est souvent critique. Dans les systèmes industriels complexes, il existe toujours un arbre parallèle basé sur le temps qui peut conduire à un arrêt total du système si le défaut n'est pas corrigé dans différentes limites de temps. Les allers-retours seraient plus susceptibles d'entraîner une défaillance totale, ce qui peut entraîner des opérations de restauration qui prennent beaucoup plus de temps (comme la vidange des réservoirs et des pipelines pour redémarrer une raffinerie).

C'est comme couper une branche d'arbre - pas besoin de retourner au tronc lorsque vous essayez de trouver une seule brindille.

Les ODD ont la propriété supplémentaire de fournir des conseils basés sur des probabilités ou des seuils afin d'aider à prendre des décisions lorsque l'arbre est traversé.

Voici un lien vers un bon livre sur le sujet, intitulé Fault Detection and Diagnosis in Industrial Systems (page 224), où il décrit les avantages du diagnostic basé sur les ODD:

https://books.google.com/books?id=KFLlBwAAQBAJ&pg=PA224

SDsolar
la source