[SoC] Final Report - Implement MST and Mincut
Aditya Pratap Singh
adityapratap.singh28 at gmail.com
Mon Aug 13 06:05:35 PDT 2018
Hello everyone,
I'm Aditya Pratap Singh and this is my final report.
I am very happy to work with you all and learned a lot from my mentors.
*Title:*
Implement Minimum Spanning Tree and Min-Cut for pgRouting by the Boost
Graph Library
*Abstract:*
A Minimum Spanning Tree in an undirected connected weighted graph is a
spanning tree of minimum weight. For this I had implemented two functions
that are Prim Algorithm and Kruskal Algorithm.
Finding the minimum cut of an edge weighted graph is a fundamental
algorithmic problem. Stoer–Wagner algorithm is a recursive algorithm to
solve the minimum cut problem in undirected weighted graphs with
non-negative weights. I had implemented Min-Cut by Stoer Wagner function.
*Implemented function:*
- pgr_prim()
Returns the minimum spanning tree of graph using Prim
algorithm. Ideally graph should be undirected and connected but I made
signature which can work on unconnected graph also.
- pgr_kruskal()
Returns the minimum spanning tree of graph using Kruskal
algorithm on undirected graph.
- pgr_stoerWagner()
Returns the weight of the min-cut of graph using Stoer
Wagner algorithm. Function determines a min-cut and the min-cut weight of a
connected, undirected graph.
*The state before my GSoC*
pgRouting didn’t have the functionality of minimum spanning tree and
min-cut. So, I implemented these function in my GSoC period.
*The addition that my project brought to pgRouting*
The deliverable are code, full documentation, documentation tests and pgTAP
of those three functions.
*Pending Work:*
After implementing these function I went for implementation of Random
Spanning Tree. It’s C++ code is working but it is not working in pgRouting
architecture.
*Future Directions:*
- Implement full functionality of random spanning tree in pgRouting
architecture and its documentation and test and pgTAP.
- Implement algorithm for Common Spanning Trees of Two Graphs using
boost graph library.
*Links:*
Wiki:
https://github.com/pgRouting/pgrouting/wiki/GSoC-2018-MST-and-Mincut
Pull request with all the commits:
https://github.com/pgRouting/pgrouting/pull/1079
Slide:
https://docs.google.com/presentation/d/1g46CsdTEdZLpsAKNOWfI7R6A2QX6_3ycjFf1fUzMri0/edit#slide=id.g35f391192_00
Tag:
https://github.com/pgRouting/pgrouting/releases/tag/gsoc2018-apslight-lw
Repository:
https://github.com/apslight/Sample-Code
Best regard,
Aditya Pratap Singh
IIT BBS, India
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/soc/attachments/20180813/9c560703/attachment.html>
More information about the SoC
mailing list