# 最大カット問題
最大カット問題（さいだいカットもんだい、英: maximum cut problem）とは、グラフ理論における問題の一種である。あるグラフにおけるカットの中で最大のものを求める問題である。すなわち、グラフの頂点を二つの補集合 S、T に分割するとき、S、T を結ぶ辺の数が最大となるような分割を求める問題である。
また、最大カット問題は次のように述べることができる。今、頂点集合の部分集合 S を求めるとする。このとき、S とその補集合の間にある辺の本数ができるだけ多くなることを考える。あるいは、元のグラフからできるだけ多くの辺を含む二部グラフを得る問題である。
この問題には重み付き最大カット問題（weighted max-cut）と呼ばれる最大カット問題をより一般化した問題が存在している。この場合、各辺に実数の重みが割り当てられており、目的としては部分集合 S とその補集合の間の辺の数ではなく、それらの辺の重みの総和を最大化する分割を求めることとなる。辺の重みについて負の場合も許容される場合は重み付き最大カット問題はすべての重みの符号を反転することにより、自明に重み付き最小カット問題へと変換することができる。

## 下界
エドワードは n 個の頂点および m 個の辺を有するグラフ G において最大カットに関する以下の下界を示した:
- 任意のグラフの場合: {\displaystyle \displaystyle \left\lceil {\frac {m}{2}}+{\sqrt {{\frac {m}{8}}+{\frac {1}{64}}}}-{\frac {1}{8}}\right\rceil .}
- 連結グラフの場合: {\displaystyle \displaystyle {\frac {m}{2}}+{\frac {n-1}{4}}.}

連結グラフで与えられた下界はそれ以前にエルデシュにより予想されていたため、エドワード・エルデシュ下界（Edwards–Erdős bound）と呼ばれている。エドワードはエドワード・エルデシュ下界を確率的手法によって示し、またクロウストンらは線形代数および疑似ブール関数の解析によりこの下界を示している。
エドワード・エルデシュ下界はグラフの各辺に "+"、あるいは "-" の符号が付された符号付きグラフ G = (V, E, s) に対する平衡部分問題（Balanced Subgraph Problem; BSP）に拡張することができる。ここで平衡（Balanced）とは、頂点 V を部分集合 U、W に分割するとき、辺 xy が s(xy) = + かつ頂点 x、y が同じ部分集合に含まれる、あるいは s(xy) = – かつ頂点 x、y がそれぞれ異なる部分集合に含まれる状態を指す。グラフ G に対する平衡部分問題は平衡を満たす辺の数 b(G) を最大にするような分割を求める問題である。エドワード・エルデシュ下界は任意の連結符号付グラフ G に対する b(G) の下界を与える。またエドワードによって一般のグラフに対する下界については大きさ三のクリークを持たないグラフ、最大次数が所与のグラフ、H-フリーグラフなど、特別のグラフに対して改良されてきた。
また、重み付き最大カットに対する下界はポリャクおよびツルジークによりエドワード・エルデシュ下界の拡張によって与えられた:
{\displaystyle {\frac {w(G)}{2}}+{\frac {w(T_{min})}{4}},}
ただし、w(G) はグラフ G の重み和であり、w(Tmin) は G の最小全域木 Tmin の重み和を表す。グーティンおよびイョオにより一般の重み付きグラフあるいは特殊なクラスにおける重み付きグラフに対して重み付き最大カットのポリャク・ツルジーク下界を上回る下界を示している。

## 計算複雑性
理論計算機科学において以下の決定問題としての最大カットは広く研究されてきた:
この問題はNP完全である。この問題がNPであることは、十分に大きなカットを提示し、それが最大カットであるかを判定することで示すことができる。例として、最大カット問題はMAX2-SATに還元することで示すことができる。重み付き最大カット問題に関してはカープは最大カット問題を集合分割問題に還元することでNP完全であることを示した（カープによる21のNP完全問題を参照）。
上記の問題の標準的な最適化問題は最大カット問題として知られ、以下のように定義される:
最適化問題としての最大カット問題はNP困難である。一方、グラフの最小カットを求める問題はフォード・ファルカーソン法を用いることで効率よく解くことができる。

## アルゴリズム

### 多項式時間
最大カット問題はNP困難であるため、現時点では最大カット問題を多項式時間で解くアルゴリズムは発見されていない。
しかしながら、平面グラフに対する最大カット問題は平面グラフ G の最大カットに含まれない辺が、G の双対グラフにおいて最適な閉路の中で重複して通過される辺の双対辺に対応するため、中国人郵便配達問題（グラフの辺を少なくとも一回ずつ辿る最短の閉路を求める問題）と双対の関係にある。

