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

книги из ГПНТБ / Зубов В.С. Математическое обеспечение цифровых вычислительных машин и систем учеб. пособие

.pdf
Скачиваний:
4
Добавлен:
23.10.2023
Размер:
4.93 Mб
Скачать

-9 0

конъюнктивных сочетаний условий» Если число к заранее не известно, целесообразно провести упорядочение объектов по числу выполненных в них условий поиска0 поскольку в против­ ном случае пришлось бы выполнять поиск последовательно по

к

£Г' отдельным поисковым условиям» 'Так как число

г=/77 т

обычно невелико, упорядочение следует выполнять отобразите-

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

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

П. Поиск в иерархически организованном множестве строк или в списке строк.

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

б) Поиск в списке строк. Обычно такой поиск выполня­ ется по лексикографическому условию, g , значит, способы выражения условий псиска оказываются, как правило, сложны­ ми.

§ 3. Классификация фундаментальных средств информационного поиска

В неупорядоченном множестве объектов нет другого

- 9 f ~

средства поиска, кроме перебора объектов» Поиск перЗбором

осуществляется путём последовательного сопоставления уп­ равляющих слов записей с заданным поисковым образом. Ин­

формационная ценность каждого сопоставления невелика.

Её можно оценить, воспользовавшись результатами §2 гл.П.

Действительно, и в данном случае множество из П объектов

можно рассматривать как систему, способную находиться в разных состояниях (в зависимости от положения в последо­ вательности искомого объекта; случай нахождения несколь­ ких объектов поиска здесь не рассматривается). Её энтро-

пия - так как всего п состояний, согласно разным положениям искомого объекта. Каждый акт поиска - сопос­

тавление записей - уменьшает неопределённость системы в оилу сокращения множества неопределённости (поиска). Пос­ ле 1 -го акта перебора множеством дальнейшего поиска (и

итогом поиска)

с вероятностью 1 /п

становится

объект, сто­

ящий первым в

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

с вероятностью(/?~1 У/1

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

остальных объектов.

Первый акт

перебора

снимает в среднем неопредзлённооть,

равную

 

^~ п ^°^2^ ~ ~7Гfyp-2(п~0

Я ~

 

(П-1),

2 актнеопределённость

 

 

 

 

 

t ° 9 z (п ~

i (

n

- l }

-

f

y 2 (n-2).

Приближённо можно считать,

что

первые

к актов

перебора

снимают неопределённость,

равную

~

2. ( П ~ к )

Низкая информационная ценность их объясняется сугубо не­ равномерным делением множества на подмножества определён­ ности и неопределённости.

Естественным путём ускорения поиска поэтому является

- 9 2 -

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

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

В самом деле, в силу свойства транзитивности значе­ ние истинности отношения порядка поискового образа с элементом последовательности, делящим её на 2 части ( опор­ ным элементом) является одновременно значением истинности его отношения порядка со всеми элементами одной из частей.

Например,"если поисковый образ оказался больше некоторого внутреннего элемента последовательности, упорядоченной по возрастанию, то он оказывается большим и любого предшест­ вующего элемента последовательности. Значения отношения порядка поискового образа о элементами другой части могут быть различными. Эта часть рассматривается как подмножест­ во неоиределённости. Следующий опорный элемент выбирается в её середине, сравнение с ним право^ т к дальнейшему со­ кращению подмножества неопределенности. Средняя информаци­ онная ценность сопоставления с опорным элементом, располо­ женным в середине подмножества неопределенности, примерно равна I биту. Процесс продолжается до сокращения подмноже­ ства неопределённости ,до размеров одного элемента, сравне-

-93-

яие с которым и приводит, наконец, к положительному или отрицательному исходу поиска. Поскольку исходная неопре­

деленность

величиной в

бит снимается порциями при­

мерно по I

биту, среднее

число сравнений при таком поис­

ке, именуемом дихотомическим, примерно равно

Дихотомический поиск является также естественным

средством

поиска п дихотомических деревьях.

Поиск перебором и дихотомический поиск относятся к

сопоставительному методу информационного поиока. Дихото­ мическая организация поиока не всегда оказывается наиболее

производительной, ибо действительная неопределенность по-

г

ложения записи зачастую оказывается меньше, чем

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

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

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

выполняется двухступенчатым или многоступенчатым. Примером являетоя поиск в разбросанных таблицах при наличии синони­ мов? на 1-й ступени происходит отображение поискового образа на вектор позиций; найденная позиция может содержать запись,

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

Примером многоступенчатого поиска через вычисление адре­

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

букв в словах данного

языка [ 8] .

Если ct +1

-

номер страницы,

на которой начинается

собственно

словарь, £

-

число занятых

 

 

,

 

i

им страниц, p i - частота появления L -й буквы,

a (ji W i ' то

ожидаемый номер страницы^

'

 

.))}),

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

от содержимого скобок. НаJ - й странице слова может не оказать­

ся (это выясняется сопоставлением). В ртом случае для уточ­ нения номера страницы выполняется процедура, содержащая вы­ числения, подобные вычислениям по приведённой выше формуле,

4

и базирующаяся на содержимое J- - й страницы. Может потребо­ ваться несколько уточнений. Их число зависит от степени со­ ответствия частот использования букв в данном словаре (ко­ торые к тому же специфичны для первой, второй, третьей бук­ вы слова и т .д ,) усреднённым частотам, используемым в форму­ ле, и от характера распределения частот. Реальные применения данного алгоритма показали, что в отдельных случаях возможно двухили трёхкратное уменьшение числа шагов поиска, по

