蒙特卡洛_赌博模型

来,先谈一部电影!

《决胜21点》讲述了几位数学天才少年凭才智大闹赌城拉斯维加斯的故事。举世闻名的麻省理工,堪称是莘莘学子、科学天才们向往的圣地。作为有幸能到这里读书的新生,本·坎贝尔(吉姆·斯特吉斯饰)自然也有他的过人之处。的确,坎贝尔超常的数学运算才能在他进入麻省理工没多久就开始崭露头角。学院里讲授数学理论课程的米基·罗萨(凯文·史派西饰)更是一眼就看中了小伙子,并对其光明的未来充满了信心。经过短暂的接触之后,罗萨教授将这位数学天才介绍给他精心培养的另外几位数学高才生认识,并邀其加入一个由罗萨领导,由吉尔(凯特·波茨沃斯饰)、费舍(雅各布·皮特斯饰)等数学天才共同组成的“特殊团队”,专攻赌场上风行的“21点”游戏。运用他们对于数学的尖端认识和运算,在经验丰富的罗萨教授的指导下,轻松应对“21点”游戏中可能出现的各种局面,最终确保高频率地取胜纪录。

诶?听上去貌似都有点道理!您觉得呢?手指继续动,跟我继续看下去……

下面我开始数学建模,然后用蒙特卡洛模拟历史上最常见的几种赌博模型。

一 symplebedding system

数学天才可以在赌场春风得意,但普通人没这么好运气。因为第一赌场要抽成,首先让你不利,在大数定理面前,赌博次数越多,输钱概率就越大。所以赌场安排好了规则后,通常只做一件事,就是让你不停赌博。只要堵得次数越多,大数定理对你越不利。况且赌场指定规则并非5:5平等,赌客赢钱概率不到50%,不利因素还不止一个。

下面我用Python建立蒙特卡洛模型,模拟大数定理(赌博次数越多,输钱概率就越大)

纵坐标表示手里赌博金额,横坐标是赌博次数

起始赌金10000元,这里有一百条曲线,代表一百个赌徒,赌博次数为100次时,大概有50条曲线在10000元以上,50条曲线在10000元以下。这表示赢钱和输钱的人差不多。

仍然一百个赌徒,赌博次数增加到一千次,大多数曲线走势低于10000元,表示破产的人多于赢钱的人。赌博次数少时,大数定理不明显。赌博次数多时大数定理开始发挥作用。
simple_bettor(10000,100,1000)

随着赌博次数增加到一万次,赌博人数达到一千人,可以看到大数法则体现,绝大多数人都破产。

二 doublebedding system

伏尔泰的情妇,夏特莱侯爵夫人是个数学家和物理学家。夏特莱出身贵族,受过良好的教育。1733年以后,她同当时杰出的学者伏尔泰*建立了联系。她又是牟培尔堆*的亲密朋友之一。当时赌博在欧洲盛行,贵族也不例外。伯爵夫人提出了double
bedding system,即双倍法,这次输了,下次赌注加一倍,如果赢了就可以把上次输的钱捞回来。不幸的是夏特莱侯爵夫人的双倍法输光了所有钱,发生了著名的与伏尔泰私奔事件。

(Chatelet, Gabrielle-Emilie Le
Tonnelier de Breteuil,Marchioness du)

我用蒙特卡洛模拟后,发现伯爵夫的双倍法破产,破产率很高,赢钱率也不如simple。

三 D'AlembertStrategy

达朗贝尔(1717~1783)法国著名的物理学家、数学家和天文学家。1717年11月17日生于巴黎,1783年10月29日卒于巴黎。一生研究了大量课题,完成了涉及多个科学领域的论文和专著,其中最著名的有八卷巨著《数学手册》、力学专著《动力学》、23卷的《文集》、《百科全书》的序言等等。他提出的达朗贝尔赌博模型比较保守,不容易输钱,不会像夏特莱侯爵夫人把大量钱输的精光。

经过模特卡洛模拟发现
优点:破产率几乎为0
缺点:赢钱率不高,64%左右,赢的钱不多,做多10%左右

四 LabouchereSystem

那么,我们能找到一个优秀赌博算法模型嘛,能赢很多钱,赢得概率又大?答案是有的,看了皇家赌场007电影知道,英国政府机构派007詹姆士邦德去赢恐怖分子的钱。英国政府可不愿意输钱,他们为007定制了一套高胜率的算法,数学上成为Labouchere System。

单次Labouchere模拟Labouchere System for Gambling Tested

总赌金和赢取目标金额比例是1/10,胜率就有百分之90

总结,今天我用蒙特卡洛模拟了历史上常见几种赌博模型,由于专业性较强,赌博模型只是简单介绍,以后有机会可详细阐述。

在真实的赌场上,赌客持久赢钱概率很低。

