[Squeak-ja: 3055] Re: Wiki としての SuperSwiki

Koji Yokokawa koubo2006 @ yengawa.jpn.org
2006年 7月 14日 (金) 11:43:45 JST


横川です。
すっかりSqueakネタから(Wikiからも)離れてますが、もう一言お許しください。

「エージェント」という言葉が多くの研究分野で異なった定義で使われて、くわ
えて非常に夢にあふれているので、「マルチエージェント技術」についてたくさ
んの誤解がうまれていると思いますので、ここで弁解を。。。

少なくともFIPAで定義しているエージェントは非常に限定された(ともするとツ
マラナイ)ソフトウェア技術です。あえてそっけなく言うと「動的に入れ替え可
能なソフトウェア・コンポーネント」と表現できると思います。

こう観るとソフトウェア・コンポーネントとあまり変わりません。その意味で現
在実用になっている技術と地続きの実直なソフトウェア技術だと思います。

> 役割で分担するエージェントと、
> 機能で分担するオブジェクトとでは、
> 決定的に違うのは何でしょうか。

これはいろいろな意見が出そうなところですが、ぼくは「開発者のマインドセッ
ト(考え方)が違う」というところを第一に挙げたいです。
構造化技術で開発するときとオブジェクト指向技術で開発するときの開発者のマ
インドセットは異なります。この違いが開発効率や安全性などさまざまな影響を
与えています。
同じように、マルチエージェント技術で開発するときのマインドセットも異なり、
開発にいろいろな(きっと良い)影響が出そうだと感じてます。

では。

On Thu, 13 Jul 2006 23:11:57 +0900
"NAKATA, Shunsuke" <scriptonwikipage @ yahoo.co.jp> wrote:

> 横川さん
> 
> こちらこそ、お付き合いありがどうございます。
> 
> サイト拝見しました。(というかこれまでも見たことがあります)
> 
> 役割で分担するエージェントと、
> 機能で分担するオブジェクトとでは、
> 決定的に違うのは何でしょうか。
> --
> 能動性/受動性 という点では、スレッドで動作する
> java.lang.Runnable なオブジェクトは、
> エージェントということになりますよね。
> 
> 10年以上前ですが、所 真理雄 氏 が研究目的で、
> Smalltalk-80 を並列化して、Concurrent Smalltalk
> というものをつくってましたが、
> それに近いものなのでしょうかね。
> (ご存知ありませんよね)
> --
> インターフェースの汎用性が決定的な違いなのでしょうか。
> LISPのevalはS式という汎用データ形式を受け付ける
> 天蓋孤独なエージェントなのでしょうか。
> --
> あるいは、「S式を受け付け、能動的かつ協調的に機能する
> 複数のオブジェクトの集まり」というというところなのでしょうか。
> 
> おおよそのところ、蟻の家族とか免疫細胞群
> (T細胞,B細胞,マクロファージ,...)という
> イメージだとは思いますが、
> --
> だとしたら、エージェント技術は、やはり、
> 一人の人(またはひとつの団体)が最初から役割を
> はっきりと決めた、役割分担のできた能動体の集団
> という形で実装されるのだろうと思いました。
> 
> だれが自分の家族の一員か、フェロモン・触覚、あるいは、
> レセプターで確認しあって作業するというものになりますね。
> 
> 家族がばらばらになると機能できない、、、
> 
> モバイルエージェントとなると、誰かが号令をかけて、
> 一族が一斉に移動することになるんでしょうね。
> 
> 
> なんか、すごいですね。エージェントって。
> 
> "Star Trek" にでてくる、Borg とか ナノプローブ みたいな
> ものを作ろうとしているようにも思えてきました。怖い感じも
> しますね。特に軍事目的で国家規模で開発すれば、今のコンピュー
> ターウィルスなんて赤子に思える技術なのでしょうね。
> 
> ------
> 話は戻りますが、((perl))プラグインやSeasideのことを
> いろいろ議論してきましたが、すごいサイトがオープンしましたね。
> 
> YouOS
> 	http://www.youos.com/
> 
> ここでは、JavaScriptでクライアントアプリをWeb上で開発できるようです。
> もっとも、協調作業なのかどうかはわかりませんが、
> デフォルトChat機能が搭載されていることを考えると、
> 協調作業も技術的にはまったく問題ないみたいです。
> 
> 世の中の進み方、早いですね。
> 
> 
> 
> 
> ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
> > Swimmyシステム自体はマルチエージェント開発実行環境ですが、その中のエージェ
> > ントのプログラミングをEtoyでプログラムされたオブジェクトをさらに組み合わ
> > せるという方法でやっているのでご紹介しました。
> > 厳密に言うと高階とエージェントとは関係ありません。
> > (宣伝に走って、混乱させてしまったかもしれません。すみません。)
> > 
> > 結合力と考えると関数とマルチエージェントの間にオブジェクト指向が入ると思
> > います。(オブジェクト指向とは計算をオブジェクトという単位で区切ってオブ
> > ジェクト同士のメッセージのやり取りで計算を進める技術です。)
> > マルチエージェントはメッセージのやり取りをさらに柔軟にしています。
> > 
> > マルチエージェントの実用化にはおっしゃるとおりの問題があります。
> > 現在それを解決する方向として具体的に進んでいるものの一つはFIPAというエー
> > ジェント間コミュニケーションの標準規格化です。
> > 
> > FIPAホームページ
> > http://www.fipa.org/
> > 
> > FIPAのとても詳しい説明。
> > 日本語!チュートリアルつき!
> > http://www.mamezou.net/AgentVillage/index.html
> > (実はこれも宣伝です。注意;-)
> > 
> > 個人的感想ですが、オブジェクト指向が出始めの頃「それって関数でできるじゃ
> > ん」といわれていたようですが、現在のエージェント技術も同じような境遇にあ
> > るように感じます。
> > 
> > オブジェクト指向技術ではタイプやインターフェイスと呼ばれる仕組みを利用し
> > て同型性をプログラミングに生かす方法が広く利用されていますね。
> > マルチエージェント技術ではロール(役割)によって同型性を取り入れています。
> > ぼくはこれをだんだんと「利用者=作成者」環境に近づく過程だと感じているの
> > ですが、これは意見の分かれるところでしょう。
> 
> --------------------------------------
> Let's start Yahoo! Auction  -  Free Campaign Now!
> http://pr.mail.yahoo.co.jp/auction/

-- !
Koji Yokokawa <koubo2006 @ yengawa.jpn.org>
    http://yengawa.com/
    ^self new!




Squeak-ja メーリングリストの案内