
- •Введение
- •Глава 1
- •§ 1. «Алгоритмические джунгли»
- •§ 2. Исходные данные и результаты. Массовость алгоритма
- •§ 4. Понятность алгоритма
- •§ 5. Рекурсивные определения
- •§ 6. Определенность алгоритма
- •§ 7. Выводы
- •Глава 2 создание алгоритмов
- •§ 1. Роль алгоритмов в науке и технике
- •§ 2. Как возникают алгоритмы
- •§ 3. Алгоритмы в математике
- •§ 4. Алгоритм Евклида
- •§ 5. Решето Эрагосфена
- •§ 6. Алгоритм разложения на простые множители. Определение наименьшего кратного двух чисел
- •§ 7. Распознавание алгебраического тождества
- •§ 8. Задачи на построение алгоритмов
- •Глава 3 кризис математики в начале XX века
- •§ 1. Арифметизация математики
- •§ 2. Теория множеств
- •§ 3. Кардинальные числа
- •§ 4. Антиномии
- •§ 5. Выводы из антиномий
- •Глава 4 логические теории алгоритмов
- •§ 1. Рекурсивные функции
- •§ 2. Машины Тьюринга
- •§ 3. Нормальные алгоритмы Маркова
- •§ 4. Эквивалентность описанных теорий
- •Глава 5
- •§ 1. Массовые проблемы. Неразрешимость проблем
- •§ 2. Экстраалгоритм и три неразрешимые проблемы
- •§ 3, Некоторые замечания
- •Глава 6 электронные вычислительные машины и программирование
- •§ 1. Устройство эвм
- •§ 2. Процессоры эвм. Рабочий цикл
- •§ 3. Что такое программа
- •§ 4. Особенности современных эвм
- •§ 5. Входные языки программирования
- •§ 6. Необходимость содержательной теории алгоритмов. Какой она должна быть
- •Г л а в а 7 формальные языки
- •§ 1. Анализ естественного языка
- •§ 2. Искусственные языки. Формальные языки
- •§ 3. Буквы, связи, оболочки, конструкции
- •§ 4. Формальные грамматики
- •§ 5. Нотация Бекуса. Тезаурусы
- •§ 1. Что такое операция?
- •§ 2. Натуральные операции
- •§ 4. Первичные алгоритмы
- •§ 5. Натуральные алгоритмы
- •§ 6. Ограничения на структуру исходных данных сняты
- •§ 8. Соотношение с алгоритмами в интуитивном смысле
- •§ 10. Исследование тупиков (клинчей)
- •§ 11. Формальная семантика формального языка
- •Глава 9 математическое обеспечение эвм
- •§ 1. Анализ эвм и программ
- •§ 2. Что такое математическое обеспечение эвм
- •§ 3. Функциональная классификация программ математического обеспечения эвм
- •§ 4. Операционные системы
- •И автоматизация процессов
- •§ I. Использование эвм для управления
- •§ 2. Информационные системы
- •§ 3. Алгоритмизация процессов
- •§ 4. Язык алгоритмизации процессов
- •§ 5. Наука и искусство алгоритмизации
- •Заключение
- •§ 1. Может ли машина мыслить? Может ли человек решить алгоритмически неразрешимую проблему?
- •§ 2. Детерминированность машин. Самообучение
- •§ 3. Сознание машин. Алгоритмическое моделирование
§ 2. Информационные системы
Кроме сферы управления, есть еще одна область, в которой к машине предъявляются почти такие же требования. Это сфера информации.
Каждый ученый, каждый научно-исследовательский институт нуждается в получении сведений обо всех научных результатах, полученных другими институтами и другими учеными в его науке. Без этого значительная часть усилий ученых расходуется на получение результатов, которые уже получены другими людьми.
Для удовлетворения потребностей в информации создаются информационные системы. Эти системы могут быть неавтоматизированными. Например, нужные сведения можно выбирать из различных источников и записывать на карточках, которые затем в определенном порядке должны быть размещены в специальных ящиках, размещенных в специальных шкафах. Работа по заполнению новых карточек должна осуществляться постоянно. При необходимости получения информации нужно найти соответствующие карточки в такой картотеке и составить на их основании информационную справку.
Аналогичные картотеки ведутся в больших библиотеках, для того чтобы можно было найти любую книгу не только по фамилии автора (которая может быть и малоизвестной), но и по другим исходным данным, например, по тем или другим характеристикам ее содержания.
Подобные информационные системы создаются и в различных информационных агентствах, накапливающих сведения о тех или иных различных событиях, происходящих в мире.
Огромные объемы информации, накапливаемые в информационных системах, делают поиск данных далеко не простой задачей. Вполне понятно, что в качестве технической основы информационной системы стали применять ЭВМ, быстродействие которых позволяет надеяться на эффективность такого применения.
В чем же особенность математического обеспечения ЭВМ, используемой в составе информационной системы? Оказывается, что требования к информационным системам очень различны и зависят от их назначения. В соответствии с этим различны и требования, предъявляемые к математическому обеспечению таких систем.
Некоторые информационные системы должны работать в режиме коллективного пользования. Для них применяются ЭВМ, оснащенные большим числом терминалов. Естественно, что ОС такой информационной системы должна обеспечивать режим разделения времени. . Как правило, такие «оперативные» информационные системы выдают сведения непосредственно в том виде, в каком эти сведения в них хранятся.
Такие информационные системы называются поисковыми. Основные задачи сводятся либо к поиску сведений в массивах накопленной информации и выдаче их на печатающие устройства пользователей, либо к приему новой информации и размещению ее на местах, освобождающихся от устаревшей информации.
Подобные мелкие информационные системы очень эффективны на транспорте, например, при продаже пассажирских билетов, производимой многими кассирами, да к тому же размещенными в различных помещениях, иногда в разных концах города.
В капиталистических странах подобные простые информационные системы предоставляются в распоряжение частных пользователей (отдельных бизнесменов), которым они оказываются полезными для того, чтобы постоянно контролировать свое финансовое положение. Ясно, что информация, принадлежащая одним бизнесменам, представляет очень большой интерес для других. Каждый не прочь получить справку о состоянии дел своего компаньона или конкурента. Поэтому в информационных системах, обслуживающих бизнес, очень серьезной проблемой является защита информации от лиц, для которых она не предназначена. Система мероприятий, предназначенных для этой цели, называется защитой конфиденциальности информации. Конечно, защита конфиденциальности в ряде случаев очень важна и в социалистических странах. Операционные системы подобных систем коллективного пользования имеют ряд специальных подпрограмм, осуществляющих защиту конфиденциальности.
Как может быть защищена конфиденциальность? Наиболее простым способом ее защиты является система постоянно изменяющихся паролей. Для того чтобы записать информацию или прочитать ее, пользователь, кроме собственного запроса, должен ввести в ЭВМ свой пароль. При отсутствии или несоответствии пароля ни прием, ни выдача информации не производятся.
Разработаны и многие другие мероприятия для защиты конфиденциальности. Хотя этот вопрос и интересен, но не с точки зрения теории алгоритмов, и потому более подробно мы его освещать не станем. Во всяком случае, защита конфиденциальности является специфической функцией ОС некоторых информационных систем.
Совсем иной характер имеют информационные системы, выдающие справки о состоянии крупных объектов (как это бывает в системах управления коллективами людей) или о ' большом количестве событий (как это имеет место в системах информации). Здесь выдача сведений в том виде, в каком они хранятся в машине, может оказаться совершенно бесполезной из-за очень большого объема этих сведений и необходимости их существенной переработки, систематизации, а иногда и предварительного выполнения на их основе сложных расчетов. Здесь, кроме поиска сведений в записанных массивах информации, большую роль играет их завершающая переработка.
Функционально-структурная схема ОС подобной большой информационной системы приведена на рис. 21. Характерной особенностью этой ОС является ее приспособленность к накоплению информации, информационному поиску и завершающей обработке выбранной информации. Супервизор ОС принимает введенные в систему запросы, анализирует их и включает в план приказы об их обработке. При составлении плана работы супервизор учитывает также график донесений, выдаваемых систематически в установленные моменты времени. Для этого в составе супервизора имеется специальная программа службы времени, которая должна вести календарный учет времени. В идеальном случае в составе ЭВМ для этой цели должно быть электронное устройство, работающее даже в то время, когда система выключена. В простейшем случае после каждого перерыва в работе ЭВМ супервизор требует сведения, о календарном времени от оператора и в случае, если оказывается, что упущены моменты выдачи некоторых донесений, требует приказа о том, пропустить ли эти донесения или выдать их с опозданием. Запросы, получаемые супервизором, могут содержать вопрос (требование сведений) или новую информацию, которая должна быть размещена в информационных массивах системы.
Ввод новой информации в ряде случаев связан с необходимостью перестройки основных массивов и может требовать большого расхода времени. Поступление новых а затем, если там нет нужных сведений, производится поиск в основном массиве. Изредка, когда система не загружена ответами на вопросы, производится включение новых сведений в основной массив информации. Эта процедура называется обновлением информации.
В больших информационных системах содержатся сотни миллионов кодов (чисел или текстов). Информационный поиск представляет собой при этом очень сложную проблему. Он вообще становится возможным только благодаря тому, что информация при размещении ее в массиве очень четко классифицируется, распределяется по «рубрикам» и «подрубрикам» массива.
В том случае, когда запрос является вопросом, он подвергается анализу, в результате которого разделяется на две компоненты. Одна компонента нужна для поиска информации, а другая — для поиска обрабатывающей подпрограммы, которая должна быть применена к выбранной информации. Кроме информационного массива, в составе системы содержится массив, хранящий такие подпрограммы (библиотека обрабатывающих подпрограмм). После получения ответа на вопрос ответ должен быть отредактирован и лишь после этого отпечатан и доставлен абоненту.
Заметим, что с течением времени изменяется не только информационный массив, но и библиотека обрабатывающих подпрограмм. Связано это с тем, что с изменением хранящейся информации, которая отражает состояние некоторой области объектов, могут появляться новые виды сведений, требующие новых алгоритмов обработки.
Для обеспечения возможности обновления библиотеки обрабатывающих подпрограмм в составе системы должен быть специальный транслятор и, конечно, программа ведения библиотеки подпрограмм.
Нужно отметить одну особенность, отличающую информационные системы, используемые в составе систем управления, от информационных систем, входящих в состав систем информации. Заключается эта особенность в том, что библиотека обрабатывающих подпрограмм в системах управления, как правило, недостаточно полна. Если всевозможные задачи, связанные с выполнением расчетов и группировкой сведений, исследованы довольно основательно, то задачи принятия решений (решения, конечно, должны быть «оптимальными» или хотя бы не очень «плохими») пока изучены мало.
В связи с этим в системах управления коллективами людей для решения задач управления привлекаются люди. ЭВМ, как правило, выдает им некоторые варианты решения, на основании которых специалисты вносят коррективы. Коррективы должны быть введены в ЭВМ и использованы для дальнейшей обработки информации. После довольно большого числа сеансов обращения к специалистам и получения от них корректив в конце концов получают приемлемый результат.
Подобная «игра в мячик», в которой, с одной стороны, участвует ЭВМ, а с другой — специалист (или группа специалистов), связана с необходимостью сохранения в ЭВМ корректируемых результатов до тех пор, пока не будет получен окончательный результат. В информационной системе должен быть предусмотрен специальный массив корректируемых результатов и программа корректировки. К числу видов «запроса» прибавляется еще один вид: «исправления получаемого результата».
Читатель, может быть, спросит: «Зачем хранить в машине результат, подлежащий корректировке? Ведь его можно с исправлениями ввести в машину». Это было бы очень невыгодно, так как ввод информации осуществляется довольно медленно. Одно дело ввести целый массив информации, а другое — некоторые лаконичные указания о его корректировке.
Может у читателя возникнуть и еще один вопрос: «Как могут люди решать такие задачи, которые нельзя решать на ЭВМ?». Отвечая коротко на этот вопрос, скажем только, что решение многих задач управления люди осуществляют, привлекая для этого огромные запасы информации, накопленные в их мозге в обобщенном виде. Использование этих данных мы называем интуицией и результатами опыта. В информационной системе таких больших и так обобщенных сведений просто нет, да и необходимые для их получения алгоритмы еще не созданы. Автор убежден, что в ближайшем будущем многие проблемы, доступные только людям, станут доступными и для решения на машинах.