法人様向けトレンドマイクロ商品を特別価格でご提供
■ ログイン
ユーザ名:

パスワード:

IDとパスワードを記憶

パスワード紛失

新規登録
■ メインメニュー
■ 書籍検索
■ アクセスカウンター
2008/05/13:90/136
2008/05/12:158/202

2008/04/13より1880/8248
■ ブログについて
ウェブページの作成を助ける「ブロック」がここにあります。

それは心躍るブログになるかもしれませんし、観るものを和ませる家族のページになるかもしれませんし、実り多き趣味のサイトになるかもしれません。
あるいは現在のあなたには想像がつかないものになることだってあるでしょう。

用途が思いつきませんでしたか? それならここへ来て正解です。
なぜならあなた同様私たちにもわからない可能性を秘めているのですから。
一歩を踏み出すことから全てが始まります。→ブログの作り方のブログ

投票順に並替
2008 | 02 | 03 | 04
2006 | 08 | 09 | 10 | 12
2005 | 10
13歳からの人工生命の作り方  人工生命について実際に作りながら紹介したいと思います。
2008年4月05日(土曜日)
ハチの幼虫集め4 23:11  sekken 
実際に作って見ましょう

NetLogoを起動

1、初期設定ボタンを作る












  1-1 Buttonボタンをクリック

  1-2 ボタンを置く場所をクリック














  1-3 Command欄にsetupと入力してOKボタンをクリック
  1-4 スタートボタンを作るため、1-1から1-2までを繰り返す。












  1-5 Foreverにチェックをつけて、Command欄にgoと入力したらOKボタンをクリック










このようになればOKです

Foreverにチェックを付けるとボタンを押したときに
プログラムが繰り返し実行されるようになります。

次に実際にプログラムを書き込みます。














Procedureタブをクリックすると真っ白な画面になります。
ここに命令を書き込んでシミュレーションを作ります。

大まかにプログラムの内容を考えて見ましょう

追加する変数
 ハチ役のタートル
  *幼虫を持っているか?
  *足元に幼虫がいるか?

初期設定ボタンでやること
 *前回のシミュレーションの内容をすべて消す。
 *ハチ役のタートルを作って、画面上にばら撒く。
 *幼虫役のタートルを作って、画面上にばら撒く。
 
実行ボタンでやること
 *でたらめに歩き回る
 *ハチ役
  幼虫をもっておらず、足元に幼虫がいたら幼虫を拾う
  幼虫持っていて、足元に幼虫がいたら幼虫を置く
 *幼虫役
  ハチに拾われたらハチについて行く

  





この記事は役に立ちましたか?: はい いいえ

リンク元  (1)
2008年3月04日(火曜日)
ハチの幼虫集め3 01:14  sekken 
こういった問題を考えるときは、ゴールからではなく、まずできることから考えていくのが近道です。

タートルにできることは
 進む
 とまる 向きを変える
 ボールを拾う
 ボールを置く

タートルがわかることは
 足元にボールがある
 足元にボールがない
 自分がボールを持っている
 自分がボールを持っていない

とこれだけです。

あとはどんなときに何をするのか組み合わせを考えればOKです。

まず、ボールを持っていないときはボールを捜さなくてはいけません。
目が見えないので、とりあえずボールにぶつかるまで歩きましょう。まっすぐに進むとずっと同じところを歩いてボールがいつまでも見つからないかもしれないので、でたらめに向きを変えながら歩きます。

動いているうちに、いつかはボールにぶつかるでしょう。
そしたら、移動させなくてはいけませんから、まずはボールを拾います。

ボールは拾えましたが、集める場所はわからないので動かすといっても、やはり、でたらめに動き回るしかありません。

ボールを集めるということは、ほかのボールのそばにボールを置くことです。
そこで他のボールを見つけたら、持っているボールを置くことにしましょう。
これで少なくても2つのボールを集めることができました。

「千里の道も一歩から」
これを繰り返して少しずつでもボールが集まれば、大きな集まりができそうです。

でもせっかく集めたボールも、また誰かが持っていっちゃうかもしれません。
集める場所も一箇所ではなくたくさんできそうです。

では本当にこの方法でうまくいくのか試して見ましょう。






この記事は役に立ちましたか?: はい いいえ

リンク元  (1)
2008年2月13日(水曜日)
ハチの幼虫集め2 00:00  sekken 
目標
    あっちこちに散らばっている幼虫を一箇所に集める
 
条件
・集める場所はどこでもよい(目印はない)
・みんな平等でリーダーはいない
・自分のいる場所の状況しかわからない(周りを見渡して目標に向かって歩くことはできない)
・一度に運べる幼虫は一匹だけ
・他の仲間とはコミュニケーションできない