现在赌场都是高科技行业,拥有较多数学工程师和计算机工程师,赌客无时无刻都被赌场设计的模型算计。

因此去赌场寻欢作乐还行,赢小钱还可以,想赢很多钱,嗯,看你运气了,

python蒙特卡洛算法模拟赌博模型的更多相关文章

  1. python蒙特卡洛脚本模拟—挑战者号爆炸概率

     python机器学习-乳腺癌细胞挖掘(博主亲自录制视频) https://study.163.com/course/introduction.htm?courseId=1005269003& ...

  2. [其他] 蒙特卡洛(Monte Carlo)模拟手把手教基于EXCEL与Crystal Ball的蒙特卡洛成本模拟过程实例:

    http://www.cqt8.com/soft/html/723.html下载,官网下载 (转帖)1.定义: 蒙特卡洛(Monte Carlo)模拟是一种通过设定随机过程,反复生成时间序列,计算参数 ...

  3. 利用Python中的mock库对Python代码进行模拟测试

    这篇文章主要介绍了利用Python中的mock库对Python代码进行模拟测试,mock库自从Python3.3依赖成为了Python的内置库,本文也等于介绍了该库的用法,需要的朋友可以参考下     ...

  4. 【转】利用Python中的mock库对Python代码进行模拟测试

    出处 https://www.toptal.com/python/an-introduction-to-mocking-in-python http://www.oschina.net/transla ...

  5. Metropolis 采样与蒙特卡洛算法

    Metropolis 算法又叫 Metropolis 抽样,是模拟退火算法的基础,在早期的科学计算中蒙特卡洛方法(Monte Carlo)是对大量原子在给定温度下的平衡态的随机模拟,当蒙特卡洛算法计算 ...

  6. 数学建模python matlab 编程(疾病传播模型)

    例12:一只游船上有800(1000)人,一名游客不慎患传染病,12(10)小时后有3人发病,由于船上不能及时隔离,问经过60(30)小时,72小时,患此病的人数.(与人口模型和Logistic模型类 ...

  7. Python基础算法综合:加减乘除四则运算方法

    #!usr/bin/env python# -*- coding:utf-8 -*-#python的算法加减乘除用符号:+,-,*,/来表示#以下全是python2.x写法,3.x以上请在python ...

  8. Python使用mechanize模拟浏览器

    Python使用mechanize模拟浏览器 之前我使用自带的urllib2模拟浏览器去进行訪问网页等操作,非常多站点都会出错误,还会返回乱码.之后使用了 mechanize模拟浏览器,这些情况都没出 ...

  9. xsank的快餐 » Python simhash算法解决字符串相似问题

    xsank的快餐 » Python simhash算法解决字符串相似问题 Python simhash算法解决字符串相似问题

随机推荐

  1. js循环复制一个div

    <html> <head> <title>Test of cloneNode Method</title> <script type=" ...

  2. Cosplay之孩子的妈咪

    很荣幸的担任“孩子妈妈”的角色,站在父母的角度去思考怎样的一个四则运算的APP才算是符合要求,可以受到广大家长的喜爱.不外乎有这样一些功能:1.可以随时的给孩子出题目,而且可以很快的得出正确答案.分析 ...

  3. # 团队UML设计

    团队信息 学号 姓名 博客链接 124 王彬(组长) 点击这里 206 赵畅 点击这里 215 胡展瑞 点击这里 320 李恒达 点击这里 131 佘岳昕 点击这里 431 王源 点击这里 206 陈 ...

  4. Beta冲刺 (7/7)

    队名:天机组 组员1友林 228(组长) 今日完成:封装代码 明天计划: 剩余任务:优化网络通讯机制 主要困难:暂无 收获及疑问:暂无 组员2方宜 225 今日完成:优化了一部分活动 明天计划:剩余活 ...

  5. 1105 C程序的推导过程

  6. docker删除为<none>的镜像

    $ docker stop $(docker ps -a | grep "Exited" | awk '{print $1 }')  //停止容器      $ docker rm ...

  7. 通过session 怎么防止表单的重复提交!

    1.在提交表单的时候使用隐藏域: String tokenValue=new Date().getTime(); <input type="hidden" name=&quo ...

  8. pycharm安装jpype报错及解决方法

    安装jpype时发生报错: 按照提示去装了Microsoft visual C++,结果重新安装还是报错,根据https://blog.csdn.net/qq_38934189/article/det ...

  9. screen.height && screen.width

    screen.height && screen.width how to get window max width in js screen.height; screen.width; ...

  10. JavaWeb基础【1】—— Tomcat

    此笔记是学习黑马程序员JavaWeb系列视频的课堂笔记. 感谢黑马程序员. 一.Tomcat概述 Tomcat服务器由Apache提供,开源免费.由于Sun和其他公司参与到了Tomcat的开发中,所以 ...