So-net無料ブログ作成
検索選択
シミュレーション ブログトップ

アンジュルムっぽいboidシミュレーション・・・・ [シミュレーション]


boidシミュレーションは、自然界での群れの動きをシミュレーションするもので、少ない規則で自然な群れの動きを再現できる。

群れのアルゴリズム ボイド(boids)で人工生命体 群知能

以下のページにあったコードを参考にして、作ってみた。
http://www.catch.jp/program/processing.js/boid/

一般には個々のエージェント自体に個性を持ったりはしないのだが、個々のエージェントが個々の性格に合わせて三つの規則に対して異なる判断をするような行を加えてみた。簡単に言えば、外向きの人は中心から外れる動きの許容度が高かったり、逆に内向きと思われる人は周りに合わせて動く要素が大きいなど。

絵を描く、物語を書く、まあファンの二次創作にも色々あると思うが、個人的にはこんな感じ。

nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:blog

processingを使って・・・・ [シミュレーション]

日曜大工プログラミングをするためにいろいろ試しているのだが、今はprocessingがいいかなと思っていろいろ試している。

[普及版]ジェネラティブ・アート―Processingによる実践ガイド

[普及版]ジェネラティブ・アート―Processingによる実践ガイド

  • 作者: マット・ピアソン
  • 出版社/メーカー: ビー・エヌ・エヌ新社
  • 発売日: 2014/11/21
  • メディア: 単行本(ソフトカバー)


しかし、プログラムを書いていると、昔、ガンプラを作っていた頃のことを思い出す。完成した状態が早く見たくて、変なところに接着剤を塗って間接を固めてしまうというような失敗をよくしたものだ。

プログラムも普通は最期までちゃんと書かないと、ちゃんと動いてくれないものだが、その点、processingは日曜大工的なプログラミングをやるには良い道具だと思った。

ちょっと書いただけでも結果らしきものが見えてくれるので、やる気が続きやすい。

ただ、パラメータをいじりまくって、結局何でこういう図が表示されたんだっけ?ということはある。

仕事に使えそうなものをいくつか作ったのだが、それをベースに花火っぽくしてみた(音はないけど)。

祝6.11ということで。



動画はかなり厳しいなぁ・・・。

000199.png

元々花火が目的ではなく、仕事で使っている人間の個性データをプログラミング上の動きに反映させるために作ったものの応用である。なので、メンバーカラーの大きめのやつの動きはメンバーの個性データに基づいた確率が反映した動きになるように作ってある(まあ、個性データのほうは観察から勝手に作ったので・・)。

それにしても、緑が目立って、青が控えめに見えるのはなぜ?どちらかといえば、青の方がたくさん表示される確率になっているはずなんだが・・・。単純に色合いの問題だと思うが、プログラミングで表現しても控えめになってしまうなんて、さすが中島さんの奥ゆかしさだと認識しておくことにします。


nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:blog

コミュニケーションとスキル [シミュレーション]

一応事前データのみからのシミュレーションで、良いチーム(設計)と悪いチーム(設計)を分けることができるようだ。

まあ、まだ一方的に信じるわけにはいかないが、これを事実と考えると、単純なランダムさを持つ集団よりは、ある程度方向性を持ちつつ、意図的に異質性を組み込んだチームの方が成果は出やすそうだ。この辺は今までの結果とも合う 。

シミュレーションでは、

相手にどのような情報を出すか?

情報を出すことによって、良い(悪い)返答があったか?

それによって再度情報を出すか?

 というような縛りで動かしているので、ここからすると、特定の相手に対して情報を再度出しやすいか?というのが、コミュニケーションの良し悪しということになる。

単純な個性のみのコミュニケーションは確かにより原理的な成果につながりやすいのだが、現実問題に対処する場合は、共通言語を作って、差分を埋めようとする。このあたりの共通言語をスキルと呼べるかもしれない。よって、スキル的に振る舞いすぎると、多様性を削ってしまう可能性があるということになる。

なんてことを漠然と考え中。 


nice!(0)  コメント(0)  トラックバック(0) 
共通テーマ:blog

大分形になってきた [シミュレーション]

仕事の合間にこそこそとくみ上げたシミュレーションだが、やっと形になってきた。

SOARS使ったりしていたのだが、 VBAレベルでも、何が起こっているのかを逐一把握できるようなものの方が良さそうだなと。


流動化する組織の意思決定: エージェント・ベース・アプローチ

流動化する組織の意思決定: エージェント・ベース・アプローチ

  • 作者: 稲水 伸行
  • 出版社/メーカー: 東京大学出版会
  • 発売日: 2014/01/31
  • メディア: 単行本



人間の個性データを集合させつつ、簡単な最適化問題を解くというようなものだが、さて、ものになるのか・・・。実際活動結果が出ているチームのデータなので、何か出てくると面白いのだが。

シミュレーションは結果の解釈が難しい。そもそも本当に結果といえるのかを考えなければいけないので・・。

 説得力のある文章をテキストで書くのと同じぐらいのレベルでシミュレーションを使いこなせるようになれるといいのだが。てゆうか、簡単な相関分析をやるぐらいなら簡単なシミュレーションを書けるようになる、というような使い方を目指している。

