Closed sebastianstricker closed 2 months ago
To make this repository run, i had to write a parser from the public .dd file format (Swoboda, Paul, et al. “Structured prediction problem archive”. (2022)).
The multigraph matching problem is well defined via the costs of the upper triangular part of each pairwise affinity matrix. If you have insight in how to correctly set the remaining, redundant matrix entries that are required as an input for pygmtools, I would highly appreciate it!
Maybe you already have your own parser or could point out errors within mine.
@sebastianstricker Hello, I believe there is some misunderstanding of the CAO and Floyd algorithms. These two algorithms do not guarantee that the solution to multi-graph matching will be cycle consistent. In fact, they relax the cycle consistency constraint and include it as part of the optimization objective. In other words, the optimization objective becomes a weighted function of both the affinity score and cycle consistency, rather than just the affinity score.
You may want to check section 3.1 of Floyd's paper Unifying offline and online multi-graph matching via finding shortest paths on supergraph for further details.
I see. Thanks for the quick reply!
Hi Sebastian,
Just one more comment on gamgm
: if you have the adjacency matrices (which I believe is the case in your example), you will be able to run the algorithm
Hi Runzhong,
If that is possible that would be great!
However, each individual graph matching problem is given by a single cost matrix as in Lawler's form of the QAP. More specifically, as node to node assignment costs (diagonal terms) and pairwise assignment terms (off-diagonal terms).
To my understanding, it is possible to formulate any Koopmans-Beckman QAP as a Lawler QAP but not the other way around?
Describe the bug I ran into issues while testing on the hotel/house/synthetic datasets, that are commonly used to compare multi-graph matching solvers.
Neither
CAO
, norFloyd
produce a cycle consistent solution on the example problem.gamgm
seems to solve a specific variant of the multi-graph matching problem and is not applicable to this general case i think?To Reproduce I wrote a minimal working example that showcases the error: https://github.com/sebastianstricker/pygmtools-multi-graph-error/
Expected behavior Return of cycle consistent solutions.
Environment: