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

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

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

80ГЛ. 2. ОСНОВНЫЕ ПОНЯТИЯ ТЕОРИИ УПОРЯДОЧЕНИЯ

Вкачестве таких вероятностных оценок рассмотрим математическое ожидание суммы значений функции ин­ версии (2.31) и математическое ожидание от сумм квад­ ратов разности индексов (2.34).

Впервом случае имеем

/і = М [ / 1 ] = 2 £ M'{Я [*,/]} = 2

V Р ф (2.50)

1=1 1=1+1

1=1

/=і+1

так. как математическое ожидание суммы случайных величин равно сумме математических ожиданий. Для получения такой оценки достаточно использовать ха­ рактеристическую матрицу Р.

Для второго критерия имеем

/2 = M [ J t ] = V M [(A i+ - Д /-)»].

(2.51)

Учитывая, что выражение для разности индексов (2.32) достаточно сложно, а тем более сложно выра­ жение для квадрата математического ожидания этой величины, в дальнейшем будем использовать лишь пер­ вый из указанных критериев, обозначаемый просто /.

§ 2.3. Характеристики операторов упорядочения

Каждый оператор процедуры упорядочения можно охарактеризовать тремя величинами: результативностью AI, сложностью Т и эффективностью Э.

Результативностью оператора называется изменение степени неупорядоченности массива в результате вы­ полнения этого оператора.

AI

(оператор)=/

(до выполнения оператора)—

 

 

•—/

(после выполнения оператора).

(2.52)

 

Результативность, естественно, зависит не только от

оператора, но также и от исходного состояния

массива

и

от выбранного

критерия оценки степени неупорядо­

ченности массива. Один и тот же оператор должен об­ ладать различной результативностью при воздействии на массивы с различной начальной степенью упорядо­ ченности.

§ 2.3. ХАРАКТЕРИСТИКИ ОПЕРАТОРОВ УПОРЯДОЧЕНИЯ

81

Сложностью

оператора называется

величина,

про­

порциональная

времени его выполнения

(в случае

фик­

сированного времени выполнения оператора) или про­ порциональная математическому ожиданию времени его выполнения в общем случае. Поскольку каждый опера­ тор упорядочения представляет собой некоторую после­ довательность операций сравнения, пересылки и обмена, то сложность его будет выражаться в виде функции от времени выполнения этих операций %об, Т„) и ве­ роятности их выполнения. Следует еще раз подчерк­ нуть, что время выполнения указанных выше операций зависит как от формы организации информации об объ­ ектах в памяти ЦВМ и ее объема, так и от структурных

особенностей

используемой машины и

от

особенностей

ее системы

команд. Эффективностью

оператора назы­

вается отношение его результативности

и

сложности

 

Э = М/Т,

 

(2.53)

или результативность, отнесенная к единице сложности. Для процедуры упорядочения в целом результатив­ ность есть величина постоянная, так как до выполнения процедуры состояние массива неизвестно и он предпола­ гается случайным с соответствующей степенью неупо­ рядоченности, а в результате ее выполнения степень не­ упорядоченности массива обращается . в нуль. Таким

образом,

Л / (процедуры) = /0 ,

(2.54)

где /о — начальная степень неупорядоченности массива. Если выполнение процедуры распадается на ряд эта­ пов (или операторов), то суммарная результативность всей последовательности операторов должна равняться

результативности процедуры

2 Д W o ,

(2-55)

s

 

где s — номер оператора.

Существенным параметром процедуры упорядочения

является ее сложность,

равная

суммарной

сложности

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

составляющих ее

операторов:

Т (процедуры) =

V Ts,

(2.56)

 

 

s

 

82

ГЛ. 2. ОСНОВНЫЕ ПОНЯТИЯ ТЕОРИИ

УПОРЯДОЧЕНИЯ

 

Сложность процедуры зависит

от ее организации.

В

связи с этим встает задача оптимизации процедуры

упорядочения, т. е. поиск такой процедуры, которая обе­ спечивает минимальную суммарную сложность при за­ данной совокупности ограничений на процедуру (задан­ ный объем памяти, заданные объем информации об объ­ екте, число объектов и др.). В общем виде решение задачи оптимизации процедуры упорядочения в целом является весьма сложным. Однако в ряде случаев не­ плохим приближением к оптимальному решению явля­ ется замена общей задачи рядом частных более мелких задач, обеспечивающих локальную оптимизацию отдель­ ных операторов процедуры. Увеличение эффективности операторов приводит к снижению суммарной сложности процедуры. Рассмотрению основных операторов и про­ цедур упорядочения в целом с точки зрения увеличения их эффективности будут посвящены следующие главы книги.

