华中科技大学概率统计系副主任王湘君算对了吗?
湖北老河口市经适房摇号出现14连号荆楚网消息 (楚天金报)前日,老河口市第二期经济适用房公开摇号,从1138名具有资格的申请人中摇出了514名住户。当晚,老河口市民发现这514户中出现了“14连号”的现象。昨日,记者对老河口经济适用房摇号中的“14连号”现象进行了调查。
经适房摇号摇出“14连号”
据了解,前日下午3时30分起,老河口市第二期经济适用住房计算机摇号在该市接待中心进行。当晚7时许,摇号结果在该市门户网站——今日老河口进行了公示。昨早有老河口市民向记者反映,此次摇号竟摇出了14户资格证编号相连。记者遂赶到老河口市房管局公示牌前查看,只见公示牌上显示的1138名申请人中,摇中号的有514人,从申请人996号至1009号确实出现了14连号。
相关部门:摇号结果没问题
昨日下午,记者对老河口市房管局和司法局公证处分别进行了采访。两部门均表示,此次摇号过程及结果无任何问题。
老河口市房管局副局长周富强称,第二期经济适用房叫“惠泽佚苑”,位于该市区花园路,每户房间约90平方米,价格约为900元/平方米,比该市同类区域均价低出600元左右。 房管局5月6日就向社会发出“惠泽佚苑”的销售公告,接着进入申请、审核阶段,确定了1100多户符合购买资格。前日下午3时30分起,在该市公证处、市委领导及群众代表的监督下,进行了两个半小时的公开摇号,不存在暗箱操作。
老河口市公证处主任叶军则表示,从摇号现场看,整个摇号过程符合程序,全程都有监控录像,但他对此次摇号出现14个连号十分“纳闷”。
记者调查:14连号申请人确有其人
昨日,记者通过相关渠道掌握了14连号申请人的信息。这14人多来自该市张集镇中心学校。
昨晚,记者赶到张集镇中学,正好与组织该校教师申请经适房的教导主任张卫不期而遇。
据张卫介绍,学校此次有46人获得了申请资格。14连号中有13人来自该校,另外一人来自中心学校的下属学校。 他们都符合经适房购买资格。记者调查证实,张集镇中学的13名中号人均实际参加了此次经适房摇号。
专家核算:14连号概率约为1.4%
1138户中选514户,514户中出现14人连号,这种现象出现的概率有多大?记者就此连线了华中科技大学概率统计系副主任王湘君。经半小时核算,王湘君说概率为1.4%。王湘君称,一般而言,摇号过程中出现低于0.5%的概率时则属于非常规性的。(文图/特派记者卫华 特约记者汉江雪)
问题是1138户选514户,其中出现14以上连号的概率果然是1.4%吗? 本帖最后由 到处瞎逛 于 2009-7-31 22:52 编辑
我认为概率会比这个高。 ${(1138-14)*14! }/{({1138! }/{514!})}$
这可是非常低 这个概率不会太小的.楼上算错了. ${{(1138-13)*(1138-14)!}/{(1138-14-500)!500!}}/{{1138!}/{(1138-514)!514!}}=0.015$ 本帖最后由 282842712474 于 2009-8-1 10:27 编辑
5# mathe
能够说一下原理吗? 上面也就是大概计算.
1138人中选择514个人(不考虑产生的顺序共${1138!}/{514!*(1138-514)!}$个
由于总共1138个人,其中14人连号的组合有1138-13个,
然后在指定这14个人的情况下,其余(1138-14)个人选择(514-14)个人共${(1138-14)!}/{(514-14)!*(1138-514)!}$
两者求比值然后再乘上1138-13就是近似结果了.
但是这里没有考虑部分重复计算,所以结果有点偏大 用计算机Monte-carlo法结果:
0.013
#include <stdlib.h>
#include <time.h>
#define T 1138
#define S 514
#define C 14
#define TRY 100000
char buf;
void init()
{
int i;
for(i=0;i<S;i++)buf=1;
for(;i<T;i++)buf=0;
}
void reorder()
{
int i;
for(i=0;i<T;i++){
int u=rand()%T;
if(i!=u){
char t=buf;
buf=buf;
buf=t;
}
}
}
bool check()
{
int i,j;
for(i=0;i<=T-C;i++){
for(j=0;j<C;j++){
if(buf==0)break;
}
if(j==C)return true;
}
return false;
}
int main()
{
int i;
int c=0;
srand(time(NULL));
for(i=0;i<TRY;i++){
init();
reorder();
if(check()){
c++;
}
}
printf("%f\n",(double)c/TRY);
return 0;
}
1138人中选择514个人,共有${1138!}/{514!}$种情况。
由于总共1138个人,其中14人连号的组合有1138-13个,这样出现的情况为:$14!*(1138-13)$
然后在指定这14个人的情况下,其余(1138-14)个人选择(514-14)个人共${(1138-514)!}/{(514-14)!}$
乘起来,再除以,发现结果不对,不知道哪里错了?
${{(1138-13)*14!*(1138-14)!}/{(514-14)!}}/{{1138!}/{514!}}$ 现在想了一下,上面结果是错的,误差太大.
而程序中reorder好像洗牌也不够随机,连续调用两次reoder函数,模拟结果只有0.0086;
这个结果应该更加合理