python蒙特卡洛算法模拟赌博模型
sklearn实战-乳腺癌细胞数据挖掘
https://study.163.com/course/introduction.htm?courseId=1005269003&utm_campaign=commission&utm_source=cp-400000000398149&utm_medium=share

蒙特卡洛与赌博模型
蒙特卡洛_赌博模型

来,先谈一部电影!
《决胜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蒙特卡洛算法模拟赌博模型的更多相关文章
- python蒙特卡洛脚本模拟—挑战者号爆炸概率
python机器学习-乳腺癌细胞挖掘(博主亲自录制视频) https://study.163.com/course/introduction.htm?courseId=1005269003& ...
- [其他] 蒙特卡洛(Monte Carlo)模拟手把手教基于EXCEL与Crystal Ball的蒙特卡洛成本模拟过程实例:
http://www.cqt8.com/soft/html/723.html下载,官网下载 (转帖)1.定义: 蒙特卡洛(Monte Carlo)模拟是一种通过设定随机过程,反复生成时间序列,计算参数 ...
- 利用Python中的mock库对Python代码进行模拟测试
这篇文章主要介绍了利用Python中的mock库对Python代码进行模拟测试,mock库自从Python3.3依赖成为了Python的内置库,本文也等于介绍了该库的用法,需要的朋友可以参考下 ...
- 【转】利用Python中的mock库对Python代码进行模拟测试
出处 https://www.toptal.com/python/an-introduction-to-mocking-in-python http://www.oschina.net/transla ...
- Metropolis 采样与蒙特卡洛算法
Metropolis 算法又叫 Metropolis 抽样,是模拟退火算法的基础,在早期的科学计算中蒙特卡洛方法(Monte Carlo)是对大量原子在给定温度下的平衡态的随机模拟,当蒙特卡洛算法计算 ...
- 数学建模python matlab 编程(疾病传播模型)
例12:一只游船上有800(1000)人,一名游客不慎患传染病,12(10)小时后有3人发病,由于船上不能及时隔离,问经过60(30)小时,72小时,患此病的人数.(与人口模型和Logistic模型类 ...
- Python基础算法综合:加减乘除四则运算方法
#!usr/bin/env python# -*- coding:utf-8 -*-#python的算法加减乘除用符号:+,-,*,/来表示#以下全是python2.x写法,3.x以上请在python ...
- Python使用mechanize模拟浏览器
Python使用mechanize模拟浏览器 之前我使用自带的urllib2模拟浏览器去进行訪问网页等操作,非常多站点都会出错误,还会返回乱码.之后使用了 mechanize模拟浏览器,这些情况都没出 ...
- xsank的快餐 » Python simhash算法解决字符串相似问题
xsank的快餐 » Python simhash算法解决字符串相似问题 Python simhash算法解决字符串相似问题
随机推荐
- Thunder-Final冲刺中间产物-2017秋-软件工程第十二次作业
Thunder-Final发布中间产物(WBS&PSP) WBS: 分解方式:按照「爱阅」阅读器的实施过程分解 使用工具:visio 2013 PSP: PSP 预期时间 Planning 计 ...
- 关于 Java连接sql的转载
Java连接SQL Server 2000数据库时,有两种方法: (1)通过Microsoft的JDBC驱动连接.此JDBC驱动共有三个文件,分别是mssqlserver.jar.msutil.jar ...
- 安卓开发神器vysor+adb wifi
准备: 1.vysor需要FQ从google应用商店下载,装在google上,目前知道的免费的vysor的作用是电脑显示手机屏幕并且能操控手机. 步骤:FQ后就能下载了,FQ方法不赘述.
- Java 反射 不定参数bug
遇到的第一个关于反射的bug:java.lang.IllegalArgumentException: wrong number of arguments的问题解析如下: 1.错误bug wrong n ...
- java equals()方法的注意事项
1.在写代码的时候,我们有时候需要判断两个相同类的对象的值是否全部相等,很多人想到的就是equals()方法,但是equals方法真的是可以比较吗?其实equals方法比较的并不是两个对象的值,它只是 ...
- 【动态规划】POJ-3176
一.题目 Description The cows don't use actual bowling balls when they go bowling. They each take a numb ...
- vs2010调试-尝试调试dll源码。
第一步: 打开“调试”——“选项和设置”——点击调试下“常规”——设置启用“启用.NET Framework源代码单步执行 ” 第二步 选择“符号”——选择Microsoft符号服务器——设置符号缓存 ...
- 韩剧TV APP案例分析
产品 选择产品:韩剧TV 版本:Android版 选择理由:节假日坐车回家时使用较多次数的APP,刚好国庆坐车回家时正在使用,所以选择了这款APP. 第一部分:调研.评测 第一次上手体验 刚打开APP ...
- 51单片机,keilc51,如何使用data变量超过128怎么办
将堆栈指针SP指向128之后.如果你定义了数组.将数组定义为Idata.很难想象单个变量使用,你能用尽128个data类内存单元.如果真的用尽了,那只有将访问频率低的内存单元放到idata类去.总之, ...
- PAT 1147 Heaps
https://pintia.cn/problem-sets/994805342720868352/problems/994805342821531648 In computer science, a ...
