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

2018年认证杯SPSSPRO杯数学建模A题(第二阶段)海豚与沙丁鱼全过程文档及程序

2018年认证杯SPSSPRO杯数学建模

基于聚类分析的海豚捕食合作策略

A题 海豚与沙丁鱼

原题再现:

  沙丁鱼以聚成大群的方式来对抗海豚的捕食。由于水下光线很暗,所以在距离较远时,海豚只能使用回声定位方法来判断鱼群的整体位置,难以分辨每个个体。鱼群的行动是有协调性的,在没有外部威胁或障碍物时,鱼群常常会聚成接近球形的形态。而当海豚接触甚至冲进鱼群,鱼群则会进行协同的躲避,所以不易在大鱼群中追踪一个目标。沙丁鱼的这种群体行为降低了其被海豚捕食的概率。

  第二阶段问题: 智商较高的海豚会配合行动,以图提高捕食的效率。请你建立合理的数学模型,研究多条海豚配合捕食时应当采取怎样的合作策略。

整体求解过程概述(摘要)

  生态系统中,无论作为捕食者还是被捕食者,好多生物出于生存、觅食、避险和繁殖等原因通常采用集群运动行为。沙丁鱼群和海豚之间的对抗就属于典型的群体行为博弈。第一阶段建立的基于沙丁鱼个体之间疏密度控制的沙丁鱼群逃逸模型被运用到第二阶段中,沙丁鱼群的逃逸策略不仅要避免被海豚捕食,同时要拉开与沙丁鱼彼此的间距,采用了基于最远逃逸距离和最佳逃逸角度相结合的原则进行疏密度控制,使得逃逸的沙丁鱼群分布比较分散,这增大了海豚的捕食难度。在第二阶段,必须制定合适的海豚捕食策略,才能实现对分散逃逸、稀疏分布的沙丁鱼群的高效捕食。第二阶段模型主要工作内容在以下两个方面:
  其一、研究海豚群体行为模式,模拟海豚集群协作捕食的场景,设定了三种协作阵型:圆形包围阵型、三角进攻阵型和混合(围追堵截)阵型。圆形包围阵型实施对沙丁鱼向中心驱赶,沙丁鱼群的最远逃逸距离原则反而使得沙丁鱼群由四周向内聚拢,进一步被海豚合围压制,因此在圆形包围阵型在捕食初期能制约鱼群逃逸,获得很好的捕食效果。三角进攻阵型是从一个方向朝鱼群进攻,由于鱼群的较好的自适应逃逸策略,通过优化最远逃逸距离和最佳逃逸方向,总能避开海豚的追击。混合型阵型结合了两种阵型的特点,一部分海豚在一侧追击,另一部分在令一侧堵截。通过仿真对三种阵型捕食效果进行对比,在同等条件下,圆圈包围阵型对沙丁鱼平均捕获率为 16%;三角进攻阵型适合驱赶沙丁鱼群,平均捕获率为 0;混合(围追堵截)阵型的平均捕获率为 9%。因此,圆形包围阵型的效果最好。
  其二,研究海豚个体行为模式,制定了两种海豚个体的捕食策略:沙丁鱼近邻策略和沙丁鱼群密度聚类分析策略。近邻策略是指在海豚感知范围内,其捕食目标和行动路线始终朝向最近的沙丁鱼;聚类分析策略是指利用基于密度的聚类算法(DBSCAN),对在海豚的有效感知区域内散布的沙丁鱼进行聚类,从而判断沙丁鱼聚集的高密度区,使其捕食目标和行动路线朝向鱼群高密度区的中心。仿真结果显示:聚类法捕获的沙丁鱼数量比近邻法高出 80%,在捕食效果上基于密度的聚类法优于近邻策略。通过对海豚多组合作策略对比分析,本文得出结论:基于聚类法的海豚个体捕食策略结合圆形包围的海豚集群阵型是较好的合作捕食策略,该合作策略对进一步建立类似的高效捕食体系仿真模型具有参考价值。同时为三维空间海豚配合捕食运动建模奠定基础。

问题分析:

  第二阶段在沿用第一阶段背景的基础上,讨论针对沙丁鱼群协同避险行为和鱼群的逃逸运动规律,研究多条海豚配合捕食时的合作策略。针对多条海豚捕食合作一般分为以下几个阶段:
  第一阶段,当海豚发现一定距离范围有沙丁鱼群,提前实施相应的围攻策略,形成一定阵型,为进一步进攻捕食做足准备。
  第二阶段,海豚已经靠近目标鱼群,针对海豚进攻时刻周围鱼群的分布情况,采取的进攻捕食方向策略。
  基于上述两个阶段的海豚捕食过程的分析,大致可以将海豚的合作策略分为围攻策略和进攻捕食策略。首先,通过查找大量的相关文献,本文针对不同围攻策略,建立三种排布阵型;1)圆形阵型;2)三角阵型;3)组合阵型(即圆形和三角组合)。其次考虑到海豚周围鱼群不同的分布情况,海豚的进攻捕食方向有两种可能选择:1)向距离最近的沙丁鱼进攻;二、向密度较大的逃逸的鱼群展开追逐捕食。为了使问题清晰化,本文认为两种进攻过程中海豚应当具有对处在其必定捕杀距离范围内的沙丁鱼一击必杀的能力,并且其猎杀过程的时间与整个追逐沙丁鱼群的时间相比可忽略。同时,海豚能够利用回声定位对沙丁鱼群保持时刻的整体感知,其感知所耗费的时滞几乎不计。当海豚和沙丁鱼距离小于海豚捕食步长时,捕杀必定成功。通过分析对比海豚不同的捕食规律所对应的捕食沙丁鱼群的成功率来优化海豚捕食的合作策略。

模型假设:

  1、鱼群和海豚都活动在足够大的水域中,不受地形和海平面的影响;
  2、海豚的感知范围为以自身为中心,半径为 Sense 的圆域,简化处理,将沙丁鱼和海豚视为质点处理;
  3、海豚对沙丁鱼群的每一次进攻捕食都可以简化为直线运动;
  4、所有的海豚都具有相同的物理特性(包括运动能力和感知能力);
  5、海豚与沙丁鱼距离小于海豚运动步长时,海豚必定捕杀成功;
  6、海豚一次只能吃掉一条沙丁鱼;(此假设是基于俄勒冈大学和夏威夷大学共同研究成果制定,因为海豚不能像蓝鲸一样张大嘴巴,一次吞进大量的食物,它们需要以单条鱼为目标);
  7、海豚初始按照阵型规律前进;

论文缩略图:

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

全部论文请见下方“ 只会建模 QQ名片” 点击QQ名片即可

部分程序代码:(代码和文档not free)

%鲨鱼四周围捕,一起进攻
clear all;
clc
M=50;N=100;ls=20; Ns=4; h=20; Sense=150;%ls 鲨鱼步长;h 鲨鱼开始走直线的距离,Ns 鲨鱼
数量
d0=[99 99 99 99];
S(1,1)=-20;S(2,1)=-20;
S(3,1)=120;S(4,1)=120;
S(5,1)=120;S(6,1)=-20;
S(7,1)=-20;S(8,1)=120;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%初始小鱼的聚集球状%%%%%%%%%%%%%%%%%%%%%%%%%%%
x0=50;y0=50;O=[x0;y0];%圆心坐标
R = 10;%圆半径
deta = 360.*rand(N,1);%随机角度
r = R.*rand(N,1);%随机半径
dx = r.*cosd(deta);%计算 x 坐标增量
dy = r.*sind(deta);%计算 y 坐标增量
nx = x0 + dx;%计算随机点 x 坐标
ny = x0 + dy;%计算随机点 y 坐标
%%%%%%%%%%%%%%%%%%%%%%%%%%%% 鲨 鱼 的 移 动 %%%% 四条集中行动 %%%%% 近 邻 捕
食%%%%%%%%%%%%%%%%%%%%%%%%%
F(1,:)=nx;
E(1,:)=ny;
F=F';E=E';
for i=1:M;d0(1)=((O(1,1)-S(1,i))^2+(O(2,1)-S(2,i))^2)^0.5;d0(2)=((O(1,1)-S(3,i))^2+(O(2,1)-S(4,i))^2)^0.5;d0(3)=((O(1,1)-S(5,i))^2+(O(2,1)-S(6,i))^2)^0.5;d0(4)=((O(1,1)-S(7,i))^2+(O(2,1)-S(8,i))^2)^0.5; Dst1=sdy2_ss_Dist(S(1,i),S(2,i),F(:,i),E(:,i));Ds(:,1)=Dst1;[Dsmin(1),idx(1)]=min(Ds(:,1));Dst2=sdy2_ss_Dist(S(3,i),S(4,i),F(:,i),E(:,i));Ds(:,2)=Dst2;[Dsmin(2),idx(2)]=min(Ds(:,2));Dst3=sdy2_ss_Dist(S(5,i),S(6,i),F(:,i),E(:,i));Ds(:,3)=Dst3;[Dsmin(3),idx(3)]=min(Ds(:,3));Dst4=sdy2_ss_Dist(S(7,i),S(8,i),F(:,i),E(:,i));Ds(:,4)=Dst4;[Dsmin(4),idx(4)]=min(Ds(:,4));%Nx=F(idx);Ny=E(idx);
%theta=sdy2_ss_count(S(1,i-1),S(2,i-1),S(1,i),S(2,i),Nx,Ny);if Dsmin(1)<=lsS(1,i+1)=F(idx(1));S(2,i+1)=E(idx(1));[vol,col]=size(F(:,1)); if idx(1)<=vol;F(idx(1),:)=[];E(idx(1),:)=[];endelseif Dsmin(1)>ls && Dsmin(1)<=Sense[px1,py1]=sdy2_point(S(1,i),S(2,i),F(idx(1)),E(idx(1)),Dsmin(1),ls); S(1,i+1)=px1;S(2,i+1)=py1;elseS(1,i+1)=S(1,i)+ls*abs((O(1,1)-S(1,i)))/(sqrt((O(1,1)-S(1,i))^2+(O(2,1)-
S(2,i))^2));S(2,i+1)=S(2,i)+ls*abs((O(2,1)-S(2,i)))/(sqrt((O(1,1)-S(1,i))^2+(O(2,1)-
S(2,i))^2));endif Dsmin(2)<=lsS(3,i+1)=F(idx(2));S(4,i+1)=E(idx(2));[vol,col]=size(F(:,1)); if idx(2)~=idx(1) && idx(2) && idx(2)<=vol;F(idx(2),:)=[];E(idx(2),:)=[];endelseif Dsmin(2)>ls && Dsmin(2)<=Sense[px2,py2]=sdy2_point(S(3,i),S(4,i),F(idx(2)),E(idx(2)),Dsmin(2),ls); S(3,i+1)=px2;S(4,i+1)=py2;elseS(3,i+1)=S(3,i)-ls*abs((O(1,1)-S(3,i)))/(sqrt((O(1,1)-S(3,i))^2+(O(2,1)-
S(4,i))^2));S(4,i+1)=S(4,i)-ls*abs((O(2,1)-S(4,i)))/(sqrt((O(1,1)-S(3,i))^2+(O(2,1)-
S(4,i))^2));endif Dsmin(3)<=lsS(5,i+1)=F(idx(3));S(6,i+1)=E(idx(3));[vol,col]=size(F(:,1)); if idx(3)~=idx(2) && idx(3)~=idx(1) && idx(3)<=vol;F(idx(3),:)=[];E(idx(3),:)=[];endelseif Dsmin(3)>ls && Dsmin(3)<=Sense[px3,py3]=sdy2_point(S(5,i),S(6,i),F(idx(3)),E(idx(3)),Dsmin(3),ls);
S(5,i+1)=px3;S(6,i+1)=py3;elseS(5,i+1)=S(5,i)-ls*abs((O(1,1)-S(5,i)))/(sqrt((O(1,1)-S(5,i))^2+(O(2,1)-
S(6,i))^2));S(6,i+1)=S(6,i)+ls*abs((O(2,1)-S(6,i)))/(sqrt((O(1,1)-S(5,i))^2+(O(2,1)-
S(6,i))^2));endif Dsmin(4)<=lsS(7,i+1)=F(idx(4));S(8,i+1)=E(idx(4)); [vol,col]=size(F(:,1)); if idx(4)~=idx(3) && idx(4)~=idx(2)&& idx(4)~=idx(1) && idx(4)<=vol;F(idx(4),:)=[];E(idx(4),:)=[];endelseif Dsmin(4)>ls && Dsmin(4)<=Sense[px4,py4]=sdy2_point(S(7,i),S(8,i),F(idx(4)),E(idx(4)),Dsmin(4),ls); S(7,i+1)=px4;S(8,i+1)=py4;elseS(7,i+1)=S(7,i)+ls*abs((O(1,1)-S(7,i)))/(sqrt((O(1,1)-S(7,i))^2+(O(2,1)-
S(8,i))^2));S(8,i+1)=S(8,i)-ls*abs((O(2,1)-S(8,i)))/(sqrt((O(1,1)-S(7,i))^2+(O(2,1)-
S(8,i))^2));end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%沙丁鱼逃逸%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
[N,nl]=size(F(:,1)); num=zeros(N,M); 
Ds=zeros(N,Ns);Dst1=zeros(N,1);Dst2=zeros(N,1);Dst3=zeros(N,1);Dst4=zeros(N,1);
Df=12; Dm=7; ohm=zeros(N,M);dn=zeros(N,M); SS=zeros(2,M);%df 沙丁鱼步长for j=1:Nmode(1)=((F(j,i)-S(1,i))^2+(E(j,i)-S(2,i))^2)^0.5;mode(2)=((F(j,i)-S(3,i))^2+(E(j,i)-S(4,i))^2)^0.5;mode(3)=((F(j,i)-S(5,i))^2+(E(j,i)-S(6,i))^2)^0.5;mode(4)=((F(j,i)-S(7,i))^2+(E(j,i)-S(8,i))^2)^0.5;[mm,l]=min(mode);dn(j,i)=mm;SS(1,i)=S((2*l-1),i);SS(2,i)=S((2*l-0),i);x=(F(j,i)-SS(1,i))/mm*Df;y=(E(j,i)-SS(2,i))/mm*Df;x0=F(j,i);y0=E(j,i);if F(j,i)>=E(j,i);F(j,i+1)=x*cos(ohm(j,i))+y*sin(ohm(j,i))+x0;E(j,i+1)=-x*sin(ohm(j,i))+y*cos(ohm(j,i))+y0;elseF(j,i+1)=x*cos(ohm(j,i))-y*sin(ohm(j,i))+x0;E(j,i+1)=x*sin(ohm(j,i))+y*cos(ohm(j,i))+y0;
endend
Fx=F(:,i); Fy=E(:,i);
numt=sdy_Dm(N,M,Fx,Fy,Dm);
num(:,i)=numt'; 
Pnum=num(:,i)/N;
ohmt=sdy2_judge(Pnum,dn);
ohm(:,i)=ohmt;
end
for i=1:5:M
figure(i)
plot(S(1,i),S(2,i),'ro');grid on;hold on;plot(S(3,i),S(4,i),'ro');hold 
on;plot(S(5,i),S(6,i),'ro');hold on;plot(S(7,i),S(8,i),'ro');hold on;axis([-400,600,-
400,600]);
plot(F(:,i),E(:,i),'b.');
title(['' num2str(i) ' 步']);
end;
全部论文及程序请见下方“ 只会建模 QQ名片” 点击QQ名片即可

相关文章:

2018年认证杯SPSSPRO杯数学建模A题(第二阶段)海豚与沙丁鱼全过程文档及程序

2018年认证杯SPSSPRO杯数学建模 基于聚类分析的海豚捕食合作策略 A题 海豚与沙丁鱼 原题再现&#xff1a; 沙丁鱼以聚成大群的方式来对抗海豚的捕食。由于水下光线很暗&#xff0c;所以在距离较远时&#xff0c;海豚只能使用回声定位方法来判断鱼群的整体位置&#xff0c;难…...

C# tcp客户端字符串(图片名称)+ 图片数据打包,发送到服务端;服务端接收到数据后解析数据包

在C#中&#xff0c;要将字符串和图片数据打包发送到服务端&#xff0c;并在服务端解析这些数据&#xff0c;可以按照以下步骤进行&#xff1a; 客户端打包数据 1、创建一个自定义的数据结构来保存字符串和图片数据。 2、将字符串转换为字节数组。 3、将图片数据转换为字节数组。…...

【机组】算术逻辑单元带进位运算实验的解密与实战

​&#x1f308;个人主页&#xff1a;Sarapines Programmer&#x1f525; 系列专栏&#xff1a;《机组 | 模块单元实验》⏰诗赋清音&#xff1a;云生高巅梦远游&#xff0c; 星光点缀碧海愁。 山川深邃情难晤&#xff0c; 剑气凌云志自修。 ​ 目录 &#x1f33a;一、 实验目…...

