当前位置: 首页 > news >正文

ESC算法/逃生:一种基于人群疏散行为的优化方法

文章介绍了一种有用的算法,称为逃生或逃生算法(ESC),受人群疏散行为的启发,用于解决现实世界的案例和基准问题。ESC算法模拟了疏散过程中人群的行为,其中人群在探索阶段被分为平静、羊群和恐慌组,反映了不同级别的决策和情绪状态。

冷静的个体引导人群走向安全,放牧的个体在不太安全的区域模仿他人,恐慌的个体在最危险的区域做出不稳定的决定。随着算法过渡到利用阶段,人群趋向最优解决方案,类似于找到最安全的出口。该算法于2024年11月最新发表在JCR1区,中科院2区Top SCI期刊 Artificial Intelligence Review。

NO.1|ESC算法模型

ESC算法的有效性在CEC 2017和CEC 2022两个可调节问题大小测试套件上得到验证。ESC在CEC 2017的10维、30维测试以及CEC 2022的10维和20维测试中排名第一,在CEC 2017的50维和100维测试中排名第二。
在这里插入图片描述

(1)灵感来源

ESC的灵感来自人们在紧急疏散期间的行为。本节解释了人群疏散系统的背景,以及这些行为如何启发了ESC算法的设计。通过对人群中个体的不同反应——平静、羊群和恐慌——进行建模,ESC算法有效地平衡了解决复杂优化问题的探索和利用。

ESC的发展从紧急疏散期间人类行为的微妙动态中汲取了深刻的灵感(周等人2019年)。在紧急情景的混乱背景下——从自然灾害到人为威胁——个体表现出一系列受恐慌、环境条件和人群集体运动影响的行为。这些行为显著影响疏散过程的效率,凸显了适应性和战略规划的重要性。我们的算法通过计算镜头封装了这种复杂性,将观察到的人类行为转化为解决优化问题的元启发式框架。

ESC算法特别受到在人群中观察到的“领导者-追随者”系统的启发,在这个系统中,个人自然承担指导集体运动的角色。在这个系统中,领导者(静态和动态)出现影响疏散的方向和速度,而追随者构成了人群的主体,他们的运动受到周围人的影响。这一现象反映在我们的算法中,通过在算法的探索阶段将代理划分为平静、羊群和恐慌的人群,每个人都表现出不同的行为,共同推动搜索过程走向最佳解决方案。

冷静人群:人群中冷静的个体,他们以清晰的头脑评估情况并做出理性的决定。这些代理人有条不紊地搜索问题空间,类似于冷静的个体在疏散中找到有效的路径,引导他人通过他们稳定的影响。

羊群行为:个体在没有明确个人方向的情况下跟随人群的羊群行为反映在我们算法的一致性代理中。这种行为增强了利用阶段,因为代理聚集在搜索空间的有希望的区域,类似于人群中的个体如何跟随其他人到达感知的出口或安全区域。

恐慌人群:惊慌失措的个体,其不可预测和不稳定的动作既会阻碍也会出人意料地帮助寻找逃生路线,激发了我们算法中的多样化机制。他们的行为在恐慌代理中被复制,引入随机性并防止过早收敛到局部最优,类似于人群中的恐慌如何导致发现非常规出口。

通过ESC算法,我们利用紧急情况下人群行为的内在智慧,将平静、羊群和恐慌的相互作用转化为计算模型。这种方法不仅为算法设计提供了一个有用的视角,还强调了自然和人类现象作为开发高级问题解决策略灵感来源的潜力。

(2)初始化

x i , j = r a n d ⋅ ( U B j − L B j ) + L B j , i = 1 , 2 , … … , N , j = 1 , 2 , … , n \begin{aligned}&x_{i,j} = rand \cdot(UB_j - LB_j) +LB_j, i = 1, 2,\ldots\ldots, N,j= 1, 2,\ldots, n\end{aligned} xi,j=rand(UBjLBj)+LBj,i=1,2,……,N,j=1,2,,n

LB为下届,UB为上届,rand为0到1之间的随机数,xij为种群位置。初始化总体后,使用适应度函数f评估每个个体的适应度 。然后根据适应度按升序对群体进行排序,将最优秀的个体存储在精英池E中,该参数表示群体发现的潜在安全出口的数量。
E = { x ( 1 ) , x ( 2 ) , … , x ( exist) } {{E}}=\{{{{x}}}_{(1)},{{{x}}}_{(2)},\dots ,{{{x}}}_{(\text{exist)}}\} E={x(1),x(2),,x(exist)}

(3)恐慌指数和迭代过程

ESC算法对迭代过程进行建模,以反映人群在疏散过程中不断变化的行为。该算法根据个人运动的分类调整其平静、一致或恐慌群体,对应疏散过程中的不同行为反应在每次迭代t开始时,恐慌指数P(t)计算如下:
P ( t ) = c o s ( π t 6T ) P(t)=\mathit{cos}\left(\frac{\pi t}{\text{6T}}\right) P(t)=cos(6Tπt)
恐慌指数反映了人群中恐慌的总体水平,数值越高表明行为越混乱。随着时间的推移,该指数会下降从0到迭代次数T,模拟人群对疏散环境的适应。

(4)冷静组更新

在这里插入图片描述

冷静群体中的个体行为理性,走向中心位置Cj,代表小组的集体决定:
x i , j new = x i , j + m 1 × ( w 1 × ( C j − x i , j ) + v c , j ) × P ( t ) {x}_{i,j}^{\text{new}}={x}_{i,j}+{m}_{1}\times \left({w}_{1}\times ({C}_{j}-{x}_{i,j})+{v}_{c,j}\right)\times P(t) xi,jnew=xi,j+m1×(w1×(Cjxi,j)+vc,j)×P(t)
v c , j = R c , j − x i , j + ϵ j {v}_{c,j}={R}_{c,j}-{x}_{i,j}+{\epsilon }_{j} vc,j=Rc,jxi,j+ϵj
R c , j = r m i n , j c + r i , j × ( r m a x , j c − r m i n , j c ) {R}_{c,j}={r}_{min,j}^{c}+{r}_{i,j}\times ({r}_{max,j}^{c}-{r}_{min,j}^{c}) Rc,j=rmin,jc+ri,j×(rmax,jcrmin,jc)

(5)牧群更新(随大流组)

放牧个体遵循冷静和恐慌群体的行为。他们的位置会根据两者的影响进行更新:
x i , j new = x i , j + m 1 × ( w 1 × ( C j − x i , j ) + m 2 × w 2 × ( x p , j − x i , j ) + v h , j × P ( t ) ) {x}_{i,j}^{\text{new}}={x}_{i,j}+{m}_{1}\times \left({w}_{1}\times ({C}_{j}-{x}_{i,j})+{m}_{2}\times {w}_{2}\times ({x}_{p,j}-{x}_{i,j})+{v}_{h,j}\times P(t)\right) xi,jnew=xi,j+m1×(w1×(Cjxi,j)+m2×w2×(xp,jxi,j)+vh,j×P(t))
v h , j = R h , j − x i , j + ϵ j {v}_{h,j}={R}_{h,j}-{x}_{i,j}+{\epsilon }_{j} vh,j=Rh,jxi,j+ϵj
R h , j = r m i n , j h + r i , j × ( r m a x , j h − r m i n , j h ) {R}_{h,j}={r}_{min,j}^{h}+{r}_{i,j}\times ({r}_{max,j}^{h}-{r}_{min,j}^{h}) Rh,j=rmin,jh+ri,j×(rmax,jhrmin,jh)

(6)恐慌群更新

恐慌驱动的个体更不稳定地探索解决方案空间,受到潜在出口(精英池)和其他个体随机方向的影响:
x i , j new = x i , j + m 1 × ( w 1 × ( E j − x i , j ) + m 2 × w 2 × ( x rand, j − x i , j ) + v p , j × P ( t ) ) {x}_{i,j}^{\text{new}}={x}_{i,j}+{m}_{1}\times \left({w}_{1}\times ({E}_{j}-{x}_{i,j})+{m}_{2}\times {w}_{2}\times ({x}_{\text{rand,}j}-{x}_{i,j})+{v}_{p,j}\times P(t)\right) xi,jnew=xi,j+m1×(w1×(Ejxi,j)+m2×w2×(xrand,jxi,j)+vp,j×P(t))
v p , j = R p , j − x i , j + ϵ j {v}_{p,j}={R}_{p,j}-{x}_{i,j}+{\epsilon }_{j} vp,j=Rp,jxi,j+ϵj
R p , j = r m i n , j p + r i , j × ( r m a x , j p − r m i n , j p ) {R}_{p,j}={r}_{min,j}^{p}+{r}_{i,j}\times ({r}_{max,j}^{p}-{r}_{min,j}^{p}) Rp,j=rmin,jp+ri,j×(rmax,jprmin,jp)

开发阶段

随着迭代的进行,超出T/2,算法将过渡到开发阶段,在该阶段,所有个体都被视为 Calm。重点转移到根据迄今为止确定的最佳解决方案进行微调。在此阶段,个体通过更接近 Elite Pool 的成员来完善自己的位置,Elite Pool 代表可能的安全出口和之前迭代中确定的最佳解决方案,以及从人群中随机选择的个体。这个过程模拟了人群逐渐向确定的最佳出口收敛。此阶段的位置更新由方程给出。
x i , j n e w = x i , j + m 1 ⋅ w 1 ⋅ ( E j − x i , j ) + m 2 ⋅ w 2 ⋅ ( x rand, j − x i , j ) {x}_{i,j}^{new}={x}_{i,j}+{m}_{1}\cdot {w}_{1}\cdot \left({E}_{j}-{x}_{i,j}\right)+{m}_{2}\cdot {w}_{2}\cdot \left({x}_{\text{rand,}j}-{x}_{i,j}\right) xi,jnew=xi,j+m1w1(Ejxi,j)+m2w2(xrand,jxi,j)
这允许个人通过更接近 Elite Pool 成员和随机选择的个人来优化他们的位置,模拟人群逐渐向确定的最佳出口汇聚。

Ref: Ouyang, K., Fu, S., Chen, Y. et al. Escape: an optimization method based on crowd evacuation behaviors. Artif Intell Rev 58, 19 (2025). https://doi.org/10.1007/s10462-024-11008-6.

相关文章:

ESC算法/逃生:一种基于人群疏散行为的优化方法

文章介绍了一种有用的算法,称为逃生或逃生算法(ESC),受人群疏散行为的启发,用于解决现实世界的案例和基准问题。ESC算法模拟了疏散过程中人群的行为,其中人群在探索阶段被分为平静、羊群和恐慌组&#xff0…...

构建安全的数据库环境:群晖NAS安装MySQL和phpMyAdmin详细步骤

文章目录 前言1. 安装MySQL2. 安装phpMyAdmin3. 修改User表4. 本地测试连接MySQL5. 安装cpolar内网穿透6. 配置MySQL公网访问地址7. 配置MySQL固定公网地址8. 配置phpMyAdmin公网地址9. 配置phpmyadmin固定公网地址 前言 本文将详细讲解如何在群晖NAS上安装MySQL及其数据库管理…...

【人工智能】深入理解图神经网络(GNN):用Python实现社交网络节点分类与分子结构分析

解锁Python编程的无限可能:《奇妙的Python》带你漫游代码世界 《Python OpenCV从菜鸟到高手》带你进入图像处理与计算机视觉的大门! 图神经网络(Graph Neural Network, GNN)是近年来在深度学习领域迅速发展的新兴方向,主要用于处理图结构数据。GNN在社交网络分析、化学分…...

Qt 日志文件的滚动写入

Qt 日志文件的滚动写入 flyfish 日志文件的滚动写入功能。在日志文件达到10MB时创建新的日志文件,并且在总日志文件大小达到10GB时开始覆盖最早的日志文件 以监控一个文件夹的写日志为例 日志文件创建与管理 初始化日志文件:在FileMonitor类的构造函…...

【c语言】数据包捕获和分析工具

请解释一下数据包捕获和分析工具(如Wireshark)的工作原理和用途。 数据包捕获和分析工具,如Wireshark(前身为Ethereal),是一种网络协议分析软件,它允许用户实时监控、抓取并分析计算机网络中的网…...

移情别恋c++ ദ്ദി˶ー̀֊ー́ ) ——14.哈希(2)(模拟实现)

1.概念介绍 1.1开散列 开散列(Open Hashing),也叫链地址法,是一种解决哈希冲突的方法。每个哈希表槽位保存一个链表,所有散列到同一位置的元素都存储在该链表中。当插入元素发生冲突时,将新元素添加到相应…...

请描述一下JVM(Java虚拟机)的生命周期及其对应用程序性能的影响

