为什么BP神经网络是有限自适应的?

算法都是有自身的缺陷的吧,要不也不会出现这么多的神经网络改进的算法,但是BP神经网络对大多数的问题都是有一定的处理能力的,只是处理的精度不一定能够达到要求。

优化初始权值,传递函数,以及减小误差的方法都能够针对具体的问题有所改进。个人的一点见解,共同进步哈!

谷歌人工智能写作项目:神经网络伪原创

基于BP神经网络的PID控制器设计

参考一下刘金琨的《先进PID控制》这本书写作猫

例子:被控对象yout(k)=a(k)yout(k-1)/(1+yout(k-1)^2)+u(k_1) 其中a(k)=1.2(1-0.8e^(-0.1k)) 输入信号:rin(k)=1.0和rin(k)=sin(2t)%BP based PID Controlclear all;close all;xite=0.25;//学习速率alfa=0.05;//惯性系数S=1; %Signal typeIN=4;H=5;Out=3; %NN Structureif S==1 %Step Signalwi=[-0.6394 -0.2696 -0.3756 -0.7023; -0.8603 -0.2013 -0.5024 -0.2596; -1.0749 0.5543 -1.6820 -0.5437; -0.3625 -0.0724 -0.6463 -0.2859; 0.1425 0.0279 -0.5406 -0.7660];%wi=0.50*rands(H,IN);wi_1=wi;wi_2=wi;wi_3=wi;wo=[0.7576 0.2616 0.5820 -0.1416 -0.1325; -0.1146 0.2949 0.8352 0.2205 0.4508; 0.7201 0.4566 0.7672 0.4962 0.3632];%wo=0.50*rands(Out,H);wo_1=wo;wo_2=wo;wo_3=wo;endif S==2 %Sine Signalwi=[-0.2846 0.2193 -0.5097 -1.0668; -0.7484 -0.1210 -0.4708 0.0988; -0.7176 0.8297 -1.6000 0.2049; -0.0858 0.1925 -0.6346 0.0347; 0.4358 0.2369 -0.4564 -0.1324];%wi=0.50*rands(H,IN);wi_1=wi;wi_2=wi;wi_3=wi;wo=[1.0438 0.5478 0.8682 0.1446 0.1537; 0.1716 0.5811 1.1214 0.5067 0.7370; 1.0063 0.7428 1.0534 0.7824 0.6494];%wo=0.50*rands(Out,H);wo_1=wo;wo_2=wo;wo_3=wo;endx=[0,0,0];u_1=0;u_2=0;u_3=0;u_4=0;u_5=0;y_1=0;y_2=0;y_3=0;Oh=zeros(H,1); %Output from NN middle layerI=Oh; %Input to NN middle layererror_2=0;error_1=0;ts=0.001;for k=1:1:6000time(k)=k*ts;if S==1 rin(k)=1.0;elseif S==2 rin(k)=sin(1*2*pi*k*ts);end%Unlinear modela(k)=1.2*(1-0.8*exp(-0.1*k));yout(k)=a(k)*y_1/(1+y_1^2)+u_1;error(k)=rin(k)-yout(k);xi=[rin(k),yout(k),error(k),1];x(1)=error(k)-error_1;x(2)=error(k);x(3)=error(k)-2*error_1+error_2;epid=[x(1);x(2);x(3)];I=xi*wi';for j=1:1:H Oh(j)=(exp(I(j))-exp(-I(j)))/(exp(I(j))+exp(-I(j))); %Middle LayerendK=wo*Oh; %Output Layerfor l=1:1:Out K(l)=exp(K(l))/(exp(K(l))+exp(-K(l))); %Getting kp,ki,kdendkp(k)=K(1);ki(k)=K(2);kd(k)=K(3);Kpid=[kp(k),ki(k),kd(k)];du(k)=Kpid*epid;u(k)=u_1+du(k);if u(k)>=10 % Restricting the output of controller u(k)=10;endif u(k)。

神经网络BP模型

一、BP模型概述误差逆传播(Error Back-Propagation)神经网络模型简称为BP(Back-Propagation)网络模型。

Pall Werbas博士于1974年在他的博士论文中提出了误差逆传播学习算法。完整提出并被广泛接受误差逆传播学习算法的是以Rumelhart和McCelland为首的科学家小组。

他们在1986年出版“Parallel Distributed Processing,Explorations in the Microstructure of Cognition”(《并行分布信息处理》)一书中,对误差逆传播学习算法进行了详尽的分析与介绍,并对这一算法的潜在能力进行了深入探讨。

BP网络是一种具有3层或3层以上的阶层型神经网络。上、下层之间各神经元实现全连接,即下层的每一个神经元与上层的每一个神经元都实现权连接,而每一层各神经元之间无连接。

网络按有教师示教的方式进行学习,当一对学习模式提供给网络后,神经元的激活值从输入层经各隐含层向输出层传播,在输出层的各神经元获得网络的输入响应。

在这之后,按减小期望输出与实际输出的误差的方向,从输入层经各隐含层逐层修正各连接权,最后回到输入层,故得名“误差逆传播学习算法”。

随着这种误差逆传播修正的不断进行,网络对输入模式响应的正确率也不断提高。

BP网络主要应用于以下几个方面:1)函数逼近:用输入模式与相应的期望输出模式学习一个网络逼近一个函数;2)模式识别:用一个特定的期望输出模式将它与输入模式联系起来;3)分类:把输入模式以所定义的合适方式进行分类;4)数据压缩:减少输出矢量的维数以便于传输或存储。

在人工神经网络的实际应用中,80%~90%的人工神经网络模型采用BP网络或它的变化形式,它也是前向网络的核心部分,体现了人工神经网络最精华的部分。

二、BP模型原理下面以三层BP网络为例,说明学习和应用的原理。

1.数据定义P对学习模式(xp,dp),p=1,2,…,P;输入模式矩阵X[N][P]=(x1,x2,…,xP);目标模式矩阵d[M][P]=(d1,d2,…,dP)。

三层BP网络结构输入层神经元节点数S0=N,i=1,2,…,S0;隐含层神经元节点数S1,j=1,2,…,S1;神经元激活函数f1[S1];权值矩阵W1[S1][S0];偏差向量b1[S1]。

输出层神经元节点数S2=M,k=1,2,…,S2;神经元激活函数f2[S2];权值矩阵W2[S2][S1];偏差向量b2[S2]。

学习参数目标误差ϵ;初始权更新值Δ0;最大权更新值Δmax;权更新值增大倍数η+;权更新值减小倍数η-。

2.误差函数定义对第p个输入模式的误差的计算公式为中国矿产资源评价新技术与评价新模型y2kp为BP网的计算输出。

3.BP网络学习公式推导BP网络学习公式推导的指导思想是,对网络的权值W、偏差b修正,使误差函数沿负梯度方向下降,直到网络输出误差精度达到目标精度要求,学习结束。

各层输出计算公式输入层y0i=xi,i=1,2,…,S0;隐含层中国矿产资源评价新技术与评价新模型y1j=f1(z1j),j=1,2,…,S1;输出层中国矿产资源评价新技术与评价新模型y2k=f2(z2k),k=1,2,…,S2。

输出节点的误差公式中国矿产资源评价新技术与评价新模型对输出层节点的梯度公式推导中国矿产资源评价新技术与评价新模型E是多个y2m的函数,但只有一个y2k与wkj有关,各y2m间相互独立。

其中中国矿产资源评价新技术与评价新模型则中国矿产资源评价新技术与评价新模型设输出层节点误差为δ2k=(dk-y2k)·f2′(z2k),则中国矿产资源评价新技术与评价新模型同理可得中国矿产资源评价新技术与评价新模型对隐含层节点的梯度公式推导中国矿产资源评价新技术与评价新模型E是多个y2k的函数,针对某一个w1ji,对应一个y1j,它与所有的y2k有关。

因此,上式只存在对k的求和,其中中国矿产资源评价新技术与评价新模型则中国矿产资源评价新技术与评价新模型设隐含层节点误差为中国矿产资源评价新技术与评价新模型则中国矿产资源评价新技术与评价新模型同理可得中国矿产资源评价新技术与评价新模型4.采用弹性BP算法(RPROP)计算权值W、偏差b的修正值ΔW,Δb1993年德国 Martin Riedmiller和Heinrich Braun 在他们的论文“A Direct Adaptive Method for Faster Backpropagation Learning:The RPROP Algorithm”中,提出Resilient Backpropagation算法——弹性BP算法(RPROP)。

这种方法试图消除梯度的大小对权步的有害影响,因此,只有梯度的符号被认为表示权更新的方向。

权改变的大小仅仅由权专门的“更新值” 确定中国矿产资源评价新技术与评价新模型其中 表示在模式集的所有模式(批学习)上求和的梯度信息,(t)表示t时刻或第t次学习。

权更新遵循规则:如果导数是正(增加误差),这个权由它的更新值减少。如果导数是负,更新值增加。中国矿产资源评价新技术与评价新模型RPROP算法是根据局部梯度信息实现权步的直接修改。

对于每个权,我们引入它的各自的更新值 ,它独自确定权更新值的大小。

这是基于符号相关的自适应过程,它基于在误差函数E上的局部梯度信息,按照以下的学习规则更新中国矿产资源评价新技术与评价新模型其中0<η-<1<η+。

在每个时刻,如果目标函数的梯度改变它的符号,它表示最后的更新太大,更新值 应由权更新值减小倍数因子η-得到减少;如果目标函数的梯度保持它的符号,更新值应由权更新值增大倍数因子η+得到增大。

为了减少自由地可调参数的数目,增大倍数因子η+和减小倍数因子η–被设置到固定值η+=1.2,η-=0.5,这两个值在大量的实践中得到了很好的效果。

RPROP算法采用了两个参数:初始权更新值Δ0和最大权更新值Δmax当学习开始时,所有的更新值被设置为初始值Δ0,因为它直接确定了前面权步的大小,它应该按照权自身的初值进行选择,例如,Δ0=0.1(默认设置)。

为了使权不至于变得太大,设置最大权更新值限制Δmax,默认上界设置为Δmax=50.0。在很多实验中,发现通过设置最大权更新值Δmax到相当小的值,例如Δmax=1.0。

我们可能达到误差减小的平滑性能。5.计算修正权值W、偏差b第t次学习,权值W、偏差b的的修正公式W(t)=W(t-1)+ΔW(t),b(t)=b(t-1)+Δb(t),其中,t为学习次数。

6.BP网络学习成功结束条件每次学习累积误差平方和中国矿产资源评价新技术与评价新模型每次学习平均误差中国矿产资源评价新技术与评价新模型当平均误差MSE<ε,BP网络学习成功结束。

7.BP网络应用预测在应用BP网络时,提供网络输入给输入层,应用给定的BP网络及BP网络学习得到的权值W、偏差b,网络输入经过从输入层经各隐含层向输出层的“顺传播”过程,计算出BP网的预测输出。

8.神经元激活函数f线性函数f(x)=x,f′(x)=1,f(x)的输入范围(-∞,+∞),输出范围(-∞,+∞)。一般用于输出层,可使网络输出任何值。

S型函数S(x)中国矿产资源评价新技术与评价新模型f(x)的输入范围(-∞,+∞),输出范围(0,1)。f′(x)=f(x)[1-f(x)],f′(x)的输入范围(-∞,+∞),输出范围(0, ]。

一般用于隐含层,可使范围(-∞,+∞)的输入,变成(0,1)的网络输出,对较大的输入,放大系数较小;而对较小的输入,放大系数较大,所以可用来处理和逼近非线性的输入/输出关系。

在用于模式识别时,可用于输出层,产生逼近于0或1的二值输出。双曲正切S型函数中国矿产资源评价新技术与评价新模型f(x)的输入范围(-∞,+∞),输出范围(-1,1)。

f′(x)=1-f(x)·f(x),f′(x)的输入范围(-∞,+∞),输出范围(0,1]。

一般用于隐含层,可使范围(-∞,+∞)的输入,变成(-1,1)的网络输出,对较大的输入,放大系数较小;而对较小的输入,放大系数较大,所以可用来处理和逼近非线性的输入/输出关系。

阶梯函数类型1中国矿产资源评价新技术与评价新模型f(x)的输入范围(-∞,+∞),输出范围{0,1}。f′(x)=0。

类型2中国矿产资源评价新技术与评价新模型f(x)的输入范围(-∞,+∞),输出范围{-1,1}。f′(x)=0。

斜坡函数类型1中国矿产资源评价新技术与评价新模型f(x)的输入范围(-∞,+∞),输出范围[0,1]。中国矿产资源评价新技术与评价新模型f′(x)的输入范围(-∞,+∞),输出范围{0,1}。

类型2中国矿产资源评价新技术与评价新模型f(x)的输入范围(-∞,+∞),输出范围[-1,1]。中国矿产资源评价新技术与评价新模型f′(x)的输入范围(-∞,+∞),输出范围{0,1}。

三、总体算法1.三层BP网络(含输入层,隐含层,输出层)权值W、偏差b初始化总体算法(1)输入参数X[N][P],S0,S1,f1[S1],S2,f2[S2];(2)计算输入模式X[N][P]各个变量的最大值,最小值矩阵 Xmax[N],Xmin[N];(3)隐含层的权值W1,偏差b1初始化。

情形1:隐含层激活函数f( )都是双曲正切S型函数1)计算输入模式X[N][P]的每个变量的范围向量Xrng[N];2)计算输入模式X的每个变量的范围均值向量Xmid[N];3)计算W,b的幅度因子Wmag;4)产生[-1,1]之间均匀分布的S0×1维随机数矩阵Rand[S1];5)产生均值为0,方差为1的正态分布的S1×S0维随机数矩阵Randnr[S1][S0],随机数范围大致在[-1,1];6)计算W[S1][S0],b[S1];7)计算隐含层的初始化权值W1[S1][S0];8)计算隐含层的初始化偏差b1[S1];9))输出W1[S1][S0],b1[S1]。

情形2:隐含层激活函数f( )都是S型函数1)计算输入模式X[N][P]的每个变量的范围向量Xrng[N];2)计算输入模式X的每个变量的范围均值向量Xmid[N];3)计算W,b的幅度因子Wmag;4)产生[-1,1]之间均匀分布的S0×1维随机数矩阵Rand[S1];5)产生均值为0,方差为1的正态分布的S1×S0维随机数矩阵Randnr[S1][S0],随机数范围大致在[-1,1];6)计算W[S1][S0],b[S1];7)计算隐含层的初始化权值W1[S1][S0];8)计算隐含层的初始化偏差b1[S1];9)输出W1[S1][S0],b1[S1]。

情形3:隐含层激活函数f( )为其他函数的情形1)计算输入模式X[N][P]的每个变量的范围向量Xrng[N];2)计算输入模式X的每个变量的范围均值向量Xmid[N];3)计算W,b的幅度因子Wmag;4)产生[-1,1]之间均匀分布的S0×1维随机数矩阵Rand[S1];5)产生均值为0,方差为1的正态分布的S1×S0维随机数矩阵Randnr[S1][S0],随机数范围大致在[-1,1];6)计算W[S1][S0],b[S1];7)计算隐含层的初始化权值W1[S1][S0];8)计算隐含层的初始化偏差b1[S1];9)输出W1[S1][S0],b1[S1]。

(4)输出层的权值W2,偏差b2初始化1)产生[-1,1]之间均匀分布的S2×S1维随机数矩阵W2[S2][S1];2)产生[-1,1]之间均匀分布的S2×1维随机数矩阵b2[S2];3)输出W2[S2][S1],b2[S2]。

2.应用弹性BP算法(RPROP)学习三层BP网络(含输入层,隐含层,输出层)权值W、偏差b总体算法函数:Train3BP_RPROP(S0,X,P,S1,W1,b1,f1,S2,W2,b2,f2,d,TP)(1)输入参数P对模式(xp,dp),p=1,2,…,P;三层BP网络结构;学习参数。

(2)学习初始化1) ;2)各层W,b的梯度值 , 初始化为零矩阵。

(3)由输入模式X求第一次学习各层输出y0,y1,y2及第一次学习平均误差MSE(4)进入学习循环epoch=1(5)判断每次学习误差是否达到目标误差要求如果MSE<ϵ,则,跳出epoch循环,转到(12)。

(6)保存第epoch-1次学习产生的各层W,b的梯度值 , (7)求第epoch次学习各层W,b的梯度值 , 1)求各层误差反向传播值δ;2)求第p次各层W,b的梯度值 , ;3)求p=1,2,…,P次模式产生的W,b的梯度值 , 的累加。

(8)如果epoch=1,则将第epoch-1次学习的各层W,b的梯度值 , 设为第epoch次学习产生的各层W,b的梯度值 , 。

(9)求各层W,b的更新1)求权更新值Δij更新;2)求W,b的权更新值 , ;3)求第epoch次学习修正后的各层W,b。

(10)用修正后各层W、b,由X求第epoch次学习各层输出y0,y1,y2及第epoch次学习误差MSE(11)epoch=epoch+1,如果epoch≤MAX_EPOCH,转到(5);否则,转到(12)。

(12)输出处理1)如果MSE<ε,则学习达到目标误差要求,输出W1,b1,W2,b2。2)如果MSE≥ε,则学习没有达到目标误差要求,再次学习。

(13)结束3.三层BP网络(含输入层,隐含层,输出层)预测总体算法首先应用Train3lBP_RPROP( )学习三层BP网络(含输入层,隐含层,输出层)权值W、偏差b,然后应用三层BP网络(含输入层,隐含层,输出层)预测。

函数:Simu3lBP( )。1)输入参数:P个需预测的输入数据向量xp,p=1,2,…,P;三层BP网络结构;学习得到的各层权值W、偏差b。

2)计算P个需预测的输入数据向量xp(p=1,2,…,P)的网络输出 y2[S2][P],输出预测结果y2[S2][P]。四、总体算法流程图BP网络总体算法流程图见附图2。

五、数据流图BP网数据流图见附图1。

六、实例实例一 全国铜矿化探异常数据BP 模型分类1.全国铜矿化探异常数据准备在全国铜矿化探数据上用稳健统计学方法选取铜异常下限值33.1,生成全国铜矿化探异常数据。

2.模型数据准备根据全国铜矿化探异常数据,选取7类33个矿点的化探数据作为模型数据。

这7类分别是岩浆岩型铜矿、斑岩型铜矿、矽卡岩型、海相火山型铜矿、陆相火山型铜矿、受变质型铜矿、海相沉积型铜矿,另添加了一类没有铜异常的模型(表8-1)。3.测试数据准备全国化探数据作为测试数据集。

4.BP网络结构隐层数2,输入层到输出层向量维数分别为14,9、5、1。学习率设置为0.9,系统误差1e-5。没有动量项。表8-1 模型数据表续表5.计算结果图如图8-2、图8-3。

