VI · 其他 AI 技术

多智能体系统

微软《AI for Beginners》 · 第 23 课 · 中文翻译 · 本地镜像

实现智能的一种可能方法是所谓的涌现(或协同)方法,其基于这样一个事实:许多相对简单的智能体的组合行为可以导致整个系统表现出更复杂(或更智能)的行为。从理论上讲,这种方法基于集体智能涌现论进化控制论的原则,这些理论认为,当低级系统被适当地组合成高级系统时,高级系统会获得某种附加价值(即所谓的元系统转变原则)。

课前测验

多智能体系统这一方向在1990年代随着互联网和分布式系统的发展在人工智能领域兴起。经典的人工智能教材之一《人工智能:现代方法》从多智能体系统的角度探讨了经典人工智能的观点。

多智能体方法的核心是智能体的概念——一个生活在某种环境中的实体,它可以感知环境并对其采取行动。这是一个非常广泛的定义,智能体可以有许多不同的类型和分类:

如今,多智能体系统被应用于许多领域:

我们不会深入探讨多智能体系统,但会考虑一个多智能体建模的示例。

NetLogo是一个基于修改版Logo编程语言的多智能体建模环境。这种语言是为教授编程概念给孩子而开发的,它允许你控制一个名为乌龟的智能体,该智能体可以移动并留下痕迹。这使得创建复杂的几何图形成为可能,这是一种非常直观的方式来理解智能体的行为。

在NetLogo中,我们可以使用create-turtles命令创建许多乌龟。然后我们可以命令所有乌龟执行一些动作(例如下面的例子中向前移动10点):

create-turtles 10
ask turtles [
  forward 10
]

当然,如果所有乌龟都做同样的事情就没什么意思了,所以我们可以ask某些乌龟群体,例如那些在某个点附近的乌龟。我们还可以使用breed [cats cat]命令创建不同种类的乌龟。这里cat是种类的名称,我们需要同时指定单数和复数形式,因为不同的命令使用不同的形式以提高清晰度。

✅ 我们不会深入学习NetLogo语言本身——如果你感兴趣,可以访问优秀的初学者互动NetLogo词典资源。

你可以下载并安装NetLogo来尝试。

模型库

NetLogo的一个优点是它包含一个可供尝试的工作模型库。进入File → Models Library,你会发现许多类别的模型可供选择。

NetLogo模型库

Dmitry Soshnikov提供的模型库截图

你可以打开其中一个模型,例如Biology → Flocking

主要原则

打开模型后,你会进入NetLogo的主界面。以下是一个描述狼和羊种群的示例模型,考虑到有限资源(草地)。

NetLogo主界面

Dmitry Soshnikov提供的截图

在这个界面上,你可以看到:

在大多数情况下,界面会有一个Setup按钮,用于初始化模拟状态,以及一个Go按钮,用于启动执行。这些按钮由代码中的相应处理程序处理,代码如下所示:

to go [
...
]

NetLogo的世界由以下对象组成:

✅ 多智能体环境的美妙之处在于,以乌龟模式或补丁模式运行的代码会由所有智能体同时并行执行。因此,通过编写少量代码并编程单个智能体的行为,你可以创建整个模拟系统的复杂行为。

群体行为

作为多智能体行为的一个示例,我们来看看群体行为。群体行为是一种复杂模式,非常类似于鸟群飞行的方式。观察它们飞行时,你可能会认为它们遵循某种集体算法,或者它们拥有某种形式的集体智能。然而,这种复杂行为的产生仅仅是因为每个单独的智能体(在这种情况下是)只观察短距离内的其他智能体,并遵循三个简单规则:

你可以运行群体行为示例并观察其行为。你还可以调整参数,例如分离程度视距,定义每只鸟能看到的范围。注意,如果你将视距减少到0,所有鸟都会变得“盲目”,群体行为会停止。如果你将分离减少到0,所有鸟会聚集成一条直线。

✅ 切换到代码标签,查看群体行为的三个规则(对齐、凝聚和分离)如何在代码中实现。注意我们如何仅引用视野范围内的智能体。

其他可查看的模型

还有一些有趣的模型可以供你实验:

从这些示例中可以看出,多智能体模拟可以成为理解由遵循相同或类似逻辑的个体组成的复杂系统行为的一种有用方式。它还可以用于控制虚拟智能体,例如计算机游戏中的NPC,或3D动画世界中的智能体。

推理型智能体

上述智能体非常简单,通过某种算法对环境变化做出反应。因此它们是反应型智能体。然而,有时智能体可以进行推理和规划其行动,这种情况下它们被称为推理型智能体

一个典型的例子是个人智能体,它接收到人类的指令去预订一个度假行程。假设互联网上有许多智能体可以帮助它。它需要联系其他智能体以查看哪些航班可用,不同日期的酒店价格是多少,并尝试协商最佳价格。当度假计划完成并得到主人确认后,它可以继续预订。

为了实现这一点,智能体需要通信。为了成功通信,它们需要:

推理型智能体比反应型智能体复杂得多,因为它们不仅对环境变化做出反应,还需要能够主动采取行动。一种提出的推理型智能体架构是所谓的信念-愿望-意图(BDI)智能体:

有一些平台可用于构建多智能体系统,例如JADE这篇论文包含了多智能体平台的综述,以及多智能体系统的简史及其不同的使用场景。

结论

多智能体系统可以采取非常不同的形式,并应用于许多不同的领域。 它们通常专注于单个智能体的简单行为,并通过协同效应实现整个系统的更复杂行为。

🚀 挑战

将本课内容应用于现实世界,尝试构思一个可以解决问题的多智能体系统。例如,多智能体系统需要做些什么来优化校车路线?它如何在面包店中工作?

课后测验

复习与自学

复习这种系统在工业中的应用。选择一个领域,例如制造业或视频游戏行业,探索多智能体系统如何用于解决独特问题。

NetLogo作业