タグ

ブックマーク / blog.unfindable.net (2)

  • 配電盤 | {informa,computa,evolu}tion

    先日CodeIQで、巡回セールスパースン問題を出題しました。 Mathematicaには、指定した点をすべて通る最短の巡回路を求める関数 FindShortestTour があるので、これを使えば簡単なはずでしたが、実はそこにはトラップがあったかもしれません。 追記:問題は3つありますが、Mathematica 10.4.1, 11.2で未解決なのは3番目のみです。 問題1(10.0.2 for Windowsで解決) Mathematica 10.0.1 for Windowsでは、{{6, 2}, {4, 6}, {3, 4}, {6, 7}}という4点を通る最短巡回路を求められませんでした。 @yabuki (More info: http://t.co/HBUub0ForI) #wolframlang pic.twitter.com/mxTwMsc0Nk — Tweet-a-Pro

    配電盤 | {informa,computa,evolu}tion
  • スパコンで約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 ) | 配電盤
    arvante
    arvante 2014/03/17
    UNICORNが聞こえる(幻聴)。
  • 1