Arrays 数组中两个随机选择的索引之间的平均距离

Arrays 数组中两个随机选择的索引之间的平均距离,arrays,algorithm,probability,Arrays,Algorithm,Probability,对你们来说,这是一个有趣的思考问题。给定一个长度为n的数组,如果我在这个数组中选择两个随机索引,a和b的平均间距是多少?从a到b我需要走多少步。没有任何限制,所以我有可能为这两个选择相同的索引,也有可能a和b位于数组的两端 我已经考虑了一段时间,我最初的想法是它们平均相距n/2英寸,但我认为这种预感是不正确的。在数组中心选择的索引最多需要走n/2个位置才能找到对应的第二个选择,而只有在数组的末端,第二个选择才会在n距离左右 谢谢 在python中使用蒙特卡罗方法: 从集合导入defaultdic

对你们来说,这是一个有趣的思考问题。给定一个长度为n的数组,如果我在这个数组中选择两个随机索引,a和b的平均间距是多少?从a到b我需要走多少步。没有任何限制,所以我有可能为这两个选择相同的索引,也有可能a和b位于数组的两端

我已经考虑了一段时间,我最初的想法是它们平均相距n/2英寸,但我认为这种预感是不正确的。在数组中心选择的索引最多需要走n/2个位置才能找到对应的第二个选择,而只有在数组的末端,第二个选择才会在n距离左右


谢谢

在python中使用蒙特卡罗方法:

从集合导入defaultdict 随机输入 样本=[absrandom.choicerange0,10-random.choicerange0,10用于范围010000中的i] 平均值=浮动样品/透镜样品 打印平均值:%f%avg freq=defaultdictent 对于样品中的s: 频率[s]+=1 比例=40.0/最大频率值 对于0,10范围内的i: 打印%d:%s%i,*intfreq[i]*比例 输出:

Average: 3.293700
0 : ######################
1 : ########################################
2 : ####################################
3 : ###############################
4 : ##########################
5 : ######################
6 : #################
7 : #############
8 : #########
9 : ####

因此,看起来是n/3,但分布不均匀。

在一个数组中选择两个位置相当于将数组分成3个部分。每个截面的平均尺寸为n/3,因此两点之间的平均距离也为n/3。

有一个简单的方法可以知道:对于所有a、b对夫妇,计算他们的距离。知道所有的a、b对都有相同的出现概率,你只需要计算这些距离的平均值就可以回答你的问题。

在为n的前几个值画出一些可能距离的网格后,我认为确切的结果实际上是由以下公式得出的:

f(n) = (n² - 1) / 3n

是的,但我很好奇是否有办法证明或解释这个概率,显然,它是n/3,在实践中,这不是一个数学问题,通过数组的形式被偷偷带到Stackoverflow上吗?1数学和算法问题有什么不同吗?2这是一个算法家庭作业问题3堆栈溢出有一个算法标签,所以我使用了它。@stovroz如果问题是关于实数的连续间隔,那么它显然是用于。但由于它是一个离散数组,我认为它可以走任何一条路。我可以认为这是因为脱离主题而关闭的。但我不明白你在问什么。有四个答案对这个问题的解释完全相同。我可以证明@stovroz的答案是正确的。我下面的答案有意义吗?TWA受你的研究启发。如果不考虑差值的绝对值,再尝试一次,会非常有趣,给出-n,n的范围。我想你们会得到更接近高斯分布的东西。@烧杯它不是高斯分布,它是三角形的。将其视为一个n×n矩阵,其中行是第一个数字的索引,列是第二个数字的索引。将| i-j |作为位置i,j处的条目,每个条目发生的概率为1/n2。沿着主对角线向下取n个零,主对角线两侧各取n-1个,总共取2n-1个,远离对角线处取2n-2个,以此类推。消除绝对值=>对角线一侧为正,另一侧为负,概率随着差值=>三角形线性减小。这听起来很合理。或者更确切地说,它倾向于n/3。同意,这只适用于较大的n,就像取n==4,它不起作用。但我认为它很优雅,能为我解决它。@PhilippeSignoret不,它的分布不均匀。例如,有n种方法可以获得0的距离,而只有2种方法可以获得n-1的距离。你完全正确。我应该想,然后说编辑:删除了愚蠢的评论,我不想让人困惑,因为它完全错了。+1这是唯一符合我所看到的答案。此外,任何特定区间k的概率为2n-k/n^2。这个答案是正确的。如果这个问题没有被搁置,我会发布一个严格的推导。