随机排序网络工作的可能性


14

鉴于n输入x0,…,xn−1,我们构建了一个随机排序网络与m通过迭代地拾取两个变量栅极xi,xj与i<j和加入的比较器门,其互换他们,如果xi>xj。

问题1:对于固定n,网络必须多少才能m以大于1的概率正确排序>12?

我们至少有一个下界m=Ω(n2log⁡n)因为正确地对输入进行了排序(除了交换每对连续的对之外),每个对都将花费Θ(n2log⁡n2)时间作为比较器。 。这也是上限,可能有更多log⁡n因子吗?

问题2:有比较器门的分布实现m=O~(n),可能是通过选择接近比较器,具有较高的概率是多少?


1
我猜一个人可以通过一次查看一个输入,然后进行联合边界来获得上限,但这听起来并不严格。O(n3logO(1))
— daniello

2
问题2的想法:选择深度为的分类网络。在每个步骤中,随机选择排序网络的一个门,然后执行该比较。后O(log2⁡n)步骤中,在第一层中的所有栅极将已经应用。接连〜ø(Ñ)步骤,在所述第二层中的所有栅极将已经应用。如果你能证明这是单调的(在插入排序网络的中间多余的比较不能伤害),你会取得一个解决办法〜Ø(ñ)O~(n)O~(n)O~(n)比较器的平均总数。不过,我不确定单轨性是否真的成立。
— DW

2
@DW:单调性不一定成立。考虑序列序列的作品;s'不(考虑输入(1、0、0))。这个想法是(x0,x2),(x0,x1)
s=(x1,x2),(x0,x2),(x0,x1);s′=(x1,x2),(x0,x1),(x0,x2),(x0,x1).
ss′(x0,x2),(x0,x1)排序,除了接收的任何输入(见此处)。在s中,该输入不能达到(x 0,x 2(0,1,0)s。在 s '中可以。(x0,x2),(x0,x1)s′
— Neal Young,

3
考虑通过选择两个相邻变量x i,x i选择网络的变体在每个步骤中随机 + 1。现在单调成立(因为相邻的交换不会创建反转)。将@DW的想法应用于具有n个回合的奇偶排序网络:在奇数回合中,它比较i为奇数的所有相邻对,在偶数回合中,它比较i为偶数的所有相邻对。在O( n 2 logn)比较中,随机网络是正确的,因为它“包含”了该网络。(或者我错过了什么?)xi,xi+1niiO(n2log⁡n)
— Neal Young

2
相邻网络的单调性:给定,用于Ĵ ∈ { 0 ,1 ,... ,Ñ }定义小号Ĵ(一)= Σ Ĵ 我= 1一个我a,b∈{0,1}nj∈{0,1,…,n}sj(a)=∑i=1jai。说如果小号Ĵ(一)≤ 小号Ĵ(b )(∀ Ĵa⪯bsj(a)≤sj(b)∀j)。修正任何比较“ ”。通过进行比较,让a ′和b ′来自a和b。根据权利要求1 一个' ⪯ 一个和b ' ⪯ b。权利要求2:如果一个⪯ b,那么一个' ⪯ b '。 然后以归纳方式显示:如果y是输入x上比较序列s的结果xi<xi+1a′b′ab a′⪯ab′⪯b a⪯ba′⪯b′ysx和是超级序列的结果小号“的小号上X,然后ÿ ' ⪯ ÿ。因此,如果y被排序,那么y '也是。y′s′sxy′⪯yyy′
— Neal Young

Answers:


3

这是问题2的一些经验数据,这些数据基于DW应用于双音排序的思想。对于变量,选择j - i = 2 k,其概率与lg n - k成正比,然后随机均匀地选择i以获得比较器(i ,j )。如果n为2的幂,则此匹配按位子排序比较器的分布,否则近似。nj−i=2klg⁡n−ki(i,j)n

对于从此分布中拉出的给定无限门序列,我们可以通过对许多随机位序列进行排序来近似得出获得排序网络所需的门数量。这是估计值,取100个门序列的平均值,并使用6400位序列来近似计数: 它看起来与Θ (n log 2 n )相匹配,复杂度与双音阶排序相同。如果是这样,我们不会因为跨每个门的优惠券收集器问题而吃掉额外的log n因子。n<2001006400Approximate number of gatesΘ(nlog2⁡n)log⁡n

需要强调的是:我仅使用位序列来估计预期的门数,而不是2 n。平均需要栅极不引起与该号码:用于Ñ = 199如果使用6400,64000和640000序列的估计是14270 ± 1069,14353 ± 1013,和14539 ± 965。因此,尽管从直觉上看不太可能,但获得最后几个序列可能会增加渐近复杂性。64002nn=19964006400064000014270±106914353±101314539±965

编辑:这是一个直到的相似图,但使用的是门的确切数量(通过采样和Z3的组合计算)。我已经从两个的功率开关d = Ĵ - 我任意d ∈ [ 1 ,Ñn=80d=j−i,其概率与logn-logd成正比d∈[1,n2]。 Θ(nlog2n)看起来仍然合理。log⁡n−log⁡ddΘ(nlog2⁡n)

Exact numbers of gates


2
2n2nnn=20n=30
— Joshua Grochow

1
ñ=27

1
@JoshuaGrochow:我已经添加了精确值 ñ=80。
— Geoffrey Irving '18

1
真好!不过,确切数据的传播范围似乎有所增加,这可能表明上限存在一个额外的因素日志⁡ñ?(即,如果“价差”以日志⁡ñ。)
— 约书亚·格罗夫

1
是的,我们不能排除其他因素。如果是的话我会感到惊讶日志⁡ñ但是,自80岁起 lg⁡ñ≈6 并且该常数可疑地接近 1个除此以外。在这一点上,我认为理论必须接管。:)
— 杰弗里·欧文
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.