I am trying to find dissimilarity between shortest path tree of two nodes.
A sample undirected graph of 5 nodes with edges,edgeweight:
(4 1) 2
(1 2) 3
(3 2) 4
(1 3) 8
(4 3) 5
(2 4) 1
(5 4) 6
(1 5) 4
(2 5) 7
The Node names/Labels are:
Labels:
Node 1:s
Node 2:u
Node 3:x
Node 4:v
Node 5:y
I have computed the shortest path for the Nodes 1 and 2.
The shortest path for Node 1 is: {[1],[1 2],[1 3],[1 2 4],[1 5]}
The shortest path for Node 2 is: {[1],[2],[2 4 3],[ 2 4],[2 5]}
Given that shortest path can be represented as a vector of vertex labels T=[tk],k=1..N such that tk is the label of the parent of vertex k with a symbol 0 to indicate the root.
I need to find dissimilarity ie., the number of places where corresponding labels in T1 and T2 do not match.
Can any one be able to help me with this?
I am confused about the representation of T as a vector of vertex labels.
Thank you.
Your vector T is a vector containing the parent labels of each node. For your sample, T1 would look like [0,0,0,2,0], indicating that, in order to get to 4, you have to follow the path to node 2 and then take a link to 4.
This is a rather simple way of representing your paths. If you need to find the differences between both vectors, you could compare them elementwise or do a xor between both vectors. If you take that difference, the differences you’ll find are the nodes that have different parents.