GraphUtilities`
GraphUtilities`

# MaximalBipartiteMatching

As of Version 10, all the functionality of the GraphUtilities package is built into the Wolfram System. >>

MaximalBipartiteMatching[g]

gives the maximal matching of the bipartite graph g.

# Details

• MaximalBipartiteMatching functionality is now available in the built-in Wolfram Language function FindIndependentEdgeSet.
• To use MaximalBipartiteMatching, you first need to load the Graph Utilities Package using Needs["GraphUtilities`"].
• MaximalBipartiteMatching gives a maximal set of nonadjacent edges between the two vertex sets of the bipartite graph.
• The bipartite graph represented by an m×n matrix consists of the row and column vertex sets R={1,2,,m} and C={1,2,,n}, with a vertex iR and jC connected if the matrix element gij0.
• The bipartite graph represented by a rule list {i1->j1,i2->j2,} consists of vertex sets R=Union[{i1,i2,}] and C=Union[{j1,j2,}], with a vertex iR and jC connected if the rule i->j is included in the rule list.
• MaximalBipartiteMatching returns a list of index pairs {{i1,j1},,{ik,jk}}, where the number of pairs k is not larger than either vertex set.

# Examples

open all close all

## Basic Examples(2)

 In:= A bipartite graph describing acceptable drinks for four people:

 In:= The drink each person should have, if no two people are to have the same drink:

 In:= Out= MaximalBipartiteMatching has been superseded by FindIndependentEdgeSet:

 In:= In:= Out= In:= Out= 