Beefy Boxes and Bandwidth Generously Provided by pair Networks
Welcome to the Monastery

Re^2: Short Circuiting DFS Graph Traversal

by Limbic~Region (Chancellor)
on Oct 29, 2010 at 14:44 UTC ( [id://868318] : note . print w/replies, xml ) Need Help??

in reply to Re: Short Circuiting DFS Graph Traversal
in thread Short Circuiting DFS Graph Traversal

Unfortunately it won't - at least, not as I understand it. In the problem posed by neversaint, all paths between two nodes is desired. It is never said that cycle avoidance is required but I have assumed it for my purposes. In other words, each node visited along the path may only be visited once. Any algorithm designed to find the shortest or cheapest path or paths will not produce the correct result - even if every edge has the same cost. Assume the two nodes are directly connected. Imagine taking a Hamiltonian path around the graph with the start and end points being the two nodes in question - this can certainly be proven not to be among the shortest/cheapest paths.

Cheers - L~R

  • Comment on Re^2: Short Circuiting DFS Graph Traversal

Replies are listed 'Best First'.
Re^3: Short Circuiting DFS Graph Traversal
by choroba (Cardinal) on Oct 29, 2010 at 14:54 UTC
    Can the edge cost be set to zero? :) Then, all the possible paths would be the cheapest.
      Most of what I know about graph theory I have learned here but I don't see why not. On the other hand, what you have just described is an unweighted graph which is stated as a given in my original node. I would be VERY impressed if an algorithm exists that can intuitively know not to follow paths that can lead to dead ends without keeping some sort of a cache of previously followed paths. If they can, then certainly they will be more efficient then what I propose and would love to learn about them.

      Cheers - L~R