最小帰還辺集合問題

最小帰還辺集合問題

このページでは最小帰還辺集合問題と呼ばれるNP完全・NP困難な問題をイジングモデルで表現する方法について述べます。

問題の定式化 #

有向グラフ G=(V,E)G = (V, E) が与えられます。 このとき部分グラフ (V,EF)(V,E-F) が無閉路であるような FEF \subset E のうち F|F| が最小のものを求めます。 これはNP困難な問題として知られています。

問題の具体例 #

以下のような8個の頂点と11本の有向辺から構成されるグラフを考えます。 このとき、この問題の答えは図の右側の赤い辺の集合で、最小の要素数2を達成します。 実際に、任意の水色の頂点からスタートし元の頂点に戻るような全ての経路について、赤い辺を少なくとも1回通ることが確認できます。このような辺の集合の要素数を最小化する問題です。 問題の具体例

イジングモデルへの変形 #

部分グラフ (V,EF)(V,E-F) が無閉路であることは、 辺 uvEFuv \in E-F に対して h(u)<h(v)h(u)<h(v) であるよう各頂点 vVv \in V の高さを決められることと必要十分です。 この考えに則ってエネルギー関数を構成します。

各頂点 vv に対して、 高さが ii であるときに1をとり、そうでないとき0をとるバイナリ変数 xv,ix_{v,i} を定義します。 次に、各辺 uvEuv \in E に対して、 uvFuv \in F のとき0をとり、そうでないとき1をとるバイナリ変数 yuvy_{uv} を定義します。 また、 yuv=1y_{uv}=1 かつ頂点 uu の高さが ii のとき1をとり、そうでないとき0をとるバイナリ変数 xuv,ix_{uv,i} を定義します。

A,Bを正の定数とします。 このとき、エネルギー関数は以下のようになります。 H=HA+HB H = H_A + H_B HA=AvV(1ixv,i)2+AuvE(yuvixuv,i)2+Auvixuv,i(2xu,ij>ixv,j) H_A = A \sum_{v \in V} \left( 1 - \sum_{i} x_{v,i} \right)^2 + A \sum_{uv \in E} \left( y_{uv} - \sum_{i} x_{uv,i} \right)^2 + A \sum_{uv} \sum_{i} x_{uv,i} \left( 2 - x_{u,i} - \sum_{j>i} x_{v,j} \right) HB=BuvE(1yuv) H_B = B \sum_{uv \in E} (1 - y_{uv})

エネルギー関数の最小化により問題が解けるのは何故か #

それぞれのエネルギー関数の各項はどのような制約を課しているでしょうか?

まず HAH_A の第1項は、 各頂点 vv についてただ一つの高さ ii が存在するという制約を課しています。

また、 HAH_A の第2項は、 各辺 uvuv に対して、 uvEFuv \in E-F ならばただ一つの高さ ii を持ち、そうでないときは高さを持たないという制約を課しています。

最後に、 HAH_A の第3項は、 各辺 uvuv が高さ ii を持つとき、頂点 uu の高さが ii かつ頂点 vv の高さ jj j>ij>i であるという制約を課しています。

以上の制約により、部分グラフ (V,EF)(V,E-F) に対して各頂点 vVv \in V の高さを決めることができます。 よって、エネルギー関数の最小化により (V,EF)(V,E-F) が無閉路であるような FF を得ることが出来ます。

HBH_B は帰還辺集合の大きさを最小化するためのものです。 uvFuv \in F なる辺が少ないほどエネルギー関数が小さくなります。 このとき、帰還辺集合の大きさの最小化よりも制約の遵守を優先するので B<AB<A である必要があります。

参考文献 #

A. Lucas, “Ising formulations of many NP problems” (open access)

Calendar 2019-09-04