この所 TAOCPのアルゴリズムの解説ブログの気味があるが.... John Conwayが発明したとされるLife Gameは, 1970年にMartin GardnerがScientific American誌で紹介し, 爆発的に広まった. 私もそのScientific American誌のコラムを読んだ時は興奮した. その時からしばらく, 多くの計算時間がグライダーやグライダーガンの発見に費やされたという. 要するにMoore近傍, 状態0と1のセルオートマトンで, 中央のセルが0の時, 周囲の和が3なら1, それ以外は0. 中央が1の時, 周囲の和が2か3なら1, それ以外は0という遷移規則である.もっとも研究されたセルオートマトンである. TAOCPでのLife Gameの記述に興味がある. まず遷移規則は(演習問題7.1.3-167) f(xnw,...,x,...,xse)=
前回のブログの最後. Schemeの実装はTAOCPのアルゴリズムそのもののコピーで, 実はもっと関数プログラムらしく書きたかった. 書き直したのが以下のプログラムである. ある変数を後段で1回しか使わぬなら, 直接使う場所の書き込んである. (define (b x- x x+) (define (and a b) (fix:and a b)) (define (or a b) (fix:or a b)) (define (xor a b) (fix:xor a b)) (define (lsh a b) (fix:lsh a b)) (let* ((a0 (and x- x+)) (b0 (xor x- x+)) (c0 (xor x b0)) (d0 (lsh c0 -1)) (c1 (lsh c0 1)) (e0 (xor c1 d0)) (f1 (or (and b0 e0) (
SDL なんちゃら に行ったところ goruby/SDL とかいう声が囁かれていたのでその場でライフゲームとか書きました。 rq'sdl' S.i(S) s=S::Screen.op(640,480,32,S::SWSURFACE) E=S::Event a=Array.ne(W=3072){rd 2} lp{a=(1..W).m{|i|s.fR(i%64*10,i/64*10,10,10,a[i-1]*255) v=(0..9).ij{|w,j|w+a[(i+~-j/3*64+j%3-66)%W]} v==3||v-a[i-1]==3?1:0} s.fp E.p.cl==E::K&&x} まぁゴルフとしてはまだまだ縮むんですが私が言いたいことは世の中のライフゲームのルールの説明は(少なくともプログラマにとっては)非常にいけてないと思うということです。 Wikipedia なんかを見ると、
ライフゲームの数学的/哲学的意味 ライフゲームの起源 ライフゲームは1970年、まだコンピューターの黎明期にイギリスの数学者ジョン・コンウェイが考案したゲームです。普通のゲームの様にプレーヤ(競技者)がいるわけではないので、コンウェイは0人ゲームだと言っています。 ゲームの規則は単純ですが、生まれてくる結果は、ちょうど囲碁のように驚くほど複雑、豊潤です。 生物界、地球環境、文明の興亡との類似 ライフという命名のとおり、これは生物の集団が生まれ増殖して繁栄し、やがて過密で衰退していく様を、極度に単純化したモデルと考えることもできます。そう考えると何だか地球の人口問題のようでもあり、また歴史上の文明の興亡のようでもあり、興味深いのではないでしょうか。 オートマトンとの関係 ところがライフゲームのもう一つの側面として、これがコンピュータの理論モデルにもなるということがあります。ライフゲームは、コ
Xlife は John Conway さんのライフ・ゲーム (Game of Life) を実行するプログラムです。非常に高速、かつ 42 億 x 42 億セルという広大な空間 (実質的に境界がない) を持っています。 ルールを変更することもでき、オリジナルの 2-state だけでなく 8-state まで拡張されています。 (右図は下で解説している puffertrain の 132 世代目のパターンです。 クリックすると大きく表示します。) 作者: Jon Bennett さん、 Eric S. Raymond さん 他 入手先: http://ibiblio.org/pub/Linux/science/ai/life/ バージョン: 5.0 (1995/11/12) ライセンス: distributable 付属ドキュメント README を読む 使い方 インストールしたら、 タ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く