- •Предисловие
- •Введение
- •Часть первая глава 1 теоретические основы информатики
- •Введение
- •§ 1. Информатика как наука и как вид практической деятельности
- •1.1. История развития информатики
- •1.2. Информатика как единство науки и технологии
- •1.3. Структура современной информатики
- •1.4. Место информатики в системе наук
- •1.5. Социальные аспекты информатики
- •1.6. Правовые аспекты информатики
- •1.7. Этические аспекты информатики
- •Контрольные вопросы
- •§ 2. Информация, ее виды и свойства
- •2.1. Различные уровни представлений об информации
- •2.2. Непрерывная и дискретная информация
- •2.3. Единицы количества информации: вероятностный и объемный подходы
- •Вероятностный подход
- •Объемный подход
- •2.4. Информация: более широкий взгляд
- •2.5. Информация и физический мир
- •§ 3. Системы счисления
- •3.1. Позиционные системы счисления
- •3.2. Двоичная система счисления
- •3.3. Восьмеричная и шестнадцатиричная системы счисления
- •§ 4. Кодирование информации.
- •4.1. Абстрактный алфавит
- •4.2. Кодирование и декодирование
- •4.3. Понятие о теоремах шеннона
- •4.4. Международные системы байтового кодирования
- •§ 5. Элементы теории графов
- •5.1. Основные понятия
- •5.2. Представление графов
- •§ 6. Алгоритм и его свойства
- •6.1. Различные подходы к понятию «алгоритм»
- •6.2. Понятие исполнителя алгоритма
- •6.3. Графическое представление алгоритмов
- •6.4. Свойства алгоритмов
- •6.5. Понятие алгоритмического языка
- •Контрольные вопросы
- •§7. Формализация понятия «алгоритм»
- •7.1. Постановка проблемы
- •7.2. Машина поста
- •73. Машина тьюринга
- •7.4. Нормальные алгоритмы маркова
- •7.5. Рекурсивные функции
- •Контрольные вопросы и задания
- •§ 8. Принципы разработки алгоритмов и программ для решения прикладных задач
- •8.1. Операциональный подход
- •8.2. Структурный подход
- •8.3. Новейшие методологии разработки программ для эвм
- •Контрольные вопросы и задания
- •§ 9. Структуры данных
- •9.1. Данные и их обработка
- •9.2. Простые (неструктурированные) типы данных
- •9.3. Структурированные типы данных
- •Контрольные вопросы и задания
- •§ 10. Понятие об информационном моделировании
- •10.1. Моделирование как метод решения прикладных задач
- •10.2. Основные понятия информационного моделирования
- •10.3. Связи между объектами
- •Контрольные вопросы и задания
- •§ 11. Некоторые кибернетические аспекты информатики
- •11.1. Предмет кибернетики
- •11.2. Управляемые системы
- •11.3. Функции человека и машины в системах управления
- •Контрольные вопросы и задания
- •§ 12. Понятие искусственного интеллекта
- •12.1. Направления исследований и разработок в области систем искусственного интеллекта
- •12.2. Представление знаний в системах искусственного интеллекта
- •12.3. Моделирование рассуждений
- •12.4. Интеллектуальный интерфейс информационной системы
- •12.5. Структура современной системы решения прикладных задач
- •Контрольные вопросы и задания
- •Дополнительная литература к главе 1
- •Глава 2 программное обеспечение эвм
- •Введение
- •§ 1. Операционные системы
- •1.1. Назначение и основные функции операционных систем
- •1.2. Понятие файловой системы
- •1.3. Операционные системы для компьютеров типа ibm pc
- •1.4. Оболочки операционных систем
- •Контрольные вопросы и задания
- •§ 2. Понятие о системе программирования
- •2.1. Основные функции и компоненты
- •2.2. Трансляция программ и сопутствующие процессы
- •Контрольные вопросы
- •§3. Прикладное программное обеспечение общего назначения
- •3.1. Классификация
- •3.2. Инструментальные программные средства общего назначения
- •3.3. Инструментальные программные средства специального назначения
- •3.4. Программные средства профессионального уровня
- •3.5. Организация «меню» в программных системах
- •Контрольные вопросы ч задания
- •§ 4. Системы обработки текстов
- •4.1. Элементы издательского дела
- •4.2. Текстовые редакторы
- •4.3. Издательские системы Общая характеристика
- •Настольная издательская система ТеХ
- •§ 5. Системы компьютерной графики
- •5.1. Принципы формирования изображений на экране
- •5.2. Изобразительная графика
- •5.3. Графические редакторы
- •5.4. Деловая графика
- •5.5. Инженерная графика
- •5.6. Научная графика
- •Контрольные вопросы и упражнения
- •§ 6. Базы данных и системы управления базами данных
- •6.1. Понятие информационной системы
- •6.2. Виды структур данных
- •6.3. Виды баз данных
- •6.4. Состав и функции систем управления базами данных
- •6.5. Примеры систем управления базами данных
- •Контрольные вопросы и задания
- •§ 7. Электронные таблицы
- •7.1. Назначение и основные функции табличных процессоров
- •7.2. Электронные таблицы supercalc
- •7.3. Электронные таблицы excel
- •§8. Интегрированные программные средства
- •8.1. Принципы построения интегрированных программных систем
- •8.2. Интегрированный пакет ms-works
- •§ 9. Экспертные системы
- •Контрольные вопросы и задания
- •§ 10. Инструментальные программные средства для решения прикладных математических задач
- •10.1. Назначение программ
- •10.2. Пакет mathcad
- •10.3. Система аналитических преобразований reduce
- •§ 11. Компьютерное тестирование
- •11.1. Технология проектирования компьютерных тестов предметной области
- •Оценка соответствия
- •11.2. Типы компьютерных тестов
- •11.3. Инструментальные тестовые оболочки
- •11.4. Пример теста по школьному курсу информатики
- •§12. Компьютерные вирусы
- •12.1. Что такое компьютерный вирус
- •12.2. Разновидности компьютерных вирусов
- •12.3. Антивирусные средства
- •Контрольные вопросы и задания
- •§ 13. Компьютерные игры
- •13.1. Виды и назначение компьютерных игр
- •13.2. Обзор компьютерных игр
- •Контрольные вопросы
- •Глава 3 языки и методы программирования
- •Введение
- •§ 1. История развития языков программирования
- •§2. Языки программирования высокого уровня
- •2.1. Понятие о языках программирования высокого уровня
- •2.2. Метаязыки описания языков программирования
- •23. Грамматика языков программирования
- •§3. Паскаль как язык структурно-ориентированного программирования
- •3.1. Введение
- •Контрольные вопросы
- •3.2. Основные конструкции языка
- •Контрольные вопросы
- •3.3. Структуры данных
- •3.4. Процедуры и функции
- •3.5. Работа с файлами
- •3.6. Динамические информационные структуры
- •Контрольные вопросы
- •3.7. Работа с графикой
- •Var gd, gm: integer; {переменные gd и gm определяют драйвер и режим}
- •Контрольные вопросы и задания
- •3.8. Турбо-оболочки. Версии паскаля
- •Контрольные вопросы
- •3.9. Руководство пользователю турбо-паскаля
- •§4. Методы и искусство программирования
- •4.1. Проектирование программ
- •Контрольные вопросы и задания
- •4.2. Основные принципы разработки и анализа алгоритмов
- •Задания
- •4.3. Методы построения алгоритмов, ориентированные на структуры данных
- •Контрольные задания
- •4.4. Рекурсивные алгоритмы
- •Контрольные задания
- •4.5. Важнейшие невычислительные алгоритмы (поиск и сортировка)
- •If f then write('найден элемент на ',m, ' месте') else write('такого элемента в массиве нет ');
- •Контрольные вопросы и задания
- •§ 5. Бейсик как язык операционально-проблемно-ориентированного программирования
- •5.1. Введение в бейсик
- •Контрольные вопросы
- •5.2. Базовые операторы
- •Контрольные вопросы ч задания
- •5.3. Музыкальные возможности
- •Контрольные вопросы и задания
- •5.4. Графические возможности
- •Контрольные вопросы и задания
- •5.5. Обработка символьной информации
- •Контрольные вопросы и задания
- •5.6. Подпрограммы
- •Контрольные вопросы
- •5.7. Работа с файлами
- •5.8. Средства и методы организации диалога
- •Контрольные задания
- •5.9. Версии бейсика
- •5.10. Бейсик и паскаль
- •§ 6. Введение в язык программирования си
- •6.1. Общая характеристика языка и пример программы на си
- •6.2. Элементы си: алфавит, идентификаторы, литералы, служебные слова
- •6.3. Типы данных и операции в языке си. Выражения
- •6.4. Операторы. Управляющие конструкции языка
- •6.5. Структура программы на си. Понятие о функциях
- •6.6. Классы памяти
- •6.7. Функции вводa-вывода
- •6.8. Директивы препроцессора
- •6.9. Си и паскаль
- •§ 7. Основы логического программирования на языке пролог
- •7.1. Общие сведения
- •7.2. Алгоритм выполнения программ на прологе
- •7.3. Рекурсия
- •7.4. Предикат отсечения и управление логическим выводом в программах
- •7.5. Обработка списков
- •7.6. Решение логических задач на прологе
- •Контрольные вопросы и задания
- •§ 8. Введение в функциональное программирование на языке лисп
- •8.1. Назначение и общая характеристика языка
- •8.2. Основные элементы программы на лиспе. Списки
- •8.3. Функции
- •8.4. Формы. Управляющие конструкции в лисп-программе
- •8.5. Рекурсия и цикл в программах на лиспе
- •8.6. Ввод-вывод данных
- •8.7. Пример программирования на лиспе
- •8.8. Свойства символов
- •Контрольные вопросы и задания
- •§9. Введение в объектно-ориентированное программирование
- •9.1. Основные положения
- •9.2. Основы объектного программирования в системе турбо-паскаль
- •9.3. Оболочка turbo-vision
- •9.4.* Среда объектного визуального программирования delphi
- •9.8. Система объектного программирования smalltalk
- •Контрольные вопросы и задания
- •Дополнительная литература к главе 3
- •Часть вторая глава 4 вычислительная техника
- •Введение
- •§ 1. История развития вычислительной техники
- •Начальный этап развития вычислительной техники
- •Начало современной истории электронной вычислительной техники
- •Поколения эвм
- •1.4. Персональные компьютеры
- •1.5. И не только персональные компьютеры...
- •1.6. Что впереди?
- •Контрольные вопросы
- •§2. Архитектура эвм
- •2.1. О понятии «архитектура эвм»
- •1.2. Классическая архитектура эвм II принципы фон неймана
- •2.3. Совершенствование и развитие внутренней структуры эвм
- •2.4. Основной цикл работы эвм
- •2.5. Система команд эвм и способы обращения к данным
- •Контрольные вопросы
- •§3. Архитектура микропроцессоров
- •3.1. История развития микропроцессоров
- •3.3. Внутренняя организация микропроцессора
- •3.3. Работа микропроцессора с памятью. Методы адресации
- •3.4. Форматы данных
- •3.5. Обработка прерываний
- •3.6. Работа микропроцессора с внешними устройствами
- •3.7. Пример: система команд процессоров семейства pdp
- •Контрольные вопросы и задания
- •§4. Учебная модель микрокомпьютера
- •4.1. Структура учебного микрокомпьютера
- •4.2. Система команд
- •4.3. Адресация данных
- •4.4. Работа с внешними устройствами
- •4.5. Примеры программ
- •4.6. Некоторые справочные данные по е-97
- •Контрольные вопросы и задания
- •§ 5. Внешние устройства эвм: физические принципы и характеристики
- •5.1. Внешние запоминающие устройства
- •5.2. Устройства ввода информации
- •5.3. Устройства вывода информации
- •Контрольные вопросы и задания
- •§ 6. Логические основы функционирования эвм
- •6.1. Логика высказываний. Элементарные логические функции
- •6.2. Схемная реализация элементарных логических операций. Типовые логические узлы
- •63. Пример электронной реализации логического элемента
- •Контрольные вопросы и задания
- •Дополнительная литература к главе 4
- •Глава 5 компьютерные сети и телекоммуникации введение
- •§ 1. Локальные сети
- •1.1. Аппаратные средства
- •1.2. Конфигурации локальных сетей и организация обмена информацией
- •1.3. Локальные сети учебного назначения
- •Контрольные вопросы
- •§2. Операционные системы локальных сетей
- •Контрольные вопросы ч задания
- •§3. Глобальные сети
- •3.1. Общие принципы организации
- •3.2. Аппаратные средства и протоколы обмена информацией
- •3.3. Электронная почта
- •3.4.1. Адресация и виды информации в Internet
- •3.4.2. Доступ к информации в Internet
- •3.4.3. Язык разметки гипертекстов html
- •3.4.4. Программа-оболочка Internet Explorer
- •3.4.5. Другие информационные системы в Internet
- •§ 4. Представление об операционной системе unix
- •§ 5. Использование компьютерных сетей в образовании
- •5.1. Телекоммуникации как средство образовательных информационных технологий
- •5.2. Персональный обмен сообщениями
- •5.3. Информационное обеспечение
- •5.4. Совместное решение задач
- •Глава 6 информационные системы введение
- •§ 1. Банки информации
- •1.1. Банки данных
- •1.2. Банки документов
- •1.3. Банк педагогической информации
- •§ 2. Базы данных в структуре информационных систем
- •2.1. Основные понятия
- •2.2. Проектирование баз данных
- •2.3. Представление об языках управления реляционными базами данных типа dBase
- •2.3.1. Основные элементы субд типа dBase
- •2.3.2. Создание структуры файлов базы данных
- •2.3.3. Командный язык субд
- •2.3.4. Ввод данных в базу и редактирование
- •2.3.5. Дополнительные операции
- •2.3.6. Организация системы меню
- •2.3.7. Пример создания информационной системы с помощью субд типа dBase
- •§ 3. Автоматизированные информационные системы
- •3.1. Автоматизированные системы управления
- •3.2. Информационные системы управления
- •3.2.1. Общие принципы
- •3.2.2. Информационные системы управления в образовании
- •3.3. Автоматизированные системы научных исследований
- •3.4. Системы автоматизированного проектирования
- •3.5. Геоинформационные системы
- •Контрольные вопросы
- •§4. Экспертные системы
- •Контрольные вопросы и задания
- •§ 5. Компьютерные обучающие системы
- •5.1. Основные принципы новых информационных технологий обучения
- •5.2. Типы обучающих программ
- •5.3. Компьютерное тестирование
- •5.4. Перспективные исследования в области компьютерного обучения
- •Глава 7 компьютерное математическое моделирование введение
- •§ 1. О разновидностях моделирования
- •§2. Понятие о компьютерном математическом моделировании
- •2.1. Математическое моделирование и компьютеры
- •2.2. Этапы и цели компьютерного математического моделирования
- •2.3. Классификация математических моделей
- •2.4. Некоторые приемы программирования
- •§3. Моделирование физических процессов
- •3.1. Физика и моделирование
- •3.2. Свободное падение тела с учетом сопротивления среды
- •3.3. Движение тела, брошенного под углом к горизонту. Законы подобия
- •3.4. Движение тела с переменной массой: взлет ракеты
- •3.5. Движение небесных тел
- •3.6. Движение заряженных частиц
- •3.7. Колебания математического маятника
- •3.8. Моделирование явлений и процессов в приближении сплошной среды
- •3.9. Моделирование процесса теплопроводности
- •Контрольные вопросы и задания
- •§ 4. Компьютерное моделирование в экологии
- •4.1. Экология и моделирование
- •4.2. Модели внутривидовой конкуренции
- •4.3. Логистическая модель межвидовой конкуренции
- •4.4. Динамика численности популяций хищника и жертвы
- •4.5. Имитационное моделирование динамики популяций
- •Контрольные вопросы и задания
- •§5. Глобальные модели развития человечества
- •§ 6. Моделирование случайных процессов
- •6.1. Техника стохастического моделирования
- •6.2. Моделирование случайных процессов в системах массового обслуживания
- •6.3. Различные примеры моделирования случайных процессов
- •Контрольные вопросы и задания
- •§7. Компьютерное математическое моделирование в экономике
- •7.1. Постановка зaдaчи линейного программирования
- •7.2. Симплекс-метод
- •Контрольные вопросы и задания
- •Дополнительная литература к главе 7
- •Содержание
- •§4. Методы и искусство программирования 261
- •§ 5. Бейсик как язык операционально-проблемно-ориентированного программирования 290
- •§ 6. Введение в язык программирования си 306
Контрольные вопросы
1. Каково назначение и основные структурные элементы АСУ?
2. В чем состоят недостатки концепции АСУ 70-х годов?
3. В чем состоят основные положения современной концепции информационной системы управления?
4. Каковы перспективы развития информационно-управляющих систем в образовании?
5. Каково назначение и основные структурные элементы АСНИ?
6. Каково назначение и основные структурные элементы САПР?
7. Каково назначение и основные структурные элементы ГИС?
§4. Экспертные системы
Систему искусственного интеллекта, построенную на основе высококачественных специальных знании о некоторой предметной области (полученных от экспертов - специалистов этой области), называют экспертной системой. Экспертные системы - один из немногих видов систем искусственного интеллекта (см. гл. 1) -получили широкое распространение и нашли практическое применение. Существуют экспертные системы по военному делу, геологии, инженерному делу, информатике, космической технике, математике, медицине, метеорологии, промышленности, сельскому хозяйству, управлению, физике, химии, электронике, юриспруденции и т.д. И только то, что экспертные системы остаются весьма сложными, дорогими, а главное, узкоспециализированными программами, сдерживает их еще более широкое распространение.
От других программ экспертные системы отличаются по следующим признакам:
1) компетентность - в конкретной предметной области экспертная система должна достигать того же уровня, что и эксперты - люди, при этом она должна пользоваться теми же эвристическими приемами, также глубоко и широко отражать предметную область;
2) символьные рассуждения - знания, на которых основана экспертная система, представляют в символьном виде понятия реального мира, рассуждения также происходят в виде преобразований символьных наборов;
3) глубина - экспертиза должна решать глубокие, нетривиальные задачи, отличающиеся сложностью либо в плане сложности знаний, которые экспертная система использует, либо в плане их обилия, это не позволяет использовать полный перебор вариантов как метод решения задачи и заставляет прибегать к эвристическим, творческим, неформальным методам;
4) самосознание - экспертная система должна включать в себя механизм объяснения того, каким образом она приходит к решению задачи.
Экспертные системы (рис. 6.12) создаются для решения разного рода проблем, но основные типы их деятельности можно сгруппировать в категории, приведенные в табл. 6.6.
Экспертные системы, выполняющие интерпретацию, как правило, используют информацию от датчиков для описания ситуации. Например, это может быть интерпретация показаний измерительных приборов на химическом заводе для определения состояния процесса. Интерпретирующие системы имеют дело не с четкими символьными представлениями проблемной ситуации, а непосредственно с реальными данными. Они сталкиваются с затруднениями, которых нет у систем других типов, потому что им приходится обрабатывать информацию зашумленную, недостаточную, неполную, ненадежную или ошибочную. Им необходимы специальные методы регистрации характеристик непрерывных потоков данных, сигналов или изображений и методы их символьного представления.
Интерпретирующие экспертные системы могут обрабатывать разнообразные виды данных. Например, системы анализа сцен и распознавания речи, используя
Рис. 6.12. Схема обобщенной экспертной системы
Таблица 6.6
Типичные категории способов применения экспертных систем
Категория
|
Решаемая проблема
|
Интерпретация Прогноз Диагностика Проектирование Планирование Наблюдение Отладка Ремонт Обучение Управление
|
Описание ситуации по информации, поступающей от датчиков Определение вероятных последствий заданных ситуаций Выявление причин неправильного функционирования системы по наблюдениям Построение конфигурации объектов при данных ограничениях Определение последовательности действий Сравнение результатов действий с ожидаемыми результатами Составление рецептов исправления неправильного функционирования системы Выполнение последовательности предписанных исправлений Диагностика и исправление поведения обучаемого Управление поведением системы как целого
|
естественную информацию (в одном случае визуальные образы, в другом - звуковые сигналы), анализируют их характеристики и понимают их смысл. Интерпретация в области химии использует данные дифракции рентгеновских лучей, спектрального анализа или ядерного магнитного резонанса для вывода химической структуры веществ. Интерпретирующая система в геологии использует каротажное зондирование - измерение проводимости горных пород в буровых скважинах и вокруг них, чтобы определить подповерхностные геологические структуры. Медицинские интерпретирующие системы используют показания следящих систем (например, значения температуры, пульса, кровяного давления), чтобы установить диагноз или тяжесть заболевания. Наконец, в военном деле интерпретирующие системы используют данные от радаров, радиосвязи и сонарных устройств, чтобы оценить ситуацию и идентифицировать цели.
Экспертные системы, осуществляющие прогноз, определяют вероятные последствия заданных ситуаций. Примерами служат прогноз ущерба урожаю от некоторого вида вредных насекомых, оценивание спроса на нефть на мировом рынке, прогнозирование места возникновения следующего вооруженного конфликта на основании данных разведки. Системы прогнозирования иногда используют имитационное моделирование, т.е. программы, которые отражают причинно-следственные взаимосвязи в реальном мире, чтобы сгенерировать ситуации или сценарии, которые могут возникнуть при тех или иных входных данных (конкретный пример приведен в главе 7). Эти возможные ситуации вместе со знаниями о процессах, порождающих эти ситуации, образуют предпосылки для прогноза. Специалисты по искусственному интеллекту пока что разработали сравнительно мало прогнозирующих систем, возможно потому, что очень трудно взаимодействовать с имитационными моделями и создавать их.
Экспертные системы выполняют диагностирование, используя описания ситуаций, характеристики поведения или знания о конструкции компонентов, чтобы установить вероятные причины неправильно функционирования диагностируемой системы. Примерами служат определение причин заболевания по симптомам, наблюдаемым у пациентов; локализация неисправностей в электронных схемах и определение неисправных компонентов в системе охлаждения ядерных реакторов. Диагностические системы часто являются консультантами, которые не только ставят диагноз, но и помогают в отладке. Они могут взаимодействовать с пользователем, чтобы оказать помощь при поиске неисправностей, а затем предложить порядок действий по их устранению. Медицина представляется вполне естественной областью для диагностирования, и действительно, в медицинской области было разработано больше диагностических систем, чем в любой другой отдельно взятой предметной области. Однако в настоящее время многие диагностические системы разрабатываются для приложений к инженерному делу и компьютерным системам.
Экспертные системы, выполняющие проектирование, разрабатывают конфигурации объектов с учетом набора ограничений, присущих проблеме. Примерами могут служить генная инженерия, разработка СБИС и синтез сложных органических молекул.
Экспертные системы, занятые планированием, проектируют действия; они определяют полную последовательность действий, прежде чем начнется их выполнение. Примерами могут служить создание плана применения последовательности химических реакций к группам атомов с целью синтеза сложных органических соединений или создание плана воздушного нападения, рассчитанного на несколько дней, с целью нейтрализации определенного фактора боеспособности врага.
Экспертные системы, выполняющие наблюдение, сравнивают действительное поведение с ожидаемым поведением системы. Примерами могут служить слежение за показаниями измерительных приборов в ядерных реакторах с целью обнаружения аварийных ситуаций или оценка данных мониторинга больных, помещенных в блоки интенсивной терапии. Наблюдающие экспертные системы подыскивают наблюдаемое поведение, которое подтверждает их ожидания относительно нормального поведения или их предположения о возможных отклонениях. Наблюдающие экспертные системы по самой своей природе должны работать в режиме реального времени и осуществлять зависящую как от времени, так и от контекста интерпретацию поведения наблюдаемого объекта.
Экспертные системы, выполняющие обучение, подвергают диагностике, «отладке» и исправлению (коррекции) поведение обучаемого. В качестве примеров приведем обучение студентов отысканию неисправностей в электрических цепях, обучение военных моряков обращению с двигателем на корабле и обучение студентов-медиков выбору антимикробной терапии. Обучающие системы создают модель того, что обучающийся знает и как он эти знания применяет к решению проблемы. Системы диагностируют и указывают обучающемуся его ошибки, анализируя модель и строя планы исправлений указанных ошибок. Они исправляют поведение обучающихся, выполняя эти планы с помощью непосредственных указаний обучающимся.
Экспертные системы, осуществляющие управление, адаптивно руководят поведением системы в целом. Примером служит управление производством и распределением компьютерных систем. Управляющие экспертные системы должны включать наблюдающие компоненты, чтобы отслеживать поведение объекта на протяжении времени, но они могут нуждаться и в других компонентах для выполнения любых или всех из уже рассмотренных типов задач: интерпретации, прогнозирования, диагностики, проектирования, планирования, отладки, ремонта и обучения. Типичная комбинация задач состоит из наблюдения, диагностики, отладки, планирования и прогноза.
Рассмотрим примеры наиболее известных, классических экспертных систем, с которых началось создание и развитие этого типа программных средств.
MYCIN - это экспертная система, разработанная для медицинской диагностики. В частности, она предназначена для работы в области диагностики и лечения заражения крови и медицинских инфекции. Система ставит соответствующий диагноз, исходя из представленных ей симптомов, и рекомендует курс медикаментозного лечения любой из диагностированных инфекций. Она состоит в общей сложности из 450 правил, разработанных с помощью группы по инфекционным заболеваниям Стэндфордского университета. Ее основополагающим моментом является использование вероятностного подхода.
Система MYCIN справляется с задачей путем назначения показателя определенности каждому из своих 450 правил. Поэтому можно представлять MYCIN как систему, содержащую набор правил вида «ЕСЛИ... ТО» с определенностью Р, которые предоставили люди - эксперты - и которые изложили и правила и указали свою степень доверия к каждому правилу по шкале от 1 до 10.
Установив эти правила и связанные с ними показатели определенности, MYCIN идет по цепочке назад от возможного исхода, чтобы убедиться, можно ли верить такому исходу. Установив все необходимые исходные предпосылки, MYCIN формирует суждение по данному исходу, рассчитанное на основе показателей определенности, связанных со всеми правилами, которые нужно использовать.
Допустим, чтобы получить исход Z, требуется определить предпосылки Х и Y, дающие возможность вывести Z. Но правила для определения Х и Y могут иметь связанные с ними показатели определенности Р и Q . Если значения Р и Q были равны 1,0, то исход Z не вызывает сомнения. Если Р и Q меньше 1,0 (как это обычно бывает), то исход Z не последует наверняка. Он может получиться лишь с некоторой степенью определенности.
MYCIN не выдает диагноз и не раскрывает его точный показатель неопределенности. Система выдает целый список диагнозов, называя показатель определенности для каждого из них. Все диагнозы с показателями выше определенного специфического для каждого диагноза уровня принимаются как в той или иной степени вероятные, и пользователю вручается список возможных исходов.
Стандартные фразы и грамматические формы были без труда приспособлены к программе, и в результате получился существенно вырожденный диалект английского языка, легко поддающийся программированию.
Врачи оказались очень довольными таким результатом, потому что, сами не осознавая этого, они говорили, используя очень небольшой набор слов английского языка (по крайней мере. когда сообщали о своей работе).
В некотором роде это имеет нечто общее с системой DENDRAL, в которой применяется графический язык, приспособленный к специфической деятельности химиков.
DENDRAL - это старейшая, самая разработанная экспертная система в мире. Или, по крайней мере, старейшая система, названная экспертной.
Химик, получив какое-то вещество, часто хочет знать, какова его химическая структура. Для этого существуют различные способы. Во-первых, специалист может сделать определенные умозаключения на основе собственного опыта. Во-вторых, он может исследовать это вещество на спектрометре и, изучая структуру спектральных линий, уточнить своя первоначальные догадки. Во многих случаях это даст ему возможность точно определить структуру вещества.
Проблема состоит в том, что все это требует времени и значительной экспертизы со стороны научного сообщества. Здесь и оказывается очень полезной система DENDRAL, автоматизирующая процесс определения химической структуры вещества.
В самых общих чертах процесс принятия решения следующий. Пользователь дает системе DENDRAL некоторую информацию о веществе,, а также данные спектрометрии (инфракрасной, ядерного магнитного резонанса и масс-спектрометрии), и та, в свою очередь, выдает диагноз в виде соответствующей химической структуры.
Можно для простоты представить систему DENDRAL состоящей из двух частей, как если бы в одной экспертной системе были две самостоятельные системы. Первая из них содержит набор правил для выработки возможных химических структур. Вводимая информация состоит из ряда заключений, сделанных химиком, и позволяет судить, какие структуры вероятны в том или ином случае.
На выходе первой системы имеется не один простой ответ. Обычно это целая серия возможных структур - программа не в состоянии точно сказать, какая из них верна. Затем DENDRAL «берет» каждую из этих структур по очереди и использует вторую экспертную систему, чтобы определить для каждой из них, каковы были бы результаты спектрального анализа, если бы это вещество существовало и было на самом деле исследовано по спектрограмме.
Процесс, часто именуемый «генерация и проверка», позволяет постоянно сокращать число возможных рассматриваемых вариантов, чтобы в любой момент оно было как можно меньше. В отличие от некоторых экспертных систем DENDRAL задумана не как «игрушка». Она не используется лишь для проверки теоретических основ экспертных систем, а реально применяется для определения химических структур.
PROSPECTOR - это экспертная система, применяемая при поиске коммерчески оправданных месторождений полезных ископаемых.
Система PROSPECTOR, по аналогии с MYCIN, содержит большое число правил, относящихся к различным объектам, а также возможных исходов, выведенных на их основе. В этой системе используется также «движение по цепочке назад» и вероятности. Методы этой системы являются одними из лучших среди всех разработанных методов для любой из существующих ныне систем.
Самый простой случай - правила, выражающие логические отношения. Это правила типа «ЕСЛИ х, ТО z», где событие «z» непосредственно вытекает из «х». Они остаются столь же простыми, если сопоставить «х» вероятность.
Если у «х» всего один аргумент, то это правило существенно упрощается. Обычно вместо «х» мы представляем более сложное логическое выражение, например (х И у) или (х ИЛИ у).
Если элементы отношения связаны с помощью логического И и отдельным элементам этого отношения сопоставлены определенные вероятности, то система PROSPECTOR выбирает минимальное из этих значений и присваивает эту минимальную вероятность рассматриваемому возможному исходу. Поэтому, когда вероятность х = 0,1, вероятность у = 0,2, вероятность исхода z = 0,1. Легко видеть, почему выбран такой метод: чтобы «z» было истинным, и «х», и «у» должны быть истинными. Это является «жестким» ограничением, поэтому следует брать минимальное значение.
Система PROSPECTOR пользуется методом, основанным на применении формулы Байеса с целью оценки априорной и апостериорной вероятностей какого-либо события.
В целом правила в системе PROSPECTOR записываются в виде ЕСЛИ..., ТО (LS, LN), причем каждое правило устанавливается с отношением правдоподобия как для положительного, так и для отрицательного ответа.
Система PROSPECTOR предлагает пользователю шкалу ответов в диапазоне от -5 до +5. Нижний предел - это определенно «Да», верхний - определенно «Нет».
Обычно ответ пользователя находится где-то между крайними значениями, и PROSPECTOR корректирует Р(Н), учитывая LS и LN с помощью линейной интерполяции. Это легко представить себе в виде линейной шкалы, где LN - крайнее левое, а LS - крайнее правое значение.
Кроме экспертных систем MYCIN, DENDRAL и PROSPECTOR существует большое количество других экспертных систем. Ниже (табл. 6.7) приводится список некоторых систем, отличительной особенностью которых является наличие большой базы знаний. Этот перечень, конечно, весьма неполный, потому что в последнее время происходит быстрое расширение сферы применения экспертных систем, и полный их перечень был бы огромным и устарел бы почти сразу же после его опубликования.
В этом списке приведены также «пустые» экспертные системы (не содержащие конкретных правил предметных областей) и экспертные системы по построению других экспертных систем. Такие системы являются инструментальными средствами для создания прикладных экспертных систем. Они значительно облегчают задачи создания полномасштабной прикладной экспертной системы.
Вообще же инструментальные средства создания экспертных систем (ЭС) классифицируют следующим образом:
• символьные языки программирования, ориентированные на создание ЭС и систем искусственного интеллекта (например, LISP, INTERLISP, SMALLTALK);
•языки инженерии знаний, т.е. языки высокого уровня, ориентированные на построение ЭС (например, OPS-5, LOOPS, Пролог, KES);
• системы, автоматизирующие разработку (проектирование) ЭС (например, КЕЕ, ART, TEIRESIAS, AGE, TIMM); их часто называют окружением (enviroment) для разработки систем искусственного интеллекта, ориентированных на знания;
•оболочки ЭС (или пустые ЭС) - ЭС, не содержащие знании ни о какой проблемной области (например, ЭКСПЕРТИЗА, EMYCIN, ЭКО, ЭКСПЕРТ).
Таблица
Список некоторых экспертных систем
Наименование системы
|
Назначение системы
|
MYCIN, PUFF, PIP,
|
|
CASNET, INTERNIST
|
Медицинская диагностика
|
SACON
|
Техническая диагностика
|
PROSPECTOR
|
Геологическая диагностика
|
DENDRAL SECHS
|
Определение химической структуры вещества
|
SYNCHEM
|
Определение химической структуры вещества
|
EL
|
Анализ цепей
|
MOLGEN
|
Генетика
|
MECHO
|
Механика
|
PECOS
|
Программирование
|
Rl
|
Конфигурирование компьютеров
|
SU/X
|
Машинная акустика
|
VM
|
Медицинские измерения
|
SOPHIE
|
Обучение электронике
|
GUIDON
|
Медицинское обучение
|
TEIRESIAS, EMYCIN,
|
|
EXPERT, KAS
|
Построение базы данных
|
ROSIE, AGE,
|
|
HEARSAY III, AL/X,
|
|
SAGE, Micro-Expert
|
Построение экспертных систем
|