JuliaGraphs / JuliaGraphs/GraphsMatching.jl
implementing the Blossom algorithm for maximum weight matching
Nobody has claimed this yet.
- Dominant language
- Julia
- Stars
- 20
- Forks
- 8
- Avg merge
- 9h 15m
- Merged PRs (30d)
- 1
Description
Edit: The bounty is removed as the urgency to fix this is gone now that we have working MWPM on all platforms thanks to LEMONGraphs.jl. Leaving this up as a feature request.
Implement the well-known Blossom algorithm for maximum weight (perfect) matching in generic graphs.
- wiki link: https://en.wikipedia.org/wiki/Blossom_algorithm
- many simple (not-optimized) implementations of the algorithm from class projects and the like are available if one searches online for "blossom algorithm simple"
Two bounties are available here:
a 500$ bountyfor implementing a pure-julia Blossom with tests and documentation, making it the default here, and movingBlossomV.jlfrom a dependency to a weak dependency (so that it is not necessary during installation)a 500$ bountyon improving the performance of the new implementation to no-worse than 90% ofBlossomV.jl
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the Blossom algorithm overview linked in the issue and inspect how BlossomV.jl and LEMONGraphs.jl currently provide matching support. Define the scope for a pure-Julia implementation, including tests, documentation, default selection, and dependency handling; completion should cover those requested pieces and establish whether performance meets the stated target.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- julia
- Domain
- data
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100