回答:
重みが多項式でグラフのサイズに制限されている場合、問題はランダム化された多項式時間で解決できると思います。Mulmuley、Vazirani、およびVaziraniによる代数マッチングアルゴリズムに基づくアプローチを使用できます。これは、過去の同様のアプリケーションに役立ちました。たとえば、ダニエルマルクスのペーパーhttps://doi.org/10.1016/j.ipl.2003.09.016の提案9と前述の説明を参照してください。
ランダム化多項式時間で、あなたは、その重量で完全一致が存在するか否かを判断することができる正確にグラフのサイズが多項式有界重み付き整数重み付きグラフで、所定値は。ここで、グラフに個の頂点があり、最大の重みがます。グラフの赤いエッジに次のように再重み付けします。元の重みがxの場合、新しい重みはます。(また、すべての重みが負でないと仮定します。これは、それらすべてに同じ定数値を追加することで簡単に実行できます。)次に、以下を観察します。合計重みが区間は、0の赤いエッジと完全に一致します。その総重量が間隔内にある場合W (n W + 1 )+ x [ 0 。。。n W ] [ 2 (n W + 1 )。。。2 (n W + 1 )+ n W ]場合、正確に2つの赤いエッジを持つ完全なマッチングです。一般に、重みの範囲から、赤いエッジの数を推測できます。
したがって、偶数の赤いエッジを持つ最小ウェイトマッチングを見つけるには、偶数の赤いエッジを持つマッチングに対応するすべてのウェイト範囲を調べ、その範囲内の各ウェイトについて完全なマッチングがあるかどうかをテストするだけで十分です。その重みと、それに含まれる赤いエッジの数に基づいて再重み付けされた各マッチングの重みをスケーリングし、これらのどれが元のグラフの最小重みの偶赤の完全マッチングに対応するかを把握します。標準の自己還元手法では、値だけでなくマッチング自体を抽出することもできますが、自己還元を行う場合、全体的な良好な成功確率を得るために複数の試行を行って成功確率を高める必要がある場合があります。
問題は、多項式の時間解法です。
Vivek Madanと話し合った後、2部平面グラフの完全一致における定理5.1の証明が、重み付けされたコンテキストでもULで機能することを示します(その結果は、実行可能な解決策があるかどうかを判断することです)。
ましょしても、エッジの集合とします。してみましょう最小重量完璧にマッチすること。もしでさえあれば、完了です。それ以外の場合は、ような交互サイクルとしますこれは奇数であり、M △ Cの重みを最小にするようなこの特性を持つ交互サイクルです。
クレーム:は、赤いエッジでも完全に一致する最小の重量です。
問題は、奇数の赤いエッジを含む交互のサイクルを見つけることに帰着します。
二部グラフの場合、負のサイクルのない有向グラフで最小重みの奇数サイクルを見つけることになるため、問題は簡単です。これは、多項式の時間でさまざまな説明によって解決できるようです(ただし、具体的な引用は見つかりません)。Floyd-Warshallのようなアルゴリズムで十分です。
一般的なグラフでも同様のアプローチが機能しますが、削減はもう少し複雑です。 一般的なグラフでそれを行う方法は実際にはわかりません。
二部グラフのケースは、実際にはより一般的な定理に基づいていることに注意してください。ここでは、Artmann、Weismantel、Zenklusen 17からの次の問題を直接引用しています。
パリティTU最適化
完全ユニモジュラ行列の所与のと、および。解く
パリティTU最適化は多項式時間で解くことができ、問題の2部構成の場合はそれに還元されます。(は、すべてのを要求することで簡単に満たされることに注意してください)。
色の数が一定である場合についてはわかりません。