有趣的网球输赢概率题
登录 | 论坛导航 -> 华新鲜事 -> 求学狮城 | 本帖共有 22 楼,分 2 页, 当前显示第 1 页 : 本帖树形列表 : 刷新 : 返回上一页
<<始页  [1]  2    末页>>
作者:spinach (等级:8 - 融会贯通,发帖:1955) 发表:2008-11-28 23:11:49  楼主  关注此帖评分:
有趣的网球输赢概率题
已知甲乙两个网球手,每盘比赛甲胜出的几率是2/3,乙是1/3,每胜一盘的一分

两人比赛,当一人比另一人多得两分时,前者胜

请问甲胜的几率是多少?(注:需要考虑两人平局的情况)
路人拾遗
欢迎来到华新中文网,踊跃发帖是支持我们的最好方法!原文 / 传统版 / WAP版只看此人从这里展开收起列表
作者:spinach (等级:8 - 融会贯通,发帖:1955) 发表:2008-11-28 23:13:14  2楼
每胜一盘的[得]一分,另甲胜指甲胜整场比赛
欢迎来到华新中文网,踊跃发帖是支持我们的最好方法!原文 / 传统版 / WAP版只看此人从这里展开收起列表
作者:香陵居士 (等级:16 - 好恐怖呀,发帖:22662) 发表:2008-11-30 03:17:26  3楼
一场比赛多少盘?还是不限制盘数?
欢迎来到华新中文网,踊跃发帖是支持我们的最好方法!原文 / 传统版 / WAP版只看此人从这里展开收起列表
作者:冷色蓝天 (等级:0 - 我是小白,发帖:5044) 发表:2008-11-30 09:37:18  4楼 评分:
若不限制,甲80%,乙20%;若限制,自己算
把每2盘看成一回合
甲胜: (2/3)*(2/3) = 4/9
乙胜: (1/3)*(1/3) = 1/9
平: 1 - 4/9 - 1/9 = 4/9

若出现胜负,结束;若平,继续下一回合

n回合后
甲胜概率为:
4/9 + (4/9)*(4/9) + [(4/9)^2]*(4/9) + ... + [(4/9)^(n-1)]*(4/9) = (4/5)*[1-(4/9)^n]
乙胜概率为
1/9 + (4/9)*(1/9) + [(4/9)^2]*(1/9) + ... + [(4/9)^(n-1)]*(1/9) = (1/5)*[1-(4/9)^n]
平局概率为
(4/9)^n

n取无穷大,则
甲胜概率80%,乙胜概率20%

n=6,则...自己算吧

……第5000贴竟然是这样的……
欢迎来到华新中文网,踊跃发帖是支持我们的最好方法!原文 / 传统版 / WAP版只看此人从这里展开收起列表
作者:icky (等级:15 - 最接近神,发帖:7923) 发表:2008-12-01 13:24:35  5楼 评分:
考虑到状态稳定的时候
前一盘甲领先乙一分的概率是乙领先甲一分概率的两倍,所以这一盘甲胜对乙胜的概率是4:1

所以甲80%,乙20%
欢迎来到华新中文网,踊跃发帖是支持我们的最好方法!原文 / 传统版 / WAP版只看此人从这里展开收起列表
作者:胡萝卜 (等级:2 - 初出茅庐,发帖:183) 发表:2008-12-01 16:53:43  6楼
考虑到状态稳定的时候前一盘甲领先乙一分的概率是乙领先甲一分概率的两倍,所以这一盘甲胜对乙胜的概率是4:1 所以甲80%,乙20%
这个好
欢迎来到华新中文网,踊跃发帖是支持我们的最好方法!原文 / 传统版 / WAP版只看此人从这里展开收起列表
作者:spinach (等级:8 - 融会贯通,发帖:1955) 发表:2008-12-03 08:19:38  7楼
一场比赛多少盘?还是不限制盘数?
不限盘数
欢迎来到华新中文网,踊跃发帖是支持我们的最好方法!原文 / 传统版 / WAP版只看此人从这里展开收起列表
作者:spinach (等级:8 - 融会贯通,发帖:1955) 发表:2008-12-03 08:35:13  8楼
我的答案跟大家一样4:1;可是好像不对
原是一道证明题:

