算法题——投篮比赛获胜的概率

简介:

 近日,在和他人闲暇无事的时候,进行篮球投篮比赛。由于本人的投篮命中率比较低,而他的投篮命中率比较高。因此,定了一个规则。采用积分制,初始积分为1分。他投篮,每投中一个球,积分加1分,继续投篮;投不中,换我投篮。我投篮,每投中一个球,积分减1分,继续投篮;投不中,换他投篮。若积分到11分,他获胜;若积分减到0分,我获胜。每局由他先投篮。

  在进行若干局的比赛后,各有胜负。提出了一个问题:他获胜的概率是多少?

  

  把问题数字化

  A和B两人进行投篮,A的命中率为70%,B的命中率为30%。初始积分为1分,每人投中继续投,投不中换人投。A投中积分加1分,B投中积分减1分。积分为11分时,A获胜;积分为0分时,B获胜。问:A获胜的概率是多少?

 

  想到这个问题的时候,没有丝毫头绪。因此采用计算机模拟的方式来计算概率。

  先写了一个函数

  Private Function Winner(ByVal Steps As IntegerByVal ParamArray P() As DoubleAs Boolean
Dim I As Integer = 1, J As Integer = 0
Do While I > 0 And I < Steps
If mR.NextDouble < P(J) Then
I += (-1) ^ J
Else
J = 1 - J
End If
Loop
Return (I > 0)
End Function

 

  这个函数是模拟一次投篮。如下调用:Winner(11, 0.7, 0.3)。表示A的投篮命中是0.7,B的投篮命中是0.3,积分到11表示A获胜。函数返回True表示A获胜,返回False表示B获胜。

  用了一个循环,模拟1000000局,统计A获胜的局数。得到如下结果:816628。

  又反复执行了9个1000000局,结果如下:816502、815734、816220、816972、816756、816473、816636、816226、816290。可以看出,A获胜的概率大致为81.65%

 

  如果积分到21分表示A获胜,那么A获胜的概率是多少呢?

  还是上面的代码。模拟1000000局,统计A获胜的局数。执行10次。结果如下:

  816116、816358、816242、816436、816677、816319、815949、815822、815860、816616

  A获胜的概率大致为81.6%。没有想象中的差异那么大。只是略微少了那么一点点。

 

  那么,如果用数学的计算方法,该如何计算呢?


    本文转自万仓一黍博客园博客,原文链接:http://www.cnblogs.com/grenet/archive/2011/03/22/1991153.html,如需转载请自行联系原作者

相关文章
|
机器学习/深度学习 算法 数据挖掘
【机器学习】算法术语、决策函数、概率模型、神经网络的详细讲解(图文解释)
【机器学习】算法术语、决策函数、概率模型、神经网络的详细讲解(图文解释)
905 1
|
4月前
|
算法 数据安全/隐私保护
基于PSO粒子群优化算法的256QAM星座图的最优概率整形matlab仿真,对比PSO优化前后整形星座图和误码率
本项目基于MATLAB 2022a仿真256QAM系统,采用概率星座整形(PCS)技术优化星座点分布,结合粒子群优化(PSO)算法搜索最优整形因子v,降低误码率,提升传输性能。核心程序包含完整优化流程。
143 0
|
6月前
|
算法 JavaScript 数据安全/隐私保护
基于遗传算法的256QAM星座图的最优概率整形matlab仿真,对比优化前后整形星座图和误码率
本内容展示了基于GA(遗传算法)优化的256QAM概率星座整形(PCS)技术的研究与实现。通过Matlab仿真,分析了优化前后星座图和误码率(BER)的变化。256QAM采用非均匀概率分布(Maxwell-Boltzman分布)降低外圈星座点出现频率,减小平均功率并增加最小欧氏距离,从而提升传输性能。GA算法以BER为适应度函数,搜索最优整形参数v,显著降低误码率。核心程序实现了GA优化过程,包括种群初始化、选择、交叉、变异等步骤,并绘制了优化曲线。此研究有助于提高频谱效率和传输灵活性,适用于不同信道环境。
154 10
|
6月前
|
算法 JavaScript 数据安全/隐私保护
基于遗传算法的64QAM星座图的最优概率整形matlab仿真,对比优化前后整形星座图和误码率
本内容主要探讨基于遗传算法(GA)优化的64QAM概率星座整形(PCS)技术。通过改变星座点出现的概率分布,使外圈点频率降低,从而减小平均功率、增加最小欧氏距离,提升传输性能。仿真使用Matlab2022a完成,展示了优化前后星座图与误码率对比,验证了整形增益及频谱效率提升效果。理论分析表明,Maxwell-Boltzman分布为最优概率分布,核心程序通过GA搜索最佳整形因子v,以蒙特卡罗方法估计误码率,最终实现低误码率优化目标。
153 1
|
机器学习/深度学习 数据采集 存储
一文读懂蒙特卡洛算法:从概率模拟到机器学习模型优化的全方位解析
蒙特卡洛方法起源于1945年科学家斯坦尼斯劳·乌拉姆对纸牌游戏中概率问题的思考,与约翰·冯·诺依曼共同奠定了该方法的理论基础。该方法通过模拟大量随机场景来近似复杂问题的解,因命名灵感源自蒙特卡洛赌场。如今,蒙特卡洛方法广泛应用于机器学习领域,尤其在超参数调优、贝叶斯滤波等方面表现出色。通过随机采样超参数空间,蒙特卡洛方法能够高效地找到优质组合,适用于处理高维度、非线性问题。本文通过实例展示了蒙特卡洛方法在估算圆周率π和优化机器学习模型中的应用,并对比了其与网格搜索方法的性能。
1212 1
|
算法 测试技术 C++
【动态规划】【C++算法】2188. 完成比赛的最少时间
【动态规划】【C++算法】2188. 完成比赛的最少时间
|
算法
leetcode-675:为高尔夫比赛砍树 (最短路径算法bfs,dijkstra,A*)
leetcode-675:为高尔夫比赛砍树 (最短路径算法bfs,dijkstra,A*)
142 0
|
算法 容器
【算法训练营】栈合集(1) 剑指 Offer 31. 栈的压入、弹出序列 || 32. 最长有效括号 || 682. 棒球比赛 || 面试题 03.01. 三合一
【算法训练营】栈合集(1) 剑指 Offer 31. 栈的压入、弹出序列 || 32. 最长有效括号 || 682. 棒球比赛 || 面试题 03.01. 三合一
116 0
|
算法
算法分享三个方面学习方法(做题经验,代码编写经验,比赛经验)
算法分享三个方面学习方法(做题经验,代码编写经验,比赛经验)
194 0
|
机器学习/深度学习 算法 机器人
PETS:伯克利大神Sergey Levine指导的概率集成轨迹采样算法
PETS:伯克利大神Sergey Levine指导的概率集成轨迹采样算法
375 0

热门文章

最新文章