图8-2图8-3 全国铜矿矿床类型BP模型分类示意图实例二 全国金矿矿石量品位数据BP 模型分类1.模型数据准备根据全国金矿储量品位数据,选取4类34个矿床数据作为模型数据,这4类分别是绿岩型金矿、与中酸性浸入岩有关的热液型金矿、微细浸染型型金矿、火山热液型金矿(表8-2)。

2.测试数据准备模型样本点和部分金矿点金属量、矿石量、品位数据作为测试数据集。3.BP网络结构输入层为三维,隐层1层,隐层为三维,输出层为四维,学习率设置为0.8,系统误差1e-4,迭代次数5000。

表8-2 模型数据4.计算结果结果见表8-3、8-4。表8-3 训练学习结果表8-4 预测结果(部分)续表。

现代控制理论的发展

1.智能控制(Intelligent Control)智能控制是人工智能和自动控制的结合物,是一类无需人的干预就能够独立地驱动智能机器,实现其目标的自动控制。

智能控制的注意力并不放在对数学公式的表达、计算和处理上,而放在对任务和模型的描述,符号和环境的识别以及知识库和推理机的设计开发上。

智能控制用于生产过程,让计算机系统模仿专家或熟练操作人员的经验,建立起以知识为基础的广义模型,采用符号信息处理、启发式程序设计、知识表示和自学习、推理与决策等智能化技术,对外界环境和系统过程进行理解、判断、预测和规划,使被控对象按一定要求达到预定的目的。

智能控制的理论基础是人工智能,控制论,运筹学和系统学等学科的交叉,它的主要特点是:⑴同时具有以知识表示的非数学广义模型和以数学模型表示的混合控制过程;⑵智能控制的核心在高层控制,即组织级,它的主要任务在于对实际环境或过程进行组织;⑶系统获取的信息不仅是数学信息,更重要的是文字符号、图像、图形、声音等各种信息。

智能控制正处于发展过程中,还存在许多有待研究的问题:⑴探讨新的智能控制理论;⑵采用语音控制;⑶提高系统的学习能力和自主能力;⑷利用现有的非线性技术分析闭环系统的特性;⑸智能控制的实现问题。

2.非线性控制(Nonlinear Control)非线性控制是复杂控制理论中一个重要的基本问题,也是一个难点课题,它的发展几乎与线性系统平行。

非线性系统的发展,数学工具是一个相当困难的问题,泰勒级数展开对有些情况是不能适用的。古典理论中的“相平面”法只适用于二阶系统,适用于含有一个非线性元件的高阶系统的“描述函数”法也是一种近似方法。

由于非线性系统的研究缺乏系统的、一般性的理论及方法,于是综合方法得到较大的发展,主要有:⑴李雅普诺夫方法:它是迄今为止最完善、最一般的非线性方法,但是由于它的一般性,在用来分析稳定性或用来镇定综合时都欠缺构造性。

⑵变结构控制:由于其滑动模态具有对干扰与摄动的不变性,到80年代受到重视,是一种实用的非线性控制的综合方法。

⑶微分几何法:在过去的的20年中,微分几何法一直是非线性控制系统研究的主流,它对非线性系统的结构分析、分解以及与结构有关的控制设计带来极大方便.用微分几何法研究非线性系统是现代数学发展的必然产物,正如意大利教授Isidori指出:“用微分几何法研究非线性系统所取得的成绩,就象50年代用拉氏变换及复变函数理论对单输入单输出系统的研究,或用线性代数对多变量系统的研究。

”但这种方法也有它的缺点,体现在它的复杂性、无层次性、准线性控制以及空间测度被破坏等。因此近又有学者提出引入新的、更深刻的数学工具去开拓新的方向,例如:微分动力学、微分拓扑与代数拓扑、代数几何等。

3.自适应控制(Adaptive Control)自适应控制系统通过不断地测量系统的输入、状态、输出或性能参数,逐渐了解和掌握对象,然后根据所得的信息按一定的设计方法,作出决策去更新控制器的结构和参数以适应环境的变化,达到所要求的控制性能指标。

自适应控制系统应具有三个基本功能:⑴辨识对象的结构和参数,以便精确地建立被控对象的数学模型;⑵给出一种控制律以使被控系统达到期望的性能指标;⑶自动修正控制器的参数。

因此自适应控制系统主要用于过程模型未知或过程模型结构已知但参数未知且随机的系统。自适应控制系统的类型主要有自校正控制系统,模型参考自适应控制系统,自寻最优控制系统,学习控制系统等。

非线性系统的自适应控制,基于神经网络的自适应控制又得到重视,提出一些新的方法。

4.鲁棒控制(Robust Control)过程控制中面临的一个重要问题就是模型不确定性,鲁棒控制主要解决模型的不确定性问题,但在处理方法上与自适应控制有所不同。

自适应控制的基本思想是进行模型参数的辩识,进而设计控制器。控制器参数的调整依赖于模型参数的更新,不能预先把可能出现的不确定性考虑进去。

而鲁棒控制在设计控制器时尽量利用不确定性信息来设计一个控制器,使得不确定参数出现时仍能满足性能指标要求。

鲁棒控制认为系统的不确定性可用模型集来描述,系统的模型并不唯一,可以是模型集里的任一元素,但在所设计的控制器下,都能使模型集里的元素满足要求。

鲁棒控制的一个主要问题就是鲁棒稳定性,常用的有三种方法:⑴当被研究的系统用状态矩阵或特征多项式描述时一般采用代数方法,其中心问题是讨论多项式或矩阵组的稳定性问题;⑵李雅普诺夫方法,对不确定性以状态空间模式出现时是一种有利工具;⑶频域法从传递函数出发研究问题,有代表性的是Hoo控制,它用作鲁棒性分析的有效性体现在外部扰动不再假设为固定的,而只要求能量有界即可。

这种方法已被用于工程设计中,如Hoo最优灵敏度控制器设计。

5.模糊控制(Fuzzy Control)模糊控制借助模糊数学模拟人的思维方法,将工艺操作人员的经验加以总结,运用语言变量和模糊逻辑理论进行推理和决策,对复杂对象进行控制。

模糊控制既不是指被控过程是模糊的,也不意味控制器是不确定的,它是表示知识和概念上的模糊性,它完成的工作是完全确定的。

1974年英国工程师E.H.Mamdam首次把Fuzzy集合理论用于锅炉和蒸气机的控制以来,开辟了Fuzzy控制的新领域,特别是对于大时滞、非线性等难以建立精确数学模型的复杂系统,通过计算机实现模糊控制往往能取得很好的结果。

模糊控制的类型有:⑴基本模糊控制器,一旦模糊控制表确定之后,控制规则就固定不变了;⑵自适应模糊控制器,在运行中自动修改、完善和调整规则,使被控过程的控制效果不断提高,达到预期的效果;⑶智能模糊控制器,它把人、人工智能和神经网络三者联系起来,实现综合信息处理,使系统既具有灵活的推理机制、启发性知识与产生式规则表示,又具有多种层次、多种类型的控制规律选择。

模糊控制的特点是不需要精确的数学模型,鲁棒性强,控制效果好,容易克服非线性因素的影响,控制方法易于掌握。有人提出神经——模糊Inter3融合控制模型,即把融合结构、融合算法及控制合为一体进行设计。

又有人提出利用同伦BP网络记忆模糊规则,以“联想方式”使用这些经验。

模糊控制有待进一步研究的问题:模糊控制系统的功能、稳定性、最优化问题的评价;非线性复杂系统的模糊建模,模糊规则的建立和模糊推理算法的研究;找出可遵循的一般设计原则。

6.神经网络控制(Neural Network Control)神经网络是由所谓神经元的简单单元按并行结构经过可调的连接权构成的网络。

神经网络的种类很多,控制中常用的有多层前向BP网络,RBF网络,Hopfield网络以及自适应共振理论模型(ART)等。

神经网络控制就是利用神经网络这种工具从机理上对人脑进行简单结构模拟的新型控制和辨识方法。神经网络在控制系统中可充当对象的模型,还可充当控制器。

常见的神经网络控制结构有:⑴参数估计自适应控制系统;⑵内模控制系统;⑶预测控制系统;⑷模型参考自适应系统;⑸变结构控制系统。

神经网络控制的主要特点是:可以描述任意非线性系统;用于非线性系统的辨识和估计;对于复杂不确定性问题具有自适应能力;快速优化计算能力;具有分布式储存能力,可实现在线、离线学习。

有人提出以Hopfield网络实现一种多分辨率体视协同算法,该算法以逐级融合的方式自动完成由粗到细,直至全分辨率的匹配和建立。

又有人提出一种网络自组织控制器,采用变斜率的最速梯度下降学习算法,应用在非线性跟踪控制中。今后需进一步探讨的问题是提高网络的学习速度,提出新的网络结构,创造出更适用于控制的专用神经网络。

7.实时专家控制(Real Time Expert Control)专家系统是一个具有大量专门知识和经验的程序系统,它应用人工智能技术,根据某个领域一个或多个人类专家提供的知识和经验进行推理和判断,模拟人类专家的决策过程,以解决那些需要专家决定的复杂问题。

专家系统和传统的计算机程序最本质的区别在于:专家系统所要解决的问题一般没有算法解,并且往往要在不完全、不精确或不确定的信息基础上作出结论。

实时专家系统应用模糊逻辑控制和神经网络理论,融进专家系统自适应地管理一个客体或过程的全面行为,自动采集生产过程变量,解释控制系统的当前状况,预测过程的未来行为,诊断可能发生的问题,不断修正和执行控制计划。

实时专家系统具有启发性、透明性、灵活性等特点,已经在航天试验指挥、工业炉窑的控制、高炉炉热诊断中得到广泛应用。

需要进一步研究的问题是如何用简洁语言来描述人类长期积累的经验知识,提高联想化记忆和自学习能力。

8.定性控制(Qualitative Control)定性控制是指系统的状态变量为定性量时(其值不是某一精确值而只知其处于某一范围内),应用定性推理对系统施加控制变量使系统在某一期望范围。

定性控制方法主要有三类:⑴基于定量模型的定性控制,其特点是系统的定量模型假定已知,以定量模型为基础推导定性模型;⑵基于规则的定性控制,其特点是构成定性模型的规则凭人们经验的定性推理即可得到,或通过状态的穷举得到;⑶基于定性模型的定性控制,其特点是直接通过对定性模型的研究来导出定性控制。

定性控制与模糊控制的区别:模糊控制不需建模,其控制律凭经验或算法调整,而定性控制基于定性模型,控制规则基于对系统的定性分析;模糊控制是基于状态的精确测量值,而定性控制基于状态的定性测量值。

定性控制面临的问题:发展定性数学理论,改进定性推理方法,注重定性和定量知识的结合;研究定性建模方法,定性控制方法;加强定性控制应用领域的研究。

9.预测控制(Predictive Control)预测控制是在工业实践过程中独立发展起来的一种新型控制方法,它不仅适用于工业过程这种“慢过程”的控制,也能适用于快速跟踪的伺服系统这种“快过程”控制。

实用的预测控制方法有动态矩阵控制(DMC),模型算法控制(MAC),广义预测控制(GPC),模型预测启发控制(MPHC)以及预测函数控制(PFC)等。

这些方法具有以下特征:⑴以计算机为实现手段,采取在线实现方式;⑵建模方便,不需深入了解过程的内部机理,对模型精度要求不高;⑶采用滚动优化策略,在线反复进行优化计算,使模型失配、外界环境的变化引起的不确定性及时得到弥补,提高控制质量。

最有人提出一种新的基于主导内模概念的预测控制方法:结构对外来激励的响应主要由其本身的模态所决定,即结构只对激励信息中与其起主导作用的几个主要自振频率相接近的频率成分有较大的响应。

利用神经网络对被控对象进行在线辨识,然后用广义预测控制规律进行控制得到较多重视。

预测控制存在的问题是预测精度不高;反馈校正方法单调;滚动优化策略少;对任意的一般系统,其稳定性和鲁棒性分析较难进行;参数调整的总体规则虽然比较明确,但对不同类型的系统的具体调整方法仍有待进一步总结。

10.分布式控制系统(Distributed Control System)分布式控制系统又称集散控制系统,是70年代中期发展起来的新型计算机控制系统,它融合了控制技术(Control),计算机技术(Computer),通信技术(Communication),图像显示技术(CRT)的“4C”技术,形成了以微处理器为核心的系统,实现对生产过程的监视、控制和管理。

既打破了常规控制仪表功能的局限,又较好地解决了早期计算机系统对于信息、管理过于集中带来的危险,而且还有大规模数据采集、处理的功能以及较强的数据通信能力。

分布式控制系统既有计算机控制系统控制算法灵活,精度高的优点,又有仪表控制系统安全可靠,维护方便的优点。

它的主要特点是:真正实现了分散控制;具有高度的灵活性和可扩展性;较强的数据通信能力;友好而丰富的人机联系以及极高的可靠性。

什么是BP神经网络?

BP算法的基本思想是:学习过程由信号正向传播与误差的反向回传两个部分组成;正向传播时,输入样本从输入层传入,经各隐层依次逐层处理,传向输出层,若输出层输出与期望不符,则将误差作为调整信号逐层反向回传,对神经元之间的连接权矩阵做出处理,使误差减小。

经反复学习,最终使误差减小到可接受的范围。具体步骤如下:1、从训练集中取出某一样本,把信息输入网络中。2、通过各节点间的连接情况正向逐层处理后,得到神经网络的实际输出。

3、计算网络实际输出与期望输出的误差。4、将误差逐层反向回传至之前各层,并按一定原则将误差信号加载到连接权值上,使整个神经网络的连接权值向误差减小的方向转化。

5、対训练集中每一个输入—输出样本对重复以上步骤,直到整个训练样本集的误差减小到符合要求为止。

伤寒、副伤寒流行预测模型(BP神经网络)的建立

由于目前研究的各种数学模型或多或少存在使用条件的局限性,或使用方法的复杂性等问题,预测效果均不十分理想,距离实际应用仍有较大差距。

NNT是Matlab 中较为重要的一个工具箱,在实际应用中,BP 网络用的最广泛。

神经网络具有综合能力强,对数据的要求不高,适时学习等突出优点,其操作简便,节省时间,网络初学者即使不了解其算法的本质,也可以直接应用功能丰富的函数来实现自己的目的。

因此,易于被基层单位预防工作者掌握和应用。

以下几个问题是建立理想的因素与疾病之间的神经网络模型的关键:(1)资料选取应尽可能地选取所研究地区系统连续的因素与疾病资料,最好包括有疾病高发年和疾病低发年的数据。

在收集影响因素时,要抓住主要影响伤寒、副伤寒的发病因素。

(2)疾病发病率分级神经网络预测法是按发病率高低来进行预测,在定义发病率等级时,要结合专业知识及当地情况而定,并根据网络学习训练效果而适时调整,以使网络学习训练达到最佳效果。

(3)资料处理问题在实践中发现,资料的特征往往很大程度地影响网络学习和训练的稳定性,因此,数据的应用、纳入、排出问题有待于进一步研究。

6.3.1 人工神经网络的基本原理人工神经网络(ANN)是近年来发展起来的十分热门的交叉学科,它涉及生物、电子、计算机、数学和物理等学科,有着广泛的应用领域。

人工神经网络是一种自适应的高度非线性动力系统,在网络计算的基础上,经过多次重复组合,能够完成多维空间的映射任务。

神经网络通过内部连接的自组织结构,具有对数据的高度自适应能力,由计算机直接从实例中学习获取知识,探求解决问题的方法,自动建立起复杂系统的控制规律及其认知模型。

人工神经网络就其结构而言,一般包括输入层、隐含层和输出层,不同的神经网络可以有不同的隐含层数,但他们都只有一层输入和一层输出。

神经网络的各层又由不同数目的神经元组成,各层神经元数目随解决问题的不同而有不同的神经元个数。

6.3.2 BP神经网络模型BP网络是在1985年由PDP小组提出的反向传播算法的基础上发展起来的,是一种多层次反馈型网络(图6.17),它在输入和输出之间采用多层映射方式,网络按层排列,只有相邻层的节点直接相互连接,传递之间信息。

在正向传播中,输入信息从输入层经隐含层逐层处理,并传向输出层,每层神经元的状态只影响下一层神经元的状态。

如果输出层不能得到期望的输出结果,则转入反向传播,将误差信号沿原来的连同通路返回,通过修改各层神经元的权值,使误差信号最小。

BP网络的学习算法步骤如下(图6.18):图6.17 BP神经网络示意图图6.18 BP算法流程图第一步:设置初始参数ω和θ,(ω为初始权重,θ为临界值,均随机设为较小的数)。

第二步:将已知的样本加到网络上,利用下式可算出他们的输出值yi,其值为岩溶地区地下水与环境的特殊性研究式中:xi为该节点的输入;ωij为从I到j的联接权;θj为临界值;yj为实际算出的输出数据。

第三步:将已知输出数据与上面算出的输出数据之差(dj-yj)调整权系数ω,调整量为ΔWij=ηδjxj式中:η为比例系数;xj为在隐节点为网络输入,在输出点则为下层(隐)节点的输出(j=1,2…,n);dj为已知的输出数据(学习样本训练数据);δj为一个与输出偏差相关的值,对于输出节点来说有δj=ηj(1-yj)(dj-yj)对于隐节点来说,由于它的输出无法进行比较,所以经过反向逐层计算有岩溶地区地下水与环境的特殊性研究其中k指要把上层(输出层)节点取遍。

误差δj是从输出层反向逐层计算的。各神经元的权值调整后为ωij(t)=ωij(t-1)+Vωij式中:t为学习次数。

这个算法是一个迭代过程,每一轮将各W值调整一遍,这样一直迭代下去,知道输出误差小于某一允许值为止,这样一个好的网络就训练成功了,BP算法从本质上讲是把一组样本的输入输出问题变为一个非线性优化问题,它使用了优化技术中最普遍的一种梯度下降算法,用迭代运算求解权值相当于学习记忆问题。

6.3.3 BP 神经网络模型在伤寒、副伤寒流行与传播预测中的应用伤寒、副伤寒的传播与流行同环境之间有着一定的联系。

根据桂林市1990年以来乡镇为单位的伤寒、副伤寒疫情资料,伤寒、副伤寒疫源地资料,结合现有资源与环境背景资料(桂林市行政区划、土壤、气候等)和社会经济资料(经济、人口、生活习惯等统计资料)建立人工神经网络数学模型,来逼近这种规律。

6.3.3.1 模型建立(1)神经网络的BP算法BP网络是一种前馈型网络,由1个输入层、若干隐含层和1个输出层构成。

如果输入层、隐含层和输出层的单元个数分别为n,q1,q2,m,则该三层网络网络可表示为BP(n,q1,q2,m),利用该网络可实现n维输入向量Xn=(X1,X2,…,Xn)T到m维输出向量Ym=(Y1,Y2,…,Ym)T的非线性映射。

输入层和输出层的单元数n,m根据具体问题确定。

(2)样本的选取将模型的输入变量设计为平均温度、平均降雨量、岩石性质、岩溶发育、地下水类型、饮用水类型、正规自来水供应比例、集中供水比例8个输入因子(表6.29),输出单元为伤寒副伤寒的发病率等级,共一个输出单元。

其中q1,q2的值根据训练结果进行选择。表6.29 桂林市伤寒副伤寒影响因素量化表通过分析,选取在伤寒副伤寒有代表性的县镇在1994~2001年的环境参评因子作为样本进行训练。

利用聚类分析法对疫情进行聚类分级(Ⅰ、Ⅱ、Ⅲ、Ⅳ),伤寒副伤寒发病最高级为Ⅳ(BP网络中输出定为4),次之的为Ⅲ(BP网络中输出定为3),以此类推,最低为Ⅰ(BP网络中输出定为1)(3)数据的归一化处理为使网络在训练过程中易于收敛,我们对输入数据进行了归一化处理,并将输入的原始数据都化为0~1之间的数。

如将平均降雨量的数据乘以0.0001;将平均气温的数据乘以0.01;其他输入数据也按类似的方法进行归一化处理。

(4)模型的算法过程假设共有P个训练样本,输入的第p个(p=1,2,…,P)训练样本信息首先向前传播到隐含单元上。

经过激活函数f(u)的作用得到隐含层1的输出信息:岩溶地区地下水与环境的特殊性研究经过激活函数f(u)的作用得到隐含层2的输出信息:岩溶地区地下水与环境的特殊性研究激活函数f(u)我们这里采用Sigmoid型,即f(u)=1/[1+exp(-u)](6.5)隐含层的输出信息传到输出层,可得到最终输出结果为岩溶地区地下水与环境的特殊性研究以上过程为网络学习的信息正向传播过程。

另一个过程为误差反向传播过程。

如果网络输出与期望输出间存在误差,则将误差反向传播,利用下式来调节网络权重和阈值:岩溶地区地下水与环境的特殊性研究式中:Δω(t)为t次训练时权重和阈值的修正;η称为学习速率,0<η<1;E为误差平方和。

岩溶地区地下水与环境的特殊性研究反复运用以上两个过程,直至网络输出与期望输出间的误差满足一定的要求。该模型算法的缺点:1)需要较长的训练时间。

由于一些复杂的问题,BP算法可能要进行几小时甚至更长的时间的训练,这主要是由于学习速率太小造成的,可采用变化的学习速率或自适应的学习速率加以改进。2)完全不能训练。

主要表现在网络出现的麻痹现象上,在网络的训练过程中,当其权值调的过大,可能使得所有的或大部分神经元的加权总和n偏大,这使得激活函数的输入工作在S型转移函数的饱和区,从而导致其导数f′(n)非常小,从而使得对网络权值的调节过程几乎停顿下来。

3)局部极小值。BP算法可以使网络权值收敛到一个解,但它并不能保证所求为误差超平面的全局最小解,很可能是一个局部极小解。

这是因为BP算法采用的是梯度下降法,训练从某一起点沿误差函数的斜面逐渐达到误差的最小值。

考虑到以上算法的缺点,对模型进行了两方面的改进:(1)附加动量法为了避免陷入局部极小值,对模型进行了改进,应用了附加动量法。

附加动量法在使网络修正及其权值时,不仅考虑误差在梯度上的作用,而且考虑在误差曲面上变化趋势的影响,其作用如同一个低通滤波器,它允许网络忽略网络上的微小变化特性。

在没有附加动量的作用下,网络可能陷入浅的局部极小值,利用附加动量的作用则有可能滑过这些极小值。

该方法是在反向传播法的基础上在每一个权值的变化上加上一项正比于前次权值变化量的值,并根据反向传播法来产生心的权值变化。

促使权值的调节向着误差曲面底部的平均方向变化,从而防止了如Δω(t)=0的出现,有助于使网络从误差曲面的局部极小值中跳出。

这种方法主要是把式(6.7)改进为岩溶地区地下水与环境的特殊性研究式中:A为训练次数;a为动量因子,一般取0.95左右。

训练中对采用动量法的判断条件为岩溶地区地下水与环境的特殊性研究(2)自适应学习速率对于一个特定的问题,要选择适当的学习速率不是一件容易的事情。

通常是凭经验或实验获取,但即使这样,对训练开始初期功效较好的学习速率,不见得对后来的训练合适。

所以,为了尽量缩短网络所需的训练时间,采用了学习速率随着训练变化的方法来找到相对于每一时刻来说较差的学习速率。

下式给出了一种自适应学习速率的调整公式:岩溶地区地下水与环境的特殊性研究通过以上两个方面的改进,训练了一个比较理想的网络,将动量法和自适应学习速率结合起来,效果要比单独使用要好得多。

6.3.3.2 模型的求解与预测采用包含了2个隐含层的神经网络BP(4,q1,q2,1),隐含层单元数q1,q2与所研究的具体问题有关,目前尚无统一的确定方法,通常根据网络训练情况采用试错法确定。

在满足一定的精度要求下一般认小的数值,以改善网络的概括推论能力。

在训练中网络的收敛采用输出值Ykp与实测值tp的误差平方和进行控制:岩溶地区地下水与环境的特殊性研究1)将附加动量法和自适应学习速率结合应用,分析桂林市36个乡镇地质条件各因素对伤寒副伤寒发病等级的影响。

因此训练样本为36个,第一个隐含层有19个神经元,第二个隐含层有11个神经元,学习速率为0.001。A.程序(略)。B.网络训练。

在命令窗口执行运行命令,网络开始学习和训练,其学习和训练过程如下(图6.19)。图6.19 神经网络训练过程图C.模型预测。

a.输入未参与训练的乡镇(洞井乡、两水乡、延东乡、四塘乡、严关镇、灵田乡)地质条件数据。b.预测。程序运行后网络输出预测值a3,与已知的实际值进行比较,其预测结果整理后见(表6.30)。

经计算,对6个乡镇伤寒副伤寒发病等级的预测符合率为83.3%。表6.30 神经网络模型预测结果与实际结果比较c.地质条件改进方案。

在影响疾病发生的地质条件中,大部分地质条件是不会变化的,而改变发病地区的饮用水类型是可以人为地通过改良措施加以实施的一个因素。

因此,以灵田乡为例对发病率较高的乡镇进行分析,改变其饮用水类型,来看发病等级的变化情况。

表6.31显示,在其他地质条件因素不变的情况下,改变当地的地下水类型(从原来的岩溶水类型改变成基岩裂隙水)则将发病等级从原来的最高级4级,下降为较低的2级,效果是十分明显的。

因此,今后在进行伤寒副伤寒疾病防治的时候,可以通过改变高发区饮用水类型来客观上减少疫情的发生。

表6.31 灵田乡改变饮用水类型前后的预测结果2)选取桂林地区1994~2000年月平均降雨量、月平均温度作为输入数据矩阵,进行样本训练,设定不同的隐含层单元数,对各月份的数据进行BP网络训练。

在隐含层单元数q1=13,q2=9,经过46383次数的训练,误差达到精度要求,学习速率0.02。A.附加动量法程序(略)。B.网络训练。

在命令窗口执行运行命令,网络开始学习和训练,其学习和训练过程如下(图6.20)。C.模型预测。a.输入桂林市2001年1~12月桂林市各月份的平均气温和平均降雨量。预测程度(略)。b.预测。

程序运行后网络输出预测值a2,与已知的实际值进行比较,其预测结果整理后见(表6.32)。经计算,对2001年1~12月伤寒副伤寒发病等级进行预测,12个预测结果中,有9个符合,符合率为75%。

图6.20 神经网络训练过程图表6.32 神经网络模型预测结果与实际值比较6.3.3.3 模型的评价本研究采用BP神经网络对伤寒、副伤寒发病率等级进行定量预测,一方面引用数量化理论对不确定因素进行量化处理;另一方面利用神经网络优点,充分考虑各影响因素与发病率之间的非线性映射。

实际应用表明,神经网络定量预测伤寒、副伤寒发病率是理想的。其主要优点有:1)避免了模糊或不确定因素的分析工作和具体数学模型的建立工作。2)完成了输入和输出之间复杂的非线性映射关系。

3)采用自适应的信息处理方式,有效减少人为的主观臆断性。虽然如此,但仍存在以下缺点:1)学习算法的收敛速度慢,通常需要上千次或更多,训练时间长。2)从数学上看,BP算法有可能存在局部极小问题。

本模型具有广泛的应用范围,可以应用在很多领域。从上面的结果可以看出,实际和网络学习数据总体较为接近,演化趋势也基本一致。

说明选定的气象因子、地质条件因素为神经单元获得的伤寒、副伤寒发病等级与实际等级比较接近,从而证明伤寒、副伤寒流行与地理因素的确存在较密切的相关性。

什么是PID调节器,并举例说明P、I、D的调节作用。

工业生产过程中,对于生产装置的温度、压力、流量、液位等工艺变量常常要求维持在一定的数值上,或按一定的规律变化,以满足生产工艺的要求。

PID控制器是根据PID控制原理对整个控制系统进行偏差调节,从而使被控变量的实际值与工艺要求的预定值一致。

不同的控制规律适用于不同的生产过程,必须合理选择相应的控制规律,否则PID控制器将达不到预期的控制效果。

PID控制器(Proportion Integration Differentiation.比例-积分-微分控制器),由比例单元 P、积分单元 I 和微分单元 D 组成。

通过Kp, Ki和Kd三个参数的设定。PID控制器主要适用于基本线性和动态特性不随时间变化的系统。PID 控制器是一个在工业控制应用中常见的反馈回路部件。

