【调度算法】MAPF多智能体路径规划问题
参考链接:https://blog.csdn.net/qq_43353179/article/details/129396325
在这篇博客的基础上对一些省略的部分进行补充。
网站:https://mapf.info/
可行性判断
1. k-鲁棒性(k-robust MAPF)
在经典 MAPF 中,只要所有智能体的路径不发生冲突(即无“位置冲突”或“边冲突”),就认为是一个可行解。
而在k-robust MAPF中,除了要求路径之间无冲突,还要求每个智能体在每个时间步上拥有额外的“延迟空间”,即:即使该智能体在当前时刻被延迟最多 k k k 个时间步,它的路径也不会和其他智能体发生冲突。
这是一种增强的可行性条件,目的是提高路径对动态干扰(如通信延迟、路径阻挡等)的鲁棒性。
假设我们有一个 k-robust MAPF 问题,k=2,含义是:
-
假设智能体 A 的路径是 [t=0位置0 → t=1位置1 → t=2位置2 → …]
-
那么我们要确保:
- 如果智能体 A 在任意某一步最多被延迟2个时间步(即实际到达时间是 t+1 或 t+2),仍然不会在路径上与其他智能体产生冲突。
这类似于把每个位置“膨胀”为一个时间窗口(t, t+1, …, t+k),在这个时间段内,智能体能安全地占据这个位置。
你可以把这理解为“线性规划”的松弛变量概念。原问题追求最短时间,但在 k-robust 中,我们“留白”k个时间单位,容许一定程度的不确定性。
k 越大,系统鲁棒性越强,但规划难度越高。
2. 队形规则(Formation Constraints)
在某些多智能体任务中(例如无人机编队、机器人集群),不仅要求各个机器人完成自己的目标,还需要它们之间保持一定的空间关系或结构形式,这就是所谓的队形(formation)。
具体约束形式可能包括:
-
保持相对位置不变:
- 如编队飞行中,所有无人机始终保持一个“V”字形或正方形阵型。
- 比如智能体 B 要始终在 A 的正后方一格。
-
同步移动:
- 队形内的机器人必须同时出发、同时到达,或者严格在同一时间执行动作。
-
避免“散乱移动”:
- 所有机器人必须尽量在视觉、通信或控制范围内移动,避免一个机器人先到终点,其他人远远落后。
-
保持几何约束或通信连通性:
- 队形规则可以基于图论模型,如机器人之间构成的连接图始终是连通的。
加入了“结构不变性”的约束后,路径规划就不再是“各走各的”,而是要协调好整体行为。
4. 总结
约束类型 | 本质含义 | 目标 | 难度 |
---|---|---|---|
k-鲁棒性 | 每步允许最多延迟 k 个时间步仍不冲突 | 增强对不确定性/延迟/干扰的容忍能力 | 中等偏上 |
队形规则 | 多智能体保持特定几何结构或通信图不变 | 实现群体协调/协同行为(如编队、同步) | 难度较高 |
任务规划
1. 匿名 MAPF(Anonymous MAPF)
在匿名 MAPF中,有一组智能体和一组目标点,但不要求哪一个智能体对应哪一个目标。只需要让所有目标都被“某个智能体”到达就行。换句话说,智能体和目标之间没有固定的“身份绑定”,任务是“可交换”的。
类比滴滴打车:有多个乘客发起订单(目标点),有多辆车(智能体)在路上;系统只要把每辆车合理分配到一个订单上就行,不要求某辆特定的车接特定乘客。
这类问题调度灵活性更高;且通常比标准 MAPF 更容易规划,因为目标分配可以优化整体路径。求解思路为:先做最小成本完美匹配,为智能体和目标建立“最优匹配”,然后用标准 MAPF 求解无冲突路径规划。
2. 分组 MAPF(Colored MAPF)
这是介于标准 MAPF 与匿名 MAPF 之间的一个变种。智能体被分成若干组(group),每组可以看作是一个“颜色”(color),组内的智能体和目标是可以自由匹配的,但组间不能混淆。每个智能体必须被分配到与自己同组的目标之一,但不指定具体哪个。
类比外卖派单系统:假设美团外卖分了东区、西区、南区三个区域;每个配送员(智能体)只配送自己所在区域的订单(目标点),但同一组内可以自由调配。
这类问题是一个带颜色分组的最小成本匹配 + 路径规划问题;相比匿名 MAPF,多了“组别约束”,因此规划复杂度增加。
3. 动态 MAPF(Online / Lifelong MAPF)
在传统 MAPF 中,任务是一次性分配的,智能体从起点到终点后任务就结束了。
而在动态 MAPF中,智能体在执行路径任务的同时,新的任务源源不断地到来,每个智能体会在一个长期运行的系统中不断接收和完成新任务。
是最接近自动化系统日常运作的情况,如快递机器人、仓库调度机器人、自动停车系统。
4. 总结
类型 | 是否指定目标 | 是否允许任务重复分配 | 应用场景示例 | 相比标准 MAPF 特点 |
---|---|---|---|---|
匿名 MAPF | ❌ 不指定 | 一次性分配 | 滴滴打车、车位分配 | 可优化目标分配,计算更高效 |
分组 MAPF | ⭕ 指定组别 | 一次性分配 | 外卖区域派单 | 增加组别约束,难度介于匿名与标准 |
动态 MAPF | ⭕/❌ 均可 | ✅ 持续任务 | 仓储物流、快递机器人 | 实时性要求高,复杂度较大 |
Benchmark
多智能体路径规划(MAPF)的基准测试(benchmarks)包括两个主要的基准测试集:基于网格的MAPF基准测试和Asprilo框架。
1. 基于网格的MAPF基准测试(Grid-based MAPF Benchmark)
这个基准测试集包含了24张不同类型的地图,每张地图有25个场景,每个场景包含1000个问题。这些地图来自多种来源,包括真实城市地图、视频游戏地图、开放网格、带随机障碍的网格、迷宫式网格和房间式网格。所有地图均来自MovingAI路径规划库。
地图类型:
- 城市地图:从真实城市中提取的地图,例如柏林、波士顿和巴黎。
- 视频游戏地图:从《龙腾世纪:起源》(Dragon Age Origins)和《龙腾世纪2》(Dragon Age 2)中提取的地图。
- 开放网格:无障碍的N×N网格,例如8×8、16×16和32×32的网格。
- 带随机障碍的网格:在N×N网格中随机放置障碍物。
- 迷宫式网格:类似迷宫的网格,具有复杂的通道和障碍。
- 房间式网格:类似房间布局的网格,包含多个独立区域。
场景和问题设置:
- 场景:每个场景包含多个源和目标顶点对,这些顶点对是从地图的最大连通区域中随机选择的。
- 问题:从每个场景中选择任意数量的源-目标对,形成一个MAPF问题。例如,可以选择前两个源-目标对形成一个包含两个智能体的问题,然后逐步增加智能体数量。
评估方法:
- 评估流程:对于选定的MAPF算法、地图类型和场景,逐步增加智能体数量,直到算法在合理时间内无法解决问题为止。例如,从两个智能体开始,逐步增加到三个、四个……直到算法无法在30秒内解决问题。
- 评估指标:
- Solved:在规定时间内解决的问题数量。
- Min 和 Max:在所有场景中,算法能够解决的最少和最多的智能体数量。
2. Asprilo框架(Asprilo Framework)
Asprilo是一个公开可用的框架,用于模拟自动化仓库。它包括定义和生成标准自动化仓库规划问题的工具,以及验证和可视化解决这些问题的计划的工具。Asprilo特别适用于MAPF研究,因为它可以生成与MAPF问题相关的场景。
场景类型:
- 完整仓库场景:智能体需要在仓库中移动箱子,从一个地方运送到另一个地方。
- 仅移动场景:智能体只需要从一个地方移动到另一个地方,类似于经典的MAPF问题。
使用方法:
- 问题生成:Asprilo可以生成多种类型的自动化仓库规划问题,其中M领域(domain M)特别适合MAPF研究。
- 验证和可视化:Asprilo提供了工具来验证生成的计划是否有效,并可以可视化这些计划的执行过程。
相关文章:
【调度算法】MAPF多智能体路径规划问题
参考链接:https://blog.csdn.net/qq_43353179/article/details/129396325 在这篇博客的基础上对一些省略的部分进行补充。 网站:https://mapf.info/ 可行性判断 1. k-鲁棒性(k-robust MAPF) 在经典 MAPF 中,只要所有…...
迅龙3号基于兆讯MH22D3适配CST328多点触摸驱动开发笔记
MH22D3芯片是兆讯公司新推出的基于cortex-M3内核的新一代芯片,专注于显示应用,其主频高达216Mhz,64KB SRAM,512KB Flash,开发UI应用游刃有余。详细介绍请看:MH22D3新一代显控应用性价比之王 新龙微基于MH22…...
推荐算法工程化:ZKmall模板商城的B2C 商城的用户分层推荐策略
在 B2C 电商竞争激烈的市场环境中,精准推荐已成为提升用户体验、促进商品销售的关键。ZKmall 模板商城通过推荐算法工程化手段,深度挖掘用户数据价值,制定科学的用户分层推荐策略,实现 “千人千面” 的个性化推荐,帮助…...
你对于JVM底层的理解
JVM(Java虚拟机)是一个执行Java字节码的虚拟机,负责将Java程序的代码转化为能够在不同操作系统上运行的机器码。为了深入理解JVM的底层工作原理,可以从以下几个方面入手: 1. 类加载机制 JVM的类加载机制是其核心之一…...
深入探讨 Java 性能术语与优化实践
在 Java 开发中,性能优化是确保应用程序高效运行的关键。无论是构建实时处理系统还是大规模分布式服务,理解性能术语和分析方法都至关重要。本文将详细介绍 Java 性能中的核心术语,包括延迟(Latency)、吞吐量(Throughput)、利用率(Utilization)、效率(Efficiency)、…...
简单介绍Qt的属性子系统
深入理解Qt的属性系统 笔者最近正在大规模的开发Qt的项目和工程,这里笔者需要指出的是,这个玩意在最常规的Qt开发中是相对比较少用的,笔者也只是在Qt的QPropertyAnimation需要动画感知笔者设置的一个属性的时候方才知道这个东西的。因此&…...
【PmHub后端篇】PmHub中基于自定义注解和AOP的服务接口鉴权与内部认证实现
1 引言 在现代软件开发中,尤其是在微服务架构下,服务接口的鉴权和内部认证是保障系统安全的重要环节。本文将详细介绍PmHub中如何利用自定义注解和AOP(面向切面编程)实现服务接口的鉴权和内部认证,所涉及的技术知识点…...
消息~组件(群聊类型)ConcurrentHashMap发送
为什么选择ConcurrentHashMap? 在开发聊天应用时,我们需要存储和管理大量的聊天消息数据,这些数据会被多个线程频繁访问和修改。比如,当多个用户同时发送消息时,服务端需要同时处理这些消息的存储和查询。如果用普通的…...
掌控随心 - 服务网格的流量管理艺术 (Istio 实例)
掌控随心 - 服务网格的流量管理艺术 (Istio 实例) 想象一下,没有服务网格的时候,我们要实现像“将 1% 的用户流量导入到新版本应用”、“根据用户设备类型访问不同后端”、“模拟下游服务故障”这类高级流量策略,通常需要在代码、负载均衡器、API 网关等多个地方进行复杂且分…...
Github 2025-05-13 Python开源项目日报 Top10
根据Github Trendings的统计,今日(2025-05-13统计)共有10个项目上榜。根据开发语言中项目的数量,汇总情况如下: 开发语言项目数量Python项目10TypeScript项目1 ComfyUI:强大而模块化的稳定扩散GUI 创建周期:399 天开…...
Spring Boot 自动装配原理详解
Spring Boot 的自动装配(Auto-Configuration)是其核心特性之一,它极大地简化了 Spring 应用的配置过程。通过自动装配,Spring Boot 能够根据项目中的依赖(例如,添加了 Spring Data JPA 依赖后自动配置数据库…...
Python核心数据类型全解析:字符串、列表、元组、字典与集合
导读: Python 是一门功能强大且灵活的编程语言,而其核心数据类型是构建高效程序的基础。本文深入剖析了 Python 的五大核心数据类型——字符串、列表、元组、字典和集合,结合实际应用场景与最佳实践,帮助读者全面掌握这些数据类型…...
索尼(sony)摄像机格式化后mp4的恢复方法
索尼(sony)的Alpha 7 Ⅳ系列绝对称的上是索尼的“全画幅标杆机型”,A7M4配备了3300万像素的CMOS,以及全新研发的全画幅背照式Exmor R™CMOS影像传感器,搭载BIONZ XR™影像处理器,与旗舰微单™Alpha 1如出一辙。下面我们来看看A7M4…...
Kubernetes容器运行时:Containerd vs Docker
Containerd 和 Docker 是容器技术领域的两个核心组件,它们在功能定位、架构设计、性能特点及适用场景上有显著差异。以下是两者的详细对比分析: 一、定位与功能 特性DockerContainerd核心定位完整的容器平台,包含构建、运行、编排等全生命周…...
免费专业级 PDF 处理!SolidPDF OCR 识别 + 精准转换批量处理
各位办公小能手们!今天咱来聊聊一款超牛的软件——SolidConverterPDF。这可是个专业的多功能PDF处理工具,啥格式转换、文档编辑、扫描识别,它都能搞定!下面我就给大伙详细唠唠它的厉害之处。 先说说它的核心功能。 一是PDF格式转换…...
电子电器架构 --- 区域计算架构(Zonal Compute)备战下一代电子电气架构
我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 钝感力的“钝”,不是木讷、迟钝,而是直面困境的韧劲和耐力,是面对外界噪音的通透淡然。 生活中有两种人,一种人格外在意别人的眼光;另一种人无论…...
API的学习总结(上)
在 Java 中,API 指的是 Java 提供的一系列类、接口、方法和工具,用于开发 Java 应用程序。Java API 是 Java 平台的核心组成部分,它提供了丰富的功能,包括基础数据类型、集合框架、输入输出、网络编程、多线程、数据库连接等。 核…...
Spring Boot之Web服务器的启动流程分析
如何判断创建哪种web容器:servlet?reactive? 我们在启动Spring Boot程序的时候,会使用SpringApplication.run方法来启动,在启动流程中首先要判断的就是需要启动什么类型的服务器,是servlet?或者…...
代码随想录算法训练营第六十三天| 图论9—卡码网47. 参加科学大会,94. 城市间货物运输 I
每日被新算法方式轰炸的一天,今天是dijkstra(堆优化版)以及Bellman_ford ,尝试理解中,属于是只能照着代码大概说一下在干嘛。 47. 参加科学大会 https://kamacoder.com/problempage.php?pid1047 dijkstra(…...
RAG之大规模解析 PDF 文档全流程实战
PDF 文档在商业、学术和政府领域无处不在,蕴含着大量宝贵信息。然而,从 PDF 中提取结构化数据却面临着独特的挑战,尤其是在处理数千甚至数百万个文档时。本指南探讨了大规模解析 PDF 的策略和工具。 PDF解析挑战 PDF 的设计初衷是为了提供一致的视觉呈现,而非数据提取。这…...
uart16550详细说明
一、介绍 uart16550 ip core异步串行通信IP连接高性能的微控制器总线AXI,并为异步串行通信提供了 控制接口。软核设计连接了axilite接口。 二、特性 1.axilite接口用于寄存器访问和数据传输 2.16650串口和16450串口的软件和硬件寄存器都是兼容的 3.默认的core配置参数…...
Docker 环境安装(2025最新版)
Docker在主流的操作系统和云平台上都可以使用,包括Linux操作 系统(如Ubuntu、 Debian、Rocky、Redhat等)、MacOS操作系统和 Windows操作系统,以及AWS等云平 台。 Docker官网: https://docs.docker.com/ 配置宿主机网…...
Comparator不满足自反性错误,Comparison method violates its general contract
APP运行退出,跟踪信息 java.lang.IllegalArgumentException: Comparison method violates its general contract! Collections.sort(idxsList);//按score升序排列 查看idxs类 public int compareTo(Idxs o) { //重写compareTo方法 return (int) (this.g…...
[Java实战]Spring Boot 3 整合 Apache Shiro(二十一)
[Java实战]Spring Boot 3 整合 Apache Shiro(二十一) 引言 在复杂的业务系统中,安全控制(认证、授权、加密)是核心需求。相比于 Spring Security 的重量级设计,Apache Shiro 凭借其简洁的 API 和灵活的扩…...
如何界定合法收集数据?
首席数据官高鹏律师团队 在当今数字化时代,数据的价值日益凸显,而合法收集数据成为了企业、机构以及各类组织必须严守的关键准则。作为律师,深入理解并准确界定合法收集数据的范畴,对于保障各方权益、维护法律秩序至关重要。 一…...
Flask+HTML+Jquery 文件上传下载
HTML 代码: <div id"loadingIndicator" style"display:none;"><div class"spinner"></div> </div> <!-- 请求过程中转圈圈 --> <form action"" method"post" enctype"m…...
MapReduce打包运行
(一)maven打包 MapReduce是一个分布式运算程序的编程框架,是用户开发“基于Hadoop的数据分析应用”的核心框架。 MapReduce核心功能是将用户编写的业务逻辑代码和自带默认组件整合成一个完整的分布式运算程序(例如:jar…...
国产化Word处理控件Spire.Doc教程:如何使用 C# 从 Word 中提取图片
通过编程方式从 Word 文档中提取图片,可以用于自动化文档处理任务。E-iceblue旗下Spire系列产品是国产文档处理领域的优秀产品,支持国产化,帮助企业高效构建文档处理的应用程序。本文将演示如何使用 C# 和 Spire.Doc for .NET 库从 Word 文件…...
07 mysql之DQL
一、什么是DQL DQL 是 SQL 的一部分,专门用于查询数据。核心命令是 SELECT,是最常用的命令,支持: 简单查询条件过滤排序与分页多表连接聚合统计子查询与复杂逻辑二、基础查询语法 SELECT 字段1, 字段2, ... FROM 表名 WHERE 条件表达式 GROUP BY 分组字段 HAVING 分组条件…...
spark-standalone
一、定义:Standalone 模式是一种独立的集群部署模式,自带完整服务,可单独部署到一个集群中,无需依赖任何其他资源管理系统。 二、配置步骤 1.和前面一样拉到hadoop101的/opt/module这个目录里面。 2.压缩 3.重命名为spark-sta…...
运行Spark程序-在shell中运行 --SparkConf 和 SparkContext
SparkConf 类用于配置 Spark 应用程序的各种参数。通过 SparkConf 类,你可以设置应用程序的名称、运行模式(如本地模式、集群模式)、资源分配(如内存、CPU 核心数)等。主要作用配置应用程序参数:可以设置 S…...
分割任务 - 数据增强
语义分割 - FCN : 数据预处理/数据增强 算法源码实例 base_size520 crop_size480 flip_prob0.5if train_val train:self.transforms transforms.Compose([transforms.RandomResize(int(base_size*0.5), int(base_size*2)),transforms.RandomHorizontalFlip(flip_…...
基于C#+MySQL实现(WinForm)企业设备使用信息管理系统
企业设备使用信息管理系统 引言 企业的设备管理在企业的生产制造和管理过程之中意义比较重大,明确企业的设备的产权和维护成本对于企业的成本控制和财务管理之中起到了重要的作用。随着市场竞争的加剧,现代企业所处的市场环境发生了深刻的变革…...
JavaScript异步编程 Async/Await 使用详解:从原理到最佳实践
🌷 古之立大事者,不惟有超世之才,亦必有坚忍不拔之志 🎐 个人CSND主页——Micro麦可乐的博客 🐥《Docker实操教程》专栏以最新的Centos版本为基础进行Docker实操教程,入门到实战 🌺《RabbitMQ》…...
Babylon.js学习之路《四、Babylon.js 中的相机(Camera)与视角控制》
文章目录 1. 引言:为什么相机是 3D 场景的“眼睛”?1.1 相机的核心作用1.2 常见相机类型概览 2. 相机基础参数解析2.1 通用属性2.2 相机坐标系 3. 详解常用相机类型3.1 自由相机(FreeCamera)3.2 弧形旋转相机(ArcRotat…...
MCP Server多节点滚动升级一致性治理
飞书云文档原链接地址:https://ik3te1knhq.feishu.cn/wiki/W8ctwG2sAiPkrXkpl7ocP0g0njf [!TIP] MCP Server 多节点部署时,滚动发布,MCP Client 侧使用的 Client 连接保证使用的是最新的工具配置信息 后续推进:按比例使用旧、新实…...
多线程(二)
今天先来了解一个上一期的遗留概念 —— 前台线程与后台线程 一 . 前台线程与后台线程 大家应该多多少少都听过酒桌文化,咱们平常吃饭,座位次序是没有那么多讲究的,但是在跟领导吃饭,或者出席宴会和一些重要场所的饭局时&#…...
2025年,大模型LLM还有哪些可研究的方向?
近两年LLM在学术界与工业界的发展大家都有目共睹。到了今年,以预训练LLM为代表的大模型PK上半场已然结束,接下来就要进入下半场大模型2.0时代了。 那么在这新赛道,关于大模型我们还有什么可做的创新?要知道,如今的大模…...
VS打断点调试,无法命中断点或断点失效,解决方法
1.打开需要打断点的模块,点击属性,将C/C常规的调试信息格式改为程序数据库(/Zi) 2.将C/C的优化禁用(/Od) 3.将链接器中的生成调试信息改为生成调试信息(/DEBUG) 注:如果需…...
ELF文件详解
ELF 文件不仅仅是一个格式,它是 Linux 世界中程序的"灵魂容器",承载着程序从编译到执行的整个生命周期。 今天咱们来聊一个看起来高深,实际上理解起来其实挺简单的话题—— ELF 文件。 不知道你有没有想过:我们敲下./…...
【学习笔记】Shell编程---流程控制语句
最近学了好多个流程控制语句,都有点混乱了,赶紧先把各种用法记录下来! if 语句 语法格式: if 条件测试命令串 then 条件为真时执行的命令 else 条件为假时执行的命令 fi 以关键字if开头,后跟条件测试表达式&…...
TensorFlow 常见使用场景及开源项目实例
TensorFlow 常见使用场景及开源项目实例 摘要 本文详细介绍了 TensorFlow 在多个领域的典型应用及其对应的开源项目案例。涵盖了图像处理、自然语言处理、语音音频处理、推荐系统与时间序列预测、移动端与边缘计算以及生成式模型与创意应用等多方面内容,列举了大量…...
王炸组合!STL-VMD二次分解 + Informer-LSTM 并行预测模型
往期精彩内容: 单步预测-风速预测模型代码全家桶-CSDN博客 半天入门!锂电池剩余寿命预测(Python)-CSDN博客 超强预测模型:二次分解-组合预测-CSDN博客 VMD CEEMDAN 二次分解,BiLSTM-Attention预测模型…...
OpenCV进阶操作:风格迁移以及DNN模块解析
文章目录 前言一、风格迁移1、风格迁移是什么?2、步骤1)训练2)迁移 二、DNN模块1、什么是DNN模块2、DNN模块特点3、流程图4、图像预处理功能 三、案例实现1、数据预处理2、加载模型 总结 前言 风格迁移(Style Transfer࿰…...
使用bitNet架构
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、配置二、报错总结 前言 大型语言模型(LLM)面临的挑战:高能耗、高内存需求、部署门槛高。 微软提出 BitNet 架构&#x…...
OpenCV中的光流估计方法详解
文章目录 一、引言二、核心算法原理1. 光流法基本概念2. 算法实现步骤 三、代码实现详解1. 初始化设置2. 特征点检测3. 光流计算与轨迹绘制 四、实际应用效果五、优化方向六、结语 一、引言 在计算机视觉领域,运动目标跟踪是一个重要的研究方向,广泛应用…...
Java集合框架详解与使用场景示例
Java集合框架是Java标准库中一组用于存储和操作数据的接口和类。它提供了多种数据结构,每种数据结构都有其特定的用途和性能特点。在本文中,我们将详细介绍Java集合框架的主要组成部分:List、Set和Queue,并通过代码示例展示它们的…...
多模态融合【十九】——MRFS: Mutually Reinforcing Image Fusion and Segmentation
目录 一.摘要 二.Introduction 三. 背景与动机 四.方法 4.1. 概述 4.2. IGM-Att模块 4.3. PC-Att模块 4.4. 任务头 五.实验 5.1. 数据集与实现细节 5.2. 语义分割 5.3. 图像融合 5.4. 消融研究 5.5. IGM-Att和PC-Att的应用增益 5.6. 复杂度讨论 5.7. 目标检测的…...
音频转文字-在线工具包及使用记录
资料来源:https://zhuanlan.zhihu.com/p/269603431(多种方案) 视频教程:https://www.youtube.com/watch?vL1H5ov4WTBg https://github.com/openai/whisper // 创建虚拟环境 python -m venv myvnev// 激活虚拟环境 source myvne…...
集合-进阶
Collection collection的遍历方式 迭代器遍历 不依赖索引 import java.util.ArrayList; import java.util.Collection; import java.util.Iterator;public class mycollection {public static void main(String[] args) {//1.创建集合并添加元素Collection<String> co…...