收藏 分享(赏)

随机算法比较.doc

上传人:精品资料 文档编号:10043143 上传时间:2019-10-01 格式:DOC 页数:4 大小:49.50KB
下载 相关 举报
随机算法比较.doc_第1页
第1页 / 共4页
随机算法比较.doc_第2页
第2页 / 共4页
随机算法比较.doc_第3页
第3页 / 共4页
随机算法比较.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

1、问题:对比舍伍德算法、拉斯维加斯算法、蒙特卡洛算法的适用范围以及它们的优缺点。一、舍伍德算法: 特点舍伍德算法总能求得问题的一个解,且所求得的解总是正确的。当一个确定性算法在最坏情况下的计算复杂性与其在平均情况下的计算复杂性有较大的差别时,可在这个确定性算法中引入随机性将它改造成一个舍伍德算法,消除或减少问题的好坏实例间的这种差别。舍伍德算法的精髓不是避免算法的最坏情形行为,而是设法消除这种最坏情形行为与特定实例之间的关联性。舍伍德算法不会从整体上或平均的改善问题求解的时间复杂度,但可以对一些特别耗时的特定输入改善至较适中的时间复杂度。设 A 是一个确定性算法,当它的输入实例为 x 时所需的计

2、算时间记为 tA(x)。设 Xn 是算法 A 的输入规模为 n 的实例的全体,则当问题的输入规模为 n 时,算法 A 所需的平均时间为 这显然不能排除存在 xXn 使得 tA(x)tA(n)的可能性。 希望获得一个概率算法 B,使得对问题的输入规模为 n 的每一个实例均有 这就是舍伍德算法设计的基本思想。当 s(n)与 tA(n)相比可忽略时,舍伍德算法可获得很好的平均性能。 适用范围:1. 快速排序算法2. 线性时间选择算法上述两算法选择合适的划分基准,舍伍德算法随机地选择一个数组元素作为划分基准,这样既能保证算法的线性时间平均性能,又避免了计算拟中位数的麻烦。 nAxXATTABTxns3

3、. 搜索有序表利用数组的小标的索引性质,可以设计一个随机化搜索算法,以改进算法的搜索时间复杂性。即随机抽取数组元素若干次,从较近搜索元素 x 的位置开始做顺序搜索。4. 跳跃表在跳跃表中随机增加附加指针,以及在该结点处应随机增加指针。二、拉斯维加斯算法: 特点:拉斯维加斯算法不会得到不正确的解。一旦用拉斯维加斯算法找到一个解,这个解就一定是正确解。与蒙特卡罗算法类似,拉斯维加斯算法找到正确解的概率随着它所用的计算时间的增加而提高。但对所求解的问题,用同一个拉斯维加斯算法反复求解多次,可以使得求解失效的概率任意小。拉斯维加斯算法能显著改进算法的有效性。甚至于对某些迄今为止找不到有效算法的问题,也

4、能得到满意的结果。拉斯维加斯算法的一个显著特征是它所做出的随机性决策有可能导致算法找不到所需的解。因此通常用一个 bool 型函数来表示拉斯维加斯型算法。当算法找到一个解时返回 true,否则返回false。拉斯维加斯算法的典型调用形式为 bool success=LV(x,y);其中 x 是输入参数;当 success 的值为 true 时,y 返回问题的解。当 success 的值为 false 时,算法未能找到问题的解。此时可以对同一实例再次独立的调用相同的算法。 适用范围:1. n 后问题在棋盘上相继的各行中随机地放置皇后,并且注意使新放置的皇后与已放置的皇后互不攻击,直至 n 个皇后

5、均已经相容地放置好,或已没有下一个皇后的可放置位置为止。2. 整数因子分解3. 字符串匹配基于哈希计算的字符串匹配算法是拉斯维加斯型概率算法,母串的子串与模式串的哈希值相等时并不能保证匹配成功,而需要用朴素的方式进行验证三、蒙特卡罗算法: 特点:蒙特卡罗算法总能得到问题的答案,但偶尔会产生不正确的答案。有时并不能判断给出的答案是否正确。不存在任何近似解答。重复运行算法使得产生不正确解的概率任意小。在实际应用中,我们常会遇到一些问题,不论是采用确定性的算法亦或者是随机算法都无法保证每次都能得到正确的解。蒙特卡罗算法则在一般情况下可以保证对问题的所有实例都以高概率给出正确的解,但是通常无法判断一个

6、具体解是否正确。设 p 是实数,且 。如果一个蒙特卡罗算法对于问题12p的任意实例得到正确解的概率不小于 p,则称该蒙特卡罗算法是 p 正确的。且称 是该算法的优势。如果对同一实例,蒙特卡罗算法不会给出两个不同21p的正确答案,则称该蒙特卡罗算法是一致的。对于一致的 p 正确的蒙特卡罗算法,要提高获得正确解的概率,只要执行该算法若干次,并选择出频次最高的解即可。 适用范围:1. 主元素问题2. 素数测试3. 二次探测4. 费马定理舍伍德算法 拉斯维加斯算法 蒙特卡罗算法优点 一个正确解 尽量消除这种最坏情形与特定实例之间的关联性 对实例的计算时间复杂性均匀 找到的解一定是正确解 显著改善算法的有效性 用于求问题的准确解 算法耗时越多,正确解概率越高缺点 不会改善整体平均时间复杂度可能找不到解 得到的解可能不正确

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报