随机算法之蒙特卡罗算法

说到蒙特卡罗算法,就不得不提一下外国人的中文译名

如果像高斯或者牛顿还好,大家都认识,但是光交汤姆的外国人不说过千万,起码百万还是有的,很容易混淆的,打字的时候,经常出现蒙特卡洛与蒙特卡罗

其实这个算法的思想是比较简单的

一个最经典的例子就是:

100个苹果,要你找出最大的,你只能随机摸,摸到了一个如果比你上一个大,就保留这个苹果,如果小就放回去

显然,摸的次数越多,就会越来越接近最大的,也即最优解,当然摸的过程中手中的苹果越来越大,自然得到的解也越来越优。

(可能有人会说,为什么要把小的放回去,其实你可以想想对于一般规模的问题,其巨大的解空间,你就是去除了部分空间也是没有用的,

就像如果这里给你10亿个苹果,你只能摸10万次,你说放回去有意义吗?

而且你还要重新开辟空间,存储这些小苹果,对于随机来说,这样做是完全没有必要的,因为10亿分之一与(10亿-10万)分之一有区别么?)

然后是关于偏真蒙特卡罗算法,这个感觉似乎也不是很懂,但是很多算法书上也提到这个 ,我觉得其应该是就某类问题的一些变种

大约就是只要求出一个符合要求的解即可,而不是在解空间里寻找最优解

这个概念后续有空补充完整

posted @ 2018-06-28 11:18  沉默的赌徒  阅读(1441)  评论(0编辑  收藏  举报