KeyTo9_Fans 发表于 2012-5-16 21:13:36

确定一个排列需要随机比较多少次?

假设KeyTo9_Fans和mathe玩这样一个游戏:

有$N$张扑克牌,KeyTo9_Fans和mathe都知道这$N$张扑克牌从大到小是如何排列的。

现在KeyTo9_Fans将这$N$张扑克牌随意排列,排好后让mathe来猜排列顺序。

如果mathe不能确定排列顺序,KeyTo9_Fans就随机选择$2$个位置(每个位置被选中的概率均等【注释$1$】),告诉mathe这$2$个位置上的牌哪张大。

不断重复上面这个步骤,直到mathe可以确定这$N$张扑克牌的排列顺序为止。

假设KeyTo9_Fans一共告诉了mathe$M$次大小关系,问:$M$的期望值是多少?(用含有$N$的式子表示)

——————————
注释$1$:更严格的表述是,$N$个位置选$2$个位置一共有$C(N,2)$种方案,对于每种方案,无论是否被选过,每次被选中的概率相等,均为$1/{C(N,2)}$。

例$1$:当$N=1$时,KeyTo9_Fans不用告诉mathe任何大小关系,所以$M=0$。

例$2$:当$N=2$时,KeyTo9_Fans只需告诉mathe$1$次大小关系,所以$M=1$。

当$N>2$时,情况比较复杂,应该如何计算$M$的期望值?

rayfekeeper 发表于 2012-5-22 11:21:34

显然,分奇偶性考虑,M的最小值均为N-1,最大值为N!/(2^m)<=1,
其他的次数可理解为只需抽到最小的N-1次有效信息,其他的次数均为无效替补信息。则有:
E(m)=(N-1)*1/((N(N-1)/2),(N-1))+N*((N*(N-1)/2-(N-1)),(1))/((N*(N-1)/2),(N))+……+N*((N*(N-1)/2-(N-1)),(m))/((N*(N-1)/2),(m))

wayne 发表于 2012-5-23 13:00:37

2# rayfekeeper
这个m是 使得N!/(2^m)为整数的最大m吗

KeyTo9_Fans 发表于 2012-5-23 21:05:32

“只需抽到最小的$(N-1)$次有效信息”

我觉得这是对的。

“最大值为$(N!)/(2^m)<=1$”

我觉得不对。最大值没有上界。因为KeyTo9_Fans可能会多次告诉mathe同一对牌的大小关系。

zeroieme 发表于 2012-5-24 01:35:45

有效量的确是N-1,就要碰到次序相邻两牌的信息。
其实问题变为摸C(N,2)个球,指定的N-1个球至少出现1次的概率。

zeroieme 发表于 2012-5-24 01:59:17

这样可以把球分成有用球和无用球。

首先是(N-1)个有用球与C(N,2)-(N-1)个无用球,摸到有用球的概率是q1= $(N-1)/(C(N,2))$
于是得到第一个有用球的期望E1是1/q1

接着第一个有用球沦为无用球,我们需要的是另(N-2)个有用球,q2= $(N-2)/(C(N,2))$
E2是1/q2

…………
最后我们默默等待最后需要的那个球qn-1= $1/(C(N,2))$
En-1=1/qn-1


E1+E2……+En-1

超越函数?

KeyTo9_Fans 发表于 2012-5-24 12:46:47

6# zeroieme

你是对的。

提问之前我还以为“随机比较”是确定一个排列的好方法,比“两两比较”高效多了。(即$M$的期望值小于$C(N,2)$)。

现在看来“随机比较”根本就不是好方法。$M$的期望值比$C(N,2)$还要大。

根据$6#$ zeroieme的结果,我们有以下猜想:

$M$的期望值是$O(N^2\log(N))$。

该猜想是否成立呢?

我们期待进一步的讨论。

zeroieme 发表于 2012-5-25 04:39:14

7# KeyTo9_Fans


E1=1/q1=$1/((N-1)/(C(N,2)))=(C(N,2))/(N-1)$
E2=$(C(N,2))/(N-2)$
……
所以M=HarmonicNumber C(N,2)

KeyTo9_Fans 发表于 2012-5-25 10:38:26

查阅了一下:

http://mathworld.wolfram.com/HarmonicNumber.html

发现楼上的结果比$7#$的猜想准确多了,是该问题的精确解。
页: [1]
查看完整版本: 确定一个排列需要随机比较多少次?