MCMC蒙特卡洛算法
MCMC算法
蒙特卡罗方法又称统计模拟法、随机抽样技术,是一种随机模拟方法,以概率和统计理论方法为基础的一种计算方法,是使用随机数(或更常见的伪随机数)来解决很多计算问题的方法。
当所求解问题是某种随机事件出现的概率,或者是某个随机变量的期望值时,通过某种“实验”的方法,以这种事件出现的频率估计这一随机事件的概率,或者得到这个随机变量的某些数字特征,并将其作为问题的解。
个人浅见:随机数模拟+概率论=MCMC
示例:蒙特卡洛算法求积分
首先考虑如下积分
求如上积分就是求下图中阴影面积。
利用蒙特卡洛算法,随机模拟正方形中的点(Xi,Yi),其总数为n,若1/Xi大于等于Yi,则表示点(Xi,Yi)位于阴影面积内,满足这一条件的点个数为m。由概率论可知,
S=m/n*(2-1)*(1-0)
import random
max=10000000
def getPoint():x=random.uniform(1.0,2.0)y=random.uniform(0.0,1.0)p=(x,y)return p
def getResult():m=0n=maxfor i in range(n):p=getPoint()if(1/p[0]>=p[1]):m+=1return m/n*(2-1)*(1-0)
print(getResult())
Python中随机数的生成:
import random
random.randint(1,10) #产生1-10的一个随机整数
random.random() #产生[0,1)中的一个随机浮点数
random.uniform(1.1,3.2) #生成1.1到3.2间隔中的一个随机浮点数,区间可以不是整数
random.choice('beautiful') #从序列中随机选一个元素
random.randrange(1,100,2) #生成1到100间隔为2的一个元素
a=[1,2,3,4,5]
random.shuffle(a) #将序列a的元素打乱
MCMC蒙特卡洛算法相关推荐
- 蒙特卡洛算法及其实现
从今天开始要研究Sampling Methods,主要是MCMC算法.本文是开篇文章,先来了解蒙特卡洛算法. Contents 1. 蒙特卡洛介绍 2. 蒙特卡洛的应用 3. 蒙特卡 ...
- 蒙特卡洛算法具体是什么
蒙特卡洛算法是一种通过随机采样来计算数学问题的方法,通常用于处理复杂.高维度的问题.它的基本思想是通过随机抽样生成大量样本,根据样本的统计规律来估计问题的解. 在蒙特卡洛算法中,我们通常需要定义一个随 ...
- Python蒙特卡洛算法
一.什么是蒙特卡洛算法? 蒙特卡洛(Monte Carlo)法是一类随机算法的统称.随着二十世纪电子计算机的出现,蒙特卡洛法已经在诸多领域展现出了超强的能力.在机器学习和自然语言处理技术中,常常被用到 ...
- 马尔科夫链蒙特卡洛算法(python)
文章目录 1 蒙特卡洛算法 1.1 基本思想 1.2 蒙特卡洛积分 1.2.1 求π\piπ 1.2.2 求积分 1.2.2.1 一维积分 1.2.2.2 高维积分 1.3 蒙特卡洛期望估计 1.4 ...
- matlab碎纸拼接相似函数,基于蒙特卡洛算法构建能量函数的碎纸图片拼接方法
基于蒙特卡洛算法构建能量函数的碎纸图片拼接方法 [专利摘要]本发明提供了一种基于蒙特卡洛算法构建能量函数的碎纸图片拼接方法,主要涉及双面打印文件的拼接及复原问题,通常由于图片较多,信息量较大,故通常为 ...
- java中使用几率_Java中使用蒙特卡洛算法计算德州扑克成牌概率(二)- 计算牌面分值...
德州扑克中比较重要的一个算法就是计算牌面的得分,不仅仅关乎概率计算的结果,同时也需要很高的性能.蒙特卡洛算法计算的次数越多结果越准确,因此算法的性能至关重要.下面是一个高性能的牌面java计算算法. ...
- python实现蒙特卡洛算法_用Python实现基于蒙特卡洛算法小实验
用Python实现基于蒙特卡洛算法小实验 蒙特卡洛算法思想 蒙特卡洛(Monte Carlo)法是一类随机算法的统称,提出者是大名鼎鼎的数学家冯· 诺伊曼 ,他在20世纪40年代中期用驰名世界的赌城- ...
- Metropolis 采样与蒙特卡洛算法
Metropolis 算法又叫 Metropolis 抽样,是模拟退火算法的基础,在早期的科学计算中蒙特卡洛方法(Monte Carlo)是对大量原子在给定温度下的平衡态的随机模拟,当蒙特卡洛算法计算 ...
- 从伪随机数的产生到高大上的蒙特卡洛算法(C语言实现)
一 准备 1 生成任意区间任意大小的伪随机数 2 什么是蒙特卡洛算法 二蒙特卡洛算法的实现 1 pi的蒙特卡洛计算方式 2 特殊图形的蒙特卡洛计算方式 通过这篇短文想说明两个道理: 看似高大上.神秘兮 ...
- python实验原理_Python实现蒙特卡洛算法小实验过程详解
蒙特卡洛算法思想 蒙特卡洛(Monte Carlo)法是一类随机算法的统称,提出者是大名鼎鼎的数学家冯·诺伊曼,他在20世纪40年代中期用驰名世界的赌城-摩纳哥的蒙特卡洛来命名这种方法. 通俗的解释一 ...
最新文章
- 【放置奇兵】新版公会战问题
- httpclient发起https请求以及获取https返回内容
- Nginx支持比Apache高并发的原因
- .NET Conf 2019 今天在上海开幕,图片直播地址
- 电脑任务管理器快捷键_电脑知识小常识
- 计算机英语 传输介质,计算机英语实用教程unit7
- ASP.NET Core 2.0使用Log4net实现记录日志功能
- linux 查找文件 locate,linux文件查找(find,locate)
- Bailian3721 和数【标记】
- 【华为认证】HCIA-DATACOM史上最全精选题库(附答案解析)
- 计算机技术在中医领域的应用,计算机技术在中医药领域的应用概况.doc
- 国内服务器带宽价格是多少?国内服务器带宽为什么贵?
- 部署asp.net mvc_在ASP.NET 2.0上部署ASP.NET MVC
- VOT2021比赛简介
- BLE MESH----Mesh beacons
- 新浪出输入法了,深蓝词库转换更新到1.3.1——增加对新浪拼音输入法的支持...
- Anaconda安装使用
- modprobe命令介绍
- 费城交响乐团将于5月16日至28日开启2019年中国巡演之旅
- 1.初始Hadoop大数据技术