GraphUtilities`
GraphUtilities`

GraphDistance

As of Version 10, all the functionality of the GraphUtilities package is built into the Wolfram System. >>

GraphDistance[g,i,j]

gives the distance from vertex i to vertex j in the graph g.

Details and Options

  • GraphDistance functionality is now available in the built-in Wolfram Language function GraphDistance.
  • To use GraphDistance, you first need to load the Graph Utilities Package using Needs["GraphUtilities`"].
  • GraphDistance returns the graph distance from one vertex to another. Infinity is returned if no path exists from i to j. By default every edge is assumed to have an edge weight of 1.
  • The following option can be used:
  • WeightedFalsespecifies whether edge weight is to be used in calculating distance

Examples

open allclose all

Basic Examples  (2)

This defines a simple directed graph:

This calculates the distance from vertex 1 to vertex 5:

This function has been superseded by GraphDistance in the Wolfram System:

Scope  (1)

This defines a simple directed graph:

This calculates the distance from vertex 1 to vertex 5:

There is no path from vertex 4 to vertex 1:

This defines a simple directed graph with edge weights:

This shows that the distance from vertex 1 to 3 is 2 if unit edge weights are assumed:

But the distance becomes 0 if edge weights are taken into account:

Applications  (1)

This generates a random directed graph with n nodes and degree d:

Average distance between vertices 1 and 100, of 200 random directed graphs of 100 vertices and degree 2:

The average distance decreases with an increase in the degree:

Possible Issues  (1)

This defines a small directed graph:

This shows that the distance between vertices 1 and 3 is 2, assuming a unit edge weight:

This shows that when edge weights are taken into account, the distance between vertices 1 and 3 is 0:

This shows the shortest path when edge weights are taken into account:

This shows the shortest path when edge weights are ignored: