ランダムソートネットワークが動作する可能性

Given $n$ inputs $x_0, ldots, x_{n-1}$, we construct a random
sorting network with $m$ gates by iteratively picking two variables
$x_i, x_j$ with $i < j$ and adding a comparator gate that swaps
them if $x_i > x_j$.

Question 1: For fixed $n$, how large must $m$
be for the network to correctly sort with probability $>
frac{1}{2}$?

連続した各ペアがスワップされることを除いて、正しくソートされた入力は$ Theta(n ^ 2 log n ^
2)を取るので、少なくとも下界$ m = Omega(n ^ 2 log
n)各ペアがコンパレータとして選択される時間。これは上限でもありますが、おそらく$ log n $要因が増えていますか?

Question 2: Is there a distribution of
comparator gates that achieves $m = tilde{O}(n)$, perhaps by
choosing close comparators with higher probability?

ベストアンサー

ここでは、ビットワイドソートに適用されたD.W.の考えに基づく、質問2の実証データをいくつか示します。 $ n
$変数に対しては、$ lg n – k $に比例する確率で$ j – i = 2 ^ k $を選び、$ i
$を一様にランダムに選んで比較器$(i、j)$を得る。これは、$ n
$が2の累乗であれば、ビートソートの比較器の分布にマッチし、それ以外の場合は近似します。

For a given infinite sequence of gates pulled from this
distribution, we can approximate the number of gates required to
get a sorting network by sorting many random bit sequences. Here’s
that estimate for $n < 200$ taking the mean over $100$ gate
sequences with $6400$ bit sequences used to approximate the count:
Approximate number of gates It appears to match $Theta(n
log^2 n)$, the same complexity as bitonic sort. If so, we don’t
eat an extra $log n$ factor due to the coupon collector problem of
coming across each gate.

強調するには:$ 2 ^ n $ではなく、期待されるゲート数に近似するために$ 6400
$ビットシーケンスのみを使用しています。 $ 6400 $、$ 64000 $、$ $を使用すると、$ n = 199
$のために必要な平均ゲートがその数で上昇します。 640000 $シーケンスの推定値は$ 14270 pm 1069 $、$
14353 pm 1013 $、$ 14539 pm 965
$です。したがって、最後のいくつかのシーケンスを得ることは、漸近的複雑さを増加させる可能性があるが、直感的にはそれは起こりそうにない。

Edit: Here’s a similar plot up to $n = 80$, but
using the exact number of gates (computed via a combination of
sampling and Z3). I’ve switched from power of two $d = j-i$ to
arbitrary $d in [1,frac{n}{2}]$ with probability proportional to
$frac{log n – log d}{d}$. $Theta(n log^2 n)$ still looks
plausible.

Exact numbers of gates

返信を残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です