首页 理论教育 计算机算法:通过重复迭代达到平衡状态

计算机算法:通过重复迭代达到平衡状态

时间:2023-06-17 理论教育 版权反馈
【摘要】:最终,当减少值被添加值所抵消,该算法达到了一个平衡状态。同样是这个算法,还可以用如下等价的方式来表述:1)选取一个数值y;2)用y+0.2·(1-y)来替代原来的y;3)如此重复。图2-8 重复一个简单算法的结果排出水池以使得注水量和排水量再次保持一直从而达到稳定。用y来表示第k次计算时得到的数值。从y开始,然后是y=0.8·y+0.2,当进行到第k+1次运算时,y(k+1)=0.8·y+0.2。

计算机算法:通过重复迭代达到平衡状态

让我们考虑如下的过程,或者叫算法

1)选取一个数值y

2)用0.8y+0.2来替代原来的y

3)如此重复。

选取初值y=0.2以及y=3,最初的几次迭代结果如图2-8所示。

这里的时间就是算法进行的次数。每次迭代产生的y值看作是一个信号。如果不考虑这个信号是离散的,那么它的图形与如图2-6所示是很相像的。这个算法最终将达到一种平衡,或者说是稳定的状态。事实上,如果我们重复这个算

这个结果明显与烤箱水池类似。每一次这个流程的视线,结果数值都会成比例地减少,乘以因数0.8(类似于流失出去),而后又被常数+0.2添加回去(类似于施加的能量或者注入的水量)。最终,当减少值被添加值所抵消,该算法达到了一个平衡状态。明显,当达到平衡时,数值1流失成为0.8,而后又被添加了0.2,最后重新变为1。

这里也有一个明显的区别,烤箱内的温度或者水平面都是连续变化的,而该算法产生的数值则是离散的。不过我们目前可以将两者看作是类似的。

同样是这个算法,还可以用如下等价的方式来表述:

1)选取一个数值y;(www.xing528.com)

2)用y+0.2·(1-y)来替代原来的y(这个式子等于0.8y+0.2,因此算法本质上并没有改变);

3)如此重复。

通过这种表述方式,这个流程就更为接近电容器一例中所阐述的事情。每一次执行该算法,y都会增加0.2·(1-y),而电容器中的电量也是按照电源供电电压与电容器现有电压的差值增加一定比例。当y等于电源供电电压值等于1的时候,增长过程就停止了。

我们注意到,对于任意比1大的初始值,0.2·(1-y)就是一个负数,因而数值会减少到1。尽管这并不是我们在物理过程中所描述的,我们仍然可以发现这一过程是可以应用到这些例子上的。如果一开始水平面比平衡值要高(比如我们事先在下水道上塞上了塞子),那么排水量就会比注水量要大,因此水会法,那么每一次迭代都会使数值更接近1,相邻两次迭代的差值单调递减。并且不难发现,如果我们最初选取y=1,那么信号将一直持续为常数1,因为0.8+0.2=1。这两个性质表现了我们所说的(常值)稳定状态或者平衡状态。

978-7-111-59038-5-Chapter02-8.jpg

图2-8 重复一个简单算法的结果

排出水池以使得注水量和排水量再次保持一直从而达到稳定。类似地,如果烤箱内一开始就存在比平衡温度要高的空气,那么将会有更多的热量散失,这个损失的热量要比加热所给予的热量要大,烤箱内的温度就会慢慢降低,这个过程将一直持续到加热和散热平衡,最终达到常数。

这一算法还可以表示为另一种形式,从而更加清晰地反映数值是如何稳定到1的。用yk)来表示第k次计算时得到的数值。从y(0)开始,然后是y(1)=0.8·y(0)+0.2,当进行到第k+1次运算时,yk+1)=0.8·yk)+0.2。也可以写作(yk+1)-1)=0.8·(yk)-1)。可以看出,每次迭代后yk)与1的差值都减少了因数0.8。现在我们清楚地看到,yk)最终[6]会达到数值1。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