Сортирующая сеть O(log N)

Материал из Викиконспекты
Перейти к: навигация, поиск

Ажтаи (Ajtai), Комлос (Komlos) и Шимереди (Szemeredi) сконструировали сортирующую сеть на N входов глубины O(logN), при они не углублялись в исследование значения константы, получавшейся при правильном соблюдении необходимой ассимптотики. Впоследствии Патерсон выяснил, что O(logN) можно заменить на clog2N с константой приблизительно равной 6100. Здесь будет описана более поздняя реализация, которая включает в себя меньшую константу c, а именно, будет доказано, что для любого целого числа N такого,что N278 существует сортирующая сеть на N входов, такая, что глубина в худшем случае будет 1830log2N58657.

Основными составяющими этой конструкции будут сортирующие сети на M входов, такие ,что M относительно мало. Мы назовем их M-сортировщиками. Для любых выбранных положительных целых чисел M и N таких что NM, конструкция будет включать в себя N проводов, и будет сделана из M-сортировщиков, глубина которых в худшем случае (48+о(1))logMN+115 при Minf. (Стоит отметить, что асимптотическое o(1) здесь относится к M, а не к N).

Разделители

Сначала введем все необходимые понятия для построения сортирующей сети.


Определение:
Идеальным разделителем будем называть сеть, выходные провода которой разделены на K блоков одинакового размера, таких, что принимая на вход любые a значений, сеть размещает первые a/k минимальные по величине ключи в первый блок, следующие a/k по величине ключи – во второй, и т.д.

Эти идеальные разделители могут быть использованы как модули для построения сортирующей сети на N входов, где N=kd для некоторого положительного числа d. Такая сеть будет представлять собой композицию сетей N0,N1,N2..Nd1, где Nt – парраллельная композиция kt идеальных разделителей одинакового размера.

Конструкция сети

α(t)=tlog1νlogN+log(2Aνk3)logA

ω(t)=tlog1ν+log(Aνk)logAk

α(t)α(t),α(t)tmod2


ω(t)ω(t),ω(t)tmod2


O(logN) clog2N


π(α(t),t)={0,если α(t+1)>α(t),νAKc(a(t),t),если α(t+1)>α(t).


π(i,t)=Aνk1A2k2c(i,t),если α(t)<i<ω(t),


π(ω(t),t)={Aνk1A2k2c(ω(t),t), ω(t+1)>ω(t),α(ω(t),t),если ω(t+1)<ω(t),


χ(α(t),t)={1kc(α(t),t), α(t+1)>α(t),AkνAk2c(α(t),t),если α(t+1)<α(t),


χ(i,t)=AkνAk2c(i,t),если α(t)<i<ω(t),


π(ω(t),t)={α(ω(t+1),t+1)), ω(t+1)>ω(t),0,если ω(t+1)<ω(t),

π(i,t)

χ(i,t)

α(t+1)<α(t)

c(α(t),t)=(A/ν)c(α(t+1),t+1)2Ak2/ν

лемма 3.1 Если α(i,t)0 тогда


dj=0kjia(j,t)={Nki, i=α(t),Nkic(i,t)A2k2, i>α(t),


dj=0kja(j,t)=N


i=α(t)


a(j,t)={0, j


c(j, t) = c(i, t)A^{j-i} когда i\ge\alpha(t)+2


лемма 3.2 Если \alpha(t + 1) \gt \alpha(t) тогда \alpha(t) = 0 или c(\alpha(t),t)\le Ak^2/\nu

\alpha(t+1) \gt \alpha(t) \gt 0

\alpha(t) - 1 \lt \alpha^*(t + 1)

c(\alpha(t),t) \lt 2Ak^2/\nu

Анализ сети

(\frac{1}{k} + \frac{\mu\delta kA^2}{1 - \delta^2k^2A^2})c(i,t)


\frac{1}{k}(Nk^{-i} - c(i,t))


\sum\limits_{j\ge 1} k^{2j-1}\mu\delta^{2j-1}c(i+2j, t)


\sum\limits_{j\ge 1} (k\delta)^{2j-1}c(i+2j, t) = c(i,t)\sum\limits_{j\ge 1} (k\delta)^{2j-1}A^{2j} \lt c(i,t)\frac{\delta k A^2}{1-\delta^2k^2A^2}

\frac{1}{k}Nk^{-i}


лемма 4.2

(\mu + (k - 1)\frac{\mu\delta k A^2}{1 - \delta^2k^2A^2} + \frac{A\nu k - 2A\nu + 1}{2k^2A^2} + \varepsilon_B)c(i,t)


c=c(i, t), \quad a=a(i,t),\quad \pi=\pi(i,t), \quad \chi=\chi(i, t)


\Delta_1 = \frac{\mu\delta kA^2}{1-\delta^2k^2A^2}c


\Delta_2 = \frac{\nu}{1 - \delta^2k^2A^2}c


\Delta = \begin{cases} \Delta_1,&\text{ $i = \alpha(t) \lt \alpha(t+1)$,}\\ \Delta_2,&\text{ $i = \omega(t) \lt \omega(t+1)$,}\\ \Delta_1 + \Delta_2,&\text{если $\alpha(t) \lt i \lt \omega(t) \quad ||\quad i = \alpha(t) \gt \alpha(t + 1), t \ge 2$,} \end{cases}


(k - 1)\Delta - \frac{1}{2}\pi \le (k - 1)\Delta_1 + \frac{A\nu k - 2A\nu + 1}{2A^2k^2}c


лемма 4.3

\varepsilon^* \le \frac{\mu}{k},

(\mu + (k - 1)\frac{\mu\delta k A^2}{1 - \delta^2k^2A^2} + \frac{A\nu k - 2A\nu + 1}{2k^2A^2} + \varepsilon_B)\frac{1}{A\nu} + \mu\delta\frac{Ak}{\nu} \le \mu

Лемма 4.4

\mu \le \frac{\nu}{Ak^2},


\mu\le\frac{1}{2}\delta_F\frac{A\nu k - 1}{A^2k^2},


\varepsilon_F\frac{1}{A\nu} + \delta^2\frac{Ak}{\nu} \le \delta

Конструкция разделителей

Анализ сепараторов

Доказательство