筋の良さそうな仮説を吟味して考えていく方が、大データを集約していくよりも人間的だと思うしね。集約の結果がどんなに正しくてもなんかねぇ・・・。




nice!(1)  コメント(0)  トラックバック(0) 
共通テーマ:blog

SOARSサマースクールに参加してきました [シミュレーション]

なかなかレベルが高かったのですが、無事3日間を乗り切ることができました。
まあ、チーム活動では最初の案だしと最後のプレゼンしか貢献できませんでしたが、スキル的なチーム活動では役割分担の方が成果が出やすいというのは実感値としてよくわかりました。チーム活動で商品をもらうなんていうのは初めてのことなので(人にやらせるのは得意なのだが、自分は苦手というのは良くあること)。

結局最も重要なのは『最初のモデル作りをいかに行うか』ということになります。SOARSであれ、何であれ最初のモデルが狂っていれば、解答はあらぬ方向へ向かってしまいます。ここの作り込みが必要でした。そのあたりもう少し話し合えば良かったかもしれません(10歳若かったらもう少し食いついたかもしれないが、つかれた)。

単純に『電車に人を乗せる』と言うことを表現するのでもエージェントにエージェントをくっつけるモデルもあれば、単純に数値で表すこと(乗降客数というパラメータのやりとり)でもいいし、スポットを電車にして、駅をエージェントにして次々とデータを落としていくようなモデルも(紙芝居型)考えられるということになります。知りたい内容によってバランス良くモデル化するという訓練も同時に必要なようです。満員電車による待ち時間増加により、失われる時間から経済的にどれだけ遺失利益があるか平均時給から探るとかいう(ような計算を5分ぐらいでパッとできちゃう学生さんとチームでした)事をしたければそれに最もあったモデルの設計をしなければいけないのだと提出後に気がつきました。

質問も鋭くて、あたふたしましたが、何とか無事乗り切ることができて感謝しています。
経営の世界はどうしてもプラグマティックで、結果さえ出ていればいいような話が多いのですが、純粋に論理的な追い込まれかたをされたのは久しぶりでうれしかったです。

さて、どんなモデルを作ろうか。

http://www.soars.jp/index.html


周期的な需要を設定してみる [シミュレーション]

さて、
需要が予測できるような場合にどのように予測して対応するのかを5因子を絡めて作ってみる。

需要の予測というのが何によって行われるかと考えると一般的には経験であろう。まあ統計データなどというのも過去の経験を数値的にまとめてそれを予測のベースとして利用していると考えられる。個人の性格特性がこういった予測に何らか影響を与えるとすると、いくつかのパターンが考えられる。つまり、周期性がある、数値的な裏付けがある、といった場合でもギャンブル的な発注を行う人もいるだろうし、統計結果や過去のデータ基準を参考にし、現実的、急激な変化にも今までの方法論を守ろうとするというのもあるだろう。

というわけで、まず、需要モデルに周期的な需要を設定してみた。
要するに割り算の整数と余りの関係を使ってみた(こういうのなんていうんだっけ???)
整数=整数×周期+余り、みたいな・・・

もっとエレガントなやり方があればぜひ教えてください。
2009-09-01_033520.jpg

結果はこんな感じ。
gurafu.JPG

当然、一度追従してしまうと同じ動きを繰り返しますねぇ。
さて、次は店主さんに性格付けをできればと考えている。

※選挙終わりましたねぇ。政治家という人材を育成するにはいいことですが、政策の内容はもう少し考えてもらいたいものだ。人口が増えること=需要の拡大というのは余りにもお粗末ではと思う。
富野さんや宋さんの言い方じゃないですが、日本にどのくらいの人口が必要かというのは考えるべき事かもしれない。ちなみに弊社会長は『人口1/2で拡大が2倍、つまり、4倍生産性を上げる事を目指す』というのが本筋ではないかと言ってました(多分2年ぐらい前ですが)。

流通モデルを動かしてみた [シミュレーション]

流通モデルを動かしてみた。
流通モデル自体は 店舗、問屋、工場があり、需要を設定してそれに対してどのように物を動かしていくかをモデル化した物である。チュートリアルの活用編に載っているのでそのまま作ってみた。

在庫データの変化と需要をグラフにするとこんな感じ・・・
新しい画像.png

多分、モデルの作り方は大丈夫だと思う。工場長、作りすぎ。

これをやってみて、シミュレーションをするときにはやはりモデルの作り込みが重要だと実感した。結局のところ何らかの数値のやりとりを一定期間行うということが起こるので、何を数値化して、どのように表現するかというのが重要になる。考えすぎてしまうと、あれもこれもといった形になりやすい。

エージェント・ベース・モデルのシミュレーション [シミュレーション]

やっぱり、エージェント・ベース・シミュレーションをやりたかったので、再度検索してみた。東工大が研究しているSOARSというものがあるらしい事がわかった。フリーでやろうとするとどうしてもプログラミングを行わなければいけないので、言語ベースではないのはありがたい。
チュートリアルもあったので、それを見ながら商品の流通モデルを作ってみた。指定通りに作ったら動かない部分があったが、まあ、解決できるレベルでした。

目標としては私レベルでもモデル構築できて、組織人事の解析に役立つように使うことです。
これを発展させてなんかできたら報告します。
シミュレーション ブログトップ