首页 > 编程语言 >改进的匿名多智能体路径查找算法

改进的匿名多智能体路径查找算法

时间:2024-10-04 10:20:46浏览次数:3  
标签:状态 路径 算法 AMAPF 智能 匿名 查找 节点

本文提出了一种改进的匿名多智能体路径寻找算法(AMAPF),旨在解决多个未标记的智能体在一个共享环境中从初始位置无冲突地移动到指定目标位置的问题。该研究通过将AMAPF问题转化为辅助图上的最大流问题,并采用了一种新颖的搜索算法,该算法不是单独考虑各个搜索状态,而是同时处理大量状态,以压缩、存储并扩展这些状态,从而减少运行时间和内存使用。这种方法在实证研究中显示出优越的表现,能够在不到30秒的时间内解决MovingAI基准测试中所有可用的多智能体路径寻找问题实例。此外,文中还讨论了网络流理论的应用背景,并详细描述了如何将AMAPF问题映射到网络流问题上求解,最终通过最大流解决方案转换回AMAPF解决方案的过程。

改进的匿名多智能体路径查找算法_模态

1 多智能体路径寻找问题

多智能体路径寻找(MAPE)问题是关于一组智能体如何在共享环境中从当前位置无冲突地移动到各自目标位置的问题。这类问题常见于自动化仓库、自动驾驶汽车和视频游戏中。为了使所有智能体能够顺利到达目的地而不发生碰撞,需要设计算法来找到合适的移动路径。特别地,匿名多智能体路径寻找(AMAPF)问题是指智能体是不可区分的,每个智能体都可以到达任一目标位置。研究者提出了一种改进算法,通过同时处理大量的搜索状态而非单个状态来减少运算时间和内存消耗,该算法在实验中展示出比现有技术更好的性能,并且能在短时间内解决现有的所有基准测试案例。

2 改进的匿名多智能体路径寻找算法

  • 1批处理思想:算法的核心思想是在搜索过程中,不是一次只扩展一个状态,而是一次扩展一批状态。这样做的目的是为了减少搜索状态的数量、时间和内存消耗。
  • 2连通序列概念:算法引入了“连通序列”的概念,定义了一个序列中的节点具有相同的顶点,并且可以通过等待和限制非反转边从序列的第一个节点到达最后一个节点。这有助于高效地生成和管理状态。
  • 3高效状态生成:对于一个连通序列中的节点,算法不会显式地生成所有后续节点,而是仅生成其后续节点中的最低高度节点。其它较高高度的状态将在后续的搜索过程中隐式地生成。
  • 4节点排序与检查:在搜索集合(OPEN)中,根据节点的高度对状态进行排序,并优先选择高度最小的状态进行扩展。同时,在检查是否已扩展某个状态时,还检查该状态是否可以通过简单的生成动作直接到达。
  • 5源节点处理:对于源节点(s),只生成其邻居后继节点并返回;对于非源非目标节点,根据节点所在连通序列的不同位置(如开始或结束),生成相应的邻居节点。
  • 6完备性保证:算法保证了从源节点可达的任何节点要么显式地被扩展,要么通过较低高度的同一连通序列中的节点隐式地扩展,从而保证了算法的完备性。

3 结语

文章提出了一种改进的匿名多智能体路径寻找算法(AMAPF),通过批量处理搜索状态减少了计算资源的需求,并在实验中展示了优于现有方法的性能,尤其在大规模地图和多智能体情况下表现出色。

论文题目: Improved Anonymous Multi-Agent Path Finding Algorithm

论文链接: https://arxiv.org/abs/2312.10572


PS: 欢迎大家扫码关注公众号_,我们一起在AI的世界中探索前行,期待共同进步!

改进的匿名多智能体路径查找算法_搜索_02

精彩回顾

1. 不平衡环境下用于联邦人脸识别的元学习

2. 多模态多智能体心智理论

3. 通过模型仿真进行多模态人群计数

标签:状态,路径,算法,AMAPF,智能,匿名,查找,节点
From: https://blog.51cto.com/u_16811054/12170402

