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

【数学建模】(智能优化算法)鲸鱼优化算法(Whale Optimization Algorithm)详解与应用

鲸鱼优化算法(Whale Optimization Algorithm)详解与应用

文章目录

  • 鲸鱼优化算法(Whale Optimization Algorithm)详解与应用
    • 1. 引言
    • 2. 算法原理
      • 2.1 生物学基础
      • 2.2 数学模型[^3]
        • 1. 包围猎物阶段
        • 2. 气泡网攻击(螺旋更新)
        • 3. 随机搜索猎物(全局探索)
        • 完整算法伪代码
        • 关键参数说明表
      • 2.3 改进方向中的数学扩展
    • 3. 算法实现步骤
    • 4. 算法优势与特点
    • 5. 应用领域
    • 6. 算法变体与改进
    • 7. 代码实现示例
    • 8. 与其他优化算法的比较
    • 9. 总结与展望
    • 参考资料


1. 引言

鲸鱼优化算法(Whale Optimization Algorithm, WOA)是一种基于生物行为的全局优化算法,由Mirjalili等人在2016年首次提出。该算法的灵感来源于座头鲸群体捕食的策略,特别是它们独特的泡泡网捕食行为。1

作为一种新型的群体智能优化算法,WOA在许多领域展现出了优越的性能,甚至在某些应用场景中表现出远超传统算法的优势。随着人工智能和优化算法的不断发展,鲸鱼优化算法已成为研究热点之一。2

2. 算法原理

2.1 生物学基础

鲸鱼优化算法模拟了座头鲸的捕食行为。座头鲸在捕食时会包围猎物,并沿着螺旋路径形成独特的气泡网来完成捕食。这种行为是算法设计的核心灵感来源。3

鲸鱼的气泡捕食行为

2.2 数学模型4

鲸鱼优化算法主要包含三种行为模式的数学建模:

1. 包围猎物阶段

鲸鱼通过以下公式更新位置来包围猎物:

{ D = ∣ C ⋅ X ∗ ( t ) − X ( t ) ∣ X ( t + 1 ) = X ∗ ( t ) − A ⋅ D \begin{cases} D = |C \cdot X^*(t) - X(t)| \\ X(t+1) = X^*(t) - A \cdot D \end{cases} {D=CX(t)X(t)X(t+1)=X(t)AD

其中:

  • X ( t ) X(t) X(t) 是当前个体位置
  • X ∗ ( t ) X^*(t) X(t) 是当前最优个体位置
  • A A A C C C 是系数向量,计算方式为:
    A = 2 a ⋅ r 1 − a C = 2 ⋅ r 2 A = 2a \cdot r_1 - a \\ C = 2 \cdot r_2 A=2ar1aC=2r2
  • a a a 从2线性递减到0(迭代控制参数):
    a = 2 − t ⋅ ( 2 T max ) a = 2 - t \cdot \left(\frac{2}{T_{\text{max}}}\right) a=2t(Tmax2)
  • r 1 , r 2 r_1, r_2 r1,r2 是[0,1]内的随机向量
2. 气泡网攻击(螺旋更新)

鲸鱼以螺旋路径逼近猎物:

X ( t + 1 ) = D ′ ⋅ e b l ⋅ cos ⁡ ( 2 π l ) + X ∗ ( t ) X(t+1) = D' \cdot e^{bl} \cdot \cos(2\pi l) + X^*(t) X(t+1)=Deblcos(2πl)+X(t)

其中:

  • D ′ = ∣ X ∗ ( t ) − X ( t ) ∣ D' = |X^*(t) - X(t)| D=X(t)X(t) 表示个体与最优解的距离
  • b b b 是定义螺旋形状的常数(通常设为1)
  • l l l 是[-1,1]间的随机数

实际实现中,包围和螺旋行为以50%概率切换:

X ( t + 1 ) = { X ∗ ( t ) − A ⋅ D if  p < 0.5 D ′ ⋅ e b l ⋅ cos ⁡ ( 2 π l ) + X ∗ ( t ) if  p ≥ 0.5 X(t+1) = \begin{cases} X^*(t) - A \cdot D & \text{if } p < 0.5 \\ D' \cdot e^{bl} \cdot \cos(2\pi l) + X^*(t) & \text{if } p \geq 0.5 \end{cases} X(t+1)={X(t)ADDeblcos(2πl)+X(t)if p<0.5if p0.5

3. 随机搜索猎物(全局探索)

∣ A ∣ ≥ 1 |A| \geq 1 A1时,个体随机搜索:

{ D = ∣ C ⋅ X rand − X ( t ) ∣ X ( t + 1 ) = X rand − A ⋅ D \begin{cases} D = |C \cdot X_{\text{rand}} - X(t)| \\ X(t+1) = X_{\text{rand}} - A \cdot D \end{cases} {D=CXrandX(t)X(t+1)=XrandAD

其中 X rand X_{\text{rand}} Xrand是当前种群中的随机个体位置。

完整算法伪代码
1. 初始化鲸鱼种群Xi (i=1,2,...,n)
2. 计算每个个体的适应度
3. X* = 当前最优个体
4. while (t < 最大迭代次数) do
5.    for 每个个体 do
6.        更新a, A, C, l, p
7.        if (p < 0.5) then
8.            if (|A| < 1) then
9.                按公式(1)更新位置(包围猎物)
10.           else
11.               随机选择X_rand
12.               按公式(3)更新位置(随机搜索)
13.           end if
14.       else
15.           按公式(2)更新位置(气泡网攻击)
16.       end if
17.       检查边界并计算新适应度
18.       更新X*(如果找到更优解)
19.   end for
20.   t = t + 1
21. end while
22. return X*
关键参数说明表
参数数学表示作用典型取值/范围
种群大小n影响算法全局搜索能力30-50
迭代次数T_max控制算法运行时间问题相关
收敛因子a平衡探索与开发2→0线性递减
螺旋形状常数b控制螺旋形状1(常数)
随机概率p选择更新策略[0,1]均匀随机
随机系数l螺旋运动参数[-1,1]均匀随机

2.3 改进方向中的数学扩展

  1. 自适应参数改进
    a = 2 ( 1 − t T max ) k ( k > 1 时为非线性递减 ) a = 2(1 - \frac{t}{T_{\text{max}}})^k \quad (k>1时为非线性递减) a=2(1Tmaxt)k(k>1时为非线性递减)

  2. 混合算法改进
    X new = w ⋅ X WOA + ( 1 − w ) ⋅ X OtherAlgorithm X_{\text{new}} = w \cdot X_{\text{WOA}} + (1-w) \cdot X_{\text{OtherAlgorithm}} Xnew=wXWOA+(1w)XOtherAlgorithm

  3. 多目标优化扩展
    Minimize  [ f 1 ( x ) , f 2 ( x ) , . . . , f k ( x ) ] \text{Minimize } [f_1(x), f_2(x), ..., f_k(x)] Minimize [f1(x),f2(x),...,fk(x)]
    采用Pareto支配关系更新最优解集

3. 算法实现步骤

  1. 初始化:随机生成鲸鱼种群位置
  2. 适应度评估:计算每个个体的适应度值
  3. 更新最优解:找到当前种群中的最优解
  4. 位置更新
    • 根据概率 p p p选择更新策略
    • p < 0.5 p<0.5 p<0.5,根据 ∣ A ∣ |A| A的值决定是执行包围猎物还是搜索猎物
    • p ≥ 0.5 p≥0.5 p0.5,执行气泡网攻击策略
  5. 迭代:重复步骤2-4直到满足终止条件
  6. 输出:返回最优解3

4. 算法优势与特点

鲸鱼优化算法具有以下几个显著特点:

  1. 全局搜索能力强:通过模拟鲸鱼的随机搜索行为,算法具有较强的全局搜索能力
  2. 局部开发能力优秀:螺旋更新机制使算法在找到潜在最优解后能够进行精细的局部搜索
  3. 参数设置简单:相比其他元启发式算法,WOA的参数较少且易于调整
  4. 收敛速度快:在多数测试函数上表现出较快的收敛速度4 2

5. 应用领域

鲸鱼优化算法已在多个领域得到广泛应用:

  1. 工程优化问题:如结构设计优化、参数优化等
  2. 机器学习:特征选择、分类器优化、神经网络训练
  3. 能源系统:电力系统优化、可再生能源调度
  4. 图像处理:图像分割、目标识别
  5. 调度问题:作业调度、资源分配1 2

6. 算法变体与改进

随着研究的深入,研究人员提出了多种鲸鱼优化算法的变体和改进版本:

  1. 二进制鲸鱼优化算法:用于解决离散优化问题
  2. 多目标鲸鱼优化算法:处理具有多个冲突目标的优化问题
  3. 混合鲸鱼优化算法:与其他算法(如粒子群、遗传算法等)结合,取长补短
  4. 自适应鲸鱼优化算法:通过动态调整参数提高算法性能4 2

7. 代码实现示例

以下是Python版本的鲸鱼优化算法基本框架:

import numpy as np
import matplotlib.pyplot as pltdef WOA(objective_function, dim, lb, ub, max_iter, search_agents_no):# 初始化种群positions = np.random.uniform(lb, ub, (search_agents_no, dim))# 初始化最优解fitness = np.zeros(search_agents_no)for i in range(search_agents_no):fitness[i] = objective_function(positions[i])leader_pos = positions[np.argmin(fitness)].copy()leader_score = np.min(fitness)# 迭代优化convergence_curve = np.zeros(max_iter)for t in range(max_iter):a = 2 - t * (2 / max_iter)  # a从2线性递减到0for i in range(search_agents_no):r1 = np.random.random()r2 = np.random.random()A = 2 * a * r1 - aC = 2 * r2p = np.random.random()if p < 0.5:if abs(A) < 1:# 包围猎物D = abs(C * leader_pos - positions[i])positions[i] = leader_pos - A * Delse:# 搜索猎物rand_leader_index = np.random.randint(0, search_agents_no)X_rand = positions[rand_leader_index]D = abs(C * X_rand - positions[i])positions[i] = X_rand - A * Delse:# 气泡网攻击distance_to_leader = abs(leader_pos - positions[i])b = 1  # 定义螺旋形状l = np.random.random() * 2 - 1positions[i] = distance_to_leader * np.exp(b * l) * np.cos(2 * np.pi * l) + leader_pos# 边界处理positions[i] = np.clip(positions[i], lb, ub)# 更新适应度new_fitness = objective_function(positions[i])# 更新领导者if new_fitness < leader_score:leader_score = new_fitnessleader_pos = positions[i].copy()convergence_curve[t] = leader_scorereturn leader_pos, leader_score, convergence_curve

3

8. 与其他优化算法的比较

与其他常见的群体智能优化算法相比,鲸鱼优化算法具有一定的优势:

  1. 相比粒子群算法(PSO):WOA具有更强的全局搜索能力,不易陷入局部最优
  2. 相比遗传算法(GA):WOA参数更少,实现更简单,且在许多测试函数上收敛速度更快
  3. 相比蚁群算法(ACO):WOA在连续优化问题上表现更好
  4. 相比人工蜂群算法(ABC):WOA在平衡全局搜索和局部开发方面有更好的机制4 2

9. 总结与展望

鲸鱼优化算法作为一种新兴的群体智能优化算法,凭借其简单高效的特点,在众多领域展现出良好的应用前景。随着研究的深入,算法的改进和应用范围还将进一步扩展。

未来研究方向可能包括:

  1. 算法理论基础的深入研究
  2. 参数自适应调整机制的优化
  3. 与深度学习等技术的结合
  4. 在更多实际工程问题中的应用验证1 2

参考资料


  1. 鲸鱼优化算法(Whale Optimization Algorithm,WOA). CSDN博客. https://blog.csdn.net/qq_39297053/article/details/137440233 ↩︎ ↩︎ ↩︎

  2. 鲸鱼优化算法研究综述. 自动化学报. https://www.arocmag.cn/abs/2022.06.0347 ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎

  3. 超详细| 鲸鱼优化算法原理及其实现(Matlab/Python). CSDN博客. https://blog.csdn.net/sfejojno/article/details/133624149 ↩︎ ↩︎ ↩︎

  4. 智能优化算法|鲸鱼优化算法. 知乎专栏. https://zhuanlan.zhihu.com/p/690046477 ↩︎ ↩︎ ↩︎ ↩︎

相关文章:

【数学建模】(智能优化算法)鲸鱼优化算法(Whale Optimization Algorithm)详解与应用

鲸鱼优化算法(Whale Optimization Algorithm)详解与应用 文章目录 鲸鱼优化算法(Whale Optimization Algorithm)详解与应用1. 引言2. 算法原理2.1 生物学基础2.2 数学模型[^3]1. 包围猎物阶段2. 气泡网攻击&#xff08;螺旋更新&#xff09;3. 随机搜索猎物&#xff08;全局探索…...

11-Java并发编程终极指南:ThreadLocal与并发设计模式实战

Java并发编程终极指南&#xff1a;ThreadLocal与并发设计模式实战 一、ThreadLocal核心原理剖析 1. 线程本地存储实现机制 #mermaid-svg-EX865K5oO873R6OO {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-EX865K5o…...

数据库数据恢复——sql server数据库被加密怎么恢复数据?

SQL server数据库数据故障&#xff1a; SQL server数据库被加密&#xff0c;无法使用。 数据库MDF、LDF、log日志文件名字被篡改。 数据库备份被加密&#xff0c;文件名字被篡改。 SQL server数据库数据恢复过程&#xff1a; 1、将所有数据库做完整只读备份。后续所有数据恢…...

0501路由-react-仿低代码平台项目

文章目录 1 react路由1.1 核心库&#xff1a;React Router安装 1.2 基本路由配置路由入口组件定义路由 1.3 导航方式使用 <Link> 组件编程式导航 1.4 动态路由参数定义参数获取参数 1.5 嵌套路由父路由配置子路由占位符 1.6 重定向与404页面重定向404页面 1.7 路由守卫&a…...

C++二分查找

一、模板①&#xff1a;向下取整&#xff08;mid (l r) >> 1&#xff09; while (l < r) {int mid l r >> 1; // 等价于 (l r) / 2&#xff08;向下取整&#xff09;if (check(mid)) r mid; // 保留左半区else l mid 1; // 舍弃左半区 } 适用场…...

c++将jpg转换为灰度图

c将jpg转换为灰度图 step1:添加依赖 下载这两个文件&#xff0c;放在cpp同一目录下&#xff0c;编译生成 https://github.com/nothings/stb/blob/master/stb_image_write.h https://github.com/nothings/stb/blob/master/stb_image.hstep2:C:\Users\wangrusheng\source\repos…...

react/vue中前端多图片展示页面优化图片加载速度的五种方案

需求背景 在多项目中 例如官网项目中 会出现很多大图片显示的情况 这个时候就会出现图片过大 公司带宽不够之类导致页面加载速度过慢及页面出现后图片仍然占位但并未加载出来 或者因为网络问题导致图片区域黑块等等场景 这个时候我们就要对图片和当前场景进行优化 方案定…...

第二届电气技术与自动化工程国际学术会议 (ETAE 2025)

重要信息 2025年4月25-27日 中国广州 官网: http://www.icetae.com/ 部分 征稿主题 Track 1&#xff1a;电气工程 输配电、电磁兼容、高电压和绝缘技术、电气工程、电气测量、电力电子及其应用、机电一体化、电路与系统、电能质量和电磁兼容性、电力系统及其自…...

Windows 图形显示驱动开发-WDDM 2.0功能_上下文监视

功能概述 上下文监视机制是GPU与CPU协同计算的核心同步技术&#xff0c;通过受监视围栏&#xff08;Monitored Fence&#xff09;实现跨硬件单元的高效协调。其核心目标是解决以下场景的同步需求&#xff1a; GPU引擎间同步&#xff1a;例如在多渲染管线中&#xff0c;后处理…...

YOLOv12即插即用---PPA

1.模块介绍 多分支特征提取:PPA 模块采用局部卷积、全局卷积和串行卷积三种并行分支,从多个尺度和层次提取特征,有效保留小目标在多次下采样过程中的关键信息。 特征融合与注意力增强:在特征提取后,PPA 模块引入高效的通道注意力和空间注意力机制,实现自适应特征增强,…...

MySql主从相关概念

想象一下&#xff0c;你的业务飞速增长&#xff0c;用户请求如潮水般涌来&#xff0c;突然数据库主库宕机&#xff0c;数据丢失&#xff0c;服务瘫痪——这简直是开发者的噩梦&#xff01;MySQL主从复制就像一张安全网&#xff0c;通过主库写、从库读的协作模式&#xff0c;不仅…...

精品推荐-最新大模型MCP核心架构及最佳实践资料合集(18份).zip

精品推荐-最新大模型MCP核心架构及最佳实践资料合集&#xff0c;共18份。 1、2025年程序员必学技能&#xff1a;大模型MCP核心技术.pdf 2、MCP 架构设计剖析&#xff1a;从 Service Mesh 演进到 Agentic Mesh.pdf 3、MCP 架构设计深度剖析&#xff1a;使用 Spring AI MCP 四步…...

Qt模型-视图架构

引言 在GUI开发中&#xff0c;数据与界面的同步一直是核心挑战。传统方法将数据存储在界面组件内部容器中&#xff0c;容易引发数据冗余和同步问题。Qt的模型-视图&#xff08;Model-View&#xff09;架构通过解耦数据与界面&#xff0c;提供了更优雅的解决方案。本文将深入剖…...

Transformers 是工具箱,BERT 是工具。

Transformers 是工具箱&#xff0c;BERT 是工具。 &#x1f50d; 详细解释&#xff1a; 名称作用比喻理解举例&#x1f916; transformers&#xff08;库&#xff09;一个框架&#xff0c;提供很多 NLP 模型的“使用方式”&#xff0c;包括文本分类、问答、摘要等相当于一个“…...

AI应用企业研发方案

一、引言 在当今数字化时代&#xff0c;人工智能&#xff08;AI&#xff09;技术正以前所未有的速度融入各个行业&#xff0c;推动着企业的创新与变革。对于医药流通行业批发公司而言&#xff0c;面对日益激烈的市场竞争和不断变化的客户需求&#xff0c;借助AI技术提升企业的…...

Python实例题:Python实现iavaweb项目远端自动化更新部署

目录 Python实例题 题目 题目分析 需求理解 关键知识点 实现思路分析 代码实现 代码解释 execute_remote_command 函数&#xff1a; deploy_java_web_project 函数&#xff1a; 主程序&#xff1a; 运行思路 结束语 Python实例题 题目 Python实现iavaweb项目远端…...

NO.90十六届蓝桥杯备战|动态规划-区间DP|回文字串|Treats for the Cows|石子合并|248(C++)

区间dp也是线性dp的⼀种&#xff0c;它⽤区间的左右端点来描述状态&#xff0c;通过⼩区间的解来推导出⼤区间的解。因此&#xff0c;区间DP的核⼼思想是将⼤区间划分为⼩区间&#xff0c;它的状态转移⽅程通常依赖于区间的划分点。 常⽤的划分点的⽅式有两个&#xff1a; 基于…...

无人机在极端环境材料的选择

一、材料选择与优化 1. 耐低温/高温复合材料 碳纤维增强聚合物&#xff08;CFRP&#xff09;&#xff1a;具备高强度、低膨胀系数特性&#xff0c;适用于极寒&#xff08;-40℃&#xff09;和高温&#xff08;50℃&#xff09;环境&#xff0c;减少因温度变化导致的结构变形。…...

视觉目标检测大模型GAIA

中国科学院自动化研究所智能感知与计算研究中心携手华为等领军企业&#xff0c;共同推出面向产业应用的视觉目标检测全流程解决方案——GAIA智能检测平台。该研究成果已获CVPR 2021会议收录&#xff08;论文链接&#xff1a; 论文地址&#xff1a;https://arxiv.org/pdf/2106.…...

【数据分析实战】使用 Matplotlib 绘制折线图

1、简述 在日常的数据分析、科研报告、项目可视化展示中&#xff0c;折线图是一种非常常见且直观的数据可视化方式。本文将带你快速上手 Matplotlib&#xff0c;并通过几个实际例子掌握折线图的绘制方法。 Matplotlib 是 Python 中最常用的数据可视化库之一&#xff0c;它能够…...

[原创](现代Delphi 12指南): 设置、运行和调试你的第一个macOS应用程序.

[作者] 常用网名: 猪头三 出生日期: 1981.XX.XX 企鹅交流: 643439947 个人网站: 80x86汇编小站 编程生涯: 2001年~至今[共24年] 职业生涯: 22年 开发语言: C/C、80x86ASM、Object Pascal、Objective-C、C#、R、Python、PHP、Perl、 开发工具: Visual Studio、Delphi、XCode、C …...

第一个Qt开发的OpenCV程序

OpenCV计算机视觉开发实践&#xff1a;基于Qt C - 商品搜索 - 京东 下载安装Qt&#xff1a;https://download.qt.io/archive/qt/5.14/5.14.2/qt-opensource-windows-x86-5.14.2.exe 下载安装OpenCV&#xff1a;https://opencv.org/releases/ 下载安装CMake&#xff1a;Downl…...

APCC:CloudberryDB和Greenplum数据库的管理利器

在大数据时代&#xff0c;企业数据量激增&#xff0c;数据库的运维复杂度与日俱增。如何高效管理数据库集群、快速定位问题并保障系统稳定性&#xff0c;成为企业IT团队的核心挑战。Analytical Processing Central Console&#xff08;APCC&#xff09; 应运而生——这是一款专…...

3D打印革新制造范式:CASAIM 3D打印解决方案

在传统制造面临定制化需求激增与供应链效率瓶颈的双重挑战下&#xff0c;3D打印技术正以颠覆性姿态重塑产业格局。CASAIM深耕工业级3D打印领域十余年&#xff0c;以材料科学、工艺控制与数字化设计的深度融合&#xff0c;为航空航天、汽车制造、医疗器械等高精尖行业提供从原型…...

[蓝桥杯]小tips

记得return 0 输入输出 关闭同步流肯定会记得 但是要记得define endl \n 更重要 dfs和string传参的注意 题目链接 #include<bits/stdc.h> using namespace std;//#define int long long using ll long long; using ar2 array<int,2>; using ar3 array<i…...

安宝特案例 | Fundació Puigvert 医院应用AR技术开创尿石症治疗新纪元

案例介绍 在医疗科技不断进步的今天&#xff0c;Fundaci Puigvert 医院迈出了重要一步&#xff0c;成功应用AR技术进行了全球首例同时使用两台内窥镜的ECIRS手术&#xff08;内镜肾内联合手术&#xff09;&#xff0c;由Esteban Emiliani M.D. PhD F.E.B.U 博士主刀。这标志着…...

LangGraph 架构详解

核心架构组件 LangGraph 的架构建立在一个灵活的基于图的系统上&#xff0c;使开发者能够定义和执行复杂的工作流。以下是主要架构组件&#xff1a; 1. 状态管理系统 LangGraph 的核心是其强大的状态管理系统&#xff0c;它允许应用程序在整个执行过程中维护一致的状态&…...

项目学习总结001

1. 策略模式和工厂模式 https://mp.weixin.qq.com/s/RG-h7r69JyKUlBZylJJIFQ 在软件开发中也常常遇到类似的情况&#xff0c;实现某一个功能有多个途径&#xff0c;此时可以使用一种设计模式来使得系统可以灵活地选择解决途径&#xff0c;也能够方便地增加新的解决途径。这就是…...

TGRS 2024 | 基于光谱相关的高光谱图像超分辨率融合网络

10.1109/TGRS.2024.3423422 研究背景及以往方法存在的问题 高光谱图像超分辨率&#xff08;HSI-SR&#xff09;旨在通过融合低空间分辨率 HSI 与高空间分辨率 MSI&#xff0c;提升 HSI 的空间分辨率。现有方法在模态差异处理、波段相关性利用、细节保留等方面存在不足&#x…...

小张的工厂进化史——工厂模式

小张的工厂进化史——工厂模式 一、简单工厂模式&#xff1a;全能生产线二、工厂方法模式&#xff1a;分品牌代工三、抽象工厂模式&#xff1a;生态产品族四、三种模式核心对比表五、结合Spring实现简单工厂&#xff08;实践&#xff09; 小张从华强北起家&#xff0c;最初只有…...

jupyter notebook 无法启动- markupsafe导致

一、运行jupyter notebook和Spyder报错&#xff1a;(已安装了Anaconda&#xff0c;以前可打开) 1.背景&#xff1a;为了部署机器学习模型&#xff0c;按教程直接安装了flask 和markupsafe&#xff0c;导致jupyter notebook&#xff0c;Spyder 打不开。 pip install flas…...

GPT - GPT(Generative Pre-trained Transformer)模型框架

本节代码主要为实现了一个简化版的 GPT&#xff08;Generative Pre-trained Transformer&#xff09;模型。GPT 是一种基于 Transformer 架构的语言生成模型&#xff0c;主要用于生成自然语言文本。 1. 模型结构 初始化部分 class GPT(nn.Module):def __init__(self, vocab…...

数据中台、BI业务访谈(三):如何选择合适的访谈对象

大家在日常中有没有遇到这种情况&#xff0c;感觉所有的事情都准备的很充分了&#xff0c;反复的演练&#xff0c;结果一上去就发现事情完全没有按照自己预想的来。智者千虑&#xff0c;必有一失。满满自信的去&#xff0c;结果是铩羽归来。 这种情况很正常&#xff0c;就跟打…...

计算机网络-TCP可靠传输机制

计算机网络-TCP可靠传输机制 3. TCP可靠传输机制3.1 序列号与确认号机制3.1.1 序列号与确认号的基本概念3.1.2 序列号与确认号的工作原理3.1.3 序列号与确认号在Linux内核中的实现TCP控制块中的序列号和确认号字段序列号的初始化发送数据时的序列号处理接收数据时的确认号处理 …...

计算机网络- 传输层安全性

传输层安全性 7. 传输层安全性7.1 传输层安全基础7.1.1 安全需求机密性&#xff08;Confidentiality&#xff09;完整性&#xff08;Integrity&#xff09;真实性&#xff08;Authenticity&#xff09;不可否认性&#xff08;Non-repudiation&#xff09; 7.1.2 常见安全威胁窃…...

【C++取经之路】lambda和bind

目录 引言 lambda语法 lambda捕获列表解析 1&#xff09;值捕获 2&#xff09;引用捕获 3&#xff09;隐式捕获 lambda的工作原理 lambda进阶用法 泛型lambda 立即调用 lambda 与 function bind语法 bind的调用逻辑 bind核心用途 绑定参数 调整参数顺序 bind的…...

AF3 ProteinDataset类的初始化方法解读

AlphaFold3 protein_dataset模块 ProteinDataset 类主要负责从结构化的蛋白质数据中构建一个可供模型训练/推理使用的数据集,ProteinDataset 类的 __init__ 方法用于初始化一个蛋白质数据集对象。 源代码: def __init__(self,dataset_folder,features_folder="./data/t…...

博客园账户注册全流程指南(附常见问题)

博客园账户注册全流程指南&#xff08;附常见问题&#xff09; 引言 博客园作为国内老牌技术社区&#xff0c;是程序员们分享知识、交流技术的圣地。本文将手把手教你完成从注册到开通博客的全流程&#xff0c;附常见问题解答&#xff0c;助你轻松开启技术博客之旅。 一、注…...

算法复习笔记

算法复习 最大公约数枚举abc反序数 模拟xxx定律打印数字菱形今年的第几天&#xff1f;vector完数VS盈数剩下的树 排序和查找顺序查找二分查找找位置 字符串统计单词浮点数加法 线性数据结构队列约瑟夫问题&#xff08;队列&#xff09;计算表达式&#xff08;栈&#xff09; 递…...

spring boot 引入fastjson,com.alibaba.fastjson不存在(Springboot-测试项目)

spring boot 引入fastjson&#xff0c;com.alibaba.fastjson不存在&#xff08;Springboot-测试项目&#xff09; 先解决最初的的包不找到问题&#xff0c;适用所有包找不到跟进。 <mirrors><!-- mirror| Specifies a repository mirror site to use instead of a g…...

新闻推荐系统(springboot+vue+mysql)含万字文档+运行说明文档

新闻推荐系统(springbootvuemysql)含万字文档运行说明文档 该系统是一个新闻推荐系统&#xff0c;分为管理员和用户两个角色。管理员模块包括个人中心、用户管理、排行榜管理、新闻管理、我的收藏管理和系统管理等功能。管理员可以通过这些功能进行用户信息管理、查看和编辑用…...

UE4 踩坑记录

1、Using git status to determine working set for adaptive non-unity build 我删除了一个没用的资源&#xff0c;结果就报这个错&#xff0c;原因就是这条命令导致的&#xff0c; 如果这个项目是git项目&#xff0c; ue编译时会优先通过 git status检查哪些文件被修改&#…...

【解决方案】vscode 不小心打开了列选择模式,选择时只能选中同一列的数据。

vscode 不小心打开了列选择模式&#xff0c;选择时只能选中同一列的数据。 解决方案&#xff1a; 1.通过命令面板关闭&#xff1a; 按下 Ctrl Shift P&#xff08;Windows/Linux&#xff09;或 Cmd Shift P&#xff08;macOS&#xff09;&#xff0c;输入 切换列选择模式…...

国标GB28181视频平台EasyCVR如何搭建汽车修理厂远程视频网络监控方案

一、背景分析 近年我国汽车保有量持续攀升&#xff0c;与之相伴的汽车保养维修需求也逐渐提高。随着社会经济的发展&#xff0c;消费者对汽车维修服务质量的要求越来越高&#xff0c;这使得汽车维修店的安全防范与人员管理问题面临着巨大挑战。 多数汽车维修店分布分散&#…...

【Go】windows下的Go安装与配置,并运行第一个Go程序

【Go】windows下的Go安装与配置&#xff0c;并运行第一个Go程序 安装环境&#xff1a;windows10 64位 安装版本&#xff1a;go1.16 windows/amd64 一、安装配置步骤 1.到官方网址下载安装包 https://golang.google.cn/dl/ 默认情况下 .msi 文件会安装在 c:\Go 目录下。可自行配…...

Linux 线程:从零构建多线程应用:系统化解析线程API与底层设计逻辑

线程 线程的概述 在之前&#xff0c;我们常把进程定义为 程序执行的实例&#xff0c;实际不然&#xff0c;进程实际上只是维护应用程序的各种资源&#xff0c;并不执行什么。真正执行具体任务的是线程。 那为什么之前直接执行a.out的时候&#xff0c;没有这种感受呢&#xf…...

榕壹云无人共享系统:基于SpringBoot+MySQL+UniApp的物联网共享解决方案

无人共享经济下的技术革新 随着无人值守经济模式的快速发展,传统共享设备面临管理成本高、效率低下等问题。榕壹云无人共享系统依托SpringBoot+MySQL+UniApp技术栈,结合物联网与移动互联网技术,为商家提供低成本、高可用的无人化运营解决方案。本文将详细解析该系统的技术架…...

技术书籍推荐(002):电子书免费下载

20. 利用Python进行数据分析 免费 电子书 PDF 下载 书籍简介&#xff1a; 本书聚焦于使用Python进行数据处理和分析。详细介绍了Python中用于数据分析的重要库&#xff0c;如NumPy&#xff08;提供高效的数值计算功能&#xff0c;包括数组操作、数学函数等&#xff09;、panda…...

安全序列(DP)

#include <bits/stdc.h> using namespace std; const int MOD1e97; const int N1e65; int f[N]; int main() {int n,k;cin>>n>>k;f[0]1;for(int i1;i<n;i){f[i]f[i-1]; // 不放桶&#xff1a;延续前一位的所有方案if(i-k-1>0){f[i](f[i]f[i-k…...

数据可视化 —— 堆形图应用(大全)

一、案例一&#xff1a;温度堆积图 # 导入 matplotlib 库中的 pyplot 模块&#xff0c;这个模块提供了类似于 MATLAB 的绘图接口&#xff0c; # 方便我们创建各种类型的可视化图表&#xff0c;比如折线图、柱状图、散点图等 import matplotlib.pyplot as plt # 导入 numpy 库&…...