この状況を人間に置き換えてちょっと想像してみましょう。

校庭にボールが散らばっています。
目隠しをして、耳栓をした人が50人ほど散らばっています。

そこで50人の人が動き回って校庭のどこかにボールを集めます。
ボールにぶつかることでボールを見つけることができます。

命令はスタート前に一回しかできません。
スタートしたらみんなが同じ命令に従って行動します。

一箇所に集めるには集める場所をみんなに教えなくてはいけませんし、自分の向きがわからないと目標に行くこともできません。

普通に考えるとちょっと不可能な課題のように思えます。









この記事は役に立ちましたか?: はい いいえ

リンク元  (1)
2008年2月12日(火曜日)
蜂の幼虫集め 00:29  sekken 


ハチは体の大きさからはとても信じられないような
知性を持っています。

規則正しい六角形の蜂の巣なども、力学的にはもちろん
廃熱、幼虫の飼育、蜜の貯蔵などについても実に合理的
にできていて、ハチの脳の大きさを考えると実に驚異的です。

YouTube ハチの巣作り


横浜市 いろいろなハチの巣

こういった巣作りなどの行動は、誰か全体を見て指示するリーダー
がいるわけではなくて、たくさんのハチが共同で働くことで
全体として目的を達成させています。


一匹一匹は少しの事しかできませんし、どこで誰が何をしているのか、全体の中で自分がどこにいるのかはよくわかりません。

それでも神様のように一匹のハチを超える存在はないのに、ナスカの地上絵のように大きなスケールで見ると一つの「形」が出来上がっています。

こういったことは細胞と私たちの関係についても、私たちと社会・会社の関係に
ついても言えることです。

こんな風に同じたくさんの要素が集まって、全体として調和のとれた
行動をとることを「集団知」といいます。

「集団知」は実に不思議な現象ですが、よく観察すると意外と簡単なルールから
できていることもよくあります。

ここでは「集団知」の例としてハチの幼虫集め行動のシミュレーションをつくってみましょう。


     蜂の幼虫集め行動




目標
    あっちこちに散らばっている幼虫を一箇所に集める
 
条件
・集める場所はどこでもよい(目印はない)
・みんな平等でリーダーはいない
・自分のいる場所の状況しかわからない(周りを見渡して目標に向かって歩くことはできない)
・一度に運べる幼虫は一匹だけ
・他の仲間とはコミュニケーションできない

普通に私たちが広場に散らばっているボールを一箇所に集めることを
考えると、つぎのような手順が必要だと思います。

1、落ちているボールを探す
2、落ちている所へいってボールを拾う
3、決まった目標(ボール置き場)にいく
4、ボールを置く
5、1へ戻る
この記事は役に立ちましたか?: はい いいえ

リンク元  (3)
2006年12月07日(木曜日)
スターロゴの登場人物 00:15  sekken 
スターロゴの世界の登場人物には

タートル(turtle)
パッチ(patch)
観測者(observer)

の3種類がいます。それぞれに命令を与えて、いろいろなモデル
を作ることができます。



タートル
タートルは亀なので早くは動けませんが、
あなたの命令どおりにスターロゴの世界を動き回ります。
普通のロゴの世界ではタートルは1匹ですが、スターロゴ
では何千匹のタートルを一度に動かすことができます。


パッチ

パッチはタートルが動き回るタイルのようなの地面です。
この一つ一つのパッチは、周りの情報を受け取り、他の
タートルやパッチに影響を与えて相互作用することが
できます。
ライフゲームのプログラムはパッチだけで作られています。

観測者

観測者は言ってみれば神様のようなものです。
タートルやパッチは自分の周りのことしかわかりませんが
観測者は全体の状況を知ることができて、モデルの
コントロールをします。

私たちは名前、性別、年齢などの属性を持っています。

  名前 鈴木太郎
  性別 男
  年齢 43

タートルやパッチも同じように属性を持っています。

タートルが生まれつき持っている属性は7つあります。

  xcor y座標

  ycor x座標

  color 色

  heading 向き(0から360度)

  breed  種族

  shown? 見えるか見えないか(true false)

  pendown? ペンが下りているか(true false)
   {ペンが降りていると通り道に線が引けます。}


パッチは3つの属性をもっています。
  xcor y座標

  ycor x座標

  patch-color(pc) 色

この属性は後から増やすことができます。

ライフゲームのプログラムの初めの部分

  patches-own [
   living? ;; 生きているかどうか
   live-neighbors ;; 隣のセルがいくつ生きているか 
   ];;パッチ変数の設定(パッチはセルのこと)

はパッチの属性に
  living?
  live-neighbors
の二つを追加しています。


