概率算法

概率算法大致分为4类:数值概率算法,蒙特卡洛算法,拉斯维加斯算法,舍德伍算法。

1、数值概率算法:常用于解决数值计算的问题。该算法往往只能得到问题的近似解,并且该计算解的精度一般随着计算时间的增加而不断提高。

例:设f(x)=1-x^2,计算定积分的值。

分析:要计算定积分的值的几何含义就是f(x)与x轴y轴所围得面积(设为阴影)。又因为x,y轴所围的面积为1,所以随机点落入阴影的概率(在上下线所围成的区域内)即为定积分的近似解。 
假设向单位正方形中随机投入n个点(xi,yi)i=1,2,3,…n。随机点是否落入阴影区域内,可由yi<=f(xi)=1-xi2来判断。如果有m个点落入阴影,则概率p=m/n。

2、蒙特卡洛算法:当所求解问题是某种随机事件出现的概率,或者是某个随机变量的期望值时,通过某种“实验”的方法,以这种事件出现的频率估计这一随机事件的概率,或者得到这个随机变量的某些数字特征,并将其作为问题的解。

3、拉斯维加斯算法:算法是一个能够保证输出结果为正确的随机化算法,因为它的正确性,使它成为适用情况下的首选算法。Las Vegas算法模型不允许错误的输出,但是它可以允许程序输出“?”结果,即“不知道结果正不正确”

4、舍德伍算法:舍伍德算法总能求得问题的一个解,且所求得的解总是正确的。当一个确定性算法在最坏情况下的计算复杂性与其在平均情况下的计算复杂性有较大差别时,可以在这个确定算法中引入随机性将它改造成一个舍伍德算法,消除或减少问题的好坏实例间的这种差别。舍伍德算法精髓不是避免算法的最坏情况行为,而是设法消除这种最坏行为与特定实例之间的关联性。

你可能感兴趣的:(算法)