1.概率算法
ch1.基本概念
概率算法分类:
数字算法
MC算法(Monte Carlo):MC算法总是给出一个答案,但该答案未必正确,成功(即答案是正确的)的概率正比于算法执行的时间,缺点:一般不能有效地确定算法的答案是否正确
LV算法 (Las Vegas算法):获得的答案必定正确,但有时它仍根本就找不到答案。
Sherwood算法:Sherwood算法总是给出正确的答案。当某些确定算法解决一个特殊问题平均的时间比最坏时间快得多时,我们可以使用Sherwood算法来减少,甚至是消除好的和坏的实例之间的差别.
ch2 数字概率算法
π值计算问题
实验:将n根飞镖随机投向一正方形的靶子,计算落入此正方形的内切圆中的飞镖数目k。假定飞镖击中方形靶子任一点的概率相等(用计算机模拟比任一飞镖高手更能保证此假设成立) 设圆的半径为r,面积s1= πr2;方靶面积s2=4r2
解决方法: Darts (n) {
Darts (n) {
k ← 0;for i ← 1 to n do {
x ← uniform(0, 1);