【免疫算法,资源分配】基于免疫算法的认知无线电资源分配研究
1.软件版本
matlab2017b
2.本算法理论知识
在生命科学领域,人们对遗传和免疫等自然现象进行了广泛而深入的研究.20世纪60年代,Bagley和Rosenberg等先驱使用了相关的内容和知识,特别是遗传学的理论和概念,在对这些研究成果进行分析和理解的基础上,将其成功应用于某些工程科学领域,取得了良好的效果。八十年代中期,美国密歇根大学的Hollan教授不仅对其进行了总结和扩展。先前学者提出的遗传概念,也给出了简洁明了的算法描述,从而形成了目前的一般遗传算法。(遗传算法,遗传算法)。因为传统遗传算法具有使用方便,鲁棒性强的特点。便于并行处理,广泛应用于组合优化,结构设计,人工智能等领域另一方面,Farmer和Bersini也在不同的时间和不同程度上参与了免疫的概念。遗传算法是一种具有迭代生成和测试过程的搜索算法。
研究人员正试图将生命科学中的免疫概念引入工程实践领域,并利用相关知识和理论将它们与现有的一些智能算法有机地结合起来,建立新的进化理论和算法来改进算法。整体性能。基于这一思想,将免疫概念及其理论应用于遗传算法。在保留原算法优良特性的前提下,试图有选择地,有目的地利用待解决问题中的一些特征信息或知识来抑制优化过程。降解现象,该算法称为免疫算法(IA))。
免疫算法相关概念
1、抗原:在生命科学中,一种刺激和诱导机体免疫系统产生免疫反应并在体内或体外与相应的免疫反应产物发生特异反应的物质。在我们的算法中,它指的是所有可能错误的基因,也就是说,非最佳个体的基因。
2、抗体:在生命科学中,免疫系统受到抗原的刺激,免疫细胞转化为浆细胞,产生与抗原特异性结合的免疫球蛋白。免疫球蛋白是抗体。在这种情况下,它指的是通过根据疫苗修改个体基因而获得的新个体。其中,根据疫苗修饰个体基因的过程是接种疫苗,目的是在产生新个体时消除抗原的不利影响。
3、免疫疫苗:基于进化或未决问题估计最佳个体基因。
4、免疫算子:与生命科学中的免疫学理论类似,免疫操作者也分为两种类型:总免疫和靶免疫,分别对应于生命科学中的非特异性免疫和特异性免疫。其中,总免疫指的是类型免疫接种,其中每个个体中的每个个体在每次突变操作后进行免疫操作;目标免疫是指个体在变异操作后的判断,个体仅在行动点。发生一种免疫反应。前者主要应用于个体进化的初始阶段,但基本上不起作用在进化过程中,否则它很可能产生通常意义上的“同化现象”;后者通常伴随着人口进化的整个过程。它也是免疫操纵的常见操作者。
5、免疫调节:在免疫反应过程中,大量抗体的产生减少了抗原对免疫细胞的刺激,从而抑制了抗体的分化和增殖,同时,还存在相互刺激和抑制的关系。产生的抗体,如抗原和抗体,抗体和抗体之间的相互限制将抗体的免疫应答维持在一定水平,确保身体的免疫平衡。
6、免疫记忆:免疫系统与抗原反应的抗体作为记忆细胞存储。当相同的抗原再次侵入时,相应的记忆细胞被激活以产生大量抗体,缩短免疫应答时间。
7、抗原识别:通过将抗原表面上的表位与抗体分子表面上的化学基团匹配来完成识别。这种匹配过程也是一个连续学习抗原的过程,最后选择最合适的抗体与抗原结合。排除抗原。
免疫算法流程
1、随机产生初始父代种群A1,根据先验知识抽取疫苗;
2、若当前群体中包含最佳个体,则算法停止运行并输出结果;否则,继续;
3、对当前第k代父本种群Ak进行交叉操作,得到种群Bk;
4、对Bk进行变异操作,得到种群Ck;
5、对Ck进行接种疫苗操作,得到种群Dk;
6、对Dk进行免疫选择操作,得到新一代父本Ak+1,转至第二步。
3.核心代码
%=========所需常量========
N=20;%子载波个数
M=3;%小区个数
K=50;%抗体规模
T=46;%抗体突变规模
L=1;%记忆细胞规模
O=5;%每代公平性调整次数
Pc=0.85;%交叉概率
Pm=0.1;%变异概率
Alpha=0.3;%优化目标调节因子wq
Gama=0.06;%相似度常数
Rho=0.6;%选择概率调节因子
Tau=20;%信号噪声比差距
Eta=2;%路径损耗指数
Sigma=3.16;%高斯标准差
Objective=0;%优化目标
genMax=200;%最大迭代次数
Ts=4e-6;%码元持续时间
N0=1e-6;%噪声功率谱密度
W=0.625e6;%主用户带宽
Delta_f=0.3125e6;%子载波带宽
Pth=10;%认知基站最大允许发射功率
Ith=0.1;%主用户的可容忍的最大功率干扰
Rate_m=[2 1 1];%各个小区的功率比值%设基站半径为3km,归一化距离也为3km%======所需变量=========
%flag=0;%循环进行的标志
%temp=0;%临时存储某些值
n=1;%第n个子载波
m=1;%第m个小区
k=1;%第k个抗体
i=1;%循环变量
j=1;%循环变量
o=1;%循环变量
antibody=zeros(M,N,K);%载波分配方案(第k页是第k个抗体,第m行是第m个小区,第n列是第n个子载波的取值是功率)
memorycell=zeros(M,N,L);%记忆细胞分配方案(第k页是第k个抗体,第m行是第m个小区,第n列是第n个子载波)
temp_antibody=zeros(M,N,K);%初始选择保留抗体
temp_memorycell=zeros(M,N,L);%初始记忆细胞
%rate=zeros(M,N,K);%速度方案(第k页是第k个抗体,第m行是第m个小区,第n列是第n个子载波)
%ratio=zeros(K);%第k个抗体的速率功率比
itfere_pu=zeros(M,N,K);%各个子载波对主用户的干扰
%antibody_flag=zeros(1,K);%每个抗体的标志%========有关干扰的计算========
%认知用户的位置
loc_cu=zeros(M,2); %第m个认知用户的位置(以主用户为坐标原点的),并假设小区半径为3km
p1_cu_cbs=zeros(1,3); %认知用户和认知基站之间的路径损耗flag=1;
while flag==1Theta=rand*2*pi;r=rand*3;if r>=1flag=0;end
end
loc_cu(2,1)=-1.5*3^0.5+r*cos(Theta);%第2个用户的x坐标
loc_cu(2,2)=-1.5+r*cos(Theta); %第2个用户的y坐标
pl_cu_cbs(1,2)=r; %第2个用户与基站的距离
flag=1;
while flag==1Theta=rand*2*pi;r=rand*3;if r>=1flag=0;end
end
loc_cu(1,1)=r*cos(Theta); %第1个用户的x坐标
loc_cu(1,2)=3+r*cos(Theta); %第1个用户的y坐标
pl_cu_cbs(1,1)=r; %第1个用户与基站的距离flag=1;
while flag==1Theta=rand*2*pi;r=rand*3;if r>=1flag=0;end
end
loc_cu(3,1)=1.5*3^0.5+r*cos(Theta); %第3个用户的x坐标
loc_cu(3,2)=-1.5+r*cos(Theta); %第3个用户的y坐标
pl_cu_cbs(1,3)=r; %第3个用户与基站的距离%——主用户的位置
loc_pu=zeros(1,2); %主用户的位置
%switch(randi([1,3],1))
switch(2)case 1 %主用户在第2个小区flag=1;while flag==1Theta=rand*2*pi;r=rand*3;if r>=1flag=0;endendloc_pu(1,1)=-1.5*3^0.5+r*cos(Theta);loc_pu(1,2)=-1.5+r*cos(Theta);case 2 %主用户在第1个小区flag=1;while flag==1Theta=rand*2*pi;r=rand*3;if r>=1flag=0;endendloc_pu(1,1)=r*cos(Theta);loc_pu(1,2)=3+r*cos(Theta);case 3 %主用户在第3个小区flag=1;while flag==1Theta=rand*2*pi;r=rand*3;if r>=1flag=0;endendloc_pu(1,1)=1.5*3^0.5+r*cos(Theta);loc_pu(1,2)=-1.5+r*cos(Theta);
end%路径损耗的计算
pl_cu_pu=zeros(1,3); %认知用户和主用户之间的路径损耗
pl_cu_cu=zeros(3); %认知用户之间的路径损耗for m=1:Mpl_cu_pu(1,m)=((loc_cu(m,1)-loc_pu(1,1))^2+(loc_cu(m,2)-loc_pu(1,2))^2)^0.5;
end
pl_cu_pu=10^(0.1*randn*Sigma)./((pl_cu_pu/3).^Eta); %产生主用户和认知用户的路径损耗
pl_cu_cbs=10^(0.1*randn*Sigma)./((pl_cu_cbs/3).^Eta); %产生用户和认知基站的路径损耗
for m=1:Mfor i=1:Mpl_cu_cu(m,i)=((loc_cu(m,1)-loc_cu(i,1))^2+(loc_cu(m,2)-loc_cu(i,2))^2)^0.5;end
end
pl_cu_cu=10^(0.1*randn*Sigma)./((pl_cu_cu/3).^Eta); %产生认知用户和认知用户之间的路径损耗%对主用户干扰
to_pu_g=raylrnd(1,[M,N]); %对主用户的信道干扰增益(第m行是第m个小f中各个子载波的增益)
lamda=zeros(1,N); %对主用户距离干扰增益
Distance=zeros(1,N); %第n个子载波和主用户的频带距离
for n=1:NDistance(1,n)=((N-(2*n-1)/2)*Delta_f+W/2);
end
F=@(f)((sin(pi*Ts*f)./(pi*Ts*f)).^2); %积分函数
for n=1:N %Lamda计算lamda(1,n)=Ts*quad(F,(Distance(1,n)-W/2),(Distance(1,n)+W/2));
endfor m=1:Mfor n=1:Nto_pu_g(m,n)=to_pu_g(m,n)*lamda(1,n); %对主用户的总的干扰增益end
endfor m=1:Mto_pu_g(m,:)=to_pu_g(m,:)*pl_cu_pu(1,m);
end%同频相互干扰
co_ch_g=zeros(M,M,N); %同频干扰矩阵,第n页是第n个子载波的同频干扰for n=1:Nfor i=1:Mfor j=i:M %若要不同的同频干扰,则这里改为1:Mco_ch_g(i,j,n)=raylrnd(1);co_ch_g(j,i,n)=co_ch_g(i,j,n);endend
end
for n=1:Nfor m=1:Mco_ch_g(m,m,n)=0;end
end
for n=1:Nco_ch_g(:,:,n)=(co_ch_g(:,:,n).^2).*pl_cu_cu;
end
for n=1:Nfor i=1:Mco_ch_g(i,i,n)=0;end
end%—有关各个子载波的信道增益——
ch_g=raylrnd(1,[M,N]); %每个子载波的信道增益
for m=1:Mch_g(m,:)=(ch_g(m,:).^2)*pl_cu_cbs(1,m);
end
%===—有关运算结果显示=====二=
rate_gen1=zeros(1,genMax); %每代的最优速率
rate_gen2=zeros(1,genMax); %每代的最优速率
%rate_gen3=zeros(1,generaMax); %每代的最优小速率
ratio_gen1=zeros(1,genMax); %每代的最优速率功率比
ratio_gen2=zeros(1,genMax); %每代的最优速率功率比
%ratio_gen3=zeros(1,genMax); %每代的最优速率功率比
Pth=10;
for Ith=[0.001 0.005 0.01]for qq=1:10%=========程序初始化========temp_antibody(:)=Pth/N; %初始抗体功率是平均分配temp_memorycell(:)=Pth/N; %初始记忆细胞功率也是平均分配antibody(:)=temp_antibody(:); %抗体变量装入初始抗体memorycell(:)=temp_memorycell(:); %记忆细胞变量装入记忆细胞%=========主函数=========for gen=1:genMaxgen%记忆细胞添加 antibody(:,:,(K-L+1):K)=memorycell;%antibody_falg((K-L+1):K)=1; %记录成型抗体%——抗体合格检测exceed_Ith=0; %超过干扰门限的量exceed_Pth=0; %超过功率门限的量decr_var_I=zeros(M,N); %有关干扰的归一化的减少量decr_val_P=zeros(M,N); %有关功率的归一化的减少量ratio_P=zeros(1,3); %计算当前功率与公平性的比值standerd_site=0; %作为基准的用户for k=1:Kdecr_val_P=antibody(:,:,k)/sum(sum(antibody(:,:,k))); %根据现有功率计算归一化功率减少量if(sum(sum(antibody(:,:,k)))-Pth>eps)exceed_Pth=sum(sum(antibody(:,:,k)))-Pth; %计算超出多少antibody(:,:,k)=antibody(:,:,k)-exceed_Pth*decr_val_P(:,:);enditfere_pu(:,:,k)=to_pu_g.*antibody(:,:,k);decr_val_I=itfere_pu(:,:,k)/sum(sum(itfere_pu(:,:,k))); %根据现有干扰计算归一化功率减少量if(sum(sum(itfere_pu(:,:,k)))-Ith>eps)exceed_Ith=sum(sum(itfere_pu(:,:,k)))-Ith; %计算超出多少antibody(:,:,k)=antibody(:,:,k)-(exceed_Ith*decr_val_I)./(to_pu_g);enditfere_pu(:,:,k)=to_pu_g.*antibody(:,:,k); %更新对主用户的干扰end%---速率计算h=zeros(M,N,K); %各个子载波的信噪比i_ss=zeros(M,N,K); %各个子载波受到的同频干扰for k=1:Kfor n=1:Nfor m=1:Mfor i=1:Mi_ss(m,n,k)=i_ss(m,n,k)+co_ch_g(i,m,n)*antibody(i,n,k); %计算各个子载波所受到的同频干扰endendendendtemp=sum(i_ss);for k=1:Kfor n=1:Nfor m=1:Mi_ss(m,n,k)=temp(1,n,k)-i_ss(m,n,k); %计算每个子载波所受到的同频干扰endendendfor k=1:Kh(:,:,k)=ch_g./(N0*Delta_f+i_ss(:,:,k)); %计算信噪比end%rate=Delta_f*log2(1+antibody.*h/Tau); %计算每个抗体每个小区的速率rate=log2(1+antibody.*h/Tau); %计算每个抗体每个小区的速率%总的公平性调整for o=1:O%rate_m=zeros(1,3,K); %各个小区的总速率%ratio_r=zeros(1,3); %计算当前速率与公平性的比值standard_site=0; %作为基准的用户decr_val_r=zeros(M,N); %有关功率的归一化的减少量exceed_r=0; %超过干扰门限的量rate_m=sum(rate,2);for k=1:Kratio_r=rate_m(:,:,k)./Rate_m';[~,standard_site]=min(ratio_r); %选取基准功率switch(standard_site) %进行功率公平性调整case 1 %第一个为基准for m=[2 3]exceed_r=rate_m(1,:,k)/2-rate_m(m,:,k);decr_val_r(m,:)=(rate(m,:,k)/sum(rate(m,:,k)))*exceed_r;if(exceed_r<0)for n=1:Nantibody(m,n,k)=(2^decr_val_r(m,n)*(Tau+antibody(m,n,k)*h(m,n,k))-Tau)/h(m,n,k);endendendcase 2 %第二个为基准exceed_r=rate_m(2,:,k)*2-rate_m(1,:,k);decr_val_r(1,:)=(rate(1,:,k)/sum(rate(1,:,k)))*exceed_r;if(exceed_r<0)for n=1:Nantibody(1,n,k)=(2^decr_val_r(1,n)*(Tau+antibody(1,n,k)*h(1,n,k))-Tau)/h(1,n,k);endendexceed_r=rate_m(2,:,k)-rate_m(3,:,k);decr_cal_r(3,:)=(rate(3,:,k)/sum(rate(3,:,k)))*exceed_r;if(exceed_r<0)for n=1:Nantibody(3,n,k)=(2^decr_cal_r(3,n)*(Tau+antibody(3,n,k)*h(3,n,k))-Tau)/h(3,n,k);endendcase 3 %第三个为基准exceed_r=rate_m(3,:,k)*2-rate_m(1,:,k);decr_val_r(1,:)=(rate(1,:,k)/sum(rate(1,:,k)))*exceed_r;if(exceed_r<0)for n=1:Nantibody(1,n,k)=(2^decr_val_r(1,n)*(Tau+antibody(1,n,k)*h(1,n,k))-Tau)/h(1,n,k);endendexceed_r=rate_m(3,:,k)-rate_m(2,:,k);decr_val_r(2,:)=(rate(2,:,k)/sum(rate(2,:,k)))*exceed_r;if(exceed_r<0)for n=1:Nantibody(2,n,k)=(2^decr_val_r(2,n)*(Tau+antibody(2,n,k)*h(2,n,k))-Tau)/h(2,n,k);endendendendtemp=antibody<=eps;antibody(temp)=eps;h=zeros(M,N,K); %各个子载波的信噪比i_ss=zeros(M,N,K); %各个子载波受到的同频干扰for k=1:Kfor n=1:Nfor m=1:Mfor i=1:Mi_ss(m,n,k)=i_ss(m,n,k)+co_ch_g(i,m,n)*antibody(i,n,k); %计算各个子载波所受到的同频干扰endendendendtemp=sum(i_ss);for k=1:Kfor n=1:Nfor m=1:Mi_ss(m,n,k)=temp(1,n,k)-i_ss(m,n,k); %计算每个子载波所受到的同频干扰endendendfor k=1:Kh(:,:,k)=ch_g./(N0*Delta_f+i_ss(:,:,k)); %计算信噪比end%rate=Delta_f*log2(1+antibody.*h/Tau); %计算每个抗体每个小区的速率rate=log2(1+antibody.*h/Tau); %计算每个抗体每个小区的速率end%速率功率比计算%if gen==genMax%rate=floor(rate);%endrate_antibody=sum(sum(rate)); %计算每个抗体速率ratio=rate_antibody./sum(sum(antibody)); %计算每个抗体的速率功率比Objective=ratio*Alpha+rate_antibody*(1-Alpha); %计算优化目标的值%亲和力排序for i=1:K-1for j=i+1:Kif(Objective(i)<Objective(j))temp=rate_antibody(i); %每代速度交换rate_antibody(i)=rate_antibody(j);rate_antibody(j)=temp;temp=rate(:,:,i); %速率交换rate(:,:,i)=rate(:,:,j);rate(:,:,j)=temp;temp=antibody(:,:,i); %功率交换antibody(:,:,i)=antibody(:,:,j);antibody(:,:,j)=temp;temp=itfere_pu(:,:,i); %对主用户干扰交换itfere_pu(:,:,i)=itfere_pu(:,:,j);itfere_pu(:,:,j)=temp;temp=Objective(i); %每代速度交换Objective(i)=Objective(j);Objective(j)=temp;temp=ratio(i); %每代速度交换ratio(i)=ratio(j);ratio(j)=temp;% temp=antibody_flag(i);
% antibody_flag(i)=antibody_flag(j);
% antibody_flag(j)=temp;endendend%提取记忆细胞memorycell=antibody(:,:,1:L); %前L个个体作为记忆细胞提取%算法结果等待rate_gen1(gen)=rate_antibody(1); %记录每代最优的最小速度ratio_gen1(gen)=Objective(1); %每代最优速率功率比%抗体选择%pd=zeros(1,K); %浓度概率pf=zeros(1,K); %适应度概率%p=zeros(1,K); %选择概率resemble=zeros(1,K); %抗体的相似度res=zeros(M,N,K); %各个子载波的距离index=zeros(1,K); %轮盘赌抗体索引for k=1:Kfor i=1:Kres(:,:,i)=abs(antibody(:,:,k)-antibody(:,:,i)); %计算各个子载波的距离endtemp=(res<=Gama*Pth); %距离过近的子载波个数temp=sum(sum(temp)); %计算与每个抗体的距离for i=1:Kresemble(k)=resemble(k)+temp(i);endendpd=1-resemble/(M*N*K);for k=1:Kpf(k)=(Objective(k)-Objective(K)+eps)/(Objective(1)-Objective(K)+eps);endp=Rho*pf+(1-Rho)*pd;for i=1:K-1 %抗体按照选择概率排序for j=i+1:Kif(p(i)<p(j))temp=p(i);p(i)=p(j);p(j)=temp;temp=antibody(i);antibody(i)=antibody(j);antibody(j)=temp;endendendfor k=1:K %选出K个抗体temp=rand*sum(p);for i=1:Ktemp=temp-p(i);if(temp<=0)index(k)=i; %赌出第k个索引值break;endendendtemp=antibody;antibody=temp(:,:,index);%两种交叉[antibody]=dou_atb_excha(N,K,Pc,antibody); %调用交叉互换函数i现i叉互换%两种突变[antibody]=dou_atb_mutat(K,N,M,Pm,antibody); %调用突变函数实现抗体突变endobj(qq,:)=ratio_gen1;obj11(qq,:)=2*rate_gen1;endhold on;oobj=mean(obj);oobj11=mean(obj11);plot(oobj11);xlabel('代数');ylabel('亲和力');title('收敛性能');legend('Ith=0.001','Ith=0.005','Ith=0.01','Location','NorthEast');% figure(1);plot(1:genMax,oobj,'-',1:genMax,oobj,'-x',1:genMax,oobj,'--');
% xlabel('代数');ylabel('亲和力');title('收敛性能');
% legend('Ith=0.001','Ith=0.005','Ith=0.01','Location','NorthEast');% figure(2);plot(1:genMax,oobj11,'-',1:genMax,oobj11,'-x',1:genMax,oobj11,'--');
% xlabel('代数');ylabel('亲和力');title('收敛性能');
% legend('Ith=0.001','Ith=0.005','Ith=0.01','Location','NorthEast');
end% figure(1);semilogy(1:genMax,OutagePC(1,:),'-',1:genMax,OutagePC(2,:),'-x',1:genMax,OutagePC(3,:),'--');
% xlabel('代数');ylabel('亲和力');title('收敛性能');
% legend('Ith=0.001','Ith=0.005','Ith=0.01','Location','NorthEast');% figure(1);semilogy(1:genMax,OutagePC(1,:),'-',1:genMax,OutagePC(2,:),'-x',1:genMax,OutagePC(3,:),'--');
% xlabel('代数');ylabel('亲和力');title('收敛性能');
% legend('Ith=0.001','Ith=0.005','Ith=0.01','Location','NorthEast');
4.操作步骤与仿真结论
5.参考文献
- 李晓宇.认知无线电系统中资源分配策略研究[D].郑州大学,2010
- 孔小丽.认知无线电系统的频谱资源分配研究[D].南京邮电大学,2013
3.徐超.认知无线电网络中的安全中继选择与功率分配研究[D].北京邮电大
D207
6.完整源码获得方式
方式1:微信或者QQ联系博主
方式2:订阅MATLAB/FPGA教程,免费获得教程案例以及任意2份完整源码
【免疫算法,资源分配】基于免疫算法的认知无线电资源分配研究相关推荐
- 基于免疫算法的认知无线电资源分配优化算法的matlab仿真
目录 1.算法描述 2.仿真效果预览 3.MATLAB核心程序 4.完整MATLAB 1.算法描述 认知无线电(CR)的概念来自Joseph Mitolo博士1999年的开创性工作.它自适应地调整内部 ...
- 【智能优化算法】基于免疫算法求解单目标优化问题附matlab代码
1 简介 自Farmer在1986年提出免疫机理可以在机器学习等工程问题中得到应用之后,相关人员就一直在探索免疫机理在工程实际中的应用技术.而De Castro等完善了算法结构和算法模型后,更为人工免 ...
- 【DA算法】基于DA算法的FIR滤波器的FPGA实现
1.软件版本 quartusii 2.本算法理论知识 DA算法的主要特点是,巧妙地利用查找表将固定系数的MAC运算转化为查表操作,其运算速度不随系数和输入数据位数的增加而降低,而且相对直接实现乘法器而 ...
- 多目标粒子群优化算法_基于粒子群优化的投资组合优化研究
原文链接: 基于粒子群优化的投资组合优化研究tecdat.cn 我今年的研究课题是使用粒子群优化(PSO)的货币进位交易组合优化.在本文中,我将介绍投资组合优化并解释其重要性.其次,我将演示粒子群优 ...
- 背包问题 贪心算法 java_JS基于贪心算法解决背包问题
前面我们分享了关于js使用贪心算法解决找零问题,本文我们接着为大家介绍JS基于贪心算法解决背包问题. 贪心算法:在对问题求解时,总是做出在当前看来是最好的选择.也就是说,不从整体最优上加以考虑,他所做 ...
- burg算法 matlab,基于burg算法的谱估计研究及其matlab实现.doc
基于burg算法的谱估计研究及其matlab实现 XX大学学院 毕业设计(论文) 相关资料 题目: 基于 其MATLAB实现 机电 系 电子信息工程 专业学 号: 学生姓名: 指导教师: (职称:讲 ...
- 【有限马尔科夫链状态分解+Kosaraju 算法】基于Kosaraju 算法和可达矩阵的有限马尔科夫链状态分解
有限马尔科夫链状态分解+Kosaraju 算法 1 实验内容 2 理论基础 3 题目分析 4 按常返性和互通性对状态空间进行分解算法流程 4.1 强连通性和强连通分量 4.2 基于有向图 Kosara ...
- 路径规划算法:基于樽海鞘算法的路径规划算法- 附代码
路径规划算法:基于樽海鞘优化的路径规划算法- 附代码 文章目录 路径规划算法:基于樽海鞘优化的路径规划算法- 附代码 1.算法原理 1.1 环境设定 1.2 约束条件 1.3 适应度函数 2.算法结果 ...
- 路径规划算法:基于蜻蜓算法的路径规划算法- 附代码
路径规划算法:基于蜻蜓优化的路径规划算法- 附代码 文章目录 路径规划算法:基于蜻蜓优化的路径规划算法- 附代码 1.算法原理 1.1 环境设定 1.2 约束条件 1.3 适应度函数 2.算法结果 3 ...
最新文章
- 莫等闲,白了少年头,空悲切!
- 编程珠玑第八章——分治算法求解数组中的最大的连续和
- 微服务认证模式_微服务之“网关模式”
- 基于matlab/simulink的双闭环PMSM控制
- 服务器选型:怎样的一款服务器产品才算是优秀的
- PHP中abstract 和 interface的区别
- 你真的懂TensorFlow吗?Tensor是神马?为什么还会Flow?
- python 3d绘图库_python – 用于科学3d绘图的Mayavi的替代品
- npm 缓存_npm缓存:无名英雄
- 智能一代云平台(三十四):后端架构一些总结
- 找出满足要求的三位数
- Android开发4: Notification编程基础、Broadcast的使用及其静态注册、动态注册方式...
- 数字电路技术可能出现的简答题_数字电子技术基础期末考试题
- 手机打开php格式的文件,手机上打开php格式文件|如何打开php文件?
- 微信开放平台与微信公众平台的支付关系
- python教程五(imput和while)
- Faraway(枚举 去绝对值)
- 如何将PDF转换成图片
- RPG或SLG游戏在线地图编辑器
- Android Studio学习开发笔记--基础
热门文章
- python调用perl 乱码 ‘perl‘ �����ڲ����ⲿ���Ҳ���ǿ����еij��� ���������ļ���
- 爬行动物两栖食物的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
- 【狂神说JAVA】SpringMVC笔记
- 看过的最好的护肤心得 续
- ajax中xAxis的赋值
- 智慧园区建设面临挑战,该如何应对?
- 如何用xp系统做服务器,xp系统如何做远程服务器呢
- ue4-模型及动作fbx导入
- Cocos技术派 | 导入FBX模型实现真3d效果
- Leetcode-常数时间插入、删除、等概率获取一个数