
книги из ГПНТБ / Папернов А.А. Методы упорядочения информации в цифровых системах
.pdf170ГЛ. 4. УПОРЯДОЧЕНИЕ С МИНИМАЛЬНОЙ ПАМЯТЬЮ
§4.3. Особенности процедуры упорядочения
при чередовании кратных и чередовании некратных шагов
Обосновывая в § 4.1 рассматриваемую в настоящей главе процедуру упорядочения, мы исходили из следую щей основной посылки: (ft/2) log2 /г сравнений пар стати стически эквивалентных элементов, входящих в основу процедуры, должны быть дополнены сравнениями пар элементов, в наибольшей степени близких к статистиче ской эквивалентности. К ним в первую очередь относятся пары элементов, входящих в соседние статистически однородные подмассивы, а затем и другие пары, состав ленные из элементов, входящих в близко располо женные друг к другу статистически однородные под массивы.
Однако с точки зрения состава последовательности, формируемой для упорядочения, существенное значение имеет равенство или неравенство целому числу отноше ния шагов (т. е. их кратность или некратность) в после довательно выполняемых этапах.
Если шаг последующего этапа точно равен половине
шага предыдущего этапа ( ht = — |
\, |
то в каждой по |
следовательности, сформированной |
для |
упорядочения в |
і-м этапе, элементы, входившие в |
соседние или близко |
расположенные статистически однородные подмассивы, в половине всех пар оказываются не только не близкими к статистической эквивалентности, но и заведомо не об разующими инверсий, так как их возможная инверсия была устранена при упорядочении одной из последова
тельностей на предыдущем этапе. |
|
|||
Это наглядно видно из рис. 4.5, на котором |
изобра |
|||
жен массив |
после |
окончания |
(і—1)-го этапа. |
Массив |
изображен |
в виде |
матрицы с |
столбцами. |
Элемен |
ты массива располагаются в матрице так, что их номера увеличиваются на единицу при переходе по строке к со седнему правому элементу, а также при переходе от крайнего правого элемента любой строки к крайнему ле вому элементу следующей строки. В /-м столбце изобра
жены элементы у'-й |
последовательности, упорядоченной |
на (і—1)-м этапе. |
В £-й строке изображены элементы |
§ 4.3. ЧЕРЕДОВАНИЕ КРАТНЫХ И |
НЕКРАТНЫХ |
ШАГОВ |
171 |
всех последовательностей с k-u |
номером, |
или, как |
мы |
будем их называть, элементы |
k-ro уровня. Элементы |
одной из последовательностей, сформированных для упо
рядочения |
на |
і-м этапе, отмечены |
проставленными в |
||||||||||||
клетках |
таблицы |
их |
номера |
Номер |
последовательности |
||||||||||
ми. Кроме порядкового |
но |
||||||||||||||
мера, |
в |
качестве |
характери |
|
/ |
|
|
|
г |
||||||
стики |
элемента |
выделенной |
|
|
|
|
|||||||||
для упорядочения, но еще не |
|
3 |
|
|
|
Ч |
|||||||||
упорядоченной |
последова |
|
5 |
|
|
|
6 |
||||||||
тельности |
мы |
будем |
учиты |
|
|
|
|
||||||||
|
7 |
|
|
|
В |
||||||||||
вать |
его |
уровень, |
понимая |
|
|
|
|
||||||||
под |
ним |
порядковый |
номер |
|
9 |
|
|
|
10 |
||||||
этого |
элемента |
в |
упорядо |
|
II |
|
|
|
12 |
||||||
ченной |
|
последовательности |
|
|
|
|
|||||||||
|
І 7 |
|
|
|
|
|
|||||||||
на предыдущем, т. е. |
|
(і—1)-м |
13 |
|
|
|
14 |
||||||||
этапе. |
|
|
|
|
|
|
|
|
|
15 |
|
|
|
16 |
|
При ht |
= — |
|
элемент |
|
17 |
|
|
|
18 |
||||||
массива |
на каждом |
из уров |
|
19 |
|
|
|
го |
|||||||
|
|
|
|
|
|
||||||||||
ней |
имеет |
в |
последователь |
|
|
Л;., |
= |
8 |
|
||||||
|
|
|
|
|
|
||||||||||
ности, |
выделенной |
для |
упо |
|
|
hi |
=і |
- |
|
||||||
рядочения в і-и этапе, по од |
Рис. 4.5. |
Последовательность, |
|||||||||||||
ному элементу, более или ме |
|||||||||||||||
нее |
близкому |
к |
статистиче |
формируемая |
на |
|
і-м |
этапе, |
|||||||
в случае |
чередования |
кратных |
|||||||||||||
ской эквивалентности |
с |
ним. |
|
|
|
|
|
|
|||||||
Для |
того |
чтобы |
удвоить |
|
|
|
|
|
|
||||||
во всех |
последовательностях |
|
|
|
|
|
|
||||||||
количество близких |
к |
стати |
|
|
|
|
|
|
стической эквивалентности элементов на каждом уровне, достаточно изменить шаг на і-м этапе настолько, чтобы избежать точной кратности шагов.
Правда, при h^ — h^, количество статистиче ски эквивалентных пар уменьшается, но если отклонение Л; от — At-_i невелико, то незначительное уменьшение
эффективности этапа в связи с этим может быть много кратно перекрыто увеличением вдвое количества пар с близкими к статистической эквивалентности элементами на соседних и близких к ним уровнях. Наиболее благо приятным с этой точки зрения соотношением шагов в
172 |
ГЛ. 4. УПОРЯДОЧЕНИЕ С МИНИМАЛЬНОЙ ПАМЯТЬЮ |
||
последовательных этапах является |
соотношение |
|
|
|
А , = у ( Ѵ і ± |
1) |
(4-62) |
(знак + или — в формуле (4.62) всегда может быть вы бран так, чтобы hi оказалось нечетным. Для этого доста точно в двоичном числе, изображающем нечетное hi-i ,
|
|
|
Номер |
паследабательности |
|
|
|
|
|||||
|
I |
2 |
3 |
4 |
5 |
6 |
7 |
1 2 |
3 |
4 |
5 |
6 |
7 |
1 |
|
|
1 |
|
|
2 |
|
|
1 |
|
|
|
2 |
2 |
|
3 |
|
|
4 |
|
|
|
|
3 |
|
|
|
3 |
5 |
|
|
6 |
|
|
7 |
4 |
|
|
5 |
|
|
% 4 |
|
|
в |
|
|
9 |
|
|
6 |
|
|
7 |
|
•§ |
|
|
|
|
// |
|
|
|
|
|
|
|
|
%5 |
12 |
/0 |
|
13 |
|
14 |
|
8 |
10 |
|
|
9 |
|
%• в |
|
|
|
|
|
|
|
|
|
||||
І 7 |
|
|
15 |
|
|
16 |
|
11 |
|
|
12 |
|
|
|
|
17 |
|
|
Id |
|
|
|
13 |
|
|
14 |
|
|
19 |
|
|
20 |
|
|
21 |
|
15 |
|
|
|
/6 |
|
|
|
22 |
|
|
23 |
|
|
|
17 |
|
|
|
|
|
|
hM=7 |
|
|
|
|
hH=7 |
|
|
|
||
|
|
|
h, |
=3 |
|
|
|
h; |
=4 |
|
|
6)
Рис. 4.6. Последовательности, формируемые на і-м этапе, в случае чередования некратных шагов:
зачеркнуть младший разряд, а младший из оставшихся разрядов, независимо от его прежнего значения, устано вить в единицу).
На рис. 4.6,а изображен массив после окончания (і—1)-го этапа и последовательность, выделенная для упорядочения на і-м этапе в случае
§ 4.3. ЧЕРЕДОВАНИЕ КРАТНЫХ И НЕКРАТНЫХ ШАГОВ |
173 |
а на рис. 4.6,6 — то же самое в случае
Способ изображения массива остается таким же, как и на рис. 4.5.
Сравнение рис. 4.6,а и 4.6,6", с одной стороны, и рис. 4.4, с другой стороны, позволяет сделать ряд выводов
относительно особенностей формирования |
упорядочивае |
|||
мых последовательностей |
при чередовании |
кратных и че |
||
редовании некратных шагов: |
|
|
||
1. Если при ht— |
последовательность, |
форми |
||
руемая для упорядочения на і-м этапе, целиком |
состав |
|||
ляется |
из двух последовательностей, упорядоченных на |
|||
(і—1)-м |
этапе, включая |
в себя все элементы этих двух |
||
последовательностей, то |
при ht = -^- |
± 1) |
по |
следовательность, формируемая для упорядочения на і-м этапе, составляется из элементов большого числа, а иногда даже всех последовательностей, упорядоченных на (і—1)-м этапе, включая в себя из каждой последова тельности только часть ее элементов.
2. Перестановки элементов, выполнявшиеся в процес
се упорядочения в (і—1)-м этапе, в случае ht =
влияют только на порядок следования элементов в по
следовательностях, |
формируемых |
для |
упорядочения на |
і-м этапе, но не |
влияют на |
их |
состав; в случае |
h.= — I hl__i ± 1 (они влияют не только на порядок сле
дования, но и на состав последовательностей, |
формируе |
||||||||
мых в і-м этапе. |
|
|
|
|
|
|
|
||
Если в |
случае |
чередования |
кратных |
шагов, |
начиная |
||||
с 1-го и кончая последним |
этапом процедуры, т. е. при |
||||||||
hi=2k~l, |
последовательности, формируемые |
для упо |
|||||||
рядочения |
в |
любом |
этапе, |
оказываются |
абсолютно |
||||
случайными |
ио |
составу, |
то |
при наличии |
некратных |
||||
шагов последовательности, |
формируемые для |
упоря |
|||||||
дочения, |
оказываются |
не |
абсолютно |
случайными по |
|||||
составу. |
|
|
|
|
|
|
|
|
|
174 ГЛ. 4. УПОРЯДОЧЕНИЕ С МИНИМАЛЬНОЙ ПАМЯТЬЮ
3. Если последовательности, формируемые для упоря
дочения |
в і-м этапе, при ht |
= ~ |
содержат |
по два |
элемента |
каждого уровня, |
то при |
hl = -^- (hi_1 |
+ 1) |
они, кроме двух элементов с большинства уровней, со держат по одному или по три элемента с некоторых уровней. Это обстоятельство приводит к искажению рав номерного закона распределения признака в каждой по следовательности, формируемой в і-м этапе (даже если . закон распределения признака в массиве в целом и в каждой последовательности, упорядоченной в (і—1)-м этапе, является равномерным). Кроме того, в разных по
следовательностях, формируемых |
в і-м этапе, номера |
||
уровней, содержащих |
один или три элемента, не совпа |
||
дают. Это приводит к |
нарушению |
статистической экви |
|
валентности |
всех последовательностей, сформированных |
||
в і-м этапе. |
Однако для каждой из этих последователь |
||
ностей доля |
уровней, |
представленных в ней одним или |
тремя элементами, мала, особенно при больших значе ниях шага hr
В дальнейшем, мы будем пренебрегать их влияни ем и считать, что все последовательности, сформиро ванные для упорядочения в і-и этапе, статистически эк
вивалентны |
друг другу, а закон распределения призна |
|
ка в них равномерный. При таком допущении |
основные |
|
зависимости для равномерно распределенных |
последова |
|
тельностей |
(п. 4.2.3) остаются справедливыми |
не только |
при чередовании кратных, но и при чередовании некрат ных шагов.
§4.4. Изменение степени неупорядоченности
впроцессе выполнения процедуры
4.4.1. Основные зависимости. После окончания k-ro этапа процедуры все элементы массива оказываются рас
пределенными между hk^n/2k |
упорядоченными после |
|||
довательностями, |
содержащими |
по mk=2k |
элементов. |
|
Тем фактом, что из-за некратности |
п и hk некоторые по |
|||
следовательности |
могут содержать |
по mk—1 |
элементов, |
|
мы пренебрегаем. |
|
|
|
|
§ 4.4. ИЗМЕНЕНИЕ |
СТЕПЕНИ НЕУПОРЯДОЧЕННОСТИ |
175 |
||
Степень неупорядоченности массива после выполне |
||||
ния 6-го этапа Ік |
равна суммарной |
степени взаимной. |
||
неупорядоченности |
|
КіК—0 |
пар упорядоченных |
|
последовательностей, |
т. е. |
|
|
|
Ik |
= |
\ h h ( h k - \ ) k , |
|
(4.63) |
или в соответствии с формулой (4.59), |
|
Распространяя ограничения области применимости фор мулы (4.59) на формулу (4.64), получим, что в тех слу чаях, ікогда она даст результат, меньший, чем
|
^ |
i h i |
{ h |
k - l ) |
^ |
= f ( h |
k - l ) = ^ ^ |
t |
(4.65) |
||
в качестве |
значения |
Iк |
следует |
использовать |
значение |
||||||
(4.65). |
|
|
|
|
|
|
|
|
|
||
Ік |
Из |
формул |
(4.64) |
и (4.65), в частности, следует, что |
|||||||
обращается |
в нуль |
после выполнения |
последнего эта |
||||||||
па |
с hk = 1 . |
|
|
|
|
|
|
|
|
||
|
Расчет |
изменения |
/ к |
от этапа |
к этапу |
сводится |
к рас |
||||
чету |
величины |
D-ük- Рассмотрим |
характер |
изменения |
|||||||
Dit |
и Ік |
для случаев чередования |
кратных и чередова |
||||||||
ния некратных |
шагов. |
|
|
|
|
|
|
4.4.2. Случай чередования кратных шагов. Рассмо трим случай, когда, начиная с 1-го и кончая последним этапом, шаг любого последующего этапа точно равен по ловине шага на предыдущем этапе. Это значит, что шаг на 1-м этапе должен быть равен h\ = 2s, где s — целое число:
s < l o g 2 / î < s + l , |
|
а на k-м этапе hk = |
2s+l~k. |
Общее число этапов равно s-f-1. |
|
Последовательность, |
формируемая для упорядочения |
в k-м этапе, образуется в результате слияния двух по следовательностей, упорядоченных в (k— 1)-м этапе. Поскольку суммы членов обеих последовательностей, упорядоченных в (k—1)-м этапе, не коррелированы,
176 ГЛ. 4. УПОРЯДОЧЕНИЕ С МИНИМАЛЬНОЙ ПАМЯТЬЮ
то Dsfe=2Ds (ft-i). Перед началом 1-го этапа Г Л о = —»
а после окончания k-ro этапа
D s * = ^ - - |
— |
= |
— . |
|
(4.66) |
12 |
12 |
|
3 |
Ѵ |
|
Подставляя (4.66) в (4.64), получим |
|
|
|||
/* = ^ К + О Л* (А* - 1 ) / 2 |
^ ' |
= |
|
|
|
|
|
|
|
|
4--1 |
=^ Х - ( 2 * + 1 ) ^ ( ^ - 1 ) 2 »
Учитывая, что для £, больших 3-=-4, 1 С 2й , получим
Нетрудно видеть, что при |
любом |
большем 2, / й |
|||
больше |
значения, |
соответствующего |
формуле |
(4.65), |
|
т. е. |
|
|
|
|
|
|
]/Тп(п— 2ft) |
n(n — 2k) |
|
||
|
|
gft/2+З |
2f t +2 |
|
|
а значит, |
формула |
(4.67) не выходит |
из области |
приме |
|
нимости. |
|
|
|
|
|
На каждом этапе степень |
неупорядоченности |
масси |
ва уменьшается по сравнению с предыдущим этапом при близительно в V 2 раз.
4.4.3. Группа первых этапов с некратными шагами.
На первых этапах |
процедуры |
с чередованием |
некратных |
шагов выполняется |
условие |
|
|
mk |
= 2*<hk_1 |
= n/2k-1. |
(4.68) |
Условие (4.68) означает, что в любую последователь ность, сформированную для упорядочения в £-м этапе, входит не больше одного члена из каждой последова тельности, упорядоченной во время (k—1)-го этапа. Кор реляция между признаками любых двух членов вновь
§ 4.4. ИЗМЕНЕНИЕ СТЕПЕНИ НЕУПОРЯДОЧЕННОСТИ |
177 |
сформированной |
последовательности отсутствует. Как |
||||||||||||||||
следствие отсутствия |
корреляции, |
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
тк-і |
Dt. |
|
|
|
|
|
|
|
|
|
|
|
|
|
А * = 2 |
2 |
|
|
|
|
|
(4.69) |
||||
|
|
|
|
|
|
|
|
|
І=\ |
|
|
|
|
|
|
|
|
Учитывая зависимость (4.43), получим |
|
|
|
|
|||||||||||||
|
|
|
|
D s ( * _ „ = |
|
fc±i£ |
f=i |
Dl |
|
|
|
(4.70) |
|||||
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
||
и, сравнивая |
(4.70) |
с |
(4.69), |
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
D M = |
i — D s ^ , , . |
|
|
|
(4.71) |
|||||||
|
|
|
|
|
|
|
» » * - ! + 1 |
|
|
|
|
|
|
|
|
||
Рекуррентная |
формула |
(4.71) |
позволяет, |
зная |
началь |
||||||||||||
ное |
значение |
b s |
o = |
1/12 |
(дисперсия |
одного |
случайного |
||||||||||
элемента |
при равномерном |
распределении |
его в |
интер |
|||||||||||||
вале (0,1)), подсчитать D-zk Для |
всех |
k, |
при которых |
||||||||||||||
выполняется |
условие |
(4.68). Зная |
D s *, мы можем под |
||||||||||||||
считать |
|
/вз |
по формуле |
(4.59) |
|
с |
подстановкой |
в нее |
|||||||||
m = mk |
= |
2k. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Если |
значение |
/*з , |
вычисленное |
по |
формуле |
|||||||||||
(4.59), окажется |
меньше |
т й / 2 = 2*_ І , |
то в |
соответствии |
|||||||||||||
с формулой |
(4.60) |
мы его заменим |
на 2*- 1 . |
Значения |
|||||||||||||
Dsk |
и |
|
/вз для нескольких |
первых |
этапов |
процедуры |
|||||||||||
приведены в табл. 4.2. |
|
|
|
|
|
|
|
|
|
|
|
||||||
|
Из |
табл. |
4.2 |
видно, что, начиная |
с 3-го этапа, дис |
||||||||||||
персия |
суммы членов |
последовательности, |
|
выделяемой |
|||||||||||||
для |
упорядочения, |
быстро |
уменьшается, |
несмотря на |
увеличение длины последовательности. Это свидетель
ствует о том, что в результате |
перемещения |
элементов |
|
из одной |
последовательности в |
другую распределение |
|
элементов |
по последовательностям становится |
все более |
|
и более равномерным. |
|
|
Как следствие равномерного распределения элемен тов по последовательностям, вероятности инверсии ста
тистически неэквивалентных пар |
быстро уменьшают |
ся и уже, начиная с 4-го этапа, |
существенно не ВЛИЯ |
л а |
|
ют на / В з - |
|
178ГЛ. 4. УПОРЯДОЧЕНИЕ С МИНИМАЛЬНОЙ ПАМЯТЬЮ
Та б л и ц а 4.2
|
|
|
|
/вс |
|
|
|
к |
т.. |
|
|
|
|
|
JK_ |
|
по формуле |
с |
учетом |
пг |
|||
|
|
|
|||||
|
|
|
формулы |
|
|||
|
|
|
(4.59) |
|
|||
|
|
|
|
(4.60) |
|
||
|
|
|
|
|
|
|
|
0 |
1 |
0,0835 |
0,89 |
(0,5) |
|
|
0,445 (0,25) |
1 |
2 |
0,167 |
1,89 |
(1,33) |
|
|
0,236 (0,167) |
2 |
4 |
0,222 |
3,64 |
|
|
0,114 |
|
3 |
8 |
0,178 |
5,85 |
|
|
0,046 |
|
4 |
16 |
0,079 |
7,36 |
|
8 |
0,0156 |
|
5 |
32 |
0,0186 |
6,94 |
|
16 |
0,0078 |
|
6 • |
64 |
0,0023 |
4,8 |
|
32 |
0,0039 |
|
7 |
128 |
0,00014 |
2,35 |
|
64 |
0,002 |
На первых трех этапах /*з можно подсчитывать по формуле (4.59) (или даже по точной формуле (4.24) — соответствующие значения для mk = 1 и 2 приведены в скобках), а начиная с 4-го этапа, считать, что
4 = 2*"! ( £ > 4 ) ,
'* = - |
^ |
<*>*>• |
|
|
|
|
|||
На каждом этапе степень взаимной неупорядоченно |
|||||||||
сти уменьшается по сравнению |
с |
предыдущим |
этапом |
||||||
приблизительно в два раза, а на первых четырех |
эта |
||||||||
пах— даже несколько больше. В |
табл. 4.2 |
приводится |
|||||||
приближенное значение для Ik/n2 |
|
(без учета |
вычитания |
||||||
2" из п). |
|
|
|
|
|
|
|
|
|
При чередовании некратных шагов процесс упорядо |
|||||||||
чения массива ускоряется |
по сравнению со случаем че |
||||||||
редования кратных |
шагов. |
|
|
|
|
|
|
|
|
4.4.4. Группа последних этапов с некратными |
шагами. |
||||||||
Условие (4.68) выполняется в первых |
~ ( l o g 2 n + l ) |
эта |
|||||||
пах. В следующих |
этапах |
имеет |
место |
соотношение |
|||||
т й |
= 2 * > Ѵ і |
= |
л/2*- 1 - |
|
|
|
( 4 - 7 2 ) |
||
Любая последовательность, |
формируемая в k-м |
этапе, |
|||||||
включает в себя по mkl2k~x |
элементов |
из всех |
последо- |
§ 4.5. СЛОЖНОСТЬ ПРОЦЕДУРЫ УПОРЯДОЧЕНИЯ |
179 |
вательностей, упорядоченных в (k—1)-м этапе. Диспер сию суммы членов формируемой последовательности можно подсчитать как сумму дисперсий сумм членов не коррелированных друг с другом групп. Внутри же каж дой из этих групп признаки элементов коррелированы.
Можно показать, что с учетом этой корреляции рекур рентная зависимость Д; k от Z)j; изменяется и при нимает вид
Оін=(-^-+і) |
2 — D M k |
- i ) |
^ |
|
: 4 ( — L - |
+ |
- ^ - )Z)S <*_„. (4.73) |
1 |
(log 2 n+ 1)-го этапа, отношение D^k/Duk—i) |
||
Начиная с — |
от этапа к этапу увеличивается, а в двух последних эта пах происходит даже увеличение D^k по абсолютной величине. Процесс еще более равномерного распределе ния элементов по последовательностям продолжается, хотя и не так интенсивно, как на первых этапах. Однако это существенно не сказывается на степени неупорядо ченности массива, так как она, независимо от D s опре деляется формулой (4.65).
§4.5. Сложность выполнения процедуры упорядочения
4.5.1. Основные зависимости. В п. 3.5.3 было показа но, что сложность упорядочения последовательности ме тодом вставки определяется формулой
( m f t - l ) 7 \ + /;T„ |
(4.74) |
где |
|
Т1 = 2Тп+Тср |
(4.75) |
— сложность двух пересылок элемента: из последова тельности в рабочую ячейку в начале серии сравнений с участием этого элемента и из рабочей ячейки в после довательность в конце серии сравнений, а также одного заключительного сравнения;
Т2 = Тп + Тср |
(4.76) |