このようないろいろ変化する属性のことを一般的に変数といいます。

パッチの中身を見るには右クリックをして
inspect patch _ _
を選びます。









どのパッチにも
リストに
  living?
  live-neighbors

の二つが入っているのがわかると思います。

最後に?マークがついている変数はtrue(真) false(偽)
の2種類の値しかもちません。


タートル
この記事は役に立ちましたか?: はい いいえ

リンク元  (36)
2006年10月24日(火曜日)
プログラムを見てみよう 03:19  sekken 


人工生命をつくるにはプログラミングが必要です。
普通こういったプログラムを作るのには大変な時間と、知識が必要になるのですが、ネットロゴはたいへん手軽にプログラムを作ることができます。(それでも覚えることはいろいろありますが、英語の勉強にもなるので一石二鳥です)

プログラムの中身を見るには上のprocedureタブを押します。

すると英語の文章のような、よくわからない文がバーと出てきます。

プログラムというと難しそうですが、コンサートのプログラムなどと同じようにコンピュータにさせることを書いた手順書です。

コンピュータが理解できるのは0と1だけですが、人間にもわかりやすいように翻訳してくれるコンピュータ専用の言葉がいろいろあります。

スターロゴはロゴという教育用の言葉を元に作られているので、普通の英語の文に近く順番に見て行けばそれほど難しくありません。

ライフゲームのプログラムは、プログラミングをやったことがある人が見ると、こんな短いプログラムで作れるのかとちょっと驚くと思います。

意味は大体下のような感じです。


patches-own [
living? ;; 生きているかどうか
live-neighbors ;; 隣のセルがいくつ生きているか 
];;パッチ変数の設定(パッチはセルのこと)

to setup-blank ;;setup-blankが呼び出された時
ask patches ;;パッチに対して
[ cell-death ] ;;cell-deathを実行する
end ;;終了

to setup-random ;;setup-randomが呼び出された時
ask patches ;;パッチに対して
[ ifelse random-float 100.0 < initial-density ;;もしinitial-densityが100までのでたらめの数より小さいとき
[ cell-birth ] ;;cell-birthを実行する
[ cell-death ] ];;cell-deathを実行する
end ;;終了

to cell-birth ;;cell-birthが呼び出された時
set living? true ;;living?をtrue(真)に設定する
set pcolor fgcolor ;;色をfgcolorに設定する
end ;;終了


to cell-death ;;cell-deathが呼び出されたら
set living? false ;;living?をfalse(偽)に設定する
set pcolor bgcolor ;;色をbgcololrに設定する
end ;;終了


to go ;;goが呼び出された時
if mouse-down? ;;もしマウスボタンが押されていたら
[ stop ] ;; 描くのをやめるまでストップする 
ask patches ;;パッチに対して
[ set live-neighbors count neighbors with [living?] ]
;;隣り合ったセルのうちliving?がtrue(真)のセルの数をlive-neighborsにセットする


ask patches ;;パッチに対して
[ ifelse live-neighbors = 3 ;;もしlive-neighborsが3だったら
[ cell-birth ];;cell-birthを実行する
[ if live-neighbors != 2
[ cell-death ] ] ];;それ以外の場合でlive-neighborsが2でなかったらcell-deathを実行する
end ;;終了


to add-cells  ;;add-cellsが呼び出された時
if mouse-down? ;;マウスボタンが押されていたら
[ ask patch-at mouse-xcor mouse-ycor 
[ cell-birth ] ];;マウスの場所のセルにsell-birthを実行する
end ;;終了


to remove-cells ;;remove-cellが呼び出された時
if mouse-down?  ;;マウスボタンが押されていたら
[ ask patch-at mouse-xcor mouse-ycor
[ cell-death ] ];;マウスの場所のセルにsell-deathを実行する
end ;;終了




ざっと見て行くと
to ○○

end

がひとまとまりになっていることに気がつきます。
○○はボタンや他のまとまりから呼び出されて実行されます。


この記事は役に立ちましたか?: はい いいえ

リンク元  (32)
運命はすでにきまっているのか 02:50  sekken 
大昔から哲学者や学者は世界の根源は何かということを考えてきました。
ギリシャの哲学者タレスは、すべては水が変化したものだと考えましたし、中国の陰陽説では陰と陽の対立から世界が生まれると考えました。

現在では、すべて12種類の素粒子からできているということがしられています。

そのうちに究極の理論が考えられて、素粒子に働く力のなぞがすべて解けるかもしれません。

では、究極の理論ができて世界の状態が完全にわかったときに世界はすべて予測可能になるのでしょうか?

ライフゲームの世界では、ルールは完全にわかっていますし、偶然の働く余地はありません。
最初の状態さえ決まれば、すでにその後どう変化するかは、すべて決まっています。

