タグ

mathとalgorithmに関するmk16のブックマーク (6)

  • スパコンで約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 ) | 配電盤
  • 良い乱数・悪い乱数

    C言語標準ライブラリの乱数rand( )は質に問題があり、禁止している学会もある。 他にも乱数には様々なアルゴリズムがあるが、多くのものが問題を持っている。 最も多くの人に使われている乱数であろう Visual Basic の Rnd の質は最低である。 そもそも乱数とは 乱数とは、来サイコロを振って出る目から得られるような数を意味する。 このような乱数は予測不能なものである。 しかし、計算機を使って乱数を発生させた場合、 次に出る数は完全に決まっているので、予測不能とはいえない。 そこで、計算機で作り出される乱数を疑似乱数(PRNG)と呼び区別することがある。 ここでは、特にことわらない限り乱数とは疑似乱数のことを指すとする。 計算機でソフト的に乱数を発生させることの最大のメリットは、 再現性があることである。 初期状態が同じであれば、発生する乱数も全く同じものが得られる。 このことは

  • コルモゴロフ複雑性 - Wikipedia

    コルモゴロフ複雑性(コルモゴロフふくざつせい、英語: Kolmogorov complexity)とは、計算機科学において有限長のデータ列の複雑さを表す指標のひとつで、出力結果がそのデータに一致するプログラムの長さの最小値として定義される。コルモゴロフ複雑度、コルモゴロフ=チャイティン複雑性 (Kolmogorov-Chaitin complexity) とも呼ばれる。 この画像はフラクタル図形であるマンデルブロ集合の一部である。このJPEGファイルのサイズは17KB以上(約140,000ビット)ある。ところが、これと同じファイルは140,000ビットよりも遥かに小さいコンピュータ・プログラムによって作成することが出来る。従って、このJPEGファイルのコルモゴロフ複雑性は140,000よりも遥かに小さい。 コルモゴロフ複雑性の概念は一見すると単純なものであるが、チューリングの停止問題やゲー

    コルモゴロフ複雑性 - Wikipedia
  • P != NP(P≠NP)予想が証明されるかも:アルファルファモザイク

    ■編集元:ニュース速報板より「P != NP(P≠NP)予想が証明されるかも」 1 カウンセラー(東京都) :2010/08/09(月) 18:19:40.34 ID:ZpOSgVlx● ?PLT(12000) ポイント特典 ある Anonymous Coward 曰く、 家 /. 記事によれば、HP Labs の Vinay Deolalikar 氏が P≠NP 予想の証明に関する 100 ページに上る論文の草稿を複数名の様々な分野の研究者に送っており、 今週中にも最終稿が公開されるとのこと。 Scribd で公開されている論文は人のあずかり知らぬところでアップロードされたものらしく、 また、Deolalikar 氏は過去にもこの分野の論文をいくつも執筆しているようです。 P≠NP 予想は 2000 年にクレイ数学研究所のミレニアム懸賞問題の一つに挙げられており、

  • クラスタリングの定番アルゴリズム「K-means法」をビジュアライズしてみた - てっく煮ブログ

    集合知プログラミング を読んでいたら、K-means 法(K平均法)の説明が出てきました。K-means 法はクラスタリングを行うための定番のアルゴリズムらしいです。存在は知っていたんだけどいまいちピンときていなかったので、動作を理解するためにサンプルを作ってみました。クリックすると1ステップずつ動かすことができます。クラスタの数や点の数を変更して、RESET を押すと好きなパラメータで試すことができます。こうやって1ステップずつ確認しながら動かしてみると、意外に単純な仕組みなのが実感できました。K-means 法とはK平均法 - Wikipedia に詳しく書いてあるけど、もうすこしザックリと書くとこんなイメージになります。各点にランダムにクラスタを割り当てるクラスタの重心を計算する。点のクラスタを、一番近い重心のクラスタに変更する変化がなければ終了。変化がある限りは 2. に戻る。これ

  • 数値計算フレームワーク「ポコム」

    数値計算フレームワーク「ポコム」 プログラマーズ ガイド http://www001.upp.so-net.ne.jp/isaku/pocom.html ダウンロード(Windows) (S-JIS) http://www001.upp.so-net.ne.jp/isaku/pocom.zip ダウンロード(Ubuntu) (UTF8) http://www001.upp.so-net.ne.jp/isaku/pocom-utf8.tgz ダウンロード(Other Linux) (EUC-jp) http://www001.upp.so-net.ne.jp/isaku/pocom-euc.tgz 更新履歴 ポコムとは ポコム(POrtable COMpiler)はC/C++を使った、小型のフレームワークです。 ポコムはフリーソフトウェアです。無料で使うことができます。 ポコムは数値計算、な

    mk16
    mk16 2008/12/18
    >問題の種類によりますが、エクセルのマクロの 20 倍位速くなります。←「Excelのマクロだと高速化テクニックを使っても納期に間に合わない」場合に使えるかも。
  • 1