NetLogo

NetLogoとはエージェント型プログラミング言語および統合開発環境である。the NetLogo websiteで無料で入手できる。

概要
LOGOの派生として「敷居が低く限界の無い」概念のもと設計され、「タートル」「パッチ」「オブザーバー」といった形式のエージェントを使ったプログラミングコンセプトとなっているhttp://ccl.northwestern.edu/netlogo/docs/programming.html#agents Types of Agents in NetLogo。また複数のオーディエンスを念頭に置き、教育コミュニティにおいて子供への教育やプログラミング経験無しで関連した現象をモデル化するに特化している。

NetLogo環境は創発現象の探究を可能にしており、経済学、生物学、物理学、化学、心理学、システムダイナミクスといった様々なドメインのモデルを含む広範なメディアライブラリが付属するhttp://ccl.northwestern.edu/netlogo/models/ Models included with NetLogo。また修正スイッチ、スライダー、チューサー、インプット、他インタフェース要素を使った探究やhttp://ccl.northwestern.edu/netlogo/docs/interface.html#interface、新しいモデルの作成や既存モデルの修正も可能になっている。

設計、作成したのはノースウェスタン大学のコネクテッドラーニング・コンピュータベースモデリングセンター長官のウリ・ウィレンスキーであり、開発を牽引したのはセス・チスエである。

技術的基礎
NetLogoはフリー・アンド・オープンソースソフトウェアでライセンスはGPLで、ScalaとJavaで書かれており、Java仮想マシン上で動作するhttp://ccl.northwestern.edu/netlogo/faq.html。中核部は部分的にユーザコードをJVMバイトコードにコンパイルするハイブリッドのインタプリタ/コンパイラである。

使用例
NetLogoにおける単純なマルチエージェントモデルの例としてユーザインタフェースにウルフ・シープ・プリデーションモデルが表示されているhttp://ccl.northwestern.edu/netlogo/models/WolfSheepPredation Wolf Sheep Predation。時間をかけて捕食者・被捕食者の生物数増加をモデル化している。特徴は以下の通り:

 羊とオオカミに見立てた2種類のタートルがある。
 両方とも体力が尽きるまでランダムに移動している。
 またどちらも移動することで体力を消費し、体力が無くなったら死ぬ。
 羊は草を食べることで体力を増加させる。
 オオカミは羊を食べることで体力を増加させる。
 両方とも自身の子供と共体力を共有し繁殖できる。

HubNet
HubNetとは教室でNetLogoを使って参加型シミュレーションを動作させる技術であるhttp://ccl.northwestern.edu/netlogo/hubnet.html HubNet。参加型シミュレーションにおいてユーザグループ全体でシステムの挙動を設定することに参加する。ネットワークコンピュータ、テキサス・インスツルメンツ製グラフ電卓といった個々のデバイスを使うことで各ユーザは分離独立したエージェントとして活動する。HubNet活動の一例としてコモンズの悲劇という経済問題モデルである「トレジディー・オブ・ザ・コモンズ」があるhttp://ccl.northwestern.edu/netlogo/models/HubNetTragedyoftheCommonsHubNet。

 脚注 
 出典 

 参考文献 

外部リンク
 CCL home page
 NetLogo home page
 NetLogo Models Library
 Other NetLogo-related resources on the web
 Discussion group hosted by Yahoo!
 NetLogo models of multiagent systems

Category:エージェントベースプログラミング言語
Category:エージェントベースソフトウェア
Category:Scalaでプログラムされた自由ソフトウェア