1、请描述一下JVM(Java虚拟机)的生命周期及其对应用程序性能的影响。 JVM(Java虚拟机)的生命周期主要涉及以下几个阶段:加载、验证、准备、解析、执行、卸载。每个阶段都有其特定的作用和影响。 加载:JVM…...

展会邀约|加速科技与您相约IC China 2024!

第二十一届中国国际半导体博览会( IC China 2024)将于 2024 年11月18日—11月20日在北京国家会议中心举行。加速科技将携高性能测试机ST2500EX、ST2500E、eATE及全系测试解决方案亮相E2馆B150展位。博览会期间,将同期举办"半导体产业前沿…...

鸿蒙中服务卡片数据的获取和渲染

1. 2.在卡片中使用LocalStorageProp接受传递的数据 LocalStorageProp("configNewsHead") configNewsHeadLocal: ConfigNewsHeadInfoItem[] [] 注意:LocalStorageProp括号中的为第一步图片2中的键 3.第一次在服务卡片的第一个卡片中可能会获取不到数据…...

运维篇-修复centos7无法下载docker问题

修复centos7无法下载docker问题 1、安装docker时报错2、docker无法下载镜像 1、安装docker时报错 linux的centos系统,安装docker时会报错 –> Finished Dependency Resolution Error: Package: glibc-2.17-307.el7.1.i686 (base) Requires: glibc-common 2.17…...

【论文阅读】WaDec: Decompiling WebAssembly Using Large Language Model

论文阅读笔记:WaDec: Decompiling WebAssembly Using Large Language Model 1. 来源出处 论文标题: WaDec: Decompiling WebAssembly Using Large Language Model作者: Xinyu She, Yanjie Zhao, Haoyu Wang会议: 39th IEEE/ACM International Conference on Automated Softwar…...

redis类型介绍

1. 字符串(String): • 简介:最基础的数据类型,可以存储任何形式的字符串,包括文本数据和数字数据。 • 常用操作:SET、GET、INCR、DECR等。 2. 列表(List): …...

kubernetes如何配置默认存储

如果不想每次都创建PV,希望k8s集群中能够配置号默认存储,然后根据你的PVC自动创建PV,就需要安装一个默认存储,也就是storageclass 什么是storageclass Kubernetes提供了一套可以自动创建PV的机制,即:Dyna…...

【微服务】Spring AI 使用详解

目录 一、前言 二、Spring AI 概述 2.1 什么是Spring AI 2.2 Spring AI 特点 2.3 Spring AI 带来的便利 2.4 Spring AI 应用领域 2.4.1 聊天模型 2.4.2 文本到图像模型 2.4.3 音频转文本 2.4.4 嵌入大模型使用 2.4.5 矢量数据库支持 2.4.6 数据工程ETL框架 三、Sp…...

DataGrip 连接 dm

参考链接 使用DataGrip链接达梦数据库_datagrip连接达梦数据库-CSDN博客 下载 jdbc 驱动包 第一种 通过链接下载:下载 第二种【特指 window 安装包】 在达梦安装包 iso 文件里面 source/drivers/jdbc 将驱动添加进 DataGrip 选中 jdbc 驱动包,然后选…...

数据库监控工具DBdoctor v3.2.4.3版本发布,新增对openGauss、Vastbase G100的支持!

新引擎扩展 新增对openGauss数据库的支持:支持对openGauss数据库的SQL审核、实例巡检、性能洞察、锁透视、根因诊断、基础监控、索引推荐、存储分析; 新增对Vastbase G100数据库的支持:支持对Vastbase G100数据库的SQL审核、实例巡检、性能洞…...

Git 常用命令大全与详解

Git 是一种广泛使用的分布式版本控制系统。无论是管理个人项目还是进行团队协作,掌握 Git 的常用命令都是开发者必备的技能之一。本文将介绍一些常用的 Git 命令,并对其进行详细说明。 1. 基础命令 初始化仓库 git init:在当前目录下初始化…...

执行flink sql连接clickhouse库

手把手教学,flink connector打通clickhouse大数据库,通过下发flink sql,来使用ck。 组件版本jdk1.8flink1.17.2clickhouse23.12.2.59 1.背景 flink官方不支持clickhouse连接器,工作中难免会用到。 2.方案 利用GitHub大佬提供…...

什么是C++中的友元函数和友元类?

