TSPのHeld-Karpアルゴリズムの時間の複雑さ
Michael HeldとRichard M. Karpによる「シーケンス問題への動的プログラミングアプローチ」を調べたところ、TSPのアルゴリズムの複雑さが(∑n−1k=2k(k−1)(n−1k))+(n−1)(∑k=2n−1k(k−1)(n−1k))+(n−1)(\sum_{k=2}^{n-1}k(k-1)\binom{n-1}{k})+(n-1)(p。199)、それらは係数kkkどこで取るのですか?私が正しく理解していれば、k−1k−1k-1は都市の各サブセットの追加数を意味します。それでは、各加算演算が未知のkkk演算と結合されるのはなぜですか?どういうわけか最小値を取ることに関係していると思いますが、最小値を計算することはそれほど多くの操作を必要としないようです。 次のように保持し、カープと独立ベルマン実行によって動的プログラミングアルゴリズム:各ペアのための(S,ci)(S,ci)(S,c_i)を経由する経路を意味し、c1c1c_1、すべての要素SSSとで終端cicic_i計算 OPT[S,ci]=min{OPT[S∖{ci},cj]+d(cj,ci):cj∈S∖{ci}},OPT[S,ci]=min{OPT[S∖{ci},cj]+d(cj,ci):cj∈S∖{ci}},OPT[S,c_i]=min\{OPT[S\setminus\{c_i\},c_j]+d(c_j,c_i):c_j\in S\setminus\{c_i\}\}, ここで、d(cj,ci)d(cj,ci)d(c_j,c_i)は、都市cjcjc_jとc_iの間の距離を意味しcicic_iます。次に、紙の公式では、kkkはSのサイズを意味しますSSS。