книги из ГПНТБ / Папернов А.А. Методы упорядочения информации в цифровых системах
.pdfЮ ГЛ. !. ПОИСК ИНФОРМАЦИИ В ЗУ ЦИФРОВЫХ МАШИН
2. В условии поиска заданы две величины, характе ризующие некоторый числовой интервал (например, нижняя и верхняя границы интервала, либо одна из границ и величина интервала). Требуется выделить все объекты, некоторый признак которых, рассматриваемый как число, не выходит за пределы заданного интервала, т. е. не больше верхней и не меньше нижней границы интервала.
Поиск, осуществляемый по условию вхождения приз нака, интерпретируемого как число, в заданный число вой интервал, будем называть поиском по интервалу.
В частности, если одна из границ равна положитель ной или отрицательной бесконечности (или, что то же самое, больше максимально возможного или меньше ми нимально возможного значения признака), то условие поиска преобразуется в условие: «признаки выделенных объектов должны быть больше (или меньше) значения, заданного второй границей».
3. Требуется выделить объект, у которого значение некоторого признака, рассматриваемого как число, отли чается от числа, заданного в условии поиска, не боль ше, чем у всех других объектов.
Вероятность совпадения числовых признаков в не
скольких объектах |
принимается пренебрежимо малой, |
т. е. считается, что |
в результате поиска выделяется |
только один объект. Если совпадение признаков в не скольких объектах все же имеет место, то в соответст
вии с условием поиска |
также |
выделяется |
лишь |
один |
из нескольких объектов с совпадающими |
значениями |
|||
признака. |
|
|
|
|
В то же время один |
объект |
выделяется |
всегда, |
так |
как на величину наименьшего отклонения признака от заданного в условии поиска числа не накладывается никаких ограничений.
Поиск, при котором из множества объектов выде ляется один объект, признак которого отклоняется от заданного числа не больше, чем у всех других объектов, будем называть поиском по близости. В зависимости от постановки задачи поиска может выделяться объект с минимальным положительным отклонением или мини мальным отрицательным отклонением, или минимальным отклонением по абсолютной величине.
|
§ 1.1. ОПРЕДЕЛЕНИЕ ПРОЦЕДУРЫ ПОИСКА |
11 |
В |
частности, если число, заданное в условии поиска, |
|
равно |
положительной или отрицательной бесконечности |
|
(или, что то же самое, больше максимально |
возможного |
|
или меньше минимально возможного значения призна
ка), то поиск |
по близости сводится к поиску |
объекта |
с наибольшим |
(или наименьшим) значением |
признака. |
4. Требуется выделить объекты, у которых:
либо некоторая функция от одного или нескольких признаков не выходит за пределы заданного интервала, либо значение некоторой функции от одного или не скольких признаков отличается от заданного в условии поиска числа не больше, чем у всех других объектов.
|
Поиск, |
осуществляемый |
указанным |
способом, бу |
|||
дем |
называть |
поиском |
по сложному |
арифметическому |
|||
условию. |
|
|
|
|
|
|
|
|
5. Требуется выделить объекты, у которых выпол |
||||||
няются условия |
поиска |
типа |
1 или 2, или 3 с тем отли |
||||
чием, что понятия совпадения, попадания |
в интервал |
||||||
или |
близости |
(минимального |
отклонения) |
интерпрети |
|||
руются не |
в арифметическом, а более |
сложном, услов |
|||||
но именуемом семантическим, смысле. Характерным примером может служить библиографический поиск. В этом случае объектами, информация о которых хра нится в ЗУ, являются научные публикации. Информа ция р каждом объекте, кроме названия публикации, фамилии автора, года издания и т. д., содержит некото рые признаки, позволяющие судить о содержании публи кации.
Условиями такого поиска могут быть:
по аналогии с поиском по совпадению — совпадение содержания закодированного запроса с содержанием публикации, тоже закодированным по определенным правилам;
по аналогии с поиском по интервалу — совпадение содержания публикации с содержанием запрошенного в условии поиска раздела, по существу более широкого,
чем содержание отдельной |
публикации; |
|
|
по аналогии с поиском |
по |
близости — не |
обязатель |
но полное совпадение, но |
близость содержания запроса |
||
и содержания публикации. |
|
|
|
Поиск, осуществляемый |
по |
описываемым |
условиям, |
будем называть поиском по семантическому |
условию. |
||
12 ГЛ. 1. ПОИСК ИНФОРМАЦИИ В ЗУ ЦИФРОВЫХ МАШИН
Формулировка критерия, позволяющего судить о смысловом совпадении, интервале или близости, яв ляется сложной задачей, требующей в разных случаях разного подхода и далеко не всегда поддающейся раз решению. Кроме того, ответ может носить вероятност ный характер, указывающий не на определенное, а лишь возможное и требующее дополнительной проверки сов падение, попадание в смысловой интервал или близость по смыслу.
Важнейшей проблемой, подлежащей разрешению при разработке информационно-поисковых систем, осу ществляющих поиск по семантическому условию, явля
ется |
выбор языка |
для кодирования информации |
в ЗУ |
и запросов на поиск, позволяющего, во-первых, |
отра |
||
зить |
существенные |
черты самой информации и запроса |
|
и, во-вторых, реализовать в рамках этого языка провер
ку |
критериев совпадения |
информации |
с заданным |
за |
||||||
просом или близости запроса и информации. |
|
|
|
|||||||
|
6. Требуется выделить объекты, у которых |
|
|
|
||||||
|
либо одновременно выполняется несколько условий |
|||||||||
поиска типа 1—5 |
(логическая |
конъюнкция |
нескольких |
|||||||
условий |
поиска), |
|
|
|
|
|
|
|
|
|
|
либо выполняется хотя бы одно из нескольких за |
|||||||||
данных |
условий |
поиска |
(логическая |
дизъюнкция |
не |
|||||
скольких условий |
поиска), |
|
|
|
|
|
|
|||
|
либо |
выполняется |
более сложная |
логическая |
функ |
|||||
ция от нескольких условий поиска |
(где |
выполнение |
||||||||
каждого |
условия |
поиска |
принимается |
за 1, |
а невыпол |
|||||
нение— за 0). |
|
|
|
|
|
|
|
|
||
|
Поиск, осуществляемый указанным способом, будем |
|||||||||
называть поиском |
по |
логической |
совокупности |
несколь |
||||||
ких |
условий. |
|
|
|
|
|
|
|
|
|
|
Все |
упоминавшиеся выше условия |
поиска, |
кроме |
||||||
условия поиска по близости, были связаны с проверкой некоторых внутренних характеристик объектов. Это зна чит, что выполнение или невыполнение условия поиска может быть проверено в каждом объекте в отдельности и не зависит от наличия других объектов.
Выполнение условия поиска по близости не может быть проверено в отдельном объекте без учета других объектов, так как это условие накладывается не на внутренние характеристики отдельных объектов, а на
§ 1.2. ОРГАНИЗАЦИЯ |
ИНФОРМАЦИИ ОБ ОДНОМ ОБЪЕКТЕ |
13 |
отношения между |
разными объектами (сравнительная |
|
степень близости признаков разных объектов к числу, заданному в условии поиска).
Возможны и другие условия поиска, налагающие более сложные ограничения на отношения между объ ектами. В результате поиска может быть выделено не
которое подмножество объектов, |
связанных |
заданными |
|||||||
в условии |
поиска отношениями |
как друг |
с |
другом, |
так |
||||
и с объектами, не. входящими в выделенное |
подмноже |
||||||||
ство. |
|
|
|
|
|
|
|
|
|
Более |
подробное |
рассмотрение |
условий |
поиска |
та |
||||
кого рода мы |
опускаем. |
|
|
|
|
|
|
||
§ 1.2. Способы организации информации |
|
|
|
||||||
об одном объекте |
|
|
|
|
|
|
|
||
Двумя |
основными |
типами организации |
информации |
||||||
об отдельных |
объектах следует |
считать |
фразы |
и |
фор |
||||
муляры. |
|
|
|
|
|
|
|
|
|
Состав |
и |
объем информации, |
записанной |
в фразе, |
|||||
заранее не задан. Чтобы иметь возможность выделять отдельные фразы, нужно либо включать в каждую фра зу информацию о ее размере, либо отмечать конец каждой фразы специальным знаком. Примерами фраз
могут |
быть предложения, состоящие из отдельных |
слов |
|||||
и знаков |
препинания, |
заканчивающиеся точкой, |
или |
||||
формулы, |
состоящие |
из букв, |
чисел, знаков |
операций, |
|||
знаков |
отношений |
и |
скобок, |
заканчивающиеся точкой |
|||
с запятой. Такова |
же |
структура и отдельного |
слова, со |
||||
стоящего из букв и заканчивающегося разделительным знаком.
Слова, знаки препинания, буквы, числа, знаки опе раций и отношений и скобки являются элементами фраз. Построение фраз из отдельных элементов, т. е. со став элементов, входящих в фразу, и их последователь ность не являются произвольными, они должны подчи няться определенным синтаксическим правилам. Однако и в рамках этих правил количество элементов, образую щих одну фразу, и последовательность, в которой они записаны, могут быть весьма разнообразными. Смысл отдельных элементов фразы в большинстве случаев не может быть понят изолированно от других элементов,
14 ГЛ. 1. ПОИСК ИНФОРМАЦИИ В ЗУ ЦИФРОВЫХ МАШИН
а лишь при их совместном рассмотрении, т. е. в кон тексте. Поэтому анализ информации, записанной в виде фразы, связан, как правило, не с выводом отдельных элементов из середины фразы, а с последовательным
просмотром всей |
фразы. |
|
|
|
|
|
|
В отличие от |
фразы, |
состав и |
объем |
информации, |
|||
записанной |
в формуляре, |
|
заданы заранее. Формуляр со |
||||
держит определенное |
количество |
признаков |
объекта; |
||||
для записи каждого признака отводится |
определенное |
||||||
число разрядов |
(ячейка |
ЗУ, или часть ячейки, или, ино |
|||||
гда, даже |
группа ячеек), |
все признаки |
перечисляются |
||||
в заранее |
установленной |
последовательности. |
Пусть, |
||||
например, объектом информации является человек. Признаками объекта, записанными в формуляре, явля ются его фамилия, имя, отчество, пол, время рождения, место рождения, национальность, профессия, служебное положение, адрес и т. д. Для записи каждого признака отводится определенное число разрядов, определенным образом расположенных относительно начала формуля
ра. |
Для записи фамилии может потребоваться несколь |
|||||
ко |
ячеек ЗУ, для |
записи |
времени |
рождения — одна |
||
ячейка, |
для |
записи |
пола —всего один |
разряд. Если для |
||
записи |
конкретного значения |
признака |
требуется мень |
|||
ше |
разрядов, чем |
отведено для него (например, фами |
||||
лия |
имеет |
меньше |
букв, чем отведено для ее записи |
|||
в формуляре), то |
остальные |
разряды |
не используются. |
|||
В эти разряды записываются некоторые символы, ука
зывающие на отсутствие |
в них полезной |
информации. |
||
В некоторых случаях нас может интересовать не вся |
||||
совокупность признаков |
объекта, |
а лишь отдельные |
||
признаки (например, профессия). В этом |
случае не |
обя |
||
зателен просмотр всей |
информации |
об |
объекте. |
Мы |
можем обратиться в ЗУ к непосредственно интересую щему нас признаку определенного объекта по адресу, вычисляемому как сумма базисного адреса и относи тельного адреса. Базисный адрес, т. е. адрес начала формуляра, зависит только от выбранного объекта, но не зависит от типа интересующего нас признака. Отно сительный адрес, указывающий положение данного признака относительно начала формуляра, наоборот, зависит только от типа признака, но не зависит от вы бранного объекта.
§ 1.3. СТРУКТУРА ИНФОРМАЦИИ О МНОЖЕСТВЕ ОБЪЕКТОВ |
15 |
|||
§ 1.3. Структура информации о множестве объектов |
||||
Множество объектов, каждый из которых есть |
фра |
|||
за, может |
представлять |
собой |
либо текст, либо список. |
|
Текст |
представляет |
собой |
объединение фраз, |
имею |
щих самостоятельное смысловое значение. Каждая фра за вносит в текст некоторое новое содержание, и поэто му исключение фразы из текста в какой-то степени из меняет, а иногда и полностью искажает содержание текста.
Тексты могут объединяться в другие более крупные тексты, те в еще более крупные и т. д. При этом обра зуются разные иерархические уровни объединения фраз,
называемые абзацами, |
параграфами, главами, |
раздела |
||
ми и т. д. |
|
|
|
|
Список |
фраз или |
текстов представляет |
собой |
не еди |
ный более |
крупный |
текст со смысловой |
связью |
между |
отдельными его частями, а совокупность отдельных, не связанных друг с другом фраз или текстов, объединяе мых для того, чтобы иметь возможность выбрать тот или иной текст или фразу, организовать их поиск по каким-либо признакам и т. д.
Если объектами множества являются формуляры, представляющие собой описание объектов однородной структуры, то естественной формой построения множе
ства, является |
список |
формуляров. |
|
Основными формами |
организации |
списков |
формуляров |
в ЗУ цифровых ма |
|
шин являются массивы, |
цепочки |
и |
деревья. |
|
В массиве |
все образующие |
множество формуляры |
||
занимают сплошной участок памяти. Тем самым уста навливается порядок следования формуляров друг за другом, начиная с первого и кончая последним, опре деляемый их положением в памяти: каждый последую щий формуляр размещается в памяти непосредственно
вслед за предыдущим. |
Адрес |
і-го формуляра |
может |
быть вычислен по формуле |
|
|
|
4 = |
Аі + |
1)Д, |
(1.1) |
где А{ — адрес і-го формуляра, А\— базовый адрес массива, равный адресу 1-го формуляра, А — размер формуляра, т. е. количество занимаемых им ячеек па мяти.
16 |
ГЛ. |
1. ПОИСК |
ИНФОРМАЦИИ В ЗУ |
ЦИФРОВЫХ |
МАШИН |
||||||
|
В цепочке, |
так |
же |
как |
и в массиве, установлен поря |
||||||
док |
следования формуляров |
друг |
за |
другом, |
начиная |
||||||
с первого |
и |
кончая последним, но GH определяется не |
|||||||||
порядком |
их |
размещения |
в |
памяти, |
а |
специальными |
|||||
служебными |
адресами |
связи, |
входящими |
в состав каж |
|||||||
дого формуляра и указывающими положение в памяти следующего формуляра. Адрес первого формуляра ука
зывается в некоторой |
фиксированной ячейке |
памяти, |
|
выполняющей функции |
заголовка списка. Адрес |
послед |
|
него формуляра тоже |
может фиксироваться |
в |
специ |
альной ячейке памяти |
(что особенно существенно, |
когда |
|
цепочка выполняет функции очереди формуляров, нара щиваемой с конца и «отрабатываемой» с начала).
Организация списка в виде цепочки позволяет уста навливать любой порядок следования формуляров без фактического перемещения их в памяти путем записи тех или иных адресов связи, включать в списки новые
формуляры, исключать старые формуляры и т. |
д. |
В деревьях, как и в цепочках, формуляры |
допол |
няются служебными адресами связи. Однако каждый формуляр содержит более одного адреса связи, что по
зволяет объединить |
их не в линейную, как |
в цепочке, |
а в разветвленную |
структуру. За каждым |
формуляром |
может следовать более одного формуляра (обычно два), что дает возможность выбирать тот или иной путь сле дования при поиске в зависимости от результатов про верки условия поиска. Более подробные и конкретные
сведения |
о деревьях будут |
приведены в главах 8 и |
9. |
Как |
в случае цепочек, |
так и в случае деревьев |
из |
адресов связи можно сформировать так называемые управляющие слова таким образом, чтобы каждому ос новному объекту информации соответствовало одно уп
равляющее |
слово. |
Совокупность всех |
управляющих |
слов будем |
называть ассоциативной |
информацией. |
|
Основными способами размещения |
в памяти ассо |
||
циативной информации являются следующие: |
|||
1. Каждое управляющее слово размещается в памя |
|||
ти совместно |
с соответствующим ему объектом основной |
||
информации. |
В этом |
случае управляющие слова не |
|
должны содержать ничего, кроме адресов связи. Объ екты основной информации, с которыми связаны не сколько управляющих слов, могут одновременно участ-
§ 1.3. С Т Р У К Т У Р А И Н Ф О Р М А Ц И И О М Н О Ж Е С Т В Е О Б Ъ Е К Т О В |
17 |
вовать в нескольких поисковых списках по разным при знакам.
2. Управляющие слова хранятся в памяти отдельно от основных объектов информации. В этом случае уп равляющие слова, кроме адресов связи, должны содер жать адреса информации, указывающие положение в памяти основной информации, соответствующей тому или иному управляющему слову.
3. В случае списка, организованного в виде цепочки, управляющие слова хранятся в виде массивов, разме щаемых независимо от объектов информации. При этом имеется возможность исключить из управляющих слов адреса связи, сохранив в них лишь адреса информации. Во многих случаях, однако, объединение всех управляю щих слов в единый массив оказывается неудобным, так как их количество заранее неизвестно, что затрудняет предварительное распределение памяти для размещения управляющих слов. Удобнее по мере накопления ин формации объединять всю совокупность управляющих слов в несколько раздельных массивов, называемых гнездами. Для этого, кроме упоминавшихся ранее уп равляющих слов, содержащих адрес информации, нуж но использовать еще один тип управляющих слов, со держащих адрес связи, ведущий от одного гнезда к другому, и признак, позволяющий отметить, к какому
из двух |
названных типов |
относится |
данное управляю |
|||||
щее слово. |
|
|
|
|
|
|
|
|
Управляющее |
слово с |
адресом |
связи, |
ведущим |
от |
|||
одного гнезда |
к |
другому, |
целесообразно |
размещать |
в |
|||
конце первого |
из них. |
|
|
|
|
|
||
Совокупность |
управляющих |
слов, естественно, тре |
||||||
бует для |
своего |
размещения |
дополнительные объемы |
|||||
памяти, |
которые, |
однако, во многих |
случаях составляют |
|||||
небольшую долю от объемов памяти, занимаемых ос новной информацией.
Как в случае цепочек, так и в случае деревьев лю бой порядок следования объектов основной информации может быть установлен без перемещения их в памяти путем перестройки только ассоциативной информации. Относительно небольшой объем ассоциативной инфор мации позволяет связать с одной и той же группой ос новных объектов информации несколько цепочек или
18 ГЛ. 1. ПОИСК ИНФОРМАЦИИ В ЗУ ЦИФРОВЫХ МАШИН
деревьев для организации поиска по разным признакам или совокупности признаков.
Форма организации списка имеет существенное зна
чение с точки |
зрения |
процедуры поиска. |
Преимущества |
и недостатки |
той или |
иной формы будут |
нами рассмат |
риваться в процессе дальнейшего изложения различных способов поиска и организации списков.
Списки формуляров |
могут входить |
в качестве эле |
|
ментов |
в списки более |
высокого иерархического уровня, |
|
т. е. в |
списки списков |
и т. д. Количество |
иерархических |
уровней списков ничем не ограничено. В один и тот же список в качестве его элементов могут входить как спис
ки разных |
иерархических уровней, |
так |
и |
отдельные |
||
формуляры. |
|
|
|
|
|
|
Пусть, например, объектом внешнего иерархического |
||||||
уровня является |
завод. Список |
этого |
объекта |
содержит |
||
наименования |
цехов, списки |
цехов — наименования |
||||
участков, |
списки |
участков — формуляры |
со сведениями |
|||
о работниках. В списки цехов наряду с наименованиями участков могут входить формуляры со сведениями о ра
ботниках управления |
цеха, |
а в список завода, наряду |
с наименованиями |
цехов |
— наименования отдельных |
участков и формуляры со сведениями о работниках, не посредственно подчиненных управлению завода.
Все элементы списков формуляров самого низшего уровня имеют одинаковые размеры и структуру. Эле менты списков текстов или списков формуляров более
высокого иерархического |
уровня |
могут быть неодинако |
вы и по своим размерам, |
и по своей структуре. Поэтому |
|
каждый элемент такого |
списка |
должен быть снабжен |
некоторой дополнительной информацией о своем разме ре и структуре и, в частности, признаком, указывающим, является ли элемент списка объектом или новым списком.
§ 1.4. Основные методы поиска формуляров в списках
К основным методам поиска формуляров в списках относятся: перебор, вычисление адресов, дихотомический поиск.
Остановимся на этих методах несколько подробнее.
§ 1.4. МЕТОДЫ ПОИСКА ФОРМУЛЯРОВ В СПИСКАХ |
19 |
1.4.1. Перебор. Перебором называется метод |
поиска, |
при котором проверка условия поиска выполняется во всех объектах, входящих в состав данного множества А. Перебор позволяет осуществить поиск в произвольном массиве или цепочке формуляров, т. е. не предъявляет никаких специальных требований к организации дан ных. Недостатком перебора как метода поиска является большая затрата машинного времени на просмотр всех объектов множества.
На рис. 1.1 в общем виде изображена блок-схема алгоритма поиска методом перебора.
Блок / осуществляет обращение к 1-му формуляру. В случае массива это означает присвоение индексу его начального значения (і: = 1). В случае цепочки это означает обращение по адресу, записанному в заголовке
списка. Блок |
4 осуществляет |
переход |
к |
следующему |
||
формуляру. В |
случае |
массива |
это означает |
изменение |
||
индекса на единицу |
(і: = і + |
1) или, |
что |
то |
же самое, |
|
изменение адреса на константу переадресации. В случае цепочки это означает переход по адресу связи, входяще му в состав самого формуляра.
Блок 5 проверяет, не закончен ли просмотр всего списка. Эт^> может быть либо сравнение количества про смотренных объектов с известным общим количеством объектов, либо проверка записанного в каждом объекте специального признака, позволяющего отличить послед
ний объект от |
непоследнего. |
|
|
В первом случае в каждом заголовке списка должна |
|||
фиксироваться |
информация о |
количестве |
объектов |
в списке — п. |
Во втором случае |
в каждом |
элементе |
списка должны быть зарезервированы разряды для за писи в них признака конца списка.
Блок-схема алгоритма перебора, изображенная на рис. 1.1, построена, исходя из предположения, что коли чество объектов, удовлетворяющих условию поиска, мо жет быть любым, и поэтому после выявления такого объекта блоком 2 поиск продолжается до тех пор, пока
блок 5 не обнаружит, что |
все объекты просмотрены. |
|
На рис. |
1.2 изображена |
блок-схема алгоритма поис |
ка методом |
перебора для |
довольно распространенного |
случая, когда заранее известно, что выделенное подмно жество не может содержать более одного элемента.
