改进算法
① 对算法进行改进是因为不能实现还是因为实现的效果不好
1、你需要理解世界上没有完美的算法,永远存在可以改进的空间。
2、改进的原因,一般来说不能实现很少。因为不能实现,这个算法就根本没完成,还谈不上改进。
3、一般来说,实现效果不好倒是个多见的原因。更多原因是需求调整,性能优化,模型优化等等。
4、希望对你有帮助。
② 如何改进SVM算法,最好是自己的改进方法,别引用那些前人改进的算法
楼主对于这种问题的答案完全可以上SCI了,知道答案的人都在写论文中,所以我可以给几个改进方向给你提示一下:
1 SVM是分类器对于它的准确性还有过拟合性都有很成熟的改进,所以采用数学方法来改进感觉很难了,但是它的应用很广泛 SVMRank貌似就是netflix电影推荐系统的核心算法,你可以了解下
2 与其他算法的联合,boosting是一种集成算法,你可以考虑SVM作为一种弱学习器在其框架中提升学习的准确率
SVM的本身算法真有好的改进完全可以在最高等级杂志上发论文,我上面说的两个方面虽然很简单但如果你有实验数据证明,在国内发表核心期刊完全没问题,本人也在论文纠结中。。
③ BP算法及其改进
传统的BP算法及其改进算法的一个很大缺点是:由于其误差目标函数对于待学习的连接权值来说非凸的,存在局部最小点,对网络进行训练时,这些算法的权值一旦落入权值空间的局部最小点就很难跳出,因而无法达到全局最小点(即最优点)而使得网络训练失败。针对这些缺陷,根据凸函数及其共轭的性质,利用Fenchel不等式,使用约束优化理论中的罚函数方法构造出了带有惩罚项的新误差目标函数。
用新的目标函数对前馈神经网络进行优化训练时,隐层输出也作为被优化变量。这个目标函数的主要特点有:
1.固定隐层输出,该目标函数对连接权值来说是凸的;固定连接权值,对隐层输出来说是凸的。这样在对连接权值和隐层输出进行交替优化时,它们所面对的目标函数都是凸函数,不存在局部最小的问题,算法对于初始权值的敏感性降低;
2.由于惩罚因子是逐渐增大的,使得权值的搜索空间变得比较大,从而对于大规模的网络也能够训练,在一定程度上降低了训练过程陷入局部最小的可能性。
这些特性能够在很大程度上有效地克服以往前馈网络的训练算法易于陷入局部最小而使网络训练失败的重大缺陷,也为利用凸优化理论研究前馈神经网络的学习算法开创了一个新思路。在网络训练时,可以对连接权值和隐层输出进行交替优化。把这种新算法应用到前馈神经网络训练学习中,在学习速度、泛化能力、网络训练成功率等多方面均优于传统训练算法,如经典的BP算法。数值试验也表明了这一新算法的有效性。
本文通过典型的BP算法与新算法的比较,得到了二者之间相互关系的初步结论。从理论上证明了当惩罚因子趋于正无穷大时新算法就是BP算法,并且用数值试验说明了惩罚因子在网络训练算法中的作用和意义。对于三层前馈神经网络来说,惩罚因子较小时,隐层神经元局部梯度的可变范围大,有利于连接权值的更新;惩罚因子较大时,隐层神经元局部梯度的可变范围小,不利于连接权值的更新,但能提高网络训练精度。这说明了在网络训练过程中惩罚因子为何从小到大变化的原因,也说明了新算法的可行性而BP算法则时有无法更新连接权值的重大缺陷。
矿体预测在矿床地质中占有重要地位,由于输入样本量大,用以往前馈网络算法进行矿体预测效果不佳。本文把前馈网络新算法应用到矿体预测中,取得了良好的预期效果。
本文最后指出了新算法的优点,并指出了有待改进的地方。
关键词:前馈神经网络,凸优化理论,训练算法,矿体预测,应用
Feed forward Neural Networks Training Algorithm Based on Convex Optimization and Its Application in Deposit Forcasting
JIA Wen-chen (Computer Application)
Directed by YE Shi-wei
Abstract
The paper studies primarily the application of convex optimization theory and algorithm for feed forward neural networks’ training and convergence performance.
It reviews the history of feed forward neural networks, points out that the training of feed forward neural networks is essentially a non-linear problem and introces BP algorithm, its advantages as well as disadvantages and previous improvements for it. One of the big disadvantages of BP algorithm and its improvement algorithms is: because its error target function is non-convex in the weight values between neurons in different layers and exists local minimum point, thus, if the weight values enter local minimum point in weight values space when network is trained, it is difficult to skip local minimum point and reach the global minimum point (i.e. the most optimal point).If this happening, the training of networks will be unsuccessful. To overcome these essential disadvantages, the paper constructs a new error target function including restriction item according to convex function, Fenchel inequality in the conjugate of convex function and punishment function method in restriction optimization theory.
When feed forward neural networks based on the new target function is being trained, hidden layers’ outputs are seen as optimization variables. The main characteristics of the new target function are as follows:
1.With fixed hidden layers’ outputs, the new target function is convex in connecting weight variables; with fixed connecting weight values, the new target function is convex in hidden layers’ outputs. Thus, when connecting weight values and hidden layers’ outputs are optimized alternately, the new target function is convex in them, doesn’t exist local minimum point, and the algorithm’s sensitiveness is reced for original weight values .
2.Because the punishment factor is increased graally, weight values ’ searching space gets much bigger, so big networks can be trained and the possibility of entering local minimum point can be reced to a certain extent in network training process.
Using these characteristics can overcome efficiently in the former feed forward neural networks’ training algorithms the big disadvantage that networks training enters local minimum point easily. This creats a new idea for feed forward neural networks’ learning algorithms by using convex optimization theory .In networks training, connecting weight variables and hidden layer outputs can be optimized alternately. The new algorithm is much better than traditional algorithms for feed forward neural networks. The numerical experiments show that the new algorithm is successful.
By comparing the new algorithm with the traditional ones, a primary conclusion of their relationship is reached. It is proved theoretically that when the punishment factor nears infinity, the new algorithm is BP algorithm yet. The meaning and function of the punishment factor are also explained by numerical experiments. For three-layer feed forward neural networks, when the punishment factor is smaller, hidden layer outputs’ variable range is bigger and this is in favor to updating of the connecting weights values, when the punishment factor is bigger, hidden layer outputs’ variable range is smaller and this is not in favor to updating of the connecting weights values but it can improve precision of networks. This explains the reason that the punishment factor should be increased graally in networks training process. It also explains feasibility of the new algorithm and BP algorithm’s disadvantage that connecting weigh values can not be updated sometimes.
Deposit forecasting is very important in deposit geology. The previous algorithms’ effect is not good in deposit forecasting because of much more input samples. The paper applies the new algorithm to deposit forecasting and expectant result is reached.
The paper points out the new algorithm’s strongpoint as well as to-be-improved places in the end.
Keywords: feed forward neural networks, convex optimization theory, training algorithm, deposit forecasting, application
传统的BP算法及其改进算法的一个很大缺点是:由于其误差目标函数对于待学习的连接权值来说非凸的,存在局部最小点,对网络进行训练时,这些算法的权值一旦落入权值空间的局部最小点就很难跳出,因而无法达到全局最小点(即最优点)而使得网络训练失败。针对这些缺陷,根据凸函数及其共轭的性质,利用Fenchel不等式,使用约束优化理论中的罚函数方法构造出了带有惩罚项的新误差目标函数。
用新的目标函数对前馈神经网络进行优化训练时,隐层输出也作为被优化变量。这个目标函数的主要特点有:
1.固定隐层输出,该目标函数对连接权值来说是凸的;固定连接权值,对隐层输出来说是凸的。这样在对连接权值和隐层输出进行交替优化时,它们所面对的目标函数都是凸函数,不存在局部最小的问题,算法对于初始权值的敏感性降低;
2.由于惩罚因子是逐渐增大的,使得权值的搜索空间变得比较大,从而对于大规模的网络也能够训练,在一定程度上降低了训练过程陷入局部最小的可能性。
这些特性能够在很大程度上有效地克服以往前馈网络的训练算法易于陷入局部最小而使网络训练失败的重大缺陷,也为利用凸优化理论研究前馈神经网络的学习算法开创了一个新思路。在网络训练时,可以对连接权值和隐层输出进行交替优化。把这种新算法应用到前馈神经网络训练学习中,在学习速度、泛化能力、网络训练成功率等多方面均优于传统训练算法,如经典的BP算法。数值试验也表明了这一新算法的有效性。
本文通过典型的BP算法与新算法的比较,得到了二者之间相互关系的初步结论。从理论上证明了当惩罚因子趋于正无穷大时新算法就是BP算法,并且用数值试验说明了惩罚因子在网络训练算法中的作用和意义。对于三层前馈神经网络来说,惩罚因子较小时,隐层神经元局部梯度的可变范围大,有利于连接权值的更新;惩罚因子较大时,隐层神经元局部梯度的可变范围小,不利于连接权值的更新,但能提高网络训练精度。这说明了在网络训练过程中惩罚因子为何从小到大变化的原因,也说明了新算法的可行性而BP算法则时有无法更新连接权值的重大缺陷。
矿体预测在矿床地质中占有重要地位,由于输入样本量大,用以往前馈网络算法进行矿体预测效果不佳。本文把前馈网络新算法应用到矿体预测中,取得了良好的预期效果。
本文最后指出了新算法的优点,并指出了有待改进的地方。
关键词:前馈神经网络,凸优化理论,训练算法,矿体预测,应用
Feed forward Neural Networks Training Algorithm Based on Convex Optimization and Its Application in Deposit Forcasting
JIA Wen-chen (Computer Application)
Directed by YE Shi-wei
Abstract
The paper studies primarily the application of convex optimization theory and algorithm for feed forward neural networks’ training and convergence performance.
It reviews the history of feed forward neural networks, points out that the training of feed forward neural networks is essentially a non-linear problem and introces BP algorithm, its advantages as well as disadvantages and previous improvements for it. One of the big disadvantages of BP algorithm and its improvement algorithms is: because its error target function is non-convex in the weight values between neurons in different layers and exists local minimum point, thus, if the weight values enter local minimum point in weight values space when network is trained, it is difficult to skip local minimum point and reach the global minimum point (i.e. the most optimal point).If this happening, the training of networks will be unsuccessful. To overcome these essential disadvantages, the paper constructs a new error target function including restriction item according to convex function, Fenchel inequality in the conjugate of convex function and punishment function method in restriction optimization theory.
When feed forward neural networks based on the new target function is being trained, hidden layers’ outputs are seen as optimization variables. The main characteristics of the new target function are as follows:
1.With fixed hidden layers’ outputs, the new target function is convex in connecting weight variables; with fixed connecting weight values, the new target function is convex in hidden layers’ outputs. Thus, when connecting weight values and hidden layers’ outputs are optimized alternately, the new target function is convex in them, doesn’t exist local minimum point, and the algorithm’s sensitiveness is reced for original weight values .
2.Because the punishment factor is increased graally, weight values ’ searching space gets much bigger, so big networks can be trained and the possibility of entering local minimum point can be reced to a certain extent in network training process.
Using these characteristics can overcome efficiently in the former feed forward neural networks’ training algorithms the big disadvantage that networks training enters local minimum point easily. This creats a new idea for feed forward neural networks’ learning algorithms by using convex optimization theory .In networks training, connecting weight variables and hidden layer outputs can be optimized alternately. The new algorithm is much better than traditional algorithms for feed forward neural networks. The numerical experiments show that the new algorithm is successful.
By comparing the new algorithm with the traditional ones, a primary conclusion of their relationship is reached. It is proved theoretically that when the punishment factor nears infinity, the new algorithm is BP algorithm yet. The meaning and function of the punishment factor are also explained by numerical experiments. For three-layer feed forward neural networks, when the punishment factor is smaller, hidden layer outputs’ variable range is bigger and this is in favor to updating of the connecting weights values, when the punishment factor is bigger, hidden layer outputs’ variable range is smaller and this is not in favor to updating of the connecting weights values but it can improve precision of networks. This explains the reason that the punishment factor should be increased graally in networks training process. It also explains feasibility of the new algorithm and BP algorithm’s disadvantage that connecting weigh values can not be updated sometimes.
Deposit forecasting is very important in deposit geology. The previous algorithms’ effect is not good in deposit forecasting because of much more input samples. The paper applies the new algorithm to deposit forecasting and expectant result is reached.
The paper points out the new algorithm’s strongpoint as well as to-be-improved places in the end.
Keywords: feed forward neural networks, convex optimization theory, training algorithm, deposit forecasting, application
BP算法及其改进
2.1 BP算法步骤
1°随机抽取初始权值ω0;
2°输入学习样本对(Xp,Yp),学习速率η,误差水平ε;
3°依次计算各层结点输出opi,opj,opk;
4°修正权值ωk+1=ωk+ηpk,其中pk=,ωk为第k次迭代权变量;
5°若误差E<ε停止,否则转3°。
2.2 最优步长ηk的确定
在上面的算法中,学习速率η实质上是一个沿负梯度方向的步长因子,在每一次迭代中如何确定一个最优步长ηk,使其误差值下降最快,则是典型的一维搜索问题,即E(ωk+ηkpk)=(ωk+ηpk)。令Φ(η)=E(ωk+ηpk),则Φ′(η)=dE(ωk+ηpk)/dη=E(ωk+ηpk)Tpk。若ηk为(η)的极小值点,则Φ′(ηk)=0,即E(ωk+ηpk)Tpk=-pTk+1pk=0。确定ηk的算法步骤如下
1°给定η0=0,h=0.01,ε0=0.00001;
2°计算Φ′(η0),若Φ′(η0)=0,则令ηk=η0,停止计算;
3°令h=2h, η1=η0+h;
4°计算Φ′(η1),若Φ′(η1)=0,则令ηk=η1,停止计算;
若Φ′(η1)>0,则令a=η0,b=η1;若Φ′(η1)<0,则令η0=η1,转3°;
5°计算Φ′(a),若Φ′(a)=0,则ηk=a,停止计算;
6°计算Φ′(b),若Φ′(b)=0,则ηk=b,停止计算;
7°计算Φ′(a+b/2),若Φ′(a+b/2)=0,则ηk=a+b/2,停止计算;
若Φ′(a+b/2)<0,则令a=a+b/2;若Φ′(a+b/2)>0,则令b=a+b/2
8°若|a-b|<ε0,则令,ηk=a+b/2,停止计算,否则转7°。
2.3 改进BP算法的特点分析
在上述改进的BP算法中,对学习速率η的选取不再由用户自己确定,而是在每次迭代过程中让计算机自动寻找最优步长ηk。而确定ηk的算法中,首先给定η0=0,由定义Φ(η)=E(ωk+ηpk)知,Φ′(η)=dE(ωk+ηpk)/dη=E(ωk+ηpk)Tpk,即Φ′(η0)=-pTkpk≤0。若Φ′(η0)=0,则表明此时下降方向pk为零向量,也即已达到局部极值点,否则必有Φ′(η0)<0,而对于一维函数Φ(η)的性质可知,Φ′(η0)<0则在η0=0的局部范围内函数为减函数。故在每一次迭代过程中给η0赋初值0是合理的。
改进后的BP算法与原BP算法相比有两处变化,即步骤2°中不需给定学习速率η的值;另外在每一次修正权值之前,即步骤4°前已计算出最优步长ηk。
④ 改进计算方法
在早期油气资源评价中,通常应用评价模型,对各参数仅取一个固定值进行简单的运算,所得结果也是一个值。实际上,对于地下评价对象,其大多数参数具有时空变化性,用一个固定值,不管是统计所得均值还是其他值,都很难代表该参数,更无法准确刻画该参数的时空非均质性。在这种情况下,很显然应用单值运算得到的结果很难反映地下评价对象的客观实际。因此,为提高评价质量和结果可信性,必须改进计算方法。
14.4.1 应用网格化方法逼近资源分布
这种方法的基本思路是:
(1)根据大量观测点数据,编制各单一参数的平面分布图,通常为平面等值线图,如生油岩等厚图等,个别为分区等级图,如演化程度图。以这些平面分布图简化表示各参数空间变化,主要是把各参数的垂向变化,用平均值简化为非变化的固定值,如所谓生油岩有机质丰度等值线图,即是把各点垂向上有机质丰度变化简化为非变化的固定值。(2)在平面上建立固定的网格,其网格一般是按均匀法设置,但也可用非均匀网格,网格的多少视各变量平面变化快慢、计算机速度和容量而定。原则上是网格越多、越细就越准确地刻画参数平面变化情况。
(3)以同一网格在各参数分布图上读取网格结点(或网格中点)上参数具体数值。
(4)针对每一个网格结点(或网格中点),按照资源评价模型,分别计算生烃量、排烃量等,然后编制生烃量、排烃量等值线图。
(5)依据各等值线间距所占面积,计算该间距所占的生烃量、排烃量等,再累加得全区生烃量、排烃量。乘以相应运聚系数即得全区资源量。
14.4.2 蒙特卡洛法
所谓蒙特卡洛法是一种数值计算方法,其含义是利用随机抽样方法在各参数分布曲线取定数值,然后根据评价模型进行运算,结果得到一定值,反复如上过程成千上万次,结果就有成千上万个定值,再将这些定值进行统计,得到结果分布曲线。该方法已广泛应用于油气资源评价,其优点是:以一个分布曲线来逼近地下评价对象及较可能值、最可能值。这更加符合人们对地下评价对象的认识过程和局限性、不确定性。
该方法的计算步骤如下:
(1)通过资料处理解释、分析化验、图件读取等方法,产生和采集、整理各参数的数据,原则上是越多越好。同时剔除奇异点。
(2)根据整理的数据,统计建立各参数概率分布曲线。当数据较多,如多于几十个时,统计分布曲线代表性强、可靠性高。但当数据少到只几个或十余个时,可依据该参数的分布概型(一般是经验已知的分布模型,如正态分布、对数正态分布等),构造实际的分布曲线。但当数据少到只几个且其分布概型也不确定时,最好用均匀分布或三角分布代替其分布。
(3)利用计算机产生随机数,其中最简单最基本的是均匀分布随机数。要求随机数产生后必须经过严格的检验(如均匀性检验、独立性检验、组合规律性检验、连续性检验等),性质符合要求时方可投入使用。随机数个数越多越好,最好成千上万。随机数值区间为0~1。
(4)以随机数值为概率入口值,用插值法在某一参数分布取该概率所对应的参数值(图14-1)。再用另一个随机数值在另一参数分布曲线上求取该参数值(图14-2)。以此类推。再将所求取的各参数的值(一个参数只一个值)按评价模型相乘除或加减,得到一个结果(图14-3)。反复此过程,得到成千上万个结果。
图14-1 抽样计算过程示意图
(5)再将所得结果进行数理统计,得到结果概率分布图(图14-3)。一般而言,蒙特卡洛计算所用参数概率分布可以是各种各样,但其结果分布一般都是正态分布或对数正态分布。
图14-2 多参数抽样计算过程示意图
图14-3 蒙特卡洛计算过程示意图
14.4.3 模糊数学计算方法
在一些研究对象中,不同事物的界线是截然不同的,如水可以有冰、水、汽三种形态,其界限一般是明确的;而在某些对象,不同事物之间的界限是不明确的,例如在石油地质中,储层的“渗透性好”和“渗透性差”是两个截然不同的概念,但有时对于某个具体的对象,要把它归到“渗透性好”或“渗透性差”却不容易。模糊数学用隶属度来描述这种情况,即用数值来表示某对象属于某事物的程度,一个对象可以“属于”两类甚至两类以上事物,分别以两个隶属度描述它属于这两类事物的程度,这样,较合理地解决了这类问题。
当用模糊数学评价圈闭的含油气性时,即用一个向量来表示一个圈闭:
油气资源评价方法与实践
研究对象含k个圈闭,则用集合Ui来表示这个圈闭群:
油气资源评价方法与实践
n个地质因素在评价圈闭的含油气性中起的作用不同,各因素用一个权ai值表示其在评价中的作用大小:
油气资源评价方法与实践
每个地质因素用m个级别来表示其有利程度:
油气资源评价方法与实践
Ci是用整数表示的一种属性,其具体值依m不同而异。
当m=3时,C=[-1 0 1]
当m=5时,C=[-2-1 0 1 2]
当m=7时,C=[-3-2-1 0 1 2 3]
一个圈闭的某个地质因素用它对各属性的隶属度来表示(如表14-1)。
表14-1 地质因素各属性的隶属度表
对一个圈闭用n个变量来描述,每个变量的表述将转变为一个向量,而一个圈闭原来用一个向量表示,将变为用综合评价变换矩阵R表示:
油气资源评价方法与实践
用各地质因素的权和各圈闭的综合评价变换矩阵算出各圈闭的综合评价,这个计算过程称为合成:
油气资源评价方法与实践
式中h是样品号,Rh是第h号样品的综合评价变换矩阵,Bh是n(变量数)个数构成的向量,其各元素为
油气资源评价方法与实践
这里,○表示某种算法,这些算法都是由下列4种基本算法演化出来的(假设a、r为模糊集合中的两元素)。
1)a∨r=max(1,r)
2)a∧r=min(a,r)
3)a·r=ar
4)a⊕r=min(a,1+r)
按照这样合成得出一个样品向量,然后计算综合评价值(综合得分)D:
油气资源评价方法与实践
结果为一个数。各圈闭按其D值排队,就是这些圈闭的优劣排队。每采用一个合成法,就有一个B,相应有一个D值,就有一个排队,因为B的产生方法不同,各变量值所起作用不尽相同,同样的原始数据会有不同的排队结果。
14.4.4 神经网络计算方法
人工神经网络是指由大量与自然神经系统的神经细胞相类似的(人工)神经元互联而成的网络。
神经网络的结构和特性是由神经元的特性和它们之间的连接方式决定的。人工神经元之间通过互联形成网络。互联的方式称为连接模式。神经元之间的连接强度为连接权。当网络的连接权矩阵确定后,网络的连接模式也就确定了。
在人工神经网络中,信息处理过程或存贮知识的改变是通过修改神经元间的连接模式来完成的。这一修改过程称做神经网络的训练或学习。不同的权矩阵调整方式,就是不同的学习方式。
神经网络的学习和神经网络的结构没有一一对应的关系。不同的神经网络可以采用相同的学习算法进行训练;同一神经网络也可以采用不同的学习算法进行训练。
一般采用多层前向神经网络,用误差反传(BP)算法。
对于一个由3层组成的神经网络模型,第一层为输入层,第二层为中间层,第三层为输出层。第一层的神经元数为n,中间层的神经元数为1,第三层的神经元数为1。
第1层为输入层,由M个样品的n个神经元组成,约定第k个样品(圈闭)的输入,即第1层神经元为:xk1,xk2,…,xkn,相应的输出为Tk,其中,k为样品号,k=1,2,3,…,M,n为神经元数,在此可理解为自变量数。
第2层为隐层,其神经元数1是用户设定的,由x与权系数矩阵W2相乘算出,第k个样品的中间层为
油气资源评价方法与实践
F(t)采用S型(Signmoid)压缩函数:
油气资源评价方法与实践
为了能控制u的取值,把第一式改为:x0=-1,w0j=ξ,记
油气资源评价方法与实践
则第二式成为
t的值除与Wij,xi有关外,还与变量数n有关,为了让的值在0~1的范围内,就需要
油气资源评价方法与实践
给一个适当的ξ值。
中间层到输出层的计算与此相仿。只是它用另外一个W(矩阵)。
如果找到合适的W(两个W阵),则由输入的各样品的X算出各样品的y值应与原样品的输出值T相同或很接近。我们的任务就是要求这两个W阵。
油气资源评价方法与实践
开始的W阵是随机产生的。当然它算出各样品的y不会等于T。我们用E(W)来衡量它的偏差:
油气资源评价方法与实践
当E(W)<ε时,学习完成。当E(W)>ε时,就要修改两个W阵,让E(W)逐渐变小,就现在的这个模型(一共有3层,输出层只有一元)来说,修改W分两步,第一步修改由u计算y的W,第二步修改由x计算u的W。
油气资源评价方法与实践
油气资源评价方法与实践
这样,每次根据算出的y来指导修改两层的W阵,直至E(W)<ε,学习完成。
学习完成后,得到两个W阵,把待判样品的x向量按既定的模式计算可得各样品的y值,为具体对象的评价。
⑤ A*算法如何改进
十万火急:此改进的模糊C-此函数实现遗传算法,用于模糊C-均值聚类 %% A=farm(:,Ser(1)); B=farm(:,Ser(2)); P0=unidrnd(M-1); a=[
⑥ 改进型 Clock 算法和Clock 算法有何异同点
改良后的Clock算法
考虑到如果某一调入内存的页没有被修改过,则不必将它拷回到磁盘。于是在改进的Clock增加了一个M位, M=0 表示该页未被修改过。这样我们选择页面换出时,既要最近未访问过的页面,又要未被修改过的页面。其执行过程分一下三步:
第一步:从开始位置循环扫描队列,寻找A=0、M=O的第一类面,找到立即置换。另外,第一次扫描期间不改变访问位A。
第二步:如果第一步失败,则开始第二轮扫描,寻找A=0且M=1的第二类页面,找到后立即置换,并将所有扫描过的A都置0。
第三步:如果第二步也失败,则返回指针开始位置,然后重复第一步,必要时再重复第二步,此时必能找到淘汰页。
⑦ Floyd算法的改进
判断连通可以在输入时作一下预处理
Floyd已经是DP的思想了.
可以有些小优化.但求一个图中任意两点的最短路径目前只有o(n^3)的算法
⑧ 如何改进算法,提高程序效率
从根本上了解算法是怎么执行的,这样可以做到一通百通。
一般来说,降低时间复杂度是比较好的方法。 有时候,占用更多的内存可以帮助程序更快的运行。还有就是选用效率高的语言,例如C。
⑨ 鲍威尔方法的基本算法与改进算法的区别
鲍威尔基本算法的问题在于,可能发生退化问题,具体而言就是可能在某一环迭代中出现基本方向组线性相关的情况,这种情况下按新方向替代第一个方向的方法进行替换,就会导致搜索在降维的空间中进行,无法得到原本n维空间的函数极小值,计算将失败。
而改进的方法和原来方法本质区别在于替换方向的规则不同。改进的方法,能够保证每轮迭代中搜索方向都线性无关,而且随着迭代的延续,共轭的程度会逐渐增加。
具体展开比较复杂,简单来说就是每次产生了新生方向,都要判断一下这个方向好不好,如果不好就不换进来;如果觉得这个方向好,就看一下旧方向中哪个函数下降量最大,把这个下降量最大的方向替换掉。
⑩ 如何改进此算法,使得算法效率提高
voidDeletaz(ElemTypex)
{
inti=0,j;
while(i<length&&elem[i]<x)i++;
if(i==length)cout<<”X不存在”<<endl;
else{
while(elem[i]==x)
{n++;i++;}//关键在这里
for(j=i;j<length-1;j++)
elem[j-n]=elem[j];
length=length-n;
}
}
解析:这里用了一个变量n,可以更好的解决连续出现x的情况,你可以想一下,假设数据是{1,2,x,x,x,3,3,3},按照原先的代码,连续的3个x需要连续3次运行
for(j=I;j<length;j++)elem[j]=elem[j+1];
length--;
而此处则仅需要一次,相对而言提高了效率,但是这也不是绝对的,比如:如果所有的x都不是连续出现的,那么这两个代码没什么区别!