- 9 5 -

оравнению с дихотомическим поиском.

Иерархическая организация множества данных, в частности

такая, когда зашси-сияонимы размещаются отдельными блоками,

естественным образом предполагает многоступенчатость поиска,

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

в качестве номера блока для помещения запиог шш её извле-

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

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

на 2-й ступени поиска (переборе внутри блока), следовательно,

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

©

в продолжении (продолжениях) блока.

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

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

- 9 6 -

вм могут быть, например, полу чаны путём одноэтапного приме­

нения отобразительного алгоритма, в котором элементами век­

тора значений являются счётчики записей-синонимов. Поиск в

блоке выполняется

перебором. Применение многоэтапного алго­

ритма внутреннего

упорядочения последовательности отобрази-

о

тельным методом позволяет получить к тому же полную внутрен­

нюю упорядоченность блоков, что является условием

применения

быстродействующего метода поиска и на втором его

этапе.

§

4 . . Поиск в структурах, представленных

списком типа А

1,

Поиск перебором. Возможность поиска

перебором в спи­

ске типа А обеспечивается заданием общего числа его элемен­

тов

базы описка

и подразумеваемого соответствия

номеров

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

занимаемых ими позиций. Среднее

число

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

поиска

одна запись или некоторая совокупность их.

В первом

случае

в среднем проверяется ( / 1 + I ) / 2 записей,

во

втором

- все

записи.

 

 

2. Дихотомический поиск.

 

 

а)

Поиск по совпадению значений, вариант I .

Рассмотрим

случай, когда объектом поиска является ассоциация записей,

имеющих заданное

значение управляющего слова. Верхней гра­

ницей интервала,

заключающего все искомые записи,

является

запись с наименьшим номером,

для управляющего слова которой

выполняется строгое

отношение

порядка с поисковым

образом,

а нижней границей

-

запись с

наибольшим номером,

с управля­

ющим словом которой поисковый образ находится в отношении строгого порядка; либо верхней (нижней) границе не соответ-

- 9 7 -

ствует какая-либо запись списка, если искомые запис# явля­

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

ных граничных записей равна I , в списке нет ни одной записи,

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

При поиске гранил, удобно использовать отношение нестро­

гого порядка О , & ) . При поиске верхней границы назначим

верхней и нижней гранями исходной зоны поиска соответствен­

но (Й+ I ) и I и будем проверять выполнение отношения^ меж­

ду управляющим словом опорной записи и поисковым образом .'

Если оно выполняется, будем заменять нижнюю грань номером опорной записи, увеличенным на I , если оно не выполняется,

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

грани рассматриваются как результат - верхняя граница.

При поиске нижней границы назначим верхней и нижней гранями исходной зоны поиска соответственно найденную верх­

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

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

В качестве номера очередной опорной записи будем использо­

вать целую часть от полусуммы

граней, увеличенной

на I . Сов­

павшие верхняя и нижняя грани

рассматриваются как

результат

- нижняя граница искомой ассоциации записей.

 

-9 8 -

б) Поиск до интервалу. Рассмотрим случай, когда требуется выявить все записи, значение приведённого управляющего сло­

ва которых находится на заданном отрезке числовой оси. Един­

ственное отличие данного случая от случая "а" будет состоять

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

а при поиске нижней Гранины - его нижняя грань. Случай "а"

можно рассматривать как частный случай

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

когда грани заданного отрезка числовой

оси совпадают.

в) Поиск по близости. При поиске по близости верхней и

нижней гранями зоны поиска назначаются

соответственно (Я+ I )

и 0 и дальнейший поиск выполняется так,

чтобы запись с номе­

ром верхней грани находилась в отношении нестрогого порядка

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

граней. В результате сравнения поискового образа с управляю­

щим словом опорной записи её

номер замещает либо нижнюю, ли­

бо верхнюю грань. Сужение зоны пляска производится до тех

пор, пока разница граней

не станет единицей, В соответствии

о тем, какое отклонение

минимизируется в конкретном случае

использования алгоритма: положительное, отрицательное или

абсолютное, одна из записей с

номерами граней выбирается в

качестве результата, причём в

первых двух случаях возможно

отсутствие результата, признаком чего

является неизменность

верхней грани зоны поиска .для I- г о случая и нижней - для 2 -го,

г ) Поиск по совпадению, вариант 2

. Рассмотрим случай,

когда объектом: поиска

заведомо является единственная запись.

В отличие от варианта

"а.Г такой поиск

может быть выполнен

- 9 9 -

за один этап, соответствующий, например, поиску верней дра­

ницы» Тогда результатом поиска является запись с ближайшим

меньшим, по отношению н верхней границе, номером при усло­

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

ницей является начальная запись списка, записи, имеющей за­

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

ет и в

данном варианте

ещё одной фазы алгоритма поиска, за­

ключающейся в проверке

записей, располагающихся в близлежа­

щих к

найденной записи

позициях списка.

3.

Поиск в разбросанных и перемешанных таблицах.

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

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

чое распределение значений вырабатываемых с её помощью ад­ ресов позиций (для используемых наборов записей). Поскольку на практике множество возможных значений управляющих слов имеет большую мощность, чем множество позиций таблицы, то при размещении записей на одну позицию может отобразиться более одной записи ( записи-1'синонимы" \. Факт повторного отображения на занятую ранее позицию ( " переполнение") уста­ навливается по вектору занятости.

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