证明甲胜出的几率大概是6:1 (然后括号里面写需要考虑平局的情况)

我自己是这样做的:

甲:乙 = 2:0,3:1,4:2 。。。。。。

甲:乙 = 2:0 AA 只有这种情况 概率 = (2/3)^2
甲:乙 = 3:1 ABAA BAAA 2种情况 概率 = 2(2/3)^3(1/3)
甲:乙 = 4:2 ABABAA ABBAAA BABAAA BAABAA 4种情况 概率 = 4(2/3)^4(1/3)^2

归纳
甲:乙 = (n+2):n 有2^n种可能 概率 = 2^n(2/3)^(n+2)(1/3)^n = (2/3)^(2n+2)
等比数列
a1= 4/9
q = 4/9
S甲 = 4/5

同理 S乙 = 1/5

可是我没有考虑平局的问题!!!


欢迎来到华新中文网,踊跃发帖是支持我们的最好方法!原文 / 传统版 / WAP版只看此人从这里展开收起列表
作者:1300cc (等级:3 - 略知一二,发帖:714) 发表:2008-12-03 10:18:47  9楼 评分:
if you know sth about stochastic, this is a stopping-time problem
P(s_t = 2 ) = { (q/p)^0 - (q/p)^(-1/2) } / {(q/p)^2 - (q/p)^(-1/2) }

p = 2/3 ; q = 1/3;

answer is .8
欢迎来到华新中文网,踊跃发帖是支持我们的最好方法!原文 / 传统版 / WAP版只看此人从这里展开收起列表
作者:香陵居士 (等级:16 - 好恐怖呀,发帖:22662) 发表:2008-12-03 10:31:35  10楼
我的答案跟大家一样4:1;可是好像不对原是一道证明题: 证明甲胜出的几率大概是6:1 (然后括号里面写需要考虑平局的情况) 我自己是这样做的: 甲:乙 = 2:0,3:1,4:2 。。。。。。 甲:乙 = 2:0 AA 只有这种情况 概率 = (2/3)^2 甲:乙 = 3:1 ABAA BAAA 2种情况 概率 = 2(2/3)^3(1/3) 甲:乙 = 4:2 ABABAA ABBAAA BABAAA BAABAA 4种情况 概率 = 4(2/3)^4(1/3)^2 归纳 甲:乙 = (n+2):n 有2^n种可能 概率 = 2^n(2/3)^(n+2)(1/3)^n = (2/3)^(2n+2) 等比数列 a1= 4/9 q = 4/9 S甲 = 4/5 同理 S乙 = 1/5 可是我没有考虑平局的问题!!!
如果不限制盘数的话,平局的概率为零
欢迎来到华新中文网,踊跃发帖是支持我们的最好方法!原文 / 传统版 / WAP版只看此人从这里展开收起列表
作者:MetalGearSnake (等级:3 - 略知一二,发帖:128) 发表:2008-12-03 11:08:47  11楼 评分:
应该是80%吧,一个小程序模拟进行10000000场比赛输出结果接近80%
java代码如下:

import java.util.*;

public class Tennis
{
public static void main(String[] args)
{
Random random = new Random();
int aWin = 0, bWin = 0;
int n = (new Scanner(System.in)).nextInt(); // n为自定义比赛次数
for (int i = 0; i < n; i++)
{
int aScore = 0, bScore = 0; // 每场比赛开始时甲乙得分各为0
while (Math.abs(aScore - bScore) < 2) // 直到有人领先2分时,该场比赛结束
{
int game = Math.abs(random.nextInt() % 3); // 随机生成0,1,2间的一个整数
if (game == 0 || game == 1) // 每盘比赛甲胜出的几率是2/3
aScore++; // 甲得一分
else
bScore++; // 否则乙得一分
if (aScore - bScore >= 2) // 若甲领先2分,甲胜一场比赛
aWin++;
else if (bScore - aScore >= 2) // 若乙领先2分,乙胜一场
bWin++;
}
}
System.out.println((double) aWin * 100 / n + "%");
}
}

以下是几个测试结果:
100
84.0%
1000
81.5%
100000
79.84%
10000000
79.98379%
欢迎来到华新中文网,踊跃发帖是支持我们的最好方法!原文 / 传统版 / WAP版只看此人从这里展开收起列表
作者:spinach (等级:8 - 融会贯通,发帖:1955) 发表:2008-12-04 09:31:25  12楼
if you know sth about stochastic, this is a stopping-time problemP(s_t = 2 ) = { (q/p)^0 - (q/p)^(-1/2) } / {(q/p)^2 - (q/p)^(-1/2) } p = 2/3 ; q = 1/3; answer is .8
what is the general formula for the stopping time?


Was my calculation wrong? Did I interpret your equation wrongly? The answer was 0.356 not 0.8 BTW, how about the winning probability of the second player? Thanks
欢迎来到华新中文网,踊跃发帖是支持我们的最好方法!原文 / 传统版 / WAP版只看此人从这里展开收起列表
作者:1300cc (等级:3 - 略知一二,发帖:714) 发表:2008-12-04 09:51:53  13楼
what is the general formula for the stopping time? Was my calculation wrong? Did I interpret your equation wrongly? The answer was 0.356 not 0.8 BTW, how about the winning probability of the second player? Thanks (more...)
it's in this way
change your -1/2 to -2.
p(first person win ) + p(2nd ppl win ) = 1;
欢迎来到华新中文网,踊跃发帖是支持我们的最好方法!原文 / 传统版 / WAP版只看此人从这里展开收起列表
作者:1300cc (等级:3 - 略知一二,发帖:714) 发表:2008-12-04 09:54:00  14楼
what is the general formula for the stopping time? Was my calculation wrong? Did I interpret your equation wrongly? The answer was 0.356 not 0.8 BTW, how about the winning probability of the second player? Thanks (more...)
yes. it's a typo in my first equation. should be -2 , not -1/2
sorry for that.
欢迎来到华新中文网,踊跃发帖是支持我们的最好方法!原文 / 传统版 / WAP版只看此人从这里展开收起列表
作者:spinach (等级:8 - 融会贯通,发帖:1955) 发表:2008-12-04 10:27:00  15楼
it's in this waychange your -1/2 to -2. p(first person win ) + p(2nd ppl win ) = 1;
for stopping-time problems, there are no "draw"?
欢迎来到华新中文网,踊跃发帖是支持我们的最好方法!原文 / 传统版 / WAP版只看此人从这里展开收起列表
作者:spinach (等级:8 - 融会贯通,发帖:1955) 发表:2008-12-04 10:32:30  16楼
if you know sth about stochastic, this is a stopping-time problemP(s_t = 2 ) = { (q/p)^0 - (q/p)^(-1/2) } / {(q/p)^2 - (q/p)^(-1/2) } p = 2/3 ; q = 1/3; answer is .8
试着写一般表达式,这样对吗?
P(s_t = n ) = { (q/p)^0 - (q/p)^(-n) } / {(q/p)^n - (q/p)^(-n) }

p + q = 1

