はい、違いがあります。非常に単純なエージェントの場合、アクターとエージェントは同じものである可能性があります。ただし、「自律エージェント」の1つ、または少なくとも私は、通常、たとえば、エージェントが自分自身を見つける環境の抽象化を内部的にモデル化するBelief-Desire-Intentionモデルやエージェントのようなものを想定しています。それは相互作用するので、その環境と相互作用してその目標を達成する方法について計画を立てることができます。
アクターはこれらすべてを確実に持つことができますが、単一のエージェントが複数のアクターで構成され、BDIフレームワークのさまざまな部分を共同で処理する場合もあります。アクターは、すべての目的で、スケジューリングユニットです。エージェントが本質的に線形でシングルスレッドの場合、それらは適合します。それらが内部で並列作業を行う場合は、エージェントごとに複数のアクターが必要です。
では、アクターとエージェントには何が共通しているのでしょうか。
どちらもメッセージを渡すことで通信します。
それらは両方とも(通常)内部状態を持っています-たとえ実行状態に暗黙的であっても。
それらは両方とも、他のアクター/エージェントと状態を共有しないことが期待されます。
それらは両方とも、他のアクター/エージェントとは独立してスケジュールされることが期待されます。
エージェントには俳優以上のものがありますか?
俳優はエージェント以上のものを持っていますか?
- Scalaのアクターは状態を共有できますが、私が考えることは何もありません。