, , , , , , ,

[SOLVED] (csci 323) assignment 8 “shortest path algorithms”

$25

File Name: (csci_323)_assignment_8_“shortest_path_algorithms”.zip
File Size: 508.68 KB

5/5 - (1 vote)

Overview:
This assignment builds on the graph-related functions of the previous assignment, as well as the general infrastructure of
several earlier assignments, to implement and study the empirical performance of several algorithm for the Single-Source
Shortest Path (SSSP) and All-Pairs Shortest Path (APSP) problems, namely● Floyd’s APSP algorithm (dynamic programming)
● Bellman-Ford SSSP algorithm (dynamic programming)
● Dijkstra’s SSSP algorithm, using adjacency/cost matrix and minimization over array (greedy strategy)
● Dijkstra’s SSSP algorithm, using adjacency/cost table and minimization by binary heap (greedy strategy)Submissions:
Use the Google form to submit the following:.
● Assignment08.py (source code)
● Assignment08.txt (console output)
● Assignment08-times.png (bar graph of timings)
● Assignment08-graph.png (graph of points and path)Follow the template and general guidelines for previous assignments. Wherever possible, import those assignments and
invoke their functions rather than creating and maintaining copies of the same code.[1] Define a function floyd_apsp(graph) that solves APSP for a graph using Floyd’s dynamic programming algorithm.
See https://www.geeksforgeeks.org/floyd-warshall-algorithm-dp-16/[2] Define a function bellman_ford_sssp(es, n, src) that takes an edge-set of the graph, the size of the graph, and a
starting point, and solves SSSP using the Bellman Ford dynamic programming algorithm.
See https://www.geeksforgeeks.org/bellman-ford-algorithm-dp-23/[3] Define a wrapper function bellman_ford_apsp(graph) that converts the graph to an edge-set (using the function defined
earlier), then calls bellman_ford_sssp for each of the n possible sources.[4] Define a function dijkstra_sssp_matrix(graph, src) that takes a graph and a starting point, and solves SSSP using
Dijsktra’s greedy SSSP algorithm, assuming an adjacency matrix and minimization over an array.
See https://www.geeksforgeeks.org/dijkstras-shortest-path-algorithm-greedy-algo-7/[5] Define a wrapper function dijkstra_apsp_matrix(graph) that calls dijsktra_sssp_matrix for each of the n possible
sources.[6] Define a function dijkstra_sssp_table(table, src) that takes a graph and a starting point, and solves SSSP using
Dijsktra’s greedy SSSP algorithm, assuming an adjacency table and minimization via a min-heap.
See https://www.geeksforgeeks.org/dijkstras-shortest-path-algorithm-using-priority_queue-stl/[7] Define a wrapper function dijkstra_apsp_table that calls dijsktra_sssp_table for each of the n possible sources.[8] Now run and time these four APSP algorithms for ten sizes [10, 20, …, 100], one trial each:
● floyd_apsp
● bellman_ford_apsp (wrapper function)
● dijkstra_apsp_matrix (wrapper function)
● dijkstra_apsp_table (wrapper function)[9] Print out the timings in a Pandas data frame, sizes across the top, algorithms along the side
[10] Plot the timings in a bar-graph. Make sure that titles, labels, and ticks are updated for the current assignment.[11] Have the program print out and draw the weighted graph in its various formats, as well as the results for the four
algorithms.Print only for the case size = 10 and verify that the results of the algorithms are consistent. Do not print for the
larger sizes as that will overwhelm the output.

Reviews

There are no reviews yet.

Only logged in customers who have purchased this product may leave a review.

Shopping Cart
[SOLVED] (csci 323) assignment 8 “shortest path algorithms”
$25