摇骰子的学问——蒙特卡罗方法 摇骰子规则和叫法( 二 )


1. 如果不知道π值 , 也不知道圆的计算公式 , 有一个圆 , 怎么求面积?
一个布满了随机点的圆
蒙特卡洛方法说:简单 , 先在圆的外面画一个外接正方形 , 然后生成十万个点随机撒在在这个正方形内部 , 然后数一数多少个点在圆内部(计算每个点到圆心的距离 , 如果距离小于半径则代表在圆内部) , 然后用这个数除10万 , 再乘正方形面积就好了 。
2. 这里有一个诡异的函数 , 来求积分?
一个诡异的函数
蒙特卡洛方法说:简单 , 直接在这个区域内随机撒十万个点 , 数一数函数下方有多少个点(根据当前点的x值计算函数值y’和点的y值做对比 , y<y’则代表在函数下方) , 然后用这个数除10万 , 在乘区域面积就好了 。
3. 有一个机械产品是由10个零件堆起来的 , 要求整个厚度不超过30mm , 但是每个零件厚度都有一定概率出现误差 , 超出最大范围 , 请问整个产品最终的合格率能到多少?
蒙特卡洛方法说:简单 , 随机模拟10万次装配 , 每次装配的时候按照概率随机给每个零件产生误差 , 然后统计最终的厚度 , 把不超过30mm的统计为合格品 , 求比例即可 。
从上面几个例子 , 大家可以大概了解蒙特卡洛方法的思想了吧 , 去想想在自己的研究领域有没有应用价值和意义吧 。
四、番外篇
自从那次酒局过后 , 我好像突然发现了选研究生的诀窍 , 最近几年 , 碰到来找我的研究生 , 如果我对他知识背景不是太拿的准 , 我就会给他抛出去两道编程题 , 让他用两天时间求解 , 其中一道就是这个扔骰子求概率的 , 其实如果C底子好 , 稍微有点思路 , 完全可以在十几分钟之内解决掉这个问题 。遗憾的是 , 好几年了 , 也就碰到过一两个人能编程求解这个问题的 。


以上关于本文的内容,仅作参考!温馨提示:如遇健康、疾病相关的问题,请您及时就医或请专业人士给予相关指导!

「四川龙网」www.sichuanlong.com小编还为您精选了以下内容,希望对您有所帮助: