概率算法


概率算法:


1. 随机数。 

应用: 抛硬币,统计频率。


2. 数值概率算法。

应用: 随机投点,计算π值。

随机投点,计算定积分。

平均值法,计算定积分。

解非线性方程组。


常用于 数值问题的求解。 往往求的是  近似解 。近似解的精度随计算时间的增加而不断提高。


3.舍伍德算法:


排序算法中,枢轴元素,选用拟中位数  可以保证 最坏情况下用线性时间 完成么

采用划分数组第一个元素作为划分基准的话,最坏情况下需要要O(n^2) , 平均较好。。。。

舍伍德选择算法则随机地选择一个数组元素作为划分基准,这样既保证算法的线性时间平均性能,又避免了计算拟中位数的麻烦。

例子详见:

http://blog.csdn.net/liufeng_king/article/details/9038771

另,如果事先把要排序的元素打乱,就不需要 舍伍德 了。

就是 所谓的 随机洗牌。 可看下面的代码:

随机洗牌算法:  http://blog.chinaunix.net/uid-20775243-id-2555001.html


另,  0045算法笔记——【随机化算法】舍伍德随机化思想搜索有序表  


舍伍德改进快速排序 http://www.2cto.com/kf/201305/212296.html

舍伍德算法总能求得问题的一个解,且所求得的解总是正确的。

当一个算法的最坏复杂度 与 平均复杂度 相差较大时,可在 其中 引入 随机性,将其改造成一个 舍伍德算法, 用以消除 好坏实例间的差别。

 

4.拉斯维加斯算法。


该算法不会得到不正确的解。 but' 它 可能找不到解。


应用 :n后 问题

之前回溯法是 系统性的搜索棋盘,找一个合适的位置。

采用拉斯维加斯算法,可以给每个皇后 随机性的选择一个位置,然后,判断这个皇后可否放在此(剪枝?)

此方法,一旦发现一个皇后无法正确放置,就要重新开始。

改进: 选取 m 个皇后 随机放置, 后面的 利用 回溯法 找合适位置。  其中,m越大,后面回溯所需时间越小,失败概率越大。


5. 蒙特卡罗算法。 


用于求解问题的【准确解】。 但 无法 有效 判断 该解 是否肯定正确。

这个写的不错 http://hi.baidu.com/yangkunarsenal/item/d52895f5d599a70984d27887


在围棋中的应用   http://blog.csdn.net/lanphaday/article/details/2387034

http://blog.tianya.cn/blogger/post_show.asp?BlogID=1992967&PostID=17179181  

艾玛 好多 好复杂的样纸  先放链接 改天在看

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值