7

我最近遇到了“多代理计算”这个术语,但我不太明白它是什么。我读过一本关于它的书,但这并没有回答代理是什么的基本问题。

是否有人有指向一些参考的指针,该参考清晰简洁,并且在没有大量废话/营销言论的情况下回答了问题?我想知道这是否是我应该熟悉的东西,或者是否是一些我可以忽略的废话,因为老实说我无法分辨。

4

8 回答 8

7

简单来说,多智能体研究试图设计由自主智能体组成的系统。也就是说,你周围有一堆机器人/人/软件代理,每个人都可以采取自己的行动,但只能“看到”他周围的东西,如何让系统按照你的意愿行事?

例子,

给定一堆感知能力有限的机器人,你如何让它们监控一个领域的敌人?找到一个领域的所有地雷?

给定一堆人,你如何让他们最大化最不快乐的人的快乐?没有剥夺他们的自由。

给定一群人,你如何安排一个或多个会议时间来最大化他们的幸福感?不泄露他们的私人信息?

其中一些问题可能看起来很容易解决,但事实并非如此。

多智能体研究混合了博弈论、经济学、人工智能,有时甚至是生物学的技术,以回答这些问题。

如果您想了解更多详细信息,我有一本我正在编写的免费教科书,名为Fundamentals of Multiagent Systems

于 2009-02-05T22:28:51.540 回答
5

多智能体系统是从人工智能借来的概念。这几乎就像一个虚拟世界,您可以在其中拥有能够观察、交流和反应的代理。举个例子,你可能有一个内存分配代理,你必须请求内存,它决定是否给你。或者您可能有一个代理来监视 Web 服务器并在它挂起时重新启动它。多智能体系统背后的主要目标是在系统的不同部分之间建立一个更像 Smalltalk 的通信系统,以便让所有东西一起工作,而不是来自中央程序的更多自上而下的指令。

于 2008-08-30T05:32:20.337 回答
5

“代理”是软件设计中的另一个抽象概念
作为粗略的等级;
机器代码、汇编、机器无关语言、子例程、过程、抽象数据类型、对象,最后是代理。

随着互连分布在计算中变得越来越重要,对可以与其他系统(具有不同利益)合作达成协议的系统的需求变得明显;这就是代理的用武之地。独立代理的代理代表您在其环境中的最大利益。

其他代理示例:

  • 航天器控制,在没有时间传递航天器-地勤人员-航天器信息时做出快速决策(例如NASA 的 Deep Space 1
  • 空中交通管制(系统凌驾于飞行员之上;这在大多数商业航班中都有,并且挽救了生命)

多智能体系统相关;

  • 经济学
  • 博弈论
  • 逻辑
  • 哲学
  • 社会科学

我不认为代理是你应该掩饰的东西。谷歌学者的“多代理”有200 万次点击,CiteSeer上的点击次数更多;它是计算机科学的一个快速发展的分支。

于 2008-10-17T21:53:50.917 回答
4

多智能体计算有几个关键方面,分布和独立性是其中之一。

多代理不必在不同的机器上,正如@Kyle 所说,它们可以是单个芯片或机器上的多个进程,但它们的行为没有明确的集中指导。他们可能会协同行动,因此他们有一定的同步规则——例如,在聚在一起比较结果之前分别完成他们的工作。

通常,尽管分割成单独的代理背后的原因是允许不同的优先级来指导每个代理的动作和反应。也许使用经济模型来划分公共资源,或者因为不同的功能在物理上是分开的,所以不需要彼此紧密交互。

<全面概括> 有什么可以忽略的吗?好吧,这并不是什么特别的东西,所以有点像“我可以忽略快速排序的概念吗?” 如果您不了解快速排序是什么,那么您就不会成为一名开发人员,因为您的大部分生活都不会受到影响。如果您对不同的架构和模型有更多的了解,您将拥有更多的知识来部署在新的和不可预测的地方。 <全面概括>

十年前,“多智能体系统”(MAS)是学术文献中随处可见的短语之一。这些天它不那么流行了,但它所代表的一些想法在某些地方确实很有用。但在其他方面完全没有必要。所以我希望这很清楚;)

于 2008-08-30T06:45:20.050 回答
2

根据 Jennings 和 Wooldridge 两位顶级多智能体研究人员的说法,智能体是一种对其环境作出反应的对象,具有主动性和社交性。也就是说,代理是一种软件,它可以以适合其自身目标的方式实时对其环境做出反应。它是主动的,这意味着它不会总是等待被要求执行任务,如果它看到有机会做一些它认为对其目标有益的事情,它就会去做。并且它是社会性的,即它可以与其他代理进行通信,在实现自己的目标时不必做任何这些事情,但如果出现这种情况,它应该能够做到这些。

于 2009-11-02T11:17:30.727 回答
2

多智能体计算是什么很难说,因为智能体的定义通常很软,被标记术语等包围。我将尝试根据制造系统的研究来解释它是什么以及它可以在哪里使用,这是我熟悉的区域。

现代制造业的“未解决”问题之一是调度。当问题的定义是静态的时,可以找到最优解,但在现实中,人们不上班,制造资源失效,计算机失效等。需求一直在变化,需要不同的产品(即产品的大规模定制——一辆生产的汽车有空调,下一辆没有……)。这一切都导致以下结论:a) 制造非常复杂,b) 静态方法,例如提前一周安排,是行不通的。所以这个想法是这样的:我们为什么不让智能程序代表系统的一部分,自己解决这个烂摊子呢?这些程序称为代理。他们应该相互沟通和协商,并确保任务按时完成。通过使用代理,我们希望降低控制系统的复杂性,使其更易于管理,实现更好的人机交互,使其更健壮且不易出错,非常重要的是:使控制系统分散。

简而言之:代理只是一个概念,但他们是每个人都能直观理解的概念。代码仍然需要编写,但它以不同的方式编写,比 OOP 更高的抽象。

于 2008-10-01T09:58:45.023 回答
2

曾经有一段时间很难找到关于软件代理的好资料,主要是因为对营销潜力的认识。那朵玫瑰上的花朵已经减少,因此互联网上的信噪比提高了软件代理的质量。

这是软件代理开源项目的博客文章中对软件代理的一个很好的介绍。术语多代理系统仅表示多个软件代理运行并相互通信和委托子任务的系统。

于 2009-10-31T05:25:53.663 回答
0

您可以在此处找到有关代理的集中白皮书。

于 2009-07-21T20:30:43.123 回答