グラフ理論の数学分野では、無向グラフにおけるマッチングまたは独立エッジセットとは、共通の頂点を持たないエッジの集合のことである。[ 1 ]言い換えれば、エッジのサブセットは、各頂点がそのマッチングのエッジに最大で 1 つだけ出現する場合、マッチングである。
二部グラフにおける最大マッチングの探索は、ネットワークフロー問題として扱うことができる。一般グラフにおける最大マッチングの探索ははるかに難しく、エドモンズのブロッサムアルゴリズムを用いて行うことができる。
グラフG = ( V , E )が与えられたとき、GにおけるマッチングMは、互いに隣接しないエッジの集合であり、それらのエッジはループではない。つまり、2 つのエッジが共通の頂点を共有しない。
マッチングすべての頂点がエッジでインシデントが発生し、[ 2 ]

頂点がマッチングされた(または飽和した)とは、マッチングされた辺のいずれかの端点である場合を指します。そうでない場合、その頂点はマッチングされていない(または飽和していない)とみなされます。
最大マッチングとは、グラフGのマッチングMであって、他のどのマッチングの部分集合でもないもののことです。グラフGのマッチングMは、 Gのすべての辺がMの少なくとも1つの辺と空でない共通部分を持つ場合に最大マッチングとなります。次の図は、3つのグラフにおける最大マッチングの例(赤色)を示しています。
最大マッチング(最大カーディナリティマッチング[ 3 ]とも呼ばれる)とは、可能な限り最大の数のエッジを含むマッチングのことである。最大マッチングは複数存在する可能性がある。マッチング数はグラフGの要素のうち、最大マッチングのサイズは、最大マッチングのサイズです。すべての最大マッチングは最大マッチングですが、すべての最大マッチングが最大マッチングであるとは限りません。次の図は、同じ3つのグラフにおける最大マッチングの例を示しています。
完全マッチングとは、グラフのすべての頂点に一致するマッチングのことです。つまり、グラフのすべての頂点がマッチングのエッジに接続している場合、マッチングは完全です。マッチングは、完全マッチングはすべて最大であり、したがって最大である。文献によっては、完全マッチングという用語が用いられる。上の図では、部分(b)のみが完全マッチングを示している。完全マッチングは最小サイズのエッジカバーでもある。したがって、最大マッチングのサイズは最小エッジカバーのサイズよりも大きくはない。グラフは、頂点の数が偶数の場合に限り、完全マッチングを含むことができます。
ほぼ完全なマッチングとは、ちょうど1つの頂点がマッチングされていないマッチングのことです。明らかに、グラフがほぼ完全なマッチングを含むことができるのは、グラフの頂点数が奇数の場合のみであり、ほぼ完全なマッチングは最大マッチングです。上の図の(c)は、ほぼ完全なマッチングを示しています。すべての頂点が何らかのほぼ完全なマッチングによってマッチングされていない場合、そのグラフは因子臨界グラフと呼ばれます。
誘導マッチングとは、誘導部分グラフのエッジ集合であるマッチングのことである。[ 4 ]
マッチングMが与えられたとき、交代パスとは、マッチングされていない頂点[ 5 ]から始まり、その辺がマッチングに属するものと属さないものが交互に現れるパスのことである。増加パスとは、自由 (マッチングされていない) 頂点から始まり、自由 (マッチングされていない) 頂点で終わる交代パスのことである。ベルジュの補題によれば、マッチングMが最大であるのは、 に関して増加パスが存在しない場合のみである。ベルジュの補題を用いると、任意のマッチングから始めることができる。そして、これ以上増加パスが見つからなくなるまで、増加パスを繰り返し適用します。これにより、大きなマッチングを見つけるという問題が、増加パスを見つけるという問題に縮小されます。[ 2 ]
孤立した頂点のないグラフでは、マッチング数とエッジ被覆数の合計は頂点の数に等しくなります。[ 6 ]完全マッチングがある場合、マッチング数とエッジ被覆数は両方とも| V | / 2になります。
ケーニッヒの定理は、二部グラフにおいて、最大マッチングのサイズは最小頂点被覆のサイズと等しいことを述べている。この定理により、二部グラフにおける最小頂点被覆、最大独立集合、および最大頂点二部グラフの問題を多項式時間で解くことができる。
ホールの結婚定理は完全マッチングを持つ二部グラフの特徴付けを提供し、タットの完全マッチングに関する定理は任意のグラフの特徴付けを提供する。
グラフのマッチング数のスペクトル特性は、Hassani MonfaredとMallikによって次のように与えられています。グラフになる頂点、そしてなれ異なる非ゼロの純虚数.次に一致する数は(a)実数の歪対称行列が存在する場合に限るグラフ付きおよび 固有値そしてゼロ、および (b) グラフがゼロであるすべての実数歪対称行列最大で非ゼロ固有値。[ 7 ]実対称行列または歪対称行列の(単純な)グラフは、順序もっている非ゼロの非対角要素によって与えられる頂点と辺。
AとBが2つの極大マッチングである場合、 | A | ≤ 2| B |および| B | ≤ 2| A |が成り立つ。これを確認するには、Aはマッチングであるため、 B \ Aの各辺は A \ B の2つの辺に最大で隣接できることに注目する。さらに、Bの極大性により、 A \ Bの各辺はB \ Aの辺に隣接しているため、
さらに我々は次のように推論する。
特に、これは任意の最大マッチングが最大マッチングの2近似であり、かつ最小最大マッチングの2近似でもあることを示しています。この不等式は厳密です。例えば、Gが3つの辺と4つの頂点を持つパスである場合、最小最大マッチングのサイズは1であり、最大マッチングのサイズは2です。
グラフにおけるkエッジマッチングの数の生成関数をマッチング多項式と呼びます。Gをグラフとし、m kをkエッジマッチングの数とします。G の 1 つのマッチング多項式は次のようになります。
別の定義では、対応する多項式は次のように表される。
ここで、nはグラフの頂点の数です。各タイプにはそれぞれ用途があります。詳細については、マッチング多項式に関する記事を参照してください。
組み合わせ最適化における基本的な問題の一つは、最大マッチングを見つけることである。この問題には、グラフの種類に応じて様々なアルゴリズムが存在する。
重み付けされていない二部グラフでは、最適化問題は最大カーディナリティのマッチングを見つけることです。この問題は、ホップクロフト・カープアルゴリズムによってO(√VE)の時間で解決されますが、メイン記事で説明されているように、より効率的なランダム化アルゴリズム、近似アルゴリズム、および二部平面グラフなどの特殊なグラフクラス向けのアルゴリズムも存在します。
重み付き 二部グラフでは、最適化問題は最大重みマッチングを見つけることであり、双対問題は最小重みマッチングを見つけることです。この問題は、最大重み付き二部マッチング、または割り当て問題と呼ばれることがよくあります。ハンガリーアルゴリズムは割り当て問題を解決し、組み合わせ最適化アルゴリズムの初期のものの1つです。これは、増加パスアルゴリズムで修正された最短経路探索を使用します。このステップでベルマン・フォードアルゴリズムを使用すると、ハンガリーアルゴリズムの実行時間はまたは、エッジコストをシフトして達成できる可能性がありますダイクストラ法とフィボナッチヒープを用いた実行時間。[ 8 ]
非二部グラフの重み付きグラフでは、最大重みマッチングの問題は時間で解くことができる。 エドモンズの開花アルゴリズムを使用する。
最大マッチングは単純な貪欲アルゴリズムで見つけることができます。最大マッチングは最大マッチングでもあるため、多項式時間で最大の最大マッチングを見つけることが可能です。また、高速行列乗算アルゴリズムを使用して最大マッチングを見つけることも可能で、その時間はのために[ 9 ] 。しかし、最小最大マッチング限り最小数のエッジを含む最大マッチングを見つけるための多項式時間アルゴリズムは知られていない
k個のエッジを持つ最大マッチングは、 k個のエッジを持つエッジ支配集合です。逆に、 k個のエッジを持つ最小エッジ支配集合が与えられた場合、多項式時間でk個のエッジを持つ最大マッチングを構築できます。したがって、最小最大マッチングを見つける問題は、本質的に最小エッジ支配集合を見つける問題と同じです。[ 10 ]これらの 2 つの最適化問題はどちらもNP 困難であることが知られています。これらの問題の決定バージョンは、NP 完全問題の古典的な例です。[ 11 ]どちらの問題も、多項式時間で係数 2 以内で近似できます。任意の最大マッチングMを見つけるだけです。[ 12 ]
グラフ内のマッチングの数は、グラフのホソヤ指数として知られています。この量を計算することは、二部グラフであっても#P 完全です。 [ 13 ]完全マッチングの数を数えることも、二部グラフであっても#P 完全です。これは、任意の 0-1 行列のパーマネントを計算すること(別の #P 完全問題) が、与えられた行列を二部隣接行列として持つ二部グラフ内の完全マッチングの数を計算することと同じであるためです。ただし、二部マッチングの数を数えるための完全多項式時間ランダム化近似スキームが存在します。[ 14 ]カステレインの注目すべき定理は、平面グラフ内の完全マッチングの数は、 FKT アルゴリズムによって正確に多項式時間で計算できると述べています。
完全グラフK n (n は偶数)における完全マッチングの数は、二重階乗( n − 1)!! で与えられる。[ 15 ]マッチングを完全であるという制約なしに、完全グラフにおけるマッチングの数は、電話番号で与えられる。[ 16 ]
マッチング理論における基本的な問題の一つは、与えられたグラフにおいて、グラフ内で最大マッチングに拡張可能なすべてのエッジ(このようなエッジは最大マッチング可能なエッジ、または許容エッジと呼ばれる)を見つけることである。この問題に対するアルゴリズムには以下のようなものがある。
オンラインマッチングアルゴリズムの開発という問題は、1990年にリチャード・M・カープ、ウメシュ・ヴァジラニ、ヴィジャイ・ヴァジラニによって初めて検討された。[ 20 ]
オンライン環境では、二部グラフの一方の側のノード(「クライアント」)は一度に 1 つずつ到着し、グラフのもう一方の側(「サーバー」)にすぐにマッチングされるか、破棄される必要があります。これは秘書問題の自然な一般化であり、オンライン広告オークションに応用できます。単純な貪欲アルゴリズムは 1/2 の競争率です。ランダム到着モデルによる重み付けなしの最大化の場合、Karp、Vazirani、および Vazirani は、競争率0.632を達成するランダム化アルゴリズムを提供しました。この上限は後に0.696に改善されました。[ 21 ] この問題は、クライアントがマッチングを改善するためにサーバーを切り替えることができるモデルでも研究されており、目標は最大のマッチングを達成しながら切り替えの数を節約することです。[ 22 ]
各ノードは、マッチングにおいて最大で 1 つのエッジに接続しています。エッジは独立していると言われます。
{{citation}}: CS1 maint: 複数の名前: 著者リスト (リンク)