1
0
Fork 0
This commit is contained in:
Joris van Rantwijk 2024-07-28 11:29:41 +02:00
parent 5af13809b3
commit d5d8a43a3b
1 changed files with 7 additions and 7 deletions

View File

@ -805,7 +805,6 @@ The modified slack is computed in the same way as true slack, except it uses
the modified vertex duals instead of true vertex duals. the modified vertex duals instead of true vertex duals.
Blossom duals are ignored since we will never compute the modified slack of an edge that Blossom duals are ignored since we will never compute the modified slack of an edge that
is contained inside a blossom. is contained inside a blossom.
Because modified vertex duals are invariant under delta steps, so is the modified edge slack. Because modified vertex duals are invariant under delta steps, so is the modified edge slack.
As a result, the priorities of edges in the priority queue remain unchanged during a delta step. As a result, the priorities of edges in the priority queue remain unchanged during a delta step.
@ -1218,14 +1217,15 @@ Floating point calculations are subject to rounding errors.
As a result, the algorithm may return a matching which has slightly lower weight than As a result, the algorithm may return a matching which has slightly lower weight than
the actual maximum weight. the actual maximum weight.
I believe the matching algorithm is stable for floating point weights. The algorithm will allways return a valid matching, even if rounding errors occur.
It seems to me that the algorithm will always return a matching that is close to optimal, Floating point comparisons affect which actions are taken during delta steps,
and could have been optimal if the edge weights were changed by very small amounts. and thus eventually determine which edges are matched.
I must admit this is mostly based on intuition. But the overall structure of the algorithm guarantees that it will eventually return
Unfortunately I don't know how to properly analyze the floating point accuracy of this algorithm. a valid (if possibly suboptimal) matching.
The most challenging cases are probably graphs where edge weights differ by many orders The most challenging cases are probably graphs with edge weights that differ by many orders
of magnitude. of magnitude.
Unfortunately I don't know how to properly analyze the floating point accuracy of this algorithm.
### Finding a maximum weight matching out of all maximum cardinality matchings ### Finding a maximum weight matching out of all maximum cardinality matchings