
книги из ГПНТБ / Папернов А.А. Методы упорядочения информации в цифровых системах
.pdf15Û ГЛ. i-. УПОРЯДОЧЕНИЕ С МИНИМАЛЬНОЙ ПАМЯТЬЮ
т. е. это условие выполняется. Если на каждом этапе из каждого статистически однородного подмассива, со
держащего |
m элементов, |
назначать для сравнения т/2 |
пар таким |
образом, чтобы |
номера элементов, входящих |
в одну сравниваемую пару, отличались друг от друга всегда на т/2, то поставленное условие будет продол жать выполняться и после окончания каждого этапа. После выполнения серии из п/2 сравнений и устранения возможных инверсий меньшие элементы каждой пары, выделенной из некоторого статистически однородного подмассива, образуют один, а большие — другой стати стически однородный подмассив. Количество статистиче ски однородных подмассивов увеличивается вдвое, а раз мер каждого из них уменьшается вдвое.
После выполнения і этапов массив распадается на 2 '
подмассивов, размер каждого из которых |
равен п/21. |
Для того чтобы количество статистически |
однородных |
подмассивов оказалось равным количеству элементов массива — я, т. е. в массиве вообще не осталось элемен тов, статистически эквивалентных друг другу, необходи мо выполнить logs я этапов, содержащих в общей слож ности (tt/2)log2 fi сравнений. В § 2.4 было показано, что этого количества сравнений в общем случае недостаточ но для полного упорядочения массива. В связи с этим определим способы деформации и дополнения описанной выше основы процедуры.
Рассмотрим некоторое промежуточное состояние упо рядочиваемого массива, когда каждый из статистически однородных подмассивов, на которые распадается мас
сив |
(кроме, быть может, одного), содержит m элемен |
тов. |
Выделим из элементов упорядочиваемого массива т/2 |
последовательностей, в каждой из которых номера эле ментов массива представляют собой члены арифметиче
ской прогрессии с шагом |
(т. е. разностью номеров |
сосед |
|||||||
них |
членов), равным т/2. |
В |
і-ю |
последовательность |
|||||
( і = 1 , 2, |
т/2) |
входят |
элементы |
массива с номерами |
|||||
|
|
t + |
Ji-f |
(Іі=1>2 |
|
|
Л макс). |
(4.1) |
|
г Де |
/г макс может |
быть определено |
из |
условия |
|
||||
|
' |
+ Ui макс — 1) Y |
< |
П < |
і + /,м а к с y . |
(4.2) |
|
§ 4.1. ПРЕДПОСЫЛКИ МЕТОДА |
151 |
|
В зависимости от і количества членов последователь |
|||
ностей /г „экс |
могут принимать |
одно из двух значений, от |
|
личающихся |
друг от друга на |
единицу, т/2 |
выделенных |
таким образом последовательностей охватывают все эле менты массива.
Все выделенные последовательности (если пренебречь возможным различием их размера друг от друга на один элемент) статистически эквивалентны друг другу: в каж дую из них входит по два элемента из каждого статисти чески однородного подмассива. Элементы любой пары, сравниваемые друг с другом при выполнении основы процедуры, всегда принадлежат к одной и той же из вы деленных последовательностей.
Содержание дополнения и деформации описанной выше основы процедуры определим таким образом, что бы в результате выполнения дополнительных сравнений с устранением выявленных инверсий каждая из выде ленных последовательностей полностью упорядочива лась. Такое дополнение основы процедуры:
обеспечивает полное упорядочение всего массива, так как после окончания log2«-ro этапа количество упорядо ченных последовательностей сокращается до одной, совпадающей со всем массивом;
в случае упорядочения каждой последовательности методом вставки, описанным в главе 3, позволяет обой тись одной рабочей ячейкой, т. е. выполнить наложенное на дополнительные объемы памяти ограничение;
обеспечивает минимальное отклонение дополнительно сравниваемых пар элементов от статистической эквива лентности.
Действительно, интуитивно ясно, что чем дальше рас положены друг от друга в массиве статистически одно родные иодмассивы, тем больше отличаются друг от друга системы неравенств, которым удовлетворяют их элементы, и тем более отличаются от 1/2 вероятности их инверсии. При выполнении оператора вставки, как изве стно, всегда сравниваются друг с другом соседние эле менты упорядочиваемой последовательности, которые вследствие самого способа формирования последователь ности либо статистически эквивалентны, либо отличаются от статистической эквивалентности меньше, чем во всех других парах.
152 ГЛ. 4. УПОРЯДОЧЕНИЕ С МИНИМАЛЬНОЙ ПАМЯТЬЮ
Подведем итоги: сформированная описанным выше способом процедура распадается на logs я этапов. Отли чительной характеристикой каждого этапа является шаг h, приблизительно равный на 1.-м этапе /г/2 (где п — количество элементов в массиве), на каждом последую щем этапе — половине шага, выбранного на предыдущем этапе, и, наконец, на последнем этапе — единице. На каждом этапе формируются h последовательностей, в каждой из которых номера элементов представляют со бой члены арифметической прогрессии с шагом (разно стью) h, и каждая последовательность порознь упорядо чивается методом вставки. После окончания последнего этапа с шагом h= \ весь массив оказывается полностью упорядоченным. Приведенный выше ход рассуждений привел нас к процедуре упорядочения, предложенной Шеллом [80].
Основными операторами, используемыми в такой про цедуре упорядочения, оказываются: на первом этапе — оператор обмена, выполняющий сравнения пар элемен тов с устранением выявленных при сравнении инверсий, а на последующих этапах — оператор упорядочения от дельных последовательностей методом вставки.
§ 4.2. Характеристики оператора упорядочения
последовательностей методом вставки
4.2.1. Общие положения. В главе 3 было показано, что эффективность оператора вставки, примененного к масси ву, является невысокой. Однако будучи примененным к упорядочению последовательностей, выделенных описан ным в § 4.1 способом, оператор вставки оказывается значительно более эффективным. Действительно, если выделенная для упорядочения последовательность в ис ходном состоянии является случайной, то сложность ее упорядочения зависит только от ее длины, но не зависит от наличия или отсутствия других элементов массива. В результативность же оператора вставки входит не только составляющая, равная исходной степени внутрен ней неупорядоченности последовательности, снижающей ся в результате упорядочения до нуля, но и составляю щая, равная изменению степени ее взаимной неупорядо ченности с остальными элементами массива. Вторая
§ 4.2. ХАРАКТЕРИСТИКИ ОПЕРАТОРА ВСТАВКИ |
І53 |
|
составляющая, как мы увидим |
ниже, в ряде случаев мо |
|
жет многократно превышать первую. |
|
|
Пусть элементы массива, |
размер которого |
равен |
n = mh, распределены по h последовательностям с m эле ментами в каждой, /-й элемент і-й последовательности имеет номер
t + ( / = 1,2,..., я; / = 1,2,..., m). (4.3)
Основными статистическими характеристиками выделен ных из массива последовательностей является состав входящих в них элементов и порядок их следования.
Последовательность мы будем называть абсолютно случайной по составу, если она может быть получена, как одна из С™ возможных и равновероятных выборок из п элементов массива.
Последовательность мы будем называть абсолютно случайной по порядку, если любой из т\ возможных по
рядков |
следования |
элементов |
равновероятен. |
|
|||
Если k из этих последовательностей |
упорядочены, а |
||||||
I—h— |
k неупорядочены, т. е. случайны, |
то степень не |
|||||
упорядоченности |
массива складывается из: |
|
|||||
а) |
внутренней |
неупорядоченности |
/ случайных |
после |
|||
довательностей, т. е. |
|
|
|
|
|||
|
|
|
/ т { т - 1 ) |
; |
|
(4.4) |
|
б) |
взаимной неупорядоченности |
между |
— I ) |
||||
парами случайных |
последовательностей, |
т. е. |
|
||||
|
|
|
- L / ( / - l ) m « ; |
|
|
(4.5) |
в) взаимной неупорядоченности между kl парами, со ставленными из одной случайной и одной упорядоченной последовательности, т. е.
Шщ, |
(4.6) |
где /„у—степень взаимной неупорядоченности между од ной случайной последовательностью и одной упорядочен ной последовательностью;
154 ГЛ. А. УПОРЯДОЧЕНИЕ С МИНИМАЛЬНО!"! ПАМЯТЬЮ
г) взаимной неупорядоченности между k(k—1)/2 парами упорядоченных последовательностей, т. е.
|
k(k—\)Iyy/2, |
|
(4.7) |
|
где / у у — степень взаимной |
неупорядоченности между |
|||
двумя упорядоченными последовательностями. |
|
|||
Результативность |
упорядочения |
еще одной, |
т. е. |
|
(6+1)-й, последовательности равна |
(^ -/пу). |
|
||
+ k (7„у - |
/ у у ) + |
(/ - 1) |
(4.8) |
К вычислению величин 7н у и I у у , существенно влияющих на результативность оператора вставки, мы и переходим.
4.2.2. Степень взаимной неупорядоченности между случайной и упорядоченной последовательностями. Име ем две последовательности А и В, по m элементов в каж
дой |
(рис. 4.1), одна из которых, допустим А, упорядоче |
||||
на, а вторая |
В случайна. Распределение |
2т элементов |
|||
|
|
Ось номсроо элемг.нтоб |
|
|
|
|
• |
- Элементы последобатемносгпи А |
|
|
|
|
х - Элементы последовательности В |
|
|
|
|
Рис. 4.1. Распределение элементов последовательностей |
А |
и В по |
|||
|
|
номерам. |
|
|
|
по |
последовательностям А -а В является |
одной |
из С%т |
||
возможных выборок m элементов из 2т. Будем |
считать, |
что все возможные выборки равновероятны, или, иными словами, распределение элементов по последовательно
стям А к В является абсолютно |
случайным. |
|
|
|
Определим математическое ожидание количества ин |
||||
версий і-го члена последовательности А со всеми |
члена |
|||
ми последовательности |
В. Элемент at имеет |
инверсию с |
||
теми из членов bx-^-b і-\ |
последовательности |
В, которые |
||
по величине больше чем а , , и с |
теми из членов |
bt-h-bm> |
||
которые меньше а{. Определим |
вероятность |
того, что |
произвольный элемент b последовательности В меньше at. Для этого нужно, чтобы в совокупности из т+1 элемен-
§ 1.2. ХАРАКТЕРИСТИКИ ОПЕРАТОРА ВСТАВКИ |
155 |
та, состоящей из элемента Ь и всей последовательности А , элемент Ъ был по величине либо 1-м, либо 2-м и т. д., вплоть до г-го. Ввиду того, что элемент Ь и элементы последовательности А выбираются случайно, элемент b с одинаковой вероятностью, равной 1 / ( т + 1 ) , может по лучить любой из ( т + 1 ) номеров в упомянутой совокуп ности элементов. Следовательно,
Соответственно |
от + |
1 |
|
|
|
|
|
|
|
||
|
p(b>at)= |
1 |
|
. |
(4.96) |
|
|
m + |
1 |
|
|
Математическое ожидание |
количества инверсий |
а1 с по |
|||
следовательностью В равно |
|
|
|
|
|
( / _ ! ) ( і |
L ^ + ( m + |
1 _ 0 |
|
1 |
|
\ |
m -f- 1 / |
m |
+ |
|
= - , + , '(2 +^Ь)-"4т- <410>
Математическое ожидание количества инверсий всех чле нов последовательности А со всеми членами последова тельности В равно сумме математических ожиданий (4.10) по всем / от 1 до т, т. е.
tïi |
й |
2 m + |
3 _ |
. 2 |
2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
и \ |
|
m + |
1 |
|
m + 1 |
|
|
|
|
|
|
|
|
= — m -\ |
|
— V « |
|
V fi = |
|
|
|||
|
|
|
|
« |
+ 1 |
é i |
|
|
« + 1 ê V |
|
|
|
|
m -4- 2 m + 3 от |
(от + 1) |
от |
2 |
_ |
от (от + 1) (2 от + |
1) |
|||
|
|
от + |
1 |
2 |
+ |
1 |
6 |
|
|
||
|
|
|
|
|
|
|
|
|
от (2 от + |
1) |
|
|
|
|
|
|
|
|
|
|
6 |
• |
< 4 Л 1 > |
Степень взаимной неупорядоченности двух случайных массивов, как упоминалось выше, равна т 2 / 2 . Следова тельно, ее изменение в результате упорядочения после довательности А равно
m* |
m (2 от - f 1) _ от (m — 1) |
(4.12) |
|
|
2 6
156 ГЛ. 4. УПОРЯДОЧЕНИЕ С МИНИМАЛЬНОЙ ПАМЯТЬЮ
Нетрудно показать, что вывод не изменился бы, если бы упорядочивалась последовательность В, а не последова тельность А .
4.2.3. Степень |
взаимной |
|
неупорядоченности |
между |
|||||||||||
двумя |
упорядоченными |
последовательностями. |
Пусть |
||||||||||||
обе изображенные |
на рис. 4.1 последовательности |
А я В |
|||||||||||||
упорядочены. Распределение |
|
элементов |
по |
|
последова |
||||||||||
тельностям А я В |
является |
|
абсолютно |
случайным в |
|||||||||||
смысле, определенном в п. 4.2.1. |
|
|
|
|
|
|
|
||||||||
Взаимная степень |
неупорядоченности |
А |
я В |
равна |
|||||||||||
сумме математических |
ожиданий |
инверсий |
|
всех пар, |
|||||||||||
один из элементов которых принадлежит |
последо |
||||||||||||||
вательности А , а другой — последовательности |
В, т. е. |
||||||||||||||
|
|
|
|
|
m m |
|
|
|
|
|
|
|
|
|
|
|
|
|
/ b 3 |
= |
S |
S |
|
(',/) . |
|
|
|
(4-13) |
|||
где ри (i, j) —вероятность инверсии элементов at |
и |
Ь-г |
|||||||||||||
Вероятности |
ри |
(і, j) |
удовлетворяют |
некоторым |
ре |
||||||||||
куррентным соотношениям. |
|
|
|
|
|
|
|
|
|
|
|||||
Рассмотрим |
случай, когда |
і < / . |
|
|
|
|
|
|
|
||||||
Условие инверсии элементов а1 и b j , т. е. неравенство |
|||||||||||||||
|
|
|
|
at > |
bj |
|
|
|
|
|
|
|
|||
выполняется при а г _ і > Ь ; . |
и, кроме |
того, в случае |
|
|
|||||||||||
|
|
|
аі |
> bj |
> |
at-\. |
|
|
|
|
|
|
|
||
Следовательно, |
|
|
|
|
|
|
|
|
|
|
|
|
|
||
Ри (і, /) = |
Р (аі-\ |
> bj) + |
р (а, > |
bj > а,_і) = |
|
|
|
|
|
||||||
|
= |
M * — 1, /) + |
P (ai > bj |
> at-i). |
|
|
(4.14) |
||||||||
Событие at > bj > |
аг-_і |
|
означает, |
что |
последов ател ь- |
||||||||||
ность А |
содержит |
(і—1) |
элемент, |
меньший |
bj, |
и |
|||||||||
(т—і+1) |
элементов, больших |
bj. |
С учетом |
элементов, |
входящих в последовательность В, 2т элементов, входя
щих |
в обе |
последовательности, содержат |
(і—1) + (/— |
|
—\)=і |
+ і—2 элементов, меньших bj, и ( m — і + \ ) + (т— |
|||
—/) |
—2т—і—/+1 |
элементов, больших bj |
. Вероятность |
|
р(аі |
> bj > |
а,_і) |
равна вероятности такого |
распределе |
ния 2т элементов |
по последовательностям А и В, когда |
||
из (i + j—2) элементов, меньших bj, |
в |
последователь |
|
ность А попадает |
(і—1) элемент, |
а из |
(2т—і— |
§ 4.2. ХАРАКТЕРИСТИКИ ОПЕРАТОРА ВСТАВКИ |
157 |
элементов, больших bj, в последовательность А попада ет (т—і+1) элементов.
Количество таких распределений равно
С''—1 /-ѴП—і+1 1+1—2 ^2т-і—і+Ѵ
а вероятность
|
|
|
|
рі—1 |
/>т—і+\ |
|
|
||
р{а, |
> b j > * _ , ) = |
C f + / |
- 2 |
^ m - W + 1 |
• |
(4.15) |
|||
Подставляя |
(4.15) |
в (4.14), получим |
|
|
|
||||
Ри (f, /) = |
P . (f - |
1, /) + |
< + |
/ " А Д А № " * - / + 1 - |
(4.16) |
||||
|
|
|
|
|
|
^2m |
|
|
|
Неравенство |
а г >Ь; - выполняется |
во всех |
случаях, когда |
||||||
а,-+і>Ьу ., за исключением случаев, когда |
аі+\ > Ь у > а , . |
||||||||
Следовательно, |
|
|
|
|
|
|
|
|
|
Ри («', /) = P (аі+\ >b/) |
— p (ai+l |
> bj >at). |
(4.17) |
||||||
В тех случаях, |
когда |
і + 1 < / , |
|
|
|
|
|
||
|
р ( а г + 1 >ôy) = />„(/+ Ь/) . |
|
|
(4.18a) |
|||||
В тех случаях, |
когда |
і + 1 = / , |
|
|
|
|
|
||
|
p ( f l i + , |
> bj) = 0,5 = д, (і + 1, / ) . |
|
(4.186) |
|||||
С учетом (4.18а), (4.186) |
и соотношения |
типа |
(4.15) |
рекуррентную формулу (4.17) можно переписать в виде
Р„ (/. /) = Ри (/ + 1. /) - Сі+І~1!.TLi"' • (4-19)
Таким же образом можно вывести рекуррентные фор мулы
Ри (і, /) = Ри (I, І — 1) — Р (fy > a< > V - i ) =
- P h O W - D - |
C |
^ |
- |
2 |
^ - - |
- ' + ' , |
(4.20) |
Ри (i, j) = P„ (*, / + 1) + P (bj+i |
> |
a |
t |
> |
bj) |
= |
|
|
|
pi—1 |
|
pm—i |
|
= РИ О", / + D + |
. m ~ ' W • |
(4.21) |
158 ГЛ. 4. УПОРЯДОЧЕНИЕ С МИНИМАЛЬНОЙ ПАМЯТЬЮ
Рекуррентные формулы (4.16), (4.19) — (4.21) могут быть положены в основу расчетной схемы для вычисления всех ри (і, j) и / в з (4.13). Для этого их нужно дополнить «опорными» точками, т. е. вероятностями ри(і, /) при некоторых значениях і и /, вычисляемыми непосредствен но. К таким опорным точкам удобно отнести
|
|
р и (г, 0 = |
0,5 |
( / = 1,2, . . . , т ) , |
|
|
(4.22а) |
|||||
|
|
|
|
pa(hm) |
= |
l/CSn- |
|
|
|
(4.226) |
||
При |
вычислении |
/ ю |
(4.13) |
удобно |
учитывать |
соотноше |
||||||
ния, |
вытекающие |
из соображений |
симметрии: |
|
||||||||
Ри (':> /) = Рп (/. О = р н (m + |
1 — /, m + |
1 — /) = |
|
|||||||||
|
|
|
|
= p „ ( m + l - / , |
m + 1 - 0 . |
(4-23) |
||||||
Соотношения |
(4.23) |
дают |
возможность |
из т2 пар, |
||||||||
входящих |
в сумму (4.13), вычислять |
только |
те, которые |
|||||||||
отмечены |
кружками на рис. 4.2. |
|
|
|
|
|
||||||
|
|
|
|
|
|
I |
|
|
|
|
|
|
|
|
|
1 2 |
|
3 |
|
i |
|
m |
|
|
|
|
|
|
1/2 |
|
|
|
|
|
—О- |
О |
|
|
|
|
|
\ 1/2 |
О |
О |
О |
О |
/ О |
Л |
|
|
|
|
|
|
\ |
1/2 |
о |
о / |
О |
|
|
|
||
|
|
|
|
|
\ 1/2 |
|
о |
|
|
|
|
|
|
|
|
|
|
\ 1/2 1/2О |
|
|
|
|
|
||
|
|
|
|
|
) |
|
|
|
|
|
|
|
|
|
j |
|
|
/ |
|
|
1/2 |
|
|
|
|
|
|
|
|
/ |
|
|
|
1/2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
V |
|
|
|
|
|
1/2 |
|
|
|
|
|
|
|
/ |
|
|
|
|
|
1/2 |
|
|
Рис. 4.2. Структура матрицы вероятностей инверсий между элемен тами двух упорядоченных последовательностей А и В.
В [46] приводится выражение
m 2 m - a
§ 4.2. ХАРАКТЕРИСТИКИ ОПЕРАТОРА ВСТАВКИ |
159" |
к Которому можно, используя свойства биномиальных коэффициентов, после довольно громоздких преобразова ний привести (4.13).
Однако рекуррентные соотношения (4.16), (4.19) — (4.21) и окончательное выражение (4.24) справедливы только при абсолютно случайных по составу последова тельностях и не позволяют учесть невыполнение этого условия.
Из последующего изложения будет ясно, что предпоч тительной с точки зрения быстродействия является про цедура, при которой формируются последовательности, не абсолютно случайные по составу. Поэтому мы перей дем к выводу другого приближенного выражения для /из , преимуществом которого является возможность рас пространения его и на случаи последовательностей, не абсолютно случайных по составу.
4.2.4. Вероятностные характеристики равномерно рас
пределенных последовательностей. Предполагается, |
что |
в последовательностях А я В вероятностный закон |
рас |
пределения признаков элементов является равномерным в интервале (0, 1). Корреляционный момент между раз ными элементами, принадлежащими одной и той же по следовательности, равен нулю. В данном случае сущест венной является не равномерность распределения, а ста тистическая эквивалентность обеих последовательностей. Действительно, каким бы ни был общий для обеих после довательностей закон распределения, всегда существует такое функциональное преобразование признаков, кото рое, не изменяя порядка следования элементов и, следо вательно, степени взаимной неупорядоченности обеих по следовательностей, трансформирует заданный закон рас пределения в равномерный закон распределения на вы
бранном |
интервале. |
|
После |
упорядочения каждой последовательности, |
в |
процессе |
которого каждый ее элемент получает один |
из |
m порядковых номеров, появляются новые вероятност
ные характеристики, связывающие друг с другом |
поряд |
|||||
ковые |
номера |
и |
признаки |
элементов: математическое |
||
ожидание M(at), |
|
дисперсия |
D(ai) |
і-то по порядку эле^ |
||
мента |
последовательности, |
корреляционный |
момент |
|||
К (at, |
ctj ) t'-го |
и |
/-го по порядку |
элементов последова |
тельности.