复杂系统学习(七):基于代理的模型I

目录

1. 什么是 "基于代理 "的模型?

1.1 ABM的例子——群集行为(Flocking Behaviour)

1.1.1 群集行为的‘类鸟群’模型

1.1.2 类鸟群的邻接函数

2. 代理的特征

3. 环境和交互

3.1 例子:蚁群中的觅食

3.2 NetLogo "蚂蚁 "模型

4. 代理决策

4.1 Reflexive agents

5. 摘要


1. 什么是 "基于代理 "的模型?

与细胞自动机(CA)一样,基于代理的模型(ABM)是一种对复杂系统进行建模的方法,其重点是系统的组成部分和它们之间的相互作用。

一个ABM通常有三个要素:

  • 代理
  • 环境(包括其他代理) 
  • 相互作用

ABMs与CA的不同之处在于,它们在如何表示代理行为和交互结构方面允许更大的灵活性。

1.1 ABM的例子——群集行为(Flocking Behaviour)

1.1.1 群集行为的‘类鸟群’模型

代理(类鸟群)行为包括:

  • 向前运动
  • 向左或向右转弯
  • (可能出现的)加速和减速

1.1.2 类鸟群的邻接函数

环境由鸟群中的其他boids组成。

邻近函数是boids的感知范围(它能感知到其他代理的距离)。

相互作用:

Boids根据以下三个规则进行互动:

1. Separation(分离)

boids会转向以避免挤到附近的boids——避免碰撞。


2. Cohesion(凝聚)

 boids将转向附近boids的平均位置——人多势众。


3. Alignment(对齐)

boids将转向附近boids的平均方位。

2. 代理的特征

基本特征:自成一体(self-contained)

一个代理是一个系统的模块化组件,它有一个边界,可以与其他代理明确区分并被识别

集群模型(Flocking model):boids可以明确区分,并被其他boids识别(尽管不是唯一的)。


基本特征:自主(autonomous)

一个代理可以在其环境中独立运作,并在与其他代理的互动中独立运作(在定义的模型范围内)。

集群模型(Flocking model):每个boid的行为完全由它获得的关于其本地环境的信息定义。


基本特征:动态状态(dynamic state)

一个代理有属性,或变量,可以随着时间的推移而改变。一个代理的当前状态决定了其未来的行动和行为。

群集模型:一个boid的状态由它当前的方向和速度组成。这个状态决定了boid的运动,并根据它接收到的关于本地环境的信息进行修改。


基本特征:社会(social)

一个代理与其他代理有动态的相互作用,影响他们的行为。

群集模型:boids通过感知和反应其他boids的位置和行为而相互作用。


其他特征:适应性(adaptive)

个体可能有能力根据过去的经验学习和调整自己的行为。

例如,在捕食者——猎物模型中,被捕食者发现捕食者更多地攻击他们右边的同类,而不是他们左边的同类(因为它们的传感器/眼睛的位置),它们可能能够“学习”向捕食者的左边移动,从而逃脱检测。


其他特征:有目标的(goal-directed)

一个代理可能有它试图通过其行为来实现的目标。

例如,除了躲避捕食者,猎物还有收集材料筑巢的目,这将是影响他们行为的另一个因素。


其他特征:异质性(heterogeneous)

一个系统可能由不同类型的代理组成:这些差异可能是设计出来的(例如,捕食者和猎物),也可能是代理过去历史的结果(例如,捕食者的能量水平,基于它最近是否吃过东西。) 

更复杂的ABM可能包括一系列不同类型的代理人;例如,土地使用的模型可能包括居民、规划者、基础设施提供者、企业、开发商和说客等。

3. 环境和交互

环境

  • 代理监视其所处的物理或虚拟空间,并对其环境作出反应。
  • CA的一维和二维网格是非常简单的环境。
  • 环境可能是静态的(随着时间的推移而不变),也可能由于代理的行为而改变,也可能是独立的动态环境。
  • 真实的环境通常是动态的(而且往往是随机的)。因此,我们可能无法预见环境的所有可能状态,以及代理将如何对其做出反应。

交互

  • 复杂系统的一个定义特征是由代理邻域定义的代理之间的局部相互作用。
  • 根据系统的结构,一个代理的邻域的组成可能是动态的(即随着时间的推移,在其环境中移动而变化)。
  • 邻里关系,以及相互作用的模式,并不总是用空间术语来定义,它们也可能是具有特定拓扑结构的网络。

3.1 例子:蚁群中的觅食

蚂蚁群能够在没有首领、监督者或统治者的情况下取得非凡的组织成就,建造精致的巢穴并有效地觅食。

进化生物学家埃德蒙-O-威尔逊(Edmund O. Wilson)在20世纪60年代和70年代的工作使人们对蚂蚁社会是如何运作的有了新的认识。

单个蚂蚁根据相对简单的决策规则,执行有限的任务,捡拾和丢弃食物和建筑材料。

这些决策规则的输入是化学信号(信息素)。这些信号可以来自两个方面:

  • 与附近蚂蚁的直接互动;以及
  • 通过蚂蚁在环境中沉淀的信息素进行交流。

蚁群觅食:

3.2 NetLogo "蚂蚁 "模型

蚂蚁的规则

如果蚂蚁不携带食物:

  • 在环境中随机移动
  • 如果遇到食物信息素,朝信号最强的方向移动

如果一只蚂蚁遇到了食物:

  • 捡起它 

如果一只蚂蚁正在搬运食物 :

  • 沿着巢穴信息素的梯度向巢穴返回
  • 在移动时将食物信息素存入环境中 

环境

  • 有一个从巢穴中扩散出来的巢穴信息素梯度
  • 食物信息素会随着时间的推移而蒸发掉 

4. 代理决策

