Recursive Search for All Possible Paths Between 2 Nodes
4 views (last 30 days)
I am trying to look if there is any existing function or codes that can help me to find all possible paths from a starting node to a target node. The only restrictions is that the traveller cannot travel to any previously travelled path or vertex. I imagine this will need a recursive function if the path has some branches to check all possible paths to destination in each intersection.
The ideal input format would be function(coordinates, NodeConnectivityMatrix, startnode, targetnode).
The ideal output format would contain sets of vectors with NodeIndices describing all possible paths.
Please any suggestion. Thank you.
Peter Cook on 1 Feb 2018
You should check out the graph class. https://www.mathworks.com/help/matlab/ref/graph.html
Most common graph operations are implemented
>> methods graph
Methods for class graph:
addedge centrality findnode maxflow plot subgraph
addnode conncomp graph minspantree reordernodes
adjacency degree incidence nearest rmedge
bctree dfsearch isisomorphic neighbors rmnode
bfsearch distances isomorphism numedges shortestpath
biconncomp findedge laplacian numnodes shortestpathtree
If need more graph methods than that and you have the python networkx library somewhere on your machine, you can create a nx graph like this and use whatever nx methods you want with dot notation:
g = py.networkx.Graph()