Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги из ГПНТБ / Папернов А.А. Методы упорядочения информации в цифровых системах

.pdf
Скачиваний:
16
Добавлен:
25.10.2023
Размер:
13 Mб
Скачать

15Û ГЛ. 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), одна из которых, допустим А, упорядоче­

на, а вторая

В случайна. Распределение

элементов

 

 

Ось номсроо элемг.нтоб

 

 

 

- Элементы последобатемносгпи А

 

 

 

 

х - Элементы последовательности В

 

 

 

Рис. 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 >

а,_і)

равна вероятности такого

распределе­

ния элементов

по последовательностям А и В, когда

из (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'-го

и

/-го по порядку

элементов последова­

тельности.

Соседние файлы в папке книги из ГПНТБ