代理人通常被设计为做出理性的(rational)决定:他们会根据迄今为止收到的信息,采取行动,使其行为的预期价值最大化。

rational \neq omniscient:一个代理的感知可能不能提供所有需要的信息。

rational \neq clairvoyant:代理的行为可能不会产生预期的结果。

所以,rational \neq successful (necessarily)

rational \rightarrow exploration, learning, adaptation, . . .


代理的决策可能源于:

  • 概率性:用分布表示决策
  • 基于规则:对决策过程进行建模 
  • 适应性:代理人可以通过强化或进化来学习 

选择通常取决于模型的目的(它被用来回答什么问题?) 

代理人决策的范围可以从简单到复杂。

4.1 Reflexive agents

具有内部状态的反射性代理

目标驱动的代理

功利主义代理

学习代理

5. 摘要

基于代理的模型由代理、环境以及代理与(a)其他代理和(b)环境之间的相互作用组成。

ABM的特点是分散的信息和决策,并能重现复杂系统中的涌现行为和自组织。

ABMs被广泛运用于各种领域:生态学、社会科学、经济学、政治学等。

ABMs可以比CAs复杂得多。

  • 6
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: MATLAB是一种功能强大且广泛使用的数学软件,它提供了各种优化工具和功能,包括基于代理模型的优化方法。 基于代理模型的优化是一种通过使用代理模型来近似目标函数,从而加快优化算法的收敛速度的优化方法。在实际问题中,目标函数可能非常复杂,无法直接求解或优化。而使用代理模型可以帮助我们在不必计算真实目标函数的情况下进行优化。 在MATLAB中,我们可以使用拟合工具箱中的函数来构建代理模型。该工具箱提供了各种拟合算法,包括多项式拟合、正则化拟合、径向基函数拟合等。我们可以根据实际情况选择合适的拟合算法,并使用样本点来拟合代理模型。 拟合完成后,我们可以使用代理模型来近似真实目标函数,并在优化算法中使用代理模型进行计算。通过近似的代理模型,我们可以加快优化算法的收敛速度,减少计算时间。当优化算法使用代理模型找到一个较优解时,我们可以再次使用真实目标函数进行验证。 MATLAB还提供了许多基于代理模型的优化工具箱和函数,如Global Optimization Toolbox和surrogateopt函数等。这些工具和函数可以帮助我们更方便地实现基于代理模型的优化,提高问题求解的效率和准确性。 总而言之,MATLAB提供了一系列基于代理模型的优化方法和工具,能够帮助我们解决复杂的优化问题。通过使用代理模型,我们可以加快优化算法的收敛速度,并在不必计算真实目标函数的情况下进行优化。这使得MATLAB成为研究和应用代理模型优化的理想工具。 ### 回答2: MATLAB基于代理模型的优化是一种使用代理模型来优化函数的方法。代理模型是一个近似函数,它可以代替实际的优化目标函数进行计算。这种方法的优点是可以加快优化的速度,节省计算资源,并且可以处理高维度和复杂的优化问题。 在MATLAB中,可以使用代理模型来进行优化的函数有很多,例如,使用局部代理模型的序列二次规划方法(SQP)、基于代理模型的遗传算法(GA)和基于代理模型的粒子群算法(PSO)等。这些方法通过不断更新代理模型的参数,使其逐渐逼近真实的优化目标函数,并在较短的时间内找到较好的优化解。 在使用MATLAB进行基于代理模型的优化时,首先需要选择适当的代理模型类型和参数设定。常用的代理模型类型包括高斯过程回归模型(GPR)、支持向量回归模型(SVR)和人工神经网络模型(ANN)等。然后,根据实际情况来决定代理模型的训练集规模和采样策略。一般来说,代理模型的训练集要有足够的样本大小,并能够在整个搜索空间中均匀分布。 在代理模型的构建完成后,可以使用MATLAB中的优化函数来进行代理模型的调用和优化。通过不断迭代更新代理模型的参数,直到满足收敛条件,就可以得到一个较好的优化解。在优化过程中,可以通过观察代理模型的变化和计算目标函数的真实值来评估优化的效果,并根据需要进行调整和改进。 总之,MATLAB基于代理模型的优化是一种高效、灵活和可靠的优化方法,可以广泛应用于各种不同领域的问题求解。它提供了多种代理模型类型和优化算法的选择,使得用户能够根据具体的问题和需求来进行合适的优化方案设计和实施。 ### 回答3: MATLAB基于代理模型的优化是一种通过建立代理模型来近似目标函数的优化方法。在传统的优化问题中,目标函数可能非常复杂,难以分析和优化。而基于代理模型的优化方法则通过采集一组初始样本点,并通过这些样本点构建一个合适的代理模型,来近似目标函数。 代理模型是一种对目标函数的简化模型,可以通过插值、回归等统计学方法建立。常用的代理模型有响应面模型、高斯过程模型等。通过建立代理模型,可以对目标函数进行快速的评估,找到近似的最优解。 在MATLAB中,可以使用一些工具包来实现基于代理模型的优化。例如,Global Optimization Toolbox中的surrogateopt函数可以使用代理模型进行优化。这个函数可以根据用户提供的初始样本点和目标函数,自动构建代理模型,并进行优化。同时,还可以根据用户设定的准则来选择适当的代理模型。 基于代理模型的优化方法在实际应用中具有一定的优势。首先,通过建立代理模型,可以减少调用目标函数的次数,从而节省计算时间。此外,代理模型可以将目标函数的全局信息进行整合,使得优化更加全面。最重要的是,基于代理模型的优化方法可以应对高维复杂的优化问题,使得问题求解更加容易。 总之,MATLAB提供了基于代理模型的优化方法来解决复杂的优化问题。通过建立代理模型,可以在保证结果准确性的前提下,加速优化过程,提高求解效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值