axios query传数组参数的格式

在 Axios 中&#xff0c;当你需要传递数组参数时&#xff0c;可以使用以下几种方式进行格式化&#xff1a; 使用 paramsSerializer 将数组转换为逗号分隔的字符串&#xff1a; import axios from axios;import qs from qs;const arrayParams [param1, param2, param3];axios.…...

2018年认证杯SPSSPRO杯数学建模B题(第一阶段)动态模糊图像全过程文档及程序

2018年认证杯SPSSPRO杯数学建模 B题 动态模糊图像 原题再现&#xff1a; 人眼由于存在视觉暂留效应&#xff0c;所以看运动的物体时&#xff0c;看到的每一帧画面都包含了一段时间内 (大约 1/24 秒) 的运动过程&#xff0c;所以这帧画面事实上是模糊的。对电影的截图来说&…...

qt学习:Qfile文件类

目录 功能 读接口 参数说明 返回值 例子 写接口 参数说明 QString转为QByteArray 其他接口 功能 该类是一个用户读写文件io口&#xff0c;它继承于QFileDevice 读接口 qint64 read(char *data,qint64 maxSize)// 一次读取maxSize大小的数据存放在以data…...

从 GPT1 - GPT4 拆解

从 GPT1 - GPT4 拆解 从 GPT1 - GPT4GPT1&#xff1a;更适用于文本生成领域GPT2&#xff1a;扩展数据集、模型参数&#xff0c;实现一脑多用&#xff08;多个任务&#xff09;GPT3&#xff1a;元学习 大力出奇迹InstructGPT&#xff1a;指示和提示学习 人工反馈强化学习 RLHF…...

Python项目——计算器(PySide6+Pyinstaller)

1、介绍 使用python编写一个计算器&#xff0c;可以实现基本的运算。【注】该项目最终还有一些细小的bug没有完善&#xff0c;例如符号可以一直输入。 2、实现 使用pyCharm创建一个新的项目。 2.1、设计UI 使用Qt designer设计一个UI界面&#xff0c;保存ui文件&#xff0…...

ChatGPT 和文心一言哪个更好用?

根据提供的搜索结果&#xff0c;ChatGPT和文心一言各有特点和优势&#xff0c;选择哪一个更好用取决于具体的应用场景和个人需求。以下是两者的对比&#xff1a; ChatGPT&#xff1a; 适用场景&#xff1a;适合需要生成大量知识性文本的任务&#xff0c;如问答系统、知识图谱…...

数据备份与恢复

备份概述 一、备份方式 按照数据库服务状态分为&#xff1a; 冷备份&#xff1a;在备份时暂停数据库运行和服务&#xff0c;将整个数据库复制到备份设备中 热备份&#xff1a;在备份时不停止数据库的运行和服务 按照备份的数据分为&#xff1a; 物理备份&#xff1a;备份…...

数据库原理及数据库的优化

