新概念コン2018 論文まとめ
北大・日立新概念コンピューティングコンテスト2018の参考文献を読んだのでコンテストに関係ありそうなところを雑にまとめました。
Reduction by substitution
を に置換することで次元を下げることを考えます。 この時、元の数式をに依存する部分と依存しない部分に分けると、
と書けます。 について最小化した時に が満たされるように、ペナルティ項のついた形に書き換えて
となるような定数 と高々2次の多項式 を探します。これは がとても大きく、 が の時だけ0でそれ以外は正となれば良いです。具体的には が の絶対値の最大値より大きく、
とすれば良いです。
Reducing negative-coefficient terms
係数が負の項については以下の式で次元を下げることができます。
左辺が0の時は の中が0以上となるので、 は0となり両辺が一致します。左辺が-1の時は の中が-1となるので、 は1となり両辺が一致します。
Higher-order clique reduction
の次元を良い感じに下げることを考えます。 元の式が対称式なので、変形後も についての対称式になっているものを考えます。 変形後は高々2次なので と だけ考慮すれば良いです。 頑張って探すと、
であることが分かります。同様にして4次の場合は、
となります。5次の場合はこのままではできませんが、追加する変数を増やすことにより
とできます。一般化すると、 として、次数が偶数の時は
であり、次数が奇数の時は
とできます。
Splitting of common parts
ここまでは項を一つずつ潰していましたが、ここではある変数を含む項について一気に次数を下げることを考えます。 を含む項のうち、係数が正のものを全部持ってきて
とすると、 の中の第3項だけ次数が下がってないんですが、これは係数が負になるので前に紹介した方法で解決します。 この式は Alexander Fix et al. (2011) のFigure 2を見るとイメージが分かって、 のとる値で場合分けしていて、 には が対応して、 には が対応します。
さいごに
ここで書いたアルゴリズムを実装しても全然順位上がらないんですけど、上位陣はいったい何をやってるんですか…?