The Algebraic Algorithm The algebraic BFS algorithm uses the adjacency matrix A of a graph G = (V, E). We first initialize a vector x which consists of all zeros except the index of the source vertex s that we want to run the algorithm from; we then form the matrix A = A+ I and then AT · x selects all nodes which are at distance 1 (level 1) from the source vertex. Multiplying the vector x with the matrix A2 gives the vertices that are at most 2 hops. In general, the product Ak · x will give neighbors that are at most k hops away and the multiplication should be performed boolean as in Algorithm 7.2. Algorithm 7.2 Algebraic BFS 1: Input : Adjacency matrix An,n of a graph G = (V, E) connected, unweighted graph G and a source vertex s 2: Output : N, visited, levels a matrix that shows level i vertices at its column i, the visited vertices in sequence and their levels 3: x[n] ← 0 4: x[s] ← 1 5: A ← A + I 6: for i = 1 to n do 7: N ← AT · x 8: levels[i] ← column i of N 9: visited ← visited∪ {visited nodes at this iteration} 10: end for Make Python Implementation
The Algebraic
The algebraic BFS algorithm uses the adjacency matrix A of a graph G = (V, E).
We first initialize a
vertex s that we want to run the algorithm from; we then form the matrix A = A+ I
and then AT · x selects all nodes which are at distance 1 (level 1) from the source
vertex. Multiplying the vector x with the matrix A2 gives the vertices that are at most
2 hops. In general, the product Ak · x will give neighbors that are at most k hops
away and the multiplication should be performed boolean as in Algorithm 7.2.
Algorithm 7.2 Algebraic BFS
1: Input : Adjacency matrix An,n of a graph G = (V, E) connected, unweighted graph G and a
source vertex s
2: Output : N, visited, levels a matrix that shows level i vertices at its column i, the visited
vertices in sequence and their levels
3: x[n] ← 0
4: x[s] ← 1
5: A ← A + I
6: for i = 1 to n do
7: N ← AT · x
8: levels[i] ← column i of N
9: visited ← visited∪ {visited nodes at this iteration}
10: end for
Make Python Implementation
Step by step
Solved in 3 steps with 2 images