首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

VBA新手教程:抽卡模拟实战(3)

所以今天咱们就来实际解决一个问题:蒙特卡洛法实现简易模拟抽卡功能! 复习一下 复习个屁都鸽了一个多月了,忘了之前讲啥了,自己翻翻前面的都不难!...今天小目标 (喜爱炉石小朋友看过来) 做一个预测抽卡功能:假设所有的卡种类数为S,抽取每张卡概率是一定即1/S,想求在有放回抽取了N张卡后,获得的卡种类期望X是多少。...我猜此刻数学系小伙伴儿已经带着一脸不屑拿起笔开始算了,好,咱们比谁快! 正经教程开始 蒙特卡洛法 蒙特卡罗法也称统计模拟法、统计试验法。是把概率现象作为研究对象数值模拟方法。...我们在Dim 手() as integer,定义是一个非固定数组,所以在Erase这个数组,会重置到这个最开始定义情况,数组长度就变为了0,所以需要重新redim一下数组长度。 ?...蒙特卡洛法结论:经过1000次模拟,在卡片种类在100种情况下,每次抽取100张卡平均会得到63.322种不同类型的卡。 ? 演示结果 6、其他模拟条件可以随意更改。 ? 演示结果 ?

69711

R语言 蒙特卡洛模拟计算π

蒙特卡洛法基本思想是:为了求解问题,首先建立一个概率模型或随机过程,使它参数或数字特征等于问题解:然后通过对模型或过程观察或抽样试验来计算这些参数或数字特征,最后给出所求解近似值。...解精确度估计值标准误差来表示。蒙特卡洛法主要理论基础是概率统计理论,主要手段是随机抽样、统计试验。...蒙特卡洛法求解实际问题基本步骤为: 根据实际问题特点.构造简单而又便于实现概率统计模型.使所求解恰好是所求问题概率分布或数学期望; 给出模型中各种不同分布随机变量抽样方法; 统计处理模拟结果...,给出问题解统计估计值和精度估计值。...考虑平面上一个边长为1正方形及其内部一个形状不规则“图形”,如何求出这个“图形”面积呢?

1.7K30
您找到你想要的搜索结果了吗?
是的
没有找到

强化学习系列案例 | 蒙特卡洛方法实现21点游戏策略

本案例将介绍基于蒙特卡洛强化学习基本思想,并求解智能体21点游戏策略。...另一种类型是所求解问题可以转化为某种随机分布特征数,比如随机事件出现概率,或者随机变量期望值。...,玩家获胜;若两方点数相同,则为平局;具体点数计算规则如下: 1.2到10点数就是其面的数字 2.J,Q,K三种均记为10点 3.玩家A(Ace)可以当作1点,也可以当作11点,11点称为“可用...策略 -soft策略,玩家在某状态下,选择要(stick)还是停(hit)概率。... pandas as pd 空字典创建一个Q表,用于存储Q(s,a): q_table = {} 设置探索率为0.2,并创建空字典作为策略表,存储在状态s下选择动作a概率: explore_rate

1.6K20

概率入门:双色球中奖、购车摇号中签和德扑同花顺,哪个更容易?

