蒙特卡罗方法

蒙特卡罗方法

首先蒙特卡罗方法并不是一种算法的名称,而是一类随机方法的统称

例子

一个经典的例子就是计算圆周率 π \pi π,如下图所示,我们想要计算圆周率,只需要在图上随机取很多点,然后利用落在圆上点的个数来计算出圆周率。可以看出,取的点的个数越多,其结果约接近于真实值,这就是蒙特卡洛的思想。即:采样越多,越接近真实解
计算圆周率
根据公式可以计算得出: π 4 = 落 在 圆 内 点 的 个 数 总 的 点 个 数 \frac{\pi}{4} = \frac{落在圆内点的个数}{总的点个数} 4π=其pyhton代码实现如下:

import random

total_count = 50000
in_count = 0

for i in range(total_count):
    x = random.random()
    y = random.random()

    distant = (x**2 + y**2)**0.5
    if distant <= 1:
        in_count += 1

print('π:', 4*in_count/total_count)

输入结果为:
π: 3.14728

蒙特卡罗树搜索(MTCS)可以看我另一篇文章点击这里

计算机博弈理论的研究希望计算机能够像人一样、思维、判断和推理,并能够做出理性的决策。棋类博弈由于规则明确、竞技性高,且人类选手往往胜于计算机等原因,在计算机博弈理论的研究过程中一直受到重要关注和深入的探讨,并促进了计算机博弈理论的发展。传统的基于博弈树搜索和静态评估的博弈方法在国际象棋、中国象棋等棋类项目中获得了明显的成功,该类项目的盘面估计与博弈树搜索过程相对独立,棋子在盘面中的作用相对明确,且棋局中的专家规则相对较为容易概括和总结。 然而传统的博弈理论在计算机围棋博弈中遇到了明显的困难:围棋具有巨大的搜索空间;盘面评估与博弈树搜索紧密相关,只能通过对将来落子的可能性进行分析才能准确地确定棋子之间的关系;与此同时,高层次的围棋知识也很难归纳,归纳之后常有例外,并且在手工构建围棋知识和规则的过程中常会出现矛盾而导致不一致性。这些独特的因素为围棋及拥有类似性质的计算机博弈问题研究带来了新的挑战。 从2006年开始,计算机围棋博弈的相关研究有了跨越式的发展,基于蒙特卡罗模拟的博弈树搜索算法获得了重要的成功,并开始逐步引领计算机博弈理论研究的方向。在本章,我们将介绍蒙特卡罗博弈理论及其在围棋等棋类博弈中的应用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值