タグ

programmingとsimulationに関するkgbuのブックマーク (3)

  • LDS(2) -

    http://d.hatena.ne.jp/m-a-o/20091212#p3 の続き。 前回のあらすじ。ある領域上で定義された関数の積分を計算するには、その領域で一様分布する数列に対する関数値の平均を取ればいい。一様分布する数列としては乱数がよく使われてモンテカルロ法として知られている。けども、乱数でなくても、一様分布する数列は存在する。存在するだけでなく、乱数より"ずっと速く一様分布に収束する"数列が存在してLow-discrepancy sequence(LDS)と呼ばれている。LDSを使ってモンテカルロ積分は、乱数を使ったモンテカルロ積分よりも収束が速くなる(Koksma-Hlawkaの定理)。 LDSを使ったモンテカルロ法は、準モンテカルロ法と呼ばれるらしい。けど、モンテカルロ法を最初に行ったvon Neumann-Ulamが使った数列は、そもそも乱数ではなかったので、全部モンテ

    LDS(2) -
    kgbu
    kgbu 2010/02/24
    一様に分布する乱数に基づいて、積分のモンテカルロシミュレーションをしてみたという話。Pythonの実装コードあり。
  • 個人用電卓のプログラミング

    今年の3月頃にこのブログに投稿した, 電卓HHCのプログラミングの話題の続きである. この電卓のシミュレータには, スタックが2個あり, その間でデータが受け渡せる. このスタックを, 両方へ延びるテープ, 命令UとNをヘッドの右, 左への移動と思うと, 2スタックモデルはTuring Machineに非常によく似てくる. そこで今回は, Turing Machineをシミュレートしてみた. Turingの1936年の有名な論文の始めの方に, テープに0010110111011110...を書く例がある. つまり, 0の列の間に1を0個, 1個, 2個, 3個, ...と挟むのである. この論文のテープは, 計算結果を書くますと, 作業用の記号を書くますが, 交互に並んでいる. 従って, 上の出力も,テープ全体で見ると, bを空白のますとして, 0b0b1b0b1b1b0b1b1b1b0b

    kgbu
    kgbu 2009/10/06
    2つのスタックを持つCPUのアーキテクチャは、Turing Machineによく似ている。それで、Alan Turingが示したサンプルプログラムを移植してみた、という話。へぇぇ。
  • Slow Feature Analysis - potasiumchの日記

    神経系を模した教師なし学習の枠組みとして、Slow Feature Analysis (SFA) というのがあるらしい。これかなり良い感じなんじゃないだろうか。 感覚神経系の役割は、生存に合目的な行動を行えるように外界の状況を推定することにある。感覚器から得られる生の感覚入力自体はノイズや(視覚系なら)眼球運動などの影響で高速に(〜数十ミリ秒)変化するけど、外界の状況(特定の場所にいる、目の前に熊がいる、等。)はより低速に(〜数秒)変化する。このことから、神経系は自然感覚入力のうちの低速に変化する特徴(slow feature)を抽出するように自己組織化すると仮定し、モデル神経系に自然感覚入力を与えて学習させてみましたと。 そうすると、視覚野で見られる受容野構造や、海馬で見られる場所細胞に相当する情報表現を獲得させることができたと。さらに面白い点は、この学習則をミクロに考えるとそれは ST

    Slow Feature Analysis - potasiumchの日記
    kgbu
    kgbu 2008/11/05
    地球シミュレータよりも、前頭葉シミュレータのほうが面白そうだな。
  • 1