欢迎来到华新中文网,踊跃发帖是支持我们的最好方法!原文 / 传统版 / WAP版只看此人从这里展开收起列表
作者:spinach (等级:8 - 融会贯通,发帖:1955) 发表:2008-12-04 11:19:54  17楼
应该是80%吧,一个小程序模拟进行10000000场比赛输出结果接近80%java代码如下: import java.util.*; public class Tennis { public static void main(String[] args) { Random random = new Random(); int aWin = 0, bWin = 0; int n = (new Scanner(System.in)).nextInt(); // n为自定义比赛次数 for (int i = 0; i < n; i++) { int aScore = 0, bScore = 0; // 每场比赛开始时甲乙得分各为0 while (Math.abs(aScore - bScore) < 2) // 直到有人领先2分时,该场比赛结束 { int game = Math.abs(random.nextInt() % 3); // 随机生成0,1,2间的一个整数 if (game == 0 || game == 1) // 每盘比赛甲胜出的几率是2/3 aScore++; // 甲得一分 else bScore++; // 否则乙得一分 if (aScore - bScore >= 2) // 若甲领先2分,甲胜一场比赛 aWin++; else if (bScore - aScore >= 2) // 若乙领先2分,乙胜一场 bWin++; } } System.out.println((double) aWin * 100 / n + "%"); } } 以下是几个测试结果: 100 84.0% 1000 81.5% 100000 79.84% 1000000
有没有办法把平局也放进去??
请问:有没有办法把平局也放进去
CASE 1 A - B >= 2
Case 2 B - A >= 2
Case 3 A = B ---> 放回原先的循环

System.out.println((double) aWin * 100 / n + "%");

另外可否print bWin% ? draw?
欢迎来到华新中文网,踊跃发帖是支持我们的最好方法!原文 / 传统版 / WAP版只看此人从这里展开收起列表
作者:1300cc (等级:3 - 略知一二,发帖:714) 发表:2008-12-04 13:07:00  18楼
for stopping-time problems, there are no "draw"?
no draw
there's no draw, since there must be a stopping time. else stopping time is infinity.

for your formula above, the left and right boundary may not be both n, sometimes can be different value.
欢迎来到华新中文网,踊跃发帖是支持我们的最好方法!原文 / 传统版 / WAP版只看此人从这里展开收起列表
作者:MetalGearSnake (等级:3 - 略知一二,发帖:128) 发表:2008-12-04 15:15:22  19楼
有没有办法把平局也放进去??请问:有没有办法把平局也放进去 CASE 1 A - B >= 2 Case 2 B - A >= 2 Case 3 A = B ---> 放回原先的循环 System.out.println((double) aWin * 100 / n + "%"); 另外可否print bWin% ? draw?
每场比赛要有局数限制才会产生平局的情况吧?
如果加入每场比赛局数限制,修改后的代码如下:

import java.util.*;

public class Tennis
{
public static void main(String[] args)
{
Random random = new Random();
int aWin = 0, bWin = 0;
int n = (new Scanner(System.in)).nextInt(); // n为比赛场数
int m = (new Scanner(System.in)).nextInt(); // m为每场比赛回合数
for (int i = 0; i < n; i++)
{
int aScore = 0, bScore = 0, j = 0;
while (Math.abs(aScore - bScore) < 2 && j < m)
{
int game = Math.abs(random.nextInt() % 3);
if (game == 0 || game == 1)
aScore++;
else
bScore++;
if (aScore - bScore >= 2)
aWin++;
else if (bScore - aScore >= 2)
bWin++;
j++;
}
}
System.out.println((double) aWin / n * 100 + "%\n" +
(double) bWin / n * 100 + "%\n" + (100 - (double) (aWin + bWin) / n * 100) + "%\n");
}
}

如果限制10局,甲胜的概率貌似接近78.6几,几个测试结果:

100
10
75.0%
25.0%
0.0%

1000
10
79.10000000000001%
19.6%
1.2999999999999972%

10000
10
78.59%
19.45%
1.9599999999999937%

100000
10
78.513%
19.744999999999997%
1.7420000000000044%

10000000
10
78.61402%
19.653409999999997%
1.7325699999999955%

10000000
10
78.63001%
19.63833%
1.731660000000005%

10000000
10
78.60665%
19.65362%
1.7397299999999944%
欢迎来到华新中文网,踊跃发帖是支持我们的最好方法!原文 / 传统版 / WAP版只看此人从这里展开收起列表
作者:spinach (等级:8 - 融会贯通,发帖:1955) 发表:2008-12-14 19:00:18  20楼 评分:
题目修改
谢谢大家解答原题,有兴趣的可以继续考虑修改后的问题

已知甲乙两个网球手,每盘比赛甲胜出的几率是2/3,乙是1/3,每胜一盘的一分

两人比赛,当一人比另一人至少多得两分时(比赛是4分制 - 即网球里面的15-30-40-50,平局情况下不受此限),前者胜

请问甲胜的几率是多少?(注:需要考虑两人平局的情况) 答案是差不多6:1

欢迎来到华新中文网,踊跃发帖是支持我们的最好方法!原文 / 传统版 / WAP版只看此人从这里展开收起列表
论坛导航 -> 华新鲜事 -> 求学狮城 | 返回上一页 | 本主题共有 22 篇文章,分 2 页, 当前显示第 1 页 | 回到顶部
<<始页  [1]  2  末页>>

请登录后回复:帐号   密码