中签概率多大呢?有人想到直接20000÷1420000就是自己中签概率。但是为什么是这么求呢?有理论依据吗?我们试着推导一下。...按照这种扔骰子方法来,假设我们有个3面的骰子(其实真的是没办法做出一个3个面的等概率骰子,我们就当真的能做出来好了)。第一次我被骰子选中概率为1/3,还有2/3是没被选中概率。...仍然扔骰子方法来,同理: 第一次,选中概率为1/6,没选中概率为5/6,现在该换5面的骰子了。 第二次,选中概率为1/5,没选中概率为4/5,现在该换4面的骰子了。...以黑桃为例,假设A~5组成同花顺,黑桃6是不能,还剩下46张可以组合,则这种情况下组合数量这样计算 =46×45/(2×1)=1035 2~6组成同花顺,7是不能,A可以(...一旦是5个人,10个人时候就大不相同了,有一点是确定,人越多公共和其他玩家一起组成种类可能性也越多,“罕见组合”在一局中出现可能性也比一个人自己摸牌要高很多,请一定注意哦。

1.5K30

对称思维妙用之从解题到本质(一)——巴格拉斯效果发生概率

巴格拉斯效果发生概率 巴格拉斯效果是扑克魔术里里程碑式效果,基本过程是观众随便说一张扑克名字和一个1~54数字,然后在不碰情况下,数到那么多张后恰好就是那张。...这里均匀分布翻译观众随机选择,其实就是高中所说古典概型公理(连续变量叫几何概型),随机排列则代表魔术师听天由命,随意拿了一副上场就表演,这也是基于最大熵模型公设前提下分布结论。...沿着这个思路,我们甚至可以直接写出计算式p(C[n] = m) = 1 / 54,因为不仅随机排列没用,就连观众选位置都没有用,因为任何位置上每张出现概率都是1 / 54,这一点只需要叠和位置选择有一个是独立于另一个均匀分布即可...这个问题其实还相对简单,也只是杀鸡牛刀方式向大家展示剔除对求解无用对称变量这一对称思路解题方法,下一讲,我们继续几个稍微复杂问题,敬请期待。...我们是谁: MatheMagician,中文“数学魔术师”,原指用数学设计魔术魔术师和数学家。既取其数学来变魔术本义,也取像魔术一样数学意思。

39420

建模 python_整数规划建模例题

Python之建模规划篇--整数规划 基本介绍 整数规划分类 整数规划特点 求解方法分类 0 - 1 型整数规划 蒙特卡洛法 (随机取样法) 整数线性规划计算机求解 分枝定界法 Python...蒙特卡洛法求解各种类型规划。 0 - 1 型整数规划 0 −1型整数规划是整数规划中特殊情形,它变量 xj 仅取值0或1。这时xj 称为0−1变量,或称二进制变量。...当然,当自变量维数很大和取值范围很宽情况下,企图显枚举法(即穷举法)计算出最优值是不现实,但是应用概率理论可以证明,在一定计算量情况下,完全可以得出一个满意解。...然而应用蒙特卡洛去随机计算106个点,便可找到满意解,那么这种方法可信度究竟怎样 呢? 下面就分析随机取样采集106个点计算,应用概率理论来估计一下可信度。...Matlab软件求解,需要做–个变量替换,把多维决策变量化成–维决策向量,变量替换后,约束条件很难写出;而使用Lingo软件求解数学规划问题是不需要做变换,使用起来相对比较容易。

1.2K10

AI 赌神——如何教神经网络 21 点游戏?(附代码)

考虑到这种情况,我们可能希望模型告诉我们输概率是多少。再说一次,只有当我们可以增加或减少赌注,这才有用,而在 21 点游戏中我们不能这样做。...21 神经网络 ROC 曲线 我训练数据绘制 ROC 曲线。...简单策略只有在没有破机会情况下才出手(手总数低于 12 ,手总数为 12 或更多时才出手)。 随机策略就像是掷硬币——如果它出现头部则拿,否则不动。...在下面的图形中,如果庄家数很少,我们神经网络执行效果。但是当经庄家数更高(7或更多),我们神经网络表现得更好。 ? 与庄家出示平手或胜出概率数越多越好!)...与简单策略不同,它比玩家手值在 12 和 16 之间结果更坏,我们神经网络表现更好。 ? 平局或获胜概率与玩家初始手关系 上面的图展示了神经网络如何超越简单策略。

1.5K00

AI 赌神——如何教神经网络 21 点游戏?(附代码)

