問題タブ [multi-agent]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
103 参照

java - Amazon EC2 で JADE を実行し、IP の問題に直面している

各 Amazon EC2 インスタンスには、パブリック IP アドレスとプライベート IP アドレスがあります。AID をフェッチすると、インスタンスのプライベート IP が提供されますが、パブリック IP が必要です。

結果が出ています

プライベート IP ではなくパブリック IP が必要です。これどうやってするの ?

前もって感謝します

0 投票する
1 に答える
686 参照

uml - 協調型マルチロボット システムのコンポーネント図

複数ロボット協調システムの構成図を作成したいと考えています。

各「ロボット」コンポーネントのサブコンポーネント「知覚」がインターフェースを介して相互に通信することをコンポーネント図で示したいと思います。実際、各ロボットの位置/速度を推定するために、すべてのロボットのセンサーが使用されます。これは協調センシングです。

どうやってやるの ?コンポーネント「ロボット」によって提供され、必要とされるインターフェースが必要ですか?

ありがとう。

0 投票する
2 に答える
699 参照

artificial-intelligence - Jade フレームワークを使用したインテリジェント エージェント

マルチエージェント システムを開発し、さまざまなコンテナーからさまざまなエージェントを実行したいと考えています。これにはJadeフレームワークでEclipseを使用していますが、これを達成するためにプロジェクトの「実行構成」を構成する方法がわかりません。これまでのところ、-gui -container main:Sender;a1:Receiver;a2:Pong があり、エージェント a1 と a2 を別のコンテナーに入れたいと考えています。助けてください。

0 投票する
1 に答える
1001 参照

java - JADE プラットフォームのエラー

