store path of minimum spanning tree
5 views (last 30 days)
Show older comments
sibabalo noludwwe
on 1 Aug 2019
Commented: sibabalo noludwwe
on 7 Aug 2019
hi,
i a 14 node system and i want minimum spanning tree from one node to some of the nodes but not all the nodes. at the moment am able to get minimum spanning tree of all the nodes. also is possible to get a full path from one node to the other node instead of the predecessor table?
thanks
0 Comments
Accepted Answer
Steven Lord
on 1 Aug 2019
Use the shortestpath or shortestpathtree functions for graph and digraph objects.
9 Comments
Steven Lord
on 6 Aug 2019
Suppose the graph whose spanning tree you're trying to compute is this:
G = graph(ones(5)-eye(5));
plot(G)
One path from 1 to 3 is the edge (1, 3).
Another path from 1 to 3 is (1, 2), (2, 4), (4, 5), (5, 3).
Another path from 1 to 3 is (1, 2), (2, 4), (4, 5), (5, 2), (2, 4), (4, 5), (5, 3).
I can go around that cycle between 2, 4, and 5 an arbitrary number of times before continuing to 3 if I want. So there are an infinite number of possible paths.
Why might you want to go around that path repeatedly? Assume the nodes are cities and taking a path means going on a sales trip. If you make a profit transporting goods from 2 to 4, resupply at 4 and make a profit transporting other goods from 4 to 5, then resupply at 5 and make a profit transporting a third set of goods from 5 to 2 you could continue the cycle accumulating your profits. Even if one or two of the legs costs you money, if the total cost of the trip earns you money why not?
Since you mention your graph or digraph comes from a Simulink model, one type of cycle like that is called an algebraic loop.
Maybe if you tell us a little more about your ultimate goal we can offer suggestions for how to achieve that goal, even in the potential presence of an algebraic loop.
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!