考虑到这种情况,我们可能希望模型告诉我们输概率是多少。再说一次,只有当我们可以增加或减少赌注,这才有用,而在 21 点游戏中我们不能这样做。...21 神经网络 ROC 曲线 我训练数据绘制 ROC 曲线。...简单策略只有在没有破机会情况下才出手(手总数低于 12 ,手总数为 12 或更多时才出手)。 随机策略就像是掷硬币——如果它出现头部则拿,否则不动。...在下面的图形中,如果庄家数很少,我们神经网络执行效果。但是当经庄家数更高(7或更多),我们神经网络表现得更好。 与庄家出示平手或胜出概率数越多越好!)...与简单策略不同,它比玩家手值在 12 和 16 之间结果更坏,我们神经网络表现更好。 平局或获胜概率与玩家初始手关系 上面的图展示了神经网络如何超越简单策略。

60430

德扑 AI 之父解答 Libratus 13个疑问:没有用到任何深度学习,DL 远非 AI 全部

这件事有两个主要原因: 1,在扑克时候,人类很快就会弃,所以实际比赛中,大多数手很快就变成了一对一比赛。...我从好几个职业手那里听说,在这场比赛之后顶级选手之间也开始更多地出现这种做法,很大程度上和「冷扑大师」很大下注大小取得了不小成功有关系。...这是非常大一个区别。在不完全信息博弈中,有一部分信息是没有对所有玩家公开,比如,谈判谈判者个人偏好、扑克中玩家、拍卖参与者心中价值函数、网络安全攻防中某一方被泄露出零日漏洞,等等。...DeepStack 中算法和「冷扑大师」嵌套子策略求解很相似,他们称之为连续重新求解。在冷扑大师中它工作方式是,剩余子博弈在抽象提取、求解,也会加上对手的确切下注数目。...PIO 求解器是可以欺骗,可以故意做一些均衡中出现概率为 0 行为。

94360

【AI VS 人类新高峰】冷扑大师发明人:用于策略推理超人AI

我们来看一下这是扔硬币游戏,扔硬币有一半概率是正面,有一半概率是反面,我们有两个玩家,一个是1号玩家,一个是2号玩家,如果P2猜对的话,P2就会得一分,P1就会减少一分,如果P2猜错的话P1就能得一分...我们看一下这是信息集相关信息,也就是说我们玩家到底应该怎么,各种不同玩法。红色玩家有两个信息集,基于这点他可以决定到底该怎么。...约翰·纳什在1950年明了这个概念,它改变了经济学和许多其他科学。 1994年,他获得了诺贝尔奖。但是,当然,这只是有多个玩家,并且均为理性玩家前提下定义。它实际上没有做任何事情。...子博弈求解器可以通过错误给予对手我们迄今在游戏中给予我们数量,同时仍然是完全安全(即不逊于预先计算纳什均衡近似蓝图)。 ?...我们使用这个观察来扩展子博弈求解器可以安全地优化策略空间,从而使其能够比以前子博弈求解器更好地发挥与对手可能持有的其他(非错误)双手相比更好灵活性。

76780

【重磅】AI 首次在德州扑克战胜人类职业玩家,新算法让机器拥有“直觉”(附论文)

在特定时刻正确决策依赖于对手所透露出来个人信息概率分布,这通常会在他们行动中表现出来。...我们使用了随机生成扑克情景深度学习进行训练。...图 5 展示了一个例子,关于 DeepStack在特定第五张博弈中有着不同数字分解迭代攻击性。除了缺少对它稳固性理论评价,估值看上去就像最佳反馈估值一样最终收敛至低攻击性策略。 ?...Chance Action:从最后一次分解为这个动作计算出反事实值替换对手反事实值。通过清除在任何新公共不可能范围,更新我们自己范围。 Opponent Action:不用做什么。...一个辅助网络用于在任意公共之前加速对前面的动作re-solving。 ? 图8:Deep Counterfactual Value Networks。

77580

【数学建模】模拟退火算法介绍及实现