でも、実際に動かしてみないと未来を知ることはできないのです。


この記事は役に立ちましたか?: はい いいえ

リンク元  (19)
2006年10月12日(木曜日)
ちょっと哲学 05:32  sekken 
ライフゲームはどうでしたか?

人工生命というからにはもっとすごいものかと思った。
ルールも単純で、たしかにいろいろな変化が現れるけれど、生命はこんなに簡単なものではないし、本当の生命とはやっぱりかけ離れていると思うといった感じでしょうか。

しかし、ライフゲームは生命とは何かを考えるときに実に多くの示唆を与えてくれます。

ライフゲームはチューリングマシンという万能計算機として働くことが知られています。
つまり、計算可能なものは、すべてライフゲームの中で再現できるのです。

これは、もしすべての現象を数式で表現できるとしたら、無数のマス目があれば現実の世界をライフゲームの中に置き換えることができるということを意味します。

もしかしたら、むしろ映画にもなった「マトリクス」のように私たちの住んでいる世界こそライフゲームのマス目(マトリクス)の中に再現されたシミュレーションなのかもしれません。

神様はルールに従ってオセロをひっくり返しているだけです。

この記事は役に立ちましたか?: はい いいえ

リンク元  (13)
2006年10月09日(月曜日)
ライフゲームの遊び方 04:25  sekken 

ファイルを開くとボタンと画面がでてきます。


まだネットロゴをインストールしていない人はRun Life in your browserを試してください。


まず「setup-brank」ボタンを押してセルをまっさらな状態にします。 次に「setup-random」ボタンを押してセルをでたらめに生きている状態にします。




では実際に動かしてみましょう。 動かすには「go-forever」ボタンを押します。 すると微生物が動いているような不思議な画面が現れます。バッと広がったかと思うと他の塊とぶつかって消えたり、全部死ぬか繰り返しで変化がなくなってしまうかと思うと意外としぶとく残ったりします。何回か繰り返すと時々グライダーと呼ばれる斜めに動く形が現れたりします。 でも最終的にはすべて繰り返しか静止の状態になり変化がなくなってしまいます。何種類の残る形と繰り返す形があるのか調べてみましょう。

見てるだけでは面白くないので、自分でスタートの状態を作ってみましょう。 自分で描くには「add-cells」ボタンを押してお絵かきをするように画面をクリックします。消すときは「remove-cells」ボタンを押して画面をクリックします。動かすには先ほどと同じように「go-forever」ボタンを押します。 できるだけ少ない点の形からどれだけ長く続けることができるでしょうか?いろいろ試してみてください。 ここにいろいろな見本があります。
この記事は役に立ちましたか?: はい いいえ

リンク元  (20)
2006年9月30日(土曜日)
ライフゲームで遊ぼう 03:08  sekken 
まだコンピューターが大学の研究室や大きな会社にしかなかったころ、大ヒットしたゲームがありました。

人工生命の元祖ともいえるプログラムで、その名もライフゲームといいます。(人生ゲームではありません)

有能な研究者たちが、そのなぞを解こうと仕事や研究をそっちのけで熱中しました。そのために費やされた労力と、コストをお金に換算すると大変なものです。ルール自体は小学生でも理解で来るぐらい簡単なのですが、まったく予測できない複雑で多様な世界がひろがっていたのです。

どんなゲーム化というと、まずセルという碁盤のようなマス目があります。それぞれのマス目は生、死のどちらかの状態になります。

■が生きているマスとします。

ルール1 誕生

周りのマス目が3つ生きていればあたらしく誕生する
as
 

ルール2 生きる

  周りの生きているマス目が2つか3つの場合は生き続ける

m

 ルール3 死

  周りの生きているマス目が1つまたは4つ以上のときは死ぬ
このルールをすべてのマス目に当てはめて繰り返すと、元のパターンからいろいろなパターンが生まれてきます。

もっとくわしいことはこちらをご覧ください。


では、インストールしたネットロゴで実際に動かしてみましょう。
プログラムを開くには上にある「file」メニューから「models library」を選びます



<
きちんと分類されたフォルダが出てくるので、
まずは「Computer Science」のなかの「Cellular Automata」をクリックして,その中の[life]を選びます。
 Openボタンを押してファイルを開いてください。

この記事は役に立ちましたか?: はい いいえ

リンク元  (19)
(1) 2 » 
PopnupBlog 3.0 Denali-1225 created by Bluemoon inc.  
■ GoodClueモバイル
携帯電話からも情報をご覧いただけるようになりました。どうぞご利用下さい。


■メールでURLを送る
 
Copyright (C) 2005-2007 GoodClue.net. All Rights Reserved.