概率算法

概率算法有以下基本特征:

     (1)概率算法的输入包括两部分,一部分是原问题的输入,另一部分是一个供算法进行随机选择的随机数序列。
     (2)概率算法在运行过程中,包括一处或多处随机选择,根据随机化来决定算法的运行算法的运行路径。
     (3)概率算法的结果不能保证一定是正确的,但能限制其出错概率。
     (4)概率算法在不同的运行过程中,对于相同的输入实例可以有不同的结果,因此,对于相同的输入实例,概率算法的执行时间可能不同。

概率算法大致分为4类:
数值概率算法、蒙特忙罗(Monte Cam)算法、拉斯维加斯(LasVegas)算法和舍伍德(Sherwood)算法。

(1)数位概率算法。数值概率算法常用于数值问题的求解。这类算法得到的往往是近似解,且近似解的精度随计算时间的增加不断提高。在多数情况下,要计算出问题的精确是不可能的或者是没有必要的,因此用数值概率算法可得到相当满意的解。

(2)蒙特卡罗算法。蒙特卡罗算法用于求问题的精确解。用蒙特卡罗算法能求得间距的个解,但这个解未必是正确的。求得正确解的概率依赖于算法所用的时间,算法所用的时间越多,得到正确解的概率就越高。蒙特卡罗算法的主要缺点也在于此,一般情况下,无法有效地判定所得到的解是否肯定正确。
(3)拉斯维加斯算法。拉斯维加斯算法不会得到不正确的解。一里用拉斯维加斯算法找到一个解,这个解就二定是正确解。拉斯维加斯算法找到正确解的概率随它所用的计算时间的増加而提高。对于所求解问题的任一实例,用同一拉斯维加斯算法反复对该实例求解足够多次,可使求解失效的概率任意小。

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

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