こんばんは、JADEプラットフォーム(公式サイト→ http://jade.tilab.com/)を使ってみました

YouTubeで見つけたチュートリアルに従いました

これがコードです

しかし、プログラムを実行すると、次のようなエラーが発生します。

修正方法を教えてください!

PS:私はwindows7を使用しています

0 投票する
3 に答える
43 参照

ejb - EJB コンポーネントをある EJB コンテナーから別の EJB コンテナーに移動することはできますか?

EJB ステートフル コンポーネントをデプロイ後に完全な内部状態で EJB コンテナー間で移動することは可能ですか?

つまり、異なるコンテナ間を移動する EJB コンポーネントを含むシステムを作成したいと考えています。しかし、仕様はこれをカバーしていません。したがって、私が今見ている唯一の方法は、そのような輸送を「手動で」作成することです。しかし、車輪を発明するのは好きではありません。

これをサポートするフレームワークを知っていますか。または、現在の EJB コンテナーに対してそれを行う簡単な方法はありますか。

0 投票する
0 に答える
588 参照

c++ - C++ でのミリオン エージェント マルチエージェント システムの実装

C++ でマルチエージェント システムを実装しようとしています。PC あたりのエージェント数を最大化するために、次の高レベルの設計を考えました。

  • 各エージェントは、クラスのインスタンスとして表されます。(マルチエージェント システムでは、エージェントは独立/自律エンティティです)。

  • インスタンス化された各エージェントは、スレッドとして生成されます。

  • OS (Windows または Linux) が最大 A プロセスを許可し、各プロセスが最大 B スレッドの生成を許可する場合、エージェントの総数は A x B になります。

  • エージェントは、パブリッシャー/サブスクライバー メッセージ ブローカーを使用して相互に通信します。RabbitMQ の使用を計画します。

  • 結果が統計的に有効であるためには、エージェント数が数百万 (たとえば 500 万) である必要があります。

理想的には、各エージェントを 1 つのスレッドではなく、1 つのプロセスとして実装したいと考えています。理由は、共有メモリのボトルネックとエージェント間の相互依存を回避することです。たとえば、特定のスレッド クラッシュまたはプロセス クラッシュによって、スレッド プール全体がクラッシュする可能性があります。プロセスとして表されるエージェントには、そのような制限はありません。

とはいえ、OSのプロセス数の上限は限られている(もしかしたら数千プロセス)ということでしょうか。私の理解が正しければ、数百万のエージェントの要件は、プロセスのみの戦略では機能しません。

質問:

PC サーバー (i7 CPU など) に数百万のエージェントを持つマルチエージェント システムを実装するための最善の戦略は (仮にあったとしても) 何でしょうか。基本的に、共有メモリと相互依存の制約なしで、CPU あたりのエージェント数を最大化する最適な実装戦略は何でしょうか?

前もって感謝します。

0 投票する
3 に答える
1210 参照

java - JADE Con​​tractNet と GUI の問題

JADE マルチエージェント フレームワークを使用した場合のContractNet (Interaction Protocol) と GUIの使用に問題があります。

特に、handleProposeメソッドのオーバーライドでは。私の問題は、GUI の使用に起因することを知っています。説明させてください:

私のエージェント (イニシエーター) は最初の GUI を使用し、クリック後、2 番目のエージェント (レスポンダー) との会話が始まります。プロトコルによると、イニシエーターは CFP をレスポンダーに送信しました。エージェントの Responder は、異なるデータを含む PROPOSE で応答します。

ここから、すべてOK。今...

エージェントのイニシエーターが、応答を返す前にデータを調べてくれることを願っています...つまり、ユーザーのために JTable でデータを公開します! ユーザーは GUI を介して提案を調べ、ボタンをクリックして受け入れるかどうかを選択します。

  • 受け入れた場合、イニシエーターは ACCEPT_PROPOSAL を送信します。
  • 受け入れない場合、イニシエータは REJECT_PROPOSAL を送信します。

これは、メソッドhandleProposalで行う必要があります。これは私のコードです:

.....しかし、明らかに機能しません。

イニシエーター エージェントでは、ContractNet の動作が中止されます。そのため、handleInform、handleRefuse、handleFailure (回答の処理用) も機能しません。イニシエータのプリンシパル GUI がブロックされています。そして他の問題...

代わりに、これを行うと(JButton、別のGUI、ActionListenerなし):

ちゃんと動きます。

問題は ActionListener とそのマルチスレッドの性質にあることはわかっています。しかし、そこにGUIが必要です。

どうすれば修正できますか?

0 投票する
0 に答える
1006 参照

multithreading - マルチスレッドで経路探索アルゴリズムを作る

この画像のようなアルゴリズムを作りたい

http://i.imgur.com/lntXzuF.gif

A*、Dijkstra、Breadth-First-Search、Best-First-Search を SINGLE スレッドで学習しました。

参照できる参照またはアルゴリズムはありますか?

0 投票する
0 に答える
190 参照

prolog - 引数拡張セマンティクスに関する Prolog 実装

プロローグ ロジックで AA 接地拡張のロジックを実装しようとしていますが、その方法がわかりません。いくつかの引数 "argument(a)"、"argument(b)、およびいくつかの attack attack(a,b) があります。引数が固定拡張に属しているかどうかを確認したくありません。定義は固定拡張です。は:

  1. 引数のセット S は、それ自体を攻撃せず、S を攻撃するすべての引数を攻撃する場合に許容されます。
  2. S が許容可能であり、防御しているすべての引数を含む場合、S は完全です。(攻撃者を攻撃する)
  3. グラウンド セットは、完全なセットの最小セットです。

したがって、たとえば、argument(a)、argument(b)、argument(c)、attacks(a,b)、attacks(b,c) は次のようになります。

許容: (a)、(a,c) () 完全: (a,c) 接地: (a,c)


これまでのところ、私は試しました:

0 投票する
2 に答える
932 参照

multithreading - 複数エージェントのスレッド同期

JADE プラットフォームで作成された複数のエージェントが読み取る Java コードがあります。各エージェントには、独自の実行スレッドがあります。したがって、すべてのエージェントが Java コードを同時に実行しますが、同時には実行しません。Java API からクラス CyclicBarrier を使用してみました。これは、このバリアを通過するときにすべてのエージェントのスレッドが集まる方法でバリアを作成する必要がありますが、このクラスはエージェントのスレッドに対しては機能せず、Java スレッドに対してのみ機能します。それらのエージェントのスレッドを同期する方法を知っている人はいますか? 助言がありますか?