<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://neerc.ifmo.ru/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=217.66.152.113&amp;*</id>
		<title>Викиконспекты - Вклад участника [ru]</title>
		<link rel="self" type="application/atom+xml" href="http://neerc.ifmo.ru/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=217.66.152.113&amp;*"/>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%92%D0%BA%D0%BB%D0%B0%D0%B4/217.66.152.113"/>
		<updated>2026-05-15T23:07:49Z</updated>
		<subtitle>Вклад участника</subtitle>
		<generator>MediaWiki 1.30.0</generator>

	<entry>
		<id>http://neerc.ifmo.ru/wiki/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Dominica&amp;diff=46710</id>
		<title>Участник:Dominica</title>
		<link rel="alternate" type="text/html" href="http://neerc.ifmo.ru/wiki/index.php?title=%D0%A3%D1%87%D0%B0%D1%81%D1%82%D0%BD%D0%B8%D0%BA:Dominica&amp;diff=46710"/>
				<updated>2015-05-19T21:17:35Z</updated>
		
		<summary type="html">&lt;p&gt;217.66.152.113: /* Разделители */ -страшный черновик-&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Ажтаи (Ajtai), Комлос (Komlos) и Шимереди (Szemeredi) сконструировали сортирующую сеть на N входов глубины &amp;lt;tex&amp;gt; O(\log N) &amp;lt;/tex&amp;gt;, при они не углублялись в исследование значения константы, получавшейся при правильном соблюдении необходимой ассимптотики. Впоследствии Патерсон выяснил, что &amp;lt;tex&amp;gt; O(\log N) &amp;lt;/tex&amp;gt; можно заменить на &amp;lt;tex&amp;gt; c\log_2 N &amp;lt;/tex&amp;gt; с константой приблизительно равной &amp;lt;tex&amp;gt; 6100 &amp;lt;/tex&amp;gt;. Здесь будет описана более поздняя реализация, которая включает в себя меньшую константу &amp;lt;tex&amp;gt;c&amp;lt;/tex&amp;gt;, а именно, будет доказано, что для любого целого числа &amp;lt;tex&amp;gt;N&amp;lt;/tex&amp;gt;  такого,что &amp;lt;tex&amp;gt;N \ge 2^{78}&amp;lt;/tex&amp;gt; существует сортирующая сеть на &amp;lt;tex&amp;gt;N&amp;lt;/tex&amp;gt;  входов, такая, что  глубина в худшем случае будет &amp;lt;tex&amp;gt;1830 \log_2 N - 58657 &amp;lt;/tex&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Основными составяющими этой конструкции будут сортирующие сети на &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt; входов, такие ,что &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt; относительно мало. Мы назовем их &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt;-сортировщиками.  Для любых выбранных положительных целых чисел &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;N&amp;lt;/tex&amp;gt;  таких что &amp;lt;tex&amp;gt; N \ge M&amp;lt;/tex&amp;gt;, конструкция будет включать в себя &amp;lt;tex&amp;gt;N&amp;lt;/tex&amp;gt; проводов, и будет сделана из &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt;-сортировщиков, глубина которых в худшем случае &amp;lt;tex&amp;gt;(48 + о(1))\log_MN + 115&amp;lt;/tex&amp;gt; при &amp;lt;tex&amp;gt;M \to \inf&amp;lt;/tex&amp;gt;.&lt;br /&gt;
