Floyd algorithm innetwork analysis
Prepared By:
Bimal Ghosh
CSE 4th
Year (7th
Sem)
Roll No: 25700123014
Paper Code: OECCS701A
2.
Agenda
What is theFloyd Warshall Algorithm? 1
Algorithm 2
Example & solution 3
Applications of Floyd Warshall Algorithm 4
Advantages & Disadvantages of Floyd Warshall
Algorithm 5
3.
What is theFloyd Warshall Algorithm?
• The Floyd Warshall algorithm is a graph analysis algorithm that
can be used to find the shortest paths between all pairs of nodes in
a graph. It is named after Robert Floyd, who published the
algorithm in 1962.
• The Floyd-Warshall algorithm is designed to find the shortest
paths between every pair of nodes in a graph, making it a powerful
tool for network analysis. The algorithm works by systematically
considering all possible paths through intermediate nodes and
updating the shortest path estimates accordingly.
3
1
4.
Floyd-Warshall Algorithm
Consider agraph, G = {V, E} where V is the set of all vertices present in the graph and E is
the set of all the edges in the graph. The graph, G, is represented in the form of an
adjacency matrix, A, that contains all the weights of every edge connecting two vertices.
Algorithm:
Step 1 − Construct an adjacency matrix A with all the costs of edges present in the graph.
If there is no path between two vertices, mark the value as ∞.
Step 2 − Derive another adjacency matrix A1 from A keeping the first row and first
column of the original adjacency matrix intact in A1. And for the remaining values, say
A1[i,j], if A[i,j]>A[i,k]+A[k,j] then replace A1[i,j] with A[i,k]+A[k,j]. Otherwise, do not
change the values. Here, in this step, k = 1 (first vertex acting as pivot).
Step 3 − Repeat Step 2 for all the vertices in the graph by changing the k value for every
pivot vertex until the final matrix is achieved.
Step 4 − The final adjacency matrix obtained is the final solution with all the shortest
paths.
2
5.
Example
Consider the followingdirected weighted graph G = {V, E}. Find the
shortest paths between all the vertices of the graphs using the Floyd-
Warshall algorithm.
3
solution
Step 2:
Considering theabove adjacency matrix as the input, derive another matrix
A0 by keeping only first rows and columns intact. Take k = 1, and replace
all the other values by A[i,k]+A[k,j].
3
8.
solution
Step 3:
Considering theabove adjacency matrix as the input, derive another matrix
A0 by keeping only first rows and columns intact. Take k = 1, and replace
all the other values by A[i,k]+A[k,j].
3
9.
solution
Step 4:
Considering theabove adjacency matrix as the input, derive another matrix
A0 by keeping only first rows and columns intact. Take k = 1, and replace
all the other values by A[i,k]+A[k,j].
3
10.
solution
Step 5:
Considering theabove adjacency matrix as the input, derive another matrix
A0 by keeping only first rows and columns intact. Take k = 1, and replace
all the other values by A[i,k]+A[k,j].
3
11.
solution
Step 6:
Considering theabove adjacency matrix as the input, derive another matrix
A0 by keeping only first rows and columns intact. Take k = 1, and replace
all the other values by A[i,k]+A[k,j].
3
Applications of FloydWarshall Algorithm
There are many applications of the Floyd Warshall
algorithm. Some of the most popular applications are finding
the shortest path between two vertices in a graph, detecting
negative cycles in a graph, and computing the transitive
closure of a graph.
The Floyd Warshall algorithm can also be used for other
purposes such as solving the all-pairs shortest path problem
in weighted graphs, finding the closest pairs of vertices in a
graph, and computing the diameter of a graph. 4
14.
Advantages & Disadvantagesof Floyd Warshall Algorithm
Advantages:
One of the biggest advantages of the Floyd Warshall algorithm is its versatility.
The algorithm can be used to solve a wide range of problems, including finding
the shortest path between two nodes in a graph, calculating the transitive
closure of a graph, and detecting negative cycles in a graph.
Another advantage is its simplicity. Unlike some other algorithms, the Floyd
Warshall algorithm is relatively easy to understand and implement. This makes
it an ideal choice for students and professionals who are just starting out with
graph algorithms.
The Floyd Warshall algorithm is very efficient. It has a time complexity of
O(n^3), which means it can handle large graphs with ease. Additionally, the
algorithm is parallelisable, meaning it can be run on multiple processors to
further improve its efficiency.
5