Этот сайт предназначен, прежде всего, людям, ностальгирующим по ушедшим РУССКОМУ СЛОВУ, Windows 3.1, ФОТОНУ, процессорам 486SX и иже с ними.
Конечно, времена должны идти вперед, но почему они обязательно должны уходить?
StuhlbergR 2007 ©
|
Беседы о поколениях ЭВМН. Бусленко, В. Бусленко
© Издательство "Молодая гвардия", 1977 г.
Все настойчивее вторгаются электронные вычислительные машины в науку и в народное хозяйство. О зарождении этих машин, принципе их действия, их развитии и влиянии на жизнь человека расскажут член-корреспондент АН СССР Н. Бусленко и его сын кандидат технических наук В. Бусленко.
Хранение и поиск информации в ЭВМ третьего поколения (продолжение)
- Сомневаюсь, что по столь сложному признаку можно осуществить автоматический поиск информации.
- Это, в принципе, возможно, однко объяснить, как это делается, непросто. Если ответить кратко, то для таких целей создаются специальные искусственные информационно-поисковые языки.
Очевидно, что в основу любого упорядоченного поисковика должен быть положен какой-либо принцип классификации. Так, в адресном бюро фамилии, начинающиеся на букву А, составляют один класс, фамилии на букву Б - другой и т.д. Различным первым буквам фамилий сопоставляются различные классы первого уровня. Внутри каждого класса первого уровня выделяются классы второго уровня по вторым буквам фамилий. Внутри этих классов - более мелкие - третьего уровня, и т.д., до тех пор, пока не будут получены самые мелкие классы, в пределах которых поиск путем полного перебора не составляет труда. Если классы, в которые попадают жители с одной и той же фамилией, велики, то дальнейшее деление производится по буквам имени, отчества, даты рождения и т.д.
Части памяти ЭВМ, где расположены сведения о жителях с одинаковыми первыми буквами фамилий, называются зонами первого уровня. Каждая из них содержит все фамилии одного из классов первого уровня и имеет свой адрес. Внутри каждой зоны первого уровня выделяются зоны второго уровня, где хранятся сведения о жителях с одинаковыми первыми и вторыми буквами фамилий (классы второго уровня), а внутри зон второго уровня - зоны третьего уровня - по одинаковым третьим буквам фамилий и т.д.
Классы первого уровня кодируются адресами начал зон первого уровня; классы второго уровня - адресами начал зон второго уровня и т.д.
Вот, например, фамилия "Петров". По первой букве эта фамилия принадлежит классу первого уровня "П". Поэтому вместо первой буквы можно записать адрес начала соответствующей зоны первого уровня (ну, скажем, 126). По второй букве она принадлежит классу второго уровня "Е", вместо второй буквы записывается адрес начала зоны второго уровня (пусть это будет 424), внутренней для рассматриваемой зоны первого уровня, и т.д.
В итоге фамилия "Петров" трансформируется в готовое "поисковое предписание" - совокупность адресов внутри всех зон памяти.
П Е Т Р О В
126 424 768 142 811 201 S (служебный знак, обозначающий конец фамилии).
В упомянутом выше примере материально-технического снабжения ("болт стальной, закаленный, марка стали "инструментальная"...") также можно провести классификацию информации. Для этого разлагают сложный признак на простые.
В самом деле, вполне возможно выделить классы болтов, гаек, шайб, шпонок, автомобилей, тракторов, электродвигателей, комбайнов, прицепов и других предметов снабжения. В каждом из этих классов (первого уровня) привлечение дополнительного признака порождает классы второго уровня: болт - стальной, латунный, алюминиевый, автомобиль - легковой, грузовой, специальный. В классах второго уровня можно выделить классы третьего уровня. В классе "болт стальной" - по маркам стали, в классе "автомобиль специальный" - по назначению: цистерна, самосвал, с подъемником, с краном-стрелой и т.д.
Таким образом, классификация по понятиям получается ничуть не хуже, чем по алфавиту. Обобщающие понятия, такие, как "болт", "автомобиль" и др., указывают как бы род объекта, п прилагательные (дополнительные признаки), например, "стальной", "грузовой", - его вид. Отношение род - вид здесь имеет место на любом уровне сочетания простых признаков. Например, "болт" - род, тогда "стальной" - вид, если род - "болт стальной", то вид будет уже - "закаленный", и т.д.
На основе приведенной классификации может быть построен специальный информационно-поисковый язык. Понятия, выделяющие классы всех уровней, можно интерпретировать как словарный фонд языка, а отношения между понятиями - как грамматические правила.
Для рассматриваемого нами языка можно составить "словарь", обеспечивающий автоматический перевод текстов, запросов на язык ЭВМ. Таким словарем служит совокупность адресных таблиц, указывающих расположение информации в зонах всех уровней.
Конечно, современные информационно-поисковые языки во много раз сложнее. Кроме слов, отражающих классификацию, они включают запас специальных служебных слов, подчеркивающих особенности того или иного понятия или специфику связи между ними. Кроме того, наряду с отношением род - вид используется весьма разветвленная совокупность отношений, среди которых основными являются: часть - целое (например, стол - мебель), причина - следствие (посев - урожай), функциональное сходство (лопата - экскаватор) и др. Поэтому, несмотря на, казалось бы, слишком формальную структуру, по богатству отображаемых сложных понятий информационные поисковые языки приближаются к естественным.
Конечно, поиск по длинному признаку дело громозкое. Но это, как говорится, только четверть проблемы информационно-поискового языка. Три четверти, увы, не в этом. Дело в том, что признак здесь должен задаваться по строго определенной форме. Так, в адресном бюро сначала стоит фамилия, потом имя, затем отчество, возраст и т.д. Если же после фамилии задать отчество, а потом имя, машина скорее всего просто не сможет отыскать подобного жителя. Но так задавать признак в адресном бюро никому не придет в голову. Ведь там имеется стандартная анкета (бланк), которая не позволит нарушить порядок записи. А как быть с болтами?
Здесь также необходимо соблюдать порядок задания признака, помнить, что раньше задавать - материал или размеры, длину или диаметр, характеристики резьбы или марку стали! Чтобы выучить форму длинного признака наизусть для большего числа номенклатур деталей и запчастей, нужно посвятить этому немалую часть жизни. Если же для всех типов номенклатур заготовить стандартные бланки, то их будет так много, что потребуется солидный справочник-путеводитель по сборнику бланков. А если пользователь ошибется и задаст, не греша против формы бланка, сопротивление по разрыву в килограммах на квадратный миллиметр, а не сантиметр? И кто должен помнить, что твердость задается по Бринелю, а не Роквеллу? Как же быть?
Решить эту и другие, более сложные задачи помогают языки так называемого дескрипторного типа (от слова "дескриптор", что значит - описатель). Построение такого искусственного языка начинается с выяснения необходимого словарного фонда - лексики языка.
В любом информационном запросе можно выделить так называемые ключевые слова, отражающие его основную суть. Например, в запросе "Где хранятся карбюраторы автомобиля ГАЗ-51 и сколько их имеется?" ключевыми будут: "карбюратор", "автомобиль", "ГАЗ-51", "где хранятся", "сколько имеется". Такого рода устойчивые словосочетания, соответствующим образом формализованные, и называются дескрипторами. Они составляют основной словарный фонд рассматриваемого искусственного языка. Формализация ключевых словосочетаний - дескрипторов - состоит в приведении их к стандартным грамматическим формам (именительный падеж единственного числа существительных и прилагательных; первое лицо единственного числа и настоящее время глаголов и т.д.); освобождении от синонимов и омонимов и других упрощениях и огрублениях.
Все дескрипторы языка сведены в специальные словари-справочники, содержащие отношения между дескрипторами и называемые тезаурусами. Таким образом, "словарный фонд рассматриваемого языка" - это всевозможные дескрипторы, находящиеся в тезаурусе, а его семантика - смысловые связи дескрипторов в том же тезаурусе. Некоторые из этих смысловых связей уже рассматривались выше. Это вид - род, часть - целое и т.д. Используются и другие, более сложные отношения.
Принципиальной особенностью дескрипторных языков является тот факт, что структура запроса на поиск информации здесь не является раз и навсегда жестко определенной, задаваемой стандартной формой анкеты или бланка. Запрос может строиться с использованием разнообразных логических функций.
Логические функции, или функции формальной логики, известны всем - это И, ИЛИ, НЕ, СЛЕДУЕТ, ВЛЕЧЕТ и тому подобное. Они хорошо "вписываются" в формальную структуру "мышления" компьютеров и получили поэтому широкое распространение. Например, фраза: "где хранится и сколько имеется" - представляет собой логическую функцию вида И от дескрипторов "где хранится" и "сколько имеется". Запрос на "карбюраторе автмобиля ГАЗ-51" - та же функция от дескрипторов "карбюратор", "автомобиль", "ГАЗ-51". Используя логические функции, можно реализовать сложнейшие комбинации запросов.
Таким образом, в информационно-поисковом языке дескрипторного типа запрос на поиск информации представляет собой сложную логическую функцию от дескрипторов, а поскольку после перевода дескрипторы соответствующим образом закодированы (например, адресами зон памяти), то поисковое предписание имеет вид некоторой логической функции машинных кодов. В этом случае поиск информации можно представить как процесс последовательных формальных логических операций над кодами, характеризующими классы и подклассы все более низких уровней элементов информации.
Сведение процесса поиска информации к совокупности формальных, рутинных операций открывает пути для его дальнейшей автоматизации при помощи ЭВМ, а это, в свою очередь, способствует его проникновению во все области человеческой деятельности.
Следует, однако, заметить, что овладение информационно-поисковым языком дело непростое: нужны словари, учебники, учителя. На его изучение потребовалось бы затратить немало времени.
Однако все эти проблемы покажутся не столь сложными при соответствующем развитии "интеллекта" ЭВМ. Оказывается, что запросы на поиск можно задавать и на обычном языке, машина же сама переведет этот запрос на информационно-поисковый язык, а затем найдет и выдаст запрашиваемую информацию.
Для выяснения сути проблемы стоит остановиться на следующем вопросе: а нельзя ли в качестве информационно-поискового языка использовать обычный естественный, например, русский, язык? Тогда сама собой отпадет проблема перевода!
Строго говоря, современное состояние наших знаний о языке и уровень развития машинной математики еще не позволяют ответить на этот вопрос положительно. Дело в том. что тезаурус (словарь) такого языка должен был бы содержать, во-первых, довольно много дескрипторов - столько же, сколько слов и словосочетаний (!), могущих выражать отдельные понятия естественного языка; во-вторых, огромное число связей между ними. Грамматика же естественного языка пока не может быть приведена к набору формальных правил, выражающихся через логические функции. Это объясняется известной неопределенностью в правилах, большим числом исключений, особенностей и т.п.
Поэтому, когда специалисты говорят, что в качестве информационно-поискового языка используется естественный язык, то под этим они зачастую принимают тот факт, что за основу для дескрипторов тезауруса принимается лексика (словарный фонд) естественного языка. Однако при этом всегда нужно иметь в виду, что число дескрипторов весьма ограничено и, разумеется, намного меньше числа слов естественного языка. Кроме того, в словах, отбираемых в качестве дескрипторного, приходится устранять неоднозначность - синонимы, омонимы и т.д. Поэтому лексика информационно-поискового языка, основанного на некотором естественном, в значительной степени огрублена и формализована.
Еще в большей мере это относится к грамматике, она сводится к небольшому числу правил, которые удается выразить через простейшие логические функции. Лишь тогда может быть формализована и доступна для реализации на ЭВМ.
Все сказанное проливает свет на проблему перевода с любого естественного языка на информационный. Задача здесь ставится следующим образом.
Пусть задан некоторый информационный запрос на естественном языке - требуется построить вполне формальное поисковое предписание.
Первый шаг состоит в том, чтобы провести так называемый морфологический анализ текста запроса с целью выделения в нем ключевых слов и словосочетаний, отображающих основной смысл. Для этого, воспользовавшись словарями, имеющимися в памяти ЭВМ, определяют "допустимость" слов текста и их грамматические формы. Эта операция внешне напоминает тот этап перевода с иностранного языка, когда по словарю ищутся отдельные слова, пока не увязанные в единое предложение. Поскольку даже весьма полные тезаурусы не содержат всех даже формализованных слов естественного языка, возникает проблема оценки близости понятий, выражаемых различными словами.
В целях практического решения этой проблемы тезаурус снабжается таблицами слов, выражающих близкие понятия, расположенные в порядке близости. Вполне естественно, что таких понятий может быть несколько; в этом случае окночательное решение о выборе соответствующего дескриптора принимается позднее, с привлечением грамматических таблиц, характеризующих внутриязыковые связи между дескрипторами или даже на основе синтаксического анализа, учитывающего внеязыковые связи и т.п.
Если все-таки отождествления отдельных слов добиться не удается, ЭВМ может выдать на печать просьбу сформулировать информационный запрос по-другому или уточнить некоторые слова запроса. После введения новой информации продолжается отождествление слов.
Таким образом, ЭВМ, выполняющая перевод, должна работать с пользователем в режиме диалога. Обеспечение его достигается, как известно, созданием специальных, достаточно сложных программ, являющихся дополнением к операционной системе ЭВМ. Одно только это обстоятельство подчеркивает тот факт, что информационные задачи - это поле деятельности ЭВМ третьего поколения. Машины, не имевшие операционной системы или располагавшие лишь зачатками таковой, никогда не смогли бы решить подобную задачу.
Правда, и в эпоху ЭВМ второго поколения создавались программные комплексы для решения похожих задач. Однако это вполне можно рассматривать как "доработку" ЭВМ второго поколения до ЭВМ третьего поколения, по крайней мере в отношении операционной системы.
В заключение надо отметить, что рассмотренными программными средствами снабжается не каждая рядовая машина даже третьего поколения. Соответствующий комплекс программ целесообразно иметь лишь на тех ЭВМ, которые связаны с действительно большими массивами информации и составляют основу так называемых "информационно-поисковых систем" или "банков данных".
"Банки данных" играют исключительную роль в народном хозяйстве, особенно в автоматизированных системах управления (АСУ) и в различного рода справочных службах.
[1] [2] [3]
Подраздел "Беседы о поколениях ЭВМ"
|
Большинство предоставленного здесь материала является цитированием со старых номеров компьютерных журналов, таких, как
"Мир ПК" или "Компьютерра". К сожалению, все мои попытки связаться с этими изданиями по поводу вопроса о цитировании были безуспешны.
Издания упорно хранили молчание. Что я разрешил себе расценивать как знак согласия, указывая, тем не менее, повсюду как выходные данные
издания (с работающей ссылкой на Интернет-представительство), так и автора публикации. Тем более, что, в силу срока давности этих публикаций, вряд ли материал можно рассматривать как коммерческий или рекламный,
пусть даже названия фирм здесь и присутствуют (уж без этого никуда).
Ежели появятся какие претензии по оному поводу, прошу
издания связаться со мной
Райво Штулберг |