Unsupported versions:2.6 2.5 2.4 2.3
pgr_maxCardinalityMatch¶
pgr_maxCardinalityMatch
— Calculates a maximum cardinality matching in a
graph.

Boost Graph Inside¶
Availability
Version 3.3.3
directed
optional parameter ignored and removed from the documentation as the algorithm works only on undirected graphs
Version 3.0.0
Official function
Version 2.5.0
Renamed from
pgr_maximumCardinalityMatching
Proposed function
Version 2.3.0
New Experimental function
Description¶
The main characteristics are:
Works for undirected graphs.
A matching or independent edge set in a graph is a set of edges without common vertices.
A maximum matching is a matching that contains the largest possible number of edges.
There may be many maximum matchings.
Calculates one possible maximum cardinality matching in a graph.
Running time:
is the inverse of the Ackermann function.
Signatures¶
- Example:
Using all edges.
SELECT * FROM pgr_maxCardinalityMatch(
'SELECT id, source, target, cost AS going, reverse_cost AS coming
FROM edges');
seq | edge | source | target
-----+------+--------+--------
1 | 6 | 1 | 3
2 | 17 | 2 | 4
3 | 1 | 5 | 6
4 | 14 | 8 | 9
5 | 3 | 10 | 15
6 | 9 | 11 | 16
7 | 13 | 12 | 17
8 | 18 | 13 | 14
(8 rows)
Parameters¶
Parameter |
Type |
Description |
---|---|---|
|
Edges SQL as described below. |
Inner Queries¶
Edges SQL¶
SQL query, which should return a set of rows with the following columns:
Column |
Type |
Default |
Description |
---|---|---|---|
|
ANY-INTEGER |
Identifier of the edge. |
|
|
ANY-INTEGER |
Identifier of the first end point vertex of the edge. |
|
|
ANY-INTEGER |
Identifier of the second end point vertex of the edge. |
|
|
ANY-NUMERICAL |
A positive value represents the existence of the edge ( |
|
|
ANY-NUMERICAL |
-1 |
A positive value represents the existence of the edge ( |
Where:
- ANY-INTEGER:
SMALLINT
,INTEGER
,BIGINT
- ANY-NUMERICAL:
SMALLINT
,INTEGER
,BIGINT
,REAL
,FLOAT
Result Columns¶
Column |
Type |
Description |
---|---|---|
|
|
Sequential value starting from 1. |
|
|
Identifier of the edge in the original query. |
|
|
Identifier of the first end point of the edge. |
|
|
Identifier of the second end point of the edge. |
See Also¶
Indices and tables