pygmtools.multi_graph_solvers

Classic (learning-free) multi-graph matching solvers. These multi-graph matching solvers are recommended to solve the joint matching problem of multiple graphs.

Note

Multi-graph matching means jointly matching \(\geq\) 3 graphs. It is different from two-graph matching because multi-graph matching is a more challenging problem and requires different solvers.

What makes multi-graph matching more challenging is the so-called cycle-consistency constraint: a multi-graph matching solution has to be cycle-consistent, meaning that any pairwise matching result should be the same as the result propagated from a third graph. For example, denote \(\mathbf{X}_{i,j}\) as the matching matrix between graph i and graph j, it requires \(\forall i,j,k, \mathbf{X}_{i,j} = \mathbf{X}_{i,k} \mathbf{X}_{k,j}\). Such an extra constraint offers an extra source of information, but makes the problem itself more challenging to solve.

Functions

cao

Composition based Affinity Optimization (CAO) solver for multi-graph matching.

gamgm

Graduated Assignment-based multi-graph matching solver.

mgm_floyd

Multi-Graph Matching based on Floyd shortest path algorithm.