収縮によってグラフ内のアークの数が最小になるマッチングを見つける


10

混合グラフ所与縁部を有する及びアーク、でマッチングを見つけるにおけるアークの数最小限に、から得られる一致頂点を収縮及び除去することによっての平行な弧。G=VEEEG/MG/MG

この問題の(決定バージョン)はNP完全ですか?それは文献で研究されましたか?


2
アークがあるかどうかは重要ですか?
Suresh Venkat

@シュレッシュ:実際にはそうではなく、は無向で可能性があります。重要なのは、1つのエッジのセットがどの頂点を照合できるかを定義し、マッチングにより、他のエッジの集合での収縮後のエッジの数が最小になるということです。
Marcus Ritt、2011

2
ああ大丈夫。これは本当に質問はわずか2セットEおよびA.なし無向グラフGを、持っているように単純化することができ
スレシュヴェンカト

よく分かりません。エッジが無向の場合、各エッジを2つの有向エッジで置き換えることにより、問題を有向ケースに減らすことができます。ただし、有向の場合、同じ頂点間の2つのアークは平行である必要がないため、収縮後のアークの数は方向に依存します。したがって、単純にアークの方向を無視すると、最適なマッチングが異なる場合があります。
Marcus Ritt、2011

回答:


8

あなたの意図がEの無向エッジとAの円弧を平行にするかどうかはわかりませんが、結局それは問題ではありません。この回答では、エッジとアークを平行にしないことを前提としています。

Aの各円弧について、Aにも反対方向の円弧が含まれている特別な場合を考えます。この場合、円弧の方向を無視して無向であると見なすことができます。E エッジ黒のエッジ、A エッジを赤のエッジと呼びます。

これら2つの制限の下でも、問題はMax-2SATからの削減によりNP完全です。ましょうφで2CNF式であるn個の変数M個の句。グラフ構築Gを 3とn個の頂点は、V 1... V Nxは1... X nはˉ X 1... ˉ X nは次の通りです。 Gは2バツ1バツv1vバツ1バツバツ¯1バツ¯N黒エッジ:及びV Iˉ X Iのために、私は = 1、...、NG5 nvバツvバツ¯赤いエッジ。まず、赤いエッジでijのvivjを接続します。すべての異なる変数の次には、xは、I及びXjは、リテラルの4対の検討LL'=XIXのJXI ˉ X J ˉ X IXのjは52メートルvvjバツバツj。Connectはリテラル L及び Lを赤色エッジ場合にのみ句でˉ Lˉ L 'に表示されませんφll=バツバツjバツバツ¯jバツ¯バツjバツ¯バツ¯jlll¯l¯

収縮後の赤いエッジの数を最小限に抑えるために、黒いエッジでの最大マッチングのみを考慮する必要があることは明らかです。それはまた、すべての最大のマッチングが明らかであるM黒の縁には、から成るn個接続するエッジL 、I{ X Iˉ X I }のために、私は ...、1 =、N。真理値の割り当て{ l 1l n }を使用してこの最大一致Mを特定します。Mと契約した後の確認は簡単ですvl{バツバツ¯}{l1l}平行エッジを削除すると、グラフは正確にエッジ、赤、kはこの真理割り当てによって満たさ節の数です。したがって、黒いエッジでマッチングを縮小した後に赤いエッジの数を最小化することは、満足する句の数を最大化することと同じです。42k


l¯l¯

@マーカス:どういたしまして、タイプミスを指摘していただきありがとうございます。
伊藤剛
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.