
книги из ГПНТБ / Папернов А.А. Методы упорядочения информации в цифровых системах
.pdf80ГЛ. 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) |
первый и последний элементы каждого статисти |
|||||
чески |
эквивалентного подмассива |
упорядочены |
в нем |
(т. е. не имеют инверсий с остальными элементами под массива). Промежуточные элементы подмассива могут и не быть упорядочены.
Возникает естественная мысль дополнить и изменить описанную процедуру таким образом, чтобы на любом этапе процедуры каждый из статистически эквивалент ных подмассивов полностью упорядочивался. В этом