The Algorithm of Algebra The adjacency matrix A of a graph G = is used by the algebraic BFS algorithm (V, E). First, we create a vector x with all zeros except for the index of the source vertex s that we wish to use as the starting point for the algorithm; next, we create the matrix A = A+ I; last, AT x chooses all nodes that are at a distance of 1 (level 1) from the source vertex. The vertices with the fewest number of hops are obtained by multiplying the vector x by the matrix A2. As a rule, the product Ak x will produce neighbours that are at most k hops distant, and the multiplication should be done in a boolean manner as in the algorithm shown below. Algorithm for 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
The adjacency matrix A of a graph G = is used by the algebraic BFS algorithm (V, E).
First, we create a vector x with all zeros except for the index of the source vertex s that we wish to use as the starting point for the algorithm; next, we create the matrix A = A+ I; last, AT x chooses all nodes that are at a distance of 1 (level 1) from the source vertex. The vertices with the fewest number of hops are obtained by multiplying the vector x by the matrix A2. As a rule, the product Ak x will produce neighbours that are at most k hops distant, and the multiplication should be done in a boolean manner as in the algorithm shown below.
Algorithm for 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 1 images