关于数学期望的研究
最近在数学课上正式学习了数学期望,却发现OI期望题还是不会做…
看来OI中的数学和真正的数学还是有一定差距的…
学习过程中想到了各种奇葩的问题,有了一些心得体会。
七选五的期望得分
这个是和@nooblesone聊天的时候想到的问题:
@nooblesone英语极差,因此基本靠蒙,然后算一下他的期望的分吧…
嗯,听力,$20\over 3$分,阅读,10分,七选五……这个好像有点难算啊…
光是分布列就不好列出来…
算了,编程解决怎么样?
于是乎,我就写了一下暴搜程序:(这个程序写的是N选M,每选对一个得num分,七选五的话输入就是7 5 2)
#include<bits/stdc++.h>
using namespace std;
int n,m,vis[101],ans[101],pas[101],num=1;
long long score=0;
void search(int pos,int scr)
{
if(pos>m)
{
score+=scr;
//for(int i=1;i<=m;i++)printf("%d",ans[i]);
//printf(" %d\n",scr);
return;
}
for(int i=1;i<=n;i++)
{
if(vis[i])continue;
vis[i]=1;ans[pos]=i;
if(pas[pos]==i)search(pos+1,scr+num);
else search(pos+1,scr);
vis[i]=0;
}
}
int main()
{
//freopen("qqq.out","w",stdout);
printf("请依次输入选项总数,答案数以及每个题目的分值,用空格隔开\n");
scanf("%d%d%d",&n,&m,&num);
for(int i=1;i<=n;i++)vis[i]=0,pas[i]=i;
double k=1;
for(int i=n-m+1;i<=n;i++)k*=i;
printf("总共有%lld种不同的答案。\n",(long long)k);
search(1,0);
k=score/k;
printf("期望得分:%lf分",k);
return 0;
}
算出来是$10\over 7$分,怎么感觉是$\frac{1}{7}\times 5 \times 2 $呢(每题选对概率*题数*分数)?
感觉选项会互相影响,不可能这么算啊,后来问了一下亲爱的班主任+数学老师彪哥,他也说这应该是碰准了。但是之前和@GH讨论过这个问题,他就是这么算的,但是当时他自己也说不清楚为什么可以这么算。
我突然想起来,在我的程序写的不对的时候,曾经在网上搜过七选五的期望得分,还真搜到了一篇,而且里面也说是$10\over 7$,但当时我的程序出锅了,于是乎就认为他的是错的,就没仔细看,现在贴出链接:http://blog.sina.com.cn/s/blog_a661ecd501013glc.html
并引用其中原句来解释:
其实一句话就说完了:期望的和等于和的期望。显然(如果看着自己选的ABCDE,认为答案是随机的话)每道小题选对的概率都是1/7,加起来就是对了5/7小题,平均就是5/7分,不管5小题的得分是如何相关的。不过,我偶然在别的地方找到了一个通俗的解释方法(上面那句话没准会使人头疼半天吧,包括我)。
假如我决定了按顺序选ABCDE,然后老师拿来2520道七选五的题(天哪),恰好包含了答案的所有情况,我把所有卷子答上了ABCDE之后交了卷。老师统计一下我总共得了多少分,除以2520,就是所求的平均得分了。接下来换个角度看问题:2520种标准答案中有多少个是第一题选A的?显然是2520的1/7,这就是我第一个小题的总得分;其余小题同理。于是我的总得分就是2520的5/7,所求的平均得分当然是5/7。
想了一下,果然是这样!!!
这个故事告诉我们,不要让学过的知识禁锢住你的思想,说白了就是学期望学傻了…(感觉中式教育让我们思想僵化了)
其他用期望做很麻烦的例子
比如下面这个问题:
将边长为5的大正方体表面图上颜色,然后切成体积为1的小正方体,随机取一个小正方体,问这个小正方体期望有多少个面涂上了色。
这个问题如果用传统的期望来做,就需要:
解:
记$X$为1个正方体涂上颜色的面的个数.
则0个面涂上色的概率:
$P(X==0)={3\times 3\times 3\over 125}={27\over 125}$
1个面涂上色的概率:
$P(X==1)={3\times 3\times 6\over 125}={54\over 125}$
2个面涂上色的概率:
$P(X==2)={12\times 3\over 125}={36\over 125}$
3个面涂上色的概率:
$P(X==3)={8\over 125}$.
所以,期望值为:
$E(X)=P(X==1)\times 1+P(X==2)\times 2+P(X==3)\times 3=1.2$
好麻烦啊…不过还是求出来了。
现在我们考虑不用期望的定义来求。
和上面的例子一样,1个正方体涂上色的面数的期望,其实就是平均一个正方体涂上色的面数(其实期望的定义就是平均数)
那么我们用涂上色的面数$\div$正方体总个数,就是答案,即:
$E(X)={6\times 5\times 5\over 125}=1.2$
比传统的期望方法简单好多啊~
又一个例子
爱因斯坦提出了广义相对论,于是乎证明了经典力学是错误的。但是为什么我们还要学经典力学呢?直接都用相对论来计算不应该才最准确吗?
原因是相对论计算十分复杂,在经典力学适用的范围内,使用经典力学的计算方法要比相对论方法简单得多,所以我们依然要学习经典力学。感觉和期望的例子差不多…(想想又不太对…)
结论
不要让学过的知识禁锢住你的思想,要学会选择最适合的方法去解决问题。