1
0
Fork 0
This commit is contained in:
Joris van Rantwijk 2024-07-11 21:24:32 +02:00
parent 3c069bd23e
commit 3d0cd92285
1 changed files with 4 additions and 5 deletions

View File

@ -25,10 +25,9 @@ cd python
pip install .
```
Using the algorithm is easy.
Using the package is easy.
You describe the input graph by listing its edges.
Each edge is represented as a pair of vertex indices and the weight of the edge.
Each edge is represented as a tuple of vertex indices and the weight of the edge.
The example below finds a matching in a graph with 5 vertices and 5 edges.
The maximum weight matching contains two edges and has total weight 11.
@ -50,7 +49,7 @@ I plan to eventually update the C++ code to implement the faster _O(n*m*log(n))_
The C++ code is self-contained and can easily be linked into an application.
It is also reasonably efficient.
For serious use cases, [LEMON](http://lemon.cs.elte.hu/trac/lemon) may be a better choice.
For serious use cases, [LEMON](https://lemon.cs.elte.hu/trac/lemon) may be a better choice.
LEMON is a C++ library that provides a very fast and robust implementation of
maximum weighted matching and many other graph algorithms.
To my knowledge, it is the only free software library that provides a high-quality
@ -111,7 +110,7 @@ However, earlier versions of the algorithm were invented and improved by several
See the file [Algorithm.md](doc/Algorithm.md) for links to the most important papers.
I used some ideas from the source code of the `MaxWeightedMatching` class in
[LEMON](http://lemon.cs.elto.hu/trac/lemon):
[LEMON](https://lemon.cs.elto.hu/trac/lemon):
the technique to implement lazy updates of vertex dual variables,
and the approach to re-use alternating trees after augmenting the matching.