(Стоит отметить, что асимптотическое &amp;lt;tex&amp;gt;o(1)&amp;lt;/tex&amp;gt; здесь относится к &amp;lt;tex&amp;gt;M&amp;lt;/tex&amp;gt;, а не к &amp;lt;tex&amp;gt;N&amp;lt;/tex&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
== Представление в виде дерева и разделители ==&lt;br /&gt;
&lt;br /&gt;
Сначала введем все необходимые понятия для построения сортирующей сети.&lt;br /&gt;
&lt;br /&gt;
{{Определение&lt;br /&gt;
|definition=&lt;br /&gt;
'''Идеальным разделителем''' будем называть сеть, выходные провода которой разделены на K  блоков одинакового размера, таких, что принимая на вход любые &amp;lt;tex&amp;gt;a&amp;lt;/tex&amp;gt; значений, сеть размещает первые &amp;lt;tex&amp;gt;a/k&amp;lt;/tex&amp;gt; минимальные по величине  ключи в первый блок, следующие &amp;lt;tex&amp;gt;a/k&amp;lt;/tex&amp;gt; по величине ключи – во второй, и т.д.&lt;br /&gt;
}}&lt;br /&gt;
Эти идеальные разделители могут быть использованы как модули для построения сортирующей сети на &amp;lt;tex&amp;gt;N&amp;lt;/tex&amp;gt;  входов, где &amp;lt;tex&amp;gt;N  = k^d&amp;lt;/tex&amp;gt; для некоторого положительного числа d. Такая сеть будет представлять собой композицию сетей &amp;lt;tex&amp;gt;N_0, N_1, N_2 \dots N_{d-1}&amp;lt;/tex&amp;gt;, где &amp;lt;tex&amp;gt;N_t&amp;lt;/tex&amp;gt; – парраллельная композиция &amp;lt;tex&amp;gt;k^t&amp;lt;/tex&amp;gt; идеальных разделителей одинакового размера. &amp;lt;tex&amp;gt;k^{d - t}&amp;lt;/tex&amp;gt; Выходных проводов уровня &amp;lt;tex&amp;gt;N_t&amp;lt;/tex&amp;gt; разделены на &amp;lt;tex&amp;gt;k&amp;lt;/tex&amp;gt; блоков одинакового размерв и каждый из этих блоков формирует вход для идеального разделителя из N_{t+1}.&lt;br /&gt;
Можно рассмотреть другую интерпретацию этой конструкции. k^d входных данных мы будем рассматривать как листья полного k-ичного дерева глубины d;  каждый модуль(разделитель) из N_t будем считать узлом, находящимся на высоте t  в нашем дереве. Будем считать, что в каждый момент времени t = 0, 1, 2, ... в - 1 входные провода распределены по всему уровню t нашего дерева. В то же время, каждый узел х на t уровне принимает k^{d - t}  проводов и эти провода затем используются как вход  для идеального разделителя который разбивает их на k блоков одинакового размера в промежуток времени между t  и t + 1. Выходные провода из  j получившегося блока идут в j ребенка вершины x. К моменту времени d каждый лист дерева содершит в себе только один провод, а этот провод содержит в себе значение, которое и приписывается к листу.&lt;br /&gt;
&lt;br /&gt;
К сожалению, эта схема описывает сортирующую сеть глубины &amp;lt;tex&amp;gt;\Omega((\log_k N)(\log_m N)) &amp;lt;/tex&amp;gt;: каждый идеальный разделитель на а проводов, если его делать из М-разделителей, должен иметь глубину более чем &amp;lt;tex&amp;gt;\log_M(\dfrac{k-1}{k}a). (Чтобы осознать это, заметим, что для каждого выхода y должно быть более чем &amp;lt;tex&amp;gt;\dfrac{k -1}{k}a&amp;lt;/tex&amp;gt; входов x , таких, что ключ мог бы дойти от x до y). К счастью, схему можно переделать так, чтобы она описывала сортирующую сеть глубины &amp;lt;tex&amp;gt;O(\log_M N)&amp;lt;/tex&amp;gt; : идеальные разделители можно заменить на более слабые модули константной глубины,чья слабость будет компенсироваться более сложным перемещением ключей через дерево.&lt;br /&gt;
&lt;br /&gt;
Слабые модули мы назовем сепараторами. У каждого такого сепаратора есть а выходных проводов, которые делятся на блоки &amp;lt;tex&amp;gt; F_1, B_1, B_2, \dots, B_k, F_2 &amp;lt;/tex&amp;gt; так, что &amp;lt;tex&amp;gt; |F_1| = |F_2|&amp;lt;/tex&amp;gt; &amp;lt;tex&amp;gt; |B_1| = |B_2| = \dots = |B_k| &amp;lt;/tex&amp;gt;;&lt;br /&gt;
&lt;br /&gt;
Как правило, &amp;quot;обрамляющие блоки&amp;quot; &amp;lt;tex&amp;gt;F_1&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;F_2&amp;lt;/tex&amp;gt; гораздо меньше всех остальных. В каком-то смысле, можно сказать, что сепаратор аппроксимирует идеальный разделитель. Тогда будем измерять точность аппроксимации величинами &amp;lt;tex&amp;gt; \delta_F, \varepsilon_F &amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;\varepsilon_B&amp;lt;/tex&amp;gt;. Сортирующая сеть, с такими же выходными проводами как и наш сепаратор, принимая на вход I, состоящее из a отдельных проводов, распределяет соответствующие &amp;lt;tex&amp;gt;I_j&amp;lt;/tex&amp;gt; в выходные блоки &amp;lt;tex&amp;gt;B_j&amp;lt;/tex&amp;gt;. Сераратор же распределяет вход &amp;lt;tex&amp;gt;I&amp;lt;/tex&amp;gt; таким образом, что 1) для каждого &amp;lt;tex&amp;gt; j = 1, 2, \dots, k, &amp;lt;/tex&amp;gt; не более &amp;lt;tex&amp;gt;\varepsilon_B a&amp;lt;/tex&amp;gt; ключей из &amp;lt;tex&amp;gt;I_j&amp;lt;/tex&amp;gt; не попадут в &amp;lt;tex&amp;gt;B_j&amp;lt;/tex&amp;gt;.&lt;br /&gt;
2)для каждого целого j такого, что &amp;lt;tex&amp;gt;1\le j\le \delta_F|F_i|&amp;lt;/tex&amp;gt;не более &amp;lt;tex&amp;gt;\varepsilon_F j&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt; самых маленьких чисел могут не попасть в &amp;lt;tex&amp;gt;F_1&amp;lt;/tex&amp;gt; и не более &amp;lt;tex&amp;gt;\varepsilon_F j&amp;lt;/tex&amp;gt; из &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt; самых больших чисел могут не попасть в &amp;lt;tex&amp;gt;F_2&amp;lt;/tex&amp;gt;&lt;br /&gt;
Что касается перемещения значений в дереве, то в момент времени &amp;lt;tex&amp;gt;t = 0&amp;lt;/tex&amp;gt;  все &amp;lt;tex&amp;gt;k^d&amp;lt;/tex&amp;gt; проводов входят в корень. Между временами &amp;lt;tex&amp;gt; t&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;t + 1&amp;lt;/tex&amp;gt; каждый узел &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;, в который входят какие-нибудь провода, использует эти а проводов как вход для сепаратора, с разумно выбранным размером для выходных блоков. Провода из каждого выходного блока &amp;lt;tex&amp;gt;B_j&amp;lt;/tex&amp;gt; посывлаются в &amp;lt;tex&amp;gt;j&amp;lt;/tex&amp;gt;того сына узла &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;а провода попавшие в &amp;lt;tex&amp;gt;F_1&amp;lt;/tex&amp;gt; или &amp;lt;tex&amp;gt;F_2/tex&amp;gt; посылаются обратно к родителю &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;. (Если &amp;lt;tex&amp;gt;x&amp;lt;/tex&amp;gt;. - корень, то &amp;lt;tex&amp;gt;F_1&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;F_2&amp;lt;/tex&amp;gt; должны быть пустыми. Так как   &amp;lt;tex&amp;gt;F_1&amp;lt;/tex&amp;gt; и &amp;lt;tex&amp;gt;F_2/tex&amp;gt; сравнительно маленькие, то большинство значений провалится ниже к листам дерева;  так как сепаратор не идеальный, то некоторые ключи могут быть посланы вниз в неправильном направлениии. Свойство 1) гарантирует, что очень малое количество собъется с пути, а свойство 2) гарантирует, что большинство из этих ключей вернутся назад и смогут исправить свое положение позже.&lt;/div&gt;</summary>
		<author><name>217.66.152.113</name></author>	</entry>

	</feed>