友元函数(Friend Function)和 友元类(Friend Class)是用于控制类的访问权限的机制。这允许特定的函数或类访问另一个类的私有成员和保护成员,打破了 C 的封装性规则。 友元函数 定义 友元提供了不同类的成员函数之间…...

基于Spring Boot+Vue的多媒体素材管理系统的设计与实现

一.系统开发工具与环境搭建 1.系统设计开发工具 后端使用Java编程语言的Spring boot框架 项目架构:B/S架构 运行环境:win10/win11、jdk17 前端: 技术:框架Vue.js;UI库:ElementUI; 开发工具&…...

【人工智能】神经网络的优化器optimizer(二):Adagrad自适应学习率优化器

一.自适应梯度算法Adagrad概述 Adagrad(Adaptive Gradient Algorithm)是一种自适应学习率的优化算法,由Duchi等人在2011年提出。其核心思想是针对不同参数自动调整学习率,适合处理稀疏数据和不同参数梯度差异较大的场景。Adagrad通…...

从零实现富文本编辑器#5-编辑器选区模型的状态结构表达

先前我们总结了浏览器选区模型的交互策略,并且实现了基本的选区操作,还调研了自绘选区的实现。那么相对的,我们还需要设计编辑器的选区表达,也可以称为模型选区。编辑器中应用变更时的操作范围,就是以模型选区为基准来…...

ESP32读取DHT11温湿度数据

芯片:ESP32 环境:Arduino 一、安装DHT11传感器库 红框的库,别安装错了 二、代码 注意,DATA口要连接在D15上 #include "DHT.h" // 包含DHT库#define DHTPIN 15 // 定义DHT11数据引脚连接到ESP32的GPIO15 #define D…...

《用户共鸣指数(E)驱动品牌大模型种草:如何抢占大模型搜索结果情感高地》

在注意力分散、内容高度同质化的时代,情感连接已成为品牌破圈的关键通道。我们在服务大量品牌客户的过程中发现,消费者对内容的“有感”程度,正日益成为影响品牌传播效率与转化率的核心变量。在生成式AI驱动的内容生成与推荐环境中&#xff0…...

Qwen3-Embedding-0.6B深度解析:多语言语义检索的轻量级利器

第一章 引言:语义表示的新时代挑战与Qwen3的破局之路 1.1 文本嵌入的核心价值与技术演进 在人工智能领域,文本嵌入技术如同连接自然语言与机器理解的“神经突触”——它将人类语言转化为计算机可计算的语义向量,支撑着搜索引擎、推荐系统、…...

基于数字孪生的水厂可视化平台建设:架构与实践

分享大纲: 1、数字孪生水厂可视化平台建设背景 2、数字孪生水厂可视化平台建设架构 3、数字孪生水厂可视化平台建设成效 近几年,数字孪生水厂的建设开展的如火如荼。作为提升水厂管理效率、优化资源的调度手段,基于数字孪生的水厂可视化平台的…...

BCS 2025|百度副总裁陈洋:智能体在安全领域的应用实践

6月5日,2025全球数字经济大会数字安全主论坛暨北京网络安全大会在国家会议中心隆重开幕。百度副总裁陈洋受邀出席,并作《智能体在安全领域的应用实践》主题演讲,分享了在智能体在安全领域的突破性实践。他指出,百度通过将安全能力…...

佰力博科技与您探讨热释电测量的几种方法

热释电的测量主要涉及热释电系数的测定,这是表征热释电材料性能的重要参数。热释电系数的测量方法主要包括静态法、动态法和积分电荷法。其中,积分电荷法最为常用,其原理是通过测量在电容器上积累的热释电电荷,从而确定热释电系数…...

视频行为标注工具BehaviLabel(源码+使用介绍+Windows.Exe版本)

前言: 最近在做行为检测相关的模型,用的是时空图卷积网络(STGCN),但原有kinetic-400数据集数据质量较低,需要进行细粒度的标注,同时粗略搜了下已有开源工具基本都集中于图像分割这块&#xff0c…...

vulnyx Blogger writeup

信息收集 arp-scan nmap 获取userFlag 上web看看 一个默认的页面,gobuster扫一下目录 可以看到扫出的目录中得到了一个有价值的目录/wordpress,说明目标所使用的cms是wordpress,访问http://192.168.43.213/wordpress/然后查看源码能看到 这…...