Книга
Книга
От автора
Книга, которую вы читаете, не претендует на полноту и эн- циклопедичность. Ее цель — дать первоначальное представление о предмете «Искусственный интеллект», его целях, задачах, методах, основных научных школах и достижениях. Автор излагает личное видение достаточно простых, давно известных концепций и методов, составляющих основу для понимания современных достижений искусственного интеллекта. Основу книги составляют символьные модели, новейшие достижения искусственного интеллекта в работе только упоминаются.
Книга написана по материалам курса «Интеллектуализация информационных систем», прочитанного в 1997—2001 гг. в АлтГТУ для студентов специальности 351400 — «Прикладная информатика (по областям)», а также ряда смежных специальностей.
В ходе подготовки к лекциям автор активно пользовался источниками, приведенными в списке рекомендуемой литературы. Часть примеров, приводимых в тексте, дополненная и многократно опробованная на студентах, а также в практической инженерной деятельности, заимствована из этих источников.
Посвящаю работу памяти своего деда — Николая Никитовича Пинчука.
Барнаул, 1997-2003 Д. В. Смолин
Крупные центры создания искусственного интеллекта
Программа курса«Интеллектуальные информационные системы»
Маленький одноместный номер на 6 этаже маленькой гостиницы на La mote piquete grannelle, шум, дождя в открытом, окне. ..
13 февраля 2002
Примерная учебная программа разработана с учетом того, что количество часов может изменяться. Фактически в программе описаны два учебных курса.
«Принципы искусственного интеллекта» для специалиста-информатика.
«Возможности искусственного интеллекта и области его применения» для специалистов гуманитарного направления.
Цель курса: подготовить обучаемого к практической деятельности в области создания, внедрения и эксплуатации систем искусственного интеллекта в качестве инженера по знаниям, пользователя или управленца (менеджера, ответственного за внедрение, рис. 1).
Создание своей собственной ЭС
Понятие о технологии создания систем ИИи ее специфике
Понятие об устройстве и эффективности функ-ционирования реальных интеллектуальных систем
Понятие о специализированных языках Prologи Lisp, а также других применямых в ИИ
Понятие о работе с «пустыми ЭС»
Понятие о способах формального описания знанийи способах работы с ними
Понятие о данных и знаниях и обоснование сложности работы с ними
Понятие о наличии «слабо структурированных областей» и причинах,по которым необходимо работать с ними
Понятие о наличии «технологии переработки информации»
Рис. 1. Идеология учебного курса
В общей таблице темы, изучение которых является обязательным для минимального знакомства с предметом (т. е. на уровне возможностей), отмечены символом «X».
Задачи курса: рассмотреть краткую историю становления и развития искусственного интеллекта (ИИ); рассмотреть технические постановки основных задач, решаемых системами искусственного интеллекта; ознакомить с современными областями исследования по искусственному интеллекту; ознакомить с основными моделями представления знаний и некоторыми интеллектуальными системами; рассмотреть теоретические и некоторые практические вопросы создания и эксплуатации экспертных систем.
Организация практики: все занятия проводятся на компьютере; список необходимого программного обеспечения и копии программ — на отдельном компакт-диске.
Примерное содержание программы
Тема 1. Введение: краткая история и терминология.
Философские, технические, научные предпосылки для создания искусственного разума. История развития информационных технологий. Современные представления о структуре и функционировании человеческого мозга. Сила и слабость человеческого разума. Области разделения обязанностей между человеком и машиной. Возможность конфликта между человеком и машиной с особым вниманием не на философию, а на техническую точку зрения. Способы избежания конфликта, смягчения его. Практические примеры. Философы и поэты, работавшие над этими проблемами, и квинтэссенция их основных произведений. Данные и знания. Определения, интуитивные примеры, проблемы работы с данными, проблемы работы со знаниями. Выгоды, получаемые при использовании знаний. Единство и неразрывность данных и знаний. Основные термины и определения, относящиеся к ИИ.
Практика: «Правильная постановка целей».
Тема 2. Теоретические задачи, решаемые ИИ. Инженерные задачи, решение которых требует применения методов ИИ. Математическое описание инженерных задач — постановка абстрактных задач: выбор, поиск пути, генерация альтернатив, классификация. Абстрактные модели решения задачи: разновидности моделей, выбор наиболее подходящей для данной задачи.
Тема 3. Области практического применения методов ИИ.
Хорошо и плохо структурированные предметные области. Эффективность решения практических задач методами ИИ и критерии
Примерны! тематический план курса
№
Тема
Примерное кол. часов
Прим.
1.
Введение: краткая история и терминология
2
X
2.
Теоретические задачи, решаемые ИИ Практика: «Правильная постановка целей»
2
2
X
3.
Области практического применения методов ИИ Тестирование: «Терминология и области применения ИИ»
Тестирование: «Направления современных исследований в ИИ»
2
1
1
X
4.
Модели представления знаний. Общий обзор
2
X
5.
Логика
Практика: «Применение элементов формальной логики для управления техническими устройствами»
Тестирование: «Основы формальной логики»
2
2
1
X
6.
Правила продукций
2
X
7.
Языки описания продукционной модели Prolog и Lisp Практика: «Программирование на языке Prolog» Практика: «Программирование на Lisp» Тестирование: «Основы языка Prolog»
2 2
2
1
8.
Семантические сети
Практика: «Построение СС на основе фрагмента текста» Тестирование: «Основы теории множеств»
2
1
2
X
9.
Фреймы
Практика: «Создание фрейма — визуального образа»
Практика: «Создание не визуального фрейма»
Тестирование: «Основы объектной модели»
2
1
2
2
X
10.
Новые модели представления знаний. Общий обзор
2
11.
Модели теории принятия решений: критериальный и вероятностный подходы. Экспертные методы. Нейронные сети
Практика: «Практическое применение отдельных экспертных методов»
2
2
12.
Экспертные системы. Общий обзор
Практика: «Работа с оболочкой ЭС»
Практика: «Разработка простейшей ЭС на инструментальном языке»
Тестирование: «Принцип работы, достоинства и недостатки отдельных ЭС»
2
2
1
13.
Технология разработки экспертных систем.
Тестирование: «Различия в разработке ЭС и традиционных программ»
2
1
Написание и защита рефератов
2
Итого часов
53
30
измерения эффективности. Принципы эффективного применения методов ИИ.
Тестирование: «Терминология и области применения ИИ».
Тестирование: «Направления современных исследований в ИИ».
Тема 4. Модели представления знаний. Общий обзор.
Общая схема моделей представления знаний. Основные сведения об основоположниках. Краткие исторические справки о развитии моделей. Основные решаемые задачи, область применимости и эффективность, опыт и специфика эксплуатации, примеры отдельных реальных систем, созданных на базе этих моделей, инструментальные средства для работы с этими моделями. Современные мировые модели-лидеры и причины их лидерства. Перечень ключевых публикаций.
Тема 5. Логика.
Краткая история развития логики от Аристотеля до нашего времени. Основные школы и решаемые ими задачи, система логических обозначений. Способы формальной записи логических выражений и правил. Технические приложения теории логики: практические примеры, достоинства и недостатки. Способы логических рассуждений и способы оценки истинности формул. Классификационные системы. Доказательства и софизмы. Логический квадрат. Логические имена. Исторические примеры применения логики и иллюстрации к самому процессу ее развития. Рассуждения с нечеткими и неясными именами. События, характеризуемые вероятностью, и события, характеризуемые степенью уверенности. Таксономические модели и история их развития, примеры таксономий. Математическая теория нечетких множеств. Примеры практических задач.
Практика: «Применение элементов формальной логики для управления техническими устройствами».
Тестирование: «Основы формальной логики».
Тема 6. Правила продукций.
Сложность («объемность») расчетов при выводе на основе уравнений Дж. Буля. Принцип резолюций как способ сократить количество уравнений. Представление задачи в виде «И/ИЛИ» графа. Другие способы «оптимизации затрат» на логический вывод при наличии большой системы уравнений: стратегия вывода и «бэктрекинг», способ алгоритмической организации «бэктрекинга». Запись «пути решения» задачи и методы хранения баз знаний (реляционная). Полезные эвристики для организации перебора. Зацикливание и алгоритм борьбы с ним. Метод встречной волны. Метод ветвей
и границ. Метод ограничения числа дочерних вершин, метод динамического программирования и др. Наиболее известные задачи: «обезьяна и банан», «родственные отношения», «поиск кратчайшего пути». Методы построения программ на основе данной теории и специализированное аппаратное обеспечение: символьные машины и подробное описание механизма работы продукционной машины вывода на примере оболочки экспертной системы (например, «ЕхроЬ»).
Тема 7. Языки описания продукционной модели Prolog и Lisp.
Назначение, краткая история развития и современное состояние. Синтаксис. Сравнительный анализ. Примеры решения задач. Примеры типичных ошибок и затруднений.
Практика: «Программирование на языке Prolog».
Практика: «Программирование на языке Lisp».
Тестирование: «Основы языка Prolog».
Тема 8. Семантические сети.
Представление СС в виде графа с циклами. Теорема о возможности развязывания любого полносвязного графа в дерево. Определение СС. Очень краткая история развития. Типы узлов и типы отношений (теории категорий Канта, Локка, Бэкона, Аристотеля, современная теория лингвистики и ее авторы). «Поверхностность» и «глубинность» знаний как основные отличия модели СС и продукционной. Примеры «поверхностного» и «глубинного» описаний одной и той же задачи и указание областей применения поверхностных и глубинных знаний. Классификация СС. Предметные области, в которых СС получили распространение. Примеры. Достоинства и недостатки. Методы и алгоритмы вывода на СС. Основы теории множеств для описания СС.
Практика: «Построение С С на основе фрагмента текста».
Тестирование: «Основы теории множеств».
Тема 9. Фреймы.
Определение. История появления. Решаемые задачи. Практические системы, созданные на основе фреймов. Основные направления совершенствования сетевой модели. Фрейм как идеальный метод для описания внутренней структуры узлов сети. Определение. История появления. Типы фреймов и свойства фреймов (наследование, инкапсуляция, полиморфизм). Системы фреймов. Представление знаний об объекте при помощи фреймов, примеры. Примеры фреймов, применяемых в инженерной практике: объекты языков программирования, а также невизуальные фреймы, абстрактные фреймы-
образцы. Преимущества и недостатки фреймовой модели. Объектноориентированные языки программирования. Понятия об объектноориентированном анализе предметной области. Методы хранения объектных баз данных. Инструментальные средства описания и вывода на фреймовой модели.
Практика: «Создание фрейма — визуального образа».
Практика: «Создание фрейма — не визуального образа».
Тестирование: «Основы объектной модели».
Тема 10. Новые модели представления знаний. Общий обзор.
Причины неудовлетворенности возможностями «традиционных» моделей ИИ. Новые задачи, решение которых невозможно при помощи «традиционных» методов. Примерный перечень «неклассических» моделей ИИ и решаемых ими задач. Прагматический и идеалистический подходы к созданию советующих систем. Теория принятия решений как метод, позволяющий получать решения в слабо структурированных областях.
Тема И. Модели теории принятия решений: критериальный и вероятностный подходы. Экспертные методы. Нейронные сети.
Принятие решений: определение выбора; языки описания задач выбора (критериальный, бинарные отношения, статистика (многомерный статистический анализ, многомерное шкалирование) и др.). Вероятностные методы осуществления выбора. Гибридные модели. Методы получения экспертных оценок. Персептроны. Нейронные сети как основной тип современных моделей ИИ.
Практика: «Практическое применение отдельных экспертных методов».
Тема 12. Экспертные системы. Общий обзор.
Необходимость ЭС в практических задачах человеческой деятельности. Определение ЭС. История развития и области применения. Задачи, решаемые ЭС. Технология применения ЭС и ее отличие от технологии применения «обычных» программ. Критерии необходимости применения ЭС. Типичные состав и структура ЭС. Языки представления знаний. Классификация знаний по глубине и жесткости. Классификация ЭС и современные тенденции в их развитии. Примеры практических ЭС (подробно): MYCIN, ELIZA, PROSPECTOR, CASNET, ЕХРОВ, ESISP.
Практика: «Работа с оболочкой ЭС».
Практика: «Разработка простейшей ЭС на инструментальном языке».
Тестирование: «Принцип работы, достоинства и недостатки отдельных ЭС».
Тема 13. Технология разработки экспертных систем.
Этапы разработки ЭС и их отличие от разработки «обычного» ПО. Работа инженера по знаниям. Получение знаний. Выбор модели представления знаний. Коллектив разработчиков. Особенности разработки ЭС.
Тестирование: «Различия в разработке ЭС и традиционных программ».
Темы для рефератов.
Новые модели для представления знаний.
Практические примеры ЭС.
Интерфейсы ЭС.
Программные средства для построения ЭС.
Методы сортировки (сравнение текстовых строк, сравнение предложений).
Примеры задач, эффективно решаемых на Prolog или Lisp.
История развития искусственного интеллекта.
Сравнительный анализ эффективности различных моделей представления знаний (на примере прикладной задачи).
Современная литература по ИИ (обзор литературы за последние 3 года: области исследований, персоналии, прикладные системы, цели и задачи исследований).
ГЛАВА 1искусственны! интеллект как вершинаРАЗВИТИЯ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИИ
Предыстория теории ИИ
Искусственный интеллект, как и любое направление современной науки, имеет богатую предысторию. Знакомство с именами и трудами основоположников, их научными воззрениями, даже биографиями ученых имеет практический смысл, т. к. во многих случаях позволяет глубже понять смысл той или иной научной модели.
Широкое развитие автоматизированных технологий (см. табл. 1) началось, по-видимому, в 40-50 годах ушедшего XX века. Философская идея о замене человека умной машиной, возникшая в книгах Шелли (если только не раньше), получила наибольшее распространение в 60-80 годах. Основные теоретические положения искусственного интеллекта, а искусственный интеллект сегодня — вершина развития информационных технологий, заложены как раз в этот период. Сказанное не означает, что сегодня исследования ведутся менее активно, напротив, наблюдается бум развития компьютерных технологий, в их разработку вкладываются деньги, сопоставимые с бюджетом ресурсодобывающих компаний. Тем не менее результаты скорее количественные. Впрочем, возможно, что современные достижения в этой области не рекламируются, поскольку имеют явную военную направленность.
Серьезных изменений в теории искусственного интеллекта следует ожидать, по-видимому, в 10-20 гг. нашего века. Это обусловлено необходимостью обобщения накопленных научных знаний, появления некоторой единой теории искусственного интеллекта.
История развивается циклично, и новый век, тем более начало нового тысячелетия, — это своеобразный старт для народов, государств, политиков, ученых.
Свидетелями каких представлений на сцене истории мы станем? Какое государство определит лицо современного мира? Какой ресурс станет главным для мировой экономики? Сегодня это не знает никто. Возможен только более-менее точный прогноз, и он состоит в том, что одним из самых важных, самым важным после нефти и угля, станет информационный ресурс, т. е. информация плюс технология ее обработки.
Название этапа
Решаемые задачи
Ученые и инженеры
Техника
Домашинный (XVII в.)
Автоматизация расчетов (в основном арифметиче ских)
ГотфридЛейбниц,
Блез Паскаль
Арифмометр, логарифмическая линейка, круг и т. п.
Механические и механико-электрические вычислительные машины (XIX в. — середина XX в.)
Учет (учет товаров, перепись населения, наука)
Шифрование сообщений
Чарльз Бэббидж и Ада Лавлейс, Герман Голле- рит,2 П. Чебышев
Машина Голлерита («Голлерит»),
Арифмометры, в том числе с электроприводом, немецкая шифромашина «Энигма»
Первые ЭВМ
(начиная с 40-х гг. XX в.)
Перебор значительного количества вариантов при относительно небольшом объеме вводимых данных
Ввод, хранение, простейшая обработка значительных объемов данных
Фон Нейманн (теоретические основы)
Эдгар Кодд (реляционные БД, 60-е гг.)
ENIAC (США, расчеты для ядерной программы)
Мейнфреймы фазные модификации)
ЕС ЭВМ (70-е гг.)
Первые управляющие вычислительные машины
(начиная с 50-х гг. XX в.)
Управление параметрами функционирования простейших технических объектов Управление параметрами функционирования больших технических систем, контроль за значениями параметров
Н. Винер (теоретические основы), Клод Шеннон (инженерная реализация)
Д.А. Поспелов
Встроенные ЭВМ, иногда аналоговые — первые бортовые РЛС, системы пуска космических ракет (СССР) и др., релейные линии связи
Управляющие вычислительные комплексы (70-е гг. XX вв.)
Автоматическая диагностика неисправностей в больших технических системах Управление функционированием больших технических систем, выбор не только параметров, но и режимов
Р. Белман Л.С. Понтрягин М. Мински
Измерительно-вычислительные комплексы на базе СМ ЭВМ (PDP-11) Минатомпром, Ми- навиапром (СССР), Системы автоматизированного проектирования и гибкого производства, включая микро-ЭВМ, «безлюдные заводы»
Персональные компьютеры, а также большие ЭВМ
(70-е гг.; широкое применение с конца 80-х гг. XX в.)
Сложный анализ многомерных данных, поиск причин произошедшего события, объяснение этих причин с учетом их последовательности и момента времени Поиск путей выхода из сложившейся ситуации: генерация альтернатив, оценка альтернатив и выбор наилучшей
Аристотель
Дж. Буль
Л. Заде
М. Мински
С. Пейперт
Р. Кини, X. Райфа
Р. Ковальски и др.
Микро-ЭВМ PDP-11,1ВМ/370, новые модификации СМ ЭВМ
Серия ПК класса IBM 286, 386 и т. д.
Этапы развития ИТ
Таблица 1
2 В конце XIX в. в Америке основал фирму, от которой произошла современная фирма IBM
1.1. Предыстория теории ИИ
Этапы развития программных средств
Некоторые этапы развития программных средствНекоторые этапы развития программных средствНеобходимо отметить, что представленные этапы (см. табл. 2) не отменяют и не заменяют один другой. На каждом из них сформировалась своя специфическая технология обработки информации (например, технология баз данных). Каждая из них живет, развивается и служит основой для технологии следующего уровня.
Некоторые этапы развития программных средств
Некоторые этапы развития программных средств
Технология
Задачи
Технология программного управления физическим уровнем ЭВМ и внешних устройств
Разработка операционных систем
Эвристическое программирование
Программно™аппаратная оптимизация функционирования физического уровня ЭВМ
Совершенствование операционных систем, разработка специальных утилит
Технология логической организации хранимых данных
Разработка файловых систем данных
Технология баз данных и вычислений
Разработка стандартных форматов и методов доступа к данным, численные алгоритмы
Технология искусственного интеллекта
Разработка универсальных методов сравнительного анализа хранимых данных, поиска противоречий, причин их появления и методов устранения
Таблица 2
Каждая технология породила свои специфические понятия, термины и методы. Технология следующего уровня чаще всего их заимствует, однако возникают и новые понятия, образующие новую теорию. Для искусственного интеллекта таким понятием является понятие о знаниях.
Таким образом, Вы видите, что искусственный интеллект — новейшая информационная технология, имеющая специфический круг задач и базирующаяся на ранее существовавших технологиях.
Понятие «Искусственный интеллект»
Определение 1. Интеллектуальной называется система (рис. 2), способная целеустремленно, в зависимости от состояния информационных входов, изменять не только параметры функционирования, но и сам способ своего поведения, причем способ поведения зависит не только от текущего состояния информационных входов, но также и от предыдущих состояний системы.
ИнформационныеИнформационные выходы
входы(поведение системы)
► Состояние системы
Рис. 2. Интеллектуальная система как «черный ящик»
Приведем несколько примеров.
Любой живой организм — интеллектуальная система. Он обладает долговременной памятью и способностью к самообучению. Ребенок, притронувшись к горячей плитке, уже не повторит ошибки. Щенок, впервые погнавшийся за кошкой, получит серьезный урок и вряд ли снова решит с ней поиграть. При следующей встрече он, скорее всего, убежит или покажет зубы, или проявит еще одну из тысяч возможных реакций.
Технические же системы чаще всего не являются интеллектуальными, т. е. их реакция на одно и то же событие не может измениться кардинально. Система автоматического управления давлением газа в трубе может открывать и закрывать заслонку (управлять параметрами), но она не может принять решение совсем вывинтить заслонку из трубы. Если аварии газопровода предшествует изменение давления (например, сначала резкое повышение, а затем резкое понижение), то автоматическая система воспримет это как нормальную ситуацию и попытается «отрегулировать» ее движением заслонки. Даже если после каждой аварии мы будет добавлять в систему управления новый блок, точно фиксирующий параметры предыдущей ситуации, ничего не изменится. Простое накопление данных не «обучит» систему.
Дело в том, что щенок, получивший урок от кошки, запомнил не только параметры ситуации (длину когтей и скорость реакции), но и правила поведения (не подходи, не подставляй нос, если залаять — она убежит).
Определение 2. Интеллектуальной называется система, моделирующая на компьютере мышление человека.
Второе определение появилось в 60-х гг., когда считалось, что мозг человека можно смоделировать на компьютере. Клетки мозга — нейроны — программно описывались специальными математическими методами. Компьютерная программа, таким образом, представляла как бы кусочек мозга человека. На вход программы подавались некоторые данные (на вход клетки мозга в живом организме подается электрический сигнал), на выходе снимались результаты, которые сверялись с эталоном. В зависимости от того, насколько полученные результаты отклонялись от эталона, в расчетные коэффициенты вносились изменения. В зависимости от количества циклов такого «обучения» результаты работы программы постепенно все более приближались к результатам работы очень маленького элемента мозга человека.
Идея о возможности повторить мозг на компьютере к 80-м гг. XX в. потерпела полную неудачу, однако теория нейронных сетей, нейросетевой подход доказали свою полезность на целом ряде практических приложений. Хорошие результаты получены в первую очередь на задачах предсказания значений параметров и распознавания образов.
Определение 3. Интеллектуальной называется система, позволяющая усилить интеллектуальную деятельность человека за счет ведения с ним осмысленного диалога.
К концу 80-х гг. стало совершенно очевидно, что создать универсальный искусственный разум невозможно. Более того, выяснилось, что это совершенно не нужно. Следует создавать узкоспециализированные интеллектуальные системы, которые не заменяют человека, но дополняют его. Человек имеет ряд уникальных способностей, но не свободен от недостатков. Не один человек не обладает реакцией кошки. Никто из нас не способен прочитать за минуту роман Л. Н. Толстого «Война и мир», редко кто из людей обладает энциклопедической памятью.
Компьютер обладает энциклопедической памятью, компьютер совершает миллионы операций в секунду, компьютер реагирует мгно-
венно. Но компьютер — это просто «глупое железо», он не способен мыслить, не способен отвечать за собственные поступки.
Подчеркнем актуальность совместной деятельности человека и машины. Необходимо, чтобы компьютер служил советчиком человеку, быстро анализировал ситуацию, генерировал варианты действия на основе огромной памяти и предлагал их человеку, а человек рассматривал предложенные варианты и пояснял, почему тот или иной вариант плох. Компьютер, учитывая полученные разъяснения, вновь анализировал бы все варианты действия и выдавал новые, а человек выбирал подходящий вариант и нес ответственность за его реализацию.
Поясним примером: система автоматического наведения ракет обнаружила цель. Цель была обнаружена практически мгновенно, человек даже не успел ее заметить. Ракета была автоматически наведена на цель. Цели был послан запрос «свой-чужой». Цель появилась на пульте управления перед оператором, человек принял решение о поражении, выбрал тип оружия и нажал на кнопку «уничтожить». В случае полностью автоматического ведения цели существовала бы реальная опасность уничтожить свой самолет. В обратном случае, если бы наведением на цель, посылкой запроса занимался человек, могло быть упущено время.
Таким образом, сегодня искусственный интеллект — это самообучающийся инструмент, усиливающий деятельность человека по генерации и принятию решений.
Термины и определения. Создание реальных интеллектуальных программ, а такие программы сегодня уже широко распространены, столкнулось с рядом непреодолимых трудностей теоретического характера. Интеллектуальную программу невозможно создать, пользуясь только теорией процедурного программирования и баз данных. Ваша программа не станет интеллектуальной, если начнет заносить в свою базу данных все ситуации, с которыми она встречалась. Постоянно пополнять базы данных можно, и интеллектуальные программы это делают, однако это далеко не все.
П р и м е р. В конце 40-х гг. была поставлена задача автоматического перевода с одного языка на другой, например, с русского на английский. Перед Вами сочетание: Read Only Memory. Здесь Read— читать, Only — только, Memory — память. Как правильно перевести эту фразу?
С точки зрения компьютера следовало бы заменить английские слова русскими просто в порядке их следования, тогда получим: «Читать только память».
С точки зрения человека-переводчика следовало бы учесть грамматику английского языка, начать перевод с конца фразы и согласовать элементы: «Память только для чтения».
Очевидно, кроме непосредственно исходных данных (в данном случае это слова «читать, только, память») необходимо учитывать также и правила перевода. А что такое правила перевода? Как отразить их в программе-переводчике? Вот тут и возникает новое понятие — знания.
Знания — основной термин теории искусственного интеллекта. Очень интуитивно и довольно спорно знания можно определить как отношения между элементами данных. Например, машина получила на вход предложение: «Вася любит Катю». Здесь Вася и Катя — данные. Любит — отношение. Отношение «любит» не обладает симметричностью. Зная это, машина может сгенерировать вполне осмысленный ответ: «Совсем не обязательно, что Катя любит Васю».
Вернемся к примеру с переводом. Представим его графически (рис. 3). Вы видите, что схема перевода позволяет точно определить правильное направление перевода. Она неизменна для русского и английского вариантов. Вот эта схема, получаемая из каких-то внешних источников, не содержащаяся в исходной фразе, и есть знания.
Читатьтолькопамять
X
readonlymemory
Xподчинение
главное слово ► память
Рис. 3. Отношения между элементами данных
Другими словами, знания получаются в результате применения к исходным данным (их могут называть декларативной информацией) некоторых методов обработки, подключения внешних процедур (их еще называют присоединенными процедурами или процедурной информацией). Необходимость установления отношений между сущностями требует совершенно нового подхода и, соответственно, новых программных средств. Работа программы искусственного
интеллекта заключается в «выводе на знаниях» или «выводе новых знаний». Этот процесс схематично представлен на рис. 4.
Рис. 4. Вывод на знаниях
Рассмотрим пример. Человек смотрит на часы. Что он видит? Данные? Информацию? Знания? Проследим, насколько это возможно, действия человека. Итак, глаза смотрят на циферблат. В мозг поступает электрический сигнал, в мозге формируется изображение стрелок на циферблате. Далее, сознательно или подсознательно человек прикладывает некоторые умственные усилия, чтобы понять (по положению стрелок) сколько же сейчас времени (т. е. соотносит полученные данные с некоторой шкалой). Получив в итоге декларативную информацию, например 17:20, человек подключает внешние знания, например свое рабочее расписание, понимает что опаздывает (знания) и ускоряет шаг (меняет параметры своего поведения, т. е. данные).
Характерная особенность знаний состоит в том, что они не содержатся в исходной системе. На циферблате часов не было написано «опаздываю». Слово «опаздываю» не содержалось и в расписании этого человека. Знания возникают в результате сопоставления информационных единиц, нахождения и разрешения противоречий между ними. Т. е. знания активны, их появление (или недостача) приводит к реализации некоторых действий.
Для знаний характерны следующие свойства:
внутренняя интерпретируемость (каждая информационная единица должна иметь уникальное имя и однозначно определяться);
структурированность, т. е. между информационными единицами должны быть установлены отношения (например, «часть - целое», «род» - «вид» и др.); при этом возможна рекурсивность;
знания образуют некоторое пространство, которое может оказаться как метрическим, так и не метрическим.
Установление имен для информационных единиц, само выделение этих единиц на конкретном объекте, определение отношений, имеющих место между единицами, — сложная задача. Для реально существующих объектов с относительно простой структурой иногда возможно единственное разбиение на информационные единицы
и отношения. Например, для системы «собака — хвост» трудно придумать иную модель кроме «хвост является частью собаки».
Для сложных систем, и в первую очередь абстрактных, не всегда можно сразу понять, где «целое» и где «часть» и как они между собой соотносятся. Рассмотрите, например, систему «курс доллара», для которой неясно, что входит в список важных параметров, а что нет. Или систему «жук», у которого нет отдельно головы и отдельно груди, а есть «головагрудь». Попытайтесь однозначно объяснить многозначное отношение «задел» (А задел В) применительно к разным ситуациям.
Решением этих проблем занимается отрасль ИИ «инженерия знаний». Далее мы последовательно уточним эти вопросы.
Состояние — второй важнейший термин. Каждая информационная единица, как и вся система в целом, может находиться в одном из состояний. Например, лампочка может находиться в одном из состояний: включен - выключен. В данном случае мощность пространства состояний составляет 2 (см. рис. 5).
Рис. 5. Пространство состояний системы и таблица переходовРис. 5. Пространство состояний системы и таблица переходовВкл.Выкл.Вкл.01Выкл.10Вкл.Выкл.Вкл.01Выкл.10
Рис. 5. Пространство состояний системы и таблица переходов
Рис. 5. Пространство состояний системы и таблица переходов
Вкл.
Выкл.
Вкл.
0
1
Выкл.
1
0
Вкл.
Выкл.
Вкл.
0
1
Выкл.
1
0
Есть системы, для которых пространство состояний бесконечно.
Пространство состояний удобно представлять в виде графа (рис. 5) или таблицы переходов.
Переход системы из состояния в состояние может обладать свойством симметричности. В этом случае система способна вернуться в исходное состояние (а компьютерная программа — зациклиться).
Цепь — основная характеристика системы ИИ. Система искусственного интеллекта (интеллектуальная программа) отличается от традиционных программ свойством целеустремленности. Интеллектуальная программа в отличие от обычной не содержит алгоритм, а содержит только цель, которую нужно достичь, и правила движения к этой цели. Можно сказать, что программа ИИ — это программа «что нужно сделать», а традиционная — «как нужно делать». В традиционной программе алгоритм достижения цели задан изначально и выполняется с неизбежностью, в интеллектуальной программе алгоритм строится по ходу достижения цели с учетом складывающейся ситуации.
Для программиста, работающего на системы ИИ, очень важно уметь правильно ставить цели. От того, насколько точно и экономии-
но будет поставлена цель, зависит не только эффективность решения, но и ее принципиальная достижимость.
Рис. 6. Пространство состояний с цикламиРис. 6. Пространство состояний с цикламиВ качестве целей в интеллектуальных программах чаще всего задаются требования перехода системы в заданное состояние, а в качестве критерия эффективности — число шагов решения. Очевидно, достижение цели не всегда возможно без указания начального состояния (рис. 6).
Рис. 6. Пространство состояний с циклами
Рис. 6. Пространство состояний с циклами
Цель — оказаться в Томске, начальное состояние неизвестно
Модель представления знаний — основной тип моделей ИИ. Реализация конкретных систем, основанных на знаниях, происходит в рамках одной из моделей преставления знаний или языка представления знаний. Таких моделей немного и ниже мы их рассмотрим. Реальные системы редко основаны на одной из моделей в ее классическом понимании. Чаще всего реальная система — это гибрид из классических моделей со значительной долей собственных догадок, ограничений и условностей. Наиболее полезные из них называют эвристиками.
Предметная область — это область человеческой деятельности, к решению задач которой применяется теория ИИ. Например, если Вы создаете экспертную систему, которая по набору результатов анализов ставит диагноз больному, то Ваша предметная область — медицина. Если Вы создаете интеллектуальную систему предотвращения столкновения кораблей, то предметная область — навигация, и т. д. Создание интеллектуальных программ, действительно полезных для практикующих специалистов, требует глубокого понимания специфики, присущей каждой предметной области. Для практикующих специалистов «специфика» — это в наибольшей мере набор нечетных и неясных, выработанных годами правил разрешения сте-
реотипных ситуаций. Одна из первых задач инженера по знаниям (специалиста по ИИ) состоит как раз в том, чтобы формализовать (записать) эти правила. Проблема на этом этапе состоит в том, что предметные специалисты (эксперты) часто обладают только интуитивным видением предмета обсуждения и формально не способны обосновать свою точку зрения. Попытка «выведать» подсознательные причины уверенности эксперта в некотором факте (например, «почему температура живого человека не может превысить 43° С?») часто вызывает недоумение и даже досаду. У эксперта начинает складываться мнение, что ему «подсунули некомпетентного в наших вопросах человека, и какую, собственно, «умную» программу он может написать, если не отличает крови от плазмы!» Поэтому на первом этапе, выделяя те самые важные понятия — «имена» предметной области, которые в дальнейшем предстоит детально изучить, инженер по знаниям должен продемонстрировать еще и способности тонкого психолога, способного «влезть в мозги» эксперта, не вызвав при этом резкой ответной реакции.
На втором этапе следует выделить отношения, которые связывают «имена», важные для данной предметной области, и состояния, в которых эти «имена» могут находиться. Например, для системы предотвращения столкновения кораблей важными именами будут: «вода», «корабль», «столкновение» и др. Имя «вода» будет иметь несколько состояний: «высокая», «мелкая», «спокойная», «бурная» и ряд других гораздо менее очевидных. Между именами «вода» и «корабль» будет находиться отношение «погружен». И вот тут то и возникает проблема непонимания. Что значит «погружен»? А если судно на воздушной подушке? А если это подводная лодка? Существует большое количество предметных областей (медицина — одна из показательных), где предметные специалисты уже не способны ответить на эти вопросы. Их образование не предусматривает детального рассмотрения основополагающих понятий и отношений, а требует только их знание и принятие «на веру». Важным также является вопрос о «силе» отношения: «насколько погружен?», «еще плывет или уже тонет?» ит.п.
За годы профессиональной деятельности специалист по ИИ сталкивается с десятками предметных областей и экспертов. Ясно, что он не может стать равным им врачом, навигатором, военным, игроком и т.п. Равно как и эксперты в предметной области, пусть даже компетентные еще и в вопросах программирования и разработки
традиционных программ, не способны создать программу ИИ. Изюмина деятельности инженера по знаниям заключается не в личном детальном знании предметной области и современных способов создания программ, а в способности выделять общее в казалось бы различных областях, строить универсальные математические, а при невозможности — нечеткие логико-лингвистические модели.
Невозможность (в чистом виде) применить одну из ранее известных моделей — одно из основных ограничений, накладываемых предметной областью.
Современные области исследований в ИИ. В последнее десятилетие ушедшего века ясно обозначились следующие важные направления развития интеллектуальных систем.
Системы, имитирующие творческие процессы. Создание музыкальных произведений, решение игровых задач (шахматы, шашки, домино), автоматический перевод, доказательство теорем, распознавание образов, имитация мышления и т. и.
Информационные системы, основанные на знаниях (экспертные системы), т. е. консультирование малоопытных пользователей, настройка оборудования, обучение и др.
Интеллектуальные информационные системы — большие и очень большие программы, предназначенные для решения задач в предметной области на основе математических и алгоритмических моделей и обладающие способностью вести осмысленный диалог с пользователем с целью упростить управление, сократить объем работы человека, повысить качество и т. и.
Робототехника. С точки зрения «интеллектуальности» различают несколько поколений роботов. Первое поколение — роботы- манипуляторы, действующие по заранее утвержденной и неизменной программе (например, подающие заготовки к станку). Если в процессе работы по каким-либо причинам изменится расстояние до заготовки, робот ее потеряет. Второе поколение — адаптивные роботы. Члены таких роботов оснащены большим количеством датчиков: угломеров, тензометров, газовых анализаторов и др. Такие роботы применяются, например, для сварки кузовов автомобилей. Дело в том, что достаточно крупные технические изделия, даже выпускаемые серийно, все равно получаются уникальными. Длина двух автомобилей одной и той же марки различна. Адаптивный робот делает сварной шов не в абсолютных координатах, а относительно некоторой точки начала отсчета, которую сам же и находит на кузове автомобиля. При необходимости человек-сварщик берет управление
на себя, а робот, запоминая его действия в новой ситуации, «обучается». Первые два вида роботов — промышленные роботы, сконструированные для работы в заранее определенной среде — в цехе завода. Для ориентации и точного позиционирования в пространстве в цехе имеется большое количество контрольных точек — датчиков, координаты которых неизменны. Гораздо сложнее роботу, который находится в реальном мире, например, обследует затонувший корабль. Приходится отвечать на вопросы: «где я?», «что передо мной?», «можно ли пройти к?» и др. Интеллектуальным роботам приходится обрабатывать данные своих датчиков и команды человека в реальном масштабе времени, а если предусмотрен еще и прогноз событий, то в «сверхнатуральном» (применяются, например, для управления транспортными средствами). Схожие проблемы возникают у поисковых роботов — особого класса программ, предназначенных для индексирования документов в глобальной сети Интернет, что обеспечивает работу поисковых машин.
Современные теоретические проблемы ИИ.
Проблема представления знаний.
Проблемы нейронных сетей.
Многокритериальное принятие решений.
Стохастические модели принятия решений.
Создание моделей для очень узких предметных областей.
Разработка компьютерной лингвистики.
Разработки новых, более надежных языков программирования.
Разработка языка управления роботами на основе естественного языка.
Компьютерная логика.
Совершенствование архитектуры ЭВМ.
Для того чтобы получить более подробное представление об основных практических и теоретических задачах, решаемых сегодня в ИИ, следует ознакомиться с примерными планами работ, публикуемых на сайтах общеизвестных мировых центров, таких как, например, Лаборатория искусственного интеллекта Массачусетского технологического института (http://www.ai.mit.edii). В 2001 г. лаборатория занималась примерно следующим.
Проблема представления знаний.
Разработка новых моделей представления для узкоспециализированных предметных областей.
Биомашины — машины, имеющие своей частью живые существа либо структурно подражающие человеку:
подражание моторике человека (походка, пластика, бег, прыжки, создание двуногих роботов);
создание инженерных моделей для различных областей по аналогии с системами человеческого организма.
Многокритериальное принятие решений.
Принятие решений на основе статистических моделей.
Координация работы нескольких роботов.
Проблемы совершенствования нейронных сетей.
Проблема совершенствования компьютерной логики.
Разработка новых архитектур компьютеров (параллельные машины, исследования в области так называемой интегрированной памяти, децентрализованные машины, моделирование высокоскоростных электрических соединений).
Человекообразные роботы:
гибкие и портативные члены роботов (головы, руки, тела и т. д.);
распознавание роботами лиц, авторизованных для управления роботами;
разработка механизмов роботов (человекоподобный палец с сенсорами, человекоподобная модель мускулатуры, говорение роботов, создание роботов для детей);
численные методы для оптимизации вычислений.
Методы доступа к информации:
мультимедийные системы;
эвристический анализ текстов;
автоматическое извлечение знаний (ключевых слов) из текста;
анализ авторского права на текст на основе образцов текста.
Создание «интеллектуальных пространств»:
интеллектуальные обучающие среды и оболочки;
формирование запросов (к БД) на основе внимания, уделяемого пользователем различным элементам среды;
менеджеры ресурсов для интеллектуальных пространств;
автоматизация программирования и создания программной документации — интеллектуальная поддержка технологий разработки ПО (UML);
многопользовательские среды.
Машинное обучение:
марковские процессы;
машинное чтение и понимание текстов;
восстановление утраченных элементов данных;
очистка данных от шумов.
Медицинское зрение:
автоматический анализ анатомических структур;
чтение снимков (рентген и т. и.);
машинная геометрия и пространственные сцены;
восстановление изображений по их отражениям;
сегментация изображений (например, простейшая разбивка на растр).
Мобильные роботы.
Проблема практического применения теоретических моделей.
Проблема совершенствования компьютерной лингвистики.
Разработка языка управления роботами на основе естественного языка.
Создание моделей естественного языка.
Понимание речи.
Разработка языков программирования, позволяющих повысить надежность разрабатываемого программного обеспечения (динамические языки, адаптивные системы, системы, способные «выживать»).
На рис. 7 рассмотренные вопросы представлены обобщенно.
Рис. 7. Рассмотренные вопросы представлены обобщенно
ГЛАВА 2
ОСНОВНЫЕ ТЕОРЕТИЧЕСКИЕ ЗАДАЧИИСКУССТВЕННОГО ИНТЕЛЛЕКТА
ИИ — междисциплинарная область исследований
Каждая область академических знаний имеет достаточно узкий круг традиционных задач. Перечень этих задач и их формулировки становятся все более узкими по мере развития данной науки. В конечном счете область исследований разбивается на десятки частных задач, часть из которых поддается решению, часть в принципе не имеет решения, и последняя часть не может быть решена современными средствами, но и не существует доказательства невозможности ее решения.
Теория систем говорит нам о необходимости «междисциплинарного переноса», т. е. заимствования разными науками друг у друга формулировок задач и подходов к их решению. Очевидно, количество философских идей о способах и формах формулировки задач и подходов к их решению в этом случае возрастает, но все же остается конечным и исчисляется десятками. Проиллюстрируем эту мысль примером.
В традиционной медицине существует метод нормализации давления крови в сосудах путем введения специальных «сосудорасширяющих» препаратов. Однако их применение не всегда возможно. Кроме того, есть определенный предел расширения. Для снижения давления можно также попытаться снизить вязкость крови, но это связано с нежелательными химическими сдвигами.
Долгое время казалось, что задача не имеет решения. И действительно, в такой постановке «изобрести метод дальнейшего расширения сосудов» или «понижения вязкости крови» без побочных эффектов невозможно. Тем не менее необходимость в практическом решении не отпала. Инженеры-реологи, работавшие над проблемой движения жидкостей в технических системах (трубопроводы двигателей и т. п.), не знали о вышеописанных проблемах и, применительно к своей области, сформулировали задачу иначе:«Повысить пропускную способность трубопровода до определенного значения при условиях не изменяющегося во времени диаметра трубопровода и сохранения химического состава жидкости (заданная степень)». В результате был предложен метод, основанный на использовании специальных присадок (на основе высоких молекул — эффект Томса), изменяющих не диаметр трубопровода и вязкость жидкости, но характер течения — от турбулентного на ламинарный. «Обратный
перенос» разработанного метода в медицину дал качественный эффект.
В современном мире более сильным является тот ученый, который знает больше общих постановок задач, относящихся как к его области исследований, так и к смежным, и даже крайне отдаленным областям знаний. Для искусственного интеллекта такая концепция является просто определяющей, поскольку ИИ — это междисциплинарная прикладная область исследований. Термин «прикладная» подчеркивает тот факт, что понятие искусственного интеллекта само по себе, в отрыве от компьютерных наук и практически важных прикладных задач, не существует.
Перечень традиционных задач ИИ
Среди традиционных задач ИИ следует, конечно, выделить задачу классификации — отнесения некоторого объекта к одному из известных или неизвестных множеств объектов.
Такая задача возникает, например, в биологии при обнаружении нового биологического вида. В случае, если речь идет о крупном животном, как правило, возможно отнести обнаруженный вид к одному из известных классов, например, классу «млекопитающие». Гораздо сложнее дело обстоит с мелкими организмами, например, червями. Вновь открытые виды часто имеют признаки, характерные для нескольких разных подвидов, и отнести их к тому или иному классу можно только с некоторой степенью уверенности на основе количественного сравнения степени выраженности некоторых признаков (рис. 8).
Рис. 8. Задача классификации
Пример: рассмотрим объект А. Он обладает признаком «цвет» и количественной характеристикой «темно-зеленый», а также признаком «лапы» с характеристикой «короткие». Известны также два класса: С1, в который входят все темно-зеленые объекты без лап, и класс С2, где все длинноногие объекты любого цвета. К какому же из классов следует отнести объект А?
Возможен и другой случай: имеются два класса Cl, С2, о принципах формирования которых ничего не известно. Известно, что объект А отнесен к классу С1, а объект В — к классу С2. Необходимо выявить признаки, на основе которых построена классификация.
Более строгие формулировки задач.
Задача классификации: даны классы Cl, С2; отнести вновь поступивший объект к одному из классов.
Обратная задача: даны объекты А, В с известной принадлежностью к классам Cl, С2; найти признаки классификации.
Задача составления плана действий.
Задача поиска пути на графе.
Задача объяснения произошедших событий.
Задача прогнозирования возможных событий.
Задача генерации альтернатив.
Всех возможных, которые могут произойти из некоторых посылок. Частным случаем можно считать задачу предсказания, например курса доллара на некоторую дату.
Только альтернатив с заданными свойствами.
Задача выбора альтернативы, наилучшей в некотором смысле, из множества допустимых альтернатив.
Задача случайного выбора.
Критериальный выбор.
Задача управления некоторым техническим объектом, число учитываемых параметров в котором очень велико и-или параметры противоречивы. Последняя задача является как бы гибридом всех предыдущих: она комплексная.
Правила формулировки задач ИИ. Решение каждой задачи требует, во-первых, ее уточнения для конкретной предметной области; во-вторых — выбора необходимых параметров решения (точности и надежности результатов, затрачиваемого на решение времени и других).
Уточнение задачи — моделенезависимый этап; уточняя постановку задачи, следует думать о природе задачи, а не о способах ее решения. Очень важно так уточнить задачу, чтобы она, став «узкой», осталась достаточно «широкой». Т. е., до предела сузив указание «что требуется» или «какую цель необходимо достичь», необходимо оставить широкий диапазон «как делать».
Эти на первый взгляд противоречивые требования можно удовлетворить одновременно, если сформулировать абстрактную задачу. Примерами абстрактных задач могут быть: обработка списков, вычисление вероятностей, обоснование гипотез и др.
Пример постановки задачи. Существует известная шуточная задача, время от времени решаемая энтузиастами в различных странах: о доставке сырого яйца в целости и сохранности с высокой башни на землю. К решению применяется обязательное требование новизны. Казалось бы, явно курьезная задача, но она позволяет отработать целый класс идей, практически полезных в различных областях техники.
Студенты часто не могут решить ее (по-новому), оказываясь «заложниками» собственной неправильной постановки задачи. Ошибки в постановке касаются как формулировки самой цели — студенты непременно желают «бросать», а не «спускать» яйцо, так и внешних условий, состояний, и начального состояния — никто не предполагает, что яйцо может уже находиться внизу, падать не на твердое покрытие, быть замороженным и т. п. В последствии студенты поясняют, что они предполагали «наихудшие» условия, но ведь в исходной постановке этого не требовалось!
Выбор параметров решения задачи. Первым по важности параметром является точность решения. Для физических систем существует четкая и однозначная система единиц измерения: килограммы, метры и т. п. Для интеллектуальных систем общепринятой методики и единиц измерения нет. Говорят, например, о проценте правильных решений, о степени отклонения полученных решений от практически наблюдавшейся затем ситуации и др. Так, например, для медицинских систем хорошим считается результат в 70% и более правильных диагнозов при первом осмотре больного.
Второй параметр — устойчивость (требования к надежности) — касается поведения системы при ее широких испытаниях в различных ситуациях. Для интеллектуальных систем характерно, что при
одних и тех же входных данных возможно получение различных выходных данных. Интеллектуальная система чаще всего неустойчива, и в этом ее сила. Так, например, на вопрос: «Каков будет курс доллара на первое января следующего года?» получен ответ: 31 рубль. Зададим вопрос повторно — получим ответ 31 рубль 10 копеек. Разница объясняется тем, что при каждом запросе система моделировала сотни и тысячи факторов, которые взаимодействуют нечетко. Польза от такого прогноза состоит в том, что «проиграв» один и тот же запрос сотни раз, мы сможем понять наиболее вероятное развитие событий.
Третьей, после адекватности и надежности, важнейшей характеристикой качества предлагаемого решения является его экономичность. Решение является экономичным с некоторой точки зрения или по некоторому критерию. Наиболее часто говорят о времени решения задачи и стоимости решения задачи. Возможен также обратный вариант — стоимость ошибки. Стоимость решения задачи может складываться, например, из суммарной стоимости получения данных, без которых система не может решить задачу.
Выбор модели решения (представления знании).
Избранные параметры решения (в наибольшей степени) и сама постановка задачи (в наименьшей степени) уже «подсказывают» нам способ решения задачи. Теперь инженер по знаниям должен определить, «на какую из решавшихся ранее задач это похоже больше всего и в чем принципиальное отличие?» Из опыта решения той «похожей» задачи он заимствует некоторый общий подход к решению, структуру, процедуры, данные или «модель». От правильного выбора модели зависит очень много. В теории ИИ сложились несколько типовых моделей, называемых «моделями представления знаний». Более подробно мы их рассмотрим ниже.
Важно понимать, что каждая модель представления знаний обладает некоторыми априорными ограничениями по надежности и степени адекватности. Необходимо соотносить требуемые для реальной задачи математические характеристики качества модели и те реальные характеристики, которыми на практике обладает избранная
модель. Поясним мысль примером. Вероятностные модели ИИ, как правило, обладают лучшими по сравнению с детерминистскими моделями адекватностью и экономичностью. Но доверите ли Вы вероятностной системе управления наведение ракеты на цель, даже точно зная, что «по статистике» 99 из 100 ракет этой системы попадают точно в цель?
Важно также помнить, что предметная область, та самая среда, в которой затем будет действовать Ваша интеллектуальная система, обладает свойством постоянно изменяться. Одни модели учитывают свойство «изменчивости мира» в большей степени, другие — в меньшей.
ГЛАВА 3
ОБЛАСТИ ПРИМЕНЕНИЯ МЕТОДОВИСКУССТВЕННОГО ИНТЕЛЛЕКТА
Хорошо и плохо структурированныепредметные области
Мы обсудили список абстрактных задач, традиционных для теории ИИ. Какими же практически полезными примерами можно показать их применимость?
В первую очередь следует отметить, что методы ИИ эффективны для так называемых слабо структурированных предметных областей, т. е. областей, алгоритм действия в которых заранее неизвестен. Для таких областей характерна неясность и нечеткость во входных данных, наличие различного рода шумов. Вместе с тем решения требуется принимать однозначные, четкие и ясные, желательно также иметь возможность предсказать эффективность этих решений. К таким областям относятся: медицина, экономический менеджмент, управление сложными техническими объектами, психология, лингвистика и еще много других.
Что же не относится к области эффективного применения методов ИИ? Это так называемые хорошо структурированные предметные области. К ним относятся в первую очередь точные и инженерные науки, такие как математика, физика, сопротивление материалов, геодезия, взрывное дело и целый ряд других. Применение методов ИИ менее эффективно в этих областях потому, что для решения задач в этих науках уже существуют свои собственные надежные алгоритмы и методы, опробованные в течение десятков или даже сотен лет.
Следует отметить, что при внедрении вычислительной техники даже эти старые и проверенные алгоритмы и методы видоизменяются, что приводит либо к возрастанию их вычислительной трудности, либо к значительному усложнению самого алгоритма. Феномен объясняется тем, что методы и алгоритмы, разработанные в докомпьютерную эпоху, ориентированы не столько на получение наилучшего результата, например расчета высокой точности, сколько на получение результата с минимальными вычислительными затратами. Эти
алгоритмы предназначались для проведения расчетов вручную, и простое переложение расчетов на программу не дает выигрыша в качестве решения.
С другой стороны, усложнение алгоритмов и методов может дойти до такой степени, что конкретный пользователь окажется неспособен быстро разобраться не только в самом алгоритме, но даже в способе эффективного управления ходом этого алгоритма (программы). В этом случае некорректные или недопустимые значения входных и управляющих данных, введенные пользователем или полученные из базы данных, должны исправляться автоматически, но таким образом, чтобы добиться оптимального решения именно той задачи, которую имеет в виду конечный пользователь.
Пример: пользователь желает напечатать на листе бумаги ровно в центре строку «Поздравляю с Новым Годом!» Не обладая навыками форматирования текста, он набивает 16 символов «пробел» перед этой строкой. Интеллектуальный текстовый редактор, заподозрив, что пользователь является неопытным, спрашивает: «Вы пытаетесь центрировать текст?» В зависимости от ответа пользователя редактор либо заменяет пробелы символом выравнивания, либо выводит инструкцию, либо оставляет все «как есть», если выясняется, что пользователь имеет в виду именно 16 пробелов подряд, а не выравнивание текста.
Итак, выявление задачи возможно, например, на основе «разумного» диалога программы с пользователем, когда «умная» программа, последовательно выяснив уровень компетенции человека, задает ему либо профессионально-ориентированные вопросы, касающиеся значений параметров (например, у инженера-проектировщика можно спросить диапазон температур, допустимый для некоторого узла), либо более общие концептуальные вопросы о цели работы пользователя (как в примере выше), а подбор параметров осуществляет самостоятельно. Возможны и другие способы выявления целей, например стохастический (методом угадывания).
Таким образом, применение методов ИИ вполне допустимо и для традиционных, хорошо структурированных областей. В качестве примера можно привести химию. Существует программа искусственного интеллекта Prospector. позволяющая исследовать все химические соединения, полученные из заданного набора исходных. Методы исследования принадлежат самой химии и давно известны, но их практическое применение возможно только при помощи компьютера в виду огромного числа потенциальных соединений и свойств. По этой же причине управление «синтезом веществ внутри компьютера» требует применения методов ИИ.
Скорость решения является другой причиной применения методов ИИ в самых различных предметных областях. К решению задачи могут предъявляться специфические требования, например, требования соблюдения реального времени (режима реального времени), т. е. синхронизации процесса работы программы с некоторым другим физическим или программным процессом. Таких задач достаточно много, и в современной инженерной практике они выходят на первое место. Например, задача управления вооружением боевой машины. Современный солдат/самолет/танк должен уметь вести бой одновременно с несколькими объектами, заботясь при этом как о точности и надежности их поражения, так и о собственной безопасности. Но ни один летчик/солдат/наводчик не способен следить одновременно за несколькими целями, вести к цели 10 ракет и даже просто нажать на 10 курков одновременно. В этом случае человек должен только указать цель (целенаправить машину). А пуск ракет, их ведение до цели и поражение обеспечит система ИИ.
А нужен ли в принципе человек такой системе? На современном этапе — безусловно. Системы ИИ все еще «недостаточно разумны» для того, чтобы полностью доверить им управление. Человек несет ответственность за действия управляемой им системы ИИ.
Другим активно развиваемым направлением применения интеллектуальных машин является образование и, в частности, «обучение при помощи компьютера». Считается, что большую часть операций по предъявлению обучаемому информации и в особенности контролю за ее усвоением можно переложить на компьютер, причем не только без потери качества обучения, но с выигрышем.
В ряде областей обучение предполагает очень большое количество циклов повторений учебной информации и действий в специально сконструированной учебной ситуации с разными вариациями: управление движением самолета, заучивание английских слов и фраз применительно к сложившейся ситуации и т. п. При таком процессе присутствие человека-учителя совершенно не обязательно. Машина сама способна исправлять типовые ошибки, предъявлять контрольные и тренировочные упражнения и даже давать советы по методике обучения (на основе специальных правил, заложенных в нее опытным учителем). Обучение отдельным навыкам и умениям при помощи ЭВМ гораздо дешевле, а главное эффективнее, посколь-
ку машине все равно, сколько раз придется исправлять одну и ту же ошибку, и у нее не наступит нервный срыв. Кроме того саму методику предъявления обучающего материала можно совершенствовать на основе объективных данных тестирования, протоколов работы, а далее оптимизировать, соотнося изменения в методике обучения с изменениями в показателях результата обучения. Это новая возможность, практически неосуществимая при безмашинной технологии.
Работу такой системы поясним примером. В 1997-2000 гг. в Лингвистическом центре Алтайского государственного технического университета была разработана оболочка информационно-образовательной среды «Chopin». Это специальный комплекс программ и электронных методических материалов, позволяющий организовать обучение иностранным языкам по принципу «один преподаватель — много студентов». В центре кроме обычных аудиторий имеются два компьютерных класса, соединенных ЛВС. Доступ в компьютерные классы не регламентируется, так что студент имеет возможность работать с электронными учебниками, электронной библиотекой, электронной фонотекой и банком данных тестов в любое время. Наиболее прилежные студенты проводят за этим занятием большую часть своего времени. В процессе работы с компьютером у студентов возникают некоторые типичные трудности. Так, например, у начинающих изучать французский язык имеется проблема с произнесением грассированной «р». У начинающих «англичан» имеется проблема «употреблять или не употреблять артикль» и «с каким предлогом сказать». Самая главная трудность при их самостоятельной отработке заключается в том, что обучаемый, выполняя упражнения, не знает, «правильно ли он, собственно, их делает». Если же компьютерная программа исправляет ошибки, то у студента возникает вопрос, «почему так», на который он не может получить ответ от человека-учителя немедленно и не знает, в каком разделе учебника найти его самостоятельно (или не может понять смысл этого раздела). Поскольку весь процесс происходит на компьютере, то вполне логично его полностью документировать при помощи базы данных. Просматривая затем такую БД по «своим» ученикам, каждый преподаватель может назначить индивидуальную консультацию каждому студенту Со студентом Ивановым отработать звук «р», а с Петровым — неопределенный артикль. Чтобы построить такой план, придется решить нетривиальную задачу, более сложную, чем просто выборка из БД. В системе «Chopin» это делается при помощи специальных «деревьев целей», фактически являющихся моделью обучаемого (рис. 9).
Рис. 9. Дерево целей как модель представления значений
В процессе работы обучаемый сдает тесты, а узлы дерева автоматически раскрашиваются разными цветами (рис. 10).
Рис. 10. Дерево целей системы с указанием степени их достижения
Практическая реализация этих принципов происходит в рамках создания так называемых «обучающих сред» — особого класса сетевого программного обеспечения, включающего в себя огромные объемы учебной информации, средства контроля и диагностики, советующие системы, подсистемы адаптации под конкретного пользователя и ряд других. Ежедневное увеличение объемов учебной информации даже привело к появлению специального термина «обучение на основе глобальной сети».
Системы поиска информации — основа для построения глобальных информационных хранилищ. Их совершенствование — одна из злободневных задач, решение которой без применения методов ИИ невозможно. Одним из наиболее ярких примеров может служить «мягкий поиск». Предположим, что вы ввели в поисковой строке (например, на поисковой машине в Интернет) запрос «рецепт новогоднего торта». Фактически документы, релевантные запросу,
могут оказаться и в разделах «выпечка», и в разделе «оформление праздников», а не только в разделах «торты» и «новый год». Какие либо интересные сведения по этому вопросу могут оказаться даже в разделе «история». Современные поисковые машины просто найдут все документы со словом торт, тортов, тортом и т. д., в том числе «тортов нет» и «рецепт неизвестен».
Иногда важны не скорость и четкость решения, как в медицине и военном деле, а само количество возможных решений; например, при принятии закона вычислить все возможные прорехи и противоречия; задача накопления опыта уходящих экспертов и ряд других.
Модели представления знаний
Перечень реальных моделей, применяемых в системах ИИ, широк и трудно классифицируем. Большинство моделей в реальных системах являются гибридными, да еще и со значительной долей эвристик. В методических целях автор предлагает классифицировать наиболее известные модели в рамках приведенной схемы (рис. 11).
Рис. 11. Некоторые наиболее известные модели предоставления знаний
ГЛАВА 4
ЛОГИЧЕСКАЯ МОДЕЛЬДЛЯ ПРЕДСТАВЛЕНИЯ ЗНАНИЙ
Виды логических моделей,общие термины и определения
В современной теории ИИ используются несколько основных групп моделей: логика, фреймы, семантические сети, нейронные сети и др. Логическая модель по своей практической результативности и степени внедрения в реальные технические устройства сегодня занимает центральное место. Сама по себе модель не однородна и включает в себя уже около десятка существенно разных теорий (рис. 12, а).
Рис. 12, а. Элементы логики, наиболее часто применяемые в системах ИИ
Исторически первой моделью для представления знаний (среди моделей ИИ вообще) стала классическая (формальная) логика Аристотеля, заложившая фундамент всех последующих логических теорий.
Аристотель (учитель Александра Македонского) родился в 384 г. до н. э. в деревне Стагире в Халкидике (север Греции). В 17 лет пришел в Афины (чтобы учиться у Платона), где и стал известен. Позднее основал библиотеку и лицей (философскую школу). Оказал значительное влияние на дальнейшее развитие всех наук. Сочинения относятся ко всем областям знания того времени: «Физика», «О происхождении и уничтожении», «О небе», «О метеорологических вопросах», «Механика». Первичными качествами материи считал две пары противоположностей «теплое-холодное» и «сухое-влажное». Основными (низшими) элементами, или стихиями, — землю, воздух, воду и огонь. Элементы мира рассматривал как комбинации первичных качеств: соединению холодного с сухим соответствует земля, холодного с влажным — вода, теплого с сухим — огонь. Пятым, наиболее совершенным элементом считал эфир. В средние века Аристотелевское учение о Вселенной было канонизировано церковью, что сильно тормозило развитие науки (до Николая Коперника).
Сегодня памятники Аристотелю установлены по всей Греции, и Вы можете смело спорить, что неизвестная улица называется либо Аристотэл, либо Алесандрос Мегалес.
Дальнейшее развитие модели связано с именами Канта (семантический анализ на основе категорий), Буля («математизация» логики), Фреге, Заде (ввел понятие «нечеткой логики»). Последние десятилетия активно развиваются «неклассические» направления: модальная, 2 временная логики и др .
Смысл построения любой формальной теории состоит в том, чтобы выразить мыслительные процессы (а в идеале — создать универсальную модель мира) формально (т. е. записать формулами). Очевидно, необходимо, чтобы система уравнений, образуемая такими формулами, решалась какими-либо методами, причем так, чтобы результаты вычислений совпадали с картиной, которую мы наблюдали бы в реальном мире при практическом осуществлении тех действий, которые моделируем. Если удастся (применительно к какому-либо реальному миру) сформулировать такие формулы и правила, то, очевидно, мы сможем предсказывать последствия тех или иных действий (в данном мире) без практического осуществления самих этих действий. Важно, что в процессе вычислений мы не будем думать о предметном смысле преобразований над переменными и формулами, а только о точном соблюдении формальных правил. Интерпретировать (наполнять смыслом применительно к реальному, скорее всего очень маленькому миру) мы будем только конечные результаты. Следовательно, сам процесс формального логического вывода можно будет поручить машине. За человеком же останутся интерпретация и оценка полезности результатов.
2Активно работающие в этой области ученые есть в России, США, Франции. Французская школа автору представляется наиболее известной.
Для того чтобы задать формальную логическую теорию, необходимо определить алфавит (множество символов, используемых для записи), правила синтаксиса (правила записи формул), аксиоматику (особое подмножество формул) и правила вывода (множество отношений на множестве формул). Правила вывода должны быть заданы так, чтобы на любых исходных данных обеспечить правильность логических заключений. Алфавит и аксиоматика должны быть заданы так, чтобы гарантированно обеспечить осмысленность (семантику) получаемых заключений и промежуточных следствий. Таким образом, основное различие в логических теориях, представленных на рис. 12, а, состоит в выборе аксиом и определении правил вывода. Далее мы последовательно рассмотрим аксиоматику и правила вывода логических моделей.
Разные логические теории имеют свои преимущества при реализации моделей в разных микромирах. Так, например, семантика силлогистики Аристотеля очень близка к естественному языку, поэтому результаты формального вывода легко интерпретировать. Выводы, получаемые на основе исчисления предикатов, уже не в полной мере совпадают с семантикой естественного языка, их труднее интерпретировать, однако модели на основе исчисления предикатов получаются гораздо более компактными и, как следствие, обозримыми. Модели на основе нечеткой логики Л. Заде позволяют оперировать размытыми понятиями, однако такие результаты и интерпретировать труднее и даже не всегда возможно.
Формальная (Аристотелева) логика
Аристотель стал известен благодаря своим исследованиям рас- суждений, получившим в последствии название формальной логики. Он полагал, что мышление человека происходит на языке и, следовательно, мысль только тогда становится мыслью, когда выражена словами. В тоже время он полагал, что мысль, выраженная словами, — это уже не более чем графическая запись, строка символов, некоторое грамматически правильное предложение, имеющее свое подлежащее, сказуемое и т. д. Если не нарушать правил грамматики,
то ответ (равно как и вопрос к этому предложению) вполне можно построить только на основе правил грамматики, даже не понимая смысла предложения. Логика Аристотеля потому и называется формальной, что с ее точки зрения правильность рассуждения зависит только от логической формы этого рассуждения и не зависит от его содержания. Содержание мысли не оказывает никакого влияния на правильность рассуждений.
МАМАMOTHERРис. 12, б. Сущности, существующие в любом языке (иероглифы китайские)МАМАMOTHERРис. 12, б. Сущности, существующие в любом языке (иероглифы китайские)В мире существуют самые разные языки. Способы записи (от привычных нам символьных до графических — пиктограмм) различаются настолько разительно, что иногда трудно сказать, где язык, а где, например, художественное изображение (рис. 12, б). Ведь и художественная картина является некоторым уникальным языком, позволяющим обмениваться информацией.
МАМА
MOTHER
Рис. 12, б. Сущности, существующие в любом языке (иероглифы китайские)
МАМА
MOTHER
Рис. 12, б. Сущности, существующие в любом языке (иероглифы китайские)
Как же определить, что такое язык? С точки зрения классической логики язык — это некоторая система, позволяющая обозначать сущности и отношения между ними. Понятия «сущность» и «отношение» являются центральными понятиями логики. Под сущностями обычно понима
ются объекты реального мира или абстрактные, не существующие в реальности объекты, например: «автомобиль», «черт», «глупость». Отношения — это способ связи сущностей, например: «едет», «путает», «раньше». С точки зрения логики любую фразу на языке можно рассмотреть в виде схемы «сущность — отношение — сущность». Например, в предложении «Иван съел яблоко» две сущности («Иван», «яблоко») и одно отношение «съел».
Впрочем, с точки зрения современной теории ИИ вполне допустима и обратная интерпретация: одна сущность «съел» и два отношения («Иван» и «яблоко»). Решение вопроса о том, что выбрать в качестве сущности, а что в качестве отношения в общем случае является произвольным и зависит от специфики решаемой задачи.
Итак, Аристотель выделил в языке сущности и отношения. Эту мысль можно изобразить графически (рис. 13).
Рис. 13. Логическая схема предложения
Как видите, такой схеме могут соответствовать десятки самых разных предложений: «Паша любит Машу», «собака гонит кошку», «девять больше семи» и т. д.
Каков же практический смысл схемы? Она позволяет на основе чисто формальных правил сгенерировать осмысленное третье предложение из двух заданных. Рассмотрим два предложения: «Петр отец Ивана» и «Иван отец Коли» (рис. 14).
Рис. 14. Отношение «отец» не транзитивно
Исходя из этой схемы, вполне можно сделать вывод, что Петр «отец — отец» Коли, т. е. дед. Можно также сделать вывод, что 4 «меньше — меньше» шести, т. е. «много меньше», а вот вывод Петя «любит — любит» теннис (потому что «Петя любит Машу» и «Маша любит теннис») сделать нельзя, хотя предложения вполне могли бы уложиться в приведенную схему. В чем же дело?
Аристотель, а затем Бэкон, Локк, Кант тоже задумывались над этим вопросом.
Джон Локк (29.09.1632-28.10.1704) — английский философ, основатель либерализма. Выпускник Вестминстерской школы (Лондон), а затем и Оксфорда. В университете изучал медицину, естествознание (у Роберта Бойля), философию, языки и литературу. Наибольших успехов добился в медицине и языках. Увлекался философией Декарта. По окончании университета преподавал древние языки, а затем занял место домашнего врача и воспитателя двух мальчиков в богатой семье. Локк первым выдвинул и обосновал принцип разделения властей на законодательную (выборную) и исполнительную. Написал книгу «Мысли о воспитании».
Иммануил Кант (22.04.1724-02.02.1804) — основатель философского критицизма. По образованию теолог. До 45 лет занимался физикой и астрономией. Создал оригинальную физико-астрономическую теорию мироздания. Издал труды: «Об огне», «О вращении земли вокруг ее оси», «Об одряхлении земли», «О землетрясениях». В 1755-1797 гг. читал курсы логики, метафизики, математики, физики, естественного права, этики, физической географии, антропологии и рационального богословия в Кенигсбергском университете. Лекции вынужден был прекратить после сочинения о «Религии в пределах одного разума», вызвавшего неудовольствие короля. В конце жизни начал труд, содержащий энциклопедию всех наук, но не смог закончить из-за ослабления ума. Логика приняла современный вид именно после
работ Канта. До этого момента сильное влияние на логику оказывало искаженное церковное истолкование Аристотеля.
Учение Канта о познании предполагает, что ум может познавать предметы потому, что все познаваемое в них создается тем же умом по присущим ему правилам или законам. «Первичные качества предметов» (например, протяженность, субстанциальность, причинность) обусловлены познающим умом, но не в его эмпирических состояниях как чувственные (вторичные) качества (например, цвета, звуки, запахи), а его априорными (трансцендентальными) актами, создающими предметы в сознании. A priori — до опыта. A posteriori — после опыта. Познание состоит из суждений, получаемых на основе мысленных актов соединения понятий. Возможны два вида суждений.
Аналитические — достоверные суждения, получаемые еще до проведения опыта (a priori); связь субъекта и предиката представляется всеобщей и необходимой. Пример: «тело есть нечто протяженное». Однако здесь нет нового знания, поскольку предикат протяженности уже содержится в самом понятии «тело».
Синтетические — связь субъекта и предиката полагает нечто новое, не содержащееся в понятии субъекта, как его признак (суждения a posteriori). Например, длина улицы — 377 метров. Суждение сообщает нечто новое, так как число метров не может быть выведено аналитически из представления данной улицы; но зато это суждение выражают только единичные эмпирические факты, лишенные всеобщего и необходимого значения и потому не составляющие истинного познания.
Значение познания (такого нового, достоверного знания, которое не содержалось уже в исходных посылках) имеют суждения, являющиеся одновременно и аналитическими и синтетическими. Пример: суждение 789 + 567 = 1356 есть истина всеобщая и необходимая, поскольку сумма чисел всегда, в применении ко всем предметам остается той же самой, причем мы можем быть уверены в этом еще до опыта. Результат суждения — число 1356 не содержится в понятии чисел 789 и 567. Суждения происходят следующим образом:
ум приводит все данные ощущения в некоторый наглядный (воззрительный) порядок в формах времени и пространства (создает мир чувственных явлений);
связывает чувственные явления умственно, по известным основным способам понимания (категории рассудка), создает мир опыта, который и подлежит познанию.
Всего возможны четыре формы суждений (связи субъекта 8 с предикатом Р), в каждой из которых возможны три случая.
Предикат выражает объем субъекта — категории количества.
Единство (субъект находится под своим предикатом как единичный экземпляр) — единичное суждение.
Множественность (8 находится под Р как часть рода) — особенные суждения.
Всеобщность (8 находится под Р как целый род) — всеобщее суждение.
Предикат выражает признак, входящий в содержание субъекта, — категории качества.
Реальность (утверждается наличие некоторого признака, «А есть В») — утвердительные суждения.
Отрицание (отрицается наличие некоторого признака, «А не есть В») — отрицательные суждения.
Ограничение («А есть не В» — признак исключается так, что за субъектом остаются всякие другие признаки, кроме одного этого) — бесконечные суждения.
Предикат и субъект соотносятся определенным образом — категории отношения.
Субстанция и принадлежность (предикат безусловно принадлежит субъекту) — безусловные (изъявительные, категорические) суждения.
Причина и действие (субъект указывается как условие предиката, «если есть Л, т. е. В») — условные (гипотетические) суждения.
Взаимодействие или общение (предикат представляется разделенным на несколько видов, через один из которых связывается с ним субъект, «Л есть или В1 или В2») — разделительные высказывания.
Предикат и субъект имеют силу связи — категории модальности.
Возможность (сочетание S и Р представляется как только возможное, «А может быть В») — проблематичные (сомнительные) суждения.
Действительность или существование (сочетание S и Р действительно существует, «Л есть В ») — ассерторические (утвердительные) суждения.
Необходимость (сочетание S и Р представляется как необходимое, «Л должно быть В») — аподиктические (обязательные) суждения.
Из перечисленных основных понятий (категорий) выводятся некоторые другие общие понятия — величина, сила и т. п. На их основе Кант определяет коренные истины (основоположения чистого рассудка), обусловливающие опытное познание или естественную науку. Поскольку все сводится к закономерному соединению или сложению представлений, ясно, что кроме правил соединения требуется еще само соединяющее действие.
Соединяемые представления должны удовлетворять следующим требованиям.
Выделены или схвачены в своей особенности («аппрегендированы»).
Обладать воспроизводимостью при новом акте их соединения.
Быть «узнаваемыми». Необходимо быть уверенным, что воспроизводимые представления суть те же самые, какие были прежде схвачены. Акт узнавания возможен только в случае, если субъект схватывающий, воспроизводящий и узнающий представления остается одним и тем же или себе равным, т. е. субъект неизменно сохраняет свое внутреннее безусловное тождество: Я = Я.
В этом смысле интересно посмотреть на природу времени. Можете ли Вы доказать, что секунды равны между собой? Является ли время линейным? Меняется ли масштаб времени? Рассматривая природу времени, Кант приходит к понятию «схема». Схема — это нечто среднее между чувственным образом и чистым понятием. Время является чистым воззрением, но вместе с тем в нем заключены четыре рода мысленных определений, дающих соответственные схемы для всех категорий.
Схема количества (продолжительность, величина, т. е. число моментов или равных единиц).
Схема качества (содержание или само временное бытие) — то, что наполняет время и дает схему качества. Наполненное время — схему реальности, пустое время — схему отрицания.
Схема отношения (явления находятся в различном временном порядке относительно друг друга). Если одно явление пребывает, когда другие проходят — схема субстанции и акциденции. Если одно следует за другим — схема причи-
ны и следствия. Если все явления существуют в одно время — схема взаимодействия или общности.
Схема модальности — такая схема, при которой явление во времени существует или когда-нибудь (схема возможности), или в определенный момент (схема действительности), или во всякое время (схема необходимости). Представляя чувственные явления по этим схемам, чистое воображение в каждом случае указывает рассудку на приложимость той или другой из его категорий.
В результате возникла теория семантических категорий — учение о возможных типах сущностей, типах отношений и правилах вывода, позволяющих при осуществлении формальных преобразований не терять осмысленность получаемых результатов.
Можно построить такую логическую теорию, что в ней на основе формальных правил окажутся возможны выводы типа: «треугольность бьет рекорды», «если дует ветер, то победа». Важно понимать, что с точки зрения формальной логической записи такие выражения вполне могут оказаться истинными, но осмысленностью-то они не обладают! Выражение получается бессмысленным, если смешать языковые выражения разных типов (категорий). Таким образом, два выражения считаются относящимися к одной и той же семантической категории рассматриваемого языка, если замена одного из них другим в произвольном осмысленном предложении не превращает предложение в бессмысленное. Каждое правильно построенное выражение языка принадлежит одной и только одной из семантических категорий.
Считается, что множество категорий бесконечно и иерархично. Все категории делятся на основные и функторные. Основные — это имена и предложения (высказывания). Упрощенно можно считать, что категорий три: имена, предложения (высказывания) и функторы (выражения, служащие для образования новых имен или высказываний из уже имеющихся).
Имена. Имя — выражение языка, означающее отдельный предмет, совокупность сходных предметов, свойства и т. п. Имена делят на единичные и общие в зависимости от того, сколько предметов они обозначают. Различают пустые (черт, призрак) и непустые (отсылает хотя бы к одному реальному объекту) имена.
Содержание имени — совокупность тех свойств, которые присущи всем предметам, обозначаемым данным именем и только им. Например, в содержании имени «благоустроенная квартира» мы понимаем помещение с водопроводом, канализацией и телефоном, предназначенное для проживания людей.
Объем имени — совокупность или класс тех предметов, которые обладают признаками, входящими в содержание имени. В объем имени «благоустроенная квартира» войдут «квартира в современном городском доме», «квартира в благоустроенном загородном коттедже» и т. п.
Различают однозначные и многозначные, точные и неточные, ясные и неясные имена. В логике существует так называемый «принцип однозначности», согласно которому в процессе коммуникации не следует использовать языковые выражения с несколькими разными значениями. Для неточных имен не всегда ясно, какие именно вещи они включают, а какие нет (объем). Неясные имена «размыты» или недостаточно определены в отношении своего содержания или смысла. Рассуждения, включающие неточные имена, имеют некоторые важные особенности.
Неточность имеет контекстуальный характер. Бессмысленно спорить о предмете, принимая во внимание только сам предмет (процесс, состояние), в одних ситуациях имя означает одно, с других точек зрения — другое.
Употребление неточных имен может привести к парадоксальным заключениям. Иногда неточность имени удается устранить (молодой — совершеннолетний — 18 лет).
Имена находятся в различных отношениях друг к другу Между объемами произвольных имен, которые есть смысл сопоставлять друг с другом, имеет место только одно из отношений: равнозначность, пересечение, подчинение и исключение (рис. 15).
SaP SiP SeP SoP
Рис. 15. Диаграммы Эйлера для иллюстрации отношений между именами
Равнозначными являются два имени, объемы которых полностью совпадают. Равнозначность не означает совпадение содержаний. Например, имена «благоустроенная квартира» и «благоустроенное помещение» на множестве двух перечисленных альтернатив можно считать равнозначными, но их содержание не совпадает (проживать в офисном помещении нельзя).
Деление — операция распределения на группы тех предметов, которые входят в объем исходного имени. Полученные в результате деления группы — члены деления. Признак, по которому производится деление, — основание деления. Требования к делению:
деление должно производиться только по одному основанию;
деление должно быть соразмерным (исчерпывающим), т. е. сумма членов деления должна равняться объему делимого понятия;
члены деления должны взаимно исключать друг друга;
деление должно быть непрерывным.
Частным случаем деления является дихотомия. Дихотомическое деление опирается на крайний случай варьирования признака. С одной стороны, выделяются предметы, имеющие этот признак, а с другой — не имеющие его.
Классификация — многоступенчатое разветвленное деление. Результатом классификации является система соподчиненных имен: делимое имя является родом, новые имена — видами, видами видов (подвидами) и т. п.
Класс — множество предметов, каждому из которых присущи признаки, отраженные в содержании соответствующего понятия. Слово или словосочетание, выражающие это понятие, служат именем класса. Классы могут быть простыми и сложными.
Простой класс — это класс, члены которого характеризуются только одним общим признаком, выражаемым именем данного класса. Пример: самолеты, пассажиры, реактивные двигатели и т. п. Простой класс нельзя расчленить на еще более простые.
Сложный класс — такой класс, члены которого имеют более чем один общий признак. Сложный класс всегда можно расчленить на простые, а при необходимости однозначно восстановить из простых.
Классификационные системы (КС) применяются для структурирования и обобщения знаний. С одной стороны, все сущности разбиваются по определенным признакам на некоторое число классов; с другой стороны, группируются вместе. Наблюдателю дается набор объектов, которые можно описать некоторым множеством признаков. Каждый объект принадлежит одному или более классам из некоторого фиксированного множества.
С помощью КС решают три основные задачи.
Классификация образов: наблюдатель должен применить установленное ранее правило и отнести вновь поступивший объект к некоторому классу
Распознавание образов: правило классификации вырабатывается на основе исследования множества объектов с известной принадлежностью к различным классам (обучающей выборке).
Формирование образов: объекты представляются наблюдателю без указания их принадлежности классам. Наблюдатель должен сам построить соответствующее деление классов.
Общая задача классификации эквивалентна задаче выяснения: является ли некоторая цепочка допустимым предложением в некотором формальном языке (грамматике). Некоторые КС применяются при представлении декларативных знаний, например для построения таблиц ключевых трансляторов алгоритмических языков.
В иерархической системе (рис. 16) между классифицируемыми группировками установлено отношение подчинения (например, род — вид). Множество объектов делится по некоторому признаку (основанию деления) на крупные группировки, затем каждая группировка разбивается на последующие группировки и т. д., постепенно конкретизируя объект классификации. Необходимо соблюдать правила деления, изложенные выше.
Рис. 16. Иерархическая классификация
Так, например, при классификации собак по породам ошибочно разбивать понятие собаки на колли, догов и овчарок. Если Вы соберете вместе всех колли, догов и овчарок, то не получите класс «собаки». Сколько бы Вы не дополняли список пород, Вы все равно что-либо упустите. Правильный вариант: собаки — это «доги и «не доги», «не доги» — это «овчарки и «не овчарки» и т. д.
Если Вы имеете профессиональный опыт в одной из предметных областей (например, в бухгалтерии), то Вам должно быть очень интересно проверить классификаторы (особые списки, применяемые в разных предметных областях) на соблюдение этих правил.
Писатель X. Л. Борхес приводит пример, связанный, как сказал бы современный бухгалтер, с учетом основных фондов в Древнем Китае. Чиновники полагали, что животные подразделяются на: а) принадлежащие императору; б) бальзамированные; в) прирученные; г) молочные поросята; д) сирены; е) сказочные; ж) бродячие собаки; з) заключенные в настоящую классификацию; и) буйствующие как в безумии; к) неисчислимые; л) нарисованные очень тонкой кисточкой из верблюжьей шерсти; м) прочие; н) только что разбившие кувшин; о) издалека кажущиеся мухами.
Иерархическая классификация применяется во многих областях. В докомпьютерную эру она являлась основой для учета и систематизации (например, в биологии, см. рис. 17).
Рис. 17. Фрагмент классификации животных по Ч. ДарвинуРис. 17. Фрагмент классификации животных по Ч. Дарвину
Рис. 17. Фрагмент классификации животных по Ч. Дарвину
Рис. 17. Фрагмент классификации животных по Ч. Дарвину
Изучением разнообразия животных занимается систематика. Главная ее задача — это распределение животных по группам (классификация). Основная единица классификации — вид животных. Под видом понимается совокупность организмов или особей, имеющих сходное строение, образ жизни, способных к скрещиванию с образованием плодовитого потомства и населяющих определенную территорию. Близкородственные виды животных объединяют в особую группу, называемую родом. Близкие, сходные роды животных относятся к одному семейству Близкие, сходные семейства объединяют в отряд, отряды — в класс, классы — в тип, типы — в подцарство, подцарства — в царство. Подцарств животных два: простейшие (одноклеточные) и многоклеточные животные. Главное различие состоит в том, что у простейших каждая клетка — это самостоятельный организм. Клетки же многоклеточных животных входят в состав организма и выполняют различные функции: одни — защитные, другие — по добыванию пищи, третьи — ее перевариванию и т. д. Вне организма эти клетки жить не могут.
Фасетная классификацияФасетная классификацияА1. боевик В1. цветнойА2. мелодрама В2. ч/бАЗ. комедияА1. боевик В1. цветнойА2. мелодрама В2. ч/бАЗ. комедияС1. звуковой D1. широкоформатныйС2. немой D2. широкоэкранныйD3. любительскийС1. звуковой D1. широкоформатныйС2. немой D2. широкоэкранныйD3. любительскийРис. 18. Фасетная классификацияРис. 18. Фасетная классификацияВ автоматизированных системах сейчас большое применение имеют тезаурусы (табл. 3) и фасетные классификации (рис. 18).
Фасетная классификация
Фасетная классификация
А1. боевик В1. цветной
А2. мелодрама В2. ч/б
АЗ. комедия
А1. боевик В1. цветной
А2. мелодрама В2. ч/б
АЗ. комедия
С1. звуковой D1. широкоформатный
С2. немой D2. широкоэкранный
D3. любительский
С1. звуковой D1. широкоформатный
С2. немой D2. широкоэкранный
D3. любительский
Рис. 18. Фасетная классификация
Рис. 18. Фасетная классификация
Фасетнаяформула
Ж:Ц:3:Ф
Основное преимущество иерархической системы классификации — большая информационная емкость и простота поиска (возможность ручного поиска). Недостатки — малая гибкость структуры,
невозможность агрегировать объекты по любому произвольному сочетанию признаков.
Алфавитно-предметная классификация — это система классов (каждый из которых соответствует одному виду предметов или факторов), расположенных в алфавитном порядке их имен (телефонный справочник). Пример такой классификации — англо-русский словарь. Слова расположены в строгом алфавитном порядке.
Иногда удобен другой принцип — расположить рядом все слова, начинающиеся на разные буквы, но относящиеся к одной ситуации или предмету. Например, слова «полиция», «больница», «страховка» логично поместить в раздел «авария». В этом случае имеем дело с предметной классификацией.
Тезаурус — центральная точка (тема) документа или информационного запроса. Выражается в виде некоторого перечня простых слов и словосочетаний естественного языка, обычно являющегося именем простых классов. Такие слова — координаты документа в n-мерном пространстве предметно-тематических признаков. Для координатного индексирования документов или информационных запросов могут использоваться полнозначные (неслужебные) слова, выбираемые непосредственно из индексируемых текстов. Такие слова и сочетания — ключевые. Процесс построения тезауруса представлен в таблице 3.
Таблица 3
Порядок построения тезауруса
Название классификационной единицы
Операции
Исходный текст или фрагмент исходного текста
Поиск (выделение в тексте) ключевых слов
Нормативный словарь
Приведение ключевых слов к единой морфологической форме и написанию. Учет сино
нимии, полисемии
Дескрипторный словарь
Строится класс из близких ключевых слов, выбирается обобщенное имя (дескриптор)
Нормативный словарь-справочник (информационно-поисковый тезаурус)
Дополнение дескрипторного словаря сведениями о предметно-тематической области
Информационно-поисковый тезаурус предназначен для координатного индексирования документов и информационных запросов, в которых приведены в алфавитном порядке все дескрипторы и синонимичные им ключевые слова, а также отражены важнейшие
11 Пример: мосты (строения), мосты (ходовая часть).
отношения между дескрипторами. В зависимости от функции лексически единицы тезауруса делятся на дескрипторы и условные синонимы.
Дескриптор — однозначное ключевое слово или код, обозначающий класс условной эквивалентности, в который включены эквивалентные слова и близкие им по смыслу ключевые слова. Элементарная структурная единица тезауруса — словарная статья.
Пример. Вычислительные машины:
(компьютеры, ЭВМ, вычислительные комплексы)
(персональные, большие ЭВМ, малые ЭВМ, супер-ЭВМ)
(техника вычислений, вычислительная техника, теория инженерных расчетов)
(расчеты, Интернет, игры, экономика).
Здесь тезаурус сЦ^н М^^ М^ М^, где di — заглавный дескриптор;
Mi — упорядоченное по алфавиту множество условных синонимов данного заглавного дескриптора, образующих вместе с ним класс условной эквивалентности;
М^ —упорядоченное множество дескрипторов, каждый из которых связан с заглавным отношением род-вид;
Мз —упорядоченное множество дескрипторов, каждый из которых связан с заглавным отношением вид-род;
М4 — упорядоченное множество дескрипторов, каждый из которых связан с заглавным отношением целое-часть, часть-целое, причина-следствие и др.
Затруднения с классификацией имеют объективную причину. Окружающий мир сложен, в нем отсутствуют жесткие границы и ясно очерченные классы. Всеобщая изменчивость усложняет картину.
Проблемами выделения жестко очерченных границ занимается таксономия. В тех случаях, когда однозначно классифицировать предмет не удается, его относят к некоторому классу по совокупности выраженности признаков, оцененных числами. В этом случае говорят о числовой или численной таксономии (см. также 11.2.3).
Высказывания. Высказывание, (утверждение) — грамматически правильное предложение, взятое вместе с выражаемым им смыслом и являющееся истинным или ложным. Простое высказывание (неразложимое, атомарное, атом) не включает других высказываний в качестве своих частей. Сложное высказывание получается из простых с помощью логических связок: отрицание, конъюнкция (и),
дизъюнкция (или), исключающая дизъюнкция. Пример простого высказывания: «Все медведи любят мед», сложного — «Некоторые медведи любят мед и (некоторые медведи) молодые побеги бамбука».
Простые высказывания могут разбиваться на составные части по- разному. Аристотель рассматривал одну из разновидностей простых высказываний — категорические высказывания (суждения), т. е. такие, в которых утверждается или отрицается наличие какого-то признака у всех или некоторых предметов рассматриваемого класса.
Пример: «S' есть Р» и «8 не есть Р», где 8 — имя предмета (субъекта), Р — имя признака (предикат). «Земля есть планета».
Рассматривают также высказывания об отношениях, в которых устанавливаются отношения между двумя или большим числом предметов. Пример: «Три меньше пяти», «Москва больше Барнаула». Высказывания об отношениях не могут быть сведены к категорическим высказываниям.
Особенность именно категорических высказываний в том, что не просто устанавливается связь предмета и признака, но дается количественная характеристика субъекта, т. е. «все», «некоторые» (табл. 4). Таблица 4
Формы категорических высказываний
Функторы
Обозначение
Пример интерпретации
«все ... есть ... »
а
SaP — все жидкости упруги
«некоторые ... есть ...»
г
SiP — некоторые животные говорят
«все ... не есть ...»
е
SeP — все дельфины не есть рыбы
«некоторые ... не есть...»
о
SoP — некоторые металлы не есть жидкости
Каждое из этих четырех выражений (а, г, е, о) Аристотель рассматривал как логические постоянные, не имеющие самостоятельного содержания и позволяющие из двух обладающих содержанием имен получить содержательные, являющиеся истинными или ложными простые высказывания. При этом имена 8, Р не должны быть единичными или пустыми.
При составлении сложных высказываний, осуществлении логического вывода (получения следствия из двух посылок) необходимо
SaP противные SePSaP противные SePSiP подпротивные SoPSiP подпротивные SoPзаботиться не только об истинности заключения, но и его осмысленности. Осмысленность можно проанализировать формально на основе так называемого «логического квадрата» (рис. 19). На логическом квадрате можно выделить особые фигуры (логического вывода), следуя которым гарантированно получим осмысленный результат.
SaP противные SeP
SaP противные SeP
SiP подпротивные SoP
SiP подпротивные SoP
Противоречащие высказывания — не могут быть одновременно истинными и ложными.
Противные — могут быть вместе ложными, но не могут быть вместе истинными.
Подпротивные — не могут быть одновременно ложными, но могут быть одновременно истинными. Подчиненные — из истинности подчиняющего высказывания автоматически следует истинность подчиненного.
Рис. 19. Логический квадрат
Фактически рис. 19 задает правила вывода (отношения между формулами). Таким образом, определив алфавит, правила вывода, синтаксис, мы задали некоторую логическую теорию, в данном случае — исчисления высказываний (ИВ). Отличительная особенность ИВ, в отличие от появившегося позднее исчисления предикатов (ИИ), состоит в том, что в качестве терминов (S,P) могут выступать именно логические переменные, в то время как в ИИ на месте термина может оказаться целый предикат. Логический вывод на категорических высказываниях может происходить индуктивно или дедуктивно.
В дедуктивном умозаключении связь посылок и заключения опирается на логический закон. Заключение с логической необходимостью вытекает из принятых посылок, от истинных посылок всегда ведет к истинному заключению. Для дедукции характерен переход от общего знания к частному
В индуктивном умозаключении связь посылок и заключения опирается не на логический закон, а на некоторые фактические или психологические основания, не имеющие формального характера. Индукция дает вероятные (правдоподобные) заключения. Максимум, о котором можно здесь говорить, — определенная степень вероятности выводимого утверждения. Для индукции характерен переход от множества частных случаев к общему знанию — обобщение. Основное отличие индукции от дедукции состоит в том, что дедукция — это логический переход от одной истины к другой, а индукция — переход от достоверного знания к вероятностному
Правильный вывод от истинных посылок всегда ведет к истинному заключению. Позволяет получить новое знание с помощью
чистого рассуждения, без обращения к опыту и интуиции. Если хотя бы одна из посылок является ложной, правильное рассуждение может давать в итоге как истину, так и ложь. Неправильный вывод от истинных посылок может вести как к истинным, так и ложным заключениям.
Аристотель рассматривал так называемые категорические силлогизмы (или просто силлогизмы, соответственно теория в целом — силлогистика) — дедуктивные умозаключения, в которых из двух категорических высказываний выводится новое категорическое высказывание.
Все М есть РВсе 8 есть МВсе 8 есть РВсе М есть РВсе 8 есть МВсе 8 есть РВсе жидкости упруги
Все М есть Р
Все 8 есть М
Все 8 есть Р
Все М есть Р
Все 8 есть М
Все 8 есть Р
Вода — жидкость
Вода упруга
В каждом силлогизме должно быть 3 термина: меньший (субъект S), больший (предикат Р) и средний (термин М, присутствующий в посылках, но отсутствующий в заключении). В за-
Рис. 20. Фигуры силлогизмаРис. 20. Фигуры силлогизмависимости от положения среднего термина различают 4 фигуры силлогизма (рис. 20).
Рис. 20. Фигуры силлогизма
Рис. 20. Фигуры силлогизма
Модусами силлогизма называются разновидности фигур, отличающиеся характером посылок и за
ключения. Всего возможно 4 х 64 = 256 различных сочетаний посылок и заключений (4 фигуры по 64 модуса в каждой фигуре). Из всех возможных модусов силлогизма правильных только 24 (по 6 в каждой фигуре), из которых пять являются ослабленными — заключения в них являются частноутвердительными или частноотрицательными высказываниями, хотя в других модусах эти же посылки дают общеупотребительные или общеотрицательные заключения. Таким образом, остается 19 правильных модусов силлогизма. Некоторые из силлогизмов имеют традиционно принятые имена (табл. 5).
Таблица 5
Традиционные имена некоторых силлогизмов
1 "Я фигура
Barbara, celarent, darii, ferio, barbari, celaront
1-я фигура
Cesare, camestres, festino, baroco, cesaro, camestros
В каждом из этих названий содержатся 3 гласные буквы. Они указывают, какие именно категорические высказывания используются в модусе в качестве посылок и заключения. Например, Celarent — большая посылка (SeP), меньшая — общеутвердительное (SaP), заключение — общеотрицательное высказывание (SeP). Для оценки правильности силлогизма удобно использовать диаграммы Эйлера.
Рис. 21Рис. 21Рис. 22Рис. 22Пример 1. (Barbara): Все металлы (М) ковки (Р) + железо (S) есть металл (М) = железо ковки (Р). Т. е. если все М входят в объем Р, то S войдет в объем Р (рис. 21).
Рис. 21
Рис. 21
Рис. 22
Рис. 22
Пример 2. Все рыбы (Р) не имеют перьев (М) + у всех птиц (S') есть перья (М) = ни одна птица (S') не является рыбой (Р). Т. е. если все птицы входят в объем М, а М ничего общего не имеет с Р, то и у S нет ничего общего с Р (рис. 22).
В силлогизме не может содержаться информа-
ция, отсутствующая в посылках, заключение только развертывает информацию, содержащуюся в посылках, но не может привносить новую информацию, отсутствующую в них.
Энтимема — силлогизм, в котором одна из посылок не выражена явно: «Щедрость заслуживает похвалы, как и всякая добродетель», «он ученый, поэтому любопытство ему не чуждо». В первом случае опущена меньшая посылка «щедрость — это добродетель», во втором большая «всякому ученому не чуждо любопытство». Для оценки правильности энтимему следует восстановить в полный силлогизм.
Процедуры доказательства и опровержения. Практические программные системы ИИ на основе логической модели ориентированы в основном на решение двух задач.
Доказательство логических гипотез (которые в данной конкретной области называются теоремами). Гипотеза выражается некоторой логической формулой, и необходимо доказать ее истинность на некотором наборе исходных данных. Информационной системе на вход подается формула, система ее проверяет, и если формула истинна, отвечает «Да». Если формула ложна, то ответ системы «Нет», однако в некоторых ситуациях система не может ответить ни «Да» ни «Нет». В этом случае запрос переформулируют, пытаясь доказать отрицание этой формулы, т. е. опровергнуть ее. В ряде случаев опровержение оказывается гораздо проще доказательства ложности. Например: «все медведи бурые»—достаточно предъявить одного белого медведя, т. е. подтвердить теорему «не все медведи белые».
Объяснение доказательства теоремы — предоставление пользователю всех промежуточных выводов. В этом случае система поясняет: «Я сделала такой вывод, потому что ... » Если речь идет о 1015 пар «причина-следствие», то вполне возможно отследить логику работы машины, более 20-30 пар — объяснения машины становятся похожи на речь шизофреника.
Безусловно, на основе логической модели можно решать и другие задачи, например задачу вывода всех возможных (как правильных, так и неправильных и неосмысленных) следствий из некоторых посылок. Практически это очень полезно, так как позволяет, например, «обыграть» все возможные неправильные истолкования некоторого документа, уточнить терминологию, исключить дублирование определений, найти противоречия, тавтологии в определениях.
Пример: «ЛЕСНОЙ КОДЕКС РОССИЙСКОЙ ФЕДЕРАЦИИ» от 29.01.1997 N 22-ФЗ (ред. от 25.07.2002, с изм. от 24.12.2002; принят ГД ФС РФ 22.01.1997).
Общая часть: ... с учетом представлений о лесе как о совокупности лесной растительности, земли, животного мира и других компонентов окружающей природной среды, имеющей важное экологическое ... значение.
Статья 87: Целями воспроизводства лесов являются своевременное воспроизводство лесов на не покрытых лесом землях, улучшение породного состава лесов, увеличение производительности лесов, обеспечение рационального использования земель лесного фонда ...
Статья 88: Повышение продуктивности лесов осуществляется в результате реализации системы научно обоснованных рубок, воспроизводства лесов, улучшения их породного состава ... ухода за лесами и проведения других лесохозяйственных работ.
Выделяем имена: 0 — лес, 1 — растительность, 2 — животные, 3 — цель, 4 — рубка. Строим посылки: 1 — лес есть растительность, 2 — лес есть животные, 3 — рубка есть лес (рубят лес). Для автоматизации построения следствий воспользуемся программой Переверзева Е. А. (Барнаул, АлтГТУ, 1998). Построим только правильные модусы. Система генерирует возможные выводы (сорит) и представляет их графически (рис. 23, 24):
Как видите, из текста закона следует, что «всякая рубка есть растительность» (А, 4,1) и «всякая рубка есть животные» (А, 4,2). Очевидно, термин «рубка» в применении ко всему понятию «лес» недопустим, следовало бы указать «рубка лесной растительности». Теперь построим, в том числе и слабые, модусы.
Вариантов толкования гораздо больше. Появились, например, «некоторые животные есть растительность» (ц 2,1).
Рис. 24. Сорит
Логика высказываний, с которой мы сейчас имеем дело, является не самой выразительной. Разные программные системы ИИ используют различные процедуры доказательства и опровержения, рассмотрим наиболее общую теорию.
Доказательство — дедуктивная процедура установления истинности некоторого утверждения путем приведения других утверждений, истинность которых уже известна и из которых с необходимостью вытекает первое. Состоит из тезиса, основания (аргументы) и логической связи. По структуре доказательства делят на прямые и косвенные (устанавливают справедливость путем вскрытия ошибочности антитезиса). Рассмотрим виды косвенных доказательств.
Приведение к абсурду (вывести из утверждения противоречие). Например, древнегреческий философ Протагор высказал утверждение: «Истинно все, что приходит кому-то в голову», на что Демокрит ответил, что «не все высказывания истинны».
Разделительное косвенное доказательство (если число рассматриваемых возможностей более 2-х). Применяется, если есть уверенность, что доказываемое положение входит в число всех рассматриваемых возможностей. Взаимная несовместимость возможностей и то, что ими исчерпываются все мыслимые ситуации, определяются не логическими, а фактическими обстоятельствами. Типичная ошибка таких доказательств — выдвинутые возможности, вместе взятые, не исчерпывают всех возможных альтернатив.
Опровержение. — рассуждение, направленное против выдвинутого тезиса, имеющее целью установление его ложности или недоказанности. Рассмотрим приемы опровержения.
Выведение из опровергаемого утверждения следствий, противоречащих истине.
Доказательство истинности отрицания утверждения (утверждение и его отрицание не могут быть одновременно истинны). Пример: медведи бывают только бурыми. Показываем одного белого медведя — опровержение получено.
Если тезис выдвигается с обоснованием, то опровергнуть можно эти обоснования. При этом, однако, само положение может быть и верным, но подкреплено слабыми аргументами.
Опровергнуть можно саму связь аргументов и тезиса, если показать, что тезис не вытекает из доводов. Из этого, однако, не следует ошибочность ни аргументов, ни тезиса.
Пример. Юморист начала прошлого века В. Билибин писал: «Если бы на свете не существовало солнца, то пришлось бы постоянно жечь свечи и керосин. Если бы пришлось постоянно жечь свечи и керосин, то чиновникам не хватало бы их жалования, и они брали бы взятки. Следовательно, чиновники не берут взяток потому, что на свете существует солнце».
Ошибки в доказательстве.
Ошибки в отношении аргументов:
содержательная ошибка — попытка обосновать тезис с помощью ложных аргументов;
круг в доказательстве — попытка доказать положение через него же, но сформулированное в другой форме: «Опиум усыпляет, потому что обладает снотворным действием, а его снотворная сила проявляется в том, что он усыпляет».
Подмена тезиса — замещение его в ходе доказательства близким по форме или содержанию положением. Тезис при этом может, например, «сужаться». Большим любителем подобных вещей был Диоген. В споре его оппонент утверждал, что в мире, как он представляется нашему мышлению, движение невозможно. Диоген встал и начал не спеша ходить, за что и был бит.
Потерянная логическая связь.
Несмотря на кажущуюся простоту, поиск логических ошибок — занятие трудное и нетривиальное. Во времена Древней Греции, Китая, в средневековой Европе существовали целые придворные философские школы, где дипломатов учили правилам составления и разрешения софизмов и паралогизмов.
Софизм — рассуждение, кажущееся правильным, но намеренно содержащее скрытую логическую ошибку. Служит для придания видимости истинности ложному заключению.
Примеры: «что не терял, то имеешь; рога ты не терял, значит у тебя рога», «сидящий встал, кто встал, тот стоит; следовательно, сидящий стоит», «этот пес твой, он отец, значит, он твой отец», «компания, получившая кредит, ничего банку не должна, поскольку она стала иной: в правлении не осталось никого из просивших ссуду».
Паралогизм — непреднамеренная ошибка в рассуждении.
Математическая реализация формальной логики
В XIX веке (^ 2000 лет после Аристотеля) английский математик Джордж Буль усовершенствовал логическую систему обозначений.
Джордж Буль (2.11.1815-8.12.1864) — отец математической логики. Профессор математики, самоучка (закончил только школу). Знал греческий, французский, немецкий и итальянский языки. Учился по книгам Ньютона, Лапласа, Лагранжа. Был отмечен как талантливый математик профессором Августом Де Морганом. В 1854 г. опубликовал работу «Исследование законов мышления, базирующихся на математической логике и теории вероятностей». Первым показал, что существует аналогия между алгебраическими и логическими действиями, попытался сформулировать общий метод вероятностей, с помощью которого из заданной системы вероятных событий можно было бы определить вероятность последующего события, логически связанного с ними.
Он предложил записывать истинность как 1, а ложь как О. Буля не интересовало все возможное многообразие отношений естественного языка. Он рассмотрел только отношения «+» объединения, «*» пересечения, исключения.
Усовершенствованная система записи Буля позволила поставить абстрактную логическую задачу в виде системы уравнений:
Хх + X» = 1
Х2 * Х3 = 0.
Кто съел шоколад? Кошка Лиза (Xi) или («+») щенок Кинг (Х2)? Если хозяин (Х3) не ел, а гулял в это время с щенком, значит это была Лиза.
Буль ввел специальные обозначения (табл. 6, 7).
Исчисление предикатов — некоторая аксиоматическая система, предназначенная для моделирования некоторой среды и проверки каких-либо гипотез относительно свойств этой среды при помощи
разработанной модели. Гипотезы при этом утверждают наличие или отсутствие некоторых свойств у некоторых объектов и выражаются в виде логической формулы. Обоснование гипотезы сводится, таким образом, к оценке выводимости и выполнимости логической формулы. Таблица 6
Некоторые обозначения булевой логики
Операция
Обозначение
Конъюнкция
«и», «Л», « х »
Дизъюнкция
«или», «V», «+»
Эквивалентность
«А тогда и только тогда, когда В», «ъ>» или «=»
Импликация
«если А, то В. А влечёт В», «^й8
Отрицание
«не», «^»
Таблица 7
Таблицы истинности основных логических операций
X
¥
Xg-AY
XgVY
Х^¥
Х«э¥
л
л
и
л
л
И
И
л
И
и
л
и
и
л
И
л
л
л
и
л
л
И
и
л
и
и
и
и
Противоречивое исчисление — исчисление, в котором существуют формулы, выводимые в этом исчислении вместе со своими отрицаниями.
Формула а является выводимой из «1, «2? • • • ? «п? если любая, но одна и та же модель этих формул (набор значений) является также моделью формулы а. Символ выводимости пишется как «Г».
Модель формулы — та предметная среда, значениями которой конкретизируется формула. Очевидно, что одна и та же абстрактная логическая формула может быть основой для построения модели некоторой среды. Поэтому говорят об абсолютной и относительной выполнимости, о тождественной (для всех моделей) и относительной (выполняется только для конкретной модели) истинности.
Семантика формулы — смысловая интерпретация формул формальной логики, т. е. сопоставление переменных в формулах со
свойствами объектов среды и отношений между этими формулами со свойствами объектов. Семантика логики высказываний и фраз на естественном языке практически совпадают. Семантика логики предикатов такова, что не всегда можно точно сопоставить формуле правильно построенное предложение на естественном языке.
Выполнимая формула — существуют наборы значений ее аргументов, на которых она принимает значение «Истина».
Невыполнимая формула — на всех наборах значений своих аргументов принимает значение «Ложь».
Общезначимая формула (она же тавтология, обозначается «|=») — формула, абсолютно (т. е. на всех моделях) истинная на всех наборах значений своих аргументов. В логике высказываний известно много общезначимых формул (законов, аксиом, логики высказываний).
Элементарные (атомарные) высказывания — простые высказывания, например: «светает», «дом белый» и т. п.
Конституента (полная конъюнкция) — элементарная конъюнкция, в которую по одному разу входит каждая переменная, определяющая состояние среды. Например, среда «слепой дождь» — идет дождь и светит солнце (жх А Ж2), или «буря» — сильный ветер и «света белого не видно» (жз А ^жд).
Квантор — некоторый способ приписать наличие каких-либо свойств целому множеству объектов: V (квантор общности), 3 (квантор существования). Переменные, которые записываются за знаком квантора в скобках, — связанные; переменные, которые ни один квантор не связывает, — свободные. Наличие кванторов, а также возможность оперировать в качестве аргументов не только с переменными, но и с высказываниями — одно из основных отличий исчисления предикатов от исчисления высказываний. В свою очередь исчисление предикатов первого порядка отличается от ИП второго порядка тем, что если при ИП первого порядка мы устанавливаем кванторы над переменными, то в ИП второго порядка мы устанавливаем кванторы над самими отношениями (т. е. предикатами). Так, например, в логике первого порядка мы можем сформулировать запрос: «Какие переменные X, У, Z и т. д. находятся в некотором отношении R?» Именно такой пример приведен в главе «Краткие сведения о Prolog». В случае исчисления второго порядка возможен запрос: «В какие отношения входят некоторые переменные X, У и т. д.» Применительно к тому же примеру получили бы ответ «likes».
Методы автоматического доказательства теорем (исчисление предикатов). Некоторые, наиболее важные аксиомы.
Коммутативность: ai&O2 = «2&«ь »i V «2 = «2 V ад.
Дистрибутивность: ai&(«2 V «з) = (од&о^) V («1&аз).
Ассоциативность: ах&(а2&«з) = (»х&«2) &«з?
«1 V («2 V «з) = («1 V «2) V «з.
Законы Де Моргана:
-,(ai&a2) = (-'«i) V (па2),
-Да! V а2) = (-iai)&(-ia2),
-,(-,ai) = «1.
Аксиомы классического исчисления высказываний (ИВ):
a D (/3 D а),
(а D /3) D (аЗ (^ D 7)) 3 (аЗ 7),
(а Л Д 3 а,
(a^д^ 3,
а 3 (а V /3),
3 D (а V /3),
аЭ (^Э (а V /3)),
»^7Р ((^ 3 7) 3 ((а V /3) D 7)),
(аЗ Д 3 ((а D i /3) D -■«),
-1-1СИ = а.
Правила вывода.
Из истинности условия импликации и истинности самой импликации следует истинность следствия импликации (модус поненс): a, a D 3 \™ р.
Из формулы а(р) выводима формула о (Р), получающаяся подстановкой Р вместо р (правило подстановки): а^р) Ь а(Р).
При создании интеллектуальных программ, основанных на модели математической логики, кроме этих двух правил широкое распространение получили еще шесть. Это специальные правила вывода, позволяющие оперировать не самими логическими законами в классической записи, а некоторыми ценными следствиями:
из истинности конъюнкции следует истинность любого ее конъюнкта (исключение конъюнкта);
из списка истинных формул следует истинность их конъюнкций (введение конъюнкции);
из истинности формулы следует истинность ее дизъюнкции с любыми другими формулами (введение дизъюнкции);
из истинности двойного отрицания формулы следует истинность ее самой (исключение двойного отрицания);
из истинности дизъюнкции и отрицания одного из ее дизъюнктов следует истинность формулы, получающейся из дизъюнкции удалением этого дизъюнкта (простая резолюция или удаление дизъюнкта): а V g. ^Р Ь а;
из истинности двух дизъюнкций, одна из которых содержит дизъюнкт, а другая его отрицание, следует формула, являющаяся дизъюнкцией исходных формул без упомянутого дизъюнкта его отрицания (резолюция): at V /3, -</3 V7 Н а V 7 или, эквивалентно, D /3, /3 D7 I—о D 7.
Последние два принципа в свое время (1966 г.) совершили «небольшой переворот» в прикладной логике. Оценка истинности формулы в современных программах ИИ происходит одним из следующих методов:
оценка через преобразование, упрощение и приведение к нормальным формам;
оценка путем логического вывода из системы аксиом;
оценка методом редукции;
оценка методом опровержения.
В ряде случаев для определения тождеств удобен так называемый алгоритм редукции. Алгоритм основан на доказательстве путем приведения к абсурду. Метод особенно хорош, когда формула содержит много импликаций. Согласно принципу дедукции, вопрос о выводимости (не выводимости) некоторой формулы сводится, в конечном счете, к анализу невыполнимости множества ее дизъюнктов. Множество дизъюнктов невыполнимо тогда и только тогда, когда логическим следствием из него является пустой дизъюнкт. Т. е. невыполнимость формулы можно проверить, порождая логические следствия из нее до тех пор, пока не получится пустой дизъюнкт. Метод, позволяющий получить логические следствия из множества дизъюнктов, основан на применении принципа резолюций.
Пример. Даны формулы А, В, С. Дизъюнкты: (1) (А + С) и (2) (В + С), будем считать их истинными.
Предположим, С = «И(стина)», тогда первый дизъюнкт (А + + С) = И при любом А. Подставив С = И во второе выражение, имеем В + Л, следовательно В = И, поскольку принято, что весь дизъюнкт истинен (пытаемся доказать истинность формулы).
Предположим, С = Л, тогда второй дизъюнкт истинен при любом В, а первый принимает вид А + Л, следовательно А = И.
Таким образом, вне зависимости от интерпретации С: (А + В) = = И. Новый дизъюнкт (резольвента) добавляется в базу знаний. Он позволяет исключить контрарные формулы С и С.
Пример. Дизъюнкты (р + q + г) и (т + г), резольвента (р + + q +т).
Пример. Дизъюнкты (р) и (р) дадут в сумме пустой дизъюнкт.
Пример. Доказать выполнимость системы И = (р + q, р+г, q + г,р).
Гипотезы: 1) p + q, 3)q + r,
2) р + г, 4) р.
Доказательство: (р + q) + р = q,
(р + г) +р = г,(д + г) + г = q,q + q = Л(ожь).
Следовательно, система невыполнима. То же самое можно было доказать на формуле р (а не q). Алгоритм (похож на решение системы алгебраических уравнений, не правда ли?) легко формализуется на ЭВМ. Проблема при этом состоит в возможности зацикливания машины вследствие порождения некоторого одного и того же дизъюнкта неограниченное число раз. Поэтому в машинные языки вводят специальную операцию «отсечение».
Во времена Дж. Буля математическая логика не имела того важнейшего прикладного значения, которое ей придается сейчас. С изобретением в 1918 г. Бонч-Бруевичем принципа триггерного кольца или просто триггера появилась возможность реализовать уравнения Буля, а следовательно, и часть логики Аристотеля в электрических и электронных устройствах.
Михаил Александрович Бонч-Бруевич (09.02.1888—07.03.1940). Изобретатель триггерного кольца (1918). Независимо от него открытие повторили английские ученые У. Экклз и Ф. Джордан (1919).
В 1909 г. окончил Инженерное училище в Петербурге, в 1914 г. — Офицерскую электротехническую школу. С 1922 г. профессор Московского высшего технического училища, с 1932 г. профессор Ленинградского института инженеров связи, ныне носящего его имя. В 1916—19 гг. создал отечественное производство электронных ламп. В 1918 г. возглавил Нижегородскую радиолабораторию, объединившую лучших радио специалистов того времени. По заданию В. И. Ленина спроектировал первую в мире мощную (12 кВт) радиостанцию им. Коминтерна (Москва, 1922). В 1919—25 гг. создал конструкцию мощной генераторной радиолампы с водяным охлаждением и схемы радиотелефонных станций. В 1924—30 гг. руководил разработкой первой в мире коротковолновой направленной антенны и коротковолновых линии дальней радиосвязи. Занимался вопросами физики верхних слоев атмосферы и их практическим применением, в том числе в области радиолокации.
Примеров такого применения очень много, самый главный — это, конечно же, создание компьютеров. Набор микросхем, на которых они строятся, называют элементарной логикой или элементной базой.
Компьютер — это очень большая и сложная система логических уравнений. Системы попроще нашли свое применение в управлении техническими объектами, например, лифтами, разумно реагирующими на примерно одновременное нажатие кнопок вызова на разных этажах, панелях управления и индикации различных приборов, системах «защиты от дурака», когда, например, технологический режим работы устройства не допускает работы в двух режимах одновременно, равно как и полной остановки устройства: Xi * Х2 = = 0.
Развитие этой ветви систем ИИ активно шло до 60-70 гг. и позволяло получать новые научные результаты. Дальнейшее развитие потребовало модификации логики Буля, введения двух новых важных понятии: состояния системы и степени уверенности .
.3.2. Элементы теории нечетких множеств Л. Заде. Как Вы помните, Аристотель полагал, что любое рассуждение либо истинно, либо ложно, т. е. система «Маша —> Паша» может находиться только в одном из двух возможных состояний: либо «Маша любит Пашу», либо «Маша не любит Пашу».
Разработчики микросхем элементарной логики обнаружили, что возможно, по крайней мере, три состояния. В самом деле, если состояние 1 (любит) кодируется высоким уровнем напряжения, а состояние 0 (не любит) низким, то как быть, если на данной схеме в некоторый момент времени вообще нет напряжения, либо его уровень ровно в середине между 0 и 1? Это третье состояние можно интерпретировать как «неизвестно, как Маша относится к Паше» или «Маша не знает, как ей относиться к Паше». А если уровень напряжения ближе к «любит», чем «не любит»?
Можно возразить, что это очевидная ошибка в работе устройства, долгое время так и считалось. Но как показал Л. Заде в своей работе, вышедшей в свет в 1965 г. в США, это очень полезная ошибка. Эта «ошибка» позволяет приблизить логику работы машины к логике рассуждений живого человека, научить машину «сомневаться» и «разносторонне оценивать варианты». Для этого необходимо не просто выделить возможные состояния системы, но и оценить степень уверенности в том, что система находится именно в этом состоянии.
После прочтения этой лекции рекомендуется выполнить практическую (лабораторную) работу «Элементы формальной логики ...»
Лотфи Заде (Lotfi A. Zadeh) — американец азербайджанского или иранского происхождения (род. 04Л2Л921). В 1956 г. приглашен исследователем в институт современных исследований в Принстон (штат Нью-Джерси). В 1959 г. стал членом департамента инженерной электрики в университете Беркли. Впервые сформулировал понятие нечеткой логики в 1965 г. в статье «Нечеткие множества» (журнал «Информатика и управление»).
Существует легенда о том, что теория «нечетких множеств» была придумана Заде в результате спора со своим другом относительно того, чья жена более привлекательна. Термин «привлекательная» является неопределенным, что и вынудило Заде сформулировать концепцию, которая выражает нечеткие понятия в числовой форме.
Приведем пример. Какого цвета крокодил? Большинство из Вас, не задумываясь, ответит: «Зеленый». Подумав некоторое время, Вы скажете, что, возможно, бывают крокодилы и другого цвета, например коричневые или желтые. На худой конец Вы скажете, что в магазине «Детский мир» видели даже красного крокодила.
Итак, у системы «крокодил» характеристика «цвет» может находиться в одном из четырех возможных состояний: «зеленый», «коричневый», «желтый», «красный». Можете ли Вы объяснить, что такое «зеленый крокодил»? Если автоматическая система ИИ увидит два объекта, различающихся интенсивностью окраса, какой из них считать крокодилом? Оба? А если один из объектов будет красным? А где граница цвета красный?
Основная проблема применения логики Аристотеля и Буля как раз и состоит в том, что в реальном мире состояния «ложь» и «истина» часто недостижимы. Аристотель исследовал наиболее простые, элементарные отношения. Существуют и более сложные, которые могут принимать состояния «истина» и «ложь» в частном случае. Для того чтобы оценить сложное отношение как истинное или ложное, всегда приходится делать некоторые упрощения и допущения.
Например, отношение «любит». Истинность или ложность этого отношения на множестве двух элементов невозможно ни доказать, ни опровергнуть. Можно только приписать ему некоторую степень уверенности. Так, по мнению автора, крокодил является зеленым со степенью уверенности 0,8. Это значит, что каждый крокодил является темно-зеленым и большая часть его тела именно такого цвета. У крокодила длинные лапы с уверенностью 0,4 — это значит, что у каждого крокодила довольно короткие лапы.
Если крокодил красный, то это частный случай игрушечного крокодила со степенью уверенности 1, равно впрочем, как и если крокодил синий, белый, в полосочку или даже в горошек. Какого же цвета игрушечный крокодил? Цвет такого крокодила многозначен. Он может быть любым, даже темно-зеленым, как настоящий. Тогда
какую же степень уверенности сообщить системе ИИ? Сможет ли робот на основе ИИ отличить игрушечную собачку от игрушечного крокодила, а обоих вместе от живых объектов?
В данном случае мы говорим о степени вероятности или просто вероятности некоторого события. Из ста игрушечных крокодилов 70 будут зелеными, 20 желтыми, 5 красными и еще пять всех других цветов и оттенков. Значит, и вероятность цвета зеленый — 0,7, желтый — 0,2, красный — 0,05. Зеленый — 0,7 означает, что объект может быть любого цвета, но, скорее всего, он зеленый.
Итак, мы рассмотрели основное отличие понятий степень уверенности и вероятность события. Вероятностные модели подробнее будут рассмотрены в следующих лекциях. Остановимся на нечетких множествах Лотфри Заде.
Нечеткое множество задается парами вида Ж1|дх(ж1)? гДе Ж1 — элемент нечеткого множества X, а рх (^1) — степень принадлежности элемента жх к нечеткому множеству X. Значение Дх(ж1) изменяется в интервале [0..1]. Например, некоторое нечеткое множество Л будет задаваться выражением вида
А = {(ж1|0,1), (ж2|1), (ж3|0,6)},жх = 17 (лет), ж2 = 24, ж3 = 49или сразу {(17|0,1), (24|1), (49|0,6)}.
2525ии<D5<D5Возраст «молодого человека», лет Рис. 25. Лингвистическая функцияВозраст «молодого человека», лет Рис. 25. Лингвистическая функция50655065Множество А (рис. 25) могло бы, например, иметь смысл ответа на вопрос: «Сколько лет молодому человеку?» Люди из разных поколений ответят на него по-разному, вкладывая в понятие «молодой» разные объем и содержание. Для подростков «молодой человек» — это тот, кому «мало лет», для людей постарше — тот, кому «немного лет» и т. д. Пенсионеры, в противоположность школьникам, отнесли бы шестнадцатилетнего юношу к категории «подростки», а безнадежно устаревшего на взгляд школьника тридцатилетнего пре
25
25
и
и
<D
5
<D
5
Возраст «молодого человека», лет Рис. 25. Лингвистическая функция
Возраст «молодого человека», лет Рис. 25. Лингвистическая функция
5065
5065
подавателя — к категории «довольно молодые люди». Мнения разных поколений сошлись бы абсолютно только относительно «молодого человека в возрасте 18—25 лет». Подобная нечеткость всегда имеет место в реальных инженерных задачах, поскольку предельные понятия «истинность — 1» и «ложь — 0» существуют, скорее, только в теории. Метод получения «меры принадлежности» некоторого
элемента к множеству — тема отдельного разговора. Четких математических методов здесь нет, применяются так называемые методы принятия решений.
Другим важным вопросом является способ оперирования с нечеткими (лингвистическими) оценками (мерами принадлежности). Предположим, у Вас имеется некоторая цель Л, достижение которой зависит от достижения подцелей Ai и Л2, причем полное достижение подцелей возможно только в частном случае. Как вычислить меру достижения цели Л? Подобная ситуация возникла, например, при разработке деревьев целей информационно-образовательной среды «Chopin» (рис. 9, 10, 86). Как сравнить два нечетких множества? Множества А и В равны, если ^х Е М ца(^) = рв(ж), где М — множество элементов, которые есть и в Л и в В. Множества А и В дополняют друг друга, если Уж Е М дд(ж) = 1 ™ дв(ж). Пересечение Л и В: Уж Е М ра^П рв^ж) = min (дл(ж), дв(ж)). Объединение: Уж Е М га(^) О рв^ж) = шах (дл(ж), ^в(^)-
Введенные операции дополнения, пересечения и объединения удовлетворяют законам коммутативности, ассоциативности, идемпотентности, дистрибутивности, действия с константами де Моргана, двойного отрицания (дополнения) и поглощения, т. е. выполняются все основные законы теории множеств. Достаточно интересно выглядит геометрическая интерпретация операций на нечетких множествах (диаграммы Эйлера). На рис. 26 представлено множество оценок возраста для понятия «молодой человек» и его дополнение.
Рис. 26. Нечеткое множество и его дополнения
На нечетких множествах определены также операции алгебраического произведения и суммы:
Зх £ М ЦА+в(р = рАР • Рв(х);
Зх £ М Ра+в{х) = РаА + РвА - РаА • рвА-
Применительно к задаче оценки степени достижения учебных целей мы использовали (см. рис. 9, гл. 1) операцию пересечения, в то время как в системе тестирования при оценке ответа на вопрос
применили операцию объединения. При принятии решения о «самом лучшем», «самом плохом» студенте воспользовались операцией дополнения. Современные экспертные системы все чаще вместо классической (Аристотелевой) логики используют логику Заде.
Математическая логика с течением времени развилась в самостоятельно ценную науку, исследования в области троичной и многозначной логики заложили фундамент развития информатики на десятки, 23 если не сотни лет вперед .
ГЛАВА 5
ПРОДУКЦИОННАЯ МОДЕЛЬДЛЯ ПРЕДСТАВЛЕНИЯ ЗНАНИЙ
Описание предметной области правилами и фактами.
Для того чтобы реализовать описанные выше принципы логического вывода, в автоматизированной системе необходим специальный машинно-ориентированный язык. Одним из наиболее простых и эффективных машинно-ориентированных языков для описания логических задач являются правила продукций.
«Продукция» представляет собой выражение вида:
если А (условие), то В (действие), постусловие С.
ядро
Под условием понимается некоторое предложение-образец, по которому осуществляется поиск в базе знаний, а под действием — действия, выполняемые при успешном исходе поиска (они могут быть промежуточными, выступающими далее как условия, и целевыми (терминальными), завершающими работу системы). Постусловие описывает действия и процедуры, которые необходимо выполнить после реализации действия. Например, после покупки некоторой вещи в магазине необходимо в описи товаров уменьшить количество вещей такого типа на 1.
Продукционная система, таким образом, представляет собой базу знаний (правил продукций) и машину вывода — специальную программу «сопоставления по образцу». В зависимости от того, какие использованы продукции и каковы правила вывода, получаются различные продукционные системы.
Ядра продукций можно классифицировать по различным основаниям. Прежде всего различают детерминированные и недетерминированные ядра. При актуализации детерминированного ядра и выполнимости условия правая часть (действие) выполняется с неизбежностью (и степенью уверенности), в недетерминированных — с вероятностью.
Если А, то, возможно, В с вероятностью а.
Если Л, то В с коэффициентом уверенности а (детерминированная продукция).
Продукции также могут быть однозначными и альтернативными. Для альтернативных правил в правой части ядра указываются «альтернативные возможности выбора», которые оцениваются «весами выбора — ад, ад,, ап».
Если Л, то «чаще всего» надо делать Bi, «реже» В2 (вероятност-Если Л, то «чаще всего» надо делать Bi, «реже» В2 (вероятност-ные оценки).Если Л, тоные оценки).Если Л, тоBi< В^Bi< В^с уверенностьюс уверенностьюс уверенностьюс уверенностьюс уверенностьюс уверенностьюQi ;<ЧП.Qi ;<ЧП.
Если Л, то «чаще всего» надо делать Bi, «реже» В2 (вероятност-
Если Л, то «чаще всего» надо делать Bi, «реже» В2 (вероятност-
ные оценки).
Если Л, то
ные оценки).
Если Л, то
Bi
< В^
Bi
< В^
с уверенностьюс уверенностьюс уверенностью
с уверенностьюс уверенностьюс уверенностью
Qi ;
<ЧП.
Qi ;
<ЧП.
Рис. 27. Абстрактная карта дорог: графическая интерпретация отношений между именамиРис. 27. Абстрактная карта дорог: графическая интерпретация отношений между именами
Рис. 27. Абстрактная карта дорог: графическая интерпретация отношений между именами
Рис. 27. Абстрактная карта дорог: графическая интерпретация отношений между именами
В качестве ai, ai,. . . , ап используются вероятностные оценки, лингвистические оценки, экспертные оценки и т. п. Метод их полу
чения — тема для отдельного изучения.
Отдельно выделяют прогнозирующие продукции, в которых описываются последствия, ожидаемые при актуализации Л, например: если Л, то с вероятностью р можно ожидать В.
Продукционная база знаний (БЗ) состоит из набора фактов и
правил. Программа, управляющая перебором правил, называется машиной вывода. Чаще всего вывод бывает прямой (от данных к поиску цели) или обратный (от цели для ее подтверждения — к данным). Данные — это исходные факты, на основании которых запускается машина вывода, т. е. программа, перебирающая правила из базы.
Абстрактный примерБЗ(рис. 27). Раздел «Факты»:
дорога (Л, В);
дорога (В, С);
дорога (В, D);
дорога (С, D).
Раздел «Правила»:
прямая дорога (X, У), еслидорога(Х, У) или дорога (У, X);
транзитная дорога (X, У), если дорога (X, Z) и дорога (Z^ У);
есть дорога (X, У), если прямая дорога (X, У) или транзитная дорога (X, У).
Примерзадачи, решаемой при помощи такой БЗ: «Установить, есть ли дорога между пунктами Ли D».
Ход решения (рис. 28).
На вход машины вывода (далее МВ) пользователь подаст цель: «Есть дорога (Л, D)».
«Есть дорога (A,D)»
«Прямая дорога (A,D)»
«Дорога»
«Транзитная дорога (A,D)»
«Есть дорога (A,D)»
«Прямая дорога (A,D)»
«Есть дорога (A,D)»
«Есть дорога (A,D)»
Шаг 1
ШагЗ
Шаг 4
Шаг 6
Рис. 28. Работа стека при решении логической задачи
МВ осуществит поиск текстовой строки «Есть дорога» в файле, хранящем БЗ.
МВ втолкнет цель «Есть дорога» в стек целей и приступит к поиску цели «Прямая дорога».
МВ втолкнет цель «Прямая дорога» в стек целей и приступит к поиску цели «Дорога».
МВ просмотрит все текстовые строки «Дорога (Д, В)», «Дорога (В, С)» и т. д. и обнаружит, что искомой цели «Дорога (Д,В)» среди них нет.
МВ вытолкнет из стека цели «Дорога», «Прямая дорога» и «Есть дорога». Раскроет цель «Есть дорога» и приступит к поиску цели «Транзитная дорога», предварительно втолкнув цель «Есть дорога» в стек.
Цель «Транзитная дорога» будет удовлетворена, поскольку действительно есть дорога «Д — В — D».
В данном примере показан так называемый «обратный вывод» — некоторая цель подтверждена при помощи имеющихся правил и данных.
Прямой вывод имел бы место, если бы требовалось породить все возможные на данной карте маршруты, в этом случае цель могла бы выглядеть как «Дорога (X, Y)».
Как видите, алгоритмически поиск решения (имитация мышления человека) представляет собой не более чем примитивный поиск подстроки в строке в цикле до первого решения, либо в бесконечном цикле, либо до первого повторения полученного решения. Для экономии времени и ресурсов ЭВМ важно оптимально управлять этим поиском. Графическое представление пространства состояний значительно упрощает эту задачу (рис. 29).
Как видите, возможны два решения «Д — В — D» и «Д — В — — С — D». Первое явно короче, но ведь находясь в пункте «Д», мы об этом не знаем!
Вершину «Л» называют «корнем дерева», «целевой вершиной» или «глобальной целью».
Вершины «В» и «С» — вычисляемыми (раскрываемыми, промежуточными) вершинами.
Вершину «D» — терминальной, т. е. завершающей.
Ребра, соединяющие вершины, имеют смысл присоединенных процедур, которые необходимо выполнить, чтобы совершить переход в следующее состояние (вершину).
Процесс применения присоединенных процедур называют порождением вершин или перебором вариантов. При порождении новой вершины обязательно запоминается указатель на старую. В конце перебора совокупность этих указателей
Рис. 29. Абстрактная карта дорог: графическая интерпретация отношений между именамиРис. 29. Абстрактная карта дорог: графическая интерпретация отношений между именамиобразует путь решения задачи, который записывается вместе с имеобразует путь решения задачи, который записывается вместе с именами выполненных присоединенных процедур, например, так:
Рис. 29. Абстрактная карта дорог: графическая интерпретация отношений между именами
Рис. 29. Абстрактная карта дорог: графическая интерпретация отношений между именами
образует путь решения задачи, который записывается вместе с име
образует путь решения задачи, который записывается вместе с име
Л = (г1(г2(гЗ))), где ?’ — ребра графа; или A(B(C(D))).
В зависимости от того, раскрывают ли каждую возможную «веточку» дерева целей сразу до терминальных фактов, либо только на некоторую заданную глубину, различают две основные стратегии слепого перебора: «в ширину» и «в глубину».
В первом случае вершины раскрываются в том же порядке, в котором они порождаются (breadth —jirstprocess). Во втором случае на каждом шаге первой раскрывается вершина, которая была построена последней (depth —jirstprocess).
В случае, если существует некоторая дополнительная информация о предметной области, которая позволяет делать суждения о характере графа пространства состояний и расположения цели, говорят об эвристическом поиске. Эвристическая информация, опирающаяся, как правило, на предыдущий опыт, позволяет выполнять поиск в наиболее перспективных направлениях.
Говоря о графе, будем рассматривать только один наиболее простой его тип — граф типа «дерево». Дерево — граф, каждая вершина которого имеет только одну вершину, непосредственно предшеству-
ющую ей (родительскую), за исключением вершины-корня, которая предшествующих вершин не имеет.
Метод полного перебора в ширину. Вершины раскрываются в том порядке, в котором они строятся (рис. 30). Основной 81алгоритм состоит в выполнении следующих
действий.
S4 1. Начальная вершина раскрывается до тех X пор, пока ее можно раскрыть, применяя один и тот же (или разные, смотря по условию) оператор. При этом образуются °целевоевершины первого уровня: S^ S^ ... Они
Рис. 30. Фрагмент дерева раскрываются в свою очередь и образу- перебора в ширинуются вершины второго уровня и т. д.
Расставляются указатели, ведущие от новых вершин к корню.
Проверяется, нет ли среди полученных вершин целевой. Если есть, то формируется решение на основе соответствующего оператора. Если целевых вершин нет, то рассматривается первая порожденная вершина и к ней применяется тот же алгоритм. После чего переходят ко второй и т. д., пока среди получаемых вершин не окажется целевой.
Полный перебор в ширину гарантирует нахождение целевой вершины как раз потому, что перебор полный. Путей достижения цели, вообще говоря, может быть много. В этом случае имеется возможность выбрать наикратчайший (самый дешевый/самый лег- кий/быстрый и т. п.) путь. Но может быть случай, когда граф поиска окажется бесконечным, и тогда этот алгоритм никогда не кончит работу. Имеется класс задач, для которых метод эффективен. Классическим примером является задача «лабиринтного поиска», впервые решенная К. Шенноном. Здесь пространство различных вариантов действия невелико: «повернуть вправо», «влево», «вперед», и решение лежит на некоторой заданной (обычно небольшой) глубине.
Метод полного перебора в глубину. При переборе в глубину (рис. 31) прежде всего следует раскрывать те вершины, которые были построены последними. Первой, а следовательно, и последней раскрываемой вершиной является корневая. Процесс всегда будет
идти по самой левой ветви вершин. Чтобы как-то ограничить перебор, вводится понятие глубины вершины в дереве перебора. Глубина
Рис. 31. Дерево переборов в глубину с указанием бэктрекингаРис. 31. Дерево переборов в глубину с указанием бэктрекингакорня дерева равна нулю, а глубина любой последующей вершины равна единице плюс глубина вершины, непосредственно ей предшествующей. Наибольшую глубину всегда будет иметь та вершина, которая должна быть в этот момент раскрыта. Если образующийся путь оказывается бесполезным, т. е. при заданной глубине раскрытия целевой вершины не получилось, необходимо вернуться в вершину, предшествующую раскрытой, и попытаться еще раз применить к ней операцию раскрытия. И так до тех пор, пока не будет получена целевая вершина.
Рис. 31. Дерево переборов в глубину с указанием бэктрекинга
Рис. 31. Дерево переборов в глубину с указанием бэктрекинга
Возврат осуществляется с помощью указателей. Как только в процессе порождения вершин достигается заданная граничная глубина, раскрывается вершина наибольшей глубины, не превышающая этой границы. Общая схема перебора в глубину показана на рис. 31.
Алгоритм перебора в глубину состоит в следующем.
Раскрывается начальная вершина, соответствующая начальному состоянию.
Раскрывается первая вершина, получаемая в результате раскрытия начальной. Ставится указатель.
Если она раскрывается, то следующей будет раскрываться вновь порожденная вершина. Если вершина не раскрывается, то процесс возвращается в предыдущую вершину
По получении целевой вершины процесс раскрытия заканчивается и по указателям строится путь, ведущий к корню. Соответствующие дугам операторы образуют решение задачи.
Если для заданной глубины раскрытия целевая вершина не
находится, то весь процесс повторяется снова, а в качестве новой вершины рассматривается самая левая из полученных на предыдущем этапе.
Эвристические методы поиска в пространстве состояний. Методы полного перебора гарантируют решение задачи, если
$1$1Рис. 32. Граф состояний задачи коммивояжераРис. 32. Граф состояний задачи коммивояжераоно существует, а при наличии нескольких решений гарантирует оптимальное. Однако на практике эти методы используются для решения лишь небольших по размерности графа состояний задач. Для реальных случаев чаще всего используется дополнительная информация, основанная на предыдущем опыте или полученная на основании теоретических выводов. Такая информация называется эвристической, а организованная в правила — эвристическими правилами или эвристиками. Эвристическая информация носит сугубо специальный характер и может применяться только в рамках данной задачи, в лучшем случае в рамках задач данного класса. Эвристическая информация делает перебор упорядоченным.
$1
$1
Рис. 32. Граф состояний задачи коммивояжера
Рис. 32. Граф состояний задачи коммивояжера
В качестве примера рассмотрим известную задачу о коммивояжере. Бродячий торговец должен побывать в каждом из N городов в
точности по разу и возвратиться в исходный город. Желательно, чтобы маршрут был минимальным по протяженности (рис. 32).
Рис. 33. Фрагмент дерева перебора для задачи коммивояжераРис. 33. Фрагмент дерева перебора для задачи коммивояжераФрагмент пространства состояний представлен на рис. 33. Начинаем перебор в ширину, и на первом же уровне получаем возможные пути разной длины: 2,2,6, 3. Если исходить из эвристики «на каждом шаге выбирать путь минимальной длины», следует сделать шаги Si — — S2 и S2 — S3, затем S3 — S4 или S3 — S5, затем S4 — S5 и т. д. При желании читатель сам может достроить дерево и убедиться, что путь, найденный таким методом, не всегда будет самым коротким.
Рис. 33. Фрагмент дерева перебора для задачи коммивояжера
Рис. 33. Фрагмент дерева перебора для задачи коммивояжера
Более правильной была бы эвристика «выбирать так, чтобы минимальным был суммарный путь». Пояснение этого принципа (принцип Р. Беллмана) не входит в курс ИИ.
Граф полного перебора, включающий все возможные пути коммивояжера, будет содержать (Ж — 1)! вариантов. Впрочем, если отбросить обратные пути, то всего (Ж — 1)!/2. На реальных задачах подобного типа, часто решаемых при создании электронных карт (размесить предатчики пейджинговой связи так, чтобы расстояние от любой точки заданной зоны не превышало X, разместить банкоматы так, чтобы минимизировать путь инкассатора (не обязательно по протяженности) и т.п.), N обычно равняется нескольким десяткам объектов, что для современных ЭВМ создает серьезную проблему
Эвристические алгоритмы чаще всего применяются не для поиска единственно правильного (оптимального решения), а для поиска первого решения, удовлетворяющего некоторому критерию при заданных ограничениях. Так, например, человек, отправляясь в магазин, не ставит себе задачи купить самое дешевое молоко, он готов купить молоко не ниже заданного качества и не дороже некоторой (возможно нечеткой) оценки, и твердо уверен в том, что не станет тратить на покупку более 5 минут (обходить несколько магазинов).
В 60-70 гг. прошлого века разработаны десятки действительно полезных эвристик, не всегда являющихся очевидными и доказуемыми, но позволяющих значительно сократить перебор или получить выигрыш в качестве решения. Их применение возможно не только в продукционной модели. Известен, например, «метод встречной волны» или «двунаправленный перебор от цели к фактам и обратно». Последний метод очень хорош для анализа противоречивости построенных деревьев.
Решение задач методом разбиения на подзадачи. Графическое представление является очень важным для понимания как самой задачи, так и метода ее решения.
По мнению автора, в стандартной теории программирования на языках ИИ имеется существенный пробел, связанный с недостаточным осознанием важности графического (визуального) программирования. Применительно к языкам ИИ слово «визуальный» должно означать совсем не «визуальное проектирование форм и экранов», как в обычных алгоритмических языках, а визуальное проектирование дерева целей программы с последующим автоматическим генерированием ввода. На момент написания книги широко известных систем, реализующих этот принцип, не существовало. В 1997—1999 гг. совместно со студентами специальности ИСЭ и ПОВТ автором был разработан специальный редактор, позволяющий автоматизировать написание программ на Prolog — подобном языке EDL — язык описания путей достижения учебных целей в информационно обучающей среде Chopin (Барнаул, АлтГТУ, 1996-2002).
Графы, подобные представленным выше, являются простейшими с той точки зрения, что отражают взаимосвязи только между объектами предметной области и не отражают взаимосвязи между действиями. Другими словами, на рассмотренных ранее графах никак не заданы отношения между дугами (присоединенными процедурами). Такими отношениями могут быть, например, отношения последовательности и одновременности.
Представление задачи в виде И-ИЛИ графа. Между полученными при разбиении подзадачами могут быть отношения согласованности (одновременности) их решения (отношение «И»), или отношение альтернативности (отношение «ИЛИ»), рис. 34.
деревадереваОтношения типа «И» отмечают дугой (иногда двойной), связывающей ребра графа. Для единообразия представления можно ввести дополнительные (фиктивные) вершины, которые группировали бы подзадачи типа «И» и «ИЛИ» под своей Рис. 34. Фрагмент «И-ИЛИ» собственной родительской вершиной.
дерева
дерева
Таким образом, исходная задача пред
ставляется подзадачами, имеющими альтернативный ИЛИ-характер, а сами подзадачи, в свою очередь, — подзадачами с отношениями типа И. Альтернативные вершины называют «ИЛИ»-вершинами.
Основная цель поиска на «И-ИЛИ» графе — показать разрешимость вершины 8^. Вершина является разрешимой. если выполняется одно из следующих условий:
вершина Si является заключительной (терминальной);
следующие за Si вершины являются вершинами типа «ИЛИ» и при этом хотя бы одна из них разрешима;
следующие за Si вершины являются вершинами типа «И» и при этом каждая из них разрешима.
Решающим графом называется подграф, состоящий из разрешимых вершин с корнем в начальной вершине.
В случае если у вершины «И-ИЛИ» графа, не являющейся заключительной, нет следующих за ней вершин, такая вершина называется неразрешимой.
Порождение новых вершин (редукция задачи) выполняется путем применения обобщенного оператора (т. е. каких-либо операторов из множества допустимых; обозначим, например, g Е G\ Применение оператора g к описанию задачи порождает всю структуру «И-ИЛИ» графа (графа редукции).
Управление системой продукций. При выполнении условия применимости ядер продукции для группы продукций возникает дилемма выбора той продукции, которая в данной ситуации будет активизирована. Решение этой задачи возлагается на систему управления системой продукций. Если ИС реализована на ЭВМ с параллельной архитектурой, то из фронта готовых продукций может выбираться не одна продукция, а столько, сколько параллельных ветвей может одновременно в данной ситуации выполнять ЭВМ. Эта задача характерна не только для систем продукций, но и для всех систем, где необходимо выполнение параллельных процессов. Возможны два способа ее решения: централизованный и децентрализованный. При первом решение об актуализации принимается специальной системой управления, при втором — складывающейся в данный момент ситуацией. Существуют некоторые основные стратегии управления выполнением продукций и поиском.
Достоинства и недостатки продукционной модели. Продукционная модель (все еще) чаще других применяется в промышленных экспертных системах. Она привлекает разработчиков своей наглядностью, высокой модульностью, легкостью внесения дополнений и изменений и простотой механизма логического вывода. Имеется большое число программных средств, позволяющих реализовать продукционный подход:
- языки Prolog, Lisp, LOGO, OPS;
«оболочки» или «пустые» ЭС, а именно EMYCIN, EXSYS, ESISP, ЭКСПЕРТ;
инструментальные системы ПИЭС, СПЭИС и др.
Среди основных достижений советской науки в данной области— программа, автоматически доказывающая теоремы.
Продукционные модели имеют, по крайней мере, два серьезных недостатка. При большом числе продукций становится сложной проверка непротиворечивости системы продукций. Это заставляет при добавлении новых продукций тратить много времени на проверку Системе присуща недетерминированность (неоднозначность выбора выполняемой продукции из фронта активизируемых продукций),
возникают принципиальные трудности при проверке корректности работы системы. Считается, что если в ИС число продукций достигнет тысячи (по другим источникам, полутора тысяч), то мало шансов, что система продукций во всех случаях будет правильно функционировать.
ГЛАВА 6
ФРЕЙМЫ ДЛЯ ПРЕДСТАВЛЕНИЯ ЗНАНИЙ
Проблема представления знаний является ключевой во всех направлениях исследований по искусственному интеллекту, начиная от задач распознавания образов и до задачи понимания естественного языка. Первопричина сложности создания машинной модели мира кроется в многообразии этого мира. Одну из наиболее психологически обоснованных и практически ценных моделей предложил Марвин Мински. В 1974 г. вышла его книга «Фреймы для представления знаний», ставшая в определенном смысле «подведением черты» под работами практиков и крупных теоретиков как в области психологии, так и компьютерного моделирования психики (рис. 35).
Окружающийнас мирОкружающийнас мирПроцессвосприятияПроцессвосприятияПроцессраспознаванияПроцессраспознаваниямышлениямышленияПроцессПроцессz Глаз человекаz Глаз человекаПроцессвоображенияПроцессвоображения
Окружающийнас мир
Окружающийнас мир
Процессвосприятия
Процессвосприятия
Процессраспознавания
Процессраспознавания
мышления
мышления
Процесс
Процесс
z Глаз человека
z Глаз человека
Процессвоображения
Процессвоображения
Рис. 35. Психика с точки зрения теории фреймов
Marvin Minsky — профессор компьютерных наук в Массачусетском технологическом институте, США. Специалист в области искусственного интеллекта, когнитивной психологии, программирования для машины Тьюринга. Работал также в области вычислительной геометрии, вычислительной семантики, машинного восприятия, символического обучения. Привлекался к космическим проектам. Один из основателей робототехники и удаленного управления: лично разработал тактильные и зрительные датчики, механические части первых роботов. В 1951 г. создал одну из первых нейронных сетей. В 1959 г. основал лабораторию ИИ — M.I.T. Много работал над проблемами представления знаний для понимания языков и визуального восприятия. В 70-е гг. создал собственную психологическую теорию интеллекта. Всего опубликовал около 10 книг, каждая из которых имела успех, но наибольший следует признать, видимо, за монографией «Фреймы для представления знаний», 1974 г. Учился в Нью-Йорке, степени получил в Гарварде (1950) и Принстоне (доктор философии, 1954). Одним из преподавателей Марвина был Клод Шеннон — основоположник теории информации и один из первых математиков, работавших в области ИИ. Шеннон, например, изобрел первую программу для игры в шахматы (компьютер MANIAC, Los Alamos, 1956) и электронную мышь для решения задачи лабиринта. Мински и Шеннон — легенды истории вычислительной техники.
В отличие от семантических сетей, разработанных первоначально для узкой задачи анализа текстов и потому охватывающих только отдельные этапы психической деятельности, теория фреймов является достаточно полной. В ней рассматриваются не только процессы мышления (их также рассматривают силлогистика Аристотеля, семантические сети), но и восприятие, распознавание, мышление и воображение (как одна из высоких форм мышления). Истоки теории фреймов лежат, по-видимому, в области гештальт — психологии.
Современный тезис о параллельности мышления («природной» параллельности процессов в мозге человека в силу огромного числа нейронов) в понимании М. Мински не является однозначным. Он признает параллельность за процессами высокого уровня (очень общего, и потому неприменимого к реальности без детализации), оперирующими некоторыми «глубинными структурами». К таким процессам он относит процесс воображения. Мышление и распознавание считает процессами по своей природе последовательными, оговаривая, впрочем, ряд исключений. Логический подход к представлению знаний считает априорно ограниченным и применимым только к учебным задачам.
Создание своей теории М. Мински, работавший тогда над проблемами робототехники, начал с рассмотрения процессов восприятия и распознавания пространственных сцен: куба, комнаты, предметов в комнате. Затем усложнил задачу, добавив движение (робота по комнате). Для этого понадобилось учесть время и динамику сцен, т. е. изменение геометрических образов предметов из-за движения наблюдателя. Необходимость в соблюдении реального времени или хотя бы приближения к нему потребовала введения «ожиданий» — предопределения некоторых элементов знания еще до начала процесса распознавания. В ходе исследования М. Мински пришел к выводу, что процесс распознавания (у человека) гораздо более длителен,
чем мы предполагали, он начинается еще до появления объекта («ожидания») и в принципе не имеет четкого окончания (воплотилось в идею «отсутствия заданий»). Этот процесс по своей природе последователен, поскольку требует детального изучения микроситуаций и их согласования с другими микроситуациями. Далее, «обкатывая»
и подтверждая свою теорию, он рассмотрел процесс повторного распознавания — возвращение робота в комнату, которую тот только что прошел. Здесь М. Мински привел выразительный пример о человеке, который, выйдя за дверь на минуту, обнаружил совершенно 7
иную комнату .
Куб
Поверхность кубаПоверхность кубаСлева вышеВертикальный типПараллелограммСлева вышеВертикальный типПараллелограммРис. 36. Фрейм «Куб»Рис. 36. Фрейм «Куб»
Поверхность куба
Поверхность куба
Слева выше
Вертикальный тип
Параллелограмм
Слева выше
Вертикальный тип
Параллелограмм
Рис. 36. Фрейм «Куб»
Рис. 36. Фрейм «Куб»
Сами же процессы распознавания, мышления и воображения М. Мински представил как типовые операции над фреймами: выбор некоторого фрейма из сети подобных, его заполнение (в том числе пустыми значениями) и переход к новому фрейму (при помощи некоторой связи). Работая над проблемой зрения человекоподобных роботов, он пришел к выводу, что в сознании и подсознании человека существует набор некоторых «главных» фреймов. Для распознавания пространственных сцен он определил «комнату» или более абстрактно «коробку», у которой есть «линия горизонта», «верх», «низ», «право» и «лево». Такую коробку можно вращать (с некоторой точки зрения, т. е. относительно некоторой линии горизонта) без опасения, что стенка, находившаяся справа от заданной, вдруг окажется слева. Представление знаний фреймами позволяет избежать вычисления местоположения предметов при изменении позиции наблюдателя.
Парис. 36, 37, 38 приведены оригинальные фреймы (М. Мински).
Трансформация Невидимая граньТрансформация Невидимая грань\ Квадрат (в пространстве)\ Квадрат (в пространстве)Рис. 37. Процесс трансформации фреймовРис. 37. Процесс трансформации фреймовПри перемещении наблюдателя (относительно объекта) происходит трансформация фреймов (рис. 37). Группа близких фреймов, соответствующая разным позициям наблюдателя, образует сеть.
Трансформация Невидимая грань
Трансформация Невидимая грань
\ Квадрат (в пространстве)
\ Квадрат (в пространстве)
Рис. 37. Процесс трансформации фреймов
Рис. 37. Процесс трансформации фреймов
вправо(зритель)
►
«Фрейм можно представлять себе в виде сети, состоящей из узлов и связей между ними. Верхние уровни фрейма четко определены, поскольку образованы такими понятиями, которые всегда справедливы по отношению к предполагаемой ситуации. На более низких уровнях имеется много особых вершин-терминалов или ячеек, которые должны быть заполнены характерными примерами или данными. Каждым терминалом могут устанавливаться условия, которым должны удовлетворять его задания. Простые условия определяются .маркерами, например, в виде требования, чтобы заданием терминала был какой-либо субъект или предмет подходящих размеров, или указатель на субфрейм определенного типа. Более сложными условиями задаются отношения между понятиями, включенными в различные терминальные вершины. Группы семантически близких друг к другу фреймов объединены в систему фреймов» [14].
Итак, как же работает система фреймов? Человек смотрит на некоторый предмет и сознательно или бессознательно подбирает наиболее близкий из известных ему фреймов. Это называется процессом согласования. Согласование проходит в несколько стадий, останавливаясь, если получается удовлетворительный результат, ко-
гда терминалы фрейма заполняются заданиями, удовлетворяющими ограничениям. В простейшем случае находится фрейм, точно соответствующий ситуации, происходит сопоставление (имеющихся в реальной ситуации терминалов и фреймов, к которым эти терминалы могли бы «подойти»).
Если это невозможно, можно попробовать оправдание, т. е. пояснить, что фрейм подходит, но объект имеет изъяны, например, сломан. Если фрейм снова «не подошел», происходит советование, т. е. выработка четких указаний на то, что делать. И в последнем случае, при полной неудаче делается резюме — отказ от фрейма и четкое указание причины отказа.
По окончании процесса согласования у человека появляется некоторое абстрактное представление о предмете, конкретизированное пока только ожиданиями и ограничениями. Большинство узлов фрейма не определены. Свою работу начинает процесс детализации (конкретизации) — определяются субфреймы, конкретизируются задания. Детализация может столкнуться с рядом непреодолимых трудностей, и тогда активизируется процесс изменения, который в предельном случае способен породить новый фрейм на базе двух предыдущих. В процессе детализации терминалы фрейма полностью заполняются, и если при повторном применении фрейма это вызывает противоречия, активируется процесс обновления. Полученный таким образом экземпляр фрейма будет обладать некоторой ценностью, в зависимости от которой либо будет уничтожен сразу после использования, либо помещен в долговременную память как ценный образец. Последний процесс называется обучением.
Рис. 39. Области широкого применения фреймов
Применительно к различным задачам человек в каждый момент времени имеет различные глобальные системы фреймов (рис. 39), позволяющие ему ориентироваться в пространстве, двигаться по карьерной лестнице, понимать смысл поэзии, искать необходимую ему информацию и др.
Переход от одного фрейма к другому (трансформация), выполняемый с некоторой точки зрения и направленный на достижение согласования, называется процессом управления. Теоретически управление может быть централизованным, когда некоторый суперфрейм (центральный фрейм) управляет процессом заполнения заданий субфреймов. Опять же теоретически управление может быть децентрализованным, когда сначала делается попытка самостоятельно заполнить терминалы субфреймов. Ни один из этих процессов нс может считаться решением задачи управления, потому что его завершение требует взаимодействия двух этих процессов. В самом деле, если Вы распознали некоторый объект как «крыльцо», Вам необходимо присоединить его к надфрейму «дом», что нельзя сделать в рамках фрейма «крыльцо». Распознать все типы возможных крылец в рамках фрейма «дом» тоже невозможно.
Анализ пространственных сцен. При анализе изображений, полученных на фотографической бумаге, на светодиодной матрице глаза робота и т. п., возникает ряд специфических проблем, связанных с измерением расстояний между объектами и различением границ объектов: проблема перспективы (искажения перспективы, перекрытия и заслонения), проблема анализа мерности пространства (2-х мерное или 3-х мерное), проблема отделения объекта от фона. Люди неплохо (но не безошибочно) решают такие задачи (рис. 40). Вам не удается избавиться от ощущения, что на рисунке изображена пирамидка, хотя это не так. Сработал механизм согласования по принципу «оправдание» — «пирамидка сломана».
Рис. 40. «Сломанная Рис. 41. Структура верхнего уровня пирамида?» фрейма «комната»
Другие важные вопросы: «Является ли рисунок трехмерным?», «Можно ли рассмотреть его как набор двухмерных и затем правильно согласовать?», «С чего начинается процесс рассмотрения рисунка?» М. Мински рассмотрел эти вопросы на примере фрейма «комната» (рис. 41).
Заходя в комнату, человек ищет «линию горизонта», относительно которой он затем сможет определить «лево», «право», «верх», «низ» по правилам:
Прямоугольник,Прямоугольник,прямоугольникпрямоугольникРис. 42. Открытая форточка или окно неправильной формы?Рис. 42. Открытая форточка или окно неправильной формы?граница е является горизонтальной линией;
Прямоугольник,
Прямоугольник,
прямоугольник
прямоугольник
Рис. 42. Открытая форточка или окно неправильной формы?
Рис. 42. Открытая форточка или окно неправильной формы?
граница е расположена ниже уровня глаз;
- граница е разделяет пол и стену.
Дальнейшее рассмотрение стен происходит обособленно, но при необходимости активизируется и фрейм «комната» (рис. 42, 43). Рассмотрение прямоугольника, расположенного не то на стене, не то перпендикулярно стене, невозможно без рассмотрения фрейма «комната». Что это могло бы быть? Открытое окно? Рисунок на стене?
Ответ на этот вопрос мог бы быть получен путем трансформаций — перехода к другой точке зрения. Наблюдатель поменяет позицию, и проекции стен изменятся (рис. 43). Неизвестный объект
Рис. 43. Движение робота по комнатеНаполним комнату вещами. Возникает проблема заслонений — изменение геометрии объектов при движении по комнате нс будет подчиняться только законам проекции. Постоянно будут возникать новые предметы, которых мы не видели раньше12. Теоретически проблема разрешима путем рассмотрения локальных групп предметов, т. е. достаточно обособленных, таких как, например, стол и стул, стоящие посреди комнаты. Мы легко восстанавливаем недостающие проекции, поскольку имеем такие фреймы в памяти. Сложнее, если стол и стул стоят в углублении стены, тогда решение невозможноРис. 43. Движение робота по комнатеНаполним комнату вещами. Возникает проблема заслонений — изменение геометрии объектов при движении по комнате нс будет подчиняться только законам проекции. Постоянно будут возникать новые предметы, которых мы не видели раньше12. Теоретически проблема разрешима путем рассмотрения локальных групп предметов, т. е. достаточно обособленных, таких как, например, стол и стул, стоящие посреди комнаты. Мы легко восстанавливаем недостающие проекции, поскольку имеем такие фреймы в памяти. Сложнее, если стол и стул стоят в углублении стены, тогда решение невозможнопри этом должен будет подчиниться законам преобразования одной из стен, следовательно, он ей параллелен (например, лежит на ней).
Рис. 43. Движение робота по комнате
Наполним комнату вещами. Возникает проблема заслонений — изменение геометрии объектов при движении по комнате нс будет подчиняться только законам проекции. Постоянно будут возникать новые предметы, которых мы не видели раньше12. Теоретически проблема разрешима путем рассмотрения локальных групп предметов, т. е. достаточно обособленных, таких как, например, стол и стул, стоящие посреди комнаты. Мы легко восстанавливаем недостающие проекции, поскольку имеем такие фреймы в памяти. Сложнее, если стол и стул стоят в углублении стены, тогда решение невозможно
Рис. 43. Движение робота по комнате
Наполним комнату вещами. Возникает проблема заслонений — изменение геометрии объектов при движении по комнате нс будет подчиняться только законам проекции. Постоянно будут возникать новые предметы, которых мы не видели раньше12. Теоретически проблема разрешима путем рассмотрения локальных групп предметов, т. е. достаточно обособленных, таких как, например, стол и стул, стоящие посреди комнаты. Мы легко восстанавливаем недостающие проекции, поскольку имеем такие фреймы в памяти. Сложнее, если стол и стул стоят в углублении стены, тогда решение невозможно
без использования глобальной системы фреймов. Терминалы такой системы должны соответствовать отдельным элементам внутреннего представления пространства сцены, а трансформации — определять выявленные законы перспективы, согласно которым одни элементы по-разному заслоняют другие с различных точек наблюдения. Решение проблемы заслонений открывает перспективы к моделированию воображения.
Понимание смысла предложения. Логическая модель не позволяет анализировать смысл, поэтому в принципе отказывается это делать. Теория фреймов позволяет моделировать как форму (синтаксис), так и смысл (семантику) предложений. Одной из основных проблем при анализе смысла предложения (автоматический перевод, поиск ошибок в тексте и т. и.) является проблема «замыкания». При анализе короткой группы простых предложений с четко определенными терминами задача анализа грамматики в значительной мере эквивалентна задаче анализа смысла предложения. Однако при нарастании числа предложений отчетливо видна разница: «Джуди собирается подарить Мартину воздушного змея, однако зная, что у него уже есть такой, опасается, что придется отнести его обратно в магазин». Кто уже есть у Мартина? Кого придется отнести в магазин? Путем просто подстановки текстовых строк «он», «его» разумно ответить на вопросы не удастся. Необходима «глубинная структура», которая «замкнет» местоимение «него» на «Мартин» и местоимение «его» на «змей». При этом часто возникает необходимость в невидимых объектах. Волк обвинил ягненка в том, что тот «замутил воду». Доказать противоречивость этого высказывания невозможно без определения фрейма «течение» и фрейма «щепка», относительно которых можно получить противоречие «нельзя замутить воду выше себя по течению».
Изучение иностранных языков невозможно без так называемой «языковой догадки» — способности угадывать смысл новых слов по контексту или звучанию. У некоторых людей она поразительно развита. Переводчики часто угадывают речь на несколько предложений вперед (по смыслу) и практически всегда окончание фразы дословно. Это возможно только в рамках некоторой темы и ограниченного круга лиц-фигурантов предложения. Для автоматического перевода используют многоуровневые сети фреймов, состоящие из поверхностных синтаксических, семантических, тематических и повествовательных фреймов.
Задачи слушания и понимания речи являются, вообще говоря, разными по своей природе. В первом случае происходит пассивное заполнение терминалов некоторого фрейма (видение), во втором —
осмысление (согласование — активная форма). Замыкание происходит по-разному. В рамках активной формы оно происходит в рамках некоторого сценария (табл. 8).
Таблица 8
Фрейм сценарий
Сценарий: поход в ресторан
Роли: посетитель, официантка, шеф, кассир Цель: получить пищу, чтобы утолить голод
Сцена 1. Вход
Глаза направить туда, где есть пустые столы
Выбрать, где сесть
Направиться к столу, сесть
Сцена II. Заказ
Получить меню
Прочитать меню
Решить, что хочешь заказать
Сделать заказ официантке
Сцена III. Еда
Получить пищу Съесть пищу
Сцена IV. Уход
Попросить счет, получить чек Направиться к кассиру Заплатить деньги
Выйти из ресторана
Для читателя не должно составить трудности восстановить внешний вид графа «поход в ресторан» по приведенному описанию.
В каждом сценарии средства выполнения действий могут варьироваться по обстоятельствам. Например, в сцене II заказ можно сделать письменно, устно и даже (в другой стране при незнания языка) жестами. В сцене IV выплата денег может быть осуществлена кассиру, официанту или словами «Включите в мой счет». Возможно также, что обычная последовательность действий может нарушаться. Имеется по крайней мере три характерных случая такого нарушения. Первый — это отклонение, которое представляет собой прерывание последовательности действий сценария другим сценарием. Другие два случая называются препятствием и ошибкой. В принципе после каждого элементарного действия могут возникнуть препятствия и ошибки, поэтому в сценарий вводятся различные наборы вопросов типа «а что если... », ответ на которые необходимо получать после каждого элементарного действия. При положительном ответе на один из них в сценарии предусматриваются новые действия, устраняющие препятствия и ошибки. Например, в сцене II, если официантка не замечает посетителя, он попытается встретиться с ней взглядом или окликнуть ее.
Таким образом, сценарий — не просто цепь событий, а скорее связанная каузальная цепочка действий. Он может разветвляться на
множество возможных путей, которые сходятся в особо характерных для сценария точках — элементарных действиях. Для сценария в ресторане такими действиями являются «прием пищи» и «уплата денег». Для того чтобы знать, когда пользоваться сценарием, нужны заголовки. Эти заголовки определяют обстоятельства, при которых обращаются к данному сценарию.
Практическая реализация фреймовой модели. На практике наибольшее распространение модель, основанная на фреймах, получила в объектно-ориентированном программировании и теории объектных баз данных. Современное понятие объекта языка программирования довольно точно соответствует классическому понятию фрейма. Основными свойствами фреймов, используемыми в современных языках, являются: инкапсуляция, наследование и полиморфизм объектов.
Инкапсуляция — единство данных и методов в рамках объекта.
Наследование — способность объекта пользоваться методами и данными, определенными в рамках одного из его предков.
Полиморфизм — способность объекта в разные моменты времени вести себя по-разному, то как объект своего типа, то как объект типа любого из предков.
Различают фреймы-образцы (прототипы, абстрактные классы), хранящиеся в базе знаний, и фреймы-экземпляры (объекты), которые создаются для отображения реальных ситуаций на основе поступающих данных. Для простоты поиска нужного фрейма их типизируют:
фреймы-структуры (матрица сканера, конструкция дома);
фреймы-роли (операционист, покупатель, директор); фреймы-сценарии (поход в ресторан, день рождения).
Записывают фреймы в виде таблиц (см. табл. 9, 10, И).
Таблица 9
Имя фрейма: абстрактный технический объект
Имя слота
Значение слота
Присоединенная процедура
Тип слота
Тип объекта
Технический
Нет
АКО
Положение
X = 20; У = 20; Z = 50
Двигаться
То же
Назначение
Перемещение массы в пространстве
Нет
То же
В сети фреймов понятие «абстрактный легковой автомобиль» наследует свойства фреймов «абстрактный технический объект» и
Таблица 10
Имя фрейма: абстрактный автомобиль
Имя слота
Значение слота
Присоединенная процедура
Тип слота
Предок
Абстрактный технический объект
Нет
АКО
Положение
X = 20; У = 20; Z = 50
Ездить
То же
Назначение
Перемещение массы в пространстве
Нет
То же
Ограничение скорости
120 км/час
Нет
То же
Таблица И
Имя фрейма: абстрактный легковой автомобиль
Имя слота
Значение слота
Присоединенная процедура
Тип слота
Предок
Абстрактный автомобиль
Нет
АКО
Положение
X = 20; Y = W,Z = 50
Ездить
То же
Назначение
Перемещение пассажиров
Грузить
То же
Ограничение скорости
120 км/час
Нет
То же
«абстрактный автомобиль», которые находятся на более высоком уровне иерархии. На вопрос: «Способен ли автомобиль перемещаться в пространстве?» следует ответ: «Да», так как этим свойством обладает класс-предок. Наследование свойств может быть частичным, как свойство «назначение».
Область применения объектного программирования для решения интеллектуальных задач очень широка. С теми или иными затратами модель пригодна для решения любых интеллектуальных задач (решение которых в принципе возможно). Наиболее выраженной областью эффективного применения модели являются сложные недетерминированные процессы, т. е. такие, исход которых зависит от взаимодействия большого и очень большого числа различных компонент, объектов, условий, которые, в свою очередь, могут вести себя по-разному, в зависимости от сложившейся на момент ситуации. Особенность моделирования таких ситуаций именно на основе фреймовой модели состоит в том, что процесс можно «проиграть в реальном времени», а не последовательно, как это пришлось бы делать при помощи, например, правил продукций.
В качестве примера рассмотрим задачу о проектировании безопасной дорожной развязки: «Требуется спроектировать геометрию и размеры пересечения двух дорог, находящегося на выезде из города,
таким образом, чтобы наиболее вероятное количество столкновений автомобилей в год не превышало заданное. Параметры пересекающихся дорог — ширина, покрытие, разрешенный и реальный скоростной режимы, сведения о потоке автомобилей и др. — известны».
Инженеры-проектировщики предложили три варианта развязки (рис. 44). В первом случае строится классический перекресток. Основная забота о безопасности движения возлагается на самих водителей. При полном соблюдении ими скоростного режима и знака «Уступи дорогу» столкновения возможны только по причине неисправности техники или наличия непредвиденных помех (например, коров на дороге). Априорно проектировщики оценили опасность такого решения как «удовлетворительно».
Рис. 44. Варианты дорожной развязки
Во втором случае предполагается, что за счет правильного выбора угла примыкания и наличия полосы разгона водители смогут при необходимости «уходить от прямых столкновений». Далее по трассе предполагается строительство кольцевой развязки. Разработчики оценили степень безопасности также на «удовлетворительно», а стоимость решения как «высокую».
Третий вариант предполагает строительство моста над одной из дорог. Разработчики оценили последний вариант как «самый безопасный, хотя и дорогой» и сочли его предпочтительным.
Модельные испытания на компьютере включали следующие шаги.
Выбор из БЗ необходимых фреймов-образцов: «корова», «лошадь», «москвич 412», «волга 3110», «тойота ленд круизер», «запорожец 1974 г. выпуска» и др.
На заданную геометрию развязки были помещены указанные фреймы, исходя из условий:
соблюдения правил движения/слабого соблюдения правил движения;
благоприятных/неблагоприятных погодных условий;
хорошего/плохого технического состояния транспортных средств.
Фреймам отсылается сообщение «начать моделирование», которое достигает их одновременно. Каждый фрейм начинает вести себя некоторым образом: автомобили движутся с некоторой скоростью, коровы внезапно перебегают дорогу, птицы пролетают перед машинами и пугают водителей. В результате достаточно продолжительного моделирования ситуация приходит к некоторому почти стабильному состоянию, которое мы, скорее всего, и будем наблюдать в реальной жизни. На последнем этапе с модели снимают статистические характеристики: количество аварий в сутки, реальная пропускная способность ит. д.
Проведенные статистические испытания показали, что при полном соблюдении правил ДД и отличном техническом состоянии наивысшие характеристики безопасности и пропускной способности имеет вариант 3.
При полном соблюдении правил ДД и плохом техническом состоянии наивысшие характеристики безопасности имеет вариант 1.
Вариант 2 имеет более высокую (по сравнению с вариантом 1) пропускную способность, но безопасность движения сильно зависит от скорости движения, при превышении порога в 60 км/ч вариант 2 приводит к большему (по сравнению с вариантом 1) количеству аварий.
Принимая во внимание тот факт, что в данной местности основной автомобильный парк имеет возраст более 8 лет и представлен, в основном, низкоскоростными автомобилями, следует рекомендовать к строительству вариант 2.
Фреймовая модель имеет ряд безусловных достоинств. В первую очередь следует сказать, что это едва ли не единственная глубинная модель, хорошо обоснованная теоретически. Ее практическая реализация — построение микромиров — позволяет сосредоточиться на свойствах и поведении участников микромира, предоставив им самим организовать свое взаимодействие на основе правил, привычек, сценариев и просто случайностей. Благодаря этим замечательным свойствам, фреймовая модель позволяет значительно отодвинуть тот предел применимости по размерности системы, который имеет каждая модель (см., например, правила продукций).
Фреймовая модель позволяет хорошо систематизировать иерархию объектов реального мира, справляясь даже с задачами численной таксономии, за счет введения абстрактных классов. Модель реализована во многих языках программирования и специальных языках представления знаний (FRL — Frame Representation
Language), успешно использована в ряде известных экспертных систем: ANALYST, МОДИС и др.
К недостаткам модели следует отнести, по-видимому, некоторые затруднения, возникающие при обмене большими порциями данных между двумя объектами. Собственно, фрейм в классическом виде, описанный М. Мински, вообще не предполагает никакого обмена (см. проблему отказа от неправильно подобранного фрейма с сохранением значений терминалов для их последующего использования с другим фреймом).
ГЛАВА 7СЕМАНТИЧЕСКИЕ СЕТИДЛЯ ПРЕДСТАВЛЕНИЯ ЗНАНИЙ
Термин «семантическая (смысловая) сеть» (или «концепция слов») возник в 1968-69 гг. в работах Р. Куиллиана. Он подразумевает целый класс общих подходов, для которых характерно использование графических схем с узлами, соединенными дугами (графов). Особенность состоит в том, что в теории семантических сетей рассматриваются не только графы-деревья, но циклические и полносвязные графы. Кроме того отдельно и особо исследуются возможные типы отношений (традиционные: АКО — a kind of, ISA, has part и ряд новых).
Первоначально семантические сети были разработаны для анализа естественных языков и построения психологических моделей человеческой памяти (задача автоматического перевода — положение Аристотеля о том, что «человек мыслит на языке», задача подбора синонимов к заданному слову и др.). На этом этапе считалось, что в предложении есть некая «центральная тема», «раскрутив» которую, машина может «понять» смысл (семантику) предложения (рис. 45).
Рис. 45. «Весенним утром король взял слуг и отправился в лес на конную прогулку»
Семантика — наука, устанавливающая отношения между символами и объектами, которые они обозначают, т. е. наука, определяющая смысл знаков. Семантическая сеть — это ориентированный граф, вершины которого — понятия, а дуги — отношения между ними.
Экспериментальную проверку теоретических положений об устройстве человеческой памяти и организации логического вывода Ж Куиллиан провел совместно с психологом А. Колинз (Allan Collins) в 1969-70 гг. на основе иерархической сети. Для такой сети
КорабльКорабльявляетсяявляетсяОкеанский лайнерОкеанский лайнерявляетсяявляетсяКуин МериКуин МериРис. 46. Иерархическая сеть с использованием отношения «является»Рис. 46. Иерархическая сеть с использованием отношения «является»характерны отношения вида класс — элемент класса; свойство — значение; пример элемента класса (рис. 46, 48).Дальнейшее развитие модели связано с именами Р. Симмонса (Robert Simmons), С. Шапиро (Stuart С. Shapiro, обратил внимание на наличие «отношений разного рода»), Хендрикса (Hendrix, ввел понятие «разделенной сети/partitioned network») и Шенка (Roger С. Schank, ввел понятия «концептуальной зависимости» и «концептуальных примитивов»3).В сетях Р. Симмонса нет строгой иерархии, поскольку он решал несколько другую задачу:характерны отношения вида класс — элемент класса; свойство — значение; пример элемента класса (рис. 46, 48).Дальнейшее развитие модели связано с именами Р. Симмонса (Robert Simmons), С. Шапиро (Stuart С. Shapiro, обратил внимание на наличие «отношений разного рода»), Хендрикса (Hendrix, ввел понятие «разделенной сети/partitioned network») и Шенка (Roger С. Schank, ввел понятия «концептуальной зависимости» и «концептуальных примитивов»3).В сетях Р. Симмонса нет строгой иерархии, поскольку он решал несколько другую задачу:понять значение предложения путем «развертывания/дополнения» глаголов. Т. е. от глагола строил собственную «дополнительнуюпонять значение предложения путем «развертывания/дополнения» глаголов. Т. е. от глагола строил собственную «дополнительнуюсеть», включающую в себя «варианты использования» (cases) данного глагола. Соответственно получена и классификация узлов: Агент, Реципиент4, Объект.сеть», включающую в себя «варианты использования» (cases) данного глагола. Соответственно получена и классификация узлов: Агент, Реципиент4, Объект.
Корабль
Корабль
является
является
Океанский лайнер
Океанский лайнер
является
является
Куин Мери
Куин Мери
Рис. 46. Иерархическая сеть с использованием отношения «является»
Рис. 46. Иерархическая сеть с использованием отношения «является»
характерны отношения вида класс — элемент класса; свойство — значение; пример элемента класса (рис. 46, 48).
Дальнейшее развитие модели связано с именами Р. Симмонса (Robert Simmons), С. Шапиро (Stuart С. Shapiro, обратил внимание на наличие «отношений разного рода»), Хендрикса (Hendrix, ввел понятие «разделенной сети/partitioned network») и Шенка (Roger С. Schank, ввел понятия «концептуальной зависимости» и «концептуальных примитивов»3).
В сетях Р. Симмонса нет строгой иерархии, поскольку он решал несколько другую задачу:
характерны отношения вида класс — элемент класса; свойство — значение; пример элемента класса (рис. 46, 48).
Дальнейшее развитие модели связано с именами Р. Симмонса (Robert Simmons), С. Шапиро (Stuart С. Shapiro, обратил внимание на наличие «отношений разного рода»), Хендрикса (Hendrix, ввел понятие «разделенной сети/partitioned network») и Шенка (Roger С. Schank, ввел понятия «концептуальной зависимости» и «концептуальных примитивов»3).
В сетях Р. Симмонса нет строгой иерархии, поскольку он решал несколько другую задачу:
понять значение предложения путем «развертывания/дополнения» глаголов. Т. е. от глагола строил собственную «дополнительную
понять значение предложения путем «развертывания/дополнения» глаголов. Т. е. от глагола строил собственную «дополнительную
сеть», включающую в себя «варианты использования» (cases) данного глагола. Соответственно получена и классификация узлов: Агент, Реципиент4, Объект.
сеть», включающую в себя «варианты использования» (cases) данного глагола. Соответственно получена и классификация узлов: Агент, Реципиент4, Объект.
Давать
Агент: {Яго, мальчик, Отелло} Реципиент: {Дездемона, Родриго} Объект: {яблоко, цветы, платок}
Узлы в семантической сети обычно соответствуют объектам, концепциям, событиям или понятиям. Дуги могут быть определены разными методами, зависящими от метода представления знаний. Любой фрагмент сети, например одна вершина, две вершины и соединяющие их дуги, называют подсетью (рис. 47, 48). Логический вывод (поиск решения) на семантической сети заключается как раз в том, чтобы найти или сконструировать подсеть, удовлетворяющую некоторым условиям. Для того чтобы формализовать этот процесс, вводят типизацию семантических сетей и затем разрабатывают методы решения для сетей конкретного вида (на основе анализа математических свойств отношений, входящих в сеть).
Сети конкретного вида в совокупности с методами вывода на них иногда называют именами первооткрывателей.
Рис. 47. Представление семантической сетью сложного предложения: «Билл сказал Лауре, что (он) дал Джуди подарок»; подсеть «Билл дает Джуди подарок»Рис. 47. Представление семантической сетью сложного предложения: «Билл сказал Лауре, что (он) дал Джуди подарок»; подсеть «Билл дает Джуди подарок»
Рис. 47. Представление семантической сетью сложного предложения: «Билл сказал Лауре, что (он) дал Джуди подарок»; подсеть «Билл дает Джуди подарок»
Рис. 47. Представление семантической сетью сложного предложения: «Билл сказал Лауре, что (он) дал Джуди подарок»; подсеть «Билл дает Джуди подарок»
кузов
крепится
I^т—л 1 передает^—=^i
I колеса р—Д трансмиссия | двигатель |
Рис. 47. Семантическая сеть «автомобиль»и подсеть «двигатель передает усилие колесам»
Сети различного вида получаются и в зависимости от того, какие ограничения накладывают на вершины и дуги. Если вершины сети не обладают внутренней структурой, то такие сети называют простыми сетями, если вершины обладают внутренней структурой, то такие сети называют иерархическими. Динамические семантические сети (сценарии) — сети с событиями. Одно из основных отличий иерархической сети от простой сети — в возможности разделять сеть на подсети и устанавливать отношения не только между вершинами, но и между подсетями. Различные подсети, существующие в сети, могут быть упорядочены в виде дерева подсетей, вершины которого — подсети, а дуги — отношения видимости. Понятие подсети аналогично понятию скобок в математической нотации, понятие видимости — понятию переменных, находящихся внутри и снаружи скобок.
— Должны соприкасаться —— Должны соприкасаться —Опишем при помощи СС технический объект «Арка» (рис. 49) — перекладина, опирающаяся на 2 опоры, которые не должны соприкасаться друг с другом. Формально эту сеть можно описать так:
— Должны соприкасаться —
— Должны соприкасаться —
(Арка одну_часть_составляет_ опора 1) (Арка одну_часть_составляет_ опора 2) (Арка одну_часть_составляет_ перекладина) (перекладина опираетсяна опора 1) (перекладина опирается_на опора 2) опора 1 не должна касаться опора 2
Опора 1 к Не должны соприкасаться 4 Опора 2
Рис. 49. Семантическая сеть понятия «Арка»
Как видите, описание сети ничем принципиально не отличается от описания деревьев в продукционной модели. Фактически для описания сетей и деревьев используются одни и те же машинные языки. Но вывод на сетях, безусловно, сложнее, более того, многие типы отношений не исследованы и формального алгоритма не существует.
Одна из значительных трудностей для понимания, а следовательно, и возможности логического вывода на сети заключается в том, что пространства предметной области, с которыми приходится иметь дело программам ИИ, часто являются неметрическими, т. е. не удовлетворяют одной из аксиом:
р(п, Ь) = 0 только при а = Ь,
р(а, b) = p(Jp а),
р(а, Ь) < р(а, с) + p(Jp с),
где р — мера (для простоты понимания можно считать, что мера соответствует понятию расстояния между элементами).
В обыденной жизни человек практически всегда имеет дело с метрикой. Мы никогда не задумывались над тем, почему кратчайшим расстоянием между двумя точками следует считать прямую, равноценны ли выражения «2 + 3» и «3 + 2», равен ли объект сам себе?
Обратите внимание на отношение «ведет к». Дорога ведет из пункта А в пункт В. Значит ли это, что она же ведет из пункта В в пункт Л? Некоторое здание на карте города обладает свойством «иметь подъезд для грузовика», значит ли это, что грузовик может подъехать с любой улицы? Нет? Тогда выходит, что одно и то же здание является относительно разных улиц разным? Если некоторого мальчика зовут Миша, значит ли это, что с точки зрения разных людей его зовут по-разному?
Важным является также вопрос об установлении соответствия и взаимно-однозначного соответствия между элементами двух сетей. С математической точки зрения модель семантики является одной из наиболее интересных и сложных. Исследования по этой теме ведутся в основном в математической теории множеств и теории чисел.
Очень полезным свойством, которым могут обладать отношения СС, является транзитивность. Существует «бородатый пример», иллюстрирующий эту пользу
Пример. Рассмотрим предложения «Куин Мери является океанским лайнером» и «Каждый океанский лайнер является кораблем», рис. 46. Используются дуги «является». Поскольку мы знаем свойства дуг, связывающих узлы (отношение «является» -
ISA -транзитивно), мы можем вывести из сети третье утверждение: «Куин Мери является кораблем», хотя оно и не было сформулировано в явном виде.
Отношение «является» и другие (вроде отношения «имеет часть») устанавливают свойство иерархии наследования в сети. Это означает, что элементы более низкого уровня в сети могут наследовать свойства элементов более высокого уровня. Это экономит память, поскольку информацию о сходных узлах не нужно повторять в каждом узле. Вместо этого она может размещаться в одном центральном узле сети. Например, для семантической сети, представляющей корабль, такие его части, как двигательная установка, корпус, котельная, включены один раз на уровне корабля, вместо того чтобы повторяться на более низком уровне иерархии, вроде типа корабля или конкретного корабля. Это позволяет сберечь огромный объем памяти, даже если мы работаем только с сотнями кораблей и их частей. По сети можно затем осуществить поиск, используя знания о смысле отношений, обозначаемых дугами сети, чтобы установить факты вроде «Куин Мери имеет котельную».
Можно ввести несколько классификаций семантических сетей. Например, по количеству типов отношений:
однородные (с единственным типом отношений);
неоднородные (с различными типами отношений).
По типам отношений:
бинарные (в которых отношения связывают два объекта);
п-арные (в которых есть специальные отношения, связывающие более двух понятий, например «треугольник»).
Наиболее часто в семантических сетях используются следующие отношения:
связи типа «часть - целое» («класс - подкласс», «элемент - множество» и т. п.);
функциональные связи (определяемые обычно глаголами «производит», «влияет»,...);
количественные (больше, меньше, равно, ...);
пространственные (далеко от, близко от, за, под, над, ...);
временные (раньше, позже, в течение,...);
атрибутивные связи ( иметь свойство, иметь значение, ...);
логические связи (и, или, не) и др.
Семантические сети являются одним из самых удачных методов представления знаний о предметной области с хорошо установленной таксономией с целью упростить поиск решения задач. Успешно используются в научных работах по естественному языку представления сложных грамматических предложений.
Рассмотрим практические приложения модели.
Патрик Уинстон (Patrick Winston, M.I.T.) создал программу для автоматического создания «концептов» некоторого объекта (рис. 50). Он проиллюстрировал идею «концепта» на примере описания физических структур, таких как арка (рис. 49). Фактически «концепт» — это очень близко к понятию «фрейм», который был представлен М. Мински через 5 лет, с разницей, что не учитывается динамика изменения ситуации, а именно обмен сообщениями и т. п.
азновид-ностьазновид-ностьвремявремяобщиеобщиеособенныеособенныеустойчивыеустойчивыесущность видаразновидность) ^сущность видаразновидность) ^имеет частьюимеет частьювременныевременныепереходныепереходныекласс I включаеткласс I включаетсвойство |—— производитсвойство |—— производитвключает в себявключает в себяобъект I —вовлекает ■имеет свойство Iобъект I —вовлекает ■имеет свойство Iситуация fситуация fимеет частьюимеет частью(причинность изменение(причинность изменение—производит-сущность вида I /—производит-сущность вида I /событиесобытиепредшествуетпредшествует
азновид-
ность
азновид-
ность
время
время
общие
общие
особенные
особенные
устойчивые
устойчивые
сущность вида
разновидность) ^
сущность вида
разновидность) ^
имеет частью
имеет частью
временные
временные
переходные
переходные
класс I включает
класс I включает
свойство |
—— производит
свойство |
—— производит
включает в себя
включает в себя
объект I —вовлекает ■
имеет свойство I
объект I —вовлекает ■
имеет свойство I
ситуация f
ситуация f
имеет частью
имеет частью
(причинность изменение
(причинность изменение
—производит-
сущность вида I /
—производит-
сущность вида I /
событие
событие
предшествует
предшествует
Рис. 50. Двумерный концепт с тремя состояниями (один из возможных вариантов)
Джейм Карбонел (Jaime Carbonell) создал весьма специфичную экспертно-обучающую систему SCHOLAR, предназначенную для изучения географии Южной Америки. Из подобных систем в последствии выросли современные ГИС — географические информационные системы.
Хайдерн создал PLNLP (Programming Language for Natural Language Processing) — язык программирования для обработки естественного языка (задача анализа сходства двух предложений, рис. 47; частный случай — одно предложение является
частью другого). Этот язык используется для работы с большими грамматиками. PLNLP работает по следующим правилам:
с помощью правил декодирования производится синтаксический анализ линейной языковой цепочки и строится сеть;
с помощью правил кодирования сканируется сеть, порождается языковая цепочка или другая трансформированная сеть.
Создан специальный сетевой язык NET.
Созданы широко известные экспертные системы, использующие семантические сети в качестве языка представления знаний — PROSPECTOR, CASNET, TORUS.
Основной недостаток модели — сложность поиска вывода; на семантической сети хорошие математические модели разработаны только для нескольких типов отношений.
ГЛАВА 8
НОВЫЕ МОДЕЛИ ПРЕДСТАВЛЕНИЯ ЗНАНИЙ
Основные модели представления знаний, перечень ценных задач и методы их решения сформировались, в основном, к началу 80-х гг. прошлого века. В развитии теории и практики ИИ наступил некоторый застой, связанный с тем, что дальнейшее совершенствование традиционных моделей не давало качественного скачка.
В начале 90-х гг. философское понимание задач и методов ИИ несколько изменилось, что сразу же привело к появлению ряда новых моделей: критериального языка описания выбора, нейронных сетей, ряда вероятностных моделей. Следует сказать, что далеко не все специалисты по ИИ готовы признать их полноценными моделями для представления знаний, хотя бы в силу того, что эти модели не способны обосновывать свои выводы. Кроме того, «новыми» их можно назвать с большой натяжкой; критериальному языку, например, несколько сот лет.
Итак, новый взгляд на понятие «модель для представления знаний» состоит в том, что имеется в виду некоторая модель, позволяющая получать «хорошие решения». При этом не важно, моделирует ли она способ мышления человека и способна ли пояснять свои 2 ВЫВОДЫ .
Критериальные методы
На практике применение интеллектуальных, нечетких (в первую очередь) моделей часто необходимо для оценки альтернатив и выбора наилучшей в некотором смысле. Необходимость их применения обусловлена большим количеством альтернатив, учитываемых параметров, требованием «проиграть несколько сценариев развития событий»; например, «благоприятный, обычный и наихудший».
Выбор в этом случае может осуществляться осмысленно, на основе учета всех «за» и «против», либо случайным образом (например, по аналогии с кем-то). Следует заметить, что для больших систем логические обоснования, которые способен предоставить человек-
эксперт, не намного надежнее случайного выбора, а часто менее надежны. Это связано, прежде всего, с тем, что человек не способен одновременно удерживать в памяти большое количество фактов, причин, целей, а современные задачи (например, экономические) требуют именно этого.
Предположим, что некоторый служащий в банке принимает решение о кредитовании предприятия, находящегося в неустойчивом положении. В случае, если в кредите будет отказано и предприятие преодолеет трудности самостоятельно, банк не получит прибыль. Если же предприятие разорится, банк понесет убытки. Если кредит будет выдан под значительный залог — предприятие откажется его брать. Достаточно ли интуиции служащего и имеющейся бухгалтерской документации для принятия решения?
Для описания и решения подобных задач создана специальная модель — языки описания выбора. Задачи выбора чрезвычайно многообразны, различны и методы их решения. Прежде всего введем понятия, общие для всех задач выбора.
Задача выбора. Метод критериальной оценки, ранжирования и последующего выбора является, возможно, одним из самых старых методов, применяемых в ИИ.
В самой простой постановке он предполагает сравнение двух альтернатив (бинарное отношение). Например, 3 < 5, 6 Е {3,5,6} и т. п. Подобные отношения были известны задолго до Аристотеля. В данном случае сравнение происходит по одному параметру (критерию). Более сложная ситуация в следующем примере.
Дано: альтернатива А(3, 3) = A(«i, а^ и альтернатива 5(5, 5) = = 5(61,62). Установить вид связывающего их отношения 5, т. е. A R В.
Если придерживаться традиционной точки зрения, то В > А, поскольку 61 > «1 и 62 > 0-2- Однако такое решение не бесспорно, поскольку неясно, что означают «1, «2, 61, 62 и допустимо ли устанавливать на множествах {«1, 61} и {«2, 62} отношения строгого порядка («<», «>»). Предположим, что альтернативы А и В имеют значения «Иванов» и «Петров» соответственно. Параметры {«i, 61} и {0,2,62} — количество неудовлетворительных оценок в первом и втором семестрах соответственно. Кто из них лучший студент? Очевидно, А = В — они оба отвратительные студенты. Если же предположить, что параметры имеют смысл «количество ошибок в очень сложном студенческом чертеже», то, очевидно, А > В (А лучше В). Как видите, решение зависит от точки зрения («нуля измерения») и самого вида отношения R.
Сложный случай — сравнение более чем двух альтернатив (попарно), либо определение отношения, связывающего более двух аргументов. Отношение R в этом случае может оказаться тернарным (например, R — треугольник связывает стороны а. Ь, с) или п-арным (семья). Число п может оказаться конечным, счетным или континуальным. Так, например, Вам может быть поставлена задача «выбрать турбазу для отпуска», исходя из критериев «уровень комфорта» и «цены». В случае, если для выбора Вы воспользуетесь справочником баз Горного Алтая, множество альтернатив будет конечно. Если же предпочтете «дикий туризм», а в качестве «базы» будете рассматривать «места для кемпинга» — континуальным. В самом деле, между любыми двумя кемпингами всегда можно найти чудное местечко. Очевидно также, что принимать решение, в каком кемпинге остановиться, еще до самой поездки не имеет смысла. Равно, впрочем, как и чрезмерно дотошно оценивать каждый кемпинг. Тот, в котором Вы остановитесь, все равно окажется хуже того, на который наткнетесь следующим утром. Случайный выбор (с некоторым законом распределения случайной величины) — вполне разумное решение для континуального множества альтернатив.
Таким образом, критериальная задача выбора характеризуется: наличием многомерного пространства параметров; описанием желательных областей в этом пространстве («идеальных точек» или, если невозможно задать точку, «уровней притязаний»); мерой (критерием выбора), которая позволяет определить, насколько избранная альтернатива близка к желательной; набором пороговых значений (т. е. таких предельных различий в мерах между двумя альтернативами, которые позволяют обоснованно сказать, что альтернативы действительно различны с некоторой точки зрения); а также математическими методами, применяемыми для определения наиболее выгодного направления движения в пространстве состояний (рис. 51, 52, 53).
Тот же самый абзац другими словами: имеется некоторая функция /(ж1,Ж2,...,жп) от в независимых переменных. Необходимо найти шах {/(жщ ^2,. . . , жп)} при наличии ограничений одного из видов, представленных в табл. 12.
Здесь все индексы являются целыми числами 1, 2, 3 ...
То же самое можно наглядно показать несколькими частными геометрическими примерами на множестве двух параметров Ж1 и Ж2 (рис. 51,52, 53).
Рис. 51. Линейный критерий на множестве линейных непрерывных ограничений
Рис. 52. Линейный критерий на невыпуклом непрерывном множестве нелинейно ограниченных альтернатив
Допустимые решения
Рис. 53. Линейный критерий на дискретном множестве альтернатив
Таблица 12
Виды ограничений в критериальных задачах
Линейные ограничения на непрерывном множестве значений параметров Хг
Нелинейные ограничения на непрерывном множестве значений параметров Хг
Линейные или нелинейные ограничения на дискретном множестве значений параметров Хг
СоТ ХТТ Ci
С2Т Х2Т Сз
Оп+2 Т Хп Т Оп+3
H'lm^'l + О'2т*Е2 У • • • • • • 3” ЯптЖп Ь1
^1тЖ1 + Я2ш^'2 + • • - • • • 3” Япт^п ^ Ьт
Со Т Xi Т (71
С2 Т Х2 С3
(7п+2 Т Хп Т (7п+з aim'll 3™tt2m^2 4” • • • . . . + anmx^ 6i
dlm^i1 4”tt2m^22•
... 3” anmxn Г: bm
Xi Е {Жп, Ж12, . . • , Ж1Д
Xn G {Жц, Ж12, . . . , Ж1^}
Линейные или нелинейные ограничения
Вы видите, что задачи критериального принятия решений фактически являются задачами линейного или нелинейного математического программирования. Частным случаем любой из этих задач может оказаться, например, задача целочисленного программирования, когда требуется найти такую наилучшую альтернативу, оценки Ж1 и Ж2 которой — целые числа.
В общем случае метод критериального выбора (принятия решения) предполагает следующие шаги.
Постановка очень общей, концептуальной задачи: «Что нужно сделать» или «Что нужно в конце и что есть сейчас». Те. определение цели (целей) принятия решения.
Генерация альтернатив. На этом этапе применяются так называемые экспертные методы: «мозговой штурм», «синектика», «матрицы изобретений» и др.
Выбор критериев оценки степени достижения цели (целей).
Выбор точки зрения: «стремление к идеалу» или «минимизация убытков».
Выбор вида оценочной функции для каждого критерия и вида свертки (для всех в целом).
Определение «пороговых значений» для каждого критерия (шкала «хорошо — плохо»).
Оценка альтернатив по выбранным критериям.
Измерение значений параметров каждой альтернативы.
Учет предыстории (для случая многократного выбора).
Вычисление значения критерия.
Ранжирование альтернатив по полученным оценкам степени достижения цели (целей).
Отбрасывание явно худших альтернатив.
Выбор одной альтернативы из множества недоминирующих (например, случайным образом) или возврат к п. 1.
Еще одним очень важным моментом является характеристика выпуклости (вогнутости) всех рассматриваемых функций и замкнутость множеств допустимых значений. Эти определения даются в функциональном анализе и повторять их мы не будем.
Вернемся к рассмотренным шагам решения критериальной задачи. Шаг 1 подробно описан в первых лекциях. Второй пункт достаточно обширен, а его рассмотрение нс входит в курс ИИ. Выбор критериев (шаг 3) в значительной мере является искусством. Все критериальные методы (принятия решений) можно разделить на методы «идеальной точки» и «компромиссного программирования». В первом случае все альтернативы рассматриваются в многомерном пространстве своих признаков, причем существует «идеальная точка» (рис. 54). Оценка любой из альтернатив получается как расстояние до идеальной точки. Выигрывает та, у которой это расстояние минимально. Иногда, напротив, рассматривают не «меру близости», а «меру удаленности». В этом случае могут, например, создать «абсолютно нежелательную точку» и определять расстояния до нее (от каждой из альтернатив). Очевидно, наилучшей будет альтернатива, наиболее удаленная от «плохой» точки. Многомерные пространства, допускающие введение понятий «плохой — хороший», «сильный — слабый» и т.п. для указания желательного направления развития событий, называют «пространствами с семантической метрикой» или «семантическими пространствами». Впервые широкую известность рассмотрение таких пространств приобрело после концептуальной книги Чарльза Осгуда и Суси «Измерение значений». Эта книга — своеобразный пролог к появившейся через 10 лет теории семантических сетей. В книге рассматриваются конструкции английского
высокийвысокийРис. 55. Доминирующие и несравнимые альтернативыРис. 55. Доминирующие и несравнимые альтернативыидеалидеал""Ален Делон""Ален Делонязыка и психологические структуры, пригодные для их представления и понимания. Лингвисты считают книгу своей, психологи своей, а специалисты по ИИ точно уверены, что она написана для них.
высокий
высокий
Рис. 55. Доминирующие и несравнимые альтернативы
Рис. 55. Доминирующие и несравнимые альтернативы
идеал
идеал
""Ален Делон
""Ален Делон
Рис. 54. Идеальная точка и реальнаяальтернатива (точка зрения Маши)
Итак, построение некоторого пространства (рис. 55), в котором мы далее намерены принимать решения, предполагает определение целей (желаемого состояния, идеальной точки), направления изменения свойств пространства, а также определение вида меры и пороговых значений. В качестве меры в простейшем случае может использоваться простая разность (сумма разностей). Так, например, «Вася неидеален с мерой (180—170) + (очень красивый — симпатичный)». Как видите, попытка введения даже самой простой меры тут же наталкивается на проблему наличия измерительных шкал разного вида. Количество возможных типов шкал, конечно, неплохо изучено в математической теории измерений. Далее посвятим шкалам отдельный параграф и продолжим рассмотрение мер. С геометрической точки зрения следовало бы рассматривать Евклидову меру (расстояние) А = {(ж — Ж1)2 + (г/ — ?/i)2 + (^ — ^^i)2 + (/^/i)2}1//2« Пример намеренно приведен для 4-х мерного пространства, чтобы показать, что показатели степени не изменяются и в пространстве выше 2-х или 3-х мерного. В случае, если вместо вторых степеней мы будем использовать степень р, то при р 0 получим классическую балльную оценку (применяется, например, в школах), при которой любое отклонение реального состояния от
идеального засчитывается за 1; при р сх>, напротив, получим ситуацию, когда малые отклонения (меньше 1) нивелируются, в то время как значительные отклонения увеличиваются (фактически, получим оператор нахождения максимального элемента). В результате правильного выбора степени для конкретной задачи мы получаем меры, которые «хорошо растаскивают решения», т. е. позволяют сформировать множество явно доминирующих альтернатив (альтернатива 3) и множество недоминирующих (относительно друг друга) альтернатив (1 и 2). При неправильном выборе меры получим проблему с альтернативой 4, которая, очевидно, хуже 3, но насколько? Является ли это отклонение достаточным, чтобы предпочесть альтернативу 4 альтернативе 3?
И все же практически при любом виде меры рано или поздно придется выбирать между 1 и 2. Но как? Геометрически это возможно методом поворота осей и проецирования точек на оси. Очевидно, что альтернатива 1 предпочтительнее 2, причем значительно (проекция на ось абсцисс). Математически операция поворота эквивалентна умножению на некоторый коэффициент (вес параметра). Такие меры называют взвешенными: Д = {wi(x — xi)p + т^у — у^У +—
очевидно, что Егщ = 1. Набор весов еще называют «структурой предпочтений эксперта», а конкретный вид меры — сверткой. Более строго ту же формулу следовало бы записать △ = {шх(ж - жх)р/«1 + мз^у - УхУ 1°^ + ^з(^ - и)р/«з + ш4(/ - — /1)р/^4}1//р- Здесь коэффициенты ап служат для нормирования шкал, чтобы Вы не начали складывать, например, рубли с долларами. Однако эта формула тоже не универсальна, поскольку для ряда шкал необходимо не только привести масштаб «к единому», но и «подвинуть начало отсчета».
Еще более сложной ситуация становится в случае многократного принятия решения. Рассмотрим пример классификационной задачи постановки медицинского диагноза по одному параметру с учетом времени (рис. 56).
Рис. 56. Непрерывные температурные кривые бронхита и пневмонии
Воспаление легких (предположим, что оно началось вследствие переохлаждения и упадка сил) в общем случае характеризуется резким повышением температуры и ухудшением самочувствия. Если не предпринимать мер, то температура растет и состояние ухудшается примерно неделю, после чего наступает кризис, т. е. температура резко поднимается и затем падает. В начале прошлого века, до создания антибиотиков, пациент либо переживал кризис и шел на поправку, либо умирал. При бронхите же температурная кривая ведет себя иначе — состояние пациента стабильное, температура невысокая или даже пониженная. Небольшой подъем наблюдается обычно в начале заболевания. Необходимо поставить диагноз больному на второй день. Очевидно, это нельзя сделать без учета первого дня. Если в первый день у больного наблюдалось небольшое повышение температуры, то предпочтительнее бронхит, иначе — пневмония. Но достаточно ли двух точек для окончательного решения? А сколько достаточно? И что делать, если точки не будут «точно ложиться на модельную кривую»? Учтите, что в данном примере учитывается только один параметр, а для более-менее реальной диагностики необходимо минимум 7-8 параметров.
Однозначных ответов на поставленные вопросы Вы не найдете в современной литературе по принятию решений. В классических книгах на эту тему вообще редко ставится задача рассмотрения явления в динамике. Те методы, которые Вы встретите, будут касаться в основном однократного принятия решения. Задачи медицинской диагностики в современных условиях редко рассматривают критериальными методами. Чаще всего предпочитают использовать нейронные сети в силу их объективной эффективности (далее посвятим нейросетям параграф). Но нейронная сеть в значительной мере наследует все перечисленные проблемы. Она действительно эффективна для вычисления весов, но это не решает проблему. Предположим, что Вы вычислили веса и рассчитали взвешенную разницу между пациентом и каждой из модельных кривых на отрезке 1—14 дней. Очень может оказаться, что ни одна из альтернатив не будет доминировать, поскольку начало болезни будет «более похоже» на одну модель, а «окончание» на другую. Тогда Вам придется вводить
веса для дней болезни, делить графики на «стадии» (начало, течение, выздоровление) и вводить «свертку сверток». В конечном счете Вы рискуете получить гигантский суперкритерий с непонятной логикой построения .
Автор, конечно, не может оспаривать очень большой опыт разработчиков такой системы как MYCIN, которые рассматривали десятки или даже сотни параметров, но по личному опыту решения задач, аналогичных приведенной, советует ограничиться 7-8 важными параметрами. При дальнейшем увеличении количества параметров точность диагностирования не будет значительно изменяться. Важно просто выбрать значимые параметры. Собственно, критериальная задача — это и есть задача обоснованного выбора весов, при котором значимые параметры получают «большие» веса.
Одним из самых важных следствий развития критериальных методов, появившихся в 60-х гг., является понятие о «разделяющем пространстве/гиперплоскости/функции». Разделяющая гиперплоскость (она же решающее правило) — это некоторая геометрическая интерпретация, появившаяся изначально для задачи дифференциальной медицинской диагностики. Т. е. это функция такого вида, что она позволяет однозначно сказать, принадлежит ли исследуемая точка А^ах^ «2,^ • • • ? ^п) некоторой замкнутой области или нет (см. рис. 83). Вид и сама возможность построения такой функции сильно зависят от конфигурации тех самых областей, которые нужно разделить, и их взаимного положения. Если между областями можно провести некоторую прямую так, что все точки разных областей окажутся по разные стороны от прямой, то говорят о «линейной разделимости». Первые перцептроны (прообраз нейронных сетей) были основаны на этом принципе.
Задача становится более сложной, если одна из областей выпуклая, а вторая вогнутая (см. рис. 85). Еще более задача усложняется, если области пересекаются, например представляют собой два облака. Одно облако — результат горения леса, второе — испарения с поверхности реки. Необходимо найти границы их взаимного проникновения. Очевидно, решить такую задачу с помощью одной разделяющей прямой невозможно. Необходима либо некоторая кривая, либо ее кусочная аппроксимация на основе касательных.
3 В 60-х гг. были популярны исследования, направленные на выявление некоторого наилучшего (для некоторой области) суперкритерия. Есть целые монографии, в которых приводятся десятки критериев с результатами их применения, например, к задаче медицинской диагностики. Общий результат в том, что никакого суперкритерия найти не удалось.
В данном случае вид разделяющей функции становится нелинейным второго, третьего (в максимуме обычно до 4-го) порядка. Еще большее усложнение задачи может быть связано с тем, что непрерывная по своей физической природе функция (картинка на сетчатке глаза) может быть представлена дискретным приближением (битовой матрицей на сетчатке робота). Основные математические теоремы о возможностях распознавания на основе такой гиперплоскости были доказаны в теории нейронных сетей М. Мински и С. Пей- рептом.
Теперь кратко повторим ряд важных моментов, относящихся к рассмотренным вопросам, далее обсудим измерительные шкалы (8.1.2) и в конце (более подробно) — некоторые из часто применяемых критериальных методов (8.1.3). Итак, следуя приведенной схеме, следует учесть, что
множество альтернатив может быть конечным, счетным или континуальным;
оценка альтернативы может осуществляться сразу по нескольким критериям (каждый из которых, возможно, многомерен), имеющим как количественный, так и качественный характер и измеренным на шкалах разного типа; без приведения шкал к общему виду сворачивать их в суперкритерий нельзя;
режим выбора может быть однократным (разовым) или повторяющимся (например, допускающим обучение на опыте);
последствия выбора могут быть известны заранее (выбор в условиях определенности), иметь вероятностный характер, когда известны только вероятности возможных исходов после сделанного выбора (выбор в условиях риска), или иметь неоднозначный исход, не допускающий введения вероятностей (выбор в условиях неопределенности).
Различные сочетания перечисленных вариантов приводят к разным математическим задачам выбора, изученным не в одинаковой степени.
8.1.2. Измерительные шкалы. Сравнение альтернатив происходит на основе измерения характеристик объекта. Измерение — это алгоритмическая операция, которая данному наблюдаемому состоя-
нию объекта, процесса, явления ставит в соответствие определенное обозначение: число, номер или символ.
Важно отметить, что допустимые в дальнейшем способы обработки полученных данных сильно зависят от способа, которым они были измерены. Одним из наиболее важных моментов в измерении является тип измерительной шкалы. В теории измерений различают 6 основных типов шкал (в порядке возрастания мощности): номинальная, порядковая, интервальная, циклическая, отношений, абсолютная.
Номинальная шкала (шкала наименований, классификационная шкала) позволяет рассматривать объекты, про любые два состояния которых можно сказать только различимы они или нет, и только такие алгоритмы измерения, которые различным состояниям ставят в соответствие разные обозначения, а неразличимым — одинаковые обозначения.
Либо А = В, либо А ф В.Если А = В, то В = А.Либо А = В, либо А ф В.Если А = В, то В = А.Здесь символ = обозначает отношение эквивалентности; в том случае, когда Л и В — числа, это
Либо А = В, либо А ф В.
Если А = В, то В = А.
Либо А = В, либо А ф В.
Если А = В, то В = А.
3. Если Л = В ^В = С, то А = С. знак равенства.
Для обозначения классов на шкале используются слова, символы, цифры, их различные комбинации (например, шкала цветов — красный, оранжевый, желтый и т. д.); порядок их следования не имеет значения (рис. 57).
Ира Катя Мажа Катя Ира МажаООО000
Рис. 57. Эквивалентные номинальные шкалы
Над обозначениями на номинальной шкале, даже если эти обозначения числовые, нельзя производить арифметические операции, а только операцию проверки их совпадения. С результатами операции проверки совпадения можно выполнять более сложные преобразования: считать количество совпадений, вычислять и сравнивать относительные частоты, выполнять статистические процедуры и др.
П р и м е р. В начале некоторого эксперимента вы нумеруете испытуемых. В конце упорядочиваете испытуемых по полученному результату. В общем случае никакой взаимосвязи между номером в начале и рангом в конце не будет.
К вот шкала номеров квартир в доме позволяет установить некоторые закономерности. Бессмысленно делить номер 80 на 40, но можно отнять и сделать вывод о взаимном расположении квартир. Поэтому в зависимости от интерпретации такую шкалу можно отнести и к номинальной, и к порядковой. Рассмотрим шкалу цифр на дисковом телефоне. Какова она? Как видите, на практике бывает достаточно трудно понять, что некоторая шкала является номинальной.
Дальнейшим усилением номинальной шкалы является порядковая (ординальная, ранговая) шкала, которая позволяет некоторым образом сравнить классы, указать порядок следования квантификаторов.
В зависимости от того, могут ли совпадать квантификаторы на шкале, различают шкалы сильного (простого) порядка, слабого и частичного порядков. Дополнительно к аксиомам номинальной шкалы должны выполняться следующие аксиомы.
Сильный порядок: если А > В, то В < А; если А > В и В > С, то А > С.Сильный порядок: если А > В, то В < А; если А > В и В > С, то А > С.Слабый порядок: Л В, либо А Г В; если В и В С, то А С.Слабый порядок: Л В, либо А Г В; если В и В С, то А С.Частичный порядок:Частичный порядок:имеются пары классов, несравнимые между собой, т. е. ни Л В, ни В А.имеются пары классов, несравнимые между собой, т. е. ни Л В, ни В А.
Сильный порядок: если А > В, то В < А; если А > В и В > С, то А > С.
Сильный порядок: если А > В, то В < А; если А > В и В > С, то А > С.
Слабый порядок: Л В, либо А Г В; если В и В С, то А С.
Слабый порядок: Л В, либо А Г В; если В и В С, то А С.
Частичный порядок:
Частичный порядок:
имеются пары классов, несравнимые между собой, т. е. ни Л В, ни В А.
имеются пары классов, несравнимые между собой, т. е. ни Л В, ни В А.
Шкалы частичного порядка часто возникают в социологических исследованиях. Например, при изучении покупательского спроса субъект часто не в состоянии оценить, какой именно из двух разнородных товаров ему больше нравится.
Отношение порядка ничего не говорит о дистанции между сравниваемыми классами (см. рис. 58). Порядковые экспериментальные данные, даже если они изображены цифрами, нельзя рассматривать как числа, над ними нельзя выполнять действия, которые приводят к получению разных результатов при преобразовании шкалы, не нарушающем порядка. Например, нельзя считать среднее, делить значение на значение или коэффициент.
Мороженое Конфеты Стрельба в тиреОО'О
Рис. 58. Порядковая шкала предпочтений мальчика Паши
Экспериментально установлено, что Паша откажется сначала от мороженого, а затем и от конфет ради того, чтобы попасть в тир, но совершенно нельзя утверждать, что ради тира он откажется от двух коробок конфет или четырех порций мороженого.
Практически все психологические шкалы являются порядковыми. Если результаты некоторого психологического теста для двух субъектов равны «1 и «2, то можно говорить о том, что первый субъект «более способен» к некоторой деятельности, либо «менее способен», либо «способности примерно одинаковы», но совершенно ошибочно говорить, что первый субъект «в a^la^ раз более способен». Напротив, если один штангист поднял 100 кг, а другой — 200 кг, то вполне справедливо заявить, что «второй в 2 раза сильнее», однако здесь речь идет о другом типе шкалы.
Стремление получить возможность «оперировать с числами» приводит к дальнейшему усилению до интервальной шкалы, для которой известны расстояния между любыми двумя квантификаторами. Расстояния выражают в единицах, одинаковых по всей длине шкалы. Длина интервала не зависит от места его расположения на шкале. Арифметические операции допустимы над длинами интервалов, но не над самими значениями квантификаторов, поскольку «0» в таких шкалах не единственен.
Приме р. Воду нагрели от 9° до 18°С. Можно ли утверждать, что температура воды увеличилась в два раза? Те же самые измерения по шкале Фаренгейта дали бы результат 37°- 42°Е (Связь между шкалами Фаренгейта и Цельсия выражается формулой F= 5/9°С+32).
Некоторые величины по своей физической природе либо не имеют абсолютного нуля, либо допускают свободу выбора в установлении начала отсчета и поэтому измеряются в интервальных шкалах: температура, время, высота местности. В статистике центральные моменты (в том числе дисперсия) имеют объективный физический смысл, а начальные моменты (в том числе среднее значение) являются относительными наряду с началом отсчета.
Приведем пример типичной ошибки в коде интеллектуальной программы, которая следит за состоянием здоровья больного. Программа должна реагировать на «существенное изменение» температуры тела. Возникла ситуация 40°С при норме 36,6°С. Программа вычислила относительное отклонение (1 — 36,6/40) = 1 — 0,915 = = 0,085; поскольку отклонение «явно малое», никаких действий предпринято не было.
Правильные вычисления выглядели бы так:
1 - |40 - 36,6|/|36,6 — 43| = 1 — 0,45 = 0,55.
Здесь 43° С — известный на сегодня предел температуры тела живого человека.
Шкала отношений является первой шкалой, над значениями квантификаторов которой допустимо выполнять арифметические действия «как над числами». Должна удовлетворять (дополнительно) аксиомам аддитивности:
если А = Р и В > 0, то А + В > Р;
А + В = В + А;
если А = Р и В = Q, то А + В = Р + Q;
(Д + В) + С = А + ^В + С).
Примерами величин, природа которых соответствует шкале отношений, являются длина, вес, деньги.
На ряде измерительных приборов шкала замкнута (разностная, циклическая, периодическая шкала). В этом случае речь идет об интервальной шкале с некоторым периодом р = х + пЬ, п = 0, 1, 2,...
Последней и самой «сильной» является абсолютная шкала. Она имеет абсолютный нуль и абсолютную единицу. Является единственной, уникальной. Важной особенностью абсолютной шкалы по сравнению со всеми остальными является отвлеченность (безразмер- ность) и абсолютность ее единицы. Указанная особенность позволяет производить над показаниями абсолютной шкалы такие операции, которые недопустимы для показаний других шкал, употреблять эти показания в качестве показателя степени и аргумента логарифма. Такой шкалой является числовая ось.
В таблице 13 собраны основные сведения о рассмотренных шкалах. Можно сказать, что чем сильнее шкала, с помощью которой производятся измерения, тем больше сведений об изучаемом объекте, явлении, процессе дают измерения. Естественно стремление каж-
Название шкалы
Определяющее отношение
Эквивалентное преобразование шкал
Допустимые операции над данными
Вторичная обработка данных
номинальная
эквивалентность
перестановка наименований
вычисление символа
Кронекера
вычисление относительных частот и операции над ними
порядковая
эквивалентность предпочтение
монотонное (не изменяющее порядка)
вычисление символа Кронекера и ранга
вычисление относительных частот и выборочных квантилей над ними, и операции над ними
интервальная
эквивалентность
предпочтение
сохранение отношения интервалов
линейное преобразование у = ах + Ь, а > 0, b Е R
вычисление символа Кронекера, ранга и интервалов (разностей между наблюдениями)
арифметические действия над интервалами
циклическая
эквивалентность, предпочтение, сохранение отношения интервалов, периодичность
сдвиг у = х + nb, b = const, п = 0,1,2 . . .
то же, что для интервальной
то же, что для интервальной
отношений
эквивалентность, предпочтение, сохранение отношения интервалов, периодичность, сохранение отношения двух значений
растяжение у = ах, а > 0
все арифметические операции
любая подходящая обработка
абсолютная
эквивалентность, предпочтение, сохранение отношения интервалов, периодичность, сохранение отношения двух значений, абсолютная и безразмерная единица, абсолютный ноль
шкала уникальна
все арифметические операции; использование в качестве показателя степени, основания и аргумента логарифма
любаянеобходимая
обработка
Типы измерительных шкал
Таблица 13
8.1. Критериальные .методы
дого исследователя провести измерения с помощью более сильной шкалы. При этом необходимо, чтобы исследователь точно мог доказать, что шкала именно того типа, каким он ее полагает. В противном случае результаты исследования могут оказаться ошибочными. Иногда исходные наблюдения делают на слабой шкале, а затем за счет введения каких-либо допущений переходят к более сильной. Полученные в результате обработки результаты исследования зачастую еще раз преобразуют, теперь уже для третьего типа шкалы, обычно с целью обеспечения их наглядности. Например, в результате принятия решения по 7-8 параметрам строят трехмерное изображение.
Приведем пример шуточного исследования, с акцентом на типы шкал. Маша и Катя собираются на день рождения к Паше. Что подарить?
Генерируются варианты: 1 — фотоаппарат, 2 — бутылка коньяка, 3 — сервиз, 4 — набор CD-дисков. В ходе выдвижения альтернативы не оцениваются и не критикуются, в противном случае «мы вообще ничего не придумаем». Совокупность альтернатив образует номинальную шкалу, предпочтения на которой неизвестны (рис. 59). Маша и Катя проводят опрос экспертов — специалистов по Паше. Что из перечисленного больше любит Паша? На номинальной шкале измеряются частоты. За первую и вторую альтернативу высказались по 2 человека, за третью — четверо, шестеро за последнюю.
1234оооо1234оооо4646Рис. 59. Простейший частотный анализ на номинальной шкалеРис. 59. Простейший частотный анализ на номинальной шкале
1234
оооо
1234
оооо
46
46
Рис. 59. Простейший частотный анализ на номинальной шкале
Рис. 59. Простейший частотный анализ на номинальной шкале
Маша и Катя строят порядковую шкалу предпочтений Паши (рис. 60).
фотоаппаратсервизнабор CD-дисков
ООО коньяк
Рис. 60. Шкала слабого порядка
Катя и Маша задумываются о затратах, которые им придется понести — они оценивают варианты в некоторой валюте. Любительский фотоаппарат стоит меньше, чем хороший коньяк, следовательно, порядковая шкала становится «сильной», а с введением денежных обозначений ее тип изменяется на относительный (рис. 61).
фотоаппаратсервизнабор CD-дисков
ООо
30$50$150$
Рис. 61. Шкала отношений
Теперь у девочек есть две шкалы, одна из которых характеризует предпочтения Паши, другая — предпочтения Маши и Кати (рис. 62). Оценка вариантов с точки зрения Паши выражена в некоторых абстрактных единицах (шкала «приведена к 0» — от оценок вычтено 2). Строго говоря, приписывать квантификаторам «0, 2 и 4» смысл чисел нельзя, но мы сделаем такое допущение в целях простоты примера. Для этого приведем интервальную шкалу к относительной.
«хорошо»
Точка зрения девочек
«ПЛОХО»
30$
50$
150$
«хорошо»
«плохо»
4 Точка зрения Паши 2
Рис. 62. Приведение шкалы к «0»
0
С точки зрения Паши набор дисков в 2 раза предпочтительнее сервиза. Маша и Катя полагают сервиз в 3 раза предпочтительнее набора CD! Конечно, фотоаппарат в 5 раз предпочтительнее, но он может вызвать неудовольствие Паши (рис. 63).
«хорошо»
Точка зрения девочек
«ПЛОХО»
30$
50$
150$
«плохо»
«хорошо»
0 Точка зрения Паши 24
Рис. 63. Сопоставление предпочтений Паши и предпочтений девочек
Таким образом, девочки сходятся на альтернативе 50$, оценка Паши — 2.
Решение задачи было бы более интересным (но более длинным), если бы мы рассмотрели еще несколько альтернатив.
Очевидно, что последний шаг — принятие окончательного решения в примере — остался несколько недосказанным. Это связано с большим разнообразием методов, которые могли бы быть применены.
Некоторые методики принятия решения. В первую очередь следует отметить, что выбор может быть обусловлен одним критерием (или множеством критериев, свернутых в один), либо совокупностью критериев (несводимых к одному). Результат выбора может «быть как можно лучше», «соответствовать заданному уровню», «быть не хуже некоторого заданного уровня». Результат выбора может быть четко определен или неясен. Если удается установить «явно лучшую» с некоторой точки зрения альтернативу, то ее называют доминирующей. Оставшиеся варианты, в свою очередь, называют множеством «явно плохих альтернатив». В случае, если среди нескольких вариантов нельзя указать ни лучших, ни худших (например, q^X^ = (3,5), q^X^ = (2,6) — оценки двух альтернатив по двум критериям), говорят о множестве несравнимых (не доминирующих) альтернатив или множестве Парето.
Сложившиеся методики осуществления критериального выбора называют «техниками» или «методами программирования». Говорят, например, о целевом программировании и компромиссном программировании.
Эффективность решений, принимаемых при помощи критериальных методов, зависит от предметной области. Существуют области человеческой деятельности, в которых критериальный выбор «показывает хорошие результаты». Например, эколого-экономические задачи, задачи упорядочивания объектов и ряд других. Эффект от применения критериальных методов иногда можно оценить, например, через процент «правильных» решений: «Компьютер ставил диагноз больным. Из 100 больных у 65 этот диагноз подтвердился». По мнению автора, на практике наилучшим (для критериального языка вообще) является показатель в 70%.
Рассмотрим метод главного критерия. В случае, если альтернативы (среди которых следует выбрать наилучшую в некотором смысле) оценены одним критерием или несколькими (но такими что имеется один «наиважнейший», а влиянием остальных можно пренебречь) либо существует возможность свернуть все критерии в один «суперкритерий», тогда логично осуществить выбор по принципу «самый
лучший»:
ж опт = arg [max q (ж)], ж Е X.
Здесь X — множество рассматриваемых альтернатив, д(ж) — значение критерия.
В случае, если среди критериев существует один (или группа, которая может быть свернута в один) самый важный, но пренебречь остальными нельзя (равно как и свернуть их в один), говорят о максимизации главного критерия с условием, что дополнительные критерии остаются на заданных им уровнях (условная максимизация):
жопт = arg [maxgo(ж)\qi(ж) С Ci, i = 1, 2, 3, . . . , р\, ж Е X.
Метод уступок (разновидность условной максимизации) заключается в том, что мы определяем некоторую небольшую величину, на которую мы готовы «поступиться» главным критерием. За счет этой «уступки» мы пытаемся улучшить значения второстепенных критериев. Второстепенные критерии могут быть упорядочены по важности.
Поиск альтернативы с заданными свойствами применяется для выбора любой альтернативы, значения частных критериев которой лежат в заданном диапазоне. В частном случае можно получить пустую альтернативу.
В случае условной максимизации или поиска альтернативы с заданными свойствами часто говорят об «уровнях притязаний». Эти уровни, диапазоны изменения значения критерия (критериев), как раз и задают нам варианты развития событий: «наихудший», «наилучший», «компромиссный» и т. и. Очевидно, что если уровни притязаний разных критериев пересекутся, то мы получим идеальную точку. Геометрически уровни притязаний очень похожи на линии равного уровня на картах.
Ниже приведена общая схема (рис. 64) некоторых наиболее часто применяемых методов [38].
Учебный пример многокритериального принятия решений. Рассмотрим пример постановки медицинского диагноза при помощи критериальных методов. Все данные, приводимые в примере, получены на реальных больных.
Имеются данные наблюдений за пациентом (табл. 14), предположительно болеющим одной из разновидностей желтухи (либо здоровым). Колонки таблицы содержат результаты лабораторных исследований, например, характеристики анализа крови, мочи и т. п. Первая ячейка — номер дня наблюдения за больным. Расшифровка названий не приводится, поскольку с точки зрения ИИ она ничего не добавит
Рис. 64. Некоторые наиболее важные критериальные методыРис. 64. Некоторые наиболее важные критериальные методы
Рис. 64. Некоторые наиболее важные критериальные методы
Рис. 64. Некоторые наиболее важные критериальные методы
к постановке задачи — инженер по знаниям не разбирается в медицине. Интерес представляет только сам тип измерительной шкалы. Определить тип придется самостоятельно, исходя из принимаемых значений. Если Вы попытаетесь поговорить об этом с доктором, то, пожалуй, Вы его напугаете.
Таблица 14 Исходные данные для диагностики
I 3 I 0,00 I 95,00 I 50,00 | 1,50 | 0,50 | 1,00 | 1,00 | 1,00 | 1,90 | 50,40 |
При наблюдениях за здоровыми людьми по тем же параметрам получена таблица 15.
Таблица 15
I 3 I 0,00 I 4,80 I 10,00 I 0,40 | 0,30 | 3,60 | 0,00 | 0,00 | 0,00 | 0,00 |
Таблица 16Таблица 16Паренхиматозная желтухаПаренхиматозная желтухаНаблюдения за пациентами, заведомо больными одной из разновидностей желтухи, дали следующие результаты.
Таблица 16
Таблица 16
Паренхиматозная желтуха
Паренхиматозная желтуха
| 3 I 0 I 10,52 I 28,00 I 1,30 | 2,00 | 4,69 | 0,00 | 0,00 | 1,00 | 0,00 |
Таблица 17Механическая желтуха
I 3 I 1.00 I 18,48 I 10,80 I 0,48 | 0,40 | 19,18 | 1,00 | 1,00 | 0,00 | 0,00 |
Таблица 18
Гемолитическая желтуха
| 3 I 0 I 4,80 I 30,00 I 0,30 | 0,40 | 3,60 | 0,00 | 0,00 | 0,00 | 1,00 |
Изучение медицинской литературы и общение с экспертами позволили установить «существенные отклонения» для перечисленных параметров.
Таблица 19 Гемолитическая желтуха
|3|0,10|0,3016,0010,0110,0110,001 неизвестно | неизвестно | неизвестно|неизвестно |
Таблица 20
Здоровье
1310,4010,4010,4010,4010,4010,4010,4010,4010,4010,00]
Таблица 21 Механическая желтуха
3 0,10 8,00 2,00 0,03 0,01 3,20 неизвестно неизвестно неизвестно неизвестно
Таблица 22 Паренхиматозная желтуха
13 10,1010,401 5,0010,1210,2010,401 неизвестно | неизвестно | неизвестно | неизвестно |
В качестве меры удаленности (реальной альтернативы от модели болезни) выберем функцию
D _(^модели — ^пациента)/(2 X ^допустимое отклонение )L
здесь г = 1,. . . , 10 — номера параметра; гщ — вес г-го параметра.
Конкретный вид «разделяющей функции» сильно влияет на правильность решения. К каждой задаче он подбирается индивидуально и часто имеет довольно сложный и объемный вид. Функцию D практически всегда можно определить несколькими различными способами.
^(пациент - паренхиматозная желтуха) 366,7,
^(пациент - механическая желтуха) = 290,2 (наиболее близкая альтернатива);
D (пациент - гемолитическая желтуха)470,0,
^(пациент ™ здоровье) 418.
Важным также является вопрос о выборе весов. В данном расчете веса положены равными, что на практике встречается редко. Если
читатель попытается повторить расчет, то столкнется с ситуацией «деление на 0» или «деление на неизвестность». Реальные данные всегда содержат подобные сюрпризы, их разрешение — работа инженера по знаниям. Например, «О» заменяют некоторым малым значением (в данном примере 0,1). Вторая ситуация («деление на неизвестность») хуже. При полной невозможности установить это самое «неизвестное значение» его заменяют некоторой переменной. Значения функции D получаются в виде «число/неизвестное». По таким оценкам также можно принять решение.
В данном примере пациент действительно болел механической желтухой.
Получив набор оценок (в данном случае расстояний), необходимо выбрать наилучшую (в данном случае наименее удаленную). В ряде случаев это проблематично, поскольку оценки могут быть достаточно близкими. Вводят специальные «пороговые значения» в абсолютных цифрах или в процентах от оценки. Например, оценки 366,7 и 290,2 различаются на 21%. Часто используют «пороги» в 1%, 5%, 10% и даже 50%. Очевидно, что на оценку сильно влияют наборы весов «w^», поэтому их и подбирают таким образом, чтобы «попасть» в требуемое пороговое значение. Этот процесс называют обучением. Набор весов «гщ» называют структурой предпочтения (эксперта или предметной области). Рассмотрение структуры предпочтений, полученной в результате обучения (а не опроса экспертов), само по себе интересно, поскольку позволяет судить о степени важности тех или иных параметров для принятия окончательного решения.
Один из наиболее интересных примеров практического применения аппарата многокритериального принятия решений автор наблюдал на лекциях австрийского профессора Г. П. Нахтнебела, прочитанных в 1999—2001 гг. в Алтайском государственном техническом университете имени И.И. Ползунова. Особое удивление вызывает тот факт, что методы ИИ, в частности критериальные, в его стране не являются «игрушкой для ученых», а широко применяются на практике, обеспечивают объективную, не зависящую от политики оценку общественно значимых проектов.
Итак, на реке Эрлаф в Нижней Австрии (1994) находилась малая гидроэлектростанция обводного типа. Т. е. станция была поставлена не на самой реке, а на обводном канале длиной 1100 м, при этом обводимая часть реки составила 2200 м. Река являлась, как принято
сейчас говорить, «экологически чистой» и в ней с избытком водилась форель. Хозяева станции, преследуя чисто экономические выгоды, стремились как можно больше воды забрать в обводной канал. При этом обводимая секция реки в летние месяцы вообще пересыхала (рис. 65). В гидрологии в качестве меры забора воды используется величина попуска (стока) ниже плотины, которая измеряется в м3/с. Законодательные акты о природопользовании как раз и устанавливают минимальный попуск, который обеспечивает сохранение экосистемы. Проблема в том, что для больших и малых рек эта величина будет разной.Хозяева станции не нарушали закон, они держали попуск в 0,05 м3/с (что присейчас говорить, «экологически чистой» и в ней с избытком водилась форель. Хозяева станции, преследуя чисто экономические выгоды, стремились как можно больше воды забрать в обводной канал. При этом обводимая секция реки в летние месяцы вообще пересыхала (рис. 65). В гидрологии в качестве меры забора воды используется величина попуска (стока) ниже плотины, которая измеряется в м3/с. Законодательные акты о природопользовании как раз и устанавливают минимальный попуск, который обеспечивает сохранение экосистемы. Проблема в том, что для больших и малых рек эта величина будет разной.Хозяева станции не нарушали закон, они держали попуск в 0,05 м3/с (что приs§ иs§ ия о адя о адииИдеальная, но недостижимая точкаИдеальная, но недостижимая точкаИнтересы рыбРис. 65. Идеальная точкаИнтересы рыбРис. 65. Идеальная точка
сейчас говорить, «экологически чистой» и в ней с избытком водилась форель. Хозяева станции, преследуя чисто экономические выгоды, стремились как можно больше воды забрать в обводной канал. При этом обводимая секция реки в летние месяцы вообще пересыхала (рис. 65). В гидрологии в качестве меры забора воды используется величина попуска (стока) ниже плотины, которая измеряется в м3/с. Законодательные акты о природопользовании как раз и устанавливают минимальный попуск, который обеспечивает сохранение экосистемы. Проблема в том, что для больших и малых рек эта величина будет разной.
Хозяева станции не нарушали закон, они держали попуск в 0,05 м3/с (что при
сейчас говорить, «экологически чистой» и в ней с избытком водилась форель. Хозяева станции, преследуя чисто экономические выгоды, стремились как можно больше воды забрать в обводной канал. При этом обводимая секция реки в летние месяцы вообще пересыхала (рис. 65). В гидрологии в качестве меры забора воды используется величина попуска (стока) ниже плотины, которая измеряется в м3/с. Законодательные акты о природопользовании как раз и устанавливают минимальный попуск, который обеспечивает сохранение экосистемы. Проблема в том, что для больших и малых рек эта величина будет разной.
Хозяева станции не нарушали закон, они держали попуск в 0,05 м3/с (что при
s
§ и
s
§ и
я о ад
я о ад
и
и
Идеальная, но недостижимая точка
Идеальная, но недостижимая точка
Интересы рыб
Рис. 65. Идеальная точка
Интересы рыб
Рис. 65. Идеальная точка
водило к деградации экосистемы). Общественность подняла шум, требуя изменить закон. Причем изменить так, чтобы найти разумный компромисс между экологическими и экономическими критериями. К основным экономическим следует отнести рабочую мощность станции и стоимость энергии. К экологическим: температуру воды ниже плотины, скорость течения, глубину ниже плотины, концентрацию растворенного кислорода и др. Очевидно, что критерии являются противоречащими. На основании каждого из рассмотренных параметров были построены уравнения. Ограничениями для задания области допустимых решений послужили известные из биологии, экономики и техники пороговые значения. Например, падение мощности станции ниже некоторого заданного значения вообще лишало смысла ее существование. Далее каждому параметру экспертными методами были назначены веса. В качестве суперкритерия использовали взвешенное Евклидово расстояние. Далее предстояло определить, при какой величине попуска удастся полностью сохранить экосистему реки и максимизировать выработку электроэнергии. Сложность задачи состояла в том, что река не постоянна. В разные сезоны и в разную погоду исходные данные для расчетов получаются разными. И, следовательно, пришлось провести не один расчет, а целую серию — 300. В результате было установлено, что минимальная величина попуска ниже плотины должна составить около 2м3/с. Закон был изменен, и хозяева станций выполнили эти требования.
Вероятностные методы
Широкий класс подходов использует в качестве меры близости альтернатив вероятностные оценки. В настоящее время методы, позволяющие оценить вероятные исходы того или иного решения, его правильность, исследуют в рамках так называемой теории рисков. Теория носит прикладной характер, поэтому обычно говорят о рисках в предметной области, например в природопользовании. В математическом плане это обыкновенная теория вероятностей, причем в ее самых простых проявлениях. Суть теории рисков составляют не математические, а алгоритмические процедуры, связанные с особенностями измерения и вероятностной обработки данных в конкретной предметной области, а также интерпретации полученных результатов.
Рассмотрим простейший, но полезный и практически ценный пример применения методов теории вероятностей к задаче постановки медицинского диагноза по данным предыдущего параграфа. В качестве «решающего правила» возьмем формулу Байеса:
Р(А/В^ = [Р(А) х Р^В/АМ^ГА) х Р^В/А)^.
Формула условной вероятности позволяет вычислить вероятность события «А» при условии, что произошло событие «В», т. е. Р(А/В) на основании имеющихся до опыта (априорных) вероятностей Р(Л) и Р(В/Ау Суммирование в знаменателе формулы проводится по всем гипотезам в полной группе событий.
Пример 1. Необходимо вычислить вероятность того, что пациент болеет ангиной при условии, что наблюдается повышение температуры. Если пациент не болеет ангиной, то он болеет «не ангиной», например здоров.
Р (Ангина / Температура) =
Р (Ангина) х Р (Температура/Ангина)
Р (Ангина) х Р (Температура/Ангина) + Р (Не ангина) х Р (Температура/Не ангина)
Априорные вероятности Р(Ангина) и Р(Температура/Ангина) могут быть получены из анализа медицинской статистики для данной местности. Если, согласно записям в поликлинике, из 10000 больных в этот период года 7000 перенесли ангину, то априорная вероятность
F(Ангина) ^0,7. Изучение медицинской литературы позволит установить также и Р(Температура/Ангина) ^ 0,8.
Р(Не ангина) ^ 0,3. Несколько сложнее с Р(Температура/Не ангина), в худшем случае придется оценить экспертно. Аналогично
получим оценки для знаменателя.
Пример 2. Под событием «В» будем понимать не одно событие, а целую группу событий, происходящих одновременно. Т. е. какова вероятность, что пациент болен паренхиматозной желтухой (он болен либо одной из 3-х желтух, либо здоров) при наличии симптомов «температура», «изменение цвета кожных покровов», «боли в боку» и т. п.? Максимально упрощая, можно считать, что вероятность синдрома равна произведению вероятностей отдельных
симптомов.
Таким образом, для данных из критериального примера имеем:
F(Ai) = Р^ = В(Аз) = Р(А4), т. е. полагаем все болезни равновероятными (А^ — имена болезней: паренхиматозная, механическая и гемолитическая желтухи, здоровье).
Р(ВЬВ2,..., В10/Л1) = Р(В1/Л1) xP(B2Mi)x. ..хР(В10/Ар очевидно, это даже «весьма заниженная» оценка.
Под вероятностями Р^Вх) Ах\ P^B^j Ах\ . . . понимаем вероятность для симптома Si, В^ и т. д. отклониться от «нормального для данной болезни» значения. Например, отклонение параметра «тем
Рис. 66. Исходные данные могут быть распределены нормальноРис. 66. Исходные данные могут быть распределены нормальнопература» от нормального для здоровья значения 36,6°С до значения 42°С дает значение Р(42°С/здоров) 0, отклонение же Р(35,5°С/здоров) 0,8 (весьма вероятно, что здоров). Оценка в 0,8 может быть получена из анализа медицинской ста-
Рис. 66. Исходные данные могут быть распределены нормально
Рис. 66. Исходные данные могут быть распределены нормально
тистики для данного региона. Возможно, например, полагать, что
допустимые значения симптома распределены нормально вокруг некоторого среднего (рис. 66).
Исследования по определению параметров (вида распределения, математического ожидания, дисперсии и др.) такого распределения для разнообразных симптомов и различных заболеваний широко велись в Советском Союзе в 60-х гг. прошлого века.
Применительно к рассмотренным симптомам (на основе построенных более 3000 распределений) получены оценки (1 — механи-
ческая желтуха, 2 — паренхиматозная, 3 — гемолитическая, 4 — здоров) и сведены в таблицу 23.
Таблица 23
Значения для подстановки в формулу Байеса
Р(0,0/Л8)
Р(95,0/Л^
Р(50,0/Л^
Р(1,50/Л0
Р(0,50/Л0
2 = 1
0,60
0,90
0,20
0,05
0,05
г = 2
0,05
ОДО
0,90
0,85
0,85
г = 3
0,01
0,01
1
0,02
0,02
г = 4
LOO
1
1
0,50
0,70
р(1,оо/лэ
Р(1,00/ЛЭ
р(1,оо/лэ
Р(1,90/ЛЭ
Р(50,4/ЛЭ
П х 1(Г6
0,95
0,60
0,90
0,20
0,01
0,277
0,10
0,15
0,03
0,90
0,30
0,395
0,01
0,01
0,01
0,10
0,60
0
0,50
0,01
0,01
0,01
0,01
0,00175
Р(Л1) = (0,25 х 0,277 х 10 6)/(0,25 х 0,277 х 10 6 + 0,25 х х 0,395 х 10 6 + 0,25 х 0,0 х 10”^ + 0,25 х 0,00175 х 10”6) « 0,41
Р(Л2)«0,58
Р(А3)~0,0
Р(Л4) -0,002
Нейронные сети
Одним из наиболее активно развиваемых сегодня направлений в ИИ являются нейронные сети — модель, представляющая собой в некотором смысле гибрид критериальных, вероятностных и логических методов. Можно также провести аналогию с правилами продукций. Нейронная сеть — это в некотором смысле «числовая запись» правил «если/то».
Развитие теории началось с работ У. Макклоха (W. McCulloch) и У Питтса (W. Pitts), рассматривающих функционирование головного мозга (1943 г.). В 1957 г. психолог Фрэнк Розенблатт (Корнелл, США) создал «персептрон» — электромеханическое устройство, моделирующее глаз улитки и его взаимодействие с мозгом. Модель различала буквы алфавита, но оказалась чувствительна к написанию. Буквы А, А и А для персептрона — три разных знака.
В 1969 г. вышла классическая работа «Персептроны», в которой М. Мински и С. Пейперт (M.LT.) доказали ряд теорем об ограниченных возможностях распознавания с использованием персептрона. Фактически они ввели в ИИ требование строгого математического обоснования используемых методов. Далее начала развиваться современная теория нейросетей, персептроны в классическом виде вышли из применения. В России в настоящий момент сильной считается красноярская школа нейроинформатики (например, Горбань А. И., 1990). Рассмотрение нейросетей в задачу данной работы не входит. Ограничимся историческим примером персептрона.
Рис. 67. Растровое представление буквы «А»Рис. 67. Растровое представление буквы «А»Пример персептрона. Построим персептрон, способный распознавать образы «буква А» и «не буква А» (рис. 67). Веса Wy на первом шаге положим равными 1. Множество значений элементов хij положим состоящим из двух элементов [0,1]. В качестве формулы выберем: F(A, Ж) = = TiXij х wij^ пороговое значение 10. Перцептрон имеет вид Еж^ х 1x^310. Очевидно, что Еж^ х
Рис. 67. Растровое представление буквы «А»
Рис. 67. Растровое представление буквы «А»
х w^j 16. Обучим при помощи образца (см.
рис. 67). Получаем wn = 0, W12 = 1, W13 = 1, W14 = = 0, W21 = 1 и т. д.
Теперь перейдем в режим распознавания и попытаемся предъявить, например, букву «R», изображе
ние которой отличается тем, что точка (1,1) тоже черная (т. е. кодируется как 1). Поскольку неравенство выполняется: Hxij XWij ^ 10, то буква «R» распознана как «А»! Можно, конечно, установить строгое равенство, но тогда мы сами себя лишаем возможности распознавать «А», или «А», или «а» и т. д. Для того чтобы обучить персептрон распознавать еще и «А», очевидно, потребуется пересчитать веса W12, W13, W14 и, возможно, уменьшить пороговое значение. Классическая
Рис. 68. Буква может быть написанапо-разномуРис. 68. Буква может быть написанапо-разномукнига М. Мински и С. Пейперт как раз и посвящена этим вопросам. Применительно к примеру следует поступить следующим образом.
Рис. 68. Буква может быть написана
по-разному
Рис. 68. Буква может быть написана
по-разному
Определить минимальное количество точек, необходимых для однозначной идентификации буквы «А». Очевидно, что для этого понадобится определить, с каким алфавитом (набором символов) в принципе предстоит работать (рис. 68).
Определить особенности, присущие только распознаваемому символу. Например, неизбежной особенность буквы «А» является наличие замкнутой верхней части. А вот наличие «завитушек в основании» не обязательно.
Описать первые два пункта логически, сопоставив каждому из утверждений пункта 2 n-местный предикат вида /(xsp, Xg^ хит^. . .), принимающий значение 1 (истина), если искомый элемент обнаружен, и 0 в противном случае. Индексы здесь — это любые целые числа, причем первый индекс — ширина сетки, второй — высота. Так для распознавания буквы «А» нам понадобятся одноместные, двухместные и трехместные предикаты (рис. 69).
Рис. 69. Два трехместных, один двухместны! и одноместный предикаты
Описать сам персептрон, который теперь приобретет гораздо более длинный и непонятный вид: ЕДж*) х w^ + S/(xj, х^ х х ws + S/(xj, ж^, ж/) х w^ С Q- Здесь буквами ш с индексами обозначены веса предикатов, а за знаком суммы стоят одноместные, двухместные и трехместные предикаты. Пороговое значение Q как раз и задает минимально необходимое число соответствий. Например, предикатов первого порядка должно быть (смотрим на самый первый рисунок) не менее 10, второго — не менее 6, третьего —- 4. Итого Q в самом лучшем случае может иметь значение 20. Можно было описать другие предикаты и получить другие Q. Персептрон в чистом виде чаще всего используется для учебных задач.
В медицине нейроном (рис. 70) называется клетка коры головного мозга. Ее отличительная особенность в том, что, возбуждаясь
Рис. 70. Нелинейный преобразовательРис. 70. Нелинейный преобразовательпод воздействием приходящего по специальным связям (от других нейронов) электрического сигнала, она генерирует собственный сигнал, который передает окружающим и т. д. Через некоторое время наступает процесс торможения — электрическая активность недавно возбудившихся нейронов утихает, в то время как «отдохнувшие» нейроны вновь возбуждаются.
Рис. 70. Нелинейный преобразователь
Рис. 70. Нелинейный преобразователь
На основе исследования карты электрической активности коры головного мозга (электроэнцефалография) можно делать, например, очень приблизительные предположения о роде мыслей, занимающих
в данный момент испытуемого. Известно, что различные доли коры (лобная, затылочная и т. д.) отвечают за различные виды мышления,
разным эмоциональным состояниям соответствуют различные варианты электрической активности. Таким образом, с точки зрения электроэнцефалографии мышление — это процесс изменения электрической активности в различных долях коры мозга.
В современных работах по этой теме, особенно написанных не инженерами, часто встречаются аналогии «искусственный нейрон — нейрон головного мозга». Ряд авторов вообще прямо указывают, что единственное отличие нейросети от мозга человека — в количестве нейронов. По их мнению, как только удастся создать сеть с таким же количеством нейронов, получится искусственный мозг. В этой связи очень полезно вспомнить введение к книге «Персептроны» (М. Мински и С. Пайперт). В те времена подобные мысли высказывались относительно способностей персептрона распознавать, а М. Мински и С. Пайперт показали, что в силу логических законов ряд геометрических фигур в принципе не может быть распознан этой моделью.
По мнению автора данной работы, используя нейронные сети, конечно, не следует забывать о том, что они создавались как «аналог клетки мозга», но и не следует придавать этой аналогии большого значения. Нейронную сеть следует рассматривать, прежде всего, как систему приближенных математических уравнений. Решая конкретную задачу с помощью сети, либо конструируя новую сеть, следует думать именно о математическом обосновании полученной системы, а уж никак не уповать на «способность самоорганизации сети».
С математической точки зрения нейрон — это нелинейный преобразователь, функция, на вход которой подано некоторое значение
(возбуждающий сигнал), а с выхода снято другое значение (величина возбуждения), связанное с входным некоторым сложным образом или даже вероятностно:
Y(X, ИЗ = w0 + У^ /(w« х ЖХ ^ = С2,. . . , п;
здесь Xi — значения информационных входов, — веса, причем wo — смещение.
Функционирует эта схема следующим образом. В сумматоре вычисляется возбуждение, полученное нейроном (wq + J2 f(wi х х Xi)). На основе этой величины преобразующая функция вычисляет возбуждение самого нейрона — Y. Конкретный вид преобразующей функции подбирается с учетом специфики решаемой задачи. Если выбрать такую функцию, что Y будет принимать только значения О или 1, то, очевидно, получим правила продукций, только в несколько непривычной записи.
Промежуточные (скрытые) слоиПромежуточные (скрытые) слоиПрактически полезных видов преобразующей функции не так много. При объединении множества нейронов в сеть различают «слои» (рис. 71), связь между которыми может быть однонаправленной или с «обратным распространением». Очевидна аналогия с фронтом «готовых продукций» при управлении перебором правил в продукционной модели.
Промежуточные (скрытые) слои
Промежуточные (скрытые) слои
Рис. 71. Многослойная нейронная сетьРис. 71. Многослойная нейронная сетьСравнениес требуемымизначениямии коррекция
Рис. 71. Многослойная нейронная сеть
Рис. 71. Многослойная нейронная сеть
Под обучением сети понимается итеративный процесс вычисления весов Wi, позволяющих получать выходные значения на сети с заданной точностью. Очевидно, чтобы вычислить такие веса, необходимо иметь тестовые наборы значений входов и соотвествующих им выходов. Такие наборы используются и в других моделях и назы-
ваются обучающей выборкой. Изменение значений весов может происходить с некоторым заданным шагом, либо по некоторому закону распределения случайной величины. Изменение происходит в направлении градиента в пространстве весов. Очевидно, при этом возможны две ситуации, когда через несколько шагов расчета сеть пришла в устойчивое состояние (веса w^ шаг от шага больше не изменяются), либо «зациклилась».
Практическое применение имеют также однослойные сети, например, полносвязная сеть Хопфилда, в которой все нейроны связаны друг с другом.
Теоретически нейронная сеть с обратным распространением (сигнала между слоями) позволяет аппроксимировать любую функцию с любой точностью. На практике это возможно, если количество независимых входов X не превышает нескольких тысяч.
Если вектор выходных значений представляет собой сжатый или искаженный образ входного вектора, то говорят об автоассоциатив- ной нейронной сети, в противном случае — о гетероассоциативной.
Исследования по нейроинформатике являются сегодня одними из фаворитов в области ИИ. Практическое применение нейронных сетей широко в военных, экономических, производственных системах. Нейронные сети «хорошо» реализуются аппаратно, в виде выполненных по специальному заказу микросхем. Такие микросхемы являются, например, «мозгом» всемирно известных систем ПВО, где решают задачу распознавания «неопознанного объекта на экране радара» на расстояниях свыше 300 км.
Одно из главный препятствий на пути дальнейшего широкого внедрения нейронных сетей, реализованных в виде специальных микросхем, в реальные системы управления состоит в том, что принципиальные возможности нейронных сетей математически не доказаны. По этой причине военные, например, не могут быть полностью уверены в надежности такой системы наведения.
Фактически теория, созданная в нейроинформатике, объединяет элементы всей предыдущей теории ИИ. Подробное знакомство с этой теорией не входит в задачу данной работы.
ГЛАВА 9
ЭКСПЕРТНЫЕ СИСТЕМЫ
Определение термина «экспертная система»
Широкую практическую известность методы ИИ получили при создании особого класса программ, называемых «Экспертными системами».
Первые такие программы появились в конце 60-х гг. прошлого века и предназначались для создания искусственного «сверхразума» в некоторой предметной области. Например, программа MYCIN мыслилась как «сверхдоктор» в области гематологии, CASNET — в области глазных болезней; различные модификации программы ELIZA претендовали на роль «суперпсихолога» и т. д.
В 60-70-х гг. большинство ЭС мыслились как некоторый программный механизм, позволяющий аккумулировать опыт лучших людей-экспертов (в некоторой предметной области), а затем консультировать менее опытных пользователей. Классические базы данных (основная теория которых к этому моменту уже сформировалась) не подходили на эту роль, потому что их язык запросов не являлся достаточно гибким, чтобы описать все многообразие запросов реального языка (мира); кроме того языки запросов к БД не допускали рекурсивности, т. е. возможности вызова запросом самого себя. В рамках такого подхода сформировались основные черты современной технологии применения и построения ЭС.
В современном понимании экспертная система — это узкоспециализированный программный комплекс, позволяющий либо очень быстро принимать стандартные решения (чаще всего по управлению техническими объектами), либо на основе длительного диалога с пользователем помогать в выборе некоторого решения (путем оценки вариантов, предлагаемых пользователем, и их коррекции с учетом множества факторов, возможно неизвестных пользователю, а также предложения собственных вариантов решения и их коррекции в соответствии с целями пользователя (рис. 72)).
Рис. 72. Технологии взаимодействия предметного специалиста с ЭВМ с использованием ЭС и традиционная
Технология работы с экспертными системами
Решение прикладной задачи с помощью ЭС — это всегда целеустремленный итеративный процесс (рис. 72), имеющий целью выработку решения, наилучшего с некоторой точки зрения.
Решение задачи без использования ЭС (другими программными средствами) чаще всего является разовым расчетом даже в случае, если для расчета используется итеративный алгоритм.
Основная разница в работе экспертных и «не экспертных» систем состоит в том, что первые в каждой своей итерации используют новый алгоритм действий в предметной области, отличающийся от алгоритма предыдущего шага не только параметрами, но и структурой. На рис. 72 представлены сравнительные схемы этапов работы с ЭС и без них.
Структура ЭС
На рис. 73 приведена очень общая структура абстрактной экспертной системы. Скорее всего не существует реальных экспертных систем, полностью соответствующих приведенной структуре. Реальные ЭС содержат большое количество дополнительных блоков, специфичных для каждой предметной области. Тем не менее общая технология работы и назначение основных структурных элементов ЭС, исходя из приведенной схемы, должны стать понятны.
Рис. 73. Стуктура абстрактно! экспертно! системы
Главным структурным отличием ЭС от всех других типов программ является наличие базы знаний и, как следствие, способность к обучению и самообучению. Ее конкретный вид сильно зависит от избранной модели представления, но в наиболее общем виде она всегда будет содержать фактуальную и алгоритмическую части.
Так для системы правил продукций мы будем говорить о фактах и правилах (логического, чаще всего дедуктивного вывода).
Пример. Высказывание: крокодил (лапы, зубы, хвост, цвет).
Правило: крокодил (Х,¥, Z, L7), если X = «короткие», Y = = «большие», Z = «длинный», U = «зеленый».
Для системы ИИ, основанной на фреймовой модели представления знаний, речь идет о фактах и методах (присоединенных процедурах).
Пример. Фрейм «Линия на экране»:
координаты начала 100, 100;
координаты конца 200, 200;
координаты соседней линии неизвестны.
Методы:
плавно вращаться вокруг своей середины;
исчезать;
появляться.
Возможно, у Вас возникает вопрос: «А что интеллектуального в линии, нарисованной на экране?» Ответ состоит в том, что фреймы в ИИ чаще всего используются как средство моделирования некоторого процесса или явления, поэтому линия на экране вполне может являться моделью живого организма и т. п. В процессе вращения она столкнется с другими линиями, в результате чего будет заполнено, например, поле «координаты соседней линии» и т. д. (система обучится).
Для сетевой модели (сетевых моделей великое множество) БЗ в общем случае содержит: состояние системы (например, значение некоторого параметра в узлах сети), избранную активную подсеть и правила вывода (включающие в себя и описание отношений, присутствующих в сети).
Машина вывода — это программа, ответственная за порядок и способ актуализации алгоритмической части БЗ. Для разных МПЗ она, естественно, различна.
Для логической модели, где каждый раз происходит полный перебор всех логических уравнений, вне зависимости от уже имеющихся данных она имеет простейший вид последовательного автомата.
Для системы продукций (машина логического вывода), где выбор правила, которое следует актуализовать следующим, неоднозначен, она имеет систему предпочтений, основанную на некоторой детерминированной или вероятностной оценке, зависящей от ситуации, сложившейся к этому моменту.
Для фреймовой модели машина вывода состоит как бы из двух частей. Единая общая часть отвечает за то, чтобы события, происходящие в системе фреймов, становились известны всем фреймам одновременно или в некоторой последовательности. Вторая часть — это обработчики событий самих фреймов, которые решают, какой из методов следует актуализовать в ответ на полученное сообщение о произошедшем событии.
Подсистема объяснений — это один из важнейших элементов ЭС, который в значительной мере определяет эффективность ее практического использования. Практическая реализация подсистемы объяснений часто использует те же процедуры, что и решатель, только в другом порядке. Поэтому часто можно считать, что машина вывода состоит из решателя и подсистемы объяснений. Специфика
задач, решаемых интеллектуальными системами, такова, что очень часто ценность имеет не само решение, полученное человеком или машиной, а процесс — ход решения, полученного человеком в диалоге с машиной. Подсистема объяснений — это программный механизм получения ответа на вопрос «А почему так?» или «А почему так, а не так?» относительно решения в целом и его элементов (шагов) в отдельности.
Не все интеллектуальные системы обладают такой способностью (имеют подсистему объяснений). Ее отсутствие может быть связано с трудностью программирования, но чаще с недостатками самой модели ПЗ. В классическом смысле подсистема объяснений существует только у систем, основанных на правилах продукций и семантических сетях.
Пример. Запрос (пользователя через интеллектуальный интерфейс к машине вывода) к интеллектуальной системе: «Каков будет курс доллара на завтра?»
Диалог системы.
Какова политическая стабильность? Ответ оператора: «Высокая».
Каков экономический прогноз? Ответ оператора: «Благоприятный».
Какова активность на бирже? Ответ оператора: «Низкая».
Ответ системы: «Предполагаемый курс 31 р.70 к.»
Объяснение системы.
Правило 1: так как политическая стабильность = высокая и прогноз = благоприятный, то параметр 1 = стабильность.
Правило 2: так как параметр 1 = стабильность и сезон = низкая деловая активность, то параметр 2 = рост низкий.
Правило 3: так как параметр 2 = рост низкий, то курс = курс_на_ сегодня + малое случайное отклонение.
Заметьте, что при повторном запуске ответ системы мог бы несколько измениться, например, 31 р. 69 к.
Интеллектуальный редактор БЗ — это программа, позволяющая добавлять, удалять, модифицировать факты и правила, содержащиеся в БЗ. Определение «интеллектуальный» применительно к редактору БЗ стало активно использоваться в конце XX в. Под «интеллектом» применительно к данному классу программ понимается способность обеспечить целостность, корректность и непротиворечивость БЗ. Аналогичная проблема в теории баз данных решается при помощи ключей и нормализации, однако для концепции знаний
такое решение не подходит. Основная причина состоит в том, что знания представляют собой нечто единое, целое и многозначное. Отдельно вырванный из контекста элемент знаний не имеет смысла, поэтому, чтобы осуществить любую операцию над БЗ (добавление, удаление, модификация записи), необходимо проверить соблюдение целостности, корректности и непротиворечивости всей БЗ, причем на некоторую заданную глубину
Поясним примером. Существует таблица — телефонный справочник. Первичный ключ «Ф.И.О. + телефон» (табл. 24).
Таблица 24
Ф.И.О.
Телефон
Адрес
Сидоров И.П.
233456
Ленина 46-80
Сидорова P.O.
567845
Юрина 204-56
Сидоров И.И.
233456
Ленина 46-80
Предположим теперь, что мы хотели бы внести новую запись «Сидоров И.П./233455/Ленина 46-80». В случае ошибки ввода (например, телефон «233456») мы получим отказ от СУБД — нарушен первичный ключ. А если мы наберем десять разных фамилий, ошибаясь каждый раз (запишем всех на телефон «233456»), то не получим никаких сообщений, но ведь не могут в одной квартире жить 11 человек! При добавлении нового в БЗ должна активизироваться так называемая «присоединенная процедура», проверяющая корректность вводимой информации с точки зрения той информации, которая уже имеется в системе.
Рассмотрим подробнее, что означает «некоторая заданная глубина». Дело в том, что знания по своей природе обладают ре- курсивностью — «вложенностью». Находясь в хранилище (в БЗ), элементы знаний образуют причудливые и часто трудно понимаемые человеком смысловые цепочки. Любой новый добавленный элемент становится как бы «мостом» между ними, что приводит к образованию новых, более крупных цепочек. На конце каждой такой цепочки — некоторый новый вывод относительно предметной области. Этот новый вывод вполне может прийти в противоречие с тем, что уже содержалось в базе ранее. Такие противоречия не только не исключение, а основной режим работы интеллектуальной системы, поскольку их появления заставят проверить и уточнить факты и правила, а также критически оценить правильность и точность того нового знания (моста), которое только что было внесено в систему.
Пример 1. Предположим, в системе содержатся записи:
«Джон отец Мэри»;
«Мэри мать Билла».
Вы пытаетесь внести запись: «Билл внук Тома». Система обнаруживает противоречие на глубине 2, т. к. согласно имеющимся сведениям «Билл внук Джона»! Система требует уточнить, «точно ли это один и тот же Билл», и если выясняется, что разные, то модифицирует базу знаний:
«Джон отец Мэри»;
«Мэри мать Билла Джоскинза»;
«Билл О’Нил внук Тома».
Или исправляет ошибку:
«Том отец Мэри»;
«Мэри мать Билла»;
«Билл внук Тома».
Рис. 74. Чертеж объекта, описанного в ЭСРис. 74. Чертеж объекта, описанного в ЭСПример 2. Имеется технический объект, представленный на схеме (рис. 74).
Рис. 74. Чертеж объекта, описанного в ЭС
Рис. 74. Чертеж объекта, описанного в ЭС
На жесткой заделке над поверхностью «Д» установлена штанга с гайкой.
Вы пытаетесь внести запись: «После аварии на поверхности «Д» обнаружены многочисленные фрагменты цилиндрической формы, предположительно — отлетевшие гайки».
В системе схема описана приблизительно так:
соединены (жесткая заделка №1, штанга №1);
соединены (штанга №1, гайка №1);
маленькая (гайка №1);
шестиугольная (гайка №1);
цилиндрическая (штанга №1);
длинная (штанга №1);
пустотелая (штанга №1);
рядом (штанга №1, «Д»).
Новая запись вызовет противоречие.
«Должно быть небольшое количество мелких фрагментов, принадлежащих одной разрушенной гайке». Подтверждаете?
Иначе «фрагменты должны принадлежать разрушенной штанге». Подтверждаете разрушение штанги?
Иначе «фрагменты внесены извне».
Возможно читателю покажется, что выводы очевидны. Совершенно нет. Представьте себе, что речь идет о реальном техническом устройстве, например автомобиле. Вы сможете сказать, фрагменты каких деталей обнаружены при замене масла?
Остается только добавить, что в рассмотренных примерах отношения обладали свойством транзитивности, что бывает не всегда.
Интеллектуальный интерфейс пользователя — это программа, ответственная за организацию такого диалога с пользователем, который оптимальным образом приводит к достижению цели общения человека с ЭС. Так же как и в случае с редактором БЗ, определение «интеллектуальный» стало активно применять в конце XX в. «Интеллектуальность» интерфейса заключается в том, что в ходе диалога система помогает пользователю уточнить или совсем переформулировать цель его консультации с экспертной системой. Такая необходимость действительно имеет место быть, поскольку современные объекты, процессы, явления, моделируемые при помощи ЭС, настолько большие и сложные, что конечный пользователь не может помнить (а иногда и знать вообще) даже их имена (названия) и, следовательно, просто не способен грамотно сформулировать запрос и получить ответ.
Классификация ЭС
Экспертные системы можно классифицировать по различным основаниям: по типу используемой МПЗ, по области применения, по назначению, по показателям эффективности и др. (табл. 25, рис. 75).
Глубинной называется модель, которая позволяет обоснованно доказывать свои выводы. К глубинным знаниям относят абстракции, образы, аналогии, в которых отражается понимание структуры предметной области, назначение и взаимосвязь отдельных понятий, известные законы и теоретические основания.
Поверхностные знания касаются в основном внешних проявлений объекта исследования. Они позволяют делать некоторые (часто очень вероятные) предположения. Выводы, полученные на основе поверхностных знаний, возможно, являются столь же надежными и ценными, как и выводы, полученные с помощью глубинных, но они не обоснованы. Поверхностные знания обычно касаются лишь совокупности эмпирических ассоциаций и причинно-следственных отношений между понятиями предметной области. В принципе,
Решаемая задачаРешаемая задачамониторинги прогнозмониторинги прогноз-| диагностика |-| диагностика |интерпретация и визуализация данныхинтерпретация и визуализация данных_проектирование и планирование_проектирование и планирование-| обучение |-| обучение |ЭСЭСквазидина- мическиеквазидина- мические-j статические |-j статические |-| динамические |-| динамические |Способ учета времениСпособ учета времениТип устройства ИнтеграцияТип устройства Интеграция| супер-ЭВМ |ЭВМ на символьных процессорахМини- и микро-ЭВМЭС в виде специальных микросхем| супер-ЭВМ |ЭВМ на символьных процессорахМини- и микро-ЭВМЭС в виде специальных микросхемс другими программамис другими программамиj автономные |■| гибридные |j автономные |■| гибридные |Тип МПЗТип МПЗмоделирующиепроцесс мышле-ния человекамоделирующиепроцесс мышле-ния человекане моделирующиепроцесс мышлениячеловекане моделирующиепроцесс мышлениячеловека
Решаемая задача
Решаемая задача
мониторинг
и прогноз
мониторинг
и прогноз
-| диагностика |
-| диагностика |
интерпретация и визуализация данных
интерпретация и визуализация данных
_проектирование и планирование
_проектирование и планирование
-| обучение |
-| обучение |
ЭС
ЭС
квазидина- мические
квазидина- мические
-j статические |
-j статические |
-| динамические |
-| динамические |
Способ учета времени
Способ учета времени
Тип устройства Интеграция
Тип устройства Интеграция
| супер-ЭВМ |
ЭВМ на символьных процессорах
Мини- и микро-ЭВМ
ЭС в виде специальных микросхем
| супер-ЭВМ |
ЭВМ на символьных процессорах
Мини- и микро-ЭВМ
ЭС в виде специальных микросхем
с другими программами
с другими программами
j автономные |
■| гибридные |
j автономные |
■| гибридные |
Тип МПЗ
Тип МПЗ
моделирующиепроцесс мышле-ния человека
моделирующиепроцесс мышле-ния человека
не моделирующиепроцесс мышлениячеловека
не моделирующиепроцесс мышлениячеловека
Рис. 75. Варианты классификации ЭС
почти любая модель ИИ изначально зарождается как поверхностная, и затем, доказав свою «полезность», получает твердое математическое обоснование, способ интерпретации и объяснения результатов работы модели.
Классификация ЭС по типу МПЗКлассификация ЭС по типу МПЗПример. Мы пользуемся телефоном на основе поверхностных знаний о том, что, сняв трубку и набрав номер, можно соединиться с нужным абонентом. Подавляющее большинство владельцев телефонов не имеет и не нуждается в глубинных представлениях о структуре телефонной связи, схеме телефонного аппарата, которыми, безусловно, пользуются специалисты телефонной станции.
Классификация ЭС по типу МПЗ
Классификация ЭС по типу МПЗ
Модель представления знаний
ЗНАНИЯ
Классификация по глубине
Классификация по жесткости
глубинные
поверхностные
мягкие
жесткие
Логика
—
+
—
+
Продукции
—
+
+
+
Фреймы
+
—
+
+
Семантические сети
+
—
+
+
Объектно
ориентированные языки
+
—
+
+
Стохастические модели
Критериальные языки выбора
Нейронные сети
Эти модели не моделируют процесс мышления
Таблица 25
В большинстве ЭС сейчас используются поверхностные знания. Введение глубинных представлений позволяет создавать БЗ большей мощности, так как глубинные знания более гибки и адаптивны, чем достаточно жесткие поверхностные. Классическим примером может служить медицина, где глубинные знания опытных врачей позволяют им порождать разнообразные способы лечения одной и той же болезни в зависимости от состояния больного, его возраста, наличия лекарств и т. д. Молодой или неквалифицированный врач часто действует по поверхностной модели: «Если кашель — то пить таблетки от кашля, если ангина — то эритромицин» и т. п.
Глубинные знания образуются как результат обобщения первичных понятий предметной области в некоторые более абстрактные структуры. Часто эти структуры не имеют вербального описания. Так в медицине введено понятие «синдрома» — сочетания симптомов, которым пользуются для обобщенного и углубленного описания болезни. Отметим, что степень глубины и уровень обобщенности знаний прямо связаны с опытом экспертов и могут служить показателем профессионального мастерства последних.
«Жесткость» и «мягкость» знаний указывает на возможность получать однозначные, четкие рекомендации при заданных начальных условиях, либо множественные, расплывчатые решения и рекомендации. Согласно этой классификации можно и сами предметные области относить к жестким и мягким. Современная тенденция в развитии ЭС состоит в том, чтобы от широкого применения жестких поверхностных моделей в большинстве задач переходить к мягким глубинным.
.4.1. Классификация по решаемой задаче. ЭС интерпретации и визуализации чаще всего применяются в экономических системах. Дело в том, что расчетные коэффициенты, используемые, например, директором в ежедневном управлении предприятием, трудно не только проанализировать, но даже просто удержать в голове. Сам анализ значений коэффициентов часто не очень сложен и заключается, например, в том, что значение некоторого коэффициента не должно выходить за определенные рамки при условии, что значение другого коэффициента находится в других определенных рамках, и так несколько сот, а то и тысяч взаимосвязанных коэффициентов. В этой ситуации чрезвычайно важно представить данные наглядно, т. е. визуализировать. Простейший вариант — создать диаграммы (столбиковые, круговые, точечные и др.).
Область допустимых решенийОбласть допустимых решенийРис. 76. Выбор решения, удовлетворяющего нескольким ограничениямРис. 76. Выбор решения, удовлетворяющего нескольким ограничениямОднако в случае, если коэффициенты находятся в определенной зависимости, необходимо использовать более сложную визуализацию (рис. 76). Если бы рис. 76 был представлен тремя столбцами цифр, то вряд ли Вы смогли бы быстро принять решение.
Область допустимых решений
Область допустимых решений
Рис. 76. Выбор решения, удовлетворяющего нескольким ограничениям
Рис. 76. Выбор решения, удовлетворяющего нескольким ограничениям
Визуализация не всегда возможна. Простейший вариант — истин- 7 ная мерность пространства превышает 3. В этом случае столбцы
цифр следует заменять развернутыми пояснениями, например, в текстовом виде. Важно, чтобы пояснения были краткими (снижали объем данных, удерживаемых в голове) и содержали уже выводы
о причинах и следствиях, зависимостях, возможных решениях и их последствиях. Для решения задач интерпретации имеется целая теория математического и статистического анализа данных.
ЭС диагностики были разработаны одними из первых. Совместно с ЭС мониторинга они решают задачи непрерывной диагностики технических объектов, например ракет в момент запуска и в процессе полета. Более общо можно сказать, что такие ЭС выполняют процесс отнесения объекта к некоторому классу и обнаружения места и вида неисправности. Неисправность — это отклонение от нормы. Такая трактовка позволяет с единых теоретических позиций рассматривать и неисправность оборудования в технических системах, и заболевания живых организмов, и всевозможные природные аномалии.
Особенность ЭС мониторинга состоит в том, что часто необходимо учитывать очень большое число параметров, непрерывно поступающих от сотен и даже тысяч датчиков с различным типом шкал. При этом часто необходимо придерживаться реального масштаба времени для того, чтобы вовремя дать сигнал тревоги.
ЭС планирования и проектирования имеют много общего с системами визуализации и интерпретации. Например, такая система, проанализировав чертеж электрооборудования нового автомобиля, может предсказать места возможного механического повреждения
Если у Вас есть, например, 4 столбца цифр, то это совсем не значит, что Вы имеете дело с 4-х мерным пространством. Вполне возможно, что среди столбцов имеются зависимые, либо такие, что их влиянием на принимаемые решения можно пренебречь. На практике значительная часть исходных данных не является «самостоятельно значимой».
проводов в процессе эксплуатации. Для решения этой задачи будет использована и специальная «когнитивная» графика, и методы перебора вариантов, и ряд специфических методов, которым систему обучат опытные инженеры-проектировщики. В современных ЭС последнее выполняется чаще всего при помощи модели сценариев (прецедентов). Если проект осуществляется в области экономики, то вместо чертежей мы будем иметь бизнес-план.
ЭС прогнозирования логически выводят вероятные следствия из заданных ситуаций. В прогнозирующей системе обычно используется параметрическая динамическая модель, в которой значения параметров «подгоняются» под данную ситуацию.
ЭС обучения диагностируют ошибки при изучении какой-либо дисциплины с помощью ЭВМ и подсказывают правильные решения. Они аккумулируют знания о гипотетическом «ученике» и его характерных ошибках, затем в работе они способны диагностировать слабости в познаниях обучаемых и находить соответствующие средства для их ликвидации.
В общем случае все системы, основанные на знаниях, можно разделить на системы, решающие задачи анализа, и на системы, решающие задачи синтеза. Основное отличие задач анализа от задач синтеза заключается в том, что если в задачах анализа множество решений может быть перечислено и включено в систему, то в задачах синтеза множество решений потенциально и строится из решений компонент или подпроблем. Задачами анализа являются: интерпретация данных, диагностика; синтеза: проектирование, планирование. Комбинированные задачи: обучение, мониторинг, прогнозирование.
Автономные ЭС работают непосредственно в режиме консультаций с пользователем только для «экспертных» задач, при решении которых не требуется привлекать традиционные методы обработки данных (расчеты, моделирование и т. д.)
Гибридные ЭС представляют программный комплекс, агрегирующий стандартные пакеты прикладных программ (например, математическую статистику, линейное программирование или системы управления базами данных) и средства манипулирования знаниями. Это может быть интеллектуальная надстройка над пакетом прикладных программ или интегрированная среда для решения сложной задачи с элементами экспертных знаний. Несмотря на внешнюю привлекательность гибридного подхода, следует отметить, что разработка таких систем являет собой задачу на порядок более сложную, чем разработка автономной ЭС. Стыковка не просто разных пакетов, а разных методологий (что происходит в гибридных системах) порождает комплекс теоретических и практических трудностей.
Если говорить о современном состоянии разработок ЭС, то тенденции за рубежом таковы:
задачи диагностики, интерпретации, проектирование —>
-э мониторинг, обучение;
статические -э динамические;
автономные -э гибридные.
Статические ЭС разрабатываются в предметных областях, в которых база знаний и интерпретируемые данные не меняются за время решения задачи. Они стабильны. Например, диагностика неисправностей в автомобиле.
Квазидинамические ЭС интерпретируют ситуацию, которая меняется в течение некоторого фиксированного интервала времени. Например, микробиологические ЭС. Лабораторные измерения снимаются во время технологического процесса один раз в 4-5 часов (производство лизина, например) и анализируется динамика полученных показателей по отношению к предыдущему измерению.
Динамические ЭС работают с изменяющимися во время решения задачи данными, часто в сопряжении с датчиками объектов, иногда в режиме реального времени с непрерывной интерпретацией поступающих данных. Пример: гибкие производственные системы, мониторинг в реанимационных палатах и др.
Некоторые из хорошо известных ЭС представлены в табл. 38.
Технология разработки ЭС
Основные этапы разработки. Технология создания традиционных типов ПО предполагает следующие этапы: анализ требований, проектирование, программирование и отладка, тестирование. Технология создания интеллектуальных систем имеет ряд особенностей в их реализации (табл. 26).
Как Вы видите, появляется ряд новых стадий. Рассмотрим все стадии подробнее.
Анализ требований предполагает выявление основных сущностей, с которыми должна оперировать ЭС, а также возможных типов взаимосвязей между этими сущностями. На этом этапе оговариваются типичные запросы, на которые должна уметь отвечать система, а также границы применимости этих запросов. Например, ЭС анализа родственных связей на основе базы данных паспортного стола должна уметь выявлять «сводных братьев».
Анализ предметной области предполагает рассмотрение всех возможных сущностей и отношений между ними, ограничение самой
Наименование этапа
Решаемые задачи
Сроки
1. Анализ требований
Выбор проблемы; определение режимов работы будущей ЭС; определение требований к адекватности и точности результатов работы будущей ЭС
2-4 недели
2. Анализ предметной области
Выделение сущностей в предметной области, непосредственно относящихся к решаемой задаче;
предварительное выделение фактов и правил, непосредственно относящихся к решаемой задаче
До полугода
Проектирование:
разработка прототипа;
оценка
Предварительный выбор МПЗ; предварительная разработка логической структуры;
предварительная разработка программной структуры;
предварительное кодирование и испытания на возможно большем материале (в короткие сроки);
возврат к проектированию или анализу требований
4-8 недель
Программирование и отладка:
кодирование;
доработка до промышленной;
стыковка ЭС
Выбор языка программирования; кодирование, создание интерфейса, службы помощи и документации;
интеграция ЭС в технологический процесс предприятия;
предварительное обучение путем заполнения баз знаний результатами работы других ЭС
4-8 недель
5. Обучение
Работа ЭС в режиме решения реальных задач под присмотром инженера по знаниям (редактирует БЗ)
До полугода
6. Сверка с эталоном
Проведение показательных экспериментов и определение степени достижения целей проекта по созданию ЭС
1 неделя
7. Поддержка ЭС
Поиск логических и программных ошибок, выпуск новых версий, адаптация к изменившимся условиям эксплуатации
До 5 лет
Таблица 26
Этапы разработки ЭСЭтапы разработки ЭСпредметной области и математическое описание возможных и допустимых типов сущностей и отношений. Например, для БД паспортного стола возможными сущностями будут: «мужчина», «женщина», «дом», «квартира», «улица». Отношениями: «муж», «жена», «дочь»,
Этапы разработки ЭС
Этапы разработки ЭС
«сын», «брат», «зять», «сводный брат» и т. д. Степень детализации как раз и определит возможности ЭС.
Проектирование ЭС предполагает создание структуры ЭС. Существенной особенностью проектирования ЭС является зависимость структуры от избранной модели представления знаний. Так, например, выбор в качестве базовой продукционной модели автоматически означает использование редактора правил; выбор фреймовой модели — редактора объектов; выбор вероятностной модели — редактора вероятностей. Вы заметили, что во всех трех случаях необходим редактор базы знаний, что позволяет изобразить некоторую абстрактную структуру ЭС, которой удовлетворяет почти любая реальная система (рис. 77).
Рис. 11. Структура абстрактной ЭС
Таким образом, механизм работы ЭС можно описать следующими шагами:
инженер по знаниям наполнил БЗ (обучил ЭС);
пользователь задал системе запрос;
интеллектуальный интерфейс уточнил запрос и сформулировал цель для машины вывода;
машина вывода попыталась достичь заданную цель на основе знаний, полученных из БЗ;
цель не была достигнута из-за недостатка данных;
интеллектуальный интерфейс технических систем связался с соответствующими источниками данных;
машина вывода вновь попыталась достичь цель;
цель не была достигнута из-за получения противоречивых выводов;
для разрешения возникших противоречий запустился механизм самообучения, который попытался разрешить возникшие противоречия на основе заложенных в него правил;
новые знания, полученные в ходе работы механизма самообучения, поступили в редактор БЗ;
инженер по знаниям принял или отверг новые знания и факты;
новые знания и факты занесены в БД и БЗ;
возврат кп. 4.
Главное отличие ЭС от других программных средств — это наличие базы знаний, в которой знания хранятся в виде совокупности записей на некотором языке представления знаний (ЯПЗ), который позволяет легко изменять и дополнять базу знаний в форме, понятной специалистам — разработчикам экспертной системы. До последнего времени именно различные ЯПЗ были центральной проблемой при разработке ЭС. Сейчас существуют десятки языков или моделей представления знаний. Наибольшее распространение получили следующие модели: продукции, семантические сети, фреймы, исчисление предикатов 1-го порядка, объектно-ориентированные языки и др. Для этих моделей существует соответствующая математическая нотация, разработаны системы программирования, реализующие эти ЯПЗ, и имеется большое число реальных коммерческих ЭС.
Выбор той или иной модели определяется структурой знаний в конкретной предметной области. Выявление структуры предшествует выбору ЯПЗ и разработке базы знаний. Обоснование и конкретизация элементов знаний и их взаимосвязей происходят чаще всего в непосредственном контакте со специалистами предметной области — экспертами. Этот процесс называется извлечением знаний. Разработчики экспертных систем, занимающиеся извлечением и структурированием знаний, называются инженерами по знаниям.
Некоторые практические рекомендации. Для человека, который впервые приступает к разработке экспертной системы, полезными могут оказаться некоторые советы. Прежде всего самостоятельной разработки любых интеллектуальных программ, если только Вы не занимаетесь научной деятельностью в этой области, следует всячески избегать. Разработка экспертной системы на порядок труд-
нее, чем разработка традиционной программы. Поэтому необходимо постараться доказать что:
задача вполне может быть решена традиционными методами;
необходимость в решении задачи возникает слишком редко.
Опытный инженер сумеет показать истинность этих утверждений применительно к абсолютно любой проблеме. В случае каких-либо непреодолимых обстоятельств следует утверждать, что «никакая интеллектуальная система не может принимать решения лучше нашего 9 уникального эксперта ».
Ваши противники (начальники) скорее всего приведут доводы, касающиеся:
необходимости автоматического распознавания шума и противоречий во входных данных;
учета большого количества параметров;
исключительной простоты применяемых экспертом методов принятия решений (эвристик), в силу чего их формализация становится «просто смешной задачей».
Не верьте им. Если автоматическое распознавание шума (для некоторых, отдельных предметных областей) действительно относительно легко реализуемо на практике, то задачи 2 и 3 в общем виде практически не решаемы. К сожалению, понимание этого факта приходит через достаточно длительный промежуток времени, заполненный отчаянными попытками инженера по знаниям «въехать в предметную область». Главная проблема, с которой Вы столкнетесь, будет состоять в том, что Вы неправильно выбрали собственно задачу автоматизации. Вашей главной головной болью станут поиски «доброго эксперта», который согласится проводить с Вами все свое рабочее и свободное время, рассказывая о решаемых им профессиональных проблемах с откровенностью пациента психоаналитика.
Вы не найдете такого эксперта.
Правильный подход состоит в том, чтобы с самого начала выбрать очень узкую задачу, решение которой происходит совершенно прозрачно, понятно и стереотипно несколькими известными, но почему-то еще неформализованными (в данной организации) методами.
Далее следует найти того пользователя, который в конечном счете, возможно, будет пользоваться Вашей программой. Пользователя следует попытаться обучить чему-либо. Квалификация конечных
9Ф.И.О. подставить самостоятельно.
пользователей — вот могильный камень большинства подобных проектов.
Теперь следует озаботиться поисками эксперта, готового сотрудничать. Основной принцип поиска должен состоять в том, что Вы лично никакого эксперта не ищете. Эксперт должен искать Вас. Когда он Вас найдет (это происходит обычно примерно в середине проекта по созданию ЭС, приблизительно через полгода после того, как Вы полностью разочаровались в своих предыдущих экспертах), Вам придется сильно изменить задачу на автоматизацию, поскольку эксперта всегда интересует то, что интересует его, а не Вас. Эксперт потребует от Вас автоматизировать это, это и еще вот то. На все задания следует дать отрицательный ответ, оставив одну десятую, а лучше двадцатую часть от первоначальной задачи, причем переформулировав ее так, как это нужно Вам. В этот момент можете считать первую, наиболее важную часть проекта (выбор подходящей проблемы для решения) оконченной.
На следующим этапе создания ЭС выгоднее всего приступить к созданию прототипа или прототипной системы. При этом следует придерживаться правила минимальных затрат. Ни в коем случае не следует тратить много времени, сил и средств на разработку и внедрение прототипа. То, что Вы сделаете, это:
совершенно, абсолютно и ни в коей мере не то, что в конечном счете будет внедрено;
совершенно, абсолютно и ни в коей мере не то, что на самом деле требуется;
размерность созданного прототипа, многочисленность поддерживаемых им режимов, полнота базы знаний и все достоинства интерфейса вместе взятые отвлекут пользователя и эксперта от правильной оценки принципиальных ошибок в разработке.
Прототипная система является усеченной версией ЭС, демонстрирующей жизнеспособность выбранного подхода, а также предназначенной для проверки правильности кодирования фактов, связей и стратегий рассуждения эксперта. Объем прототипа — несколько десятков правил, фреймов или примеров.
Прототипных систем будет много. Смиритесь. При создании первых прототипных систем даже не пытайтесь заставить систему вести себя разумно; достаточно того, чтобы она просто работала. В любом случае первые прототипы придется полностью переработать, поэто-
му выгоднее сразу принять явно ошибочные решения, чем принять другие ошибочные же решения только после долгих и мучительных доработок.
Далее, если приемлемый прототип создан (пользователи, эксперт и сам инженер по знаниям к этому моменту уже уменьшили свои аппетиты еще раз в 10 в «выборе проблемы»), следует более подробно проработать основные режимы работы системы путем внесения дополнительных фактов и правил, т. е. доработать систему до промышленной. Исходные коды в этот момент обычно полностью переписывают. Если на предыдущих этапах использовалась «пустая ЭС», то дописывают некоторые необходимые модули (рис. 78).
Рис. 78. Примерный цикл разработки ЭС
В ходе выполнения проекта инженеру по знаниям, т. е. Вам, придется обнаружить в себе ряд новых качеств, причем выраженных в крайней степени (либо бросить проект):
потрясающую, совершенно нечеловеческую волю к победе и полное душевное спокойствие в ситуациях, когда все остальные участники проекта, включая экспертов, проявляют полное неспокойствие и недружелюбие по отношению к проекту вообще и Вам лично в частности;
большой процент лени; только ленивый инженер по знаниям способен «проскочить» практическую реализацию целого ряда совершенно тупиковых идей, кажущихся (эксперту) в настоящий момент потрясающим научным открытием;
высокую восприимчивость ко всему новому; способность менять стиль собственной мысли, а также «смотреть на проект со стороны», оценивая выгоды и убытки от тех или иных проектных решений;
интуицию;
умение с большим удовольствием (для Вас и собеседника) общаться с людьми, которые лично Вам очень неприятны.
ЗАКЛЮЧЕНИЕ
В работе рассмотрены некоторые основные концепции и принципы, лежащие в основе современных методов искусственного интеллекта. Безусловно, работа не полна. ИИ — быстро развивающаяся область знаний. Появляются принципиально новые концепции и задачи.
Основная часть книги посвящена «классическим» методам ИИ, широко используемым на практике, но, увы, не являющимся на сегодняшний день наиболее перспективными. Студентам и аспирантам, желающим продвинуться в применении интеллектуальных систем для решения практически ценных задач, следует ознакомиться с целым рядом новых направлений: теорией искусственных нейронных сетей, методами кластерного анализа и многомерного шкалирования, фракталами и вейвлит-анализом.
К моменту написания книги у автора сложилось впечатление, что наиболее ценными в ближайшие годы будут работы, посвященные математическому или статистическому обоснованию адекватности и надежности вновь создаваемых моделей. В первую очередь это будет относиться к исследованиям по нейроинформатике. Применение нейронных сетей уже сегодня могло бы стать практически повсеместным, но до сих пор не имеется твердых доказательств того, какие задачи и с какой надежностью способна решать эта модель.
Важную роль при создании таких доказательств в ближайшие годы начнет играть классическая математика и функциональный анализ, теория чисел и теория множеств.
Методы теории вероятностей, по мнению автора, будут значительно доработаны в применении к реальным задачам, в первую очередь задачам теории игр и систем массового обслуживания. Здесь наибольшее внимание, видимо, вызовет исследование распределений случайных величин и методов управления видом этих распределений.
Вновь создаваемые экспертные системы будут стремиться к принципу «прозрачности работы». Все они будут гибридными, сочетающими в себе как абсолютно предопределенные, «детерминистские», так и «интеллектуальные» элементы. Большую роль будут играть методы фиксации данных — построение датчиков самого разного вида. Для военных экспертных систем основой станут спутниковые системы географического позиционирования, дальномеры и системы непрерывного картирования местности.
Задачи типа «объект-фон», «что изменилось в состоянии объекта», «каково направление движения» потребуют уже не единичных теоретических решения, а создания устройств, практически решающих их в массовом порядке.
Все эти направления и модели очень хороши, но применяться, безусловно, должны только тогда, когда без этого совершенно нельзя обойтись. По мнению автора, глубинное понимание новых моделей и их эффективное применение невозможно без знания некоторых основных, сегодня кажущихся уже довольно примитивными, концепций и методов, изложению которых и была посвящена эта работа.
Автор выражает благодарность своим коллегам и друзьям, оказавшим ценные консультации в ходе написания и публикации работы: проф. Александру Андреевичу Цхаю, доц. Александру Петровичу Яроцкому, доц. Наталье Станиславовне Гарколь, доц. Сергею Владимировичу Бутакову, доц. Константину Борисовичу Кошелеву, доц. Олегу Геннадьевичу Солодкому, доц. Максиму Николаевичу Веревкину
г. Барнаул Смолин Д.В.
ПРИЛОЖЕНИЯ
Prolog — это не язык программирования, это способ мышления ...
Юрий Городилов (коллега автора)
Инструментальные средства разработки ЭС
Языки программирования для ИИ. В настоящее время основными языками ИИ считаются LISP, Prolog и C++. Первые два — узкоспециализированные языки, разработанные специально для ИИ — являются языками программирования, последний — инструментальный язык общего назначения, достаточно мощный для того, чтобы создавать, в том числе и программы ИИ; является, пожалуй, самым популярным профессиональным языком.
Применение LISP и Prolog позволяет сосредоточиться на логике решения задачи, а применение C++ — добиться высокой скорости работы программы, реализовать нестандартные процедуры обработки. Современная вычислительная техника обладает очень высокими характеристиками быстродействия и «поддержки пользователя», поэтому долгое и кропотливое кодирование на C++ оправдано только при создании программ-оболочек и интерфейсов.
Пустая экспертная система, она же программа-оболочка или матрица — это программа, содержащая механизм вывода, средства ввода и редактирования фактов и не содержащая фактов конкретной предметной области. Матрицу можно наполнить собственными фактами, отредактировать правила, и она начнет делать выводы по интересующей Вас проблеме.
Другими, менее популярными языками ИИ являются SmallTalk, Forth, LOGO, РЕФАЛ, ПЛЭЙЕР (Planner). Используются также Pascal, Basic и др.
Краткие сведения о Prolog. Prolog (программирование в терминах логики, логическое программирование) разработан в 1974 г. в университете Марселя (Франция) А. Колмаэро (Colmeraurer Alan) на основе фундаментальных работ А. Робинсона (John Alan Robinson) и Р. Ковальского (Robert A. Kowalski). Ряд специалистов считает Prolog учебным языком, отдавая первенство LISP. С точки зрения вычислительной мощности и быстродействия автор поставил бы эти языки рядом. Программа на LISP значительно короче, Prolog-
Prolog и др.Prolog и др.программа понятнее. Для языка, размер программы на котором сильно ограничен не памятью машины, а способностью программиста понимать, «что же он делает», последнее обстоятельство важно. Существуют несколько различных версий языка: Turbo Prolog, Visual
Prolog и др.
Prolog и др.
Constants
Объявления констант
[GLOBAL] domains
Секция объявления нестандартных и/или составных типов данных. Может отсутствовать
[GLOBAL] database — имяВБД
Необязательная секция объявления предикатов для работы с внутренней базой данных
[GLOBAL] predicates
Секция объявления предикатов
Clauses
Секция объявления правил и фактов
Goal
Секция объявления внутренней цели. Может отсутствовать
Таблица 27
Таблица 28
Типы данных
symbol
строка, занесенная во внутреннюю таблицу символов системы
string
последовательность символов длиной до 64 Кбайт
char
1 -байтовые символы
integer
2-байтовые целые числа со знаком
real
8-байтовые числа с плавающей точкой
ref
ссылочные числа базы данных
reg
регистры микропроцессора АХ, ВХ, СХ, DX, SI, DI, DS и ES
file
файл
Арифметические
+, -, *, /, mod, div
Реляционные
><=>=<=<> ><
Математические функции
sin, cos, tan, arctan, In, log, exp, sqrt, round, trunc, abs
Логические
And(«,»), not, or, ! (отсечение)
Таблица 29
Операции
Все переменные в Prolog-программе пишут с большой буквы: X, Masha. Если значение переменной нас не интересует, используют «_» — пустая переменная. Свободной называется переменная, значение которой еще не определено.
Таблица 30
Ввод-вывод
write
вывод на экран
read
чтение с консоли
Параметры:
%d — обычное десятичное число (chars и integers)
%u — беззнаковое целое (chars и integers)
%R—как ссылочное число базы данных (database reference numbers) %Х — как длинное 16-ричное число (strings, database reference numb) %x — как 16-ричное число (chars and integers)
%s — стоки (symbols and strings)
%c — как символ (chars and integers)
%g — действительное в наиболее коротком из возможных форматов
(default for reals)
%е — действительные в экспоненциальной записи
%f — действительные в формате с фиксированной точкой
%lf — только для совместимости с языком С (fixed reals)
\n — новая строка
\t — табуляция
\nnn — символ с кодом ппп
Таблица 31
Стандартные предикаты Turbo Prolog
Стандартные предикаты охватывают
Ввод/
Файловая
Работа с
Оконная
Обработка
вывод
система
экраном
система
строк
Стандартные предикаты охватывают
Преобразования типов
Работа с БД
Работа с графикой
Работа с ОС
Низкоуровневые
Более подробно имеет смысл ознакомиться с документацией конкретной версии.
При м ер программы (Turbo Prolog):
domains
person, activity = symbol
predicates
likes (person, activity)
clauses
likes (ellen, tennis)
likes (John, football)
likes (tom, baseball)
likes (bill, X) if likes (tom, X)
goal
likes (X,Y)
Результат работы (произошла конкретизация значений переменных по имени отношения, см. исчисление предикатов первого
порядка):
Y = tennisY = footballY = baseballY = baseballY = tennisY = footballY = baseballY = baseballX = ellen
Y = tennis
Y = football
Y = baseball
Y = baseball
Y = tennis
Y = football
Y = baseball
Y = baseball
X = John
X = tom
X = bill
Краткие сведения о Lisp. Создан в 1961 г. (Стэнфорд, США) группой профессора Джона Маккартни. Сокращение LISP (List processing) переводится как «язык обработки списков». В 7080 гг. широко применялся для решения задач на основе древовидных структур, например, задач лабиринтного поиска и «генетического программирования» (Стэнфорд, проф. Джон Коз). Существует большое количество версий, наиболее известной, по-видимому, является COMMON LISP. Эта версия была поддержана AI Lab M.I.T. при создании LISP — машины в качестве языка системного программирования. К началу 90-х гг. фактически вышел из употребления.
Второе рождение Lisp связано с тем, что Lisp оказался чрезвычайно удобен для описания геометрических фигур. В этом качестве он широко известен пользователям разнообразных САПР — систем автоматизированного проектирования, например, AutoLisp (система AutoCAD).
Lisp-программа не имеет жесткой структуры. Представляет собой последовательность s-выражений (т. е. символьных, в заданной грамматике), поступающих последовательно на вход интерпретатора Lisp.Таблица 32
Типы данных
Целое число
Например, 4
Вещественное число
Определяется по наличию точки — 4.5
Символьный атом
Аналог понятия переменной. Значение переменной по умолчанию равно самой переменной
Так называемые s(ymbolic)- выражения
Список
Обозначается (), например (А, В, С)
Встроенная функция
Список приведен ниже
Примитив
Только для AutoLisp
Для некоторых функций, например CAR и CDR, существует сокращенный вариант: C-R, где вместо символа - можно подставить символы D или А. Примеры:
(CAAAR X)<=>(CAR(CAR(CAR X))) или (CADR X)<=>(CAR(CDR X))
Пример программы (д - LISP).
Вычисление факториала:
(defun factorial (n)
(cond ((= n 1) 1)
(t (* n (factorial (- n 1))))))
Наименование
Краткое описание
QUOTE. А
Функция не оценивает свой аргумент и выдает его в качестве результата
+ ,-Л/
Арифметические функции (допустимы только над числами)
SETQ и SET
Функции присваивания
CARA
Оценивает свой аргумент (А), который должен быть списком, и выдает в качестве значения первый элемент этого списка
CDRA
Оценивает свой аргумент (А), который должен быть списком, и выдает в качестве значения этот список, но без первого элемента
CONS A В
Оценивает аргументы, причем значение первого аргумента может быть произвольным s-выражением, а значением второго должен быть список. Результатом функции является список с головой А и хвостом В
APPEND A В
Пусть значениями А и В являются списки: (А... А) и (В... В), тогда значением функции APPEND будет список: (А... А В... В)
NULLX
Оценивает аргумент и выдает Т, если значением Т является NIL, и NIL в противном случае. Функция является аналогом NOT
ATOMX
Оценивает аргумент и выдает Т, если его значением является атом, и NIL в противном случае
NUMBER? X
Оценивает свой аргумент и выдает значение Т, если значением аргумента является число, и NIL в противном случае.
LISTP X
Оценивает свой аргумент и выдает Т, если значением аргумента является список, и NIL в противном случае. Является обратной к функции АТОМ
EQ AB
Функция сравнения двух атомов
EQUAL A В
Сравнение произвольных s-выражений
COND A A
Функции проверки условия
DEFUN
Функция, определяющая новые функции
Таблица 33
Некоторые основные функцииНекоторые основные функцииНекоторые широко известные задачи,системы и методы
Некоторые основные функции
Некоторые основные функции
В разделе представлен небольшой обзор довольно старой литературы (1960—70 гг.), относящейся, в основном, к вопросам постановки медицинских диагнозов. Интерес состоит в том, чтобы пронаблюдать, во-первых, процесс развития интеллектуальных методов, в том числе тупиковых ветвей, во-вторых, отследить логику постановки задач. Ценность этих постановок в том (ср. с большинством современных предметных специалистов, работающих с интеллекту-
альными системами как с черным ящиком), что тогда делалась попытка приблизить логику работы системы к логике предметной задачи, построить простую, узко направленную систему Кроме того описаны уже не учебные, а реальные задачи. По источникам можно примерно понять географию центров подобных исследований. Для кого-то эта глава может послужить введением в будущую специальность. Рассмотренные источники приведены в разделе «Литература, полезная для дополнительного ознакомления».
Задача постановки медицинского диагноза. Безусловно, это классификационная задача. Но что при этом классифицируется? Классифицируются болезненные состояния человеческого организма. Так ли это? Нужно сказать, что здесь не все просто. Медицинский диагноз может представлять собой как наименование болезненного состояния человеческого организма, так и наименование той болезненной причины, которая вызвала это состояние. В первом случае речь идет о классификации состояний человеческого организма, которые затем должны быть диагностированы по некоторому их описанию, во втором — о классификации причин и диагностировании причин, вызывающих изменение состояния организма. В некоторых случаях это различие может быть важным, т. к. для постановки диагноза во втором случае может оказаться, что нужно располагать не только описанием болезненного состояния, но и описанием предшествующего болезни состояния.
В общих чертах логическая структура классификации заболеваний человека может быть представлена в виде разветвленного дерева, на концах ветвей которого стоят диагнозы. Процесс постановки диагноза при этом представляется как движение по стволу и ветвям этого дерева от одного разветвления к следующему (в зависимости от ответов на вопросы, которые ставятся для ветвлений).
Чаще всего задача медицинской диагностики ставится как задача распознавания образов. В рамках этой теории существуют различные постановки задачи. Разделяют задачи:
выбора;
прогноза;
классификации.
Пример: постановки [33, 34]. «Детерминистская постановка задачи распознавания с учителем состоит в следующем: некоторые объекты, описывающиеся какими-то признаками, разделены учите-
лем на 2 класса А и В. Нужно по статистическим выборкам А' и В' (обучающим выборкам) объектов классов А и В определить уже без указания учителя, к какому из классов принадлежит некоторый новый объект, не входящий в статистические выборки А' и В'».
Дифференциальная диагностика [33] — выбор одной болезни из ограниченной группы заболеваний. Все болезни, входящие в группу, рассматриваются как полная система несовместных событий. Альтернативная дифференциальная диагностика — выбор из двух альтернатив.
Постановка [33] — по имеющимся симптомам (наименование и частота данного симптома при данном заболевании) рассчитать вероятность каждого из возможных диагнозов.
Различают, по крайней мере, три класса задач прогноза:
прогнозирование состояния здоровья практически здоровых людей в разных условиях и при различных воздействиях;
прогнозирование риска появления заболеваний;
прогноз течения заболевания и его исхода.
Некоторые широко применяемые формальные методы. Существующие методы можно классифицировать по типу решаемых задач и используемой информационной модели (ИМ). Информационная модель в значительной степени определяется спецификой исходных данных. Исходные данные являются специфическими для различных областей медицины. В зависимости от применяемой ИМ различают вероятностные и логические методы, а также методы, основанные на определении расстояний.
Вероятностные алгоритмы различают по использованию априорной вероятности (не использованию) и объему применяемой выборки. Эти алгоритмы решают задачу определения вероятности данного заболевания при наличии данных симптомов. Логические алгоритмы долгое время считали все симптомы одинаково ценными для диагноза. Поэтому возникла идея приписать им веса. Симптомы, характерные для этого заболевания, имели высокий вес, нехарактерные или отсутствующие — низкий, безразличные — промежуточный. Каждый симптом имел один вес как признак заболевания А и другой как признак заболевания В. При вероятностном подходе исходят из соображения, что симптом наблюдается у данного больного с данной частотой (табл. 34).
На основе таблицы частот строят диагностическую таблицу (см. табл. 35).
Здесь по вертикали перечислены симптомы, по горизонтали — заболевания, а на пересечении — вероятность данного симптома при
Таблица 34
Номер наблюдения
100
101
102
103
114
115
117
119
Печень пальпируется
X
X
X
X
X
X
Таблица 35
Заболевания
Априорная вероятность заболевания
Симптомы Xi (вероятность их наличия, %)
Ж1
ж2
ж3
Ж4
Ж 5
Жб
А1
0,100
0,1
49
50
01
00
01
А14
0,014
90
09
01
90
00
определенном заболевании. Такие данные позволяют решить обратную задачу — по имеющимся симптомам рассчитать вероятность диагнозов. Чаще всего решения этой задачи строятся на формуле Байеса и ее следствиях.
П р и м е р [39]. Дифференциальный диагноз в общем случае выбора между несколькими заболеваниями. Дано: ограниченная группа из d различных заболеваний (Di, D2,. . . , D^). Каждый больной страдает только одним из них. Имеется список из S признаков (симптомов, результатов лабораторных анализов) 8 = = (Si, 8^ • • • , Ss). За прошлые годы накоплен материал и можно задать P(S/ Dj), где 8 — некоторый симтомокомплекс, можно также определить P(Dj).
Определим P(Dj/S). Апостериорная вероятность P(Dj/S) пропорциональна произведению априорной вероятности P(Dj) на функцию правдоподобия P(S/ Dj):
Р^/8)~Р(ОрхР(8/Ор, где
P(S/Dj) = Р| P(Sj/Dj)^ j = (произведение no j).
В случае, если /с-ый симптом является непрерывным с плотностью распределения Ду (ж) для j-го заболевания, значит вероятность наблюдения величины, лежащей в интервале (ж, ж + dx), равна fkj(x)dx. Если подставить это выражение в предыдущую формулу, то множитель dx сократится.
P(Dj/S^ = P^Dp х P(Sj/Dp /^РНР х P^S/Dp,
j = 1,2,. . . ,d.
Утверждается, что применение подобной методики позволяет повысить процент правильных диагнозов на 25%-30% по сравнению с врачом.
У вероятностного подхода при решении задачи дифференциальной диагностики имеется геометрическая интерпретация (рис. 79),
основанная на плотности вероятности кривой распределения значе
Рис. 79. Геометрическая интерпретация вероятностного подходаРис. 79. Геометрическая интерпретация вероятностного подходания признака. Многомерная область определения значений симптомов разбивается на подобласти, в которых преобладает, доминирует или всегда отсутствует некоторая болезнь.
Рис. 79. Геометрическая интерпретация вероятностного подхода
Рис. 79. Геометрическая интерпретация вероятностного подхода
Здесь I — зона пространства, где встречается только болезнь Л1; II — зона, где преобладает Л1; III — зона, где преобладает Л2; IV — зона пространства, где встречается только болезнь Л2.
Задача дифференциальной диагностики — определить по величине VI, V2, в какую область попадает точка (состояние больного). В этой области пространства нас будет инте-
ресовать вероятность болезни Л1 и Л2, о которой будем судить по
плотности точек. Чем больше областей, тем выше точность диагно
стики. Каждая область формируется на основе группы обучения.
При этом если априорные вероятности заболеваний примерно равны, то для обучения системы можно взять одинаковое число больных (по каждой болезни), в противном случае группы обучения должны быть пропорциональны априорным вероятностям. Точность принятия решений на основе таких методов напрямую зависит от количества областей, на которые разбито все пространство определения значений признаков, и это количество ограничено. Кроме того, группа обучения должна быть достаточно большой. Отмечается, что проблема изучения вероятностей болезней, необходимых для медицинской диагностики, — это в значительной степени проблема массовых исследований, использования клинических архивов, обобщения материалов многих клиник. В вероятностных моделях все
рассматриваемые альтернативы считаются несовместными, поэтому вероятностными методами решается задача выбора или дифферен-
циальная диагностика (выбор из двух). Для принятия окончательного решения введено понятие «порогового превышения вероятностей», т. е. такого превышения вероятности одной из гипотез, которое соответствует требуемому превышению частоты правильных диагнозов над частотой неправильных. В частности в [39] утверждается, что вероятностный подход позволяет повысить частоту постановки правильных диагнозов на 25% по сравнению с врачом (посмотрите на реальные результаты применения подобной системы, табл. 36). В этом же источнике указано, что использование вероятностного подхода возможно и при небольших выборках, однако в этом случае необходимы некоторые оценки информативности выборки. Результаты принятия решения на основе малых выборок в источнике не описаны. Практические работы по созданию диагностирующих программных систем на базе вероятностных алгоритмов широко велись в 60-е годы XX века.
Логические алгоритмы. Представления о логических алгоритмах за последние 20 лет претерпели изменения. Изначально считалось, что логический алгоритм — это такой алгоритм, который учитывает лишь симптомы всегда присутствующие или всегда отсутствующие при каждом из диагностируемых заболеваний. Симптомы, которые встречаются при данном заболевании, в 50% случаев не учитываются. Симптомы кодируются в троичной системе счисления, т. е. учитываются наличие, отсутствие, непроясненность симптома. На основе логического алгоритма происходит формирование множества не доминирующих альтернатив. При этом задача постановки диагноза ставится как выбор одной альтернативы из списка возможных. В 1961 г. Ледли и Ластед модифицировали алгоритм и поставили задачу диагностики иначе. Теперь считалось, что оцениваемая альтернатива (пациент) может быть комбинацией известных альтернатив (иметь несколько заболеваний сразу). Если число симптомов тц а заболеваний т, то число возможных комбинаций симптомов и заболеваний 2n+m, далее исключают комбинации, которые практически не встречаются (исключаются последовательно, путем запроса новой информации). После появления аппарата нечеткой логики логические модели также изменились (см., например, описание MYCIN). Надо сказать, что на сегодняшний день это одна из немногих групп моделей, приводящих к практическим результатам. Модель состоит из нескольких разделов: факты, правила продукций. Факты запоминаются в виде триплета: контекст-параметр-значение (пациент- возраст-значение). Каждому триплету соответствует коэффициент определенности [—1,1] ПО, где — 1 — отрицание, 1 —утверждение. В начале консультации часть триплетов не укомплектована, неко-
Таблица 36
МЭС — диагностика. Сравнительные данные врачебной диагностики и экспертных диагностик ЭВМ за период с 01.01.91 по 31.12.1994, причина вызова — «острый живот»; г. Барнаул
Код нозоформы
Заключительные диагнозы по данной нозологической форме
Совпадения с заключительным диагнозом
по предварительному диагнозу врача
ЭВМ
по 1-му диагнозу
по 2-му диагнозу
1
145
24
88
32
2
39
5
13
4
3
42
14
29
3
4
19
2
10
2
5
7
0
2
2
6
28
3
18
4
7
10
1
3
0
8
75
31
45
4
9
20
3
7
6
10
6
0
1
1
И
1
0
0
0
12
8
2
4
3
13
4
0
0
0
14
3
1
0
0
15
45
5
21
10
16
12
1
4
3
17
13
1
2
1
18
3
1
0
1
19
7
0
0
3
20
3
2
1
0
21
4
2
1
0
22
244
28
119
33
торые триплеты представляют собой цель консультации. Правила продукций: знания эксперта кодируются в виде если {предпосылки} то действие {ПО}, где предпосылка — конъюнкция триплетов, действие включает присвоение значений параметрам триплетов. Правило может быть применено, исходя из известной предпосылки с целью присвоить значения параметрам триплета или исходя из триплета с целью определить, какие триплеты предпосылки необходимо определить. Таким образом, логические модели дополнились очень важной составляющей — деревом диагнозов.
Ассоциативный и каузальный подходы. После создания MYCIN выявились некоторые недостатки:
не было попытки моделирования той стратегии рассуждения, которой пользуются эксперты-люди;
не было попытки воспользоваться знаниями, заложенными в каузальных отношениях.
Система INTERNIST (Питсбург, США). При постановке диагноза была сделана попытка приблизиться к модели человеческого мыслительного процесса. Такой процесс позволяет проследить взаимосвязь между болезнями и их проявлениями. Процесс имеет две стадии:
ограничение пространства диагностирования (выбор правдоподобных гипотез);
применение некоторой стратегии (дифференциальная диагностика).
INTERNIST сначала идентифицирует набор заболеваний, характеризующийся некоторыми или всеми симптомами, имеющимися у пациента, затем пытается найти в этом наборе единственное заболевание, наилучшим образом объясняющее ряд выявленных симптомов. Далее производит поиск набора заболеваний, которым соответствуют оставшиеся симптомы, и процесс повторяется до тех пор, пока не останется ни одного необъясненного симптома. Знания в INTERNIST-1 представлены в виде «дерева заболеваний». Заболевания связаны отношением «разновидность». Узлы дерева могут быть терминальными и нетерминальными. Заболевания соотносятся со своими симптомами через два дополнительных отношения. Мощность каждого из этих отношений можно трактовать как вероятность. Отношение «вызывает», мощность [0..5]. Отношение «показывает» (инверсия «вызывает»). Его мощность оценивается через частоту данного симптома при данном заболевании [1..5]. В дополнение к отношениям «вызывает» и «показывает» задано несколько других. В конечном итоге каждому симптому ставятся в соответствие две характеристики: класс и значимость.
Класс — мера стоимости проверки правильности симптома. Значимость — насколько важно наличие данного симптома для постановки диагноза конкретного заболевания. Для управления ходом обработки знаний используется пара класс-значимость. Наиболее «дорогостоящий» вопрос задается первым. Далее по набору симптомов и мощностям связей считают «вероятность» каждого узла. При дифференциальной диагностике используются стратегии исключения или дискриминации (см. рис. 80, где П — причина, В — вызывает).
Одной из наиболее красивых моделей этого уровня является модель Вейса-Куликовского (рис. 81), разработанная на примере диагностирования глаукомы. Согласно этой модели, заболевание —
Рис. 80. Взаимосвязь причин и следствий в системе InternistРис. 80. Взаимосвязь причин и следствий в системе InternistКатегории болезниКатегории болезниаукома с открытым^ углом зренияаукома с открытым^ углом зренияперекрытие угла зренияперекрытие угла зренияПатофизиологические состоянияПатофизиологические состоянияНаблюденияНаблюденияСимптомыСимптомыболиболиРис. 81, а. Трехуровневая модель процесса болезни. Weiss S.M., Kulikowski С.А. и др., 1978Рис. 81, а. Трехуровневая модель процесса болезни. Weiss S.M., Kulikowski С.А. и др., 1978вторичная глаукомавторичная глаукомаэдема роговицыэдема роговицыкаузальные связикаузальные связиклассификационные связиклассификационные связиспайка радужной и роговой оболочекспайка радужной и роговой оболочекассоциативные связи -—_ассоциативные связи -—_острая форма глаукомы с перекрытием угла зренияострая форма глаукомы с перекрытием угла зрения-— двоениеЙ изобра- расширенный зрачок/^^^Показания^^-— двоениеЙ изобра- расширенный зрачок/^^^Показания^^утрата зренияутрата зренияв результатев результатеглаукомыглаукомыугла зренияугла зренияпериметрия:периметрия:затемнениезатемнениеоптическоеоптическоедискадискаперекрытие угла зренияперекрытие угла зренияхроническое перекрытиехроническое перекрытиеповышенное внутриглазное давлениеповышенное внутриглазное давление^ офтальмоскопия^ офтальмоскопиягомископияА: спайки радужнойШ и роговой оболочекгомископияА: спайки радужнойШ и роговой оболочекострота Шострота Шта топометрията топометриядугообразнаядугообразнаяскотомаскотомаТестыТестыэто процесс, включающий переходы от одного патофизиологического состояния к другому Диагноз — идентификация взаимосвязи между
Рис. 80. Взаимосвязь причин и следствий в системе Internist
Рис. 80. Взаимосвязь причин и следствий в системе Internist
Категории болезни
Категории болезни
аукома с открытым^ углом зрения
аукома с открытым^ углом зрения
перекрытие угла зрения
перекрытие угла зрения
Патофизиологические состояния
Патофизиологические состояния
Наблюдения
Наблюдения
Симптомы
Симптомы
боли
боли
Рис. 81, а. Трехуровневая модель процесса болезни. Weiss S.M., Kulikowski С.А. и др., 1978
Рис. 81, а. Трехуровневая модель процесса болезни. Weiss S.M., Kulikowski С.А. и др., 1978
вторичная глаукома
вторичная глаукома
эдема роговицы
эдема роговицы
каузальные связи
каузальные связи
классификационные связи
классификационные связи
спайка радужной и роговой оболочек
спайка радужной и роговой оболочек
ассоциативные связи -—_
ассоциативные связи -—_
острая форма глаукомы с перекрытием угла зрения
острая форма глаукомы с перекрытием угла зрения
-— двоение
Й изобра- расширенный зрачок/
^^^Показания^^
-— двоение
Й изобра- расширенный зрачок/
^^^Показания^^
утрата зрения
утрата зрения
в результате
в результате
глаукомы
глаукомы
угла зрения
угла зрения
периметрия:
периметрия:
затемнение
затемнение
оптическое
оптическое
диска
диска
перекрытие угла зрения
перекрытие угла зрения
хроническое перекрытие
хроническое перекрытие
повышенное внутриглазное давление
повышенное внутриглазное давление
^ офтальмоскопия
^ офтальмоскопия
гомископия
А: спайки радужной
Ш и роговой оболочек
гомископия
А: спайки радужной
Ш и роговой оболочек
острота Ш
острота Ш
та топометрия
та топометрия
дугообразная
дугообразная
скотома
скотома
Тесты
Тесты
п25п25(-8)(-8)НаблюденияНаблюдения(-7),(-7),История: возраст 30История: возраст 30Патофизиологическое состояниеПатофизиологическое состояниеКатегории заболеванияКатегории заболеванияПодтверждеD4 случайПодтверждеD4 случайD1 СреднийD1 СреднийТекущееТекущеелечениелечениес открытымс открытымуглом зренияуглом зренияПериметрия,Периметрия,полнаяполнаяслепотаслепотаДавлениеДавлениеГлаукомаГлаукомаДавление неуправляемо с помощью текущего леченияДавление неуправляемо с помощью текущего леченияПрогрессирующая ' утрата поля зрения, переход к лечению более сильными■средствамиПрогрессирующая ' утрата поля зрения, переход к лечению более сильными■средствами(-2)(-5)(0)(-2)(-3)(-7)(-2)(-5)(0)(-2)(-3)(-7)^ Аккуратное завершение и опробование терапев-Т"з: тического лечения с применением Pilocarpine 1%^ Аккуратное завершение и опробование терапев-Т"з: тического лечения с применением Pilocarpine 1%D« Предположение с большим рискомD« Предположение с большим рискомПланы леченияПланы лечения^ Аккуратное завершение с повтор- 72' ным измерением давления^ Аккуратное завершение с повтор- 72' ным измерением давления^Повторный_ визит через 6 месяцев^Повторный_ визит через 6 месяцев^ Т^: Последовательность терапии для сужения зрачка1 Т4| Pilocarpine 1%1 Т42 Pilocarpine 2%1 Т43 Pilocarpine 3%' T44 Pilocarpine 1%■ T45 Pilocarpine 2%. T46 Pilo 4% Epl 2%1 T47 Pilo 4% Epl 2% и Diamax 500мг,। T4g Хирургическое вмешательство//^ Т^: Последовательность терапии для сужения зрачка1 Т4| Pilocarpine 1%1 Т42 Pilocarpine 2%1 Т43 Pilocarpine 3%' T44 Pilocarpine 1%■ T45 Pilocarpine 2%. T46 Pilo 4% Epl 2%1 T47 Pilo 4% Epl 2% и Diamax 500мг,। T4g Хирургическое вмешательство//(-5)(-5)Pf (-5,-8)Pf (-5,-8)Отсутствие необходимости в риске по поводу хирургического вмешательства DiamaxОтсутствие необходимости в риске по поводу хирургического вмешательства Diamax
п25
п25
(-8)
(-8)
Наблюдения
Наблюдения
(-7),
(-7),
История: возраст 30
История: возраст 30
Патофизиологическое состояние
Патофизиологическое состояние
Категории заболевания
Категории заболевания
Подтвержде
D4 случай
Подтвержде
D4 случай
D1 Средний
D1 Средний
Текущее
Текущее
лечение
лечение
с открытым
с открытым
углом зрения
углом зрения
Периметрия,
Периметрия,
полная
полная
слепота
слепота
Давление
Давление
Глаукома
Глаукома
Давление неуправляемо с помощью текущего лечения
Давление неуправляемо с помощью текущего лечения
Прогрессирующая ' утрата поля зрения, переход к лечению более сильными
■средствами
Прогрессирующая ' утрата поля зрения, переход к лечению более сильными
■средствами
(-2)
(-5)
(0)
(-2)
(-3)
(-7)
(-2)
(-5)
(0)
(-2)
(-3)
(-7)
^ Аккуратное завершение и опробование терапев-
Т"з: тического лечения с применением Pilocarpine 1%
^ Аккуратное завершение и опробование терапев-
Т"з: тического лечения с применением Pilocarpine 1%
D« Предположение с большим риском
D« Предположение с большим риском
Планы лечения
Планы лечения
^ Аккуратное завершение с повтор- 72' ным измерением давления
^ Аккуратное завершение с повтор- 72' ным измерением давления
^Повторный
_ визит через 6 месяцев
^Повторный
_ визит через 6 месяцев
^ Т^: Последовательность терапии для сужения зрачка
1 Т4| Pilocarpine 1%
1 Т42 Pilocarpine 2%
1 Т43 Pilocarpine 3%
' T44 Pilocarpine 1%
■ T45 Pilocarpine 2%
. T46 Pilo 4% Epl 2%
1 T47 Pilo 4% Epl 2% и Diamax 500мг,
। T4g Хирургическое вмешательство//
^ Т^: Последовательность терапии для сужения зрачка
1 Т4| Pilocarpine 1%
1 Т42 Pilocarpine 2%
1 Т43 Pilocarpine 3%
' T44 Pilocarpine 1%
■ T45 Pilocarpine 2%
. T46 Pilo 4% Epl 2%
1 T47 Pilo 4% Epl 2% и Diamax 500мг,
। T4g Хирургическое вмешательство//
(-5)
(-5)
Pf (-5,-8)
Pf (-5,-8)
Отсутствие необходимости в риске по поводу хирургического вмешательства Diamax
Отсутствие необходимости в риске по поводу хирургического вмешательства Diamax
Рис. 81,6. Трехуровневая модель процесса болезни
картой каузальных маршрутов, свойственной пациенту, и категорией заболевания. Модель содержит четыре слоя знаний, три из которых — непосредственно модель заболевания, а четвертый — схемы ее лечения. Модель сетевая. Узлы сети — физиологические состояния, дуги — причинные связи между состояниями. Весь маршрут от начального до конечного состояния обычно отражает полный цикл развития болезни. Продвижение по этому маршруту соответствует нарастанию серьезности заболевания. Ниже слоя патофизиологических состояний находится слой «наблюдений». Узлы — симптомы и проявления, которые, возможно, связаны с различными стадиями болезни. Выше слоя патофизиологических состояний находится слой, ответственный за классификацию заболеваний на уровне более общих понятий. Процесс постановки диагноза сводится к поиску одного или нескольких каузальных маршрутов между патофизиологическими состояниями. Модель реализована в системе CASNET.
Практические приложения продукционной модели. Одной из наиболее известных (и практически результативных) на сегодняшний день является продукционная модель. При применении данной
модели к диагностике все же возникают некоторые проблемы:
поддержание непротиворечивости больших БЗ;
учет предыстории.
Некоторые авторы указывают на то, что продукционные системы имеют предел по количеству используемых правил, выход за этот предел означает, что непротиворечивость знаний в БЗ обеспечить уже практически невозможно. В частности называется цифра в 1000 правил. Используя продукционную модель, достаточно трудно описать процессы, происходящие в организме человека во времени. Кроме того реальные процессы могут быть циклическими, как, например, в случае хронического заболевания.
Условно-практическое приложение затронуто в [42]. Поставлена задача определения прогноза продолжительности жизни. Построена продукционная модель, исходными данными для которой являются вес, сложение, потребление жиров, количество холестерина в крови, потребление соли, раса, происхождение, потребление алкоголя, пол, возраст, характер, курение. На основе исходных данных определяются ожидаемая продолжительность жизни (Зн) и дополнительный фактор риска. Принятие решения основано на формализованном знании экспертов (рис. 82).
На основе продукционной модели создана система MYCIN, которая предназначена для постановки диагнозов и лечения инфекционных болезней. Система решает задачу идентификации поражения организма и определение лечения. Факты в MYCIN запоминаются в виде триплета: контекст - параметр - значение (контекст — это пациент, параметр — атрибут контекста (возраст), значение — экземпляр параметра (25 лет)). Каждому триплету соответствует коэффициент определенности (ПО), определенный на интервале [—1; 1], где — 1 — полное отрицание, +1 — полное утверждение. В начале консультации часть триплетов не укомплектована, некоторые триплеты представляют собой цель консультации. Знания эксперта кодируются в виде* есл11 (предпосылки), то действие ПО,
где предпосылка — конъюнкция триплетов, действие включает присвоение значений параметрам триплетов. Правило может быть применено:
исходя из известной предпосылки с целью присвоить значения параметрам триплета;
исходя из триплета с целью определить, какие триплеты предпосылки необходимо определить.
ПО вычисляется с использованием показателей определенности предпосылки правила и исходного показателя определенности трип-
Рис. 82. Модель продолжительности жизни
лета, если он существовал. ПО предпосылки равен минимуму из показателей составляющих ее предложений, после чего это значение умножается на ПО самого правила (для части, ответственной за действие), отсюда имеет результирующий показатель (РП). Если прежде триплет не существовал, то РП — это ПО триплета, иначе если он уже существует с исходным показателем ИП, то:
ПО = ИП + РП(1 - ИП)РП, ИП > о
по = — (|ИП| + |РП|(1 - |ИП|)) РП,ИП < о
ПО = — (|ИП| + |РП|(1 - шт|ИП|)) РП, ИП < О
Сочетание 1 и — 1 дает в результате 1. MYCIN — одна из широко используемых в мире систем.
Практические приложения критериальных языков. Методы, основанные на определении расстояний. Прежде всего
Рис. 83. Геометрическая интерпретация задачи диагностикиРис. 83. Геометрическая интерпретация задачи диагностикинеобходимо располагать достаточно полным описанием больного и клинических проявлений имеющегося у него заболевания. Это описание представляет собой ряд данных о больном (возраст, вес, температура, результаты анализа крови и др.). Этих данных должно быть много и они должны быть такими, чтобы их было достаточно для постановки диагноза. Выбор этих признаков производится на основе имеющейся врачебной практики. Число признаков при таком описании может быть довольно значительным: несколько десятков, сотен или даже тысяч. Эти данные можно перенумеровать и каждый из этих перенумерованных признаков представить в виде числа. Представление признаков в виде чисел естественно, когда речь идет о таких признаках, как возраст, вес, рост, кровяное давление. Однако числами можно представить (закодировать) и признаки не числовой природы, такие как пол, наличие или отсутствие головной боли, бессоницы и т. д. Так, например, признак, характеризующий сон больного, можно кодировать следующим образом. Если у больного длительная значительная бессоница, то этот признак кодируется цифрой 0, недостаточность продолжительности сна — цифрой 1, нормальный сон — цифрой 2, наличие некоторой сонливости — 3, значительная сонливость — 4. Таким образом, состояние сна больного характеризуется некоторым числом, которое может принимать значения 0,1, 2, 3 и 4. После того как все признаки перенумерованы и в отношении каждого признака установлена система числовых обозначений, совокупность признаков больного характеризуется некоторым рядом чисел Xi, Х^, . . ., Xn_i. Совокупность чисел Xi, . . ., Хп, характеризующих состояние больного, можно геометрически интерпретировать как точку в многомерном пространстве признаков. По осям координат этого пространства откладываются численные значения признаков (рис. 83).
Рис. 83. Геометрическая интерпретация задачи диагностики
Рис. 83. Геометрическая интерпретация задачи диагностики
Пусть теперь перед нами стоит задача дифференциальной диагностики двух заболеваний (обозначим их Л и В) и пусть мы располагаем значительным числом историй болезней больных с заболеваниями Л и В, для которых у нас нет сомнения в правильности поставленного диагноза. Найдем численные характеристики Xi, Х2,. • • , Хи призна
ков каждого из больных и будем каждую из последовательностей Х^. Xs, . . ., Хп изображать точкой. В результате в пространстве признаков появится два множества точек (назовем их Л и В), соответ-
ствующих больным, имеющим заболевание А и соответственно В. В случае, когда пространство признаков трехмерно, эти множества можно представить геометрически наглядно, как показано на рис. 83. На этом рисунке точки, соответствующие больным с болезнью А, лежат отдельно от точек, соответствующих больным с болезнью В. Не представляет труда найти замкнутые поверхности sa и s^, внутри которых лежат точки первого и соответственно второго множеств Л и В. Пусть теперь к нам пришел новый больной и мы хотим узнать, какой из двух болезней, Л или В, он болен. Для этого найдем численные характеристики Xi, Х2, . . ., Xn~i заболевания и соответствующую этим значениям точку в пространстве признаков. Если эта точка лежит внутри поверхности Sa, в гуще точек множества Л, то мы вправе предположить, что у этого больного болезнь Л, аналогично, если эта точка лежит внутри поверхности Sb, в гуще точек множества В, естественно предположить болезнь В. Если же эта точка лежит вне поверхностей Sa и 8ь, следовательно, и вне множеств точек Л и В, то скорее всего у этого больного нет ни заболевания Л, ни заболевания В.
Эта группа методов получила за последние 20 лет значительное развитие. Изначально применялись методы, основанные на количественном выражении клинического опыта (балльная диагностика). Симптомы разделяют на основные и вспомогательные. Главный симптом — 2 балла, вспомогательный — 1 балл. Например, для диагноза «ревматизм» (по данным [34]) считается достаточным установить у больного 1 главный и 2 вспомогательных симптома, менее 4-х баллов ревматизм не ставят, но и не отвергают. При обработке 50-ти историй болезни с диагнозом «ревматизм» при использовании такого подхода получили 48% правильных диагнозов (остальные были не определены). При использовании схемы С. А. Холдина (1962) — 78%. Холдин С. А. предложил формулу: z = Ж1 + Ж2 + . . . . . . + жг, где z — сумма баллов; хт — оценка величины (прогностического значения) признака в баллах, причем баллы, характеризующие тяжесть состояния организма и проведенное лечение, имели разные знаки. В зависимости от z ставились 4 возможных прогноза (метод решает задачу прогноза). Развитие этого метода привело к появлению метода линейных дискриминантных функций (МЛДФ), метода фазовых расстояний и др. МЛДФ основан на определении различий между значениями признака при двух заболеваниях (с учетом предыстории), определяется временное соотношение появления одинаковых значений признака при разных заболеваниях. Сравнение альтернатив происходит на основе так называемой суммы общего упорядоченного ряда: z = хх + ж 2 + . . ., где хт — признак аль-
тернативы %. Необходимо применять некоторые дискриминантные коэффициенты, различные для разных признаков (принцип действительно оказался практически результативным, и его модификация заимствована современными нейронными сетями).
В частности, в источнике [33] описана подобная система. В работе проанализирована диагностическая ценность 2000 признаков при 10 заболеваниях: острая, затяжная, хроническая пневмонии, бронхоэктатическая болезнь, хронический бронхит, бронхиальная астма, туберкулез легких. Материал получен на 480 больных. На основании показателей информативности, полученных по методике А. Л. Шермана, отобраны 303 признака, которые послужили основой диагностической матрицы. Для автоматизированного распознавания применен метод Байеса, экзаменационную выборку наблюдений составили данные о 200 пациентах. Для автоматической классификации применен метод нелинейного отображения выборочных точек (Ь-мерного исходного признакового пространства) в пространство меньшей размерности RL (Lr < L). Особо важными считаются отображения в 2-х, 3-х мерные пространства (поскольку их можно визуализировать). Пусть исходное множество многомерных наблюдений ХДж|,... ^х^. г = 1,... , п, спроектированы в соответствующие п наблюдений У^ = {t/|,... , y^Y При этом попарные расстояния d*- = {ЕХЖ^ ™ ж^)2}1/2, к = между точками Х^ и Xj в исходном Ь-мерном пространстве преобразуются в расстояния dij в Ry: dij = ^ЕХу^ "" IJj^Y^ к = 1,L. В качестве меры искажения конфигурации исходных точек вводится некоторая величина А.
Минимизация функции А достигается в результате итерационной процедуры: на первом шаге набор yi, у% . . ., уи задается произвольно (или с помощью какого-либо метода). Пусть Ат — ошибка отображения после m-ой итерации. Следующая m + 1 итерация задается с учетом некоторого коэффициента а.
А а определяется эмпирически (а ^ 0,3; 0,4). Состояние каждого больного характеризуется 85 симптомами (из анамнеза) объективного и специального обследований. В случае расширения матрицы за счет учета большего числа информативных признаков (385 признаков) результаты значительно лучше. Таким образом, уменьшение размерности вектора признаков ухудшает картину классификации. Отмечено, что клиника протекания бронхита разнообразна. Существует группа больных с хроническим бронхитом, клиника которых характерна, в то же время существуют подгруппы пациентов, клини-
Таблица 37
Результаты диагностирования «методами расстояний»
Машина
Человек
правильно
ошибка
правильно
ошибка
Хронический бронхит
30%
50%
60%
30%
Бронхиальная астма
100%
0%
—
—
Саркоидоз внутригрудных лимфоузлов
50%
50%
—
—
Рак легких
100%
0%
—
—
Острая пневмония
100%
0%
—
—
85 признаков
385 признаков
ка которых практически не отличается от хронической пневмонии. Автор считает, что необходимо четче разграничить эти 2 заболевания.
Весовые коэффициенты. Простейший способ найти эти коэффициенты — определить отношение разности средних величин значения признака для 2-х разных заболеваний к общей дисперсии этого признака при обоих заболеваниях. Способам вычисления таких коэффициентов посвящены многочисленные работы. В теории многомерного шкалирования коэффициентам придается геометрический смысл — поворот (рис. 84). Даны два признака. Точки 1, 2, 3 называются изображениями (это 3 больных). Из рисунка видно, что иногда ни XI, ни X2 не позволяют отличить больного заболеванием А1 от А2, так как проекции точек и на X1 и на X2 совпадают. В этом
Рис. 84. Поворот осей — один из наиболее «эффективных» методов многомерного шкалированияРис. 84. Поворот осей — один из наиболее «эффективных» методов многомерного шкалированияРис. 85. Линейно неразделимые областиРис. 85. Линейно неразделимые области
Рис. 84. Поворот осей — один из наиболее «эффективных» методов многомерного шкалирования
Рис. 84. Поворот осей — один из наиболее «эффективных» методов многомерного шкалирования
Рис. 85. Линейно неразделимые области
Рис. 85. Линейно неразделимые области
случае осуществляют поворот оси координат. На оси Z проекции уже не совпадают. В пространстве признаков в принципе всегда можно найти две области, в одной из которых сосредоточены все точки, изображающие состояние больного заболеванием А1, а в другой —
точки, изображающие состояние больного с заболеванием Л2, если эти состояния различны. Отыскание оси Z — достаточно сложная задача, хотя само решающее правило относительно простое. Данный метод имеет ограничения при сложном характере взаимосвязи между величиной признака и вероятностью заболеваний Л1 и Л2, при неполном обследовании больного (рис. 85). Области в пространстве соответствуют состояниям больных с заболеванием Л1 и Л2. Показаны проекции этих осей на оси признаков и дискриминантную ось Z. Представлен случай, когда проекции Л1 и Л2 в значительной мере перекрываются, поэтому ось Z расположена так, чтобы это перекрытие было минимально. Зоны, где проекции перекрывают друг друга, обозначены утолщенной линией.
Таксономия. В биологии существует раздел таксономия. занимающийся систематизацией классов в зоологии. Область применения таксономии также была расширена для классификации других предметов и явлений. Предположения, что переходные области классов являются размытыми и предметы в классе принадлежат к различным множествам, вызвали появление новой теории. Раньше классы полагались дихотомическими, с резко выраженными границами, теперь последние рассматриваются как нечеткие и размытые. В численной таксономии предложены два способа классификации, основанные на «полном подобии объектов, которые могут быть классифицированы», и на «использовании всех имеющихся в нашем распоряжении характеристик без введения каких-либо весовых коэффициентов». Распределение по группам и классам осуществляется исходя не из единственного признака, а из совокупности ряда признаков, в частности на основании сравнительного подобия. Сравнение начинается с определения «единичных» характеристик, которые нельзя разделить на независимые характеристики. Затем «операционные таксономические единицы» (ОТЕ — элементы, события, люди, предметы, которые должны быть классифицированы) объединяются в группы с учетом сходства и различия их свойств. Предмету соответствует точка в многомерном пространстве, значит, можно составить матрицы смежности. Расстояние вводится в произвольной метрике. В частности, в [39] указаны 3 способа таксономической оценки сходства:
коэффициенты ассоциации;
коэффициенты корреляции;
показатели расстояния.
Простейший коэффициент ассоциативности может быть представлен отношением количества совпадающих признаков, сравниваемых ОТЕ, к количеству несовпадающих. Таким образом, коэффициент стремится к 0 при полном совпадении и к 1 при полном несовпадении. В таксономии выработаны некоторые удобные виды таких коэффициентов.
Пример. Даны k-я и j-я таксономические единицы. Пусть число признаков, имеющихся у обоих ОТЕ, равно ?гц, число отсутствующих признаков — 7100- Общее число признаков, имеющихся у первой и отсутствующих у второй таксономической единицы, равно 7110, обратная комбинация — tiqi. Числа представлены в табл. 38, где также указаны суммы по рядам и столбцам. Для этих сумм используются принятые в математической статистике обозначения, т. е. 71оо + ^01 = по. Принято также записывать число совпадающих и несовпадающих пар признаков, обозначаемых соответственно т И 17, где 771 = 71 00 + ^ц, 17 = 71Q1 + 71щ, 771 + 17 = 71. ТаКИМ образом, существуют т признаков, по которым в обоих ОТЕ имеется совпадение, т. е. у обоих 0 или 1, и U признаков, по которым имеется расхождение. Простейший коэффициент ассоциации Si = тп/п.
Таблица 38
Сравнение признаков 2-х ОТЕ
k-я ОТЕ
j-я ОТЕ
0
1
Сумма
Признак 0
Noo
Ми
м
Признак 1
и
Ml
Ml
Сумма
Мо
Mi
N
Построение пространства признаков играет ключевую роль. В самом деле, нельзя приписывать сходство червям и млекопитающим из-за того, что у них отсутствуют крылья (или наоборот необходимо приписывать сходство по наличию крыльев летучим мышам и насекомым). Это может привести к появлению большой группы признаков, учет которых искусственно приведет к изменению степени сходства. Поэтому следует «исключить совпадения». При исключении по отсутствию признака:
5*2 = пц/(пц + 17), обычно (но не всегда) S Е [0,1].
Приводится также так называемый коэффициент Юла:
§4 = (71Ц71ОО - По171ю)/(711171QO + ^0171ю).
Он принимает значение 1 при 7101 = 0,-1 при 71ц = 0 или 71оо = 0, равенство 0 указывает на статистическую независимость признаков.
Таксономические коэффициенты корреляции не имеют каких- либо особенностей. Обычно применяются к непрерывным переменным или к дискретным переменным, характеризующимся некоторой упорядоченностью. Описаны различные частные виды коэффициентов. Лучше других известен коэффициент корреляции смешанных моментов, используемый для измерения сходства между двумя ОТЕ. Допустим, все элементы основной матрицы п х I — непрерывные переменные, тогда для j-й таксономической единицы имеем п измерений, обозначаемых ж^-, i = 1,. . . п. Пусть среднее значение этих величин равно АДср. Аналогично для k-й таксономической единицы имеются измерения ж^, г = 1,. . . , п, со средним Хд.ср.
^гк ^/^ ^^^ ] ?
сумма во всех случаях 1, . . . , п, г = — 1 — полная отрицательная корреляция. Определить точный смысл этого критерия часто бывает трудно, однако ясно, что это определенный числовой показатель ассоциативности. Если допустить, что рассматриваемая случайная величина характеризуется двухмерным распределением, то можно применить статистический критерий значимости и установить, например, является ли значимым отличие данного коэффициента от О или различие 2-х коэффициентов друг от друга.
Показатели расстояния. При использовании показателей расстояния возникают определенные проблемы при нормировании, поскольку относительные веса признаков сильно зависят от типа используемой шкалы. Один из возможных способов решения — кодировать каждую случайную величину в интервале [ОД] и оперировать нормированными значениями.
Другая проблема состоит в выборе «решающего правила» или, что тоже самое, математического вида «разделяющей функции». На рис. 85 показана ситуация, когда задачу нельзя решить при помощи функции линейного вида. Необходима либо функция высшего порядка, либо ее кусочная аппроксимация. В самом деле, Вы не сможете провести прямую линию так, чтобы все точки незаштри- хованной области и заштрихованной остались по разные стороны от нее. Гибридные методы сочетают в себе элементы различных подходов. В частности, к таким методикам относится методика определения прогноза течения заболевания и его исхода. Для определения прогноза учитываются независимые функциональные признаки, критические границы изменения этих признаков, веса. Для коррекции состояния больного вводится функция лечебных воздействий, зависящая от времени, время считается неоднородным (различают
латентный период, время реакции на воздействие, время накопления воздействий); вводится функция управления (от лечебных воздействий), и каждое воздействие характеризуется дозой. Отмечается, что медико-биологические признаки коррелируют между собой, и после лечебных воздействий необходимо их корректировать.
Последние 10 лет активно ведутся разработки по применению элементов теории функционального анализа в искусственном интеллекте. В частности, разрабатываются сетевые модели представления знаний. В публикации [43] рассмотрены некоторые результаты применения программной системы, основанной на нейронной сети, для диагностирования инфаркта миокарда. Использовались 20 параметров. Показатель правильных диагнозов составил 92% и 4% ложных. В работе указано, что основной проблемой при распознавании инфаркта миокарда врачами является большое количество ложных тревог (до 29%), альтернативные методы рассматриваются через следующие критерии: чувствительность и специфичность метода. Идеальный метод диагностики должен, во-первых, не пропускать ни одного действительно больного человека, а во-вторых, не пугать здоровых людей. Рассмотрены также применения сетей к диагностике рака и расшифровке ЭКГ.
Применяемый формальный метод в значительной мере зависит от имеющихся исходных данных. Исходные данные определяются конкретной предметной областью. Признаки объектов и явлений подразделяются на детерминированные, вероятностные, логические и структурные [36]. Исходные данные: графики, измерения, выполненные на различных шкалах, булевые результаты анализов и др. Источник [38] обращает внимание на то, что исходные данные измерены на различных шкалах. Если не учитывать этот факт при построении решающего правила, то результат принятия решения может оказаться бессмысленным. Задачи формирования пространства признаков и сбора исходных данных сами по себе являются очень сложными, едва ли не более сложными, чем построение решающего правила. Поэтому существуют работы, целиком посвященные некоторым аспектам этих задач. В частности, [40] указывает на то, что после того, как определены основные требования к пространству признаков, необходимо создать так называемые стандартизованные истории болезней (СПБ) (табл. 39). Такие СПБ будут различны для кардиологического, неврологического и других профилей. Такая СПБ должна быть интерактивной, поэтому существует задача построения сценария диалога. Создание диалоговых систем, ориентированных на конечного пользователя, — важная предпосылка для использования ВТ непосредственно специалистами. Суть подхода,
предлагаемого [40], заключается в том, чтобы объединить средства управления диалогом и средства управления данными на основе:
разработки языка описания сценария диалога (включая язык манипулирования БД);
унификация описания сценария диалога и ЯМД — независимость аппарата ведения данных от СУБД.
Таблица 39
Пример диалога с медицинской ЭС
№
Вопросы
Ответы
Переход
1
Жалобы обожженного
Есть
Нет
На 2
На 15
2
Общая слабость
Есть
Нет
НаЗ
3
Жжение в области ожогов
Есть
Нет
На 4 НаО
15
Обстоятельства и причины травмы
На воздухе
В закрытом помещении
На 16
На 27
Сводная таблица некоторых широко известныхинтеллектуальных систем
Дата, место разработки, коллектив разработчиков
Наименование
Назначение
Принципы функционирования
Разновидности
Особенности
Стэнфордский университет, 1965-83
DENDRAL
Распознавание химических структур. Пользователь дает системе некоторую информацию о веществе, а также данные спектрометрии (инфракрасной, ядерного магнитного резонанса и масс- спектрометрии), и та в свою очередь выдает диагноз в виде соответствующей химической структуры
Правила
GENOA, МЕТА- DENDRAL (1970-76)
Современная разновидность называется GENOA
Стэнфордский университет, 1972-80
MYCIN
Рекомендация в лечении заболеваний крови
Правила продукций (около 500), обратная цепочка с коэффициентами уверенности и эвристиками. Запоминает сеансы работы в БД. Процент правильных диагнозов достигает 70
EMYCIN, PUFF, NEOMYCIN
Язык LISP. Последовательно задает все более узкие уточняющие ситуацию вопросы. Временами вопросы получаются глупыми
Приложения
Стэнфордский университет, 1974-77
TEIRESIAS
Программа для извлечения знаний для дальнейшего занесения в БЗ MYCIN
Одна из целого комплекса программ, разработанных для поддержки MY CIN. Позднее многие из них вошли в EMYCIN
EMYCIN
Самая первая оболочка ЭС. Создана на основе MYCIN
PUFF
Анализ нарушений дыхания. Создана на основе EMYCIN
1977-80
CENTAUR
Решает те же задачи, что и PUFF
Гибридная модель: правила продукций и фреймы
Создана, чтобы сравнить эффективность фреймового и продукционного подходов и оба с гибридным. Состоит из двух частей (потому так и называется)
Стэндфордский университет
NEOMYCIN
Обновленная MYCIN. Предназначена для обучения молодых докторов
Решена проблема «смешения понятий при большом числе правил», введена процедура контроля на «глупые вопросы», которые временами задавала MYCIN; порядок вопросов, задаваемых системой, стал оптимизироваться
Использует специально разработанный классификатор болезней, организованный в виде фреймов
Сводная таблица некоторых широко известных интеллектуальных систем
1975-84
MOLGEN
Поддержка исследований в молекулярной биологии
Фреймовая модель
Более современна модификация — SPEX; самая последняя MOLGEN-II
Одна из наиболее сложных систем
1978-81
QUIST
Поддержка «почти естественного» языка при запросах к БД. Оптимизация запросов
Корпорация DEC, 1985
XCON
Помогает пользователям выбрать конфигурацию компьютера
Несколько тысяч правил. Прямой вывод
RuleWorks
До сих пор используется компанией Compaq, поскольку число комплектующих, из которых может быть собрана машина, для клиента очень велико
Университет Райт (Огайо, США)
AIDS prevention
Сокращение риска заразиться СПИДом
Основана на модели прецедентов (БЗ на 75 штук). Прецедент состоит из истории больного и внешних обстоятельств. Специальная функция подыскивает прецедент, похожий на пациента, и советует, что ему делать
Рэдиан корпо- рейшн, США
WILLARD
Предсказание погоды (бурь в центральной части США)
Продукционная модель. Правила обкатаны на многолетних данных о погоде
Создана на основе оболочки RULEMASTER
Приложения
Intelligent Applications Ltd.
AMETHYST
Диагностика неисправностей в машинах с вращающимися частями
Продукционная модель
Создана на основе оболочки Crystal. Интерфейс с датчиками вибрации
EXSOFS
Предлагает вариант устройства фундамента на конкретной площадке с конкретным типом почв
Продукционная модель
Связь с Dbase IV. Умеет отвечать на вопросы «а что если?» Создана на основе Crystal-подобной оболочки
РОММЕ
Управление яблочным садом: болезни, насекомые, замораживание, сорняки, засуха
Продукционная модель
Prolog. Состоит из двух подсистем, одна их которых моделирует развитие инфекции в саду
Compaq
SMART
Помогает инженерам, работающим на «горячей линии», отвечать на звонки неопытных клиентов
Основана на модели прецедентов
Имеет специальную систему систематизации случаев (прецедентов)
Португалия, Гидроэлектростанция в Iberduero- Labein
CONTROL OF PLANT (Alarm system)
Анализирует и интерпретирует информацию от автоматической системы оповещения (более 100 различных опасностей)
Продукционная модель + специальная мат. модель
Система реального времени. Позволяет определитьопас
ность, локализовать неисправность, отследить развитие ситуации, рекомендовать действия и собирать статистику
Сводная таблица некоторых широко известных интеллектуальных систем
GTE Labs inc.
COMPASS
Определение неисправностей в телефонном оборудовании
Продукционная модель + прецеденты
Создана на основе оболочки КЕЕ. Интегрирована с оборудованием телефонной станции
Prospector
Содействие поиску коммерчески оправданных ме сторожд е н и й полезных ископаемых
Каун О.П.,
Силич В .A.,
Силич М.П., г. Томск, 2000
ESISP
Продукционная система с нечеткой логикой. Применяется в основном для иллюстрации модели на занятиях ИИ
Из источника
[42]
ЕХРОВ
Учебная система, довольно распространенная в ВУЗах России
Приложения
Примерные планы практических работ
«Правильная постановка целей».
Цель работы; выработать у обучаемого навыки правильного выделения целей системы, ее декомпозиции и поиска возможных (как можно больше) путей ее достижения.
Содержание работы; цель, дерево целей, декомпозиция целей; факты и правила; прямая и обратная цепочка рассуждений.
Постановка задачи примером. Одно из возможных определений интеллектуальной программы — это компьютерная программа, управляемая целями, а не данными. При разработке такой программы в первую очередь следует думать не об алгоритме, а о целях, которые данная программа должна достигать.
Цель системы можно понять неправильно, либо правильно, но неточно. Умение правильно и точно определять цели, достигаемые при применении интеллектуальной программы — одно из базовых умений специалиста по ИИ.
Пример. Вам поставлена задача: «Создать компьютерную программу, которая оценит, умеет ли ребенок считать».
Студенты предлагают свои варианты алгоритма. Все эти варианты страдают неполнотой, поскольку сама цель, фактически, не сформулирована. Что значит «уметь считать»? Следует ли, проверять, например, знание дифференциального исчисления? А формул сокращенного умножения?
Определение цели. В ходе обсуждения вы приходите к выводу, что в действительности следует проверить, знает ли ребенок арифметику.
Студенты предлагают свои варианты тестовых заданий на знание арифметики. На этот раз решение кажется им очевидным и почти единственным. Обратите их внимание на вопрос об оценке знаний в случае, если ребенок часть тестов выполнит правильно, а часть ошибочно. Как оценить общий результат? Следует ли считать, что цель «знаю арифметику» не достигнута, если из 10 тестовых заданий 2 выполнены с ошибкой?
Уточнение цели. Возможны два уточнения цели: «определить, насколько хорошо ребенок знает арифметику» и «определить, знает ли ребенок арифметику безошибочно».
Декомпозиция уточненной цели, построение дерева целей системы с указанием степени достижения цели. Возможны несколько правильных вариантов декомпозиции, различающихся количеством и порядком следования подцелей, т. е. экономичностью модели.
Рис. 86. Фрагмент возможного дерева целей
Студентам предлагается самостоятельно решить ряд аналогичных задач.
Студентам предлагается написать программу на одном из языков программирования, реализующую решенную задачу.
Задания.
Как добраться на работу вовремя.
Как сделать салат.
Как узнать, хочет ли кошка есть.
Тест: знаете ли вы английскую грамматику?
Загадка: «угадай животное» (птица, зверь или рыба).
Как получить диплом специалиста.
Обсуждение работы.
При построении дерева целей можно использовать, по крайней мере, две различные стратегии, основанные на рассуждениях вида:
что нужно сделать, чтобы получить заданный результат;
что получится, если я поступлю «вот так».
Первая хороша тем, что позволяет относительно быстро наметить план действий, приводящий к достижению поставленной цели. Например, «для того, чтобы достать высоко висящий предмет, следует подпрыгнуть и схватить, а при неудаче — подставить ящик, подпрыгнуть и схватить». При таком подходе мы как бы «обслуживаем заданную цель», поясняем, какими путями она точно могла бы быть достигнута, идем от цели к фактам. Варианты, которые мы генерируем, обладают различной экономичностью. Некоторые из них приводят к цели за малое число «сложных» шагов, другие требуют много «простых» шагов. Например, получить диплом можно «экстерном» или обучаясь на протяжении 5 лет.
Преимущество второй стратегии в том, что, проанализировав каждое из возможных действий, можно выработать оптимальную последовательность действий (например, самую короткую). Пример: «если я подпрыгну, то, возможно, схвачу высоко висящий предмет», «если я встану на ящик, то точно смогу достать выше, подпрыгнув».
Перебирая такие последовательности, мы рано или поздно найдем ту, которая приводит к поставленной цели. Здесь мы идем от фактов к цели.
Первую стратегию называют нисходящей или, что тоже самое, «обратной цепочкой рассуждений», вторую — восходящей или прямой.
Прямая цепочка не обязательно приводит к достижению поставленной цели. В общем случае два дерева целей, про которые известно, что они оба приводят к достижению поставленной цели, но получены на основе разных стратегий, различны.
Дерево целей может быть получено методом «встречной волны», когда анализируются противоречия между результатами обратной и прямой волны. Такое дерево обеспечивает оптимальный путь достижения цели.
Итоги работы. Разработка программы состояла из:
определения целей;
определения фактов, имеющих отношение к этим целям (важно, чтобы факты исчерпывающе соответствовали своей цели, например при проверке «знает ли ребенок правила сложения» следует проверить знание сложения с «О», с «1», без переноса разряда, с переносом разряда);
получение данных, соответствующих фактам, характеристик для заданной ситуации или объекта;
оценки данных, используя правила и механизм вывода.
«Элементы формальной логики для управления техническими устройствами».
Цель практики; выработать у обучаемых навыки записи задач в виде уравнений математической логики, продемонстрировать достоинства и недостатки такого метода управления техническими устройствами.
Содержание практики; анализ задачи (выделение сущностей и отношений), преобразования формул к удобному виду (ДНФ и др.). Оценка вычислительных затрат на всю систему уравнений и на каждое уравнение в частности и установление оптимального в некотором смысле порядка следования переменных в уравнении и уравнений в системе.
Задания. Написать программу на заданную тему.
Интеллектуальный лифт. При примерно одновременном нажатии кнопок вызова с разных этажей направляется сначала к ближайшему этажу.
Диагностика заболеваний у собаки (на основе приведенного фрагмента текста).
Интеллектуальный выключатель света. Посетитель гостиницы идет по этажам. Свет включается перед ним и выключается после того, как посетитель прошел этаж.
Классификации (животные, книги, произвольные и т. п.) Приблизительный внешний вид результатов работы;
¥1 = Xi + Х2 х Х3
¥2 = Х4 + Хх х Х3
где ¥ — имена заболеваний, а X — названия симптомов.
Некоторые типичные трудности. 1. Построение формул, образующих циклы в определении. 2. Неспособность выделять сущности, заданные неявно. Так, например, в тексте о болезнях собак такой сущностью является слово «воспаление». В тексте его нет, но оно подразумевается. Если эту сущность не выразить явно, то формальная модель не получится связной, нельзя будет от симптомов последовательно дойти до имени болезни.
Материалы к заданиям.
Дерматомикозы: стригущий лишай, парша. Вызываются патогенными низшими грибами. Характеризуются очаговыми выпадениями волос и воспалительными процессами в коже. Болеют собаки всех возрастов. Возбудители, попадая на кожу, при соответствующих условиях (микротрещины, снижение сопротивляемости) разрастаются в эпидермисе, дерме, волосяных фолликулах, шерсти. Организм собаки реагирует воспалительным процессом. Нарушение питания и воспаление фолликулов приводит к выпадению шерсти.
Признаки: появление на коже головы, шеи, реже других мест, ограниченных пятен округлой формы. В месте поражения обламывается и выпадает шерсть, образуются бугорки и корочки. Кожа покрасневшая, припухшая, под корочками иногда сочится гной. Зуд не выражен или выражен слабо, собака обычно не расчесывает пораженные места.
Парша проявляется образованием на коже толстых сероватожелтых корок. Возможно самовыздоровление животных.
Диагностика. Стригущий лишай отличается от других заболеваний кожи сочетанием клинических признаков: ограниченное выпадение волос, корочки и отсутствие зуда. При облучении невидимым ультрафиолетом (лампой Вуда) пораженные грибом Microsporum участки люминесцируют желто-зеленым светом. Парша у собак встречается редко. Окончательный диагноз ставят с помощью лабораторных исследований.
Демодекоз. Заболевание, вызываемое паразитирующими в коже микроскопическими клещами Demodex canis. Клещ проникает в кожу собаки при непосредственном контакте, а также при контакте с предметами ухода за больной собакой. Поселяется в волосяных луковицах и сальных железах. Механически, а также своими выделениями раздражает кожу, вызывая воспалительный процесс.
Признаки. Чаще болеют молодые собаки. Первичные очаги де- модекоза обнаруживают, как правило, на голове: нижней челюсти, спинке носа, веках, губах. Часто поражается кожа в области локтевого и скакательного суставов. В месте поражения кожа утолщается, краснеет, становится складчатой, волосы выпадают полностью или частично. Может образовываться толстый слой ороговевшего эпидермиса, особенно на суставных сгибах. У основания волос образуются мелкие пузырьки (пустулы), заполненные гноем. Они лучше видны на подбородке. Зуд практически отсутствует.
Эктопаразитозы: вши, блохи, власоеды. Паразитирующие на коже нелетающие насекомые. Вши — чернокоричневые, бескрылые, уплощенные сверху вниз насекомые величиной 1,6-2,4 мм. Жизненный цикл полностью протекает на собаке. Питаются кровью. Блохи — черно-коричневые, уплощенные с боков, прыгающие насекомые величиной 2-4 мм. Способны долгое время выживать вне собаки на почве, траве, подстилке, в щелях пола, перебираясь, при возможности, на нового хозяина. Питаются кровью. Нападают на людей.
Власоеды — бледно-желтые уплощенные насекомые величиной 1-2 мм. Питаются чешуйками эпидермиса, кровью и лимфой из ссадин и ранок. Передвигаясь и питаясь, насекомые-эктопаразиты сильно беспокоят собаку. Особенно болезненны укусы блох. Выделения паразитов обладают аллергенными свойствами. Собаки расчесывают зудящие места, травмируют кожу. Блохи и вши скапливаются в малодоступных для собаки местах — на голове, шее, вдоль позвоночника, на крестце.
При большом количестве эктопаразитов собаки худеют, постоянно чешутся, стонут, взвизгивают. У них может развиться анемия. Паразиты обнаруживаются при осмотре. Собаки делают характерные движения («клацают зубами») при ловле блох. Самый постоянный признак — расчесы вследствие кожного зуда.
«Программирование на языке Prolog».
Цель практики. Выработать у обучаемого навыки графического описания задачи в виде дерева. Отработать практические вопросы поиска на графе. Получить навыки написания рекурсивных про-
грамм. Изучить основные синтаксические конструкции языка. Получить практическое представление о работе конечных автоматов.
Содержание практики. Анализ задачи, построение дерева и выбор оптимальной стратегии перебора. Прямая и обратная цепочки рассуждений.
Задания; написать программу.
Найти выход из квадратного лабиринта (начальная точка задана).
Проверить, является ли некоторое выражение допустимым с точки зрения некоторой грамматики.
Классификация (дихотомия).
Электронный консультант «Какую модель ЭВМ купить?»
Не зная о принципах организации Eliza, попытаться написать аналог Eliza.
Далее задачи, не очевидные человеку, ввод-вывод на Prolog.
Есть ли дорога между городами X и У? Дана карта-схема автодорог.
Какова длина пути из города X в город У?
Диагностика заболеваний у собак (описание заболеваний приведено выше).
Знаете ли Вы английскую грамматику?
Написать базу данных, описывающую животных черного цвета, а затем составить запрос на вывод всех черных животных, но не медведя.
Бутси — коричневая кошка. Корни — черная кошка. Мэкте- вити — рыжая кошка. Флэш, Ровер, Спот — собаки. Ровер — рыжая. Спот — белая. Все животные, которыми владеют Том и Кейт, имеют родословные. Том владеет всеми черными и коричневыми животными. Кейт владеет всеми собаками не белого цвета, которые не являются собственностью Тома. Алан владеет Мактевити, если Кейт не владеет Бутси и если Спот не имеет родословной. Флэш — пятнистая собака. Определить, какие животные не имеют хозяев. Ответ — Спот.
Разбить введенное слово на слоги.
«Синтаксис и Рекурсия на Prolog».
Вывести на экран целые числа в порядке убывания от заданного.
Вычислить факториал заданного числа.
Вывести на экран целые числа в порядке убывания от заданного до заданного.
Возвести число в степень на Prolog.
Вычислить арифметическую прогрессию.
Задача повышенной трудности «Волк, Коза, Капуста, Фермер».
«Построение СС на основе фрагмента текста».
Цель практики: активизировать ассоциативное мышление обучаемых, научить строить простейшие семантические сети, показать проблемы, возникающие при определении типа отношений в сети.
Содержание практики: анализ задачи, построение сети, применение методов вывода на сетях.
Ход работы. Начнем с разминки: возьмите лист бумаги и нарисуйте в центре слово «Замок». Подумайте об ассоциациях, скажем, «король», «стены» и «враги». Соедините каждое слово со словом «Замок» линией и надпишите над линиями глаголы, выражающие отношения: «враги за стеной», «король в замке» и т. п.
Задания. Построить граф с указанием типов отношений и вершин:
институт;
семья;
государство;
автомобиль;
пароход;
покупка в магазине;
самолет;
сравнение двух текстовых строк;
разобрать введенное предложение по членам предложения.
Возможны 2 формы без применения ЭВМ. Форма сдачи — отчет. Или написание программы на Prolog или Pascal.
«Создание фрейма — визуального образа».
Цель практики. Показать глубинный смысл понятия «фрейм» и его схожесть с понятием «объект». Показать область применения фреймов для моделирования событий реального мира. Получить опыт работы с механизмом обмена сообщениями (объектной модели).
Содержание практики: анализ задачи, построение фрейма, реализация на алгоритмическом языке.
Задания. Написать программу «Фрейм — визуальный образ».
Игра: кошки-мышки. На экране случайным образом порождаются кошки и мыши. Если кошка видит мышь, она гонится за ней.
Мышь убегает. Если кошка поймала мышь, то мышь умирает. Если одна кошка бросится сразу на 3 мыши, то загрызут саму кошку.
Игра: кошка — мышка — собака. Правила аналогичны.
Заставка экрана: мячики, отскакивающие друг от друга. По экрану летают мячики, при ударе друг о друга или стенки экрана отскакивают.
Стадион (фреймы «люди», фрейм «страх»): смоделировать развитие беспорядков.
Автомобильный перекресток.
«Создание не визуального фрейма».
Цель практики', показать глубинный смысл понятия «фрейм», показать обучаемым, что объект — это совсем не обязательно визуальный образ.
Задания. Написать программу «Фрейм как не визуальный образ»:
матрица результатов тестирования;
матрица уравнений (с методами решить, ввести данные и т. п.)
«Работа с оболочкой ЭС».
Задания. Написать программу на основе формулы Байеса.
Медицинская диагностика желтухи у человека (по материалам соответствующей лекции).
Ветеринарная диагностика на основе формулы Байеса, на основе отрывка текста. Вероятностные оценки симптомов, при необходимости оценить самостоятельно.
На основе критериальной свертки.
Медицинская диагностика желтухи у человека (по материалам соответствующей лекции).
Ветеринарная диагностика.
«Разработка простейшей ЭС на инструментальном языке».
Цель работы. Закрепить весь комплекс полученных знаний, умений и навыков. Получить навык самостоятельной постановки задач.
Требования к результатам: решение достаточно размерной задачи, например, с участием до 10 разных сущностей.
Задания.
Прогнозирование курса доллара на основе данных с Интернет сайтов (например, разных валютных бирж).
Медицинская диагностика до 10 заболеваний.
Оценка успеваемости группы студентов и ранжирование студентов в пространстве Осгуда.
5. Некоторые тесты
Приводимые тесты могут оказаться полезными для оперативной самопроверки. Большое количество подобных тестов в электронном виде можно найти на сайте оболочки информационнообразовательной среды «Chopin» http://altnet.ru/~mcsmall/index.htm или при помощи любой поисковой машины по запросу «FLTS», «light», оболочка «Chopin» и т. п.
Некоторые основные термины и области применения ИИ
№
Вопрос
Варианты ответа
1.
Укажите наиболее точное, по Вашему мнению, определение интеллектуальной системы
Система, способная целеустремленно менять параметры и сам способ своего поведения
Система, способная менять параметры своего поведения
Система, способная обучаться
2.
По Вашему мнению, знания всегда задаются через
интенсионал понятия
любым образом
экстенсионал понятия
3.
По Вашему мнению, термины «декларативная информация» и «присоединенная процедура»
зависят от контекста
совершенно разные вещи
одно и то же
4.
По Вашему мнению, какова мощность пространства состояний системы «пешеходный светофор» («стойте-идите»)?
четыре
бесконечна
два
5.
По Вашему мнению, система «выстрел из пушки» является
целенаправленной
зависит от контекста
целеустремленной
6.
По Вашему мнению, термины «модель представления знаний» и «язык представления знаний»
означают пересекающиеся, но разные вещи
означают совершенно разные вещи
означают одно и то же
7.
По Вашему мнению, медицина является
подобные определения к медицине не применяются
хорошо структурированной областью знаний
слабо структурированной областью знаний
8.
По Вашему мнению, что такое «биомашина»?
машина, в точности соответствующая структуре живого существа
живое существо, управляемое некоторой машиной
машина, имеющая своей частью живое существо
9.
По Вашему мнению, работы в области создания человекообразных роботов
выполняются скорее в рекламных целях
имеют большое практическое значение
широко велись в основном в 60-х гг.
10.
По Вашему мнению, устойчивость (надежность) некоторой модели представления знаний (применительно к некоторой предметной области) следует рассматривать
как безусловное преимущество
скорее как недостаток
говорить о надежности МПЗ нс имеет смысла
11.
По Вашему мнению, является ли характеристика «экономичности» важной для моделей ИИ?
в большинстве реальных ситуаций ею можно пренебречь
нет, не является
да, является
Основные понятия логической моделипредставления знаний
№
Вопрос
Варианты ответа
1.
По Вашему мнению, имена «стол» и «стул» следует отнести к
пустым именам
именам общим
именам единичным
2.
По Вашему мнению, описание «комната с маленьким окном и очень большой температурой внутри»
задает экстенсионал имени «баня»
задает объем имени «баня»
задает содержание имени «баня»
3.
По Вашему мнению, логический класс «ученики 10-го класса» является
сложным
простым
4.
По Вашему мнению, если мы выберем из некоторого текста ключевые слова и приведем их к единой морфологической форме и написанию, то получим простейший
тезаурус
нормативный словарь
дескрипторный словарь
5.
По Вашему мнению, между понятиями «исчисление высказываний» и «исчисление предикатов»
имеются четко выражаемые в булевой алгебре отличия
никакой разницы нет
имеется незначительная разница
6.
По Вашему мнению, сколько всего существует правильных модусов силлогизма?
1.256
2.24
3. 19
7.
По Вашему мнению, конъюнкция — это связка вида
«И»
«ИЛИ»
исключающее «ИЛИ»
8.
По Вашему мнению, рассматриваются ли в современных системах ИИ противоречивые исчисления?
В широко известных нет
Чаще всего исчисление получается противоречивым из-за ошибки программиста
Да, конечно
9.
По Вашему мнению, применим ли принцип резолюций к исчислению второго порядка?
Не применим ни к ИП первого, ни второго порядков
Да, конечно
Нет, только первого порядка
10.
По Вашему мнению, имеется разница между понятиями «вероятности события» и «степени уверенности (по Л. Заде)»?
Это идентичные понятия
Это совершенно разные понятия
Имеется некоторое пересечение, но понятия разные
Основы языка Prolog
№
Вопрос
Варианты ответа
1.
По Вашему мнению, имеет ли список заданную длину, равную 4?
длина([ 10,[11,11],12], 4)
1.Да
2. Нет
2.
Установите, сопоставляется ли данная пара: [ЖАК, ЖИЛЬ] и [А,В | С]
1. Нет 2-Да
3.
Установите, сопоставляется ли данная пара: [дом, осел, лошадь] и
[Н,Т]
Нет
Да
4.
По Вашему мнению, какие из приведенных цепочек являются атомами?
человек(георгий)
весьма_длинная_последовательность_ знаков
З.б
В
’ человек(георгий) ’
5.
Определите размерность структуры квартет (скрипка первая, скрипка вторая, виолончель, бас)
1. 16
2.4
3.6
4. данное выражение не является структурой
6.
По Вашему мнению, раздел программы на Prolog, предназначенный для задания внутренних баз данных объявляется как:
domains
clauses
goals;
predicates
databases
7.
По Вашему мнению, операция отсечения в Prolog обозначается
символом «%»
оператором «cut»
оператором «!»
такой операции в Prolog нет
8.
Укажите допустимые в Prolog реляционные операторы
«>»
«<»
«=»
«=>»
«<=»
«<>»
«><»
«<=>»
9.
По Вашему мнению, какие из фрагментов программы на Prolog позволяют вычислить выражение и вывести результат?
Фрагмент А)
GOAL
а=4+2, write(A)
Фрагмент В)
GOAL
А=4+2
Фрагмент С)
GOAL
_:=4+2
Фрагмент D)
Ни один из фрагментов
10.
Эквивалентны ли с точки зрения Prolog приведенные фрагменты?
Фрагмент А)
road(« Cansas »,« Татра») road(«Tampa»,«Cansas») road(« Татра», «Houston») Фрагмент В)
road(«Cansas»,«Татра») road(« Татра», «Houston»)
фрагменты эквивалентны
это зависит от версии Prolog 3. фрагменты нс эквивалентны 4. зависит от стратегии вывода
Основы объектной модели
№
Вопрос
Варианты ответа
1.
По Вашему мнению, инкапсуляция — это
механизм обеспечения наследования в объектах
совершенно бессмысленное слово 3. способ объединения кода и данных в объектах
2.
По Вашему мнению, может ли один и тот же терминал входить в 2 разных фрейма одной системы ?
зависит от контекста
не может
может
3.
По Вашему мнению, для обмена данными в ООП используется
глобальная переменная
локальная переменная
механизм «сообщений»
4.
По Вашему мнению, представление знаний фреймами эффективно при
анализе пространственных сцен
автоматическом переводе
проектировании микросхем
распознавании текста
5.
По Вашему мнению, к основным свойствам объектов относится
полиморфизм
наследование
инкапсуляция
6.
По Вашему мнению, нижние уровни фрейма-экземпляра
называются «маркерами»
заполнены характерными примерами или данными
пусты
7.
По Вашему мнению, объекты- экземпляры, которые во время выполнения программы могут принимать различные формы представления от объекта своего типа до любого из потомков, называют
полиморфными
виртуальными
динамическими
8.
По Вашему мнению, представление знаний фреймами значительно более эффективно, чем при помощи
эффективность зависит от решаемой задачи
семантических сетей
правил продукций
нечеткой логики
9.
По Вашему мнению, фрейм может быть описан при помощи правил продукций?
зависит от контекста
нет
да
10.
По Вашему мнению, терминалы фрейма-образца заполнены
совершенно пусты
так называемыми «заданиями отсутствия»
терминальными фактами
переменными
Ответы к тесту 5.1.
№
Правильный ответ
1.
1
2.
1
3.
2
4.
3
5.
1
6.
3
7.
3
8.
3
9.
2
10.
2
11.
3
Ответы к тесту 5.2.
№
Правильный ответ
1.
2
2.
3
3.
2
4.
2
5.
1
6.
3
7.
1
8.
2
9.
2
10.
2
№
Правильный ответ
1.
2
2.
2
3.
1
4.
2,3,5
5.
2
6.
2
7.
3
8.
1,2, 3,4, 5, 6,7
9.
D
10.
3
Ответы к тесту 5.3.
СПИСОК ЛИТЕРАТУРЫ
Классические работы,рекомендуемые к ознакомлению
Quillian М. R. Semantic memory // In Semantic Information Processing. — M.I.T. Press, Cambridge, Mass., 1968. — P. 227-268.
Osgood C., Suci C. J., Tannenbaum P H. The Measurement of Meaning. — Urbana: University of Illinois Press, Chicago, 1957. — 300 p.
Shannon C. Communication theory of secrecy system // Bell System Technical Journal. — 1949. — Vol. 28 (4). — P. 656-715.
Shannon C. A Mathematical Theory of Communication // Bell System Technical Journal. — 1948.
Аристотель. Собрание сочинений.
Винер Н. Кибернетика или управление и связь в животном и машине. — М.: Наука, 1981.
Дэйвисон М. Многомерное шкалирование: методы наглядного представления данных. — М.: Финансы и статистика, 1988.
Заде Л. Понятие лингвистической переменной и его применение к принятию приближенных решений. — М.: Мир, 1976.
Искусственный интеллект. Под ред. Д.А. Поспелова. — М.: Радио и связь, 1990.
Кант И. О воде. О Земле. Об огне. Критика чистого разума.
Кини Р Л., РайфаХ. Принятие решений при многих критериях: предпочтения и замещения. Под ред. Шахова И. Ф. — М.: Радио и связь, 1981.
Ковальски Р. Логика в решении проблем. — М.: Наука, 1990.
Кохонен Т Ассоциативная память. — М.: Мир, 1980.
Мински М. Фреймы для представления знаний. — М.: Энергия, 1979.
Мински М., Пейперт С. Перцептроны. — М.: Мир, 1971.
Нейман Дж. Теория самовоспроизводящихся автоматов. — М.: Мир, 1971.
Нильсон Н. Принципы искусственного интеллекта. — М.: Радио и связь, 1985.
Поспелов Д.А. Большие системы (ситуационное моделирование). — М.: Знание, 1975.
Розенблатт Ф. Принципы нейро динамики (перцептрон и теория механизмов мозга). — М.: Мир, 1965.
Шенк Р Обработка концептуальной информации. — М.: Энергия, 1980.
Прикладные работы,рекомендуемые к ознакомлению
Братко И. Программирование на языке Prolog для искусственного интеллекта. — М.: Мир, 1990.
Элти Дж., Кумбе М. Экспертные системы: концепции и примеры. — М.: Финансы и статистика, 1987. — 192 с.
Марселлус Д. Программирование экспертных систем на turbo Prolog. — М.: Финансы и статистика, 1994.
Уотерман Д. Руководство по экспертным системам. — М.: Мир, 1989.
Современные работы,у с л о в н о-обязательные для изучения
Нечеткие множества в моделях управления и ИИ/АН СССР. Под ред. Д. А. Поспелова. — М.: Наука, 1986.
Тейз А., Грибомон П., Луи Ж. Логический подход к искусственному интеллекту: От классической логики к логическому программированию. — М.: Мир, 1990. — 432 с.
Девятков В. В. Системы искусственного интеллекта. — М.: Изд-во МГТУ им. Баумана, 2001.
Гаврилова ТА., Хорошевский В. Ф. Базы знаний интеллектуальных систем. — СПб.: Питер, 2000. — 3 84 с.
Горбань А. Н. Обучение нейронных сетей. — М.: СП Параграф, 1990.
Горбань А. Н., РоссиевД. А. Нейронные сети на персональном компьютере. — Новосибирск: Наука, 1996.
Ивин А. А. Элементарная логика. — М.: Дидакт, 1994.
Трахтенгерц Э. А. Компьютерная поддержка принятия решений. — М.: СИН- ТЕГ, 1998.
Литература, полезная для дополнительного ознакомления
Молотков В. И. Диагностика и автоматическая классификация неспецифических заболеваний легких с помощью ЭВМ // Медицинская и физиологическая кибернетика. — Киев: Изд. Института кибернетики им. Глушкова В.М. — 1981.'
Гублер Е. В. Вычислительные методы распознавания патологических процессов. — Л.: Медицина, 1970.
Ван Гиг Дж. Прикладная общая теория систем. — М.: Мир, 1981.
Горелик А. Л. Современное состояние проблемы распознавания. — М.: Радио и связь, 1985.
Загоруйко Н.Г Методы распознавания и их применение. — М.: Советское радио, 1972.
Перегудов ФЛТ, Тарасенко Ф.П. Введение в системный анализ. — М.: Высшая школа, 1989.
Бейли Н. Математика в биологии и медицине. — М.: Мир», 1970.
Пачин С. Ф. Средства интерактивного сбора и анализа медицинской информации // Биологическая и медицинская кибернетика. — Киев: Изд. Института кибернетики им. Глушкова В. М. — 1982.
Бабко С. А. Определение информативных показателей методом факторного анализа // Биологическая и медицинская кибернетика. — Киев: Изд. Института кибернетики им. Глушкова В. М. — 1982.
Сойер Б., Фостер Д. Л. Программирование экспертных систем на Паскале. — М.: Финансы и статистика, 1990.
Ежов А., Чечеткин В. Нейронные сети в медицине // Открытые системы. — 1997.™ №4.
Предметный указатель
Lisp, 160
— разрешимая, 80
— терминальная, 75
Prolog, 157
— целевая, 75 вывод
Аристотель, 42
— на знаниях, 19
— обратный, 74
БайссТ, 128
Бонч-Бруевич М. А., 66
Буль Дж., 61
— прямой, 74 высказывание, 53
— простое, 54
— атомарное, 63
Винер Н., 13
— подчиненное, 55
— противоречащее, 55
ГоллеритГ., 13
геометрия вычислительная, 131
Заде Л., 67
граф
— И-ИЛИ, 80
Кант И., 44
Ковальски Е, 13
Коллинз А., 97
Куиллиан Е, 97
— решающий, 80
данные, 18
деление, 48
дескриптор, 53
Локк Дж., 44
джорджтаунский эксперимент, 17
диаграммы Эйлера, 56
Мински М., 84
доказательство, 59
Нейманн Дж., 13
задача
— абстрактная, 31
Паскаль Б., 13
Понтрягин Л.С., 13
Поспелов Д.А., 32
— выбора, 30, 105
— выбора критериальная, 106
— генерации альтернатив, 30
— классификации, 29
Симмонс Р., 98
— лабиринтного поиска, 76
— логики, 42
Шапиро С., 98
Шелли П., 12
Шенк Е, 98
Шеннон К., 13, 76
— медицинской диагностики, 169
— параметры решения, 31
— понимания речи, 90
— правила формулировки, 30
— путь решения, 75
алгоритм
— редукции, 65
— редукция, 80
— слушания речи, 90
— составления плана, 30
бэктрекинг, 8
— традиционная, 29
— уточнение, 31
вероятность события, 69 вершина
— начальная, 76
— порождение, 75
знания, 18
— продукционная модель, 72
— база, 73
— извлечение, 22
— логическая модель, 40
— модель представления, 39
— особенность, 19
— поверхностные, 143
— свойства, 19
— язык представления, 21
— модель представления, 21
имя, 47
— объем,48
— однозначные и многозначные, 48
— равнозначные, 48
— содержание, 47
— точное и неточное, 48
индексирование
— координатное, 52
инженер по знаниям, 22
инженерия знаний, 20
инкапсуляция, 92
информация
— декларативная, 18
— процедурная, 18
исчисление
— предикатов, 61
— предикатов второго порядка, 63
— предикатов первого порядка, 63
— противоречивое, 62
квантор, 63
класс, 48, 49
— абстрактный, 84
— простой, 49
классификация, 49
— алфавитно-предметная, 52
— емкость и глубина, 50
— иерархическая, 50
компьютер
— параллельный, 130
конституента, 63
концепт, 98
коэффициент
— (степень) уверенности, 29
коэффициент уверенности, 73
логика
— пороговая, 131
— силлогизм, 56
— элементарная, 67
машины
— вывода, 73
множество
— Парето, 122
— альтернатив, 106
— возможных путей, 92
— дизъюнктов, 65
— категорий, 47
— явно доминирующих альтернатив, 111
— явно плохих альтернатив, 122
модель
— адекватность, 32
— междисциплинарный перенос, 28
— надежность, 32
— обучаемого, 37
— представления знаний, 32
— формулы, 62
мышление
— параллельное, 84
наследование, 92
— в семантической сети, 101
нечеткость, 34
неясность, 34
область
— исследования, 23
— предметная, 21
— применения методов ИИ, 34
— слабо структурированная, 34
— хорошо структурированная, 34
обучающая среда, 38
опровержение, 59
отношение, 18, 80, 97
— видимости, 99
— каузальное, 91, 168
— между именами, 48
— семантическое, 99
— транзитивность, 100
— унарное, бинарное, тернарное, 43
отсечение, 66
перебор (поиск)
— в ширину, глубину, 75
переменная
— свободная, 158
поиск
— эвристические методы, 77
— мягкий, 38
полиморфизм, 92
постусловие, 72
правила
— продукций, 72
правило
— подстановки, 64
— эвристическое, 78
предикат, 61
принцип
— Р. Беллмана, 78
— резолюций, 65
проблема
— ИИ теоретическая, 24
— анализа мерности пространства, 88
— замыкания, 90
— заслонений, 89
— искажения перспективы, 88
— объект-фон, 85
программирование
— визуальное, 79
— с обратным слежением, 77 пространство
— неметрическое, 100 процедура
— внешняя, 18
— присоединенная, 18, 75
процесс
— воображения, 84, 85
— детализации, 87
— изменения фреймов, 87
— мышления, 85
— обновления фреймов, 87
— обучения, 87
— оправдания, 87
— повторного распознавания, 85
— распознавания, 84, 85
— советования, 87
— согласования, 86
— сопоставления, 87
— составления резюме, 87
— управления, 88
разделяющее пространство/ гиперплоско сть/функция, 113
рассуждение
— неточное, 48
режим реального времени, 36
резолюция, 65
решение
— адекватность, 32
— надежность, 32
— стоимость, 32
— точность, 31
— экономичность, 32
— методики принятия, 122
робот
— биомашина, 25
— двуногий, 25
семантика, 97
сеть
— концепт, 102
— нейронная,130
— семантическая, 97
— сценарий, 99
силлогизм
— модус, 56
система
— имитирующая творческие процессы, 23
— интеллектуальная, 15
— интеллектуальная информационная, 23
— поиска информации, 38
— сложная, 34
— состояние, 67
— фреймов, 86, 87
— целенаправленная и целеустремленная, 15
— экспертная, 23
систематика, 51
словарная статья, 53
состояние, 20
— начальное, 21
софизмы и паралогизмы, 60
степень (коэффициент) уверенности, 67
сущность, 43
таблицы переходов, 20
таксономия, 53
тезаурус
— информационно-поисковый, 52
точка зрения, 32
транспьютер, 130
триггер, 66
умозаключение
— дедуктивное, 55
— индуктивное, 55
устойчивость, 31
формула
— выполнимая, 63
— общезначимая, 63
— семантика, 62
фрейм, 84
— вершина-терминал, 86
— главный, 85
— глобальная система, 90
— задания отсутствия, 85
— маркеры, 86
— образец, прототип, 92
— ожидания, 85
— сценарий, 91
— трансформация, 86, 88
— центральный, 88
цель, 20
— дерево, 37
шкала
— измерительная, 114
эвристика, 21 эвристический
— поиск, 75
экономичность, 32
экспертная система, 136
энтимема, 57 эффективность
— критерий, 21
язык (общения людей), 43
СОДЕРЖАНИЕ
От автора ....................................3
Программа курса ................................5
Глава 1. Искусственный интеллект как вершина развития информационных технологий .........................12
Предыстория теории искусственного интеллекта ...........12
Этапы развития программных средств .................14
Понятие «искусственный интеллект» .................15
Термины и определения . ........................17
Современные области исследований в искусственном интеллекте .23
Современные теоретические проблемы искусственного интеллекта 24
Глава 2. Основные теоретические задачи искусственного интеллекта 28
Искусственный интеллект — междисциплинарная область исследований ..............................28
Перечень традиционных задач искусственного интеллекта . . . . .29
Более строгие формулировки задач ..................30
Правила формулировки задач искусственного интеллекта ......30
Выбор параметров решения задачи ..................31
Выбор модели решения (представления знаний) ...........32
Глава 3. Области применения методов искусственного интеллекта .34
Хорошо и плохо структурированные предметные области ......34
Модели представления знаний .....................39
Глава 4. Логическая модель для представления знаний ........40
Виды логических моделей, общие термины и определения . . . . .40
Формальная (Аристотелева) логика ..................42
Имена ..................................47
Высказывания ..............................53
Процедуры доказательства и опровержения ..............57
Математическая реализация формальной логики ...........61
Методы автоматического доказательства теорем (исчисление предикатов) ...............................64
Элементы теории нечетких множеств Л. Заде .............67
Глава 5. Продукционная модель для представления знаний . . . . .72
Описание предметной области правилами и фактами ........72
Метод полного перебора в ширину . ..................76
Метод полного перебора в глубину ..................76
Эвристические методы поиска в пространстве состояний ......77
Решение задач методом разбиения на подзадачи ...........79
Представление задачи в виде И-ИЛИ графа ..............80
Управление системой продукции . ...................81
Достоинства и недостатки продукционной модели ..........81
Глава 6. Фреймы для представления знаний ..............83
Анализ пространственных сцен ....................88
Понимание смысла предложения . ...................90
Практическая реализация фреймовой модели .............92
Глава 7. Семантические сети для представления знаний .......97
Глава 8. Новые модели представления знаний .............104
Критериальные методы .........................104
Задача выбора ..............................105
Измерительные шкалы .........................114
Некоторые методики принятия решения ................122
Учебный пример многокритериального принятия решений . . . . .123
Вероятностные методы .........................128
Нейронные сети .............................130
Глава 9. Экспертные системы .......................136
Определение термина «экспертная система» .............136
Технология работы с экспертными системами ............137
Структура экспертных систем .....................138
Классификация экспертных систем ..................143
Классификация по решаемой задаче ..................145
Технология разработки экспертных систем ..............148
Основные этапы разработки ......................148
Некоторые практические рекомендации ................151
Заключение ...................................155
Приложения ..................................157
Инструментальные средства разработки ЭС ...............157
Некоторые широко известные задачи, системы и методы ........161
Сводная таблица некоторых широко известных интеллектуальных систем ....................................182
Примерные планы практических работ ..................187
Некоторые тесты ..............................195
Ответы к тестам ...............................200
Список литературы .............................201
Предметный указатель ...........................203
18Иногда обозначают « D ».
7 В шутку надо заметить, что русский народ предвосхитил это открытие в сказании о баране.
12 В Японии есть очень интересный «сад камней», состоящий из 15 объектов, расположенных так, что ни с одной точки зрения нельзя увидеть их все одновременно. При любом подсчете получается 14 камней.
3 Например, «23 февраля», «8-е марта» и т. п. Более прижилось понятие «концепт». В сетях Шенка концептам обычно соответствуют узлы. Существуют целые диссертации, посвященные описанию концептов реального мира, например, «народ», «вещь», «делать», «быть». Различают концепты высокого уровня, например «корабль», и низкоуровневые.
4 То receive (англ.) — получать.
2 В приложении (пункт 11.2) приведен краткий обзор некоторых известных и применяемых на практике методов, как критериальных, так и вероятностных.
УДК 519.6
ББК 22.18 С 51
Смолин Д. В. Введение в искусственный интеллект: конспект лекций. — М.: ФИЗМАТЛИТ, 2004. — 208 с. — ISBN 5-9221-0513-2.
В работе представлены базовые модели современного искусственного интеллекта, теоретические обоснования и практически полезные примеры построения разумных систем. Изложен авторский взгляд на основные достижения и пути дальнейшего развития программ с искусственным интеллектом. Рассмотрены практические аспекты применения интеллектуальных систем в предметных областях. Работа отличается простотой изложения — многие формулы дополнены или заменены словесным описанием, что, по мысли автора, должно послужить глубокому пониманию материала.
Для студентов информационных специальностей, аспирантов и специалистов в области применения современных информационных технологий.
Учебное издание
СМОЛИН Денис Валерьевич
ВВЕДЕНИЕ В ИСКУССТВЕННЫЙ ИНТЕЛЛЕКТ:
КОНСПЕКТ ЛЕКЦИЙ
Редактор Е.Н. Глебова
Оригинал-макет: Е.В. Третьяков
Оформление переплета: А. А. Логунов
ЛР №071930 от 06.07.99. Подписано в печать 09.08.04. Формат 60x90/16.
Бумага офсетная. Печать офсетная. Усл. печ. л. 13. Уч.-изд. л. 13. Заказ №
Издательская фирма «Физико-математическая литература»
ISBN 5-9221-0513-2ISBN 5-9221-0513-29 785922 1051329 785922 105132МАИ К «Наука/Интерпериодика» 117997, Москва, ул. Профсоюзная, 90 E-mail: fizmat@maik.ru; http://www.fml.ru
ISBN 5-9221-0513-2
ISBN 5-9221-0513-2
9 785922 105132
9 785922 105132
Отпечатано с диапозитивов в ОАО «Чебоксарская типография № 1» 428019, г. Чебоксары, пр. И. Яковлева, 15
© ФИЗМАТЛИТ, 2004
ISBN 5-9221-0513-2ISBN 5-9221-0513-2© Д. В. Смолин, 2004
ISBN 5-9221-0513-2
ISBN 5-9221-0513-2