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

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

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

170ГЛ. 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 некоторые по­

следовательности

могут содержать

по mk1

элементов,

мы пренебрегаем.

 

 

 

 

§ 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)-м этапе. Поскольку суммы членов обеих последовательностей, упорядоченных в (k1)-м этапе, не коррелированы,

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) означает, что в любую последователь­ ность, сформированную для упорядочения в £-м этапе, входит не больше одного члена из каждой последова­ тельности, упорядоченной во время (k1)-го этапа. Кор­ реляция между признаками любых двух членов вновь

§ 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

вательностей, упорядоченных в (k1)-м этапе. Диспер­ сию суммы членов формируемой последовательности можно подсчитать как сумму дисперсий сумм членов не­ коррелированных друг с другом групп. Внутри же каж­ дой из этих групп признаки элементов коррелированы.

Можно показать, что с учетом этой корреляции рекур­ рентная зависимость Д; 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 = пср

(4.75)

— сложность двух пересылок элемента: из последова­ тельности в рабочую ячейку в начале серии сравнений с участием этого элемента и из рабочей ячейки в после­ довательность в конце серии сравнений, а также одного заключительного сравнения;

Т2 = Тп + Тср

(4.76)

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