模拟退火算法 模拟退火算法为一种现代优化算法,用来求解全局最小(最优)解 模拟退火法核心原理:当材料从状态i进入状态j,若E(j)<=E(i),状态会被转移(E(i)=E(j));若为其他情况,状态会以小概率被转移...具体应用例子 求解TSP问题 例:有100个目标,需要找出巡航最优路径。...,避免出现相同数字 %蒙特卡洛算法部分,为了得到更好初始值,先用蒙特卡洛法求解相对较好解 for j=1:1000 %随机产生一千种解 path0 = [...1,1+randperm(100),102];%解情况 temp =0; %求解每种情况对应距离值 for i=1:101 %通过循环,解得该情况下距离...%{ 满足条件,进行替换 %} elseif exp(-df/T) >= rand %不满足条件且被替换概率 %{ 发生这个概率事件,进行替换 }%

1.3K30

《软件工程导论第6版》--张海藩 牟永敏 课后答案及其详解 第5章 总体设计

(a)比较耗时,因为它要检索所有的档案 (b)从速度上看比较块,但是(b)需要排序算法 比较复杂,(a)对于设计来讲比较简单 (4)画出数据流图比较适合(A)算法 第5题 5.下面将给出两个人扑克游戏一种玩法...,试设计一个模拟程序,它基本功能是: (1)两手(利用随机数产生器)。...(2)确定赢者和赢类型。 (3)模拟N次游戏,计算每种类型赢或平局概率。要求HIPO图描绘设计结果并且画出高层控制流程图。 扑克游戏规则如下: (1)有两个人分别为A和B。...(2)一副扑克有52张,4种花色(黑桃、红桃、梅花、方块),每种花色点数按升序排列有2,3,4,…,10,J,Q,K,A等13种。 (3)给每个人三张面向上,赢者立即可以确定。...%d,顺子赢概率为%d,同点赢概率为%d,对子赢概率为%d,杂牌赢概率为%d”,e1/times,e2/times,e3/times,e4/times,e5/times); } 控制流程图:

2.2K10

德扑AI这些年!

