Dun*_*ter 9 scala artificial-intelligence agents actor agents-jade
来自mutli-agent系统的学术背景(使用JADE在Java中开发)我只是在外围意识到Actor并发范例.现在我已经开始探索Scala,我忍不住被Agent和Actor方法之间的相似性所打动.
我非常想在我的下一个研究项目中使用Scala的Actor库而不是简单地调用JADE库,因为这会迫使我更深入地掌握语言.此外,JADE专注于根据行为定义所有内容并不适合我的问题.
高度自主的演员和我失踪的特工之间是否存在根本不同的东西?
Dan*_*ral 11
是的,存在差异.对于非常简单的代理,演员和代理可能是同一个东西.但是,通过"自主代理"之一,或者,至少,我,通常假设类似,例如,一种信念-愿望-意图模型,其中内部代理模型它发现自己在环境中的抽象,和代理它与之交互,因此它可以制定如何与该环境进行交互以实现其目标的计划.
虽然演员可以肯定拥有所有这些,但是单个代理也可能由多个演员组成,共同行动以处理BDI框架的不同部分.对于所有意图,演员都是一个调度单元.如果您的代理基本上是线性和单线程,则它们适合.如果他们在内部进行并行工作,那么每个代理都需要多个actor.
那么,演员和代理人有什么共同之处呢?
他们都通过传递消息进行通信.
它们(通常)都具有内部状态 - 即使隐含在执行状态中.
预计他们都不会与其他演员/代理人分享州.
预计它们都将独立于其他参与者/代理商进行安排.
代理人比演员更多的是什么?
代理商通常遵循规定代理人行为的模型 - 例如,BDI - 而演员通常不遵守.但是,反应特工在这方面与演员相似.
代理可能有多个内部调度单元.但是,那些没有的代理商在这方面与演员相似.
演员比代理人更有什么?