§ 2.4. Некоторые способы частичной оптимизации процедур упорядочения

2.4.1. О минимизации количества сравнений в процес­ се упорядочения. Как уже отмечалось, процедура упо­ рядочения состоит из серии сравнений признаков неко­ торых пар объектов и тех или иных перераспределений объектов по позициям на основании результатов срав­ нения. Выше было показано, что максимальное матема­ тическое ожидание количества информации, доставляе­ мой одним сравнением, равно 1 двоичной единице (одному биту), а для полного упорядочения массива нужно получить log2 (n!) двоичных единиц информации. Таким образом, минимальное число сравнений, необхо­ димых для упорядочения массива из п объектов, в об­ щем случае определяется как

Ксѵ = log2 (я!).

(2.57)

Заменив п\ его приближенным выражением по формуле Стирлинга [44]

(2.58)

§

2.4.

ЧАСТИЧНАЯ

ОПТИМИЗАЦИЯ ПРОЦЕДУР

УПОРЯДОЧЕНИЯ 83

получим для Кср

(при п > 1)

выражение

 

Кср

 

п (log, л log2 е) + -^-

( 1 +

log2 п +

log2 п) -

= =

{ п +

~т) 1 о § 2 "

1 . 43п +

1,32

= я (log,п — 1,43). (2.59)

Чтобы достигнуть такого числа сравнений, надо стре­

миться получать максимальное

количество информации

в результате каждого из них.

Это возможно только

тогда, когда в сравнении участвуют объекты, вероят­ ность инверсии которых близка к 0,5.

Уменьшение числа сравнений в процедуре упорядо­

чения— это одна

сторона

оптимизации. Другая сторо­

на — уменьшение

времени

перераспределения объектов

по позициям. В этом смысле преимущество за теми про­ цедурами, в которых по результату сравнения произво­ дится одна пересылка объекта на свободную позицию. Процедуры, в которых по результату каждого сравнения

производится

обмен, в этом смысле менее предпочти­

тельны, так

как обмен требует значительно большего

времени, чем

пересылка.

Рассмотрим в общем виде вопрос о минимизации количества сравнений в процессе выполнения процедуры

упорядочения. Введем следующую

терминологию:

статистически эквивалентными

элементами

массива

будем называть элементы, вероятность инверсии кото­

рых равна

0,5;

 

 

 

 

 

 

статистически однородными

подмножествами

элемен­

тов массива

будем называть подмножества, все

элемен­

ты которых статистически эквивалентны друг другу.

 

Пусть массив распадается на m статистически одно­

родных подмножеств, каждое из которых содержит

по

/ элементов. Изобразим

массив

в виде

матрицы

с

m

строками и

/ столбцами

таким

образом,

чтобы

в

каж­

дой строке были записаны элементы, принадлежащие одному из статистически однородных подмножеств. Рас­ смотрим подмножества элементов, принадлежащих од­ ному столбцу матрицы. Статистические характеристики любого элемента такого подмножества целиком опреде­ ляются его номером в подмножестве и не зависят от того, какому подмножеству он принадлежит.

84 ГЛ. 2. ОСНОВНЫЕ ПОНЯТИЯ ТЕОРИИ УПОРЯДОЧЕНИЯ

Пусть в массиве выделены два подмножества А и В с одинаковым количеством элементов. Заменим в каж­ дом из этих подмножеств обозначение каждого элемен­ та обозначением статистически однородного подмноже­ ства, которому элемент принадлежит. Если после такой замены подмножества А и В совпадут, то они назы­

ваются статистически

эквивалентными

подмножествами.

Понятие статистически эквивалентных подмножеств

является обобщением

понятия статистически эквива­

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

Случайный массив в целом представляет собой ста­ тистически однородное множество элементов, и поэтому мы можем разными способами сформировать в нем

п/2 пар для сравнения с информационной

ценностью,

равной единице. После выполнения всех п/2

сравнений

получаем два статистически

однородных подмножества

по п/2 элементов в каждом:

1) подмножество

элементов,

оказавшихся большими, и 2) подмножество элементов, оказавшихся меньшими. Объединяя элементы каждого из этих подмножеств попарно для сравнения на следую­ щем этапе, получим в результате сравнения четыре ста­ тистически однородных подмножества: 1) подмножество

элементов, оказавшихся большими в обоих

сравнениях;

2) подмножество элементов, оказавшихся

большими

в первом сравнении, но меньшими во втором сравнении;

3)

подмножество элементов,

оказавшихся

меньшими

в первом сравнении, но большими во втором

