ラベル heatmap の投稿を表示しています。 すべての投稿を表示
ラベル heatmap の投稿を表示しています。 すべての投稿を表示

IMLでセルオートマトンのコード紹介

他人様のネタですが、とても勉強になったので紹介。
SAS IMLのテクニック紹介ブログにセルオートマトンの表現法があがっていました。

有名なルール30ですね、なぜかある種の巻貝の模様と一致するという神秘。

http://blogs.sas.com/content/iml/2014/10/17/wolframs-rule-30/


いや、このコード、IML初心者の僕には、かなりキツいです。
取り敢えず、Nを5とかにして、rest print;入れて、全部中身を見ながら追ってなんとか、、。
肝心の法則式のところは、もはや、へ~、これでできてんだ。て程度の理解ですが。

しかし、凄い!

でもSAS Universityだとやたら時間かかるんだけど、僕のPCが貧弱なのか?

面白いな~、これ凄い面白い。
なんかIMLのデータ操作のエッセンスが詰まってるんで、これIML入門者用の教材にいいんじゃないですかね?

IML関連のテキストは、すぐ統計解析にいってしまって、基本操作が消化不良になりがちな気がしますから、こういうのいいかも。

こういうIMLの特性を活かした面白いコード持ってる人がいらっしゃれば、貼っていただければ嬉しいです。

IMLでアタック25

IMLだとヒートマップが超簡単に書けるんですね。
まあ、行列に色つけたプロットだから当たり前か
ヒートマップの説明:
http://ja.wikipedia.org/wiki/%E3%83%92%E3%83%BC%E3%83%88%E3%83%9E%E3%83%83%E3%83%97

もちろんIML使わずにGTLでもHEATMAPPARMステートメントで表現できますが、面倒くささは否めません。

proc iml;
X={1 2 3 1 1,
   1 2 2 1 4,
   2 2 1 3 4,
   3 1 2 2 2,
   1 2 3 4 3
   };
call HeatmapDisc(X) colorramp={RED GREEN BLUE WHITE};
quit;

















アタック25見ながら、適当に書いたのが上のプログラムです。
意味は全くないです。


この機能、僕の好きなセルオートマトンシミュレーションに使えそうですね。
例のGIFファイルでアニメを作るプログラムと合わせれば、面白そう。

また、これを超細かくたくさん作ればドット絵アニメできそう。
自分じゃ、絶対やりたくないけど、見てみたいな~。SAS好きで、変態な友人がいる方はそそのかしてみてください。