多智能体系统模拟:挑战与框架
1. 多智能体系统的耦合与调度
在定义智能体行为和环境动态后,需要将它们耦合起来以对目标多智能体系统(MAS)进行建模。一个MAS可以被视为一个三元组:MAS = <智能体, 环境, 耦合>。耦合的主要问题是使其在时间上保持一致,即需要定义一个进化函数(Evolution),使得MAS从时刻t到t + dt的演化是智能体动作A1(t), A2(t)…An(t)与环境自然演化产生的动态En(t)的组合结果:
[ \sigma(t + dt) = Evolution(\uplus(An(t), En(t)), \sigma(t)) ]
这里的符号⊎表示动作组合运算符,用于定义如何组合时刻t产生的动作以计算它们对前一世界状态σ(t)的影响。
离散时间模拟(dt为常数)因其实现简单,是模拟MAS最常用的技术。其实现可以通过以下简单的循环:
while ( globalVirtualTime != endOfSimulation ){
for ( SimulatedAgent agent : AllTheAgents )
agent.act(); // 感知、决策、行动
virtualEnvironment.evolve(); // 动态环境的演化
globalVirtualTime++;
}
然而,这种调度技术存在一个主要问题:每个模型的激活顺序可能会改变系统状态的结果,因为环境会随着每个动作而演化,这可能导致相同行为下系统动态差异很大。例如在捕食者 - 猎物问题中,猎物的生死可能取决于激活列
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