сравнении;

4)

подмножество элементов,

оказавшихся

меньшими

в обоих сравнениях.

 

 

Продолжая процесс попарного объединения элемен­ тов статистически однородных подмножеств далее, мы

после выполнения каждой

группы из п/2

сравнений,

в которых по

одному разу участвуют все элементы мас­

сива, удваиваем количество

статистически

однородных

подмножеств,

уменьшая в то же время в два

раза коли­

чество статистически эквивалентных элементов в каж­ дом из них. После выполнения \og2n этапов по п/2 сравнений в каждом, в массиве не останется элементов, статистически эквивалентных друг другу. При этом, од-

§ 2.4.

ЧАСТИЧНАЯ ОПТИМИЗАЦИЯ ПРОЦЕДУР УПОРЯДОЧЕНИЯ 85

»ако,

общее количество сравнений, которые придется

выполнить, равное (n/2)log2 n, оказывается недостаточ­ ным для полного устранения неопределенности инфор­ мации о состоянии массива и, следовательно, его упо­ рядочения.

Процедура полного упорядочения массива не может вообще не содержать сравнений статистически не экви­ валентных друг другу элементов. Из общих соображе­

ний можно

заключить,

что во избежание

увеличения

количества

сравнений

желательно, чтобы

выбранная

процедура

упорядочения обеспечивала если

не точное

равенство, то максимальную близость вероятности ин­ версии сравниваемых пар к 0,5.

В следующих главах при рассмотрении конкретных методов упорядочения, выполняемых при ряде ограни­ чений, накладываемых на процедуру упорядочения (объемы ЗУ, характер обрабатываемой информации и др.), мы будем в ряде случаев использовать следующий прием: задаваться некоторой «основой» процедуры, от­ личающейся тем или иным способом, по которому вы­ бираются пары из статистически однородных подмно­ жеств, и затем трансформировать, т. е. дополнять и изменять ее таким образом, чтобы на каждом этапе формируемые в нем статистически эквивалентные под­ множества полностью упорядочивались. Нетрудно ви­ деть, что в конечном итоге это приведет к упорядочению всего массива. Процедуры, которые получаются при этом, представляют собой процедуры внутреннего упо­ рядочения.

Способ, которым следует дополнить «основу» про­ цедуры, зависит от принятого в ней способа выбора пар для сравнения их элементов друг с другом. Различные процедуры внутреннего упорядочения, сформированные указанным образом, будут рассмотрены в главах 3 и 4.

2.4.2. О минимизации общей сложности совокупности обменов в процессе упорядочения. Задача минимизации количества сравнений, производимых при упорядочении, рассмотренная в п. 2.4.1, не эквивалентна задаче мини­ мизации сложности всей процедуры упорядочения, так как последняя, кроме сравнений, содержит большое ко­ личество пересылок. Общую сложность всех пересылок, выполняемых по результатам серий из п сравнений,

86 ГЛ. 2. ОСНОВНЫЕ ПОНЯТИЯ ТЕОРИИ УПОРЯДОЧЕНИЯ

можно значительно снизить в случае, если пары для сравнения выбирать таким образом, чтобы в каждую из пар входил некоторый общий для всех пар элемент.

Рассмотрим

случай, когда

элемент

а сравнивается

с п элементами

подмножества

В = (bu

b2,...,b„)

и все

инверсии элемента

а с элементами

подмножества В

устраняются. Пусть

для этого

нужно

выполнить

m <J n

обменов. Адрес позиции, в которой первоначально хра­ нился элемент а, обозначим і, а адреса позиций, в кото­ рых хранились элементы подмножества В, участвовав­

шие в обмене, обозначим /і, / 2 , . . . ,

j m .

Серия из m обменов, в каждом

из которых участву­

ет элемент а, сводится к Зт пересылкам, перечисленным в табл. 2.1.

 

 

 

 

Т а б л и ц а 2.1

Номер

Результат обмена

Пересылки, реализующие обмен

обмена

1

