网格图中满足最小距离约束的最终选中顶点期望数量及泛化问题求解
网格图中满足最小距离约束的最终选中顶点期望数量及泛化问题求解
嘿,这个问题其实可以用期望线性性和一些巧妙的概率洞察来解决,我来一步步拆解给你看:
首先得明确你的保留规则本质:一个初始选中的顶点v会被保留,当且仅当在它的**d-邻域(所有最短路径距离≤d的顶点,包括v自己)**里,没有其他初始选中的顶点比v的权重更小(因为权重是均匀随机的,加上唯一ID破tie,权重相等的概率为0,可以直接忽略)。换句话说,v是它的d-邻域里第一个(权重最小)被初始选中的顶点。
接下来我们用期望线性性计算总期望:因为期望是可加的,不管顶点之间是否独立,最终的期望数量等于顶点总数n乘以单个顶点被保留的概率。
单个顶点被保留的概率推导
我们可以把问题转化为:在v的d-邻域(共N_d个顶点,N_d包含v自己)中,v是第一个满足“权重<p”(即被初始选中)的顶点的概率。
具体推导步骤:
- v的权重x_v在[0,1]均匀分布,v被初始选中的条件是x_v < p。
- 要让v被保留,还需要:d-邻域内的其他顶点,要么没被选中(权重≥p),要么权重比v大(即使被选中也不会导致v被移除)。
- 对x_v在[0,p]区间积分,每个x_v对应的概率是$(1 - x_v)^{N_d - 1}$(每个其他顶点的权重>x_v的概率是$1 - x_v$,共$N_d-1$个顶点,相互独立)。
计算这个积分:
P(v被保留) = ∫₀^p (1 - x)^{N_d - 1} dx = [ - (1 - x)^{N_d} / N_d ] 从0到p = (1 - (1 - p)^{N_d}) / N_d
最终期望数量
把单个顶点的概率乘以总顶点数n,得到最终的期望数量:
E = n * (1 - (1 - p)^{N_d}) / N_d
特殊场景验证
我们可以用几个特殊情况验证这个公式的合理性:
- 当d=0(无约束,允许选中任意顶点):$N_d=1$(只有v自己),代入得$E = n*p$,完全符合预期——所有初始选中的顶点都保留。
- 当p→0(选中的顶点极少,几乎没有重叠的d-邻域):$(1-p)^{N_d} ≈ 1 - N_dp$,代入得$E≈np$,也符合预期——几乎所有选中的顶点都能保留。
- 当p=1(所有顶点都被初始选中):$E = n/N_d$,意味着每个d-邻域里恰好保留权重最小的那个顶点,总期望是n除以每个邻域的大小,逻辑通顺。
你提到的具体场景(k=4,d=2)
k=4对应二维环面网格(每个顶点4个邻居),d=2时,N_d是最短路径距离≤2的顶点总数:自己+4个距离1的邻居+8个距离2的邻居,共13个。代入公式得:
E = n * (1 - (1 - p)^13) / 13
泛化到任意k和d
核心就是确定$N_d$——单个顶点的d-邻域(最短路径距离≤d)的顶点总数,不同的k-正则环面网格对应不同的维度:
- k=2(一维环):$N_d=2d+1$(自己加上左右各d个顶点)
- k=4(二维环面):$N_d=1 + 2d(d+1)$(推导:距离0的1个,距离1的4个,距离t的4t个,求和得$1+4*(1+2+...+d)=1+2d(d+1)$)
- k=2m(m维环面):$N_d$是m维网格中曼哈顿距离≤d的顶点总数,可通过组合数求和计算,只要算出$N_d$,代入上述公式即可得到期望。
备注:内容来源于stack exchange,提问作者Powereleven
相关产品推荐
相关产品推荐