相关文章

  • 使用鼠标点击矩阵上下左右的数字初始化为1 计算所需总共点击次数矩阵所有数字变成1的
    1importjava.util.ArrayList;23publicclassHuaweiTest2{4publicstaticvoidmain(String[]args){5//System.out.println("HelloWorld!");6}78publicstaticIntegergetMilliSecondsForInputInicialize......
  • 文心一言 VS 讯飞星火 VS chatgpt (360)-- 算法导论24.3 2题
    二、请举出一个包含负权重的有向图,使得Dijkstra算法在其上运行时将产生不正确的结果。为什么在有负权重的情况下,定理24.6的证明不能成立呢?定理24.6的内容是:Dijkstra算法运行在带权重的有向图时,果所有权重为非负值,则在算法终止时,对于所有结点,我们有。如果要写代码,请用go......
  • 25赛季算法组第一阶段第二次培训(ubuntu安装与基本使用)
    25赛季算法组第一阶段第二次培训1.Ubuntu的介绍1.1.操作系统和操作系统的选择操作系统,英文名称OperatingSystem,简称OS,是计算机系统中必不可少的基础系统软件,它是应用程序运行以及用户操作必备的基础环境支撑,是计算机系统的核心。操作系统的作用是管理和控制计算机系统中的......
  • 算法基础课——基础算法题解
    排序算法(分治)快速排序:题面:给定你一个长度为\(n\)的整数数列。请你使用快速排序对这个数列按照从小到大进行排序。并将排好序的数列按顺序输出。输入格式输入共两行,第一行包含整数\(n\)。第二行包含\(n\)个整数(所有整数均在\(1\sim10^9\)范围内),表示整个数列。输......
  • 代码随想录算法训练营Day2|209.长度最小的子数组 59.螺旋矩阵
    学习资料:https://programmercarl.com/数组总结篇.html#数组的经典题目移动窗格,首尾指针根据条件变化模拟行为,循环不变量(左闭右闭或左闭右开)整个过程保持一致学习记录:209.长度最小的子数组(用while使得尾指针遍历全部;用while实现,当[首:尾]之和>目标值,才移动首指针;为了求最小长度......
  • 基础算法--递归算法【难点、重点】
    今天我们即将要开始讲解算法中第一块儿难啃地骨头--递归了,相信有不少小伙伴都因递归而迷惑过,本文就来给大家详细的讲解一下递归到底是什么东西。让你也能瞬间将他打回原形。递归的理解在学习递归之前,我们先理解递归。什么是递归呢?从名字上看我们可以想到递进+回归两个......
  • 算法训练营第七天| 344.反转字符串 541. 反转字符串II 卡码网:54.替换数字
    344.反转字符串状态:成功完成。初始思路:双指针交换位置就可以,如果元素个数为偶数,则刚好交换完最后一组后,left>right;如果元素个数为奇数,交换完最后一组后,left和right同时到达中位数,不需要交换。 541.反转字符串II 状态:没做出来。初始思路:这道题是以上一个题目为基础的,我......
  • 代码随想录算法训练营 | 122.买卖股票的最佳时机II,55. 跳跃游戏,45.跳跃游戏II,1005.K次
    122.买卖股票的最佳时机II题目链接:122.买卖股票的最佳时机II文档讲解︰代码随想录(programmercarl.com)视频讲解︰买卖股票的最佳时机II日期:2024-10-03想法:本来还在想什么时候买股票,结果只需要考虑每天的正收益累加就是最大的收益了。Java代码如下:classSolution{public......
  • 三色标记算法
    三色标记算法GC--->标记(可达性算法)--->根据不同算法去处理回收STW:GC时对程序暂停处理下垃圾。不暂停,就会一直制造垃圾,清理不干净。暂停就会阻塞期间请求,影响系统性能三色标记:减少标记时间,将标记阶段异步标记,标记完了再STW,减少STW时间三色标记算法:1.用于垃圾回收器升级......
  • 分别使用OVP-UVP和OFP-UFP算法以及AFD检测算法实现反孤岛检测simulink建模与仿真
    1.课题概述分别使用OVP-UVP和OFP-UFP算法以及AFD检测算法实现反孤岛检测simulink建模与仿真。 2.系统仿真结果  3.核心程序与模型版本:MATLAB2013b   functionsys=mdlOutputs(t,x,u)%定义全局变量globalf_i;globalf_vo;globalf_v_hb......