所以现在真正德州扑克大部分都还是在攒钱买solver,反而这些“新”技术很少 ——看,这就是学术界和工业界差别。...: 假设你有一个很笨对手,他在石头剪刀布时候只会出石头,此时cfr+算法如何确定你“最优策略”呢?...很多同学学了深度强化学习之后就老想着alpha-zero[4]/alpha star[5]方法解一切, 而在这个场景下,类alpha star [5]算法优点就会变成缺点(无法很好提供拆方式...(flop),转(turn)以及河(river)都需要公共,发牌可能性也很多,这里就又可以把发出来公共进行合并,比如下图情况,我们(例如在preflop结束发公共时候)认为在拿到AK...于是deepstack [2] 决定,对求解深度再做一个截断,cfr算法计算到某个深度之后,该深度节点ev值就直接深度神经网络去估计,不再向下进行计算了,这个方法在大体思路上其实和Libratus

2K51

大师:玩转“洗牌算法”,幸运女神在微笑 (*^_^*)

承接上一篇:理解 P/NP 问题,我产生了一种已经触碰到人类认知天花板错觉?! 我们目前世界仍是基于 P ≠ NP,所以有理由相信:只要我们把足够乱,幸运女神或许就会降临。....,51,52,53,54],求解:一个乱序新数组 radomNums。...实际上,在现实中,我们玩牌,大部分玩家也是这样去洗,它也叫【印度洗牌法】(难道是阿三?)...现实中很多扑克高都会这样洗吧(一图胜千言) 原理:将数组一分为二,再穿插合并,再不断重复这样操作; 研究表明:鸽尾式洗牌法【洗七次】是最有效打乱手法!(谁研究?...目标:将 54 张打乱后,抽到区间 [1,10] 概率为 40%,抽到区间 [11,20] 概率为 20%,抽到区间 [21,30] 概率为 20%,抽到区间 [31,40] 概率为 15%,

37520

手把手教你训练一个神经网络,打爆21点!

赢得赌局或打平几率随玩家手总点数变化(总点数为21是必赢,概率为1) 3、最后,我们发现“仅在完全不会自爆才要朴素策略就可极大地提高击败赌场几率,因为这种策略将自爆风险完全转移给了赌场...我们将: 1、我们上次开发21点模拟器生成数据(进行少量修正使其更适合用作训练算法) 2、编码并训练神经网络21点(最优情况下) ?...最后两行代码告诉我们神经网络什么样损失函数(二元交叉熵是一种用于概率输出分类模型损失函数),并调整模型来拟合我们数据。...朴素策略仅仅在爆概率为零进行拿(在玩家手中总点数小于12,总点数大于等于12)。 随机策略是指抛硬币结果是正面朝上选择拿,否则不拿。...获胜或平局概率随庄家明牌点数变化(柱形越长概率越大!) 我们还可以看看获胜或平局概率如何随玩家初始手总点数而变化。

1.7K20

字节跳动李航:AI for Science一些探索和进展

计算化学体系特性,往往只需要关注原子中外侧轨道电子。将原子中内侧轨道电子势能用定量表示,就可以大幅减少所需要计算量。...NN-DMC,是我们提出将神经网络和扩散蒙特卡洛法 DMC(Diffusoon Monte Carlo)结合另一个方法 [2]。...对关注 Fragment 及其环境在量子计算机上 U-CCSD 求解。对其他部分在经典计算机上 Hartree–Fock 法求解。...具体地,量子计算可以部分解决量子蒙特卡洛法符号问题。 AI 制药 使用 AI 技术辅助药物发现已经成为被业界广为接受新范式。近年有大量研究,也有一些技术应用于实际场景。...MARS 从种子分子开始,不断编辑分子,直到最后得到最优小分子药物候选。生成过程中使用马尔可夫链蒙特卡洛法(MCMC),其平稳分布是由多个打分函数构成概率分布。

39820

论文阅读:《基于机器学习企业定价算法研究》

ASPEN给每种市场状态这三种对策分别分配一个概率值.企业根据这种概率值来选择对策。...一旦选用对策使得企业利润提高了,那么这种成功对策概率值将增大,这样企业在下次处于同样市场状态再次采用该对策可能性就加大了。反之,如果本次选用对策降低了企业利润,那么它概率值就会减少。...环境消息产生后,算法找到条件部分与之匹配规则,从而得到这种市场状态下三种对策概率值。随后,根据这三种对策概率蒙特卡洛法决定在当前市场状态下所采用对策是提高价格、降低价格还是维持价格不变。...蒙特卡洛法:http://www.ruanyifeng.com/blog/2015/07/monte-carlo-method.html 每次价格变动为一个定值△P。...首先关于参数问题,需要初始化参数有如: 文中提出一个理论最优价格概念,可以使用参数根据公式直接计算(具体推导参见论文): 模型评估如下: 所以很奇怪是: 1、既然可以直接公式,那为什么还要用模型拟合

53310

《基于机器学习企业定价算法研究》阅读笔记

ASPEN给每种市场状态这三种对策分别分配一个概率值.企业根据这种概率值来选择对策。...一旦选用对策使得企业利润提高了,那么这种成功对策概率值将增大,这样企业在下次处于同样市场状态再次采用该对策可能性就加大了。反之,如果本次选用对策降低了企业利润,那么它概率值就会减少。...环境消息产生后,算法找到条件部分与之匹配规则,从而得到这种市场状态下三种对策概率值。随后,根据这三种对策概率蒙特卡洛法决定在当前市场状态下所采用对策是提高价格、降低价格还是维持价格不变。...蒙特卡洛法:http://www.ruanyifeng.com/blog/2015/07/monte-carlo-method.html 每次价格变动为一个定值△P。...所以很奇怪是: 1、既然可以直接公式,那为什么还要用模型拟合? 1、 自家公司 L、K 容易,但是如何得到其他企业L、K和整个市场C如何得到?

1.6K40
领券