蒙特卡洛
Last updated
Was this helpful?
Last updated
Was this helpful?
蒙特卡洛模拟是一种统计学的方法,用来模拟大量数据,使其符合某种分布。
蒙特卡洛模拟是在二战期间,当时在原子弹研制的项目中,为了模拟裂变物质的中子随机扩散现象,由美国数学家冯·诺伊曼(学计算机的同学都知道这位冯同志的大名,人称“计算机之父”)和乌拉姆等发明的一种统计方法。之所以起名叫蒙特卡洛模拟,是因为蒙特卡洛在是欧洲袖珍国家摩纳哥一个城市,这个城市在当时是非常著名的一个赌城。因为赌博的本质是算概率,而蒙特卡洛模拟正是以概率为基础的一种方法,所以用赌城的名字为这种方法命名。link
一种以概率统计理论为指导的数值计算方法。是指使用随机数(或更常见的伪随机数)来解决很多计算问题的方法。
蒙特卡罗算法:采样越多,越近似最优解; 拉斯维加斯算法:采样越多,越有机会找到最优解;
两个步骤:
不断的抽样
逐渐逼近
举例1:用蒙特卡洛算法估算圆周率π
前提:需要一个产生均匀分布的随机数。
举例2:计算积分面积
随机打点
计算打点是否在积分区域
即可得到积分区域的面积占总面积的比例,乘以总面积即得积分面积
机器下棋的算法本质都是搜索树,围棋难在它的树宽可以达到好几百(国际象棋只有几十)。在有限时间内要遍历这么宽的树,就只能牺牲深度(俗称“往后看几步”),但围棋又是依赖远见的游戏,甚至不仅是看“几步”的问题。所以,要想保证搜索深度,就只能放弃遍历,改为随机采样——这就是为什么在没有MCTS(蒙特卡罗搜树)类的方法之前,机器围棋的水平几乎是笑话。而采用了MCTS方法后,搜索深度就大大增加了。link