1、数据库的原理 数据库&#xff1a;持久化存储&#xff0c;存到硬盘 性能&#xff1a;oracl>db2>sqlserver>mysql oracl&#xff0c;db2&#xff0c;sqlserver性能差不多&#xff0c;几十万次每秒&#xff0c;myslq性能差很多&#xff0c;几千次每秒&#xff0c;都…...

C语言第三弹---数据类型和变量

✨个人主页&#xff1a; 熬夜学编程的小林 &#x1f497;系列专栏&#xff1a; 【C语言详解】 【数据结构详解】 数据类型和变量 1、数据类型介绍1.1、整型1.2、浮点型1.3、字符型1.4、布尔类型1.5、各种数据类型的长度1.5.1、sizeof操作符1.5.2、数据类型的长度1.5.3、sizeo…...

[通知]rust跟我学:文件时间属性获得方法文章已上线

大家好&#xff0c;我是带剑书生&#xff0c;开源库get_local_info的作者。目前我的付费专栏已经上线第七篇文章&#xff0c;用于介绍在实现get_local_info过程中&#xff0c;遇到该问题所使用的解决方法&#xff0c;喜欢的朋友可以去订阅了&#xff0c;19.9元&#xff0c;非常…...

基于嵌入式的智能智能通风系统

基于嵌入式的智能智能通风系统 功能说明 通过微信小程序控制窗户的开关状体以及倒计时开关和定时开关&#xff0c;小程序上实时显示当前温度湿度和光照强度。 功能展示 02智能通风系统 Mqtt服务器 http://www.yoyolife.fun/iot&#xff1a;Mqtt服务器&#xff0c;我是在这里注…...

如何编写一个好的测试用例?才能防止背黑锅

如何编写一个好的测试用例&#xff1f;才能防止背黑锅 什么是测试用例&#xff1f;一个好的测试用例包含什么&#xff1f;测试用例的编写思路总结 什么是测试用例&#xff1f; 在这之前&#xff0c;思考一个问题&#xff0c;下面这个简单的QQ登录页面&#xff0c;一共又多少条…...

笨蛋学设计模式行为型模式-观察者模式【14】

行为型模式-观察者模式 8.1观察者模式:arrow_up::arrow_up::arrow_up:8.1.1概念8.1.2场景8.1.3优势 / 劣势8.1.4观察者模式可分为观察者的基本结构&#xff1a; 8.1.5观察者模式8.1.6实战8.1.6.1题目描述8.1.6.2输入描述8.1.6.3输出描述8.1.6.4代码 8.1.7总结 8.1观察者模式⬆️…...

上海智慧岛大数据云计算中心项目正式封顶!

上海智慧岛大数据云计算中心封顶仪式现场 1月15日&#xff0c;云端股份在上海智慧岛大数据云计算中心举行封顶仪式。云之端网络&#xff08;江苏&#xff09;股份有限公司&#xff08;以下称“云端股份”&#xff09;总经理贡伟力先生&#xff0c;常务副总张靖先生等公司成员&…...

靶场实战(19):OSCP备考之VulnHub HA WORDY

交流技术可以关注公众号 OneMoreThink 或后台添加微信&#xff0c;欢迎提出宝贵建议。 0、总结 0.1、攻击思路 资产发现 主机发现服务发现漏洞发现&#xff08;获取权限&#xff09; 80端口/HTTP服务 组件漏洞URL漏洞&#xff1a;RFI、FileUpload提升权限 www-data用户 sudosui…...

大模型学习与实践笔记(九)

一、LMDeply方式部署 使用 LMDeploy 以本地对话方式部署 InternLM-Chat-7B 模型&#xff0c;生成 300 字的小故事 2.api 方式部署 运行 结果&#xff1a; 显存占用&#xff1a; 二、报错与解决方案 在使用命令&#xff0c;对lmdeploy 进行源码安装是时&#xff0c;报错 1.源…...

fpga目前就业形势咋样?

FPGA今年各厂给本科生的薪资大概是15-30K&#xff0c;研究生是20-40K&#xff0c;平均薪资在25k左右&#xff0c; 当然具体薪资还要看去哪个公司&#xff0c;哪个城市&#xff0c;以及个人的学校、专业、能力水平、及包括面试时的表现&#xff0c;运气等&#xff0c;这些都会导…...

HTML 语义化

目录 HTML 语义化HTML5 新特性HTML 语义化的好处语义化标签的使用场景最佳实践 HTML 语义化 HTML5 新特性 标准答案&#xff1a; 语义化标签&#xff1a; <header>&#xff1a;页头<nav>&#xff1a;导航<main>&#xff1a;主要内容<article>&#x…...

Vue记事本应用实现教程

文章目录 1. 项目介绍2. 开发环境准备3. 设计应用界面4. 创建Vue实例和数据模型5. 实现记事本功能5.1 添加新记事项5.2 删除记事项5.3 清空所有记事 6. 添加样式7. 功能扩展&#xff1a;显示创建时间8. 功能扩展&#xff1a;记事项搜索9. 完整代码10. Vue知识点解析10.1 数据绑…...

线程与协程

1. 线程与协程 1.1. “函数调用级别”的切换、上下文切换 1. 函数调用级别的切换 “函数调用级别的切换”是指&#xff1a;像函数调用/返回一样轻量地完成任务切换。 举例说明&#xff1a; 当你在程序中写一个函数调用&#xff1a; funcA() 然后 funcA 执行完后返回&…...

第一篇:Agent2Agent (A2A) 协议——协作式人工智能的黎明

AI 领域的快速发展正在催生一个新时代&#xff0c;智能代理&#xff08;agents&#xff09;不再是孤立的个体&#xff0c;而是能够像一个数字团队一样协作。然而&#xff0c;当前 AI 生态系统的碎片化阻碍了这一愿景的实现&#xff0c;导致了“AI 巴别塔问题”——不同代理之间…...

令牌桶 滑动窗口->限流 分布式信号量->限并发的原理 lua脚本分析介绍

文章目录 前言限流限制并发的实际理解限流令牌桶代码实现结果分析令牌桶lua的模拟实现原理总结&#xff1a; 滑动窗口代码实现结果分析lua脚本原理解析 限并发分布式信号量代码实现结果分析lua脚本实现原理 双注解去实现限流 并发结果分析&#xff1a; 实际业务去理解体会统一注…...

Matlab | matlab常用命令总结

常用命令 一、 基础操作与环境二、 矩阵与数组操作(核心)三、 绘图与可视化四、 编程与控制流五、 符号计算 (Symbolic Math Toolbox)六、 文件与数据 I/O七、 常用函数类别重要提示这是一份 MATLAB 常用命令和功能的总结,涵盖了基础操作、矩阵运算、绘图、编程和文件处理等…...

[Java恶补day16] 238.除自身以外数组的乘积

给你一个整数数组 nums&#xff0c;返回 数组 answer &#xff0c;其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法&#xff0c;且在 O(n) 时间复杂度…...

iOS性能调优实战:借助克魔(KeyMob)与常用工具深度洞察App瓶颈

在日常iOS开发过程中&#xff0c;性能问题往往是最令人头疼的一类Bug。尤其是在App上线前的压测阶段或是处理用户反馈的高发期&#xff0c;开发者往往需要面对卡顿、崩溃、能耗异常、日志混乱等一系列问题。这些问题表面上看似偶发&#xff0c;但背后往往隐藏着系统资源调度不当…...

解读《网络安全法》最新修订,把握网络安全新趋势

《网络安全法》自2017年施行以来&#xff0c;在维护网络空间安全方面发挥了重要作用。但随着网络环境的日益复杂&#xff0c;网络攻击、数据泄露等事件频发&#xff0c;现行法律已难以完全适应新的风险挑战。 2025年3月28日&#xff0c;国家网信办会同相关部门起草了《网络安全…...

Golang——7、包与接口详解

包与接口详解 1、Golang包详解1.1、Golang中包的定义和介绍1.2、Golang包管理工具go mod1.3、Golang中自定义包1.4、Golang中使用第三包1.5、init函数 2、接口详解2.1、接口的定义2.2、空接口2.3、类型断言2.4、结构体值接收者和指针接收者实现接口的区别2.5、一个结构体实现多…...