Repository navigation
Implementing DigraphEdgeConnectivity - #884
Conversation
91c80c5 to
0634eed
Compare
There was a problem hiding this comment.
Thanks for the implementation! I had some suggestions for the documentation and for improving the performance of the methods. Mainly more details in the docs and reworking some loops to implement more efficient DFS.
Some other things:
- The documentation is not currently linked in the manual. You should edit the correct
doc/z-chapX.xmlfile to add this. For example, to get theDigraphDominatingSetdocumentation to show up you should add the<#Include Label="DigraphDominatingSet">tag in the correct place ofdoc/z-chap4.xml. You can test this by seeing if?DigraphDominatingSetshows up the docs after runningDigraphsMakeDoc()ingap. Same applies for the other functions. - Functions need to be more careful about symmetric vs non symmetric digraphs.
- You should re-run the benchmarks after making the performance based changes to the implementation. I think currently the benchmarks are skewed by the time it takes to find the dominating set/spanning tree, but after the reimplementation this time should become negligible, and it will be more about how many vertices need to be checked. So maybe hold-off on removing the methods for now.
Afterwards should be good to merge!
|
@RheyaM, I wonder if you could merge or rebase to resolve the merge conflicts with the current main branch. Then could you indicate whether you think you've resolved @reiniscirpons's comments? We can then review this again. |
18ef784 to
38b4803
Compare
|
Thanks again for the PR @RheyaM ! I took some time to finish off some minor polish so we can merge into main. @mtorpey @james-d-mitchell Could either of you give this a review when you have the time please? |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #884 +/- ##
==========================================
+ Coverage 97.46% 97.47% +0.01%
==========================================
Files 51 51
Lines 21191 21301 +110
Branches 639 639
==========================================
+ Hits 20653 20763 +110
Misses 473 473
Partials 65 65 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
james-d-mitchell
left a comment
There was a problem hiding this comment.
Some superficial changes, then I'm happy to merge this
…implemented methods
…nges for efficiency
…r symmetric digraphs
38b4803 to
c3f4897
Compare
|
@james-d-mitchell ready for re-review |
|
Thanks @RheyaM and @reiniscirpons ! |
Implemented two methods for calculating the EdgeConnectivity of a Digraph, one using Spanning Trees and one using Dominating Sets, based on the Algorithms detailed in: https://www.cse.msu.edu/~cse835/Papers/Graph_connectivity_revised.pdf
Additional functions: DigraphDominatingSet() and DigraphGetNeighbourhood(), for getting a Dominating Set of a digraph and getting the neighbourhood of a subset of vertices in a digraph, respectively.