### 近似アルゴリズム
最大カット問題はAPX困難であることが知られているため、P=NP でない限り最適解に十分に近しい解を求めるような多項式時間近似スキーム（PTAS）が存在しないとされている。このことから、現在知られているすべての多項式時間アルゴリズムについて1より小さな近似比しか示さない。
最大カット問題は次の単純な乱択アルゴリズムによる0.5-近似アルゴリズムが知られている: 各頂点ごとにコインを投げて、どちらか一方の分割に割り当てる。このとき、各辺がカットに含まれるかは辺のそれぞれの頂点がそれぞれ異なる分割に含まれるかによって決定されるため、このときカットの期待値は辺の半数となる。この乱択アルゴリズムは条件付確率的手法によって脱乱択となる。このことから、この単純なアルゴリズムは0.5-近似多項式時間アルゴリズムとなる。このようなアルゴリズムの一つの例としてはある与えられたグラフ {\displaystyle G=(V,E)} において任意の分割から始め、各反復において一つの頂点をもう片方の分割に割り当てることを行う。これをカットの値が改善されなくなるまで、繰り返す。この方法の反復回数は各反復においてそれ以前のカットより一つの辺がカットとして選ばれるため、高々 {\displaystyle |E|} 回行えばよい。反復を終えた時点ではすべての頂点に対して接続している辺の少なくとも半分がカットに含まれている。もしそうでなければ、その頂点を他の分割へ割り当てることで現在のカットを改善できるためである。このことから、カットには少なくとも {\displaystyle |E|/2} 本の辺が含まれている。
最大カット問題の多項式近似アルゴリズムとして最も近似度の高いものはゴーマン・ウィリアムソンによる半正定値計画問題および乱択丸め法による {\displaystyle \alpha \approx 0.878}-近似アルゴリズムである。ただし、αは:
{\displaystyle \displaystyle \alpha ={\frac {2}{\pi }}\min _{0\leq \theta \leq \pi }{\frac {\theta }{1-\cos \theta }}.}
ユニークゲーム予想が真である仮定すれば、この方法が最良の近似アルゴリズムとなることが知られている。このような仮定が成り立たないとする場合では、近似比 {\displaystyle {\tfrac {16}{17}}\approx 0.941} となる最大カットを求めることはNP困難であることが知られている。
ダニングらは最大カット問題に対する十種類のアルゴリズムに関する比較を行っている。

## 応用

### 機械学習
頂点を特徴量、辺を特徴量間の距離とみなすことで、最大カット問題に対するアルゴリズムはそれらの特徴量を二つのクラスに分類することができる。言い換えれば、自然に二値分類される。最大カットアルゴリズムは他のアルゴリズムと比較すると、特徴量空間を定義する必要がなく、特徴量間の距離のみを与えることでアルゴリズムにより分割を実行することができる。

### 理論物理学
統計力学・無秩序系において最大カット問題はスピングラス模型あるいはより単純化したイジング模型におけるハミルトニアンの最小化に等しい。グラフ G でのイジング模型および最隣接相互作用に対してハミルトニアンは {\displaystyle H[s]=-\sum _{ij\in E(G)}J_{ij}s_{i}s_{j}} と表される。
ここでグラフの各頂点 i にはスピン値 {\displaystyle s_{i}=\pm 1} をもつスピンサイトとする。スピン配置は {\displaystyle V(G)} に対してスピンが上向きのものを {\displaystyle V^{+}}、下向きのものを {\displaystyle V^{-}} の二負の部分集合に分割する。ここで二つの集合を結ぶ辺集合を {\displaystyle \delta (V^{+})} とすると、ハミルトニアンは以下のように表される:
{\displaystyle {\begin{aligned}H[s]&=-\sum _{ij\in E(V^{+})}J_{ij}-\sum _{ij\in E(V^{-})}J_{ij}+\sum _{ij\in \delta (V^{+})}J_{ij}\\&=-\sum _{ij\in E(G)}J_{ij}+2\sum _{ij\in \delta (V^{+})}J_{ij}\\&=C+2\sum _{ij\in \delta (V^{+})}J_{ij}.\end{aligned}}}
上記のエネルギー最小化問題は最小カット問題と同等であり、{\displaystyle w_{ij}=-J_{ij},} とすることで最大カット問題に帰着することができる。

### 回路設計
最大カット問題は超大規模集積回路の設計において応用されている。