Maximum weight matching on $G$ is equivalent to maximum weight independent set on line-graph of $G$, and can be written as follows
$$\max_{\mathbf{x}} \prod_{ij \in E} f_{ij}(x_i,x_j)$$
Here $\mathbf{x}\in\{0,1\}^n$ is a vector of vertex occupations, $f_{ij}(x,y)$ returns 0 if x=y=1, 1 if x=y=0, otherwise weight of the node that's not 0. You can generalize by allowing other choices of $\mathbb{x}$ and $f$, for instance
- Largest proper coloring $\mathbf{x}\in \{1,\ldots,q\}^n, f(x,y)=\delta(x-y)$
- Ising model ground-state $\mathbf{x}\in \{1,-1\}^n, f(x,y)=\exp(J x y)$
If you allow arbitrary non-negative $f$, this becomes the problem of finding the most likely setting of variables in a Gibbs random field with $f$ representing edge interaction potentials. Generalizing further to hypergraphs, your objective becomes
$$\max_{\mathbf{x}} \prod_{e \in E} f_{e}(x_e)$$
Here $E$ is a set of hyper-edges (tuples of nodes), and $x_e$ is restriction of $x$ to nodes in hyperedge $e$.
Example:
- Error correcting decoding, $\mathbf{x} \in \{1,\ldots,q\}^n, f(x_e)=\exp{\text{parity} (x_e)}$
- MAP inference in hypergraph structured probability model, $f$ arbitrary non-negative function
Generalizing in another direction, suppose instead of a single maximum matching, you want to find $m$ highest weighted maximum matchings. This is a special instance of finding $k$ most probable explanations in a probabilistic model. The objective can be now written as
$$sort_\mathbf{x} \prod_{e \in E} f_{e}(x_i,x_j)$$
See [Flerova,2010] for meaning of objective above.
More generally, instead of sort,$\prod$ or $\max,\prod$ over reals, we can consider a general $(\cdot,+)$ commutative semiring where $\cdot$ and $+$ are abstract operations obeying associative and distributive law. The objective we get is now
$$\bigoplus_x \bigotimes_e f_e(x)$$
Here, $\bigotimes$ is taken over all edges of some hypergraph $G$ over $n$ nodes, $\bigoplus$ is taken over $n$-tuples of values, each $f_e$ takes $x$'s to $E$ and $(\bigotimes,\bigoplus,E)$ form a commutative semi-ring
Examples:
- Partition function of spin-interaction models: use $(*,+)$ instead of $(\max,+)$
- Fast Fourier Transform over Abelian groups: use abelian groups instead of $\mathbb{R}$
What's bringing all of these generalizations together is that the best known algorithm for specific instances of the problem above is often the same as the most general algorithm, sometimes called "Generalized distributive law" [Aji, 2000], which works in $O(1)$ time for bounded tree-width hypergraphs.
This puts exact solution of the problems above in a unified framework, however such framework for approximate solution is lacking (and I want to hear about it if you think otherwise)