这个控制器把收集到的数据和一个参考值进行比较,然后把这个差别用于计算新的输入值,这个新的输入值的目的是可以让系统的数据达到或者保持在参考值。

和其他简单的控制运算不同,PID控制器可以根据历史数据和差别的出现率来调整输入值,这样可以使系统更加准确,更加稳定。

可以通过数学的方法证明,在其他控制方法导致系统有稳定误差或过程反复的情况下,一个PID反馈回路却可以保持系统的稳定。

一个控制回路包括三个部分:系统的传感器得到的测量结果 控制器作出决定 通过一个输出设备来作出反应 控制器从传感器得到测量结果,然后用需求结果减去测量结果来得到误差。

然后用误差来计算出一个对系统的纠正值来作为输入结果,这样系统就可以从它的输出结果中消除误差。在一个PID回路中,这个纠正值有三种算法,消除目前的误差,平均过去的误差,和透过误差的改变来预测将来的误差。

比如说,假如一个水箱在为一个植物提供水,这个水箱的水需要保持在一定的高度。一个传感器就会用来检查水箱里水的高度,这样就得到了测量结果。

控制器会有一个固定的用户输入值来表示水箱需要的水面高度,假设这个值是保持65%的水量。控制器的输出设备会连在一个马达控制的水阀门上。打开阀门就会给水箱注水,关上阀门就会让水箱里的水量下降。

这个阀门的控制信号就是我们控制的变量,它也是这个系统的输入来保持这个水箱水量的固定。PID控制器可以用来控制任何可以被测量的并且可以被控制的变量。

比如,它可以用来控制温度,压强,流量,化学成分,速度等等。汽车上的巡航定速功能就是一个例子。一些控制系统把数个PID控制器串联起来,或是链成网络。这样的话,一个主控制器可能会为其他控制输出结果。

一个常见的例子是马达的控制。我们会常常需要马达有一个控制的速度并且停在一个确定的位置。这样呢,一个子控制器来管理速度,但是这个子控制器的速度是由控制马达位置的主控制器来管理的。

连合和串联控制在化学过程控制系统中是很常见的。PID是以它的三种纠正算法而命名的。这三种算法都是用加法调整被控制的数值。而实际上这些加法运算大部分变成了减法运算因为被加数总是负值。

这三种算法是:比例- 来控制当前,误差值和一个负常数P(表示比例)相乘,然后和预定的值相加。P只是在控制器的输出和系统的误差成比例的时候成立。这种控制器输出的变化与输入控制器的偏差成比例关系。

比如说,一个电热器的控制器的比例尺范围是10°C,它的预定值是20°C。

那么它在10°C的时候会输出100%,在15°C的时候会输出50%,在19°C的时候输出10%,注意在误差是0的时候,控制器的输出也是0。

积分 - 来控制过去,误差值是过去一段时间的误差和,然后乘以一个负常数I,然后和预定值相加。I从过去的平均误差值来找到系统的输出结果和预定值的平均误差。

一个简单的比例系统会振荡,会在预定值的附近来回变化,因为系统无法消除多余的纠正。通过加上一个负的平均误差比例值,平均的系统误差值就会总是减少。所以,最终这个PID回路系统会在预定值定下来。

微分 - 来控制将来,计算误差的一阶导,并和一个负常数D相乘,最后和预定值相加。这个导数的控制会对系统的改变作出反应。导数的结果越大,那么控制系统就对输出结果作出更快速的反应。

这个D参数也是PID被称为可预测的控制器的原因。D参数对减少控制器短期的改变很有帮助。一些实际中的速度缓慢的系统可以不需要D参数。 用更专业的话来讲,一个PID控制器可以被称作一个在频域系统的滤波器。

这一点在计算它是否会最终达到稳定结果时很有用。如果数值挑选不当,控制系统的输入值会反复振荡,这导致系统可能永远无法达到预设值。

尽管不同类型的控制器,其结构、原理各不相同,但是基本控制规律只有三个:比例(P)控制、积分(I)控制和微分(D)控制。这几种控制规律可以单独使用,但是更多场合是组合使用。

如比例(P)控制、比例-积分(PI)控制、比例-积分-微分(PID)控制等。比例(P)控制单独的比例控制也称“有差控制”,输出的变化与输入控制器的偏差成比例关系,偏差越大输出越大。

实际应用中,比例度的大小应视具体情况而定,比例度太大,控制作用太弱,不利于系统克服扰动,余差太大,控制质量差,也没有什么控制作用;比例度太小,控制作用太强,容易导致系统的稳定性变差,引发振荡。

对于反应灵敏、放大能力强的被控对象,为提高系统的稳定性,应当使比例度稍小些;而对于反应迟钝,放大能力又较弱的被控对象,比例度可选大一些,以提高整个系统的灵敏度,也可以相应减小余差。

单纯的比例控制适用于扰动不大,滞后较小,负荷变化小,要求不高,允许有一定余差存在的场合。工业生产中比例控制规律使用较为普遍。

比例积分(PI)控制比例控制规律是基本控制规律中最基本的、应用最普遍的一种,其最大优点就是控制及时、迅速。只要有偏差产生,控制器立即产生控制作用。但是,不能最终消除余差的缺点限制了它的单独使用。

克服余差的办法是在比例控制的基础上加上积分控制作用。积分控制器的输出与输入偏差对时间的积分成正比。这里的“积分”指的是“积累”的意思。

积分控制器的输出不仅与输入偏差的大小有关,而且还与偏差存在的时间有关。只要偏差存在,输出就会不断累积(输出值越来越大或越来越小),一直到偏差为零,累积才会停止。所以,积分控制可以消除余差。

积分控制规律又称无差控制规律。积分时间的大小表征了积分控制作用的强弱。积分时间越小,控制作用越强;反之,控制作用越弱。积分控制虽然能消除余差,但它存在着控制不及时的缺点。

因为积分输出的累积是渐进的,其产生的控制作用总是落后于偏差的变化,不能及时有效地克服干扰的影响,难以使控制系统稳定下来。

所以,实用中一般不单独使用积分控制,而是和比例控制作用结合起来,构成比例积分控制。这样取二者之长,互相弥补,既有比例控制作用的迅速及时,又有积分控制作用消除余差的能力。

因此,比例积分控制可以实现较为理想的过程控制。比例积分控制器是目前应用最为广泛的一种控制器,多用于工业生产中液位、压力、流量等控制系统。

由于引入积分作用能消除余差,弥补了纯比例控制的缺陷,获得较好的控制质量。但是积分作用的引入,会使系统稳定性变差。对于有较大惯性滞后的控制系统,要尽量避免使用。

比例微分(PD)控制比例积分控制对于时间滞后的被控对象使用不够理想。

所谓“时间滞后”指的是:当被控对象受到扰动作用后,被控变量没有立即发生变化,而是有一个时间上的延迟,比如容量滞后,此时比例积分控制显得迟钝、不及时。

为此,人们设想:能否根据偏差的变化趋势来做出相应的控制动作呢?

犹如有经验的操作人员,即可根据偏差的大小来改变阀门的开度(比例作用),又可根据偏差变化的速度大小来预计将要出现的情况,提前进行过量控制,“防患于未然”。这就是具有“超前”控制作用的微分控制规律。

微分控制器输出的大小取决于输入偏差变化的速度。微分输出只与偏差的变化速度有关,而与偏差的大小以及偏差是否存在与否无关。

如果偏差为一固定值,不管多大,只要不变化,则输出的变化一定为零,控制器没有任何控制作用。微分时间越大,微分输出维持的时间就越长,因此微分作用越强;反之则越弱。当微分时间为0时,就没有微分控制作用了。

同理,微分时间的选取,也是需要根据实际情况来确定的。

微分控制作用的特点是:动作迅速,具有超前调节功能,可有效改善被控对象有较大时间滞后的控制品质;但是它不能消除余差,尤其是对于恒定偏差输入时,根本就没有控制作用。因此,不能单独使用微分控制规律。

比例和微分作用结合,比单纯的比例作用更快。尤其是对容量滞后大的对象,可以减小动偏差的幅度,节省控制时间,显著改善控制质量。PID控制最为理想的控制当属比例-积分-微分控制规律。

它集三者之长:既有比例作用的及时迅速,又有积分作用的消除余差能力,还有微分作用的超前控制功能。

当偏差阶跃出现时,微分立即大幅度动作,抑制偏差的这种跃变;比例也同时起消除偏差的作用,使偏差幅度减小,由于比例作用是持久和起主要作用的控制规律,因此可使系统比较稳定;而积分作用慢慢把余差克服掉。

只要三个作用的控制参数选择得当,便可充分发挥三种控制规律的优点,得到较为理想的控制效果。

调试方法编辑比例系数的调节比例系数P的调节范围一般是:0.1--100.如果增益值取 0.1,PID 调节器输出变化为十分之一的偏差值。如果增益值取 100, PID 调节器输出变化为一百倍的偏差值。

可见该值越大,比例产生的增益作用越大。初调时,选小一些,然后慢慢调大,直到系统波动足够小,再调节积分或微分系数。过大的P值会导致系统不稳定,持续振荡;过小的P值又会使系统反应迟钝。

合适的值应该使系统有足够的灵敏度但又不会反应过于灵敏,一定时间的迟缓要靠积分时间来调节。积分系数的调节积分时间常数的定义是,偏差引起输出增长的时间。

积分时间设为 1秒,则输出变化 100%所需时间为 1 秒。初调时要把积分时间设置长些,然后慢慢调小直到系统稳定为止。微分系数的调节微分值是偏差值的变化率。