( 0 ~ ( / і )

 

 

 

2

0 'i)^c ;

(id-*ii,

(с) ^к;

3

(h)^c;

(j3)->j2:

(c)->-/3;

m

( 0 ~ Ы

 

 

 

П р и м е ч а н и е , (jk)^^(il)

— операция обмена содержимым по­

зиций с номерами /д, и /;/ (jh)^!i

операция

пересылки содержимого

позиции ]k

на позицию / ; ; с — адрес стандартной позиции.

Результат серии обменов не изменится, если из нее будут исключены все пересылки из стандартной позиции

с в конце каждого обмена, за исключением

последнего

(т. е. т - г о ) , и пересылки на стандартную

позицию с

в начале каждого обмена, за исключением первого. Со­ вокупность пересылок, перечисленных в табл. 2.1, экви­

валентна совокупности

пересылок:

 

с; ( Л ) - * 1 " ; ( ь ) — Л ;

(/з) — /Ѵ.

(in)-*-L-i> (c)—/m>

означающей, что первый элемент пересылается на стан­ дартную позицию, второй элемент записывается на

§

2,1. ЧАСТИЧНАЯ ОПТИМИЗАЦИЯ ПРОЦЕДУР УПОРЯДОЧЕНИЯ

87

место первого, третий — па место

второго и т. д. вплоть

до

т - го элемента, записываемого

на место

1)-го.

В

конце концов элемент о из стандартной

позиции

с

пересылается на место т - го элемента. Таким образом,

общее

количество пересылок сокращается

с З т

до

т + 2.

В дальнейшем

такой групповой обмен

будем

на­

зывать

циклическим.

 

 

 

Из свойства транзитивности функции инверсии сле­ дует, что одновременно с устранением инверсий элемен­ та а со всеми элементами подмножества В устраняются инверсии в любой паре элементов, принадлежащих под­ множеству В, если один из них меньше, а другой боль­ ше, чем элемент а. Таким образом, подмножество эле­ ментов, принадлежащих В и меньших чем а, оказывает­ ся взаимно упорядоченным с подмножеством элементов, принадлежащих В и больших чем а.

Описанный выше оператор группового сравнения позволяет разделять массивы на группы взаимно упоря­

доченных подмассивов

и

в соответствии

с

выводами

п. 2.2.3 может явиться

основой целого класса

процедур

взаимного упорядочения.

Различные

процедуры

взаим­

ного упорядочения будут

описаны в

главах

5

и

6.

ГЛАВА

3

 

 

МЕТОДЫ

с л и я н и я

§ 3.1. Предпосылки

метода

Как

было

 

отмечено

в главе 2, из случайного массива

можно

выбрать лишь

(п/2) log'2/г пар статистически эк­

вивалентных

 

элементов, обеспечивающих наибольшую

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

На первом этапе весь исходный случайный массив представляет собой статистически однородную последо­ вательность и для сравнения выбираются соседние эле­ менты массива (1-й и 2-й, 3-й и 4-й, 5-й и 6-й и т. д.). В результате сравнения и соответствующих перестано­ вок элементов на этом этане формируются статистиче­ ски эквивалентные подмассивы, состоящие из двух эле­ ментов. Статистически однородными подмножествами оказываются элементы, находящиеся на позициях с ша­ гом h = 2. В массиве оказывается два таких статистиче­ ски однородных подмножества: одно из них содержит большие элементы всех пар, а второе — меньшие эле­ менты всех пар.

На втором этапе для сравнения в каждом из стати­ стически однородных подмножеств должны быть выбра­ ны элементы со смежными номерами. После выполнения обменов инвертированных элементов во всех парах массив оказывается состоящим из статистически экви­ валентных подмассивов, содержащих по 4 элемента (меньший в обоих сравнениях; больший в первом срав-

§ 3,1. ПРЕДПОСЫЛКИ МЕТОДА

89

нении и меньший во втором сравнении; меньший в пер­ вом сравнении и больший во втором сравнении; боль­ ший в обоих сравнениях). Статистически однородными подмножествами оказываются теперь последовательно­ сти элементов с шагом h = 4. Всего в массиве оказы­ вается четыре таких последовательности (рис. 3.1).

Рис. 3.1. Выбор пар статистически эквивалентных элементов для сравнения.

На примере двух последовательных этапов выбора пар статистически эквивалентных элементов с упомяну­ тым выше условием видны следующие основные свой­ ства данной процедуры:

1) на каждом этапе формируются статистически эк­ вивалентные подмассивы, содержащие по одному эле­ менту из всех статистически однородных подмножеств. После выполнения k этапов размер каждого статисти­

чески

эквивалентного

подмассива

оказывается

рав­

ным

2к;

 

 

 

 

 

2) на любом этапе каждый новый статистически эк­

вивалентный

подмассив

образуется

из двух

соседних

статистически

эквивалентных подмассивов,

сформиро­

ванных на предыдущем

этапе, с помощью

2к~1

срав­

нений;

 

 

 

 

 

3)

первый и последний элементы каждого статисти­

чески

эквивалентного подмассива

упорядочены

в нем

(т. е. не имеют инверсий с остальными элементами под­ массива). Промежуточные элементы подмассива могут и не быть упорядочены.

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

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