タグ

アルゴリズムと数学に関するmohnoのブックマーク (3)

  • 数学の難問「巡回セールスマン問題」の近似解を求める最良のアルゴリズムが数十年ぶりに更新される

    巡回セールスマン問題とは、「複数の都市を移動するセールスマンが全都市をちょうど一度ずつ巡り、総移動コストが最小の経路を求める」という数学の難問です。長年にわたり「クリストフィードのアルゴリズム」が巡回セールスマン問題の近似度が最も高いアルゴリズムとされてきましたが、新たに「クリストフィードのアルゴリズムを上回る近似度のアルゴリズムがあると証明された」という論文を、コンピューターサイエンスの研究者が発表しています。 [2007.01409] A (Slightly) Improved Approximation Algorithm for Metric TSP https://arxiv.org/abs/2007.01409 Computer Scientists Break Traveling Salesperson Record | Quanta Magazine https://www

    数学の難問「巡回セールスマン問題」の近似解を求める最良のアルゴリズムが数十年ぶりに更新される
    mohno
    mohno 2020/10/12
    「新たなアルゴリズムがクリストフィードのアルゴリズムを上回っているのは、ほんの「0.2 billionth of a trillionth of a trillionth of a percent(0.0000000000000000000000000000000002%)」というわずかな数値だと判明」←工数は?
  • 5次魔方陣を一般的なコンピュータで10分で実行したという記事に対しての考察 : mswinvksの忘備録

    [急いで打ったので文がぐちゃぐちゃですし強調等もないです。すみません。] [定期的に記事の一番下にこっそりと僕のコメントを追加しています。一応ご確認ください] このような記事を発見しました。 スパコンで約2時間36分かかったという、5×5の魔方陣の全解列挙を、パソコンで試す(C++) 魔方陣の総数を求める、ということを、僕はスーパーコンピュータT2K-Tsukubaで約2時間30分で計算しましたが、この記事では一般的なコンピュータで10分で計算した、というものです。挑発的ですね。 僕のプログラムを1コア上で実行すると約200時間かかりました。(2012年ごろのAMD Opteron) (TODO:スパコンでの実行時間から1コア上での実行時間を割り出すと、200時間からかけ離れてるけどなんでだろう?) そして、この記事での実行環境は12コアなので、1コア換算すると実行時間は10分*12コア=

    5次魔方陣を一般的なコンピュータで10分で実行したという記事に対しての考察 : mswinvksの忘備録
    mohno
    mohno 2014/03/16
    アルゴリズムとビット演算の差なのかな。クイックソートも数がまとまらないとバブルソートより遅いし。
  • スパコンで約2時間36分かかったという、5×5の魔方陣の全解列挙を、パソコンで試す(C ) | 配電盤

    魔方陣の解の列挙は並列化しやすそうな問題ですが、ここでの方針では、探索効率を上げるためには条件分岐が不可欠なので、(「数」を求めるだけだとしても)GPGPUでうまくやる方法がわかりません。そこで、CPUに載っているコアのみで並列化します(Xeon Phiなら簡単なのでしょうか→追記参照)。 一番外側の、0から(1<<25)-1まで変化する変数iのループをOpenMPで並列化します(schedule(guided)では遅くなります。schedule(auto)はVisual C++でサポートされたら試します)。変数iは上の図の緑の部分(カンで5個にしました)を各数5ビットで表現し、つなげたものです。マスに入りうる数は1から25までなので、5ビットというのはちょっと冗長ですが、とりあえずはよしとしましょう。 出力はバイナリ形式で、1つの解に25バイト使います(1つのマスに入る数を1バイトで表現

    スパコンで約2時間36分かかったという、5×5の魔方陣の全解列挙を、パソコンで試す(C ) | 配電盤
    mohno
    mohno 2014/03/16
    アルゴリズムの問題?やってみようと思ったところが凄い。
  • 1