例如,如果输入偏差值线性变化,则在调节器输出侧叠加一个恒定的调节量。大部分控制系统不需要调节微分时间。因为只有时间滞后的系统才需要附加这个参数。如果画蛇添足加上这个参数反而会使系统的控制受到影响。

如果通过比例、积分参数的调节还是收不到理想的控制要求,就可以调节微分时间。初调时把这个系数设小,然后慢慢调大,直到系统稳定。参数整定编辑PID控制器的参数整定是控制系统设计的核心内容。

它是根据被 控过程的特性确定PID控制器的比例系数、积分时间和微分时间的大小。PID控制器参数整定的方法很多,概括起来有两大类:一是理论计算整定法。

它主要是 依据系统的数学模型,经过理论计算确定控制器参数。这种方法所得到的计算数据未必可以直接用,还必须通过工程实际进行调整和修改。

二是工程整定方法,它主 要依赖工程经验,直接在控制系统的试验中进行,且方法简单、易于掌握,在工程实际中被广泛采用。PID控制器参数的工程整定方法,主要有临界比例法、反应 曲线法和衰减法。

三种方法各有其特点,其共同点都是通过试验,然后按照工程经验公式对控制器参数进行整定。但无论采用哪一种方法所得到的控制器参数,都需 要在实际运行中进行最后调整与完善。现在一般采用的是临界比例法。

利用该方法进行 PID控制器参数的整定步骤如下:(1)首先预选择一个足够短的采样周期让系统工作;(2)仅加入比例控制环节,直到系统对输入的阶跃响应出现临界振荡, 记下这时的比例放大系数和临界振荡周期;(3)在一定的控制度下通过公式计算得到PID控制器的参数。

[1] 在实际调试中,只能先大致设定一个经验值,然后根据调节效果修改。

对于温度系统:P(%)20--60,I(分)3--10,D(分)0.5--3对于流量系统:P(%)40--100,I(分)0.1--1对于压力系统:P(%)30--70,I(分)0.4--3对于液位系统:P(%)20--80,I(分)1--5参数整定找最佳,从小到大顺序查先是比例后积分,最后再把微分加曲线振荡很频繁,比例度盘要放大曲线漂浮绕大湾,比例度盘往小扳曲线偏离回复慢,积分时间往下降曲线波动周期长,积分时间再加长曲线振荡频率快,先把微分降下来动差大来波动慢。

微分时间应加长理想曲线两个波,前高后低4比1一看二调多分析,调节质量不会低适应控制编辑首先弄清楚什么是自适应控制在生产过程中为了提高产品质量,增加产量,节约原材料,要求生产管理及生产过程始终处于最优工作状态。

因此产生了一种最优控制的方法,这就叫自适应控制。在这种控制中要求系统能够根据被测参数,环境及原材料的成本的变化而自动对系统进行调节,使系统随时处于最佳状态。

自适应控制包括性能估计(辨别)、决策和修改三个环节。它是微机控制系统的发展方向。但由于控制规律难以掌握,所以推广起来尚有一些难以解决的问题。

加入自适应的pid控制就带有了一些智能特点,像生物一样能适应外界条件的变化。还有自学习系统,就更加智能化了。

参数整定编辑PID控制器参数整定与实现》- 图书信息书 名: PID控制器参数整定与实现作 者:黄友锐,曲立国出版社: 中国科学出版社出版时间:2010-1-1开本: 16开定价: 39.00元《PID控制器参数整定与实现》- 内容简介本书是作者多年来在基于自然计算的PID控制器参数整定与实现方面进行深入研究的基础上撰写而成的。

在吸收国内外许多具有代表性的最新研究成果的基础上,本书着重介绍作者在这一领域的研究成果,主要包括:PID控制器参数整定方法;分数阶PID控制器的参数整定;基于QDRNN的多变量PID控制器参数整定;数字PID控制器的FPGA实现;基于BP神经网络的PID控制器的FPGA实现;基于遗传算法的PID控制器的FPGA实现;基于粒子群算法的PID控制器的FPGA实现;主要算法的基本程序。

本书可作为与自动化相关专业的师生、研究人员以及工程技术人员的参考书。

《PID控制器参数整定与实现》- 图书目录前言第1章 绪论第2章 PID控制器参数整定方法第3章 分数阶PID控制器的参数整定第4章 基于QDRNN的多变量PID控制器参数整定第5章 数字PID控制器的FPGA实现第6章 基于BP神经网络的PID控制器的FPGA实现第7章 基于遗传算法的PID控制器的FPGA实现第8章 基于粒子群算法的PID控制器的FPGA实现附录参考文献比例积微分控制器的专利、软件及硬件编辑这在IEEE《控制系统》杂志上有综述,包括最优控制器参数设定,可由格拉斯哥大学CAutoD网站免费下载改善PID微分和积分的方法及:Patents, software, and hardware for PID control: An overview and analysis of the current art, IEEE Control Systems, 2006。

[2]

关于车速检测的BP神经网络算法程序

以往的汽车四轮转向控制系统的设计,往往依据侧向加速度较小时的车辆运动的线型两轴模型进行线性控制器的设计。

这样在某些危险行驶状态,例如紧急躲避障碍物、在路面摩擦力低的滑路面行驶,汽车四轮转向控制系统将失去应有的控制作用,致使汽车的转向安全性大大减低。

文章提出在侧向加速度大的情况下,利用神经网络理论来设计汽车四轮转向控制系统。

这样的控制系统不依赖于车辆运动的线型模型,它不是基于模型的控制,而是基于知识的控制,保证了控制系统能适应车辆运动的非线性特性。

2 基于神经网络四轮转向控制系统的设计 [IMG][/IMG] [IMG][/IMG] 四轮转向控制系统的控制目的应为:(1)对沿行驶路线行驶的汽车车身姿势进行控制,使汽车的侧偏角β保持为零;(2)横摆角速度λ或侧向加速度。

接近所期望的转向响应特性。四轮转向控制系统采用后轮主动式,即控制器主动控制后轮的转角,通过控制后轮进行车辆运动控制。其控制系统如图1所示。

在设计过程中,参两轮车的线性模型,选前轮转向角6f、横摆角速度/作为控制器的输入量;同时考虑侧向加速度α而造成的控制误差的补偿作用,把侧向加速度。也作为输入。

图1中车辆系统为通过神经网络辩识的非线性动态系统。

设计包括两部分内容:车辆动态模型离线辩识、后轮转向角神经网络控制器的设计. 2.1 车辆动态模型离线辩识 车辆动态模型离线辩识采用多层神经网络误差逆传播学习算法:BP神经网络法.BP神经网络是一种输入输出向量空间的非线性映射。

其拓扑结构由3部分组成:输入层、隐含层和输出层。层与层之间各神经元实现全连接,而每层各神经元之间无连接。设计中采用具有双隐含层的BP网络,通过离线训练学到车辆动力系统的非线性特性。

为使该网络能在车辆的各种工况下识别车辆运动,应使网络的学习模式对能覆盖车辆的全部工况。

由于采集实际车辆的运行数据是非常困难的,因此在离线训练的过程中,采用四轮转向车辆系统模型,并通过计算机仿真(图2)向BP网络提供学习模式对,使BP网络进行离线训练学习,对BP网络的连接权和阈值进行粗调节;然后通过该模式提取测试模式对,对网络进行测试;测试满意后,再用实验数据对网络作进一步离线训练,从而对网络进行细调节。

辩识系统中,输入参数有第n时间步侧偏角β(n)、横摆角速度γ(n)、前轮转向角(n)、后轮转向角δ(n)、侧向加速度α(n)5个参数;输出有第,2+l时间步侧偏角β(n+1)、横摆角速度γ(2+1)(图3)。

训练网络用的信号δf(n)是幅值分别为3.4和5.5的阶跃信号和正弦信号。每层神经元数分别为5、12、10、2。

两隐层传递函数均为双极性Sigmoid函数[IMG][/IMG] 输出层传递函数为线性函数。

[IMG][/IMG] 2.2 神经控制器的设计 为配合车辆动态模型一起工作,设计神经控制器。该控制器也是双隐含层的BP神经网络各层神经元数分别为3、10、10、l。

控制器的输入为横摆角速度/(,2)、前轮转角δf(n)及与车速有关的参数侧向加速度o(n);输出有后轮转角δf(n)。

两隐含层的传递函数也为双极性Sigmoid函数,输出层的传递函数为 [IMG][/IMG] 为使侧偏最小, 引入性能目标函数[IMG][/IMG]评价侧偏角和后轮转向角。

每个神经元的权值和阈值可以通过控制器的学习过程得到。学习的目的是使目标函数值最小。

训练神经控制器时,在计算机上将车辆动态模型与神经控制器组成控制系统,同样用四轮转向控制的车辆仿真模型输出的数据集进行训练。但此时只修改神经控制器的权矩阵。

2.3 BP神经网络的MATLAB实现 设计过程中,可以采用MATLAB软件中的神经网络工具箱来实现BP神经网络算法。BP神经网络的学习过程由前向计算过程、误差计算和误差反向传播过程组成。

双含隐层BP神经网络的MATLAB程序,由输入部分、计算部分、输出部分组成,其中输入部分包括网络参数与训练样本数据的输入、初始化权系、求输入输出模式各分量的平均值及标准差并作相应数据预处理、读入测试集样本数据并作相应数据预处理;计算部分包括正向计算、反向传播、计算各层权矩阵的增量、自适应和动量项修改各层权矩阵;输出部分包括显示网络最终状态及计算值与期望值之间的相对误差、输出测试集相应结果、显示训练,测试误差曲线。

3 控制系统仿真 用神经网络车辆动态模型与神经控制器构成控制系统,进行仿真分析。其瞬态响应,如图4中实线所示。图中的虚线、双点划线分别表示2WS和线性控制4WS。

[IMG][/IMG] 4 结论 (1)因为神经控制网络能很好地适应汽车的非线性特性,故在大的前轮转角下,神经网络控制系统的侧偏角p比线性控制系统的车辆侧偏角p更接近零,可获得更满意的控制效果。

(2)横摆角速度丫响应在经过一段时间后收敛至稳态值,4WS比2WS收敛更快,相位滞后更小。

BP神经网络方法

人工神经网络是近几年来发展起来的新兴学科,它是一种大规模并行分布处理的非线性系统,适用解决难以用数学模型描述的系统,逼近任何非线性的特性,具有很强的自适应、自学习、联想记忆、高度容错和并行处理能力,使得神经网络理论的应用已经渗透到了各个领域。

近年来,人工神经网络在水质分析和评价中的应用越来越广泛,并取得良好效果。在这些应用中,纵观应用于模式识别的神经网络,BP网络是最有效、最活跃的方法之一。

BP网络是多层前向网络的权值学习采用误差逆传播学习的一种算法(Error Back Propagation,简称BP)。在具体应用该网络时分为网络训练及网络工作两个阶段。

在网络训练阶段,根据给定的训练模式,按照“模式的顺传播”→“误差逆传播”→“记忆训练”→“学习收敛”4个过程进行网络权值的训练。

在网络的工作阶段,根据训练好的网络权值及给定的输入向量,按照“模式顺传播”方式求得与输入向量相对应的输出向量的解答(阎平凡,2000)。

BP算法是一种比较成熟的有指导的训练方法,是一个单向传播的多层前馈网络。它包含输入层、隐含层、输出层,如图4-4所示。

图4-4 地下水质量评价的BP神经网络模型图4-4给出了4层地下水水质评价的BP神经网络模型。同层节点之间不连接。

输入信号从输入层节点,依次传过各隐含层节点,然后传到输出层节点,如果在输出层得不到期望输出,则转入反向传播,将误差信号沿原来通路返回,通过学习来修改各层神经元的权值,使误差信号最小。

每一层节点的输出只影响下一层节点的输入。

每个节点都对应着一个作用函数(f)和阈值(a),BP网络的基本处理单元量为非线性输入-输出的关系,输入层节点阈值为0,且f(x)=x;而隐含层和输出层的作用函数为非线性的Sigmoid型(它是连续可微的)函数,其表达式为f(x)=1/(1+e-x) (4-55)设有L个学习样本(Xk,Ok)(k=1,2,…,l),其中Xk为输入,Ok为期望输出,Xk经网络传播后得到的实际输出为Yk,则Yk与要求的期望输出Ok之间的均方误差为区域地下水功能可持续性评价理论与方法研究式中:M为输出层单元数;Yk,p为第k样本对第p特性分量的实际输出;Ok,p为第k样本对第p特性分量的期望输出。

样本的总误差为区域地下水功能可持续性评价理论与方法研究由梯度下降法修改网络的权值,使得E取得最小值,学习样本对Wij的修正为区域地下水功能可持续性评价理论与方法研究式中:η为学习速率,可取0到1间的数值。

所有学习样本对权值Wij的修正为区域地下水功能可持续性评价理论与方法研究通常为增加学习过程的稳定性,用下式对Wij再进行修正:区域地下水功能可持续性评价理论与方法研究式中:β为充量常量;Wij(t)为BP网络第t次迭代循环训练后的连接权值;Wij(t-1)为BP网络第t-1次迭代循环训练后的连接权值。

在BP网络学习的过程中,先调整输出层与隐含层之间的连接权值,然后调整中间隐含层间的连接权值,最后调整隐含层与输入层之间的连接权值。实现BP网络训练学习程序流程,如图4-5所示(倪深海等,2000)。

图4-5 BP神经网络模型程序框图若将水质评价中的评价标准作为样本输入,评价级别作为网络输出,BP网络通过不断学习,归纳出评价标准与评价级别间复杂的内在对应关系,即可进行水质综合评价。

BP网络对地下水质量综合评价,其评价方法不需要过多的数理统计知识,也不需要对水质量监测数据进行复杂的预处理,操作简便易行,评价结果切合实际。

由于人工神经网络方法具有高度民主的非线性函数映射功能,使得地下水水质评价结果较准确(袁曾任,1999)。

BP网络可以任意逼近任何连续函数,但是它主要存在如下缺点:①从数学上看,它可归结为一非线性的梯度优化问题,因此不可避免地存在局部极小问题;②学习算法的收敛速度慢,通常需要上千次或更多。

神经网络具有学习、联想和容错功能,是地下水水质评价工作方法的改进,如何在现行的神经网络中进一步吸取模糊和灰色理论的某些优点,建立更适合水质评价的神经网络模型,使该模型既具有方法的先进性又具有现实的可行性,将是我们今后研究和探讨的问题。

单神经元自适应控制算法,bp神经网络缺点及克服相关推荐

  1. 单神经元自适应控制算法,神经网络自校正控制

    神经网络参数如何确定 神经网络各个网络参数设定原则:①.网络节点  网络输入层神经元节点数就是系统的特征因子(自变量)个数,输出层神经元节点数就是系统目标个数.隐层节点选按经验选取,一般设为输入层节点 ...

  2. bp神经网络缺点及克服,bp神经网络存在的问题

    BP神经网络是用来干嘛的阿? 用样本去训练一个BP网络,然后用新的样本作为输入,再通过这个已经训练好的BP网络,得到的数据就是仿真的结果,这就是BP网络仿真. 我们训练一个BP网络就好像是在训练一个神 ...

  3. bp神经网络预测模型优点,bp神经网络缺点及克服

    BP神经网络的核心问题是什么?其优缺点有哪些? 人工神经网络,是一种旨在模仿人脑结构及其功能的信息处理系统,就是使用人工神经网络方法实现模式识别.可处理一些环境信息十分复杂,背景知识不清楚,推理规则不 ...

  4. 控制器matlab仿真研究,单神经元自适应PID控制器的研究及MATLAB仿真

    单神经元自适应PID控制器的研究及MATLAB仿真 在分析传统的PID控制器的基础上,提出了一种单神经元自适应PID控制器,这种控制器,不仅结构简单,且具有较好的适应 (本文共2页) 阅读全文> ...

  5. 博途PLC单神经元自适应PID控制

    BP神经网络PID控制从Simulink仿真到PLC控制实现,可以参看下面这篇博客: BP神经网络PID控制从Simulink仿真到PLC控制实现(含博途PLC完整SCL源代码)_RXXW_Dor的博 ...

  6. 单神经元自适应PID控制SCL程序

    单神经元自适应PID控制 原理 代码及注释 调参方式 原理 参考此文章给出的原理性解释,出自<先进PID控制MATLAB仿真 第四版> 建议先花二十分钟看懂增量型PID,再花十分钟看懂下面 ...

  7. 浅谈单神经元网络PID控制算法及MATLAB仿真

    本文仅用作记录学习单神经元网络PID控制算法过程的心得体会及个人理解,若有错误,欢迎指正! 传送门 神经网络 神经网络的三个主要构成 神经元 单神经元网络PID控制算法 增量式 位置式 神经元的输入 ...

  8. 单神经元PID控制+Simulink控制系统仿真

    最近在学习基于神经网络的电机智能控制,神经网络与PID有两种结合方式:采用单神经元结构,神经元输入权值一一对应PID的三个参数,神经元的输入值为经过比例.积分和微分处理后的偏差值:另一种是在常规PID ...

  9. 单神经元PID控制+Simulink双闭环直流调速系统仿真

    前段时间学习了基于神经网络的智能控制,这周就把单神经元PID控制器应用于转速电流双闭环直流调速系统 双闭环直流调速系统的动态数学模型如下图所示: 外环为转速环,内环为电流环.本次转速调节器采用基于单神 ...

最新文章

  1. Nuaa Q1090
  2. 基于aspectj实现AOP操作的两种方式——xml配置
  3. GetWindowRect GetClientRect
  4. 微软自家的.Net下的JavaScript引擎——ClearScript
  5. Perl split字符串分割函数用法指南
  6. php获取悉尼时间,php在使用澳大利亚/悉尼时区时给出错误答案
  7. 力扣55. 跳跃游戏(JavaScript)
  8. windows 与linux实现文件共享
  9. DELPHI操作INI文件详细讲解
  10. Nginx 漏洞扫描及修复方案
  11. 软件开发流程知识概括
  12. 注册表Windows桌面设置
  13. AdMob广告变现:新增开屏广告
  14. 如火般的风马: 快速迁移本地项目到Bluemix云平台
  15. js获取PC设备信息,js获取手机设备信息,最全
  16. python2和pytho3切换_电脑上同时安装Python2和Pytho
  17. hashcat中文文档
  18. 价值1.35亿美元的BUG
  19. AES标准及Rijndael算法解析
  20. 【华为OD机试真题 JAVA】连续出牌数量

热门文章

  1. 机器学习的学习曲线和验证曲线
  2. U盘安装Ubuntu——准备篇
  3. 领英发布《2016中国新一线城市职场发达程度报告》
  4. 嵌入式开发面经(芯动科技提前批一面)
  5. ArcEngine开发:创建shp数据文件,并存入Geometry类型的要素到shp数据文件
  6. 如何使用FFmpeg的编码器
  7. 短视频创作中远、全、近景和特写的意义,懂了才能拍出爆款视频
  8. HER2靶向药物研发进展-销售数据-上市药品前景分析
  9. B. Not Sitting
  10. Splitbutton