Open kmalinau opened 7 months ago
Hi, thank you for the feedback!
Re (1), yeah that seems completely right, I'm not sure why I thought allocating those on the stack was a good idea.
Re (2), I'd bet it "just works" to switch to a general bipartite graph, and increase the matching until progress stops, at which point you'd have a min-weight maximal matching. This does seem better, especially since I think it should improve readability to differentiate both sides of the graph, and then inner loop will still do exactly the same work.
I'm busy right now but will hope to try these soon.
When playing with your code I realized that for the unbalanced problem case $n_1 \le n_2$ it is not only about changing the the right part bounds. I came up with more changes:
rightEdgeCounts
check from no solution detection.It seemed worked on my test cases but I did not try to prove it in general, just as I did not evaluate new complexity.
Hi @jamespayor , Thank you for developing this project. If it is still alive I have a suggestion and a question.