Подтвердите, что Вы старше 18 лет

Пожалуйста, введите доступный Вам адрес электронной почты. По окончании процесса покупки Вам будет выслано письмо со ссылкой на книгу.

Выберите способ оплаты
Некоторые из выбранных Вами книг были заказаны ранее. Вы уверены, что хотите купить их повторно?
Некоторые из выбранных Вами книг были заказаны ранее. Вы можете просмотреть ваш предыдущий заказ после авторизации на сайте или оформить новый заказ.
В Вашу корзину были добавлены книги, не предназначенные для продажи или уже купленные Вами. Эти книги были удалены из заказа. Вы можете просмотреть отредактированный заказ или продолжить покупку.

Список удаленных книг:

В Вашу корзину были добавлены книги, не предназначенные для продажи или уже купленные Вами. Эти книги были удалены из заказа. Вы можете авторизоваться на сайте и просмотреть список доступных книг или продолжить покупку

Список удаленных книг:

Купить Редактировать корзину Логин
Поиск
Расширенный поиск Простой поиск
«+» - книги обязательно содержат данное слово (например, +Пушкин - все книги о Пушкине).
«-» - исключает книги, содержащие данное слово (например, -Лермонтов - в книгах нет упоминания Лермонтова).
«&&» - книги обязательно содержат оба слова (например, Пушкин && Лермонтов - в каждой книге упоминается и Пушкин, и Лермонтов).
«OR» - любое из слов (или оба) должны присутствовать в книге (например, Пушкин OR Лермонтов - в книгах упоминается либо Пушкин, либо Лермонтов, либо оба).
«*» - поиск по части слова (например, Пушк* - показаны все книги, в которых есть слова, начинающиеся на «пушк»).
«""» - определяет точный порядок слов в результатах поиска (например, "Александр Пушкин" - показаны все книги с таким словосочетанием).
«~6» - число слов между словами запроса в результатах поиска не превышает указанного (например, "Пушкин Лермонтов"~6 - в книгах не более 6 слов между словами Пушкин и Лермонтов)
 
 
Страница

Страница недоступна для просмотра

OK Cancel
Л.С. Болотова СИСТЕМЫ ИСКУССТВЕННОГО ИНТЕЛЛЕКТА: МОДЕЛИ И ТЕХНОЛОГИИ, ОСНОВАННЫЕ НА ЗНАНИЯХ: Допущено учебно-методическим объединением вузов по университетскому политехническому образованию в качестве учебника для студентов высших учебных заведений, обучающихся по направлениям 23100, 230200, 23400, специальностям «Информатика и вычислительная техника», «Информационные системы и технологии» и другим смежным специальностям ФИНАНСЫ И СТАТИСТИКА Москва 2023 УДК 004.89(075.8) ББК 32.813я73 Б79 РЕЦЕНЗЕНТЫ: Данчул А.Н., доктор технических наук, профессор, заведующий кафедрой «Информационные технологии в управлении» Российской Академии Государственной службы при Президенте РФ; Комаров М.А., доктор технических наук, доктор экономических наук, профессор кафедры «Экономика и информационные системы» Московского государственного университета приборостроения и информатики Болотова Л.С. Б79 Системы искусственного интеллекта: модели и технологии, основанные на знаниях: учебник. – М.: Финансы и статистика, 2023. – 664 с.: ил. ISBN 978-5-00184-097-8 В учебнике представлено систематизированное изложение основ теории представления знаний в системах искусственного интеллекта (СИИ). Даётся описание наиболее значимых в настоящее время моделей и технологических аспектов проектирования систем, основанных на знаниях (СОЗ). Особое внимание уделено проблемам инженерии знаний в СОЗ, а в качестве основного подхода к их решению рассматривается авторский метод ситуационного анализа и проектирования модели предметной области (БАЗЫ ЗНАНИЙ). Для студентов и аспирантов специальностей, связанных с изучением СИИ, интеллектуальных информационных систем, научных работников, а также для всех интересующихся вопросами построения и применения СИИ. УДК 004.89(075.8) ББК 32.813я73 © Болотова Л.С., 2012, 2023 © ООО «Издательство «Финансы ISBN 978-5-00184-097-8 и статистика», 2023 СОДЕРЖАНИЕ Предисловие . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Cписок принятых сокращений . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 Введение . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 Глава 1 Основные понятия ИИ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 1.1. Классификация задач, решаемых человеком . . . . . . . . . . . . . . . . 35 1.2. Основные понятия и определения . . . . . . . . . . . . . . . . . . . . . . . . . . 37 1.3. Знание как система . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 1.4. Свойства знаний . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 1.5. Знание как знаковая система . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 1.5.1. Естественный язык как средство описания знаний . . . . 43 1.5.2. Знак и его свойства . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 1.5.3. Знаковые ситуации . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 1.5.4. Знаковые системы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47 1.5.5. Виды знаков . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 1.6. Модель предметной области как знаковая система . . . . . . . . . . 50 1.7. Процедура решения задачи . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53 1.8. Примеры решения задач . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 Пример 1. Об обезьяне и бананах . . . . . . . . . . . . . . . . . . . . . . . . . . . 54 Пример 2. О наполнении ведра водой . . . . . . . . . . . . . . . . . . . . . . . 57 Вопросы для самопроверки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 Глава 2 Методы поиска решений в пространстве состояний . . . . . . . . . . . . 60 2.1. Пространство состояний . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60 2.2. Метод полного перебора в ширину . . . . . . . . . . . . . . . . . . . . . . . . . 62 2.3. Метод полного перебора в глубину . . . . . . . . . . . . . . . . . . . . . . . . . 64 2.4. Эвристические методы поиска в пространстве состояний . . . . 65 Вопросы для самопроверки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 4 Содержание Глава 3 Решение задач методом разбиения на подзадачи . . . . . . . . . . . . . . 69 3.1. Представление задачи в виде И/ИЛИ графа . . . . . . . . . . . . . . . . 70 3.2. Механизм сведения задачи к подзадачам . . . . . . . . . . . . . . . . . . . . 71 3.3. Пример решения задачи . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 3.4. Достоинства и недостатки методов поиска в пространстве состояний . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 Вопросы для самопроверки и упражнения . . . . . . . . . . . . . . . . . . . 79 Глава 4 Модели представления знаний . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 4.1. Классификация моделей представления знаний . . . . . . . . . . . . . 83 4.2. Формальные модели представления знаний . . . . . . . . . . . . . . . . 83 Вопросы для самопроверки и упражнения . . . . . . . . . . . . . . . . . . . 85 Глава 5 Модель представления знаний в исчислении высказываний . . . . 86 5.1. Понятие «высказывание» . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86 5.2. Алфавит ИВ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 5.3. Синтаксис ИВ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 5.4. Аксиомы ИВ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 5.4.1. Семантика ИВ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 5.4.2. Законы преобразования формул ИВ . . . . . . . . . . . . . . . . . . 91 5.4.3. Базовые аксиомы ИВ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 5.5. Правила вывода . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 5.6. Логический вывод в ИВ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 5.6.1. Нормальные формы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 5.6.2. Логический вывод в ИВ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 5.7. Свойства ИВ как аксиоматической системы . . . . . . . . . . . . . . . 100 5.8. Алгоритмическая проблема разрешения в ИВ . . . . . . . . . . . . . 102 5.9. Теорема дедукции . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 5.10. Принцип дедукции . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 5.11. Принцип резолюций . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 5.12. Свойства метода резолюций . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 5.13. Пример построения модели предметной области в ИВ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115 Упражнения Содержание 5 Глава 6 Исчисление предикатов как метод представления знаний . . . . . 117 6.1. Понятие предиката . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117 6.2. Алфавит ИП . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119 6.3. Синтаксис ИП . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 6.4. Базовые аксиомы ИП . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121 6.5. Правила вывода в ИП . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 6.6. Примеры предикатов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 6.7. Преобразование формул в ИП . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124 6.8. Стандартизация переменных . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126 6.9. Исключение квантора существования . . . . . . . . . . . . . . . . . . . . . 127 6.10. Предваренная форма . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128 6.11. Исключение кванторов общности . . . . . . . . . . . . . . . . . . . . . . . . 129 6.12. Приведение матрицы к КНФ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129 6.13. Подстановки и унификация . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131 6.14. Логический вывод в ИП . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133 6.15. Примеры применения метода резолюций в ИП . . . . . . . . . . . 135 6.16. Стратегии резолюции . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138 6.17. Дерево опровержения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 6.18. Пример построения модели предметной области в ИП . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143 Упражнения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 Глава 7 Продукционная модель представления знаний . . . . . . . . . . . . . . . . 147 7.1. Форма представления знаний . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147 7.2. Продукционная модель знаний . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148 7.3. Механизм вывода в продукционной системе знаний . . . . . . . 151 7.4. Стратегии управления выводом решения . . . . . . . . . . . . . . . . . . 152 7.5. Взаимодействие правил в процессе рассуждений . . . . . . . . . . . 156 7.6. Эвристические принципы управления правилами . . . . . . . . . 162 7.7. Достоинства и недостатки продукционной модели . . . . . . . . . 163 7.8. Пример работы механизма продукционной модели . . . . . . . . 165 Вопросы для самопроверки и упражнения . . . . . . . . . . . . . . . . . . 171 Глава 8 Представление знаний в виде семантической сети . . . . . . . . . . . . 174 8.1. Общие понятия и определения . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174 6 Содержание 8.2. Роль отношений в СС . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177 8.3. Свойства отношений . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179 8.4. Предикатные семантические сети . . . . . . . . . . . . . . . . . . . . . . . . . 181 8.5. Атрибутивные семантические сети . . . . . . . . . . . . . . . . . . . . . . . . 185 8.6. Вывод на семантических сетях . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187 8.7. Исторические примеры СС . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191 8.8. Методика построения предикатной СС . . . . . . . . . . . . . . . . . . . . 198 8.9. Достоинства и недостатки семантических сетей . . . . . . . . . . . . 200 Вопросы для самопроверки и упражнения . . . . . . . . . . . . . . . . . . 201 Глава 9 Представление знаний в виде фреймов . . . . . . . . . . . . . . . . . . . . . . . 202 9.1. Фрейм, его структура и свойства . . . . . . . . . . . . . . . . . . . . . . . . . . 203 9.2. Вывод на фреймах . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 206 9.3. Методика построения модели предметной области в виде сети фреймов . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209 9.4. Достоинства и недостатки фреймового представления . . . . . 211 9.5. Гибридные модели представления знаний . . . . . . . . . . . . . . . . . 211 Вопросы для самопроверки и упражнения . . . . . . . . . . . . . . . . . . 213 Глава 10 Представление нечетких знаний . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214 10.1. Общие понятия . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214 10.2. Нечеткие множества . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215 10.3. Операции над нечеткими множествами . . . . . . . . . . . . . . . . . . . 220 10.4. Отношения и операции над ними . . . . . . . . . . . . . . . . . . . . . . . . 226 10.5. Нечеткие отношения . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229 10.6. Лингвистическая переменная . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233 10.7. Нечеткий вывод . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235 10.8. Нечеткая импликация . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237 Вопросы для самопроверки и упражнения . . . . . . . . . . . . . . . . . 238 Глава 11 Псевдофизическая логика времени . . . . . . . . . . . . . . . . . . . . . . . . . . . 240 11.1. Свойства времени . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240 11.2. Модель времени . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243 11.2.1. Точечные события . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243 11.2.2. Интервальные события . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244 11.2.3. Логика вывода . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246 Содержание 7 11.3. Пример реализации ПЛВ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250 11.3.1. Модель временных отношений . . . . . . . . . . . . . . . . . . . . 251 11.3.2. Архитектура системы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251 11.3.3. Структура нечеткой нейронной сети . . . . . . . . . . . . . . . 251 Вопросы для самопроверки и упражнения . . . . . . . . . . . . . . . . . 254 Глава 12 Неточные рассуждения на основе фактора уверенности . . . . . . 255 12.1. Стэндфордская модель фактора уверенности . . . . . . . . . . . . . 255 12.2. Байесовская модель субъективной вероятности . . . . . . . . . . . 259 12.3. Байесовская сеть представления и вывода вероятностных знаний . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261 Вопросы для самопроверки и упражнения . . . . . . . . . . . . . . . . . 265 Глава 13 Экспертные системы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267 13.1. Архитектура . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267 13.2. Эволюция ЭС . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269 13.3. Стадии разработки ЭС . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272 13.4. Фазы разработки ЭС . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273 Вопросы для самопроверки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276 Глава 14 Нечёткие экспертные системы . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278 14.1. Архитектура нечетких систем . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278 14.2. Пример работы нечеткой ЭС . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288 14.3. Пакеты нечеткой логики . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294 Вопросы для самопроверки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302 Глава 15 Инженерия знаний в интеллектуальных системах . . . . . . . . . . . . 304 15.1. Методы инженерии знаний . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304 15.1.1. Теоретические аспекты получения знаний . . . . . . . . . 305 15.1.2. Методы извлечения явных знаний . . . . . . . . . . . . . . . . . 307 15.1.3. Методы выявления скрытых знаний . . . . . . . . . . . . . . . 313 15.2. Проблемы структурирования знаний . . . . . . . . . . . . . . . . . . . . . 315 15.3. Проблема сборки знаний в единую модель предметной области . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317 Вопросы для самопроверки и упражнения . . . . . . . . . . . . . . . . . 318 8 Содержание Глава 16 Методологические и теоретические основы ситуационного анализа и проектирования модели предметной области . . . . . . . 319 16.1. Базовые идеи . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319 16.2. Ситуационная абстракция и ее свойства . . . . . . . . . . . . . . . . . . 319 16.3. Семиотический подход к описанию объектов управления и моделирования . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321 16.4. Метод ситуационного управления . . . . . . . . . . . . . . . . . . . . . . . . 323 16.5. Методология концептуального анализа и проектирования . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324 Вопросы для самопроверки . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327 Глава 17 Метод ситуационного анализа и проектирования модели предметной области . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328 17.1. Концептуальная структура единичного решения . . . . . . . . . . 329 17.2. Концептуальная модель предметной области . . . . . . . . . . . . . 334 17.2.1. Операции над КСЕР . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335 17.2.2. Взаимодействие концептуальных структур единичных решений . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345 17.3. Концептуальная модель предметной области . . . . . . . . . . . . . 348 17.4. Особенности элементов знания КМПрО . . . . . . . . . . . . . . . . . 352 17.5. Схема технологии проектирования КМПрО . . . . . . . . . . . . . . 354 17.6. Система приобретения знаний «Помощник Эксперта» . . . . 356 17.7. Инструментальная система «Малый Решатель Проблем» . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364 Вопросы для самопроверки и упражнения . . . . . . . . . . . . . . . . . 366 Глава 18 Онтологии и онтологические системы . . . . . . . . . . . . . . . . . . . . . . . . 368 18.1. Понятие онтологии . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368 18.2. Формальная модель онтологии . . . . . . . . . . . . . . . . . . . . . . . . . . . 371 18.3. Формальная модель онтологической системы . . . . . . . . . . . . 373 18.4. Технология проектирования онтологий . . . . . . . . . . . . . . . . . . . 375 18.5. Виды онтологий . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376 18.6. Операции над онтологиями . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378 18.6.1. Операции по редактированию . . . . . . . . . . . . . . . . . . . . . 379 18.6.2. Алгебра онтологий . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380 ПРЕДИСЛОВИЕ За последние 10 лет появилось много учебников и учебных пособий по тематике искусственного интеллекта, например, учебные пособия: [2, 3, 6, 19, 16, 17, 32–34, 41, 47, 52, 54, 60, 63, 64, 67, 75, 78, 81, 89, 90, 93, 95, 103, 111, 116, 123 и др.]. Тем не менее автор считает, что она остаётся и ещё долго останется актуальной по следующим причинам: 1. Безусловно, каждый автор решает свою задачу и решает её со своих авторских позиций и понимания. При этом более глубоко обычно освещаются те фрагменты знания о СИИ, которые он «исторически» исследовал в своих научных работах. И это естественно. 2. Тематика инженерии знаний, несмотря на кажущееся большое многообразие методов, остаётся наименее раскрытой. Среди них практически отсутствуют подходы, обеспечивающее единое и целостное представление как о самом процессе получения экспертных знаний, так и о способах представления его в рамках единого концептуального решения. Представляется, что причина такой ситуации в следующем: сложность получения знаний от лиц, владеющих ими, то есть эксl поскольку они далеко не всегда в состоянии «выложить» его на лист и даже просто сформулировать необходимым образом; сами ЛПР в большинстве своём не владеют методиками струкl и перевода знаний из категории «скрытых» в категорию явных; инженеров по знаниям, владеющих методами и техниками выl и проектирования нужных, в том числе новых знаний, воспитать в наших условиях очень сложно. 3. В настоящее время проявилось значительное число новых проблем, требующих принятия решений, для которых отсутствует необходимое знание, как по глубине, так и по объёму. А это основа проектирования всех систем, основанных на знаниях. В этой связи представляется, что противоречие между необходимым знанием и его отсутствием (полным или частичным) можно разрешить только путём разработки соответствующих методов, методик и технологий его получения и проектирования, а при необходимости и нового. 14 Предисловие Именно этой проблемой автор занимается более 35 лет. За это время созданы: метод ситуационного анализа и проектирования моделей предметных областей, практически разработаны методическое и программное обеспечение для реализации технологии проектирования по этому методу; выполнено много научных работ на этой основе, читается ряд курсов, выполняются лабораторные, дипломные и пр. работы. Метод показал очень высокую эффективность. И в данном учебнике сам метод, его методическое, информационное и программное обеспечение рассматриваются впервые. Кроме того, показано, что метод является прекрасной основой для формирования системно концептуального мышления, что само по себе очень важно и полезно для решения других практически важных задач, связанных с проектированием и принятием решений. При рассмотрении разных типов систем, основанных на знаниях, автор показывает, что метод является везде хорошей системно концептуальной базой для выявления и проектирования нужных знаний. Для сохранения целостности представления о моделях и технологиях ИИ необходимо также изложение (притом достаточно полное и строгое) классических моделей представления знаний. И этому посвящен ряд глав. Нельзя было обойтись и без изложения методов и технологий построения интеллектуальных КС, в частности, ЭС, нечётких ЭС и других, использующих выделенные подходы к формированию БЗ и реализующие необходимый минимум интеллектуальных способностей КС. Таким образом, структура учебника проста: основы СИИ; модели представления знаний, классическое понимание экспертных систем, нечётких экспертных систем и технологий их проектирования, затем истоки и метод ситуационного анализа и проектирования моделей предметных областей для ЭС, нечётких ЭС, онтологических, мультиагентных систем и их разработка с применением метода. В заключительной главе рассматриваются методы интеллектуального анализа данных, поскольку современные системы поддержки принятия решений немыслимы без данных и извлечения из них скрытых (неявных) знаний. Более детально изложение строится следующим образом. В 1 й и 2 й главах приводятся основные представления теории систем и семиотики, а затем на их основе вводятся основные понятия ИИ, такие как: предметная область, модель предметной области, состояние (начальное, целевое и др.), решение, пространство CПИСОК ПРИНЯТЫХ СОКРАЩЕНИЙ БД – База Данных БЗ – База Знаний БНЗ – База Нечётких Знаний БНП – База Нечётких Правил БП – База Правил БФ – База Фактов ГИИС – Гибридная интеллектуальная информационная система ДИ – Деловая Игра ЕЯ – Естественный Язык ИАД – Интеллектуальный Анализ Данных ИВ – Исчисление Высказываний ИИ – Искусственный Интеллект ИП – Исчисление Предикатов ИС – Информационная Система ИСППР – Интеллектуальная Система Поддержки Принятия Решений КИС – Корпоративная Информационная Система КС – Компьютерная Система КСУ – Корпоративная Система Управления КМПрО – Концептуальная Модель Предметной Области КСЕР – Концептуальная Структура Единичного Решения ЛПР – Лицо, Принимающее Решение МПрО – Модель Предметной Области НЭС – Нечёткая Экспертная Система ОУ – Объект Управления ПЛВ – Псевдофизическая Логика Времени ПО – Программное Обеспечение ПОМ – Понятийно объектная модель ППВ – Правдоподобный Вывод ППР – Правдоподобное Рассуждение ПрО – Предметная Область ПЭ – Помощник Эксперта СИИ – Система Искусственного Интеллекта СКМ – Система Когнитивного Моделирования СКК – Самоорганизующиеся Карты Кохонена Cписок принятых сокращений 21 СМПО – Семиотическая модель предметной области СПА КИС – Система поддержки администрирования КИС СПЗ – Система Представления Знаний СППР – Система Поддержки Принятия Решений СПЭГ – Система Противодействия Эпидемиям Гриппа СРК КИС – Система Резервного Копирования СС – Семантическая Сеть ССППР – Семиотическая Система Поддержки Принятия Решений ЭС – Экспертная Система ЯОПрО – Язык Описания Предметной Области ВВЕДЕНИЕ Человек всегда старался понять, как он мыслит, по каким законам и правилам строятся его рассуждения, в чем гарантия истинности его умозаключений. Логика – древнейшая из наук. Законы, открытые еще Аристотелем (IV век до н.э.), верны и поныне и лежат в основе современной формальной логики. В ХХ веке логика как наука приобретает второе дыхание – она становится наукой… технической: по законам формальной логики строятся электрические схемы элементов и узлов ЭВМ, позволяя им решать не только математические, но и чисто логические задачи. Все это в какой то мере моделировало интеллектуальную деятельность человека. Но хотелось большего. Проследим вкратце эволюцию развития «интеллекта» ЭВМ (машинного интеллекта). В ней можно выделить несколько принципиально различных этапов развития. Этап 1 (50–60 е годы). Он связан с появлением первых машин последовательного действия, с очень небольшими, по сегодняшним меркам, ресурсными возможностями по памяти, быстродействию и классам решаемых задач. Решались задачи сугубо вычислительного характера, для которых схемы решений были известны, которые можно было описать на некотором формальном языке – языке процедур. Таким образом, первый этап эволюции «интеллекта» ЭВМ соответствовал формированию вычислительного «интеллекта», который носил чисто алгоритмический характер и достаточно просто поддавался формализации и программированию. Поэтому при разработке систем автоматизации различных видов деятельности человека необходимо было: выделить задачи расчетного характера, увязать их в определенную систему, построить формальные математические модели, подобрать методы решения, запрограммировать, проверить на адекватность и соответствие результатам дея- тельности человека и затем использовать в практической работе. Можно сказать, что такого рода автоматизация носила фрагментарный (точечный) характер и, естественно, быстро перестала удовлетворять реальным потребностям. Недостатком такого рода алгоритмов было то, что в них в едином алгоритмическом процессе переплетались данные входные и промежуточные с операторами Введение 23 их обработки (процедурами). И отделить данные от процессов их преобразования (знаний о процессах обработки) было невозможно. Это создавало огромные потребности в программистах и необходимость «дотягивания» программ до постоянно меняющихся алгоритмов. И даже появление алгоритмических языков, которые повышали производительность труда программистов не менее, чем на порядок, ситуация принципиально не изменилась. Этап 2 (60–70 е годы). Практически параллельно в мире (США, Англия) стали развиваться научные направления, которые главной своей задачей ставили: смоделировать искусственный интеллект человека. Исследования велись по двум направлениям. Первое шло так называемым бионическим путем. Ученые этого направления изучали мозг человека и животных, строили модели искусственного нейрона (нейроподобные модели), которые объединялись в сети, обучались и на этой основе решали простейшие задачи распознавания, моделирования поведения живых существ, классификации, прогнозирования. Устройства этого типа назывались персептронами (perceptron) и очень вдохновляли ученых. Хотя первый персептрон был разработан У. Мак Каллоком и У. Питсом еще в 1943 году, важным научным направлением они стали только в 60 е годы. Второе направление исследования интеллекта не претендовало на понимание того, как устроен мозг (не физически, а как он мыслит). Мозг представлялся в виде черного ящика, на входы которо- го поступали сигналы внешнего мира (информация о состоянии элементов мира), а на выходе снимались реакции. На их основе строились модели решений «интеллектуальных задач». Задачи этого класса характеризовались отсутствием априори известных схем решения, даже при условии привлечения дополнительных знаний о предметной области. Поэтому для решения таких задач строили иерархические представления и программы, имитирующие механизмы мышления человека. Этот класс задач было принято считать интеллектуальным, а методы их решения стали развиваться в рамках научного направления, получившего название эвристического программирования. Его сторонники (Саймон А., Шоу Дж., Гелентер Г. и др.) считали, что интеллектуальной можно считать только ту программу, которая обладает механизмом логического вывода и которая на его основе способна самостоятельно синтезировать алгоритмы решения задач. При этом под решением задач понимался такой алгоритм, выполнение которого переводит объект управления (процесс, среду и т.п.) из начального состояния Глава 1 ОСНОВНЫЕ ПОНЯТИЯ ИИ 1.1. Классификация задач, решаемых человеком Наша жизнь постоянно вынуждает нас принимать самые разные решения от самых простых (куда пойти, как пройти, когда, зачем и т.п.) до сложнейших. Как следует из введения, развитие теории и практики систем искусственного интеллекта сопровождалось постановкой все более сложных «интеллектуальных» задач. При этом все задачи, решаемые человеком в своей практической и научной деятельности, можно разделить на три основных класса. 1) Задачи, для которых алгоритмы известны и которые можно описать на некотором формальном языке. Примером таких задач служат все задачи, связанные с вычислениями (арифметика, алгебраические, дифференциальные, интегральные уравнения и системы и т.п.). Для таких задач всегда существует алгоритм решения, который обязательно приведет к искомому результату. Сюда же можно отнести задачи, для которых нет готовых схем решений, но они могут быть найдены или построены, если привлекаются дополнительные знания о данной предметной области (то есть выделенной узкой сфере деятельности). Именно для задач первого класса более всего были приспособлены первые ЭВМ фон неймановской архитектуры. Общая схема их решения в самом простом виде выглядит так (рис. 1.1). На входе алгоритма – значения заданных переменных x , на выi – значение выходных переменных y . Все вычисления в алгоj основаны на четырех арифметических действиях, как бы Алгоритм Рис. 1.1. Схема решения задач 36 Глава 1. Основные понятия ИИ Рис. 1.2. Схема решения задач информационного поиска сложны они не были. Вычислительный характер действий и четкий алгоритм на много лет вперед определили путь развития ЭВМ и всех систем автоматизации. Были созданы соответствующие языки – Алгол (ALGOL, ALGOrithmic Language), Фортран (FORTRAN, FORmula TRANslation) и др. Только после долгих колебаний и исследований задачи этого класса все таки перестали относить к классу интеллектуальных. 2) Еще один класс задач, имеющих массовый характер, составляют задачи, методология решения которых определила целую эпоху в эволюции ЭВМ. Это задачи информационного поиска. Схема поиска решений здесь выглядит так (рис. 1.2). На входе системы – запросы абонентов А , А , …, А . Решением 1 2 п задачи является некоторая часть базы данных (БД), соотносительная (релевантная) запросам – B , B , …, B . При этом информация, 1 2 m выдаваемая в качестве результата, не подвергается каким либо изменениям. Выполняются лишь операции поиска, сортировки и другие теоретико множественные операции над символьной информацией (то есть информацией, представленной как в цифровой, так и в буквенной формах). Переход к символьным задачам позволил впервые понять возможности разделения информации и механизмов ее обработки, то есть отделить сами БД от алгоритмов их анализа и получения результатов. Это стало возможным благодаря заданию синтаксических схем организации записей в БД и ориентации алгоритмов только на синтаксическую обработку. Второй важной победой этого направления стало создание достаточно универсальных систем управления БД с широчайшей сферой практического применения. Задачи третьего класса характеризуются отсутствием априори известных схем решения, даже при условии привлечения до- Глава 1. Основные понятия ИИ 37 полнительных знаний о предметной области. Именно для решения таких задач наиболее подходящим является семиотический подход к построению моделей внешнего мира (предметных областей) и метод ситуационного управления. К этому классу относятся, например, задачи планирования поведения объекта в сложных средах, задачи принятия решений в нестандартных (нештатных) ситуациях, задачи проектирования и конструирования, игры и т.п. Этот класс задач принято считать интеллектуальными и именно для их решения наиболее эффективны методы ИИ. 4) Очевидно, что на практике выделить перечисленные типы задач в чистом виде достаточно сложно. Поэтому системы автоматизации различных видов деятельности человека предполагают их синтез, композицию. 1.2. Основные понятия и определения Любая наука отличается от других предметом своего исследования. В зависимости от предмета формулируются цели и задачи, а также методы и средства их решения. Если говорить о такой науке, как искусственный интеллект, то в самом ее названии выделен объект исследования – интеллект, основная ее задача – создание некоторого подобия «живого» интеллекта искусственными средствами. Искусственные средства известны сразу – ЭВМ, включая периферийные устройства, с помощью которых могут создаваться искусственные аналоги всего того, что может относиться к классу интеллектуального (образы, речь, ощущения и т.п.). Остается понять, что относить к классу интеллектуального, то есть какие мыслительные процессы, выполняемые человеком, можно считать интеллектуальными, а какие нет. Выше мы уже видели, что после долгих размышлений и колебаний в класс интеллектуальных в итоге попали все задачи, алгоритм решения которых заранее не известен. Это и задачи распознавания образов, и машинный перевод с одного языка на другой, и принятие решений в зависимости от меняющихся ситуаций и многие другие. Все это стимулировало новые научные исследования, целью которых было определить особенности интеллектуальной деятельности человека. Было показано, что в основе интеллектуального поведения человека лежит целый ряд метапроцедур, действие которых инвариантно относительно конкретно решаемых задач и областей деятельности. 38 Глава 1. Основные понятия ИИ В первую очередь, это метапроцедуры целенаправленного поиска, подобные поиску в лабиринте возможностей, ассоциативный поиск, ассоциативное рассуждение и др. Если лабиринт поиска неизвестен, а должен порождаться исходя из условий, конкретно формирующихся в данной предметной области, то необходимо определить такие метапроцедуры, которые позволили бы решить и такую задачу. Ситуационное моделирование (Поспелов Д.А., Клыков Ю.М., Болотова Л.С. (Загадская)) выделило еще ряд метапроцедур для решения задач такого класса: классификация ситуаций по признакам и по структурам, процедуры порождения новых классов понятий, отношений, ситуаций и т.п. Следующим важным шагом было осознание необходимости внутреннего представления проблемной ситуации, что привело к выделению метапроцедур, оперирующих с совокупностью знаний из той предметной области, к которой принадлежит задача. Это так называемая модельная гипотеза. Основные метапроцедуры здесь: представление знаний, их пополнение и модификация, рассуждения, поиск релевантной (соответствующей) информации в совокупности имеющихся знаний и др. Все перечисленные метапроцедуры в совокупности со знаниями о предметной области составили в конечном итоге ядро представлений об искусственном интеллекте. Интеллектуальная система отличается от любой другой тем, что в ней в качестве обязательных составляющих должны присутствовать: модель предметной области; l модели механизмов мышления, то есть метапроцедур, работаюl на системе знаний, представленных моделью предметной области (в частности, процедур логического вывода); естественно языковый интерфейс, обеспечивающий взаимоl пользователя с СИИ. Теперь мы можем определить основные понятия, с которыми будем оперировать дальше. Предметная область (ПрО) – выделенная узкая сфера дея- тельности человека, относящаяся к данной задаче. Модель предметной области (МПрО) – совокупность (система) знаний, необходимых для автоматического синтеза алгоритма решения задачи в данной области. Искусственный интеллект (ИИ) (AI, Artificial Intelligence) – совокупность метапроцедур – представления знаний, рассуждений, поиска релевантной информации в среде имеющихся знаний, Глава 1. Основные понятия ИИ 39 логического вывода, пополнения знаний, их корректировка и т.д. – то есть процедур, имитирующих мыслительную деятельность человека. искусственного интеллекта (СИИ) – аппаратный и информационно программный комплекс, действие которого аналогично действию механизмов мышления человека и неотличимо от решений, которые принимались бы человеком экспертом, то есть профессионалом в данной предметной области. Очень часто СИИ определяют просто как системы, основанные на знаниях. Рассмотрим подробнее введенные понятия. Первое – это понятие «система знаний» как основа любой искусственной интеллектуальной системы. 1.3. Знание как система Вот как определяется знание в философском словаре (под ред. Фролова И.Т. – М., 1986): «Знание – идеальное выражение в знаковой форме объективных свойств и связей мира, природного и человеческого. При этом знания могут быть донаучными (житейскими или опытными) и научными, которые, в свою очередь, делятся на эмпирические и теоретические». Другими словами, знание определяется как информация, которая отражает объективные свойства и связи некоторых объектов, явлений, процессов, сущностей и отношениями между ними как в субъективном, так и в научном (объективном) выражении. Из теории систем приведем также необходимые нам определения об основных ее понятиях: Система есть конечное множество функциональных элементов l (объектов – частей) и связей (отношений) между ними, выделенное из среды с определенной целью. Любой системе присущи свойства целостности (эмерджентносl и иерархичности. Целостность проявляется в системе в возникновении у нее новых интегративных качеств, несвойственных ее элементам. Свойство целостности связано с целью, для выполнения которой создается система. Иерархичность связана с расчленением целого (системы) на части и характеризует взаимодействие системы с ее окружением (средой). Пример: множество деталей автомобиля, связанных определенным образом, дают новое качество, которого не было ни у одного из 40 Глава 1. Основные понятия ИИ составляющих его частей – автомобиль, который может двигаться. – есть совокупность всех объектов, изменение свойств l которых влияет на систему, а также тех объектов, чьи свойства меняются в результате поведения системы. Элемент системы – есть простейшая, неделимая часть системы. l Из простейших элементов образуются блоки, подсистемы, обl иерархическую структуру системы. Связь обеспечивает возникновение и сохранение целостности l системы, характеризует ее строение (статику) и функционирование (динамику). Поведение системы определяется целью, для реализации котоl она создавалась. Цель (целесообразность, целенаправленность) – модель желаемого будущего или заранее мыслимый результат (образ) деятельности человека (группы людей). Состояние системы – это мгновенная фотография, срез систеl или совокупность объектов, значений их свойств и связей между ними, зафиксированные в некоторый момент времени. Очень часто синонимом термина «состояние» является термин «ситуация». Таким образом, любая система состоит из элементов и связей между ними, определяется множеством состояний, взаимодействует со средой, ее поведение определяется заложенной целью и законами функционирования, обеспечивающими достижение этой цели. Объединяя понятия «система» и «знание» получим, что под системой знаний понимается совокупность знаний, образующих целостное описание некоторой проблемы с доступной и достаточной степенью точности. Целостность означает, что между отдельными сведениями, входящими в знание, существуют связи и, следовательно, одни сведения могут быть выводимы из других. Это также означает, что система знаний есть информационная система (информационная модель), отвечающая требованиям полноты и непротиворечивости. В случае если между отдельными сведениями явные связи не установлены, то они превращаются в единичные факты – некоторые суждения, относительно которых можно судить об их истинности или ложности. Такие суждения можно назвать данными. И в этом смысле, данное есть вырожденный случай знания. Например, если между деталями автомобиля не указаны связи, то мы получим просто базу данных о деталях автомобиля. Связность между элементами удобно отображать с помощью ори- Глава 1. Основные понятия ИИ 41 ентированных графов. И тогда результирующий связный граф можно рассматривать как модель знания о чем то. Очевидно, что невозможно построить модель всего знания, и мы можем говорить лишь о предметно или проблемно ориентированном фрагменте знания для целевого применения. Такие фрагменты мы будем называть моделями предметных областей. В КС знания, также как и данные, отображаются в знаковой форме – в виде формул, текста, файлов, информационных массивов, образов и т.п. Поэтому можно сказать, что знание – это совокупность сведений, выражаемых понятиями и образами. В системах искусственного интеллекта знания являются основным объектом формирования, обработки и исследования. База знаний, наравне с базой данных, – необходимая составляющая программного комплекса ИИ. Машины, реализующие алгоритмы ИИ, называют машинами, основанными на знаниях, а подраздел теории ИИ, связанный с построением баз знаний, – инженерией знаний. 1.4. Свойства знаний Возникает еще одна проблема – проблема выделения предметной области из среды. Очевидно, что границы ПрО размыты и являются предметом соглашения при изменении целей и решаемых задач. По существу, можно говорить о знании внутреннем и внешнем. Внутреннее знание содержит сведения о структуре ПрО, ее объектах, связях, свойствах, закономерностях. Внешнее знание характеризует взаимодействие между объектами ПрО и средой. При этом знание обладает как минимум пятью обязательными свойствами: внутренней интерпретируемостью, структурированностью (связностью), вложимостью, погруженностью в пространство с «семантической метрикой», активностью. Рассмотрим указанные свойства базы знаний подробнее. 1. Внутренняя интерпретируемость (связность) Это понятие означает, что любая единица знания любой структуры (переменная, массив, объект, процедура и т.д.) должна иметь имя, которое необходимо для ее нахождения в общем массиве знаний. Структурированность Это свойство предполагает наличие отношений между единицами знания. Кроме отношений иерархии (часть – целое и род – вид), это могут быть – отношения временные (раньше, позже, 42 Глава 1. Основные понятия ИИ одновременно), пространственные (внутри, снаружи, рядом, под и т.д.), сравнения (больше, меньше, равно), каузальные (причины и следствия) и др. 3. Вложимость Предполагается, что одна единица знания может как включаться в состав любой другой (матрешечная вложимость), так и быть выделенной из любой другой составляющей ее единицы (отношение класс – экземпляр класса). 4. Погружение в пространство с «семантической метрикой» В нашем сознании это пространство образуют понятия, факты, явления, близкие по своему смыслу (семантике). Рассмотрим, например, понятие учи тель. В какое пространство (чаще говорят, – кластер) мы его поместим? Это может быть «Интеллигенция», или «Работники умственного труда», или «Образованные люди», или просто «Служащие». Отметим, что точки каждого кластера образуют совокупности понятий, семантически близкие между собой. Кластер – это типовая ситуация – ядро, вокруг которого группируются семантически близкие единицы информации. Таким образом, семантическая метрика используется для объединения (кластеризации) информационных единиц в один кластер по степени их смысловой близости Есть и другой принцип образования кластеров. Выбор того или иного понятия из множества ему близких подчиняется у человека еще и частоте появления. На просьбу назвать поэта почти каждый ответит: Пушкин; на просьбу назвать фрукт – чаще всего – яблоко. Таким образом, имеются, по крайней мере, две системы оценки близости информационных единиц. Одна опирается на их ситуативную близость, а другая – на частоту появления тех или иных понятий в типовых ситуациях. 5. Наличие активности Например, ЭВМ по заданной программе обрабатывает те или иные данные. В программе сосредоточено процедурное знание, т.е. знание – действие. Оно хранит информацию о том, как надо действовать, чтобы получить желаемый результат. То есть данные – это декларативные знания. Они хранят информацию о том, над чем надо выполнять эти действия. Программа, прежде всего, играет роль активатора данных. Таким образом, активность интерпретируется как инициирование действий информационной системы в результате появления каких то данных или знаний. Можно сказать и так, что декларативные знания или данные становятся активаторами процедур их обработки. Глава 1. Основные понятия ИИ 43 1.5. Знание как знаковая система 1.5.1. Естественный язык как средство описания знаний Следующий вопрос, на который необходимо ответить: каким образом можно описывать системы знаний, на каком языке? Очевидно, что языков математики, теории графов, математической логики и других в чистом виде недостаточно, т.к. они накладывают определенные ограничения на способы описания своих объектов и работы с ними. А мы ведем речь о выделенной сфере деятельности человека, со всем комплексом задач, которые свойственны этой сфере. Поэтому наиболее универсальным языком описания всего всегда был и остается естественный язык (ЕЯ). Любое слово ЕЯ является именем какой то сущности внешнего мира, его кодом – знаком (sign). Называя его, в нашем мозгу воспроизводится некий «образ» сущности, про которую мы можем многое сказать. Существует целая наука – семиотика, которая изучает структуру знака, отношения между ними, различные знаковые ситуации, знаковые системы. Для дальнейшего изложения нам понадобятся основные сведения из семиотики. 1.5.2. Знак и его свойства Носителем знания может быть любой язык – естественный, искусственный, графический, образный или звуковой. То есть знание может быть выражено буквами, цифрами, иероглифами, пиктограммами, словами, словосочетаниями, текстами и т.п. Слово – есть имя или знак некоторой отдельной сущности универсума. Под сущностью понимается объект произвольной природы, принадлежащий реальному или воображаемому (виртуальному) миру (универсуму). Слово выделяет сущность среди остальных, служит ее идентификатором (знаком, именем). Таким образом, имя есть знак (sign), являющийся единицей языка, отражающей семантическую (смысловую) сущность чего то. Мы постоянно встречаемся со знаковыми ситуациями, в которых есть знак и есть то, что он обозначает (денотат). То есть денотат есть то, что обозначается данным знаком. В табл. 1.1 приведены примеры знаковых ситуаций. Особенности знака: в ряде случаев он может замещать обозначаемое; l он нетождествен денотату, то есть знак никогда не может полноl заменить обозначаемое; он многозначен, то есть один и тот же знак может обозначать l разные объекты (омонимия, полисемия); 44 Глава 1. Основные понятия ИИ Таблица 1.1 он системен в употреблении. l Системность знака проявляется в том, что он определяет еще и признак или некоторое важное свойство обозначаемого. Например, в слове «животное» обнаруживается древнее значение слова «живот» – жизнь. Таким образом, знак может не только обозначать конкретный денотат, но и указывать его место в мире, его отношение к миру – универсуму. Выражаемые знаком свойства денотата – это то понятие о денотате, которое несет данный знак, называемое концептом или содержанием этого знака. Таким образом, концепт – есть совокупность существенных свойств, выделяющих некоторую сущность (денотат) во внешнем мире. Очевидно, что содержание понятия зависит от границ предметной области, в рамках которой выполняется его определение. Например, говоря – «собака», «дом», мы сразу выделяем набор существенных признаков: собака = {это домашнее животное, преданна людям, умеет лаять}; дом = {это строение для жизни людей, состоит из стен, крыши, окон, дверей и т.п.}. Содержание понятия должно отвечать взаимно противоположным требованиям полноты и неизбыточности. Совокупность существенных признаков можно рассматривать как координаты n мерного признакового пространства. Класс сущностей (денотатов), объединяемых в понятие и обозначаемых одним знаком, образуют его объем. Сущности, входящие в объем понятия, часто называются экземплярами, вариантами, фактами и задаются перечислением. Например, объемом знака «столица» будет – «Москва, Киев, Минск и т.д.». В информатике и семиотике используются также термины экстенсионал, интенсионал знака. Так, один и тот же знак может обозначать разные денотаты. Поэтому объем знака – это объем поля денотатов. Другими словами, экстенсионал знака – это класс всех его допустимых денотатов (от слова экстенсия – протяженность). Разные знаки могут иметь общий экстенсионал. Например, в Москве много людей Глава 1. Основные понятия ИИ 45 с фамилией Иванов И.И. Множество этих людей характеризуют объем знака «Иванов И.И.» или его экстенсионал. Интенсионал знака – это смысл знака (концепт), который соответствует знаку, способ, которым знак указывает место обозначаемого в системе явлений. Например, экстенсионалы местоимения «я» и «ты» не различимы. Оба могут обозначать любого человека. Но интенсионально они указывают различное отношение обозначаемого к говорящему. Другими словами, интенсионал знака – это содержание понятия или концепт. Понятия (концепты) могут относиться к следующим категориям (классам): предмет (субъект, объект), свойство (атрибут, признак), состояние, процесс, событие, ситуация, оценка, модификатор, модальность, отношение. Например, предмет – это компьютер, свойство – надежность, состояние – исправность, процесс – тестирование, событие – куплен, оценка – новый, модификатор – быстродействующий, модальность – часто. Таким образом, любое понятие относится к одной из перечисленных категорий. Описание, в котором всем его элементам (именам, знакам) в соответствии поставлены категории входящих в него знаков, составляют концептуальную схему (модель) этого описания. Состояние, модификатор, оценка могут в ЕЯ выражаться прилагательными, отношение – глаголом в настоящем времени с предлогом или без него, предмет (сущность, объект) – подлежащим, дополнением. Любое слово в предложении может идентифицироваться перечисленными категориями. Так, концептуальная модель предложения «Идет высокий, веселый человек и находит красивый, очень редкий камешек» состоит в определении категорий понятий, к которым относится каждое слово предложения, то есть: субъект – человек, свойство – высокий, состояние – веселый, процесс – идет, событие – находит, оценка – красивый, модификатор – очень редкий, предмет – камешек; отношения: ИДЕТ (человек), НАХОДИТ (человек, камешек), то есть глаголы в настоящем, прошедшем и будущем времени отражают связь (отношение) между объектами (сущностями, предметами) внешнего мира. 1.5.3. Знаковые ситуации Отношение знака к концепту и денотату символически выражает треугольник Фреге (рис. 1.3) [127, 128]. Рассмотрим связи, которые возникают между знаком, концептом и денотатом: связь 1 – активизирует по имени в памяти образ сущности и ее l свойства, а в обратном направлении позволяет по описанию сущности определить ее имя; 46 Глава 1. Основные понятия ИИ Концепт 2 1 3 Знак Денотат Рис. 1.4. Знаковые ситуации Рис. 1.3. Треугольник Фреге связь 2 – по представлению о сущности можно найти информаl о ее свойствах или сформировать представление о сущности по совокупности ее свойств; связь 3 – соединяет представление о денотате с его именем, то l есть имя может активизировать представление и наоборот. Из этого треугольника путем исключения одной из вершин выделим примеры основных знаковых ситуаций. Омонимия. Знак (сообщение, текст) называется омонимом, есl он может выражать разные концепты. Например, слова «ключ», «соль», «пост» и т.п. Омонимия может возникать на уровне целых фраз: «Мать любит дочь» (кто кого любит?), «Я встретил ее на поляне с цветами» (кто с цветами?), «Мастер начал печь» (что начал делать мастер – строить печь или печь пироги?). На рис. 1.4 треугольник «денотат 2, концепт 2, знак 1» и треугольник «денотат 1, концепт 1, знак 1» иллюстрируют случай омонимии и полисемии, то есть многозначности. При омонимии понятия 1 и 2 имеют различное происхождение (например, слово «ключ»), а при полисемии – одно (сфера – небесная или интересов). К частному случаю омонимии относятся омографы – слова, различающиеся звучанием и обозначающие разные понятия (замОк и зАмок). Синонимия. Разные знаки имеют общий денотат, то есть один l и тот же денотат имеет разные знаки (рис. 1.4). Например, одного и того же человека можно назвать с помощью собственного имени или обратиться к нему: коллега, товарищ, тезка и т.п. Из приведенных примеров следует, что при построении знаковых систем – систем знаний, необходимо стремиться к однозначному пониманию используемых понятий. На рис. 1.4 – это треугольники «денотат 1, концепт 1, знак 1» и «денотат 1, концепт 1, знак 2». Глава 1. Основные понятия ИИ 47 Денотативное тождество знаков. Например, одно и то же хиl вещество мы можем обозначить формулой Н О и сло2 «вода». Денотат у них общий, но концепты различны, по- скольку Н О обозначает вещество, а слово «вода» еще и саму 2 жидкость, химический состав которой есть Н О. 2 Денотативная неоднозначность знаков. Это случай, когда знак l имеет один концепт, но разные денотаты. 1.5.4. Знаковые системы Знаковой системой называется набор знаков с установленными отношениями между ними и отображающими отношения между денотатами (обозначаемыми объектами). Любая знаковая система имеет три аспекта изучения: семантика, синтактика, прагматика. Семантика. Это отношение знака к обозначаемому, то есть его l концепт и денотат вместе. Синтактика. Это аспект знаковой системы, связанный с праl построения знака из более простых. Например, знак, составленный по определенным правилам, часто называют предложением, текстом. Другими словами, законы синтактики определяют, что есть правильно построенный текст данной знаковой системы. Прагматика. Это тот аспект знака, который относится к восl этого знака адресатом. Один и тот же знак может восприниматься по разному в зависимости от установки адресата. Например, водитель, встречая на пути дорожные знаки, соответственно будет на них реагировать: тормозить, снижать скорость, делать повороты и т.д. А человек, никогда не бывавший в городе, может принять их, например, за украшения дороги. В данном примере показано, что роли понятий, то есть их назначение, могут быть разными. Этот факт отображается четыЗнак 1.5. Четырехугольник Поспелова 48 Глава 1. Основные понятия ИИ рехугольником Поспелова Д.А. (рис. 1.5) как дополнением треугольника Фреге (рис. 1.3). В прямоугольнике Поспелова Д.А возникают еще две связи – 4 я и 5 я: связь 4 – определяет отношение между семантикой и прагматиl то есть между смыслом ситуации и действиями над объектом, обозначаемым данным знаком; в обратном направлении эта связь соответствует объяснению причин тех или иных событий. связь 5 – предполагает переход к действиям при одном упомиl имени объекта без анализа его семантики (например, нажать на тормоз при красном сигнале светофора), а также позволяет восстановить имя (объекта, события и т.п.) по совершенным действиям. В любом виде деятельности (предметной области) используются специфические для нее понятия (медицина, геология, управление и т.д.), которые называются терминами. Они характеризуются: однозначностью толкования, краткостью, соответствием принятым международным стандартам, соответствием нормам языка (русского), обладают словообразующей функцией (дарить – даритель, писать – писатель, читать – читатель), системностью. Отсюда следует, что при выборе и принятии терминов необходимо рассматривать все группы родственных понятий. Совокупность терминов предметной области образует ее терминологическую структуру. Определения понятий на практике являются предметом соглашения. И тогда такие определения играют роль нормативных (общепринятых). 1.5.5. Виды знаков Выше мы рассмотрели сущность знака, его структуру, особенности, каким образом создаются различные знаковые ситуации. Мы рассмотрели аспекты знаковых систем – синтактику, семантику и прагматику. Все это позволяет нам работать со словами, текстами, графическими образами как заместителями реальных объектов, окружающего нас мира и, следовательно, абстрагировать их, превращая в виртуальные (псевдофизические) сущности, которые мы можем исследовать, проектировать, применять для решения новых задач. Очевидно, что такие сущности, взаимодействуя между собой, могут создавать новые, более общие миры, создавать системы знаний, достаточные для решения поставленных задач в выделенных предметных областях. С этой целью рассмотрим, какие связи могут существовать между знаками – именами объектов внешнего мира, каким образом они проявляются через содержание (концепт) и объем знака. Глава 1. Основные понятия ИИ 49 Мы говорили, что содержание знака – это совокупность мыслимых признаков (характеристик, свойств) того объекта, который называется данным знаком. И, следовательно, все эти признаки присущи каждому объекту, выделяемому этим знаком и входящему в его объем. Рассмотрим виды признаков, входящих в содержание знака. Признаки, входящие в содержание знака, могут быть родовыми, виl и индивидуальными. При этом если мы в пределах какого либо широкого класса объектов выделяем более узкий класс, то признаки, выделяющие более широкий класс, называются родовыми, а признаки, выделяющие более узкий класс, – видовыми. Другими словами, связь между видом и родом реализуется отношением «часть – целое» (part of while). Примеры: знаки «Мебель» и «Стол», «Стул», «Шкаф»; «Животное» и «Кошка», «Собака», «Кенгуру»; «Металл, являющийся электропроводным» и «Железо», «Медь», «Алюминий» и т.п. Индивидуальными признаками являются такие, которые однозначно выделяют данный единичный объект. Примеры: «Москва», «Собака моей сестры» и т.п. Содержание знака может быть основным и производным. l Основное содержание – та минимальная часть содержания знака, из которой логически выводимо все остальное содержание. Имеется в виду, что логический вывод осуществляется в той теории, к которой относится рассматриваемый знак (имя). Часть, логически выводимая из основного содержания знака, называется производной. Совокупность основного и выводимого содержания образует полное содержание знака. Если в объем знака входит один элемент, то знак называется единичным или экземпляром. Если в объем знака входит больше одного элемента, то он называется общим. Очевидно, что объемы общих знаков соответствуют классам предметов. Разновидностью общего знака является универсальный знак (имя). Универсальными именами фиксируются классы объектов, исследуемые в той или иной области познания. Это, например, физические тела, геометрические фигуры, числа и т.п. Знак называется универсальным, если в видовой части его содержания фиксируются только такие признаки, которые присущи каждому элементу класса, входящему в этот универсум. Такие знаки не выделяют вида в пределах рода (универсума) и их объем совпадает с объемом рода универсума. Нулевые (пустые) знаки – знаки, объем которых не содержит ни одного элемента. Отсутствие явно выраженного знака может само быть знаком в определенной ситуации, то есть служить нулевым знаком. Например, люди 50 Глава 1. Основные понятия ИИ при встрече говорят слова приветствия, несущие небольшую смысловую нагрузку – «Здравствуйте!», «Добрый день!» и т.п. Но, если знакомый вдруг не отвечает на эти знаки, то это может означать очень многое. В данном случае отсутствие нулевого знака «Здравствуйте» будет нести большую смысловую нагрузку. 1.6. Модель предметной области как знаковая система Теперь нам ясно, что под системой знаний о предметной области или под моделью предметной области (МПрО) понимается совокупность знаков (имен), обозначающих объекты заданной ПрО, их концепты (понятия), денотаты (объемы) и отношения между ними. Однако наше знание о практически любой ПрО сегодня настолько огромно и многопланово, что МПрО может стать избыточной, противоречивой и, следовательно, неэффективной. Нужен некоторый критерий, который может нам помочь в отборе только нужных нам объектов ПрО для их описания. Что может служить таким критерием? Очевидно, это та цель (цели), которые ставит перед собой заказчик МПрО. Ну, например, целью может быть создание системы, которая будет помогать врачу ставить диагнозы инфекционных (или каких то других типов) заболеваний. Целями могут быть: создание системы управления роботом при управлении процессами изготовления деталей; создание системы поддержки принятия решений при управлении городом, районом, государством и т.п. Таким образом, задача, предъявляемая для решения, уже по своему описанию задания определяет круг объектов, действий, законов, справочных данных и т.п., необходимых для ее решения. Если задача из области медицины, то для ее решения, очевидно, бессмысленно закладывать (или запрашивать) данные о скорости расширения Галактики или о запасах угля в Подмосковном бассейне. Объединяя множества знаков – объектов классов, подклассов, их денотаты – Х, их концепты – С, отношения между ними – R, а сейчас цели (действия) – G, мы получим концептуальную, то есть понятийную модель ПрО (КМПрО). КМПрО = X, C, R, G , (1.1) где: X = (Х , Х , …, Х ) – множество имен (знаков) объектов (пред1 2 n метов, сущностей внешнего мира), с которыми мы имеем дело при решении задачи. Глава 1. Основные понятия ИИ 51 C = (С , С , …, С ) – множество имен существенных свойств 1 2 m (признаков) объектов множества Х, то есть концептов элементов X. Например, имя Яблоко имеет в своем концепте признаки: Сорт, Цвет, Вкус, Вес, Состояние и др. Очевидно, нам важно знать, какие значения могут принимать эти свойства. Так, Цвет яблок бывает: красным, желтым, зеленым, красно желтым, красно зеленым и т.п. То есть С = (c , c , …, c ), С = (c , c , …, c ) и т.д. Между цветом 1 11 12 1k 2 21 22 2r и его значениями существует отношение класс – экземпляр класса. R = (r , r , …, r ) – множество имен отношений, в которые могут 1 2 n × × × вступать объекты моделируемой ПрО, то есть R = Х Х … Х . 1 2 n Более строго понятие отношение будет рассматриваться в следующих разделах, а сейчас будем его понимать в теоретико множественном смысле. G = (g , g , …, g ) – множество имен действий, которые допусти1 2 k × × мы над объектами множества Х. G также определено на R = Х Х 1 2 × × … Х . n Допустим, мы описываем предметную область задачи о сборе яблок. Тогда, множество Х – объекты: Яблоко, Лестница, Корзина, Ящик; множество С – свойства (состояния) объектов: для Яблока – Сорвано, Уложено, Отброшено; для Лестницы – Лежит, Стоит; для Корзины – Полна, Пуста; для Ящика – Брошен, Уложен; множество R – отношения: Яблоко – На ветке, в корзине; Лестница – У дерева, Под деревом; Корзина – На лестнице, У ящика; Ящик – У дороги; множество G – действия (операторы): g – поставить (Ле стницу), 1 g – повесить (Кор зину), 2 g – сорвать (Яб локо), 3 g – положить (Яб локо в корзину), 4 g – наполнить (Кор зину), 5 g – уложить (Ящик), 6 g – перенести (Ящик к дороге) и т.п. 7 Выделенные множества X, C, R, G позволяют представлять предметную область в виде некоторого языкового эквивалента фрагмента Глава 1. Основные понятия ИИ 53 ведет его в состояние – постусловие (то есть состояние после совершения действия). Соединим эти два состояния в одну структуру. В результате мы получим концептуальную модель предметной области в виде совокупности правил вида: → → S (t) g S (t) i j j → → S (t) g S (t) j k k … (1.5) → → S (t) g S (t) q m m Мы видим, что знания о ПрО приобрели вид целостной единой конструкции, с помощью которой можно решать поставленную задачу, а именно – синтезировать алгоритм ее решения. 1.7. Процедура решения задачи Определим теперь понятия «задача», «решение», «алгоритм». Обозначим начальное состояние ПрО через S . Задача заключан в том, чтобы перевести предметную область из состояния S н в некоторое заданное, определяемое как целевое S . Очевидно, сдец это возможно, лишь применяя допустимые в данной предметной области действия из множества G = (g , g , …, g ). Какие вы1 2 k брать операции g и в какой последовательности – неизвестно. i В этом как раз и состоит решение задачи. Схема решения, таким образом, выражается формулой: (1.6) Допустим, что к состоянию S применился оператор g . Его рен перевела состояние S в S , но оно не совпало с S , то есть н 1 ц ≠ S = g (S ), S S . Для перевода S в состояние S поищем другой 1 1 н 1 ц 1 2 ∈ оператор. Пусть им будет оператор g G. Результатом его реали2 будет состояние S = g (S ) и, если S снова не совпадет с S , 2 2 1 2 ц поищем следующий оператор, например, g , чтобы получить состо3 S и оценить его, сравнивая с S . И так далее, пока не найдет3 такой g , что S = g (S ) и S = S . Описанный путь поиска решеj j j 1 j ц ния можно отобразить следующей цепочкой: . (1.7) 54 Глава 1. Основные понятия ИИ То же самое можно написать по другому: S = g (g (…(g (g (g (S )))…))). ц j j 1 3 2 1 н Последовательность (g , g , g , …, g ) будет представлять собой 1 2 3 j алгоритм решения задачи, являющейся результатом синтеза на основе МПрО. → Отметим, что перевод S S возможен не единственным спон В этом случае можно ставить задачу об оптимизации решения. Приведем примеры построения КМПрО. 1.8. Примеры решения задач Пример 1. Об обезьяне и бананах Рассмотрим широко известную задачу об обезьяне и бананах. В комнате, где находятся обезьяна, имеется ящик и связка бананов, причем бананы подвешены к потолку настолько высоко, что обезьяна не может дотянуться до них с пола. Какую последовательность действий должна совершить обезьяна, чтобы достать эти бананы? (Предполагается, что она должна догадаться подтащить ящик к бананам, взобраться на него и дотянуться до них.) Построим модель данной предметной области. Чтобы определить границы нужного нам фрагмента внешнего мира, начнем с определения целей, которые должны быть достигнуты в результате построения модели. В нашем случае все просто. Обезьяна должна достать бананы с потолка. Но для этого ей придется сообразить, что нужно подтащить ящик под бананы и забраться на него. Таким образом, целевая структура модели задается действиями: подойти, перенести, забраться, схватить. Очевидно, что множество Х будет ограничено теми объектами и предметами, которые станут аргументами действий. Тогда мы получаем: подойти (О, Я) – g (О, Я) – обезьяне подойти к ящику; 1 передвинуть (О, Я) – g (О, Я) – обезьяне передвинуть ящик; 2 взобраться (О, Я) – g (О, Я) – обезьяне взобраться на ящик; 3 схватить (О, Б) – g (О, Б) – обезьяне схватить бананы. 4 Объединяя аргументы действий, формируем множество X. Это – имена предметов и объектов МПрО: Обезьяна (да лее О), Ящик (Я), Бананы (Б), Комната (К). Начинаем строить множество С – имен свойств выделенных объектов, которые нам необходимо знать для решения нашей зада- Глава 1. Основные понятия ИИ 55 чи. У обезьяны очень много свойств, например: вид, рост, вес, пол, возраст и т.п. Нужны ли они нам для определения действия, которое она должна выполнить в той или иной ситуации. Нужно знать вес и рост, чтобы дотянуться до бананов. Но мы упростили задачу для большей ясности основных идей, поэтому это знание нам пока не понадобиться. Договоримся, что у нас исходно обезьяна такого роста и веса, а ящик такого веса и высоты, что высоты Я и роста О будет достаточно для доставания бананов. Очевидно, для выполнения всех действий пока мы должны знать лишь одно свойство О, Я, Б – в каких местах (точках) комнаты они находятся в начальной ситуации, то есть их координаты. Возникает также вопрос: а какими свойствами нужно описывать комнату? Задав длину, ширину, высоту? Ясно, что это можно сделать по разному. Давайте определимся. Поскольку обезьяна может ходить по комнате, то есть перемещаться из одной точки в другую, наиболее естественно каким то образом перечислить эти точки, то есть описать комнату как некоторое конечное (дискретное) множество точек, которое можно перечислить. Каждую их них можно задать как точки плоскости, но для простоты изложения назовем их точки a, b, c, …, р. Таким образом, мы сможем совместить свойства комнаты со свойствами объектов, которые в ней могут находиться. В итоге множество С будет иметь всего одно свойство для всех объектов – координаты О, Я, Б и точек комнаты. Не будем также выделять пока пространственную составляющую точки, в которой подвешены бананы. Множество отношений – R между нашими объектами тоже достаточно очевидно. Это: Рядом (О, Я), то есть обезьяна находится у ящика; На (О, Я) – обезьяна на ящике, наконец, У (О, Б) – бананы у обезьяны. Очевидно, что возможны отрицания этих отношений: — Не Рядом (О, Я), Не У (О, Б), Не На (О, Я) или иначе: Рядом (О, — — Я), У (О, Б), На (О, Я). Отметим также, что все действия имеют в качестве аргументов объекты МПрО, а субъект единственный – обезьяна. Таким образом, концептуальная модель нашей задачи и соответствующей ей предметной области ясна. Х = (О, Я, Б, К), С = (Коорд (О), Коорд (Я), Коорд (Б), Коорд = (a, b, c, …, р)), R = (Рядом (О, Я), На (О, Я), У (О, Б)), G = (g1 (О, Я), g2 (О, Я), g3 (О, Я), g4 (О, Я)). Теперь нам необходимо превратить эти фрагменты знания в це→ систему. С этой целью построим отображение F: (S(t) G) множества состояний на множество действий. Определим понятия начального – S и целевого – S состояний МПрО. Допусн Коорд. (О) = a, Коорд. (Я) = b, Коорд. (Б) = c, расположенная Глава 1. Основные понятия ИИ 57 переменными. Обозначим их как x и y соответственно. Координаты связки бананов тоже можно сделать переменными, но пока, для упрощения ситуации, не будем этого делать. Тогда каждое правило будет описывать класс состояний, к которым применим тот или иной оператор. Эти правила будут выглядеть следующим образом: → → (x, y, c, 0, 0) g (y, y, c, 0, 0), (1.12) 1 → → (y, y, c, 0, 0) g (c, c, c, 0, 0), (1.13) 2 → → (c, c, c, 0, 0) g (c, c, c, 1, 0), (1.14) 3 → → (c, c, c, 1, 0) g (c, c, c, 1, 1). (1.15) 4 Нетрудно подсчитать число состояний N (мощность подпространства состояний), описываемых каждым прототипом: × × × × для (1.12): N = 20 20 1 1 1 = 400, 1 × × × × для (1.13): N = 20 1 1 1 1 = 20, 2 × × × × для (1.14): N = 1 1 1 1 1 = 1, 3 × × × × для (1.15): N = 1 1 1 1 1 = 1. 4 × Здесь х, у определены на множестве точек комнаты n = 20, – знак декартова произведения. А все пространство состояний имеет мощность, равную сумме мощностей подпространств, то есть 422 состояния. Данную модель можно сколько угодно усложнять: может меняться местоположение бананов, ящиков может быть несколько, в комнате могут находиться другие предметы и т.п., но смысл преобразований при этом не изменится. Пример 2. О наполнении ведра водой В начальный момент времени пустое ведро стоит рядом с раковиной, кран закрыт. В целевом состоянии необходимо, чтобы ведро было полно и стояло на полу у раковины, а кран был бы закрыт. Все операции выполняет робот. Требуется построить план его действий. X: Робот (Р), Ведро (В), Кран, Пол (П), Раковина (РК). Множество С: состояние Ведра – (Пусто, Полно), состояние Крана – (Открыт, Закрыт). 58 Глава 1. Основные понятия ИИ Множество R: У (Р, Кран) – робот у крана, На (В, П) – ведро на полу, В (В, РК) – ведро в раковине. Множество действий – G = (g , g , g , g ), где: 1 2 3 4 g – поставить (Р, В, РК) или (Р, В, П), 1 g – открыть (Р, Кран), 2 g – наполнить (Р, В, РК), 3 g – закрыть (Р, Кран). 4 Поскольку робот все время находится в одной точке, его можно исключить из рассмотрения. Тогда: S = Пусто (В), Закрыт (КРАН), На (В, П) , н S = Полно (В), Закрыт (КРАН), На (В, П) . ц Рассмотрим отображение состояний в действия (решения): → → 1. (Пусто (В), Закрыт (Кран), На (В, П))) g 1 → (Пусто (В), Закрыт (Кран), В (В, РК)); → → 2. (Пусто (В), Закрыт (Кран), В (В, РК)) g 2 → (Пусто (В), Открыт (Кран), В (В, РК)); → → 3. (Пусто (В), Открыт (Кран), В (В, РК)) g 3 → (Полно (В), Открыт (Кран), В (В, РК)); → → 4. (Полно (В), Открыт (Кран), В (В, РК) g 4 → (Полно (В), Закрыт (Кран), В (В, РК)); → → 5. (Полно (В), Закрыт (Кран), В (В, РК)) g 1 → (Полно (В), Закрыт (Кран), На (В, П)). Последняя ситуация является, как видим, целевой. Решением задачи является алгоритм: S = g (g (g (g (g (S ))))). ц 1 4 3 2 1 н Примечание 1. Из определения МПрО следует, что отображение F описывает условия применения операторов из множества G к состояниям – предусловиям. Примечание 2. Из примеров хорошо видно, как важно правильно (удачно) выбрать способ описания ПрО. От этого зависят наглядность представления и даже скорость поиска решения. Глава 1. Основные понятия ИИ 59 Для работы над этой главой основными источниками были: [9, 16, 26, 27, 40, 96, 120, 126–129]. Вопросы для самопроверки 1. Что является объектом исследования в СИИ? 2. Какими свойствами должна обладать любая интеллектуальная система? 3. Какими особенностями обладают СИИ по сравнению с традиционными алгоритмическими системами? 4. Дайте определение СИИ. 5. Как менялось понятие «задачи» на различных этапах развития представлений об интеллектуальной системе? 6. Дайте определение понятия «системы» и приведите примеры. 7. Какие можно выделить категории знаков? 8. Какова структура знака? 9. Как определяется содержание знака? Приведите примеры. 10. Найдите объемы знаков «Человек», «Дорожный знак», «Столица». Какие отношения иерархии могут быть между знаками? Приведите примеры. 12. Какие отношения могут быть между знаками? Приведите примеры знаков с равнозначными объемами. 13. Чем отличается знание от данных? 14. Какими свойствами должна обладать система знаний? 15. Какими свойствами обладает знание? 16. Что такое кластер? 17. Что содержат процедурные знания? 18. Что содержат декларативные знания? 19. В чем заключается принцип активности? 20. Что понимается под концептуальной моделью предметной области? Приведите пример предметной области. 22. Что мы понимаем под «решением» задачи? 23. Что такое алгоритм решения задач? 24. В задаче «Требуется построить биссектрису угла треугольника» определите начальное и конечное (целевое) состояния предметной области и постройте пространство состояния для данной задачи. Глава 2 МЕТОДЫ ПОИСКА РЕШЕНИЙ В ПРОСТРАНСТВЕ СОСТОЯНИЙ 2.1. Пространство состояний Из предыдущих примеров мы видели, что применение операторов к начальному и другим, промежуточным, состояниям меняет эти состояния, порождая новые, которых вообще то может быть много и которые образуют то, что называется пространством состояний. Итак, множество возможных состояний предметной области назовем пространством состояний. Среди состояний, если модель построена корректно, рано или поздно появится одно, которое будет соответствовать целевому, и процесс поиска решения на этом будет закончен. Процесс этот может быть длинным и сложным, поэтому возникает необходимость в некотором едином методе представления множества состояний и поиска решений. Таким методом является метод, удобной графической моделью которого стал граф. Если отождествить состояние S с корнем или начальной верн графа дерева, то, применяя к S какой либо оператор g G, н 1 мы порождаем новое состояние S , образуя тем самым следующую 1 вершину графа (рис. 2.1). Эта новая вершина может быть промежуточной или целевой. Если вершина промежуточная, то процесс порождения новых вершин (с помощью операторов g ) будет продолжен, пока не найдется целеi Процесс применения оператора g к некоторой вершине называi раскрытием вершины. От каждой порожденной вершины к породившей ее расставляются указатели, которые позволяют найти путь назад, к начальной вершине, после того, как обнаружена целевая. Общая процедура построения дерева в пространстве состояний при этом выглядит следующим образом. 1) К корню дерева S применяются операторы g из множества G н i (их может быть несколько). Полученные при этом вершины образуют первый уровень новых вершин. 2) Каждая из вновь полученных вершин проверяется, не является ли она целевой. Если нет, то процесс продолжается по отношению к каждой из них. Образуется второй уровень вершин. Если Глава 2. Методы поиска решений в пространстве состояний 61 Путь решения задачи S = g (g (g (g (S )))) 8 6 3 1 ц н Рис. 2.1. Граф решения задачи к какой либо вершине никакой оператор из G не применим, то эта вершина становится терминальной (конечной). Как видим, на каждом шаге проводятся две операции: порождение новой вершины и проверка, не является ли новая вершина целевой, то есть совпадающей с целевым состоянием. 3) Когда целевая вершина найдена, в обратном направлении (от цели к началу) просматриваются указатели дуг и выделяется путь решения. Практически этот путь удобнее отображать посредством операторов, связанных с этими дугами (рис. 2.1). В общем случае количество вершин может быть большим. Их последовательное раскрытие, анализ и пометка пути осложняют задачу. Возникает проблема перебора вершин: в каком порядке они будут порождаться и анализироваться. Здесь возможны следующие варианты: 1) если вершины раскрываются в том же порядке, в котором они порождаются, то такой процесс называется полным перебором в ширину (breadth first process); 2) если на каждом шаге первой раскрывается вершина, которая была построена последней, то такой процесс называется полным перебором в глубину (depth first process). В этих процессах расположение целевой вершины не влияет на порядок раскрытия, поэтому их часто называют процессами слепого перебора. 62 Глава 2. Методы поиска решений в пространстве состояний 3) если есть некоторая дополнительная (эвристическая) информация о предметной области, которая позволяет делать суждения о характере графа пространства состояний и расположения цели, то такой метод построения графа называется эвристическим («эвристический» означает «служащий открытию»). Эвристическая информация, опирающаяся, как правило, на предыдущий опыт, позволяет выполнять поиск в наиболее перспективных направлениях. Говоря о графе, будем рассматривать только один наиболее простой его тип – граф типа «дерево». Как известно, деревом называется граф, каждая вершина которого имеет только одну вершину, непосредственно предшествующую ей (родительскую), за исключением вершины корня, которая предшествующих вершин не имеет. 2.2. Метод полного перебора в ширину Как уже было сказано, в этом методе вершины раскрываются в том порядке, в котором они строятся. Основной алгоритм состоит в выполнении следующих действий. 1) Раскрывается начальная вершина S . Она раскрывается до тех н пор, пока ее можно раскрыть, применяя один и тот же оператор (или разные, смотря по условию). При этом образуются вершины первого уровня: S , S , S и т.д. Они раскрываются в свою оче1 2 3 редь, и образуются вершины второго уровня и т.д. (рис. 2.1 может служить примером этого метода: S и S – вершины первого уров1 2 ня, S и S – вершины второго уровня, S и S – третьего и т.д.). 3 4 5 6 2) Расставляются указатели, ведущие от новых вершин к корню. Это могут быть условные имена, буквы, цифры, имена операторов и т.п. Но могут быть и реальные величины, например, расстояния, стоимость, вес и т.д. 3) Проверяется, нет ли среди полученных вершин целевой. Если есть, то формируется решение на основе соответствующего оператора. Если целевых вершин нет, то рассматривается первая порожденная вершина и к ней применяется тот же алгоритм. После чего переходят ко второй и т.д., пока среди получаемых вершин не окажется целевой. Метод полного перебора в ширину гарантируют нахождение целевой вершины как раз потому, что перебор – полный. Путей достижения цели, вообще говоря, может быть много. В этом случае Глава 2. Методы поиска решений в пространстве состояний 63 Рис. 2.2. Элемент дерева полного перебора в ширину для примера с обезьяной и бананами у нас имеется возможность выбрать наикратчайший (или самый дешевый, или самый легкий – критериев много) путь. Но может быть случай, когда граф поиска окажется бесконечным и тогда этот алгоритм никогда не кончит работу. Таким образом, метод полного перебора гарантирует поиск оптимального решения, если дерево пространства состояний не бесконечно. названия метода являются: метод грубой силы, метод проб и ошибок. На рис. 2.2 показан элемент дерева полного перебора в ширину для примера с обезьяной и бананами (для полноты изложения здесь применяется дополнительный оператор g , отображающий 5 перемещение обезьяны по комнате из точки в точку). Корень дерева совпадает с S (a,b,c,0,0,). Точки d, f, k, n, m – кон возможной миграции обезьяны по комнате. Таких точек, конечно, множество, но мы выбрали лишь несколько для примера. Они не приводят к решению, но теоретически вполне допустимы. Жирной линией показан путь до целевой вершины S (c,c,c,1,1), коц соответствует последовательность операторов g , g , g , g . 4 3 2 1 Алгоритм решения отобразится формулой: S = g (g (g (g (a,b,c,0,0)))). ц 4 3 2 1 64 Глава 2. Методы поиска решений в пространстве состояний 2.3. Метод полного перебора в глубину В отличие от метода перебора в ширину этот метод предлагает раскрывать, прежде всего, те вершины, которые были построены последними. Первой раскрываемой вершиной, а следовательно, и последней, является корневая, но процесс всегда будет идти по самой левой ветви вершин. Чтобы как то ограничить перебор, вводится понятие глубины вершины в дереве перебора. Полагаем, что глуби- на корня дерева равна нулю, а глубина любой последующей вершины равна единице плюс глубина вершины, непосредственно ей предшествующей. Отсюда следует, что наибольшую глубину всегда будет иметь та вершина, которая должна быть в этот момент раскрыта. Если образующийся путь оказывается бесполезным, то есть при заданной глубине раскрытия целевой вершины не получилось, необходимо вернуться в вершину, предшествующую раскрытой, и попытаться еще раз применить к ней операцию раскрытия. И так до тех пор, пока не будет получена целевая вершина. Возврат осуществляется с помощью указателей. Как только в процессе порождения вершин достигается заданная граничная глубина, раскрывается вершина наибольшей глубины, не превышающая этой границы. Общая схема перебора в глубину показана на рис. 2.3. Рис. 2.3. Дерево полного перебора в глубину Глава 2. Методы поиска решений в пространстве состояний 65 Алгоритм перебора в глубину состоит в следующем. 1) Раскрывается начальная вершина, соответствующая начальному состоянию S . н 2) Раскрывается первая вершина, получаемая в результате раскрытия S . Ставится указатель. н 3) Если она раскрывается, то следующей будет раскрываться вновь порожденная вершина. Если вершина не раскрывается, то процесс возвращается в предыдущую вершину. 4) По получении целевой вершины процесс раскрытия заканчивается и по указателям строится путь, ведущий к корню. Соответствующие дугам операторы образуют решение задачи. 5) Если для заданной глубины раскрытия целевая вершина не находится, то весь процесс повторяется снова, а в качестве новой вершины рассматривается самая левая из полученных на предыдущем этапе. Так же, как и метод поиска «в ширину», этот метод относится к методам «грубой силы». Он обеспечивает перебор всех состояний, если, конечно, прежде не встретит целевое. 2.4. Эвристические методы поиска в пространстве состояний Методы полного перебора гарантируют решение задачи, если оно существует, а при наличии нескольких решений, гарантирует оптимальное. Однако на практике эти методы используются для решения лишь небольших по размерности графов состояний задачи. Для реальных случаев чаще всего используется дополнительная информация, основанная на предыдущем опыте или полученная на основании теоретических выводов. Такая информация называется эвристической, а организованная в правила – эвристическими правилами или эвристиками. Эвристическая информация носит сугубо специальный характер и может применяться только в рамках данной задачи, в лучшем случае, в рамках задач данного класса. Другими словами, эвристическая информация превращает грубый перебор в упорядоченный. В качестве примера рассмотрим известную задачу о коммивояжере. Коммивояжер должен построить свой маршрут так, чтобы побывать в каждом из n городов в точности по разу и возвратиться в исходный город. Желательно также, чтобы этот маршрут был 66 Глава 2. Методы поиска решений в пространстве состояний Рис. 2.4. Задача о коммивояжере Рис. 2.5. Граф полного перебора в ширину для задачи о коммивояжере минимальным по протяженности. Пусть n = 5. Города обозначим через A, B, C, D, E. Длина пути от города до города задана на рис. 2.4. Пусть начальным пунктом отправления будет город А, поэтому S = A. Целевое состояние – тоже А. Оператор перехода – единн – g . Граф пространства состояний этой задачи при ис1 метода поиска в ширину выглядит следующим образом (рис. 2.5). Граф полного перебора, включающий все возможные пути коммивояжера, будет содержать 24 варианта. (На рис.2.5 показаны 68 Глава 2. Методы поиска решений в пространстве состояний Вопросы для самопроверки 1. Что представляет собой пространство состояний? Определите понятия начального и целевого состояний. 2. В какой форме можно представить пространство состояний? 3. Какие методы поиска в пространстве состояний вы знаете? 4. Как искать решение задачи по методу полного перебора в ширину? Дайте определение решения задачи на дереве пространства состояний. Как определяется решение задачи по методу полного перебора в глубину? 7. Поясните алгоритм построения графа дерева. 8. Какая информация называется эвристической? 9. В чем состоят эвристические методы перебора? 10. В чем заключаются достоинства и недостатки методов «грубой силы»? 11. Имеются три бочонка объемом в 8, 5 и 3 литров. Первый наполнен квасом, два остальных пустые. Требуется квас разделить пополам. Построить граф решения задачи по методу полного перебора в ширину. Указание: если вновь открытая вершина совпадает с открытой ранее, она считается конечной. 12. То же – по методу полного перебора в глубину. Глава 3 РЕШЕНИЕ ЗАДАЧ МЕТОДОМ РАЗБИЕНИЯ НА ПОДЗАДАЧИ Идея метода состоит в следующем. Если путь решения задачи неясен (или неизвестен), то нужно постараться найти какую то точку опоры, от которой (или до нее) путь известен. Это точка может быть в любом месте – в начале, в середине, в конце, но она должна быть. Этой точке, очевидно, будет соответствовать некоторое состояние S на пути от S до S . Если эта точка S определена, то к ней i н ц i уже можно применить какое либо действие и этим изменить состояние предметной области, то есть приблизиться к возможному решению. Для нового состояния также ищется точка опоры на оставшемся пути, к ней снова применяется какое то (или то же самое) действие и т.д., пока не будет решена вся задача. Чтобы детально описать этот метод, необходимо вернуться к определению понятия задачи. Для этой цели воспользуемся понятием пространства состояний. В более общем, чем прежде, виде задачу Z можно представить следующим образом: Z = S, G, F , где S – множество начальных состояний; G – множество операторов, переводящих предметную область из одного состояния в другое; F – множество целевых состояний. При таком обозначении промежуточные состояния S удобнее i обозначать через f , поскольку они теперь представляют собой как i бы промежуточные цели. Конечной целью сведения задачи к подзадачам является получение таких элементарных задач, решения которых очевидны. Элементарными считаются задачи, которые могут быть решены за один шаг, то есть за одно применение какого либо оператора из множества G. 70 Глава 3. Решение задач методом разбиения на подзадачи Рис. 3.1. Граф отношений подзадач для задачи Z 3.1. Представление задачи в виде И/ИЛИ графа Между полученными при разбиении подзадачами могут быть отношения согласованности (одновременности) их решения (отношение И), или отношение альтернативности (отношение ИЛИ). Рассмотрим это подробнее. Допустим, что исходная задача Z может быть разбита на подзадачи A, B, C, D, E. Пусть при этом подзадачи А и B, а также C и D находятся в отношениях И, то есть должны решаться согласованно (одновременно), а множества (A И B), (C И D) и подзадача Е находятся в отношении ИЛИ, то есть имеют альтернативный характер отношений. Тогда все сказанное легко отобразить на графе (рис. 3.1). Отношения типа И будем отмечать двойной дугой, связывающей ребра графа. Для единообразия представления можно ввести дополнительные (фиктивные) вершины, которые группировали бы подзадачи типа И и ИЛИ под своей собственной родительской вершиной (рис. 3.2). Таким образом, исходная задача Z представляется подзадачами M, N и Е, имеющими альтернативный ИЛИ характер, а подзадачи M и N, в свою очередь, – подзадачами (A, B) и (C, D) с отношениями типа И. Альтернативные вершины M, N, E называются поэтому ИЛИ вершинами, а вершины A, B, C, D – И вершинами и помечаются двойной дугой. Структура типа изображенной на рис. 3.2 называется И/ИЛИ графом. При этом, как видим, если вершина И/ИЛИ графа имеет непосредственно следующие за ней вершины, то либо все они являются ИЛИ вершинами, либо вершинами И. Если у вершины имеется только одна следующая за ней вершина, то ее можно считать как И, так и ИЛИ вершиной. Если вершин типа И вообще нет, то получается обычный граф, тот самый, который получался в методе полного перебора при поиске в пространстве состояний. Глава 3. Решение задач методом разбиения на подзадачи 71 Рис. 3.2. И/ИЛИ граф задачи Z Структура типа И/ИЛИ графа является удобной для представления дерева подзадач. При этом начальная вершина графа соответствует начальному состоянию S исходной задачи, а вершины, н которые соответствуют описаниям элементарных подзадач, называются заключительными. Основная цель поиска на И/ИЛИ графе – показать разрешимость вершины S . Вершина является разрешимой, если выполняi одно из следующих условий: 1) вершина S является заключительной; i 2) следующие за S вершины являются вершинами типа ИЛИ i и при этом хотя бы одна из них разрешима; 3) следующие за S вершины являются вершинами типа И и при i этом каждая из них разрешима. Решающим графом называется подграф, состоящий из разрешимых вершин с корнем в начальной вершине. В случае если у вершины И/ИЛИ графа, не являющейся заключительной, нет следующих за ней вершин, такая вершина называется неразрешимой. Порождение новых вершин (а эта операция еще называется операцией редукции задачи) выполняется путем применения обобщенного оператора G (то есть каких либо операторов из множества G) сведения задачи к подзадачам. Применение оператора G к описанию задачи порождает всю структуру И/ИЛИ графа (или иначе графа редукции). 3.2. Механизм сведения задачи к подзадачам Напомним, что наша цель – построить некоторый алгоритм, который, будучи примененным чисто механически, обязательно даст 72 Глава 3. Решение задач методом разбиения на подзадачи результат, то есть требуемую структуру – И/ИЛИ граф с выделенным решающим подграфом. Такой алгоритм представляет собой один из механизмов планирования решения задачи. Как следует из предыдущего, если исходная задача Z задается своим начальным описанием Z = S, G, F , то свести ее к совокупности более простых задач в пространстве состояний можно, если нам удастся выделить основные промежуточные состояния f , f , f , …, f . Каждому из этих состояний в со1 2 3 n ответствие можно поставить свое описание в виде троек: S, G, f , f , G, f , f , G, f , …, f , G, F . 1 1 2 2 3 n Решение этих подзадач эквивалентно решению исходной задачи. На этой идее построен основной механизм сведения задачи к подзадачам. ∈ 1. Выделяем, по крайней мере, один оператор g G, который обяi будет участвовать в решающей цепочке операторов. Все операторы такого типа называются ключевыми (то есть операторы, обязательно участвующие в решающей цепочке). 2. Для каждого из ключевых операторов (если их несколько) определяются промежуточные состояния, к которым они могут быть применены в условиях задачи Z. Для оператора g это буi состояние f . (Таких состояний, вообще говоря, может быть i несколько, и тогда они образуют подмножество целевых состо- ∈ яний Fg F.) Теперь уже можно выделить подзадачу поиска пуi от начала до состояния f (или до Fg ). Другими словами, приi оператора g привело к первой подзадаче с описанием: i S, G, f (или S, G, Fg ). i i 3. Как только такое описание найдено, может быть сформулирована вторая подзадача, соответствующая элементарной. В самом деле, поскольку состояние f соответствует оператору g , то i i ничто не мешает нам применить его к f и получить, таким обраi новое состояние g (f ), определенно приближающее нас i i к конечной цели, правда, только на один шаг. 4. От вновь полученного состояния g (f ) до конечной цели F еще i i может быть неблизкий путь. Определить его – третья подзадача. Таким образом, применение выбранного оператора g к задаче i 74 Глава 3. Решение задач методом разбиения на подзадачи Рис. 3.5. Обобщенный И/ИЛИ граф для одной точки (f ) i Итак, для разбиения задачи на подзадачи и построения соответствующего И/ИЛИ графа нужны ключевые операторы (обычно более одного). Один из способов нахождения операторов, могущих быть ключевыми, состоит в вычислении различий между ∈ ∈ состояниями по пути от S S к S F. Каждому возможному разн ставится в соответствие оператор (или их множество), который это различие может устранить. Цепочка операторов, последовательно устраняющих различия между S и S , называется н ц решением задачи. 3.3. Пример решения задачи Проиллюстрируем метод разбиения задачи на подзадачи и поиска решений на И/ИЛИ графе на примере с обезьяной и бананами (см. п. 1.8). Допустим, что исходное описание задачи задается следующим образом: S = (a, b, c, 0, 0), н S = (c, c, c, 1, 1), ц G = (g1, g2, g3, g4). При этом отметим, что оператор g устраняет различие между 1 состояниями (a, b, c, 0, 0) и (b, b, c, 0, 0), g – между (b, b, c, 0, 0) и 2 (c, c, c, 0, 0), g – между (c, c, c, 0, 0) и (c, c, c, 1, 0), g – между (c, c, 3 4 c, 1, 0) и (c, c, c, 1, 1). Попытаемся далее выделить подзадачи, применяя, например, оператор g (применение операторов может быть произвольным, 3 поскольку речь идет о механической процедуре). Ему будут соответствовать подзадачи с описаниями: Глава 3. Решение задач методом разбиения на подзадачи 75 Рис. 3.6. И/ИЛИ граф для задачи с обезьяной и бананами (ключевой оператор – g ) 3 Рис. 3.7. И/ИЛИ граф для оператора g 4 1) ((a, b, c, 0, 0), G, (c, c, c, 0, 0)), так как оператору g соответству3 состояние Fg = (c, c, c, 0, 0); 3 2) ((c, c, c, 0, 0), g , (c, c, c, 1, 0)). Здесь (c, c, c, 1, 0) = g (c, c, c, 0, 0). 3 3 То есть результат применения ключевого оператора g к состоя3 (c, c, c, 1, 0). 3) Остается еще подзадача: ((c, c, c, 1, 0), G, (c, c, c, 1, 1)). 76 Глава 3. Решение задач методом разбиения на подзадачи Мы видим, что подзадача 1 не является заключительной (то есть допускает дальнейшее разбиение), а подзадача 3 является элементарной, то есть заключительной, если применить оператор g . 4 Подзадача 2 также является заключительной. Разбиваем на подзадачи первую подзадачу. Одно из различий между начальным и целевым состоянием может быть устранено применением, например, оператора g (возможно и g ). Получим 2 1 новые подзадачи с описаниями: 1.1. ((a, b, c, 0, 0), G, (b, b, c, 0, 0)); 1.2. ((b, b, c, 0, 0), g2, (c, c, c, 0, 0)). Здесь мы видим, что подзадача 1.2 является элементарной, а различие в подзадаче 1.1 может быть устранено, если применить ∈ оператор g G, и тогда она является тоже элементарной. 1 Целиком граф И/ИЛИ приведен на рис. 3.6. Точно так же можно было бы осуществить разбиение исходной задачи на подзадачи, применяя вначале любой другой оператор: g , 4 g или g . На рис. 3.7 показан граф для ключевого оператора g . 2 1 4 3.4. Достоинства и недостатки методов поиска в пространстве состояний Приведем примеры задач, для решения которых могут применяться методы поиска в пространстве состояний. 1) Комбинаторные задачи. Классический пример – задача о коммивояжере (п. 2.4). Состояния задаются списком городов, операторы соответствуют действию: направиться в город А, направиться в город В, …, направиться в город N. Критерий достижения цели: любое описание, начинающееся и оканчивающееся городом А и перечисляющее все другие города, есть описание состояния, удовлетворяющего поставленной цели. Данная задача допускает поиск оптимального решения, поскольку дугам могут быть приписаны стоимости (длина пути) перехода из одного города в другой. Данная задача хорошо представима в графической форме (карте расстояний), что и делает ее удобной для применения методов поиска в пространстве состояний. Считается, что метод поиска в пространстве состояний применим при числе городов до 50. К данному классу задач хорошо сводятся практически любые однокритериальные задачи лабиринтного типа. Глава 3. Решение задач методом разбиения на подзадачи 77 2) Задачи синтаксического анализа. При работе с языками (естественными или искусственными) задается грамматика построения правильных выражений (строк символов – слов, предложений, выражений) в данном языке и, следовательно, способ определения принадлежности произвольной строки символов к этому языку. Тогда множество состояний задачи синтаксического анализа может быть задано как множество строк (слов). Начальное и целевое состояния определяются какими то фиксированными словами в алфавите этого языка. Операторы могут быть заданы в виде → правил переписывания типа: мвц миц, где подстрока в может быть заменена подстрокой и. Эти правила могут выражать, например, синтаксис рассматриваемого языка. Критерий цели для этой задачи может быть задан строкой, число символов которой совпадает с числом символов целевого слова. Пример задачи такого типа: как слово «море» преобразовать в слово «рыба» путем замены на каждом шаге одной буквы. Очевидно, что при большом числе правил переписывания граф пространства состояний становится слишком большим. 3) Задачи распределения. Здесь известно: объем продукции каждого типа; величина поставок, которые должны быть осуществлены в заданные пункты. Необходимо найти такое распределение поставок, при котором, например, затраты на перевозки были бы минимальны. Состояния описываются списком величин избыточной продукции, которая имеется в заданных пунктах. Операторы соответствуют передаче избытка продукции из одного пункта в другой. В качестве критерия может быть взято целевое состояние, при котором будут удовлетворены все заявки на поставку требуемой продукции. Типичная задача линейного программирования. 4) Задачи управления типа: требуется перевести объект управления с начальными значениями установленных параметров процесса в состояние, при котором эти параметры будут иметь заданные значения. Задача об обезьяне и бананах является типичной задачей этого класса. Возникает вопрос, когда же следует применять описанные здесь методы поиска в пространстве состояний? Для каких классов задач эти методы применимы и могут дать эффективные решения? Во первых, это должны быть задачи, для которых такое представление возможно и является естественным. Это означает, что для выбранной задачи необходимо найти способ описания любых потенциально возможных состояний предметной области, определить множество операторов (ключевых операторов для метода раз- Глава 3. Решение задач методом разбиения на подзадачи 79 В этой связи в искусственном интеллекте развивались и другие, l более универсальные, модели представления знаний (МПЗ) о задаче. Общие требования к МПЗ можно сформулировать следующим образом: 1. Необходимы способы представления знаний о задаче, безразличные к содержанию (смыслу) самих знаний. Это позволит применять эти способы для представления знаний в любых предметных областях для решения задач. 2. Эти способы должны иметь механизм логического анализа, позволяющий моделировать человеческую логику выработки решений на выбранных моделях представления знаний. 3. Эти способы должны решать задачи, которые известными формальными моделями и методами не решаются в связи с их нестрогостью и нечеткостью. Первое требование означает, что проблема смысла (содержания) знаний заменяется проблемой синтаксического их представления. Второе требование предполагает возможность разделения самих знаний и механизмов их логического анализа. Третье требование предполагает возможность формализации опытного (экспертного) знания, накапливаемого специалистами различных предметных областей и имеющих качественный (а не количественный) характер. Именно с таким знанием не могут работать все известные формальные математические модели. Мы, таким образом, приходим к необходимости разработки и применения не только формальных, но и неформальных моделей представления знаний. Для работы над этой главой основными источниками были: [16, 72]. Вопросы для самопроверки и упражнения 1. В каких случаях рекомендуется применять метод разбиения на подзадачи? 2. Дайте определение И вершине, ИЛИ вершине. 3. Какова структура И/ИЛИ графа? 4. Какая вершина называется заключительной? 5. Каково условие раскрытия И вершины? 6. Каково условие раскрытия ИЛИ вершины? 7. Какая вершина называется разрешимой? 8. Какой оператор является ключевым? 9. Объясните идею разбиения на подзадачи на линейном графике. 10. Постройте И/ИЛИ граф для задачи с обезьяной, начиная с оператора g . 2 80 Глава 3. Решение задач методом разбиения на подзадачи Рис. 3.8. Задача о выборе маршрута 11. Задача о выборе маршрута. Известно, что применение метода сведения задачи к подзадачам особенно эффективно, когда подзадачи взаимно независимы. Покажем это на примере отыскания маршрута между городами А и Т (см. рис. 3.8). На рисунке задана маршрутная сеть между населенными пунктами, лежащими на двух берегах реки. K и L – это мосты, связывающие города одного берега с другим. На дугах между пунктами указаны расстояния (стоимость). При построении дерева подзадач следует учитывать, что добраться из пункта А в пункт Т можно двумя альтернативными путями: через Глава 4 МОДЕЛИ ПРЕДСТАВЛЕНИЯ ЗНАНИЙ Выше было показано, каким образом отображается связь между языковым описанием ПрО, ее состоянием (декларативная компонента), с одной стороны, и именами действий, выражающих процедурное знание (процедурная компонента), с другой. То есть описания состояний предметной области каким то образом должны быть связаны с прагматической составляющей знаков, обозначающих действие (решения). Это можно сделать по разному. Например, можно просто описывать отдельные состояния ПрО в виде предложений ЕЯ, в которых части речи (подлежащее, сказуемое, прилагательное, наречие и т.п.) будут соответствовать именам объектов ПрО, свойств, отношениям, действиям и т.д. И тогда нужно предложить средства для понимания ЕЯ текстов, то есть их разборки на части речи, выявления смыслов, работы с этими смыслами. Понятно, что это очень непросто. Подобные проблемы решаются в рамках проблематики понимания ЕЯ и машинного перевода, также относящейся к области СИИ. И особенно качественных систем такого плана мы не имеем до сих пор. Настолько сложна эта проблема. В нашу задачу ее рассмотрение не входит. Предлагается другой путь, на наш взгляд, более конструктивный. Задача ставится следующим образом. Нельзя ли научиться тексты на ЕЯ приводить к некоторому стандартному виду, в котором не будет проблем синонимии, полисемии, омонимии и других общих проблем понимания и анализа ЕЯ текстов? Для этого нужно разработать эти стандартные представления (модели) и предложить наборы соответствующих метапроцедур, имитирующих процессы логического вывода решений, рассуждений по аналогии, обобщения и т.д. Очевидно, что таких моделей может быть несколько, чтобы иметь возможность учитывать специфику решаемых задач и предметных областей. Данная проблематика получила название «Модели представления знаний в СИИ». Глава 4. Модели представления знаний 83 4.1. Классификация моделей представления знаний Как организовать базу знаний с тем, чтобы она соответствовала требованиям СИИ, мы приблизительно познакомились. Очевидно, что методы представления знаний в базе должны соответствовать изложенным требованиям. Существуют три основных типа моделей представления знаний (МПЗ): формальные модели представления знаний, l неформальные (семантические, реляционные) МПЗ, l интегрированные МПЗ или – смешанные. l К формальным МПЗ относятся модели, построенные на основе исчисления высказываний и исчисления предикатов. К неформальным (реляционным, семантическим) относятся: продукционные модели, l семантические сети, l фреймовые МПЗ. l Интегрированные МПЗ совмещают в себе модели различных типов. 4.2. Формальные модели представления знаний Система ИИ в определенном смысле моделирует интеллектуальную деятельность человека и, в частности, логику его рассуждений. В грубо упрощенной форме наши логические построения при этом сводятся к следующей схеме: из одной или нескольких посылок (которые считаются истинными) следует сделать «логически верное» заключение (вывод, следствие). Очевидно, для этого необходимо, чтобы и посылки, и заключение были представлены на понятном языке, адекватно отражающем предметную область, в которой проводится вывод. В обычной жизни – это наш естественный язык общения, в математике, например, – это язык определенных формул и т.п. Наличие языка предполагает, во первых, наличие алфавита (словаря), отображающего в символьной форме весь набор базовых понятий (элементов), с которыми придется иметь дело, и, во вторых, набор синтаксических правил, на основе которых, пользуясь алфавитом, можно построить определенные выражения. Логические выражения, построенные в данном языке, могут быть истинными или ложными. Некоторые из этих выражений, 84 Глава 4. Модели представления знаний являющиеся всегда истинными, объявляются аксиомами (или постулатами). Они составляют ту базовую систему посылок, исходя из которой и пользуясь определенными правилами вывода, можно получить заключения в виде новых выражений, также являющихся истинными. Если перечисленные условия выполняются, то говорят, что система удовлетворяет требованиям формальной теории. Ее так и называют формальной системой (ФС). Система, построенная на основе формальной теории, называется также аксиоматической системой. Формальная теория должна, таким образом, удовлетворять следующему определению: всякая формальная теория F = (A, V, W, R), определяющая некоторую аксиоматическую систему, характеризуется: наличием алфавита (словаря), А; l множеством синтаксических правил, V; l множеством аксиом, лежащих в основе теории, W; l множеством правил вывода, R. l Исчисление высказываний (ИВ) и исчисление предикатов (ИП) являются классическими примерами аксиоматических систем. Эти ФС хорошо исследованы и имеют прекрасно разработанные модели логического вывода – главной метапроцедуры в интеллектуальных системах. Поэтому все, что может и гарантирует каждая из этих систем, гарантируется и для прикладных ФС как моделей конкретных предметных областей. В частности, это гарантии непротиворечивости вывода, алгоритмической разрешимости (для исчисления высказываний) и полуразрешимости (для исчисления предикатов 1 го порядка). ФС имеют и недостатки, которые заставляют искать иные формы представления. Главные недостатки – это «закрытость» ФС, их негибкость. Модификация и расширение здесь всегда связаны с перестройкой всей ФС, что для практических систем сложно и трудоемко. В них очень сложно учитывать происходящие изменения. Поэтому ФС как модели представления знаний используются в тех предметных областях, которые хорошо локализуются и мало зависят от внешних факторов. В заключение скажем, что выбор модели представления знаний при построении СИИ является ответственейшим этапом. Эта работа выполняется специалистом по профессии «инженер по знаниям» – новая специальность, появившаяся в результате развития СИИ и экспертных систем. Вопросы технологии проектирования СИИ будут рассмотрены в другом издании. Для работы над этой главой основным источником были [16, 72]. Глава 4. Модели представления знаний Вопросы для самопроверки и упражнения 1. Перечислите методы представления знаний. 2. Дайте определение формальной системе. 3. Какими свойствами характеризуется ФС? 4. Какова структура ФС? 5. Каков алгоритм вывода в ФС? 6. Каковы достоинства и недостатки ФС? 85 Глава 5 МОДЕЛЬ ПРЕДСТАВЛЕНИЯ ЗНАНИЙ В ИСЧИСЛЕНИИ ВЫСКАЗЫВАНИЙ Исчисление высказываний является одной из самых простых формальных моделей представления знаний (МПЗ). Ее простота, небольшой набор выразительных средств делают ее мало применимой для описания сложных систем знаний. Но сам механизм вывода (решений, знаний) является основным в логических СИИ. (Под логическими СИИ понимаются системы, использующие механизм вывода, свойственный формальным системам.) Поэтому его лучше всего понять сначала на примере простой формальной модели ПЗ, какой является «Исчисление высказываний». 5.1. Понятие «высказывание» Напомним, что под высказыванием обычно понимают некоторое суждение, предложение, выражение, утверждение и т.п. Но такое широкое толкование нам не подходит, его надо конкретизировать. Если, услышав сообщение «идет дождь», вы просто приняли его к сведению и перед выходом из дома взяли зонт, то с точки зрения ИВ это сообщение не является высказыванием. Если же после указанных слов вы подошли к окну, чтобы удостовериться в их истинности, то такое сообщение уже можно определить именно как высказывание. Итак, всякое суждение, истинность которого каким то образом может быть проверена, называется высказыванием. Простые, односложные высказывания обозначаются строчными латинскими буквами a, b, m, l, r, q, … Это высказывания типа «све тает», «дом белый», «се годня холодно», «Пе тя любит Машу». Если установлено, что высказывание r истинное, то пишут r = И (или r = 1), если r ложное, то r = Л (r = 0). Делаем вывод, что каждое высказывание может быть либо истинным, либо ложным, третьего не дано – таков закон «исключенного третьего». Простые высказывания называют еще элементарными или атомарными. С помощью связок, называемых логическими, типа И, ИЛИ, НЕ, ЕСЛИ … ТО могут строиться любые сложные высказывания, кото- Глава 5. Модель представления знаний в исчислении высказываний 87 рые тоже могут принимать значения либо истина, либо ложь. И только из таких суждений, следовательно, может строиться модель любой предметной области. Понятие «исчисление» означает все множество выражений (предложений), которое может быть построено на основе синтаксиса, аксиом и правил вывода ИВ. Иными словами, исчисление высказываний есть аксиоматическая система, предназначенная для моделирования и изучения логики высказываний. Любая предметная область, знания о которой представлены в виде высказываний и аксиом с соблюдением синтаксических правил ИВ, образует прикладную аксиоматическую теорию данной предметной области или формальную модель ПрО в ИВ. Рассмотрим составляющие этой МПО. 5.2. Алфавит ИВ Алфавит или словарь ИВ, во первых, содержит сами высказывания, обозначаемые символами a, b, m, n, …, t. Во вторых, он содержит еще логические связки И, ИЛИ, НЕ, ЕСЛИ … ТО, с помощью которых строятся более сложные высказывания. Они хорошо известны читателю по курсам дискретной математики, логических основ ЭВМ, программирования и др. Мы все таки перечислим их, тем более что в ИИ они используются в расширенном составе и в разных обозначениях (см. табл. 5.1). Тип отрицания – унарный, потому что оно может быть приложено к одному высказыванию, даже если это высказывание – сложное выражение. Остальные – бинарные, т.к. они могут соединять как минимум два высказывания. Действия связок определяются таблицей истинности (табл. 5.2). Таблица 5.1 88 Глава 5. Модель представления знаний в исчислении высказываний Таблица 5.2 В нашем случае мы будем употреблять следующие обозначения отрицания: ; X конъюнкции: или , или ; X Y XY X Y дизъюнкции: или ; X Y X Y импликации: ; X Y эквивалентности: . X Y С помощью связок из простых высказываний можно строить более сложные высказывания, употребляя при этом еще и различ ные скобки: ; q p p q r . a b m b a Не будем останавливаться на хорошо всем известных толкованиях связок конъюнкции (И) и дизъюнкции (ИЛИ). Заметим толь- ко, что за исключением импликации все остальные связки подчиняются перестановочному закону, то есть не меняют своего значения, если х и y поменять местами. Особый разговор об импликации. Условно она моделирует утверждение типа «ес ли x …, то y …». Условность здесь заключается в том, что не всегда поведение ее очевидно. Например, выражение: «ес ли x – ЛОЖЬ, то y – ИСТИНА» оказывается ИСТИННЫМ. Тем не менее эта связка широко применяется, поскольку отражает одно из основных логических понятий. Импликация неперестановочна. Пусть мы имеем такое высказывание: «если два слагаемых нечетные (r), то их сумма – четная → (q)». Оно представляется импликацией r q, которая, очевидно, → → истинна: (r q) = И. Попробуем поменять местами r и q: q r. Новая импликация означает: «если сумма двух слагаемых четная (q), то оба слагаемых нечетные (r)», что верно только отчасти. Импликация отображает причинно следственные связи и предостерегает нас от широко распространенной логической ошибки, когда причину и следствие меняют местами. Первую часть импликации называ- Глава 5. Модель представления знаний в исчислении высказываний 89 ют посылкой или антецедентом, вторую – заключением или консеквентом. к приведенной выше таблице истинности и отметим следующее: если посылка импликации истинна, то значение истинности l импликации совпадает со значением заключения; если посылка ложна, импликация всегда истинна; l импликация ложна только при одном значении посылки (И) l и заключения (Л); если посылка истинна и вся импликация истинна, то и заключеl истинно (правило заключения или modus ponens). Кстати говоря, импликацию так же, как и эквивалентность, можно исключить: (x y) = ( + y); (r p) = (r p)(p r) = ( + p)( + r). r x p Первое равенство следует из сравнения соответствующих ко лонок табл. 5.2, второе предлагаем доказать самостоятельно. Таким образом, алфавит конкретной предметной области = ((a, b, m, n, …, t) + (¬; ; ; ; ) + ((,))), где + означает до бавление к буквам (знакам), которыми мы обозначаем высказыва ния о конкретной предметной области, знаков – логических свя зок и скобок для отделения одних частей выражений ИВ от дру гих. Очевидно, что при построении аксиом, описывающих законы и свойства конкретной предметной области, недопустимо приме нение каких либо других знаков, кроме тех, которые перечислены в алфавите данной ПО. Пример. Опишем предметную область студенческой жизни, например, так: a – студенты любят учебу; b – студенты – ответственные люди; с – студенты заканчивают университеты; d – студенты могут сделать хорошую карьеру в жизни. 5.3. Синтаксис ИВ Речь идет о правилах построения сложных высказываний. Такие высказывания строятся (не считая скобок) с помощью логических связок – и только. Естественно назвать такие высказывания формулами. Но в ИВ в целях общности рассуждений формулами называют также и атомарные высказывания типа r, p и т.п. Если речь идет вообще о формулах, то их обозначают через прописные латинские буквы: A, B, N, P, … 90 Глава 5. Модель представления знаний в исчислении высказываний Из сказанного можно сформулировать следующие синтаксические правила: 1) всякое высказывание есть формула; 2) формулы, построенные с помощью логических связок и скобок, называются правильно построенными формулами (ППФ). Второе правило вводится единственно для того, чтобы подчеркнуть необходимость построения новых формул только с помощью известных пяти связок. Стараясь подчеркнуть универсальность этих связок, их «формулообразующие» свойства, эти связки часто называют пропозициональными. Два указанных правила определяют синтаксис языка исчисления высказываний. Их достаточно, чтобы распознавать ППФ среди различных наборов формул. В нашем случае синтаксис определяет формулы, которые являются аналогами правильно построенных фраз в естественном языке. Например, из наших высказываний мы можем построить множество разнообразных ∧ ∨ → ≡ ППФ: Р = a b; Q = a c; F = ¬c; R = (a c); S = (c b) и т.п. 5.4. Аксиомы ИВ 5.4.1. Семантика ИВ Нас интересует также семантика ИВ, то есть правила определения значений, которые принимают формулы. Поскольку каждое элементарное высказывание может принимать два значения: либо И, либо Л, то формулы, построенные на их основе и являющиеся ППФ, очевидно, также будут иметь только два значения: И или Л. Значение сложной формулы есть функция значений ее составляющих. → Рассмотрим, например, ППФ импликации p q. При значениях p = И и q = Л эта формула принимает значение Л, при всех других – значение И. Приписать p и q какие то определенные значения И (Л) означает задать интерпретацию формулы. Скажем, дизъюнкция a + b принимает значение Л только при интерпретации a = Л и b = Л. Если некоторая формула принимает значение И при любой интерпретации входящих в нее атомарных высказываний (формул), то она называется общезначимой, универсально истинной, тождественной или тавтологией. Примеры тавтологий: – → → (a + a) a; (a + b) (b + a); (a + a ). Если формула принимает значение истины хотя бы при одной интерпретации, она называется выполнимой. Дизъюнкция и Глава 5. Модель представления знаний в исчислении высказываний 91 конъюнкция – выполнимые формулы. Все элементарные высказывания выполнимы по определению. Есть, однако, формулы, которые ложны при всех интерпретаци– например, конъюнкция x x . Такие формулы называются невыполнимыми или противоречивыми. Отрицание общезначимой формулы – невыполнимая формула. 5.4.2. Законы преобразования формул ИВ Успешное решение проблем логического вывода требует представления формул в определенном виде, для чего их необходимо преобразовывать, естественно, сохраняя истинность. Правила преобразования логических формул широко известны под названием булевой алгебры. Здесь мы просто перечислим их, иногда опуская знак конъюнкции, как это принято при обозначении умножения в алгебре, а дизъюнкцию, обозначая через «+». Для дизъюнкции имеем равенства: Л + Л = Л, х + Л = х, Л + И = И, х + И = И, И + Л = И, х + х = х, – И + И = И, х + x = И. Для конъюнкции соответственно: ∧ ∧ Л Л = Л, х Л = Л, ∧ ∧ Л И = Л, х И = х, ∧ ∧ И Л = Л, х х = х, – ∧ ∧ И И = И, х x = Л. Основные законы алгебры Буля 1. Переместительный: x + y = y + x, xy = yx. 2. Сочетательный: (x + y) + z = x + (y + z), x(yz) = (xy)z. 3. Распределительный а) раскрытие дизъюнкции по конъюнкции: (x + y) z = xz + yz, б) раскрытие конъюнкции по дизъюнкции: (xy) + z = (x + z)(y + z). 4. Правило де Моргана: = • , ( ) x x y y . xy x y 92 Глава 5. Модель представления знаний в исчислении высказываний 5. Исключение отрицания: . x x 6. Исключение импликации: x y = , x y . ( x y ) x y 7. Исключение эквивалентности: . ( )( ) ( )( ) x y x y y x x y x y 8. Контрапозитивный закон: . x y y x 9. Формулы склеивания: , xy x y x . ( x y )( x y ) x 10. Формулы поглощения: ; ; x xy x x ( x y ) x ; . ( ) x y x x y x x y xy В дальнейшем нам особенно часто придется пользоваться рас пределительным законом, а именно – раскрытием конъюнкции по дизъюнкции. Чаще всего этот случай встречается в задачах приве дения исходной формулы к конъюнктивной нормальной форме. Рассмотрим маленький пример. (Для удобства чтения конъюнк цию иногда будем писать через точку.) Известно, что эквивалентность выражается формулой . Приведем ее к виду соотношения 7. Раскрываем пер x y x y вую конъюнкцию xy по дизъюнкции: и затем (( x x y )( y x y ) применяем этот закон внутри скобок: первая и последняя дизъ юнкции – тождества, то есть равны И, в общей конъюнкции их можно отбросить (ибо z И = z). Окончательно: xy x y ( x y )( x y ) 5.4.3. Базовые аксиомы ИВ Как уже говорилось выше, в качестве базовых аксиом выбираются всегда общезначимые формулы. Их можно выбрать по разному. Десять подобных формул мы только что рассматривали в виде законов алгебры Буля. В рамках исчисления высказываний в дополнении к этим законам предлагаются разные варианты систем аксиом. Остановимся на следующей системе: → → (А1) A (B A); → → → → → → (A2) (A (B C)) ((A B) (A C)); – – – → → → → (A3) (A B ) ((A B) A). Глава 5. Модель представления знаний в исчислении высказываний 93 Общезначимость (тождественность) всех этих постулатов легко можно проверить простой подстановкой различных значений A, B и C. Но это займет много места. Поэтому покажем общезначимость только первого постулата. Что же касается других, то в качестве примера они будут доказаны иными методами несколько позже. Итак, первый постулат. Подставим в (А1) В = И, А = Л. Тогда, → согласно таблице истинности, импликация (B A) = Л. Так как А → ложно, получающаяся при этом вторая импликация типа Л Л истинна. Теперь введем интерпретацию В = Л и А = Л, тогда импликация → → в скобках (В А)=И, а основная импликация принимает вид Л И, что дает опять таки И. Примем А = И и В = И. Легко показать, что окончательная им- → пликация здесь приходит к виду И И, то есть равна И. → Наконец, положим А = И, В = Л. По таблице истинности (В → А) здесь равна И, а конечная ситуация И И снова дает И. Но тождественность постулатов не единственное условие, которому система W (см. п. 4.2) должна удовлетворять. Необходимо, чтобы постулаты были независимы. Это значит, что ни один из них нельзя вывести из двух оставшихся. Кроме того, система W должна быть еще и полной. Полнота системы означает, что любая ППФ, выводимая из этой системы, общезначима, и наоборот, любая общезначимая формула, полученная в рамках ИВ, – выводима из данной системы аксиом. Желательно при этом, чтобы система была минимальна, то есть не содержала «лишних» аксиом, хотя очевидно, что присоединение к системе W любой общезначимой (и, следовательно, выводимой) формулы полноту системы не нарушает. Очевидно, что базовые аксиомы применимы для описания законов и логики поведения любой предметной области. Например, в нашем случае предметную область жизни студентов можно описать следующими аксиомами: → (А1) aс c; → (А2) bс d; → → → (А3) a b c d; – – → (А4) x b x d. 5.5. Правила вывода Напомним, что множество R (п. 4.2) содержит такие правила, которые позволяют на основании принятых постулатов определять 94 Глава 5. Модель представления знаний в исчислении высказываний истинность любых других выражений (ППФ). Другими словами, они позволяют из тождественно истинных формул выводить другие тождественно истинные формулы. Эта процедура так и называется вывод (или иначе – доказательство). Полученные в результате общезначимые формулы называются тавтологиями или теоремами. → Если формула В выводима из формулы А, то пишут А В. | Формулы же, принятые за аксиомы, обозначаются без антецедента: А (говорят: А выводится из пустого множества). Основное множество R содержит два правила: правило подстановки и l правило заключения. l Правило подстановки. Обратимся вновь к первому постулату (А1). Он общезначим при всех интерпретациях. Заменим теперь формулу А на формулу D. У этой формулы так же, как и у А, толь- ко два возможных значения И или Л. Перепишем теперь постулат: → → D (B D) – и что изменилось? При любых значениях D постулат все равно общезначим. Отметим теперь, что А – прописная буква, то есть под ней понимается любая другая, в том числе и сложная ППФ. Пусть теперь А → заменяется на формулу (а + b) r. При различных интерпретациях a, b и r эта формула может принимать всего лишь два значения → И или Л. Поэтому, подставив указанную ППФ вместо А: ((a + b) → → → r) [B ((a + b) r)], мы, как и прежде, не нарушаем ее тождественности. Такие же рассуждения можно привести и относительно B. Отсюда правило подстановки: в любую общезначимую формулу X, содержащую формулу Y, можно вместо Y подставить любое другое высказывание (формулу) Z при условии, что это сделано во всех местах вхождения Y. Истинность X при этом не меняется. Оговорка насчет всех мест вхождения очень существенна. Посмотрите: D мы вводим вместо А в обоих случаях. Недопустимо заменять только одно А, а также одно А заменить на D, а другое на С. – – В общезначимой формуле a + a заменим одно а на r: a + r. Полученная формула уже необщезначима! Но вполне допустимо заменять разные буквы на одни и те же: постулат (А1), представленный → → в виде C (C C), все равно общезначим. Правило заключения. Это правило часто называют по латыни modus ponens. Правило заключения нам уже известно. Оно рассматривалось в рассказе об импликации как следствие ее свойств. На- → помним суть: если импликация p q истинна и p истинна, то и q тоже истинна. Иначе говоря, если импликация истинна и антецедент истинен, то и консеквент тоже истинен. Глава 5. Модель представления знаний в исчислении высказываний 95 → → → Пусть, например, имеется аксиома (A (B A)), она всег- | да истинна. Если окажется, что при этом А = И, то по правилу → modus ponens консеквент (B A) будет также истинен. Разберем теперь пример: пользуясь правилами вывода, пока- → зать, что формула А А выводима из аксиом (А1)–(А3) и, следовательно, тавтология. → → Возьмем постулат (А1): A (B А) и сделаем в нем подста→ вместо В подставим (A A), получим: → → → 1) А ((А А) А). → Возьмем теперь (А2). Подставив (A A) вместо B и А вместо С, получим: → → → → → → → → 2) (А ((А А) А)) ((А (А А)) (А А)). Антецедент формулы 2) совпадает с аксиомой 1) и потому истинен. Применяя modus ponens к 1) и 2), получаем тавтологию: → → → → 3) (А (А А)) (А А). Снова берем постулат (А1) и заменяем В на А: → → 4) А (А А). Антецедент формулы 3) совпадает с 4) и, следовательно, истинен. Применяя modus ponens, получаем тавтологию: → 5) А А. 5.6. Логический вывод в ИВ 5.6.1. Нормальные формы Нормальные формы играют важную роль, поскольку позволяют стандартизировать и упрощать процесс логического вывода и анализа формул. Формула исчисления высказываний имеет нормальную форму, если она не содержит связок импликации (→) и эквивалентности (≡) и знаки отрицания стоят в ней только при переменных. Освободиться от импликации и эквивалентности мы можем, применяя соотношения алгебры Буля 6 и 7, перенос и исключение отрицания – по правилу де Моргана и 5 му соотношению алгебры Буля. Все эти преобразования относятся к равносильным. Две формулы являются равносильными, если их таблицы истинности совпадают. предлагаются некоторые полезные равносильные соотношения, следующие из прямого применения закона раскрытия конъюнкции по дизъюнкции. Их легко доказать самостоятельно. 96 Глава 5. Модель представления знаний в исчислении высказываний (Поскольку они следуют из законов Буля, мы продолжим их нумерацию из п. 5.4.2.) 11. ab + cd = (a + c)(a +d) (b + c)(b + d); 12. abc + r = (a + r)(b + r)(c + r); 13. (a + b)(x + y) + m = (a + b + m)(x + y + m); 14. abc + p + q + r = abc + (p + q + r) = (a + p + q + r)(b + p + q + + r)(c + p + q + r). Разберем теперь некоторые примеры. На них мы хотим показать, как переход к нормальной форме упрощает доказательство. Пример 1. ab ( a b ) Привести выражение к нормальной форме и доказать его тождество. ab ( a b ) ; ab ( a b ); ab a b ; ab ab . Далее применяем соотношение 7: ab ab ( ( ab ) ab )( ab ( ab ) ) . Пример 2. Привести к нормальной форме и доказать истин ность постулата (А3) системы аксиом ИВ A B A ( ) (( B) A). Освобождаемся от импликации: ( A B ) ( ( A B ) A ) B A ( A B ) A . Далее: A A B A B B + + A = (B + ) + A = . В дальнейшем с целью упрощения будем называть литерой лю бое элементарное высказывание (или его отрицание). Дизъюнктом будем называть дизъюнкцию некоторого числа литер: (I I I … I ) или (I + I + I +…+ I ). 1 2 3 n 1 2 3 n Любое логическое выражение (ППФ) может быть представле но либо в дизъюнктивной, либо в конъюнктивной нормальной форме. Дизъюнктивной нормальной формой (ДНФ) называется дизъюнкция конечного числа конъюнкций. Конъюнктивной нор мальной формой (КНФ) называется конъюнкция конечного числа дизъюнктов. Особый интерес к дизъюнктам объясняется их «на глядностью». В самом деле, достаточно лишь одному из «слагае мых» дизъюнкта принять значение И («1»), как весь дизъюнкт принимает значение И («1»). Это очень удобно, когда решается вопрос о тождественности той или иной формулы. Переход от нормальной формы выражения к его конъюнктивной нормальной форме в основном осуществляется путем применения распредели тельного (дистрибутивного) закона. Приведенные выше равно сильные соотношения 11–14 иллюстрируют примеры его приме нения. 98 Глава 5. Модель представления знаний в исчислении высказываний Общий вывод. Для того чтобы некоторая формула в КНФ была общезначима, необходимо и достаточно, чтобы каждый из ее дизъюнктов содержал хотя бы одну пару контрарных литер. Для того чтобы некая формула в КНФ была невыполнима, необходимо, что- бы она содержала хотя бы одну пару однолитерных контрарных дизъюнктов. 5.6.2. Логический вывод в ИВ Ранее мы говорили о выводе общезначимых формул (тавтологий, тождеств) из базовой системы аксиом. Рассмотрим вопрос вывода шире. Пусть имеется множество необщезначимых формул Е , 1 Е , Е , …, Е , обладающих тем свойством, что при некоторых ин2 3 n терпретациях они одновременно принимают значение И. Формула B выводима из множества {E}, если она может быть выведена из него путем применения правила заключения. (Правило подстановки применяется только для общезначимых формул). Технически процесс вывода будет заключаться в получении ряда последовательных формул B , B , B , …, каждая из которых выво1 2 3 дится из всех Е плюс те B , что уже получены прежде. Процесс n длится до тех пор, пока одна из очередных B не совпадет с B, то k есть когда B = B. k Правило заключения не меняет истинности и потому справедливо утверждение, что если B выводима из {E}, то она должна принимать значения И при тех же интерпретациях, что и все E . i (Вообще то формулы E могут принимать самые разные значения. i Речь идет о значениях истинности, общих для всех них и B в том числе). Пишут: → → (E , E , …, E ) B или короче {E} B. | | 1 2 n Говорят также, что B есть логическое следствие из посылок {E}. Вывод из системы аксиом теперь можно рассматривать как част- → → ный случай, когда выполняется условие {A} B. | | Пример. Знакомое нам правило заключения можно переписать → → следующим образом: (p, p q) q, то есть q – логическое след- | → ствие посылок p и p q. Справедливость этого легко проверяется по таблице истинности: высказывание q принимает значение И, → как только p и (p q) одновременно принимают значение И. Проблема вывода сводится, таким образом, к проблеме дедукции, которая формулируется следующим образом: требуется определить, является ли формула B логическим следствием множества формул {E}. Глава 5. Модель представления знаний в исчислении высказываний 99 Чтобы подчеркнуть, что E не являются аксиомами, их иногда i обозначают через H и называют гипотезами, а формулу B – заклюi , H , …, H ) B. (5.1) | 1 2 n Если гипотезы рассматривать как посылки в рассуждении, то из определения логического следствия вытекает, что заключение истинно только тогда, когда все посылки истинны. Заметим также, что если для множества {E} не существует такой интерпретации, при которой все E принимают значения И, то множество {E} считаi невыполнимым и обозначается: → → (E , E , …, E ) Л или (H , H , …, H ) Л. (5.2) | | 1 2 n 1 2 n Сразу же отметим одно важное свойство, следующее из опреде- → ления логического следствия. Если {E} B, то B принимает значе- | ние И, как только все E также принимают значение истинности. i Исключается, таким образом, случай, когда B = Л при всех E = И i (обозначим: {E} = И). Остальные варианты вполне допустимы. Сведем их в табл. 5.3, добавив столбец с импликацией, которая нам сейчас пригодится. Из табл. 5.3 следует очевидный и важный вывод: если B – логи- → ческое следствие из множества {E},то импликация {E} B – тождественно истинна. Условие одновременной истинности всех E соответствует треi конъюнкции. Следовательно, можно написать: → ∧ ∧ ∧ ∧ → (Е Е Е … Е ) B И | 1 2 3 n или иначе → ∧ ∧ ∧ → (H H H … H ) B И. | 1 2 3 n {E} B И И Л И Л Л И Л (5.3) Таблица 5.3 {E} → B {E} B И И И Исключ. 100 Глава 5. Модель представления знаний в исчислении высказываний Вопрос, таким образом, сводится к определению тождественности выражения (5.3). Пример. Известное нам правило заключения может быть записано следующим образом → → а) (p, p q) q. | → Если q – логическое следствие из p и p q, то выражение ∧ → → b) (p (p q)) q должно быть тождеством. Покажем это. Приведем ППФ b) к конъюнктивной нормальной форме (дизъюнкцию будем обозначать +). Освободимся от импликаций и преобразуем: p p q q ; p p q q ; p p q q ; p q p q с) . К выражению c) применим распределительный закон раскры тия конъюнкции по дизъюнкции: p p q p q q . d) Полученная конъюнктивная форма d), очевидно, тождественна, И поскольку каждый из двух ее дизъюнктов равен (ибо p p q q , ). Что и требовалось доказать. B данном примере мы вновь встретились с задачей определения тождественности формулы. B более общей формулировке она будет встречаться нам и в дальнейшем: требуется определить, к какому из трех классов принадлежит данная формула, является ли она: а) тождественной, б) невыполнимой или в) выполнимой. B этом состоит проблема разрешения. 5.7. Свойства ИВ как аксиоматической системы То, что ИВ является аксиоматической системой, следует из всего вышесказанного, так сказать, по построению. Здесь мы хотим лишь подчеркнуть некоторые свойства, присущие ИВ, как всякой системе подобного рода. В основе аксиоматической системы лежит формальная теория. Что это означает, мы видели выше. Это означает, в частности, что в системе определено некоторые множество W базовых аксиом, из которых через процедуру вывода по правилам R можно вывести Глава 5. Модель представления знаний в исчислении высказываний 101 некоторую формулу B, обязательно общезначимую, ибо множество W общезначимо по определению, а правила вывода не меняют истинности. Поскольку B общезначимо, то, очевидно, ее отрицание – B = Л, то есть невыполнимо и невыводимо из W. Этот факт говорит о непротиворечивости системы: система непротиворечива, если в ней невыводимы никакие две формулы, одна из которых является отрицанием другой. Ранее мы определили понятие полноты системы аксиом, согласно которому любая общезначимая ППФ может быть выведена из этой системы и, следовательно, ее присоединение к этой системе полноту последней не нарушает. Покажем теперь, что полнота и непротиворечивость связаны между собой: нарушение полноты приводит к нарушению непротиворечивости системы. Дизъюнкция A + B, например, не является общезначимой ППФ и потому невыводима из принятой ранее системы аксиом (А1)–(А3). Предположим, однако, что она выводима и, следовательно, может быть добавленной к системе в виде четвертого постулата. Далее рассуждаем следующим образом. Представим дизъюнкцию A + B в виде импликации: 1) A B, и так как она теперь считается общезначимой, проводим ряд под становок и получаем «тавтологии»: 2) (заменив B на ), A B B 3) A B (заменив в 1) A на ). A Правило modus ponens может быть теперь применено к посту лату (А3), т.к. его посылка ( A B ) теперь общезначима согласно тождеству 2). Отсюда справедливо тождество: 4) ( B) A. A Применив modus ponens к тождествам 1) и 4), имеем: 5) = И. A Заменим в 4) A на : A 6) (A B) A . Применяя теперь modus ponens к 6) с учетом 3), получаем не опровержимо: 7) = И. A Сравнивая 7) и 5), отмечаем явное противоречие. Отсюда определение: система полна, если присоединение к аксиомам какой ли- бо невыводимой формулы делает ее противоречивой. 102 Глава 5. Модель представления знаний в исчислении высказываний 5.8. Алгоритмическая проблема разрешения в ИВ Задача, состоящая в отыскании процедуры, позволяющей для любой формулы выяснить, к какому из трех вышеназванных классов она принадлежит, называется еще семантической проблемой разрешения. В соответствии с этим процедура, позволяющая конечным числом простых действий решить эту проблему, называется разрешающей процедурой. Самое естественное решение здесь – обратиться к таблице истинности. Таблица даст исчерпывающий ответ о поведении формулы при всех возможных интерпретациях. Но этот прием малоэффективен, поскольку практически он применим лишь для малого числа аргументов (литер). Если формула из двух литер имеет 4 варианта интерпретаций (то есть 4 строки), то формула из четырех литер уже 16, из пяти соответственно 32 n и т.д. по степени 2 строк таблицы истинности. Кстати, этот прием мы применили, когда доказывали тождественность первого постулата ИВ (А1). Заметим, однако, что для того, чтобы получить разрешающую процедуру, достаточно найти способ, позволяющий отличить тождественные формулы от всех остальных. Применяем эту процедуру к некоторой формуле А и, если окажется, что А общезначима, то проблема решена. Если же выясняется, что А не общезна– то применяем эту процедуру для формулы A . Если A ока- – жется тождественной, то, очевидно, А – противоречива. Если A так же, как и А, не тождественная, то это уже значит, что формула А просто выполнима. Существует несколько методов оценки тождественности формулы: оценка с помощью таблицы истинности; 2) оценка через преобразование, упрощение и приведение к нормальным формам; 3) оценка путем логического вывода из системы аксиом; 4) оценка методом редукции; 5) оценка методом опровержения. Некоторые из этих методов мы уже «прошли», с другими предстоит познакомиться. Так, например, в п. 5.3.3 мы проводили оценку тождественности постулата (А1) с помощью таблицы истинности. Анализу значений нормальных форм был посвящен п. 5.5.1. → B п. 5.4 строгим логическим выводом доказали тавтологию А А. В ряде случаев для определения тождеств удобен так называемый алгоритм редукции. Алгоритм основан на доказательстве пу- Глава 5. Модель представления знаний в исчислении высказываний 103 тем приведения к абсурду. Метод особенно хорош, когда формула содержит много импликаций. Рассмотрим его на примере второго постулата (А2) исчисления высказываний. Предположим невероятное, что (А2) ложен и докажем абсурдность этого предположения. Итак, пусть: → → → → → → 1) [(A (B C)) ((A B) (A C))] = Л. По свойству импликации она ложна, если антецедент истинен, а консеквент – ложен, то есть: → → 2) (A (B C) = И, → → → 3) ((A B) (A C)) = Л. Тогда из равенства 3) следует: → 4) (A B) = И, → 5) (A C) = Л. → Ложность (A C) означает, что A = И, С = Л. → Применив modus ponens к (A B), получаем: если A = И, то и B = И. Подставим теперь полученные значения A, B и C в 2), получим: → → → → 6) (A (B C)) = (И (И Л) = Л, что противоречит ранее полученному значению 2). Мы пришли к абсурду и тем самым показали, что исходный постулат общезначим. сожалению, алгоритм редукции не всегда удобен в применении и не может быть рекомендован как универсальный метод определения тождественности. 5.9. Теорема дедукции Проблема разрешимости тесно связана с проблемой вывода. Методов много но тем не менее процесс этот остается достаточно утомительным даже для простых примеров. Проблема вывода существенно упрощается, если применить теорему дедукции. Пусть имеется множество гипотез {H} и H – одна из них. n Теорема утверждает, что необходимым и достаточным условием выводимости B из гипотез {H} является выводимость импликации → → (H B), то есть из утверждения (H , H , …, H ) B следует: | n 1 2 n → → (H , H , …, H ) (H B). (5.4) | 1 2 n 1 n → Пусть это условие выполняется и (H B) выводимо. Обознаn эту формулу через М1. Тогда по условию теоремы должна 104 Глава 5. Модель представления знаний в исчислении высказываний → быть выводимой формула (H M1). Обозначим ее через M2, n 1 → и теперь будет выводима формула (H M2) и т.д. Формулировn 2 ка теоремы, следовательно, сводится к следующей: Если B выводима из гипотез {H}, то истинно выражение: → → → → (H (H (H … (H B)…))). (5.5) 1 2 3 n Необходимость утверждения доказывается следующим обра- → зом. Допустим, B истинна, тогда импликация (H B) также исn при любой H . Но это, в свою очередь, означает, что истинна n → → и следующая импликация (H (H B)) и т.д. вплоть до заn 1 n → → ключительной импликации (H (H …)…).Что и требовалось 1 2 доказать. Выражение типа (5.5) с «вложенными» импликациями называется n кратной импликацией. Доказав необходимость (5.5), мы вывели такое логическое утверждение: если в n кратной импликации заключение B истинно, то, по всей вероятности, ее посылки H тоi истинны. Докажем, что это так и есть, то есть докажем теперь достаточность. Она доказывается простым применением правила заключения. B самом деле, положим, что выражение (5.5) истинно. Если H принимает значение И, то по modus ponens истинно и 1 → → все выражение (H (H …)…). Но при той же интерпретации 2 3 → истинна и H , откуда следует, что истинно и выражение (H (H 2 3 4 → …)…). И т.д. В конце цепочки рассуждений приходим к выводу, → что истинна импликация H B (выполнение условия (5.4) теореn Но H тоже гипотеза и тоже истинна. n Отсюда B = И. Рассмотрим примеры. 1. Доказать свойство транзитивности импликации: из условия → → → (A B) и (B C) следует (A C). Вопрос сводится к доказательству логического следствия: → → → → (A B, B C) (A C). (5.6) | Доказательство здесь неочевидно, но согласно теореме дедукции нам достаточно доказать условие: → → → (A B, B C, A) C. | Итак, имеем гипотезы: → a) H : A B, 1 → b) H : B C, 2 Глава 5. Модель представления знаний в исчислении высказываний 105 c) H : A. 3 Применяя modus ponens к a) и c), получаем: d) B и далее: e) С (modus ponens к b) и d)). Что и требовалось. 2. Доказать выражение (5.6), пользуясь условием (5.5). Гипотезы у нас уже обозначены. Подставляем их в (5.5): → → → → → ((A B) ((B C) (A C))). (5.7) → Импликация A C является логическим следствием, если она принимает значение И тогда, когда все H = И. Пусть формула (5.7) i → истинна. Если теперь положим, что (A B) = H истинна, то по 1 → → → modus ponens ((B С) (А C)) = И. → → Но (B C) = H тоже истинна, и тогда (A C) = И и потому 2 является логическим следствием по условию (5.6). 5.10. Принцип дедукции → Вернемся к выражению (5.1) (H , H , …, H ) B и предположим, | 1 2 n что оно выполняется, то есть B – выводимо из {H}. Если это так, то присоединение B к множеству {H} не влияет на полноту множества {H, B} и не приводит его к противоречию. Иное дело , которая при этих условиях невыводима. Ее присоединение к {H}, очевидно, приведет к противоречивости, то есть можно написать: – → (H , H , …, H , B ) Л. (5.8) | 1 2 n При этих условиях тождественность импликации (5.3), естественно, нарушается, она становится невыполнимой. Возьмем отрицание импликации (5.3). Теперь должно выполняться условие: (5.9) H H H H B ... n . 1 2 3 Доказав невыполнимость (5.8) или (5.9), мы косвенно докажем выполнимость условия (5.1). Такой метод доказательства «от про тивного» называется доказательством по методу опровержения. Метод опровержения очень удобен. B самом деле, вместо того, чтобы кропотливо доказывать общезначимость какой либо фор F мулы F достаточно доказать невыполнимость ее отрицания , что 106 Глава 5. Модель представления знаний в исчислении высказываний в ряде случаев значительно проще. (B 60 х гг. ХХ века был открыт и разработан так называемый принцип резолюций, весьма подхо дящий для доказательств подобного рода). Метод опровержения реализует принцип дедукции, который формулируется следующим образом: формула B является логиче ским следствием множества {H} тогда и только тогда, когда мно B жество {H, } невыполнимо, то есть (H , H , …, H ) B, если (H , 1 2 n 1 H , …, H , B ) Л. 2 n Докажем условие (5.9). Исключим импликацию: H H H B ... n 1 2 1 и по правилу де Моргана получим: H H H B ... , n 1 2 что эквивалентно выражению (5.10) H H H B ... , n 1 2 т. е., всё сводится к доказательству невыполнимости: Л. (5.11) H H H B ( ... ) n 1 2 Формула (5.10) в своем виде уже является элементом КНФ, даже если все H – элементарные высказывания. Если же H – сложi выражения, то они приводимы к виду КНФ и их подстановка в (5.10) не меняет ее нормальной формы. Поэтому в дальнейшем мы вправе считать каждое из H дизъюнктом, состоящим из одного i или многих «слагаемых». Условие (5.11) требует, чтобы формула (5.10) была невыполнима, то есть тождественно равна 0. Это возможно, если среди ее «сомножителей» найдется хотя бы один пустой дизъюнкт. Такой дизъюнкт не может появиться в явном виде. Но он может быть оп- – ределен на множестве {H, B } путем определенных эквивалентных преобразований. Из всего вышесказанного следует, что согласно принципу дедукции вопрос о выводимости (невыводимости) некоторой формулы B сводится в конечном счете к анализу невыполнимости множества дизъюнктов. Но множество дизъюнктов невыполнимо Глава 5. Модель представления знаний в исчислении высказываний 107 тогда и только тогда, когда пустой дизъюнкт Л является логическим следствием из него. Таким образом, невыполнимость множес– {H, B } можно проверить, порождая логические следствия из него до тех пор, пока не получится пустой дизъюнкт. Метод, позволяющий получить логические следствия из множества дизъюнктов, основан на применении принципа резолюций. 5.11. Принцип резолюций B сущности, в основе принципа лежит несложная схема рассуждений. Пусть А, B и С – формулы и имеются два дизъюнкта: 1. (А + – С) и 2. (B + С ), которые мы будем считать истинными. Положим теперь, что С = И. Подставив это значение в первое выражение, получим дизъюнкт вида А + И, который истинен при любом А. Подставив С = И во второе выражение, получим дизъюнкт B + Л, из которого однозначно следует, что B = И, поскольку принято, что весь дизъюнкт истинен. Положим теперь С = Л. Второй дизъюнкт истинен при любом B, но первый принимает вид А + Л, откуда следует, что А = И. Все это означает, что независимо от интерпретации формулы С либо А, либо B истинны. Это можно отразить в виде нового дизъ– (А + B), исключив контрарные формулы С и С . Другими словами, выполняется правило – → (А + C, B + С ) (A + B). (5.12) | Правило особенно эффективно, если А и B дизъюнкты, а С – высказывание. Это правило называется правилом резолюции, а вновь полученный дизъюнкт – резольвентой. Он формируется как «сумма» оставшихся формул, за исключением контрарных, то есть разных по знаку. Для дизъюнктов (p + q + ) и (m + r), например, резольвента r будет иметь вид (p + q + m). Для дизъюнктов (p + r) и ( ) соот r ветственно (p), а вот в случае (p) и ( ) обе литеры «уничтожают p ся». Это пример получения пустого дизъюнкта. Еще один пример. Имеются два дизъюнкта ( + y) и (x + ). Получаемые здесь ре x y зольвенты (x + ) или (y + ) равны 1, информации не несут, их x y следует отбрасывать. В логическом плане каждый полученный дизъюнкт резольвента равносилен обоим дизъюнктам родителям, участво 108 Глава 5. Модель представления знаний в исчислении высказываний вавшим в резолюции (они так и называются – родители). Он ста новится очередной гипотезой и участвует в резолюции на равных с другими. Это касается и пустого дизъюнкта, но, будучи поставлен в ряд гипотез Н , он делает формулу типа (5.10) равной 0, что и i является ее доказательством. Пример. Доказать невыполнимость множества дизъюнктов: H = (p + q, p + r, ). Пронумеруем гипотезы: q r , p 1. p + q, 2. p + r, 3. q r , 4. . p Далее применяется правило резолюции. Полученные резольвенты присоединяются к исходному множеству, с ними снова можно проводить резолюции. Ниже следует список резольвент, в скобках указываются номера резольвент, участвовавших в резолюции. 5. q, (1,4) 6. r, (2,4) – 7. q , (3,6) 8. Л. (5,7) Надо отметить, что выбранный путь порождения резольвент может быть не единственным. Например, в нашем случае результат можно было получить чуть быстрее, если пойти по следующему пути: – 5. p + r , (1,3) 6. p, (2,5) 7. Л. (4,6) Как видно из примера, метод резолюций легко представим в виде несложного регулярного алгоритма. Это предопределяет успешное применение ЭВМ в решении задач вывода, хотя здесь и возможны неожиданные трудности. Дело в том, что машина ищет резолюцию слепо, методом перебора. При таком поиске путь к результату может быть весьма долгим. Возможны случаи простого зацикливания машины. Простейший пример: имеется два дизъ– p и p + q. При машинной реализации резольвента q может порождаться неограниченное число раз. Предусматривая подобные случаи, применяют специальные стратегии поиска резольвент и соответствующее программирование. Некоторые такие стратегии мы рассмотрим в следующем разделе. В заключение отметим такое важное обстоятельство: множество резольвент (вместе с родительскими дизъюнктами) образует не что иное, как математическую модель некоторой предметной обла- Глава 5. Модель представления знаний в исчислении высказываний 109 сти. Каждая новая резольвента добавляет новое состояние в пространство состояний МПрО, а поиск решения в пространстве состояний представлен операцией логического вывода. 5.12. Свойства метода резолюций Несмотря на известные недостатки, заключающиеся главным образом в возможности неограниченного порождения резольвент и в отсутствии тем самым гарантий быстрого поиска решения, метод резолюций является одном из самых мощных инструментов в решении задач логического вывода. Он обладает двумя существенными достоинствами: он логичен, т.к. резольвенты являются логическими следствиями предложений родителей, и он обладает полнотой, т.к. при использовании в процессе вывода результат получается за счет применения только одного и того же правила. Представляет интерес свойство завершаемости метода резолюций: если множество {H} невыполнимо, то пустой дизъюнкт может быть найден посредством резолюций. Это и понятно: пустой дизъюнкт есть резольвента множества {H} и, будучи невыполнимым, не может быть следствием выполнимого множества. По этому поводу даже есть лемма: если множество {H} невыполнимо и содержит резольвенты своих элементов, то оно обязательно содержит пустой дизъюнкт. Метод резолюций применяется не только в рамках исчисления высказываний и исчисления предикатов (см. последующие разделы), к нему нередко сводится процедура вывода в некоторых других моделях представления знаний (продукционные ПЗ, семантические сети, фреймы). Широко известный язык программирования Пролог специально создан для реализации процедур, основанных на методе резолюций. Что же касается указанных недостатков, то в значительной степени они уменьшаются или даже исключаются путем применения специальной стратегии целенаправленного поиска резольвент. Ниже мы коснемся этого подробнее. Основное назначение метода резолюций – порождение логических следствий из системы гипотез {H} (причем эта система должна быть представлена в конъюнктивной нормальной форме). Это может быть порождение с целью общего обзора следствий, или же это будет поиск пустого дизъюнкта при реализации принципа дедукции – меняется только цель. Резольвента есть логическое следствие своих родителей. Обратного утверждать нельзя! 110 Глава 5. Модель представления знаний в исчислении высказываний Рассмотрим показательный пример. Обратимся все к тому же → → свойству транзитивности импликации: если (a b) и (b c), то → → → → → (a c). Иначе: [(a b)(b c)] (a c). | Гипотезы в нашем примере: H : (a b) и H : (b c), формула 1 2 B: (a c). Согласно принципу дедукции, условие выполняется, B если показано, что (H , H , ) Л. Переходя к КНФ, получаем 1 2 a b a c выражение [( + b)( + c)( )] Л. Задача, таким образом, сводится к знакомой формулировке: доказать невыполнимость a b a c множества дизъюнктов: ( + b), ( + c), a, (т.к. = a – это два однолитерных дизъюнкта a и ). Дизъюнкты: Резольвенты: a 1. + b, 5. b, (1,3) b 2. + c, 6. c, (2,5) 3. a, 7. Л. (4,6) 4. . Транзитивность доказана, и «по логике» это легко понять: если из a следует b, а из b следует c, то очевидно, что из a следует c. Ин тересно, будет ли логическим следствием из указанных дизъюнк b тов какой либо другой из них? Например, + c. То есть требуется доказать: [(a b)(a c)] (b c). a a ( b c ) Переходя к КНФ, имеем дизъюнкты: ( + b), ( + c), a a или иначе ( + b), ( + c), b, . Итак, дизъюнкты: Резольвенты: a a 1. + b, 5. . (2,4) a 2. + c, Других резольвент нет. 3. b, Значит, импликация (b c) 4. . не является логическим следствием. Оно и правда: из того, что b и c следуют из а, вовсе не следует, что c следует из b. Из примера выводим: если резольвента B есть логическое след i ствие из {H}, то совсем не обязательно, чтобы хотя бы для одной гипотезы H выполнялось условие (H , H , …, H , B ) H . k 1 2 n i k Разберем еще несколько примеров. Пример 1. Пусть даны посылки p и p q. Определить все воз можные следствия из этой пары. Систематический обзор логиче ских следствий удобно осуществлять путем обращения к совершен ной конъюнктивной нормальной форме (СКНФ). Напомним, что особенность СКНФ заключается в том, что все ее конъюнктивные члены содержат все переменные данной формулы и, следовательно, 112 Глава 5. Модель представления знаний в исчислении высказываний дизъюнкты: резолюции: a 1. m + , 6. m, (1,4) m 2. + a, 7. r, (3,6) m 3. + r, 8. Л. (5,7) 4. a, Кафедра R обязана участвовать r 5. . в договоре, если участвует А. 5.13. Пример построения модели предметной области в ИВ Обратимся к известной уже нам задаче про обезьяну и бананы. На основе концептуальной модели предметной области (п. 1.8) построим формальную модель предметной области на языке исчисления высказываний и проиллюстрируем на ней механизм логического вывода. Определим сначала алфавит, то есть набор символов, обозначающих высказывания, которые мы определим, например, следующим образом: А – «Обезьяна находится в точке а»; В – «Ящик находится в точке b»; C – «Бананы находятся в точке с»; D – «Обезьяна находится на Ящике»; Е – «Обезьяна держит Бананы»; F – «Обезьяна, Ящик, Бананы находятся в разных точках»; G – «Обезьяна находится рядом с ящиком». ∧ ∨ → ≡, Используя логические связки: ¬, , , , мы можем строить более сложные умозаключения. Например: 1) (A B C) F. (Если «Обезьяна, Ящик, Бананы находятся на своих исходных позициях, то есть в точках a, b, и c соответственно», то справедливо сказать: «Обезьяна, Ящик, Бананы находятся в разных точках»). 2) F . G (Если «Обезьяна, Ящик, Бананы находятся в разных точках», то «Обезьяна находится не рядом с Ящиком»). 3) F D . (Если «Обезьяна, Ящик, Бананы находятся в разных точках», то «Обезьяна не находится на Ящике». 4) F E . (Если «Обезьяна, Ящик, Бананы находятся в разных точках», то «Обезьяна не держит Бананы»). б Глава 5. Модель представления знаний в исчислении высказываний 113 Высказывания 2, 3, 4 можно объединить в одно с помощью ло гической связки «И»: 5) F ( D E ). G F 6) (D E). (Если «Обезьяна, Ящик и Бананы находятся не в разных точ ках», (то есть в одной), то «Обезьяна стоит на Ящике» И «Обезья на держит Бананы».) 7) D E . (Если «Обезьяна не на Ящике», то «Обезьяна не держит Бана ны»). Таким образом, фрагмент предметной области на языке исчис ления высказываний (ИВ) представляет собой следующий набор формул (БЗ): 1. (A B C) F, 2. F ( D E ), (5.13) G 3. F (D E), D E 4. . Для простоты введем обозначение S = A B C. Теперь, используя механизм логического вывода ИВ, мы мо жем доказать выводимость любой другой формулы, структура ко торой соответствует синтаксису ИВ (в рамках данной модели). Докажем, например, что формула: ( D) E (5.14) S выводима. Ее смысл: если «Обезьяна, Ящик и Бананы не в исход ных точках» И «Обезьяна на Ящике», то «Бананы в руках у Обезьяны». Логический вывод можно выполнить несколькими способами. 1) Можно, например, использовать таблицу истинности, кото рая дает исчерпывающую картину значений переменных. При этом формулы (5.13) и (5.14) образуют выражение логического вывода в виде: ((S F) (F ( D E )) ( F (D E)) G ( D E )) (( S D) E) (5.15) Далее следует вычислить значения выражений слева и справа от знака . Если окажется, что формула справа принимает значе ние И как только все формулы (5.13), образующие левую часть, Глава 6 ИСЧИСЛЕНИЕ ПРЕДИКАТОВ КАК МЕТОД ПРЕДСТАВЛЕНИЯ ЗНАНИЙ Исчисление высказываний является весьма грубой моделью представления знаний. Основной ее недостаток в том, что высказывание здесь рассматривается как единое целое, без анализа его внутренней структуры. Это ограничивает возможности ИВ при моделировании сложных силлогических построений. Элементарный пример, часто приводящийся в таких случаях. Имеется классический силлогизм: a. Все люди смертны; b. Сократ – человек; c. Следовательно, Сократ смертен. С точки зрения логики вывод здесь безупречен, но он уже выходит за рамки ИВ. В самом деле, с помощью пропозициональных связок и букв его можно записать в виде следующей формулы: ∧ → (a b) c Но эта формула необщезначима! А это значит, что логика высказываний не позволяет корректно выразить приведенный силлогизм. Позже мы вернемся к этому примеру и разрешим его, но уже в рамках более гибкой формальной логики, в рамках исчисления предикатов (ИП). 6.1. Понятие предиката Если высказывание отражает какой либо факт и далее оперирует с ним как с единой формулой, не разделяя его, скажем, на субъекты и объекты, то предикатная форма, напротив, отображает данный факт уже как взаимодействие, отношение или свойство некоторых сущностей. Это отношение принято выделять прописными буквами перед скобками, в которых указываются те или иные сущности, находящиеся в данном отношении. Рассмотрим несколько предложений: a) Лена и Таня сестры; 118 Глава 6. Исчисление предикатов как метод представления знаний b) грибы в лесу; c) капля долбит камень; d) снег белый; e) мальчик послал книгу брату. В правилах исчисления предикатов эти предложения можно записать следующим образом: а’) СЕСТРЫ (Лена, Таня); б’) В (грибы, лес); в’) ДОЛБИТ (капля, камень); г’) БЕЛЫЙ (снег); д’) ПОСЛАЛ (мальчик, книга, брат). В первом предложении выделено отношение родства, во втором – предлогом В – пространственные отношения. В предложении в’) выделено действие между субъектом и объектом, в предложении г’) – свойство (в данном случае – цвет), в предложении д’) – также действие. Но рассмотрим эти примеры подробнее. То, что стоит перед скобками, называется предикатным символом (предикатной константой), то, что стоит в скобках, – термами. Каждый терм занимает свое место. Предикатные символы могут быть предлогами, существительными, глаголами, прилагательными и т.п. Терм, как правило, существительное или то, что его заменяет. Все это вместе образует предикатную формулу (или, короче, – предикат). Термов может быть несколько. По их количеству предикаты разделяются на одноместные (г’), двуместные (а’, б’, в’), трехместные (д’) и т.д. Предикатная формула еще называется атомом. Но и термы бывают разными. В примере а’) оба терма обозначены вполне конкретно – Лена, Таня. В этом случае они называются индивидные константы. Во втором предикате оба терма заданы в самом общем виде: какие то грибы в каком то лесу. Их можно просто обозначить через буквы x и y – они так и называются – индивидные предметные переменные. Сами же предикатные символы, которые, как мы видели, много чего отображают, также обозначаются буквами – прописными, латинского алфавита: P, R, M, … Иногда к ним добавляются индексы: P , P , …, P , иногда указывают число мест: 1 2 n k1 k2 P , P , … Говоря о терме, мы не упомянули еще один его вид: терм может быть выражен через функцию. Разберем все сказанное на примерах. 1) НАПИСАЛ (Лермонтов, «Демон»). «Лермонтов написал «Демона» – все ясно: НАПИСАЛ – предикатная константа, двуместный предикат, оба терма – индивидные константы. Обозначим Глава 6. Исчисление предикатов как метод представления знаний 119 через X множество стихотворений Лермонтова. Тогда предикат вида: НАПИСАЛ (Лермонтов, x) означает: «Лермонтов написал какое то стихотворение». А вот предикат: НАПИСАЛ (y, x), где под y понимается какой то человек, означает: «кто то написал что то», x и y здесь – индивидные переменные. 2) Обозначим через g некоторую функциональную константу, например, «быть вареным». Если картофель обозначить через s, то предикат НА (стол, g(s)) теперь истолкуется как «на столе вареная картошка». Пусть f – функциональная константа «быть отцом», а m – функциональная константа «быть матерью». В этом случае предикат P(f(Лена), m(Лена)) следует истолковать просто как РОДИТЕЛИ. (Тот же результат, впрочем, даст и более общая формула: P(f(x), m(x)), где x – один и тот же ребенок.) Из рассмотренного можно сделать некоторые выводы. Во первых, термы нельзя менять местами. Иначе получится, что на картошке стоит вареный стол, а Демон написал «Лермонтова». И, во вторых: не следует путать предикатный и функциональный символы. Предикат МАТЬ (х, y) означает: y есть мать х. Либо это правда, либо это неправда, поэтому область значений предиката [1,0] или [И,Л]. Функция мать(x) означает «быть матерью», равенство мать(x) = y – «матерью х является y». То есть функция всегда равна одному из возможных значений переменной у. Область определения х – вообще говоря, все человечество, область значений y – все женщины определенного возраста. 6.2. Алфавит ИП ИП – аксиоматическая система, построенная согласно формальной теории F = (A, V, W, R). Как следует из п. 6.1, алфавит ИП – A содержит: индивидные константы a, b, c, …, k; предметные переменные x, y, z, …, u; функциональные константы f, g, h, …, w; высказывания p, q, r, s, …, l; предикатные константы P, Q, R, …, V. Исчисление предикатов в определенном смысле продолжение и расширение исчисления высказываний, поэтому в алфавит ∧ ∨ → ≡. включены все те же пропозициональные связки , , ¬, , Но перечень логических знаков в ИП расширяется еще двумя, называе- 120 Глава 6. Исчисление предикатов как метод представления знаний ∀ ∃ ∀ мых кванторами: и . Квантор , читается, как «все», «для всех», «всякий», «каков бы ни был» и т.п. Поэтому он называется квантором всеобщности (общности). Квантор всеобщности является ∀ ∧ ∧ ∧ сверткой бесконечной конъюнкции: x P(x) = P(x ) P(x ) … 1 2 ∃ P(x ). Квантор существования – x P(x) – читается, как «некотоk «хотя бы один», «существует», и является сверткой беско- ∃ ∨ ∨ ∨ нечной дизъюнкции: x P(x)= P(x ) P(x ) … P(x ). Так, напри1 выражение x P(x) читается: «для любого x выполняется ус- ∃ ловие P(x)». Выражение y P(y) – «существует хотя бы один y, при котором выполняется P(y) (то есть Р(у) = И)». 6.3. Синтаксис ИП Множество синтаксических правил V ИВ применимо и в ИП. Правильно построенные формулы в рамках исчисления высказываний остаются ППФ и в исчислении предикатов. Но формулы ИВ, для того, чтобы участвовать во всех преобразованиях формул ИП должны быть представлены в предикатной форме. То есть в каждом высказывании должен быть выделен предикат и его аргументы. Например, высказываниям a, b, с, d (п. 5.2) будут соответствовать следующие предикаты: ЛЮБЯТ (Студенты, Учеба); ОТВЕТСТВЕННЫЕ (Студенты, Люди); ЗАКАНЧИВАЮТ (Студенты, Университеты); МОГУТ_СДЕЛАТЬ (Студенты, Хорошая_карьера, Жизнь). Добавляются еще правила: 1. атом есть ППФ; ∀ ∃ 2. если Р(х) – ППФ и х – переменная, то х Р(х) и х Р(х) – ППФ; ∀ ∀ 3. если Р(х,у) и х, у – переменные и f – функция, то х у Р(х, ∃ ∃ f(у)) и х у Р(х, f(у)) – ППФ. Последние формулы верны и для смешанных кванторов. Каждому квантору соответствует только одна переменная, в наших примерах x или y. Эта переменная называется связанной или квантифицированной, она пишется сразу за квантором. Область действия квантора – формула, к которой применяется эта квантификация. Каждое вхождение квантифицированной переменной в область действия квантификации является связанным, любая другая переменная в данной области, не являющаяся связанной, называется свободной. ( ( ) ( ( ) ( ) ) ) ∀ x R x , y → ∃ y M x , y , z ∧ Q x , y Рассмотрим форм . Здесь все вхождения переменной x связанные, т.к. попадают в область Глава 6. Исчисление предикатов как метод представления знаний 121 действия квантора ∀x, которая включает в себя все предикаты: R, M и Q (следите за скобками). А вот первое вхождение переменной y (в предикате R) – свободное. В дальнейшем y попадает в область квантификации ∃у и является связанным (в предикатах M и Q). Переменная z – свободная. Каждую предикатную формулу можно интерпретировать, то есть оценить ее как И или Л. При этом можно оценить «перекры тие» кванторов на одну и ту же переменную: ∀x∃ P(x) интерпретируется как ∃х P(x), а ∃х∀x P(x) интерпретируется как ∀x P(x). Это и понятно: вместо того, чтобы говорить «из всех х сущест вует хотя бы один х, при котором Р истинен», достаточно сказать просто: «существует хотя бы один х и т.д.». И наоборот, чтобы не говорить странное словосочетание «существует хотя бы один х, такой, что для всех х Р истинен», достаточно сказать «для всех х …». (Для запоминания: из двух кванторов «прав» самый правый). Будем понимать под А предикат A(x,y) и отметим важные соот ношения: ∀ x ∀ yA = ∀ y ∀ xA , (6.1) ∃ x ∃ yA = ∃ y ∃ xA , то есть одноименные кванторы можно менять местами. Иное дело разноименные кванторы. Здесь выполняется только такое условие: ∃ x ∀ yA → ∀ y ∃ xA (6.2) Последняя импликация поясняется следующим примером. Пусть имеем для целых чисел истинное утверждение: ( ) ∀ y ∃ x x + y = 0 (для любого y найдется такой х, что выполняется ( ) x + y = 0 ∃ x ∀ y x + y = 0 равенство ). Переставим кванторы: . Полу чим выражение: существует такой х, при котором выполняется x + y = 0 условие ( ) для всех y, что некорректно. 6.4. Базовые аксиомы ИП Система базовых аксиом W в ИП может быть принята такой же, как и в ИВ. Однако к ней необходимо добавить аксиомы, учиты вающие появление кванторов: ( ) ( ) ∀ xP x → P y (A4) , ( ) ( ) P y → ∃ xP x (A5) . 122 Глава 6. Исчисление предикатов как метод представления знаний A4 говорит, что если P(x) истинен для всех х, то он истинен и для некоторого y из этого же универсума (если все яблоки в данном ящике красные, то одно то красное уж найдется всегда). А5 говорит, что если найдется y, при котором P(y) истинен, то верно, что найдется хотя бы один x, для которого предикат P(x) тоже истинен (даже если x совпадает с y). (Если среди яблок в данном ящике нашлось одно сладкое, то уже существует, по край ней мере, одно сладкое.) 6.5. Правила вывода в ИП Правила вывода R остаются прежними: правило подстановки и правило заключения, но они дополняются еще одним правилом, учитывающим свойства кванторов. Это правило называется пра ( ) ∀ xP x вилом специализации. Суть его в следующем: если ППФ истинна и b – некоторая константа, то формула P(b) также истин ( ) ∀ xP b = P (b ) на, то есть справедливо . Пусть, например, имеются ( ( ) ( ) ) ∀ x P b → Q x формулы и P(b). Если они истинны, то, применяя специализацию, имеем ряд теорем: ( ( ) ( ) ) ∀ x P b → Q b , (специализация) ( ) ( ) P b → Q b , то есть (modus ponens с P(b)) Q(b). 6.6. Примеры предикатов Разберем несколько примеров построения предикатов. 1. «А вы, друзья, как ни садитесь, все ж в музыканты не годитесь». х y Обозначим через – способ рассаживания музыкантов, – ка P(x,y) чество исполнения, – предикат, связывающий способ рассаживания и качество исполнения. Окончательная формула: ( ) ∀ x P x , y . 2. «Кто не работает, тот не ест»: ∀ x ( P ( x ) → E ( x )) х P РАБОТАЕТ, Здесь – человек, – предикатная константа E ЕСТЬ. – предикатная константа 3. «Болтун – находка для шпиона»: ( ) ∀ x ∃ yP x , y , х y P НАХОДКА. где «роли исполняют»: – болтун, – шпион, – Глава 6. Исчисление предикатов как метод представления знаний 123 4. Приведенный в начале раздела пример силлогизма о Сократе х, х х можно переписать так: для всех если – человек, то – смер тен; Сократ человек; (следовательно) Сократ смертен. Обозна М Н чим через «быть смертным», через «быть человеком». Мы приходим к следующей формуле: ( ( ( ) ( ) ) ( ) ) ( ) ∀ x H x → M x ∧ H → M ) . (Сократ здесь – индивидная константа). 5. «В каждом городе найдется краевед, который покажет досто примечательности»: ( ( ) ( ( ) ( ) ) ) ∀ x G x → ∃ y S x , y ∧ P z , y . х ЖИВУ (Если – город (G), то найдется такой краевед (y), ЩИЙ_В ПОКАЖЕТ (S), который (Р) достопримечательности (z).) Здесь к месту отметить некоторые особенности при переводе с живого языка на язык предикатов. Имеется русская фраза: «Каж дый студент учится». В логической интерпретации это можно ото бразить такой формулой: ( ( ) ( ) ) ∀ x S x → L x 6. , S – СТУДЕНТ, L – УЧИТСЯ. где Но вот есть другая фраза: «Некоторые студенты спортсмены». Ее логический эквивалент: ( ( ) ( ) ) ∃ x S x ∧ P x 7. , P – СПОРТСМЕН. где Фразы 6 и 7 очень похожи, но замена прилагательного «каж ∀ дый» на «некоторые» потребовала не только замены квантора на ∃, ∧. но и замену связки на И еще. Формулы ИП часто можно писать по разному на один и тот же словесный текст, пользуясь разной степенью «детализа ции». Например, короткую фразу из примера 3 можно записать более подробно: ( ( ( ) ( ) ) ( ) ) ∀ x M x ∧ B x → ∃ yP x , y 8. , М – ЧЕЛОВЕК, B – БОЛТУН, P – НАХОДКА, y – шпион. где А теперь вам предлагается несколько упражнений. 1. Попробуйте представить в виде предикатных формул следую щие фразы: • Кто весел, тот смеется; • Кто то привык за победу бороться; • И никто ему по дружески не спел; • Всяк сверчок знай свой шесток; • И никто не узнает, где могилка моя; • А девушке в семнадцать лет какая шапка не пристанет! • Все цветы мне надоели, кроме роз; 124 Глава 6. Исчисление предикатов как метод представления знаний • Есть многое на свете, друг Гораций, что и не снилось нашим мудрецам; • Немногие вернулись с поля, не будь на то Господня воля, не отдали б Москвы. L ЛЮБИТ, ц к x 2. Пусть означает – цветы, – конфеты, – девушка. Переведите на русский язык выражения: ∀ xL ( x , ) a) , ∃ x L ( x , ) b) , ∃ xL ( x , ) c) , ∃ x ( L ( x , ) ∧ L ( x , )) d) , ∃ x ( L ( x , ) → L ( x , )) e) . 6.7. Преобразование формул в ИП Так же, как и в исчислении высказываний, формулы ИП могут быть общезначимыми, выполнимыми (нейтральными) или невы полнимыми (универсально ложными). Вообще говоря, это можно проверить, построив таблицу истинности. Но как это сделать, если предикаты содержат переменные, значения которых в общем слу чае могут меняться неограниченно? Особенную сложность прида ет наличие кванторов. Доказать общезначимость при таких усло виях совсем не просто. Более того, было показано, что вообще не возможно найти универсального метода установления факта об щезначимости квантифицированных выражений, так что даже го ворят о неразрешимости исчисления предикатов. Но все это – в общем случае. Практически выполнимость многих формул уста навливать удается, если обозначена область D, в которой связная переменная x принимает свои значения. Если при этом известны истинностные значения формул А(x) и B(x), то легко определяют ∧ ∨ ся значения и для формул A , A B, A B, A B и др. ( ) ∀ xA x Формула получает значение И, если А получает значение И для каждого x из D. ( ) ∃ xA x Формула истинна, если А истинна хотя бы при одном значении x из D. Пусть, например, х принимает значения в области D = (1, 2, 3), ∀ xA (x ) известно, что A(1) = Л, A(2) = И, A(3) = Л. Формула озна чает: для всех х А(х) истинна. Это условие у нас не выполняется, ∀ xA (x ) ∃ xA (x ) поэтому = Л. Формула означает: существует х, при ∃ xA (x ) котором А(х) истинна. Очевидно, что здесь = И. Глава 6. Исчисление предикатов как метод представления знаний 125 Были найдены процедуры, позволяющие устанавливать обще значимость некоторых ППФ, в этом смысле стали говорить, что исчисление предикатов является полуразрешимым. Что же касает ся свободных переменных, то в большинстве случаев их достаточ но конкретизировать, то есть заменить на некоторые постоянные. При преобразовании формул ИП используются те же приемы: снятие и ограничение отрицания, исключение импликации и экви валентности, применение законов алгебры логики и правил равно сильности и т.п. При действиях со связками необходимо учиты вать особенности квантификаций. Пусть имеется формула А, не содержащая переменную х. Оче видно, в этом случае она не подпадает под действие квантора по х, то есть и . Пусть теперь имеется формула В, со ∀ xA = A ∃ xA = A держащая свободную переменную х: B = B(x). Тогда справедливы следующие равносильности: ∀x B(x) ∨ A = ∀x (B(x) ∨ A), ∀x B(x) ∧ A = ∀x (B(x) ∧ A), ∃x B(x) ∨ A = ∃x (B(x) ∨ A), (6.3) ∃x B(x) ∧ A = ∃x (B(x) ∧ A). Если же формулы А и В обе содержат свободную переменную х, то справедливы равенства: ∀x A(x) ∧ ∀x B(x) = ∀x (A(x) ∧ B(x)), ∃x A(x) ∨ ∃x B(x) = ∃x (A(x) ∨ B(x)). (6.4) (Квантор ∀ можно распределять по ∧ (И), квантор ∃ можно распределять по ∨ (ИЛИ).) Дело осложняется, если требуется распределить квантор ∀ по ИЛИ, а квантор ∃ по И. В этом случае равносильности, подобные (6.4), не выполняются. Тогда исходят из следующих соображений. Любая связанная переменная в ППФ может принимать какие угодно наименования, так что можно написать, например: ∀xA(x) = ∀zA(z) (то же и для ∃). Это действие называется переименовани ем переменных. Всегда стараются сделать так, чтобы каждому квантору соответствовала только одна переменная. Это значитель но облегчает работу с кванторами. В дальнейшем мы будем широ ко этим пользоваться. Вот и в данном случае: ∀xA(x) ∨ ∀xB(x) = ∀xA(x) ∨ ∀zB(z) = ∀x∀z(A(x) ∨ B(z)), ∃xA(x) ∧ ∃xB(x) = ∃xA(x) ∧ ∃zB(z) = ∃х∃z(A(x) ∧ B(z)). (6.5) 126 Глава 6. Исчисление предикатов как метод представления знаний (При выносе кванторов за скобки теперь уже использовались со отношения (6.3), т.к. B(z), например, не зависит от x и т.п.) Этот же прием можно использовать и в равенствах (6.4), то есть справедливо: ∀xA(x) ∧ ∀xB(x) = ∀x∀z(A(x) ∧ B(z)) и т.п. Здесь и в дальнейшем будем обозначать для удобства: и . ∀ xP ( x ) = ∀ xP ( x ) ∃ xP ( x ) = ∃ xP ( x ) Из общего смысла квантификаций нетрудно понять следующие равенства преобразования отрицаний: ; , (6.6) ∀ xP ( x ) = ∃ x P ( x ) ∃ xP ( x ) = ∀ x P ( x ) откуда легко получаются правила замены одного квантора другим: ∀ xP ( x ) = ∃ x P ( x ) ∃ xP ( x ) = ∀ x P ( x ) ; . (6.7) В процессе преобразований нам потребуются новые термины. Назовем литералом атом или его отрицание; дизъюнктом – дизъюнкцию литералов (в ИП это чаще называют предложением), матрицей – формулу, не содержащую квантификаций. Если мы имеем матрицу, то дальнейшая работа с ней, в сущности, сводится к преобразованиям, аналогичным тем, которые мы проделывали с формулами исчисления высказываний. Да и цели то бывают, в общем то, те же: преобразование и представление в канонических (нормальных) формах, доказательство общезначимости (или невыполнимости), определение логического следствия (чаще всего по методу резолюций). Но для этого нужно научиться получать матрицу, то есть научиться корректно переходить от формул с квантификациями к формулам, уже не содержащим никаких кванторов. Но сперва еще раз более подробно о переименованиях связных переменных. 6.8. Стандартизация переменных Связные переменные находятся поддействием квантора и поэтому переименовывать их можно только одновременно с квантифицированной переменной, стоящей после квантора. Совершенно безразлично, как обозвать квантифицированную переменную. Если ∀ у нас есть формула xP(x), то ее можно переобозначить, например, ∀ zP(z). Значение истинности ППФ при этом не изменится. Такой Глава 6. Исчисление предикатов как метод представления знаний 127 прием называется переименованием. Им пользуются для разделения переменных с тем, чтобы каждый квантор имел свою, свойственную только ему, переменную. Выше мы уже пользовались этим приемом при выводе соотношений (6.5). Если в формуле ∀ → ∃ x(P(x) x(R(x,z))), провести переименование, то можно полу- ∀ → ∃ чить, например, выражение x(P(x) y(R(y,z))), (z просто свободная переменная). Такой прием разделения переменных носит еще название стандартизации. 6.9. Исключение квантора существования ∀ ∃ Если А не содержит х, то очевидно: xA = A и xA = A. «Очевидно» – потому что кванторы здесь ничего не определяют и не дают. Это элементарный пример исключения кванторов. ∃ Рассмотрим теперь формулу xP(x) (существует хотя бы один х, при котором Р(x) = И). Пусть этот х будет равен с, тогда указанная формула запишется просто P(с). Константа с любая, однако она не должна совпадать с другими символами, применяемыми в других формулах. Это – второй пример исключения квантора су- ∃ ществования. Он касается случая, когда сам квантор не находится в области действия какого либо квантора общности. ∀ ∃ Рассмотрим теперь формулу x yP(x,y) (для всех х существует, по крайней мере, один y такой, что выполняется предикат P(x,y)). Ясно, что y, удовлетворяющий этому условию, как то зависит от х. Эту зависимость можно отобразить с помощью некоторой функции, например, g(x). Эта функция теперь заменяет y, а квантор существования можно просто убрать: ∀ x P(x, g(x)). Функция типа g(x), отображающая каждое значение х в «тот самый y», называется функцией Сколема или сколемовской. Особенности: ∃ 1) если квантор существования стоит перед квантором общнос∀ , то он не находится в области его действия и поэтому заменяется, как в прежнем примере, некоторой константой: ∃ ∀ ∀ x y P(x, y) = y P(a, y); ∃ 2) если квантор находится в области действия нескольких кванторов общности, то соответствующая его переменная заменяется сколемовской функцией от соответствующего числа переменных (мест): ∀ ∀ ∀ ∃ ∀ ∀ ∀ x y r w P(x, y, r, w) = x y r P(x, y, r, g(x,y, r)) – 128 Глава 6. Исчисление предикатов как метод представления знаний «собственная» переменная квантора существования w заменяется сколемовской функцией g, зависящей от всех квантифицированных переменных, в сфере действия которых она находится. 3) Следующий пример говорит сам за себя: ∃ ∃ x y P(x, y) = P(a, b). 4) Еще один пример: ∀ ∧∃ ∨ x[P(x,y) y(M(y,z) R(y,z,q))]= ∀ ∧ ∨ = x[(P(x,y) (M(g(x),z) R(g(x),z,q)))]. Сколемовская функция g(x) заменяет y во всех местах его ∃ вхождения в области действия квантора . Рассмотрим и осмыслим теперь такой обобщающий пример: ∃ ∀ ∃ ∀ ∀ ∃ ∃ ∀ ∃ 5) Дано: z x u y r w s v q M(z, x, u, y, r, w, s, v, q). После сколемизации: ∀ ∀ ∀ ∀ x y r v M(а, x, f(x), y, r, g(x, y, r), h(x, y, r), v, p(x, y, r, v)). 6.10. Предваренная форма Полученная только что после сколемизации формула имеет вполне определенный вид. Она состоит из цепочки кванторов, называемой префиксом, и бескванторной формулы, называемой матрицей. Представить какую либо формулу в виде префикса и матрицы – это значит представить ее в предваренной форме. Особенность предваренной формы в том, что все кванторы оказываются вынесенными влево за пределы общей формулы, а часть, оставшаяся без кванторов, может быть подвергнута всем возможным преобразованиям, в частности, быть представленной в конъюнктивной нормальной форме, такой необходимой нам для реализации принципа резолюции. Для любой логической формулы существует логически эквивалентная ей предваренная форма. Это правило вытекает из тех преобразований, которые необходимо для этого проделать – они известны и всегда выполнимы: исключить связки эквивалентности и импликации; l переименовать (если необходимо) связанные переменные таl образом, чтобы каждый квантор имел свою переменную; удалить те квантификаторы, область действия которых не соl квантифицированной переменной, как ненужные; ограничить область действия отрицания; l провести сколемизацию; l переместить все кванторы общности в начало формулы, образоl префикс и матрицу. Глава 6. Исчисление предикатов как метод представления знаний 129 К моменту последней операции перемещения кванторов связанные переменные уже разделены, каждый квантор общности имеет свою переменную, независимые переменные заменены постоянными (конкретизация). Будучи перемещенным в начало формулы, они все равно распространяют влияние лишь на «свои» переменные. Широко используются приведенные ранее равносильности (6.1)–(6.7). Может пригодиться еще и правило раскрытия импликации: ∃ → ∀ → ∃ x (A(x) B(x)) = x A(x) x B(x). (6.8) 6.11. Исключение кванторов общности Получение предваренной формы – важный этап в деле преобразования исходной формулы ИП. Дальнейшая работа будет проводиться с матрицей, все переменные которой относятся к тому или иному квантору общности. Роль цепочки кванторов (префикса) в данном случае простое напоминание об этом факте. К тому же порядок кванторов общности роли не играет. Если все это принять во внимание, то префикс вообще можно убрать и предположить по соглашению, что все переменные относятся к своим кванторам общности. Остается одна матрица. 6.12. Приведение матрицы к КНФ Если теперь рассматривать матрицу как логическое выражение, связывающее посредством пропозициональных связок некоторое количество литералов, то процесс приведения любой матрицы к конъюнктивной нормальной форме будет мало чем отличаться от такого же процесса в рамках исчисления высказываний. Процесс этот всегда возможен, и конечный итог известен: матрица будет представлена в виде конъюнкции дизъюнктов (каузальная форма). Дизъюнкт, напомним, в исчислении предикатов называется предложением. Знаки конъюнкции можно опустить, и все множество полученных предложений представить в виде столбца, рассматривая каждое из них как некую исходную гипотезу (как это мы делали с дизъюнктами в процессе логического вывода в ИВ). Рассмотрим обобщающий пример. Привести заданное выражение к системе предложений. 130 Глава 6. Исчисление предикатов как метод представления знаний ∀ ∀ → ∃ → ∀ ∃ x{ y[P(x, y) x Q(x, h(y))] x y R(a, y, x)}. Освобождаемся от импликаций. — – ∀ ∀ ∨ ∃ ∨ ∀ ∃ x{ y[P (x, y) x Q(x, h(y))] x y R(a, y, x)}. Переносим и снимаем отрицания (согласно (6.6) и др. правилам): x { ∃ y [ P ( x , y ) ∨ ∃ xQ ( x , h ( y )) ] ∨ ∀ x ∃ yR ( a , y , x )} . ∀ x { ∃ y [ P ( x , y ) ∧ ∃ xQ ( x , h ( y ))] ∨ ∀ x ∃ yR ( a , y , x )} Окончательно: ∀ x { ∃ y [ P ( x , y ) ∧ ∃ x Q ( x , h ( y ))] ∨ ∀ x ∃ yR ( a , y , x )} ∀ . Проводим стандартизацию: каждый квантор должен иметь свою переменную. С этой целью переименуем в средней формуле (для ) x на u, в последней формуле – x на z, y на w: Q [ ] ∀ x { ∃ y P ( x , y ) ∧ ∀ u Q ( u , h ( y )) ∨ ∀ z ∃ wR ( a , w , z )} . Исключаем кванторы существования. Заметим, что квантор ∃y находится в сфере действия ∀x и распространяется на квадратные скобки, а квантор ∃w – в сфере действия x и z, соответственно вво дим функции Сколема: [ ] ∀ x { P ( x , f ( x )) ∧ ∀ u Q ( u , h ( f ( x ))) ∨ ∀ zR ( a , g ( x , z ), z )} . Выносим кванторы общности влево, за скобки, образуем пред варенную форму: [ ] ∀ x ∀ u ∀ z { P ( x , f ( x )) ∧ Q ( u , h ( f ( x ))) ∨ R ( a , g ( x , z ), z )} . Опускаем кванторы общности, полученную матрицу приводим к КНФ: [ ] P ( x , f ( x )) ∧ Q ( u , h ( f ( x ))) ∨ R ( a , g ( x , z ), z ) = (раскрывая конъюнкцию по дизъюнкции) = ( P ( x , f ( x )) ∨ R ( a , g ( x , z ), z )) ∧ ( Q ( u , h ( f ( x ))) ∨ R ( a , g ( x , z ), z )) . Окончательно получаем систему предложений: 1. P ( x , f ( x )) ∨ R ( a , g ( x , z ), z ) , 2. Q ( u , h ( f ( x ))) ∨ R ( a , g ( x , z ), z ) . Хорошо, что мы научились приводить выражение в предварен ной форме к системе предложений. Но для того, чтобы идти даль ше и проводить с ними процесс резолюции, нам необходимо уметь находить контрарные литералы, что при участии многоместных предикатов с различными переменными становится делом весьма непростым. Пусть, например, имеются предложения: 1. Q ( u ) ∨ P ( A ) , Q ( w ) ∨ P ( w ) 2. , Q ( x ) ∨ P ( x ) 3. , 4. Q ( y ) ∨ P ( y ) . Глава 6. Исчисление предикатов как метод представления знаний 131 Судя по предикатным символам, здесь вполне возможна резолюция. Но различные переменные не дают нам делать это непосредственно. Необходимо делать подстановки. 6.13. Подстановки и унификация Пусть имеется формула P(x,y,z). Ввести подстановку s – это значит определить множество пар типа s = {t /x, t /y, t /z}, позволяющих 1 2 3 заменить x на t , y на t , z на t во всех местах их вхождений. Полу1 формула равносильна прежней: P(x, y, z) = P(t , t , t ). 1 2 3 Подстановки открывают широкие возможности при преобразовании формул. Простейший пример: дана формула ∧ P(x, f(y), z) P(а, b, r). Введем подстановку s = {а/x, b/f(y), r/z} для первого предика1 и получим: P(а, b, r) P(а, b, r) = P(а, b, r), то есть произошла «склейка» – распространенный прием в процессах вывода. Проводя подстановки, надо следовать следующим правилам: подстановки применяются только для свободных переменных, l в том числе и для функциональных, во всех местах их вхождений в данную формулу (предложение); переменную можно заменить константой, но нельзя константу l заменить переменной; переменная не может быть заменена на терм, содержащий ту же l самую переменную; подстановки могут касаться только некоторых термов предикаl остальные термы остаются без изменения; одна функция не может подставляться вместо другой, но может l заменять переменную аргумент; нельзя вместо свободной переменной ввести уже связанную, l другими словами, вводимое подстановкой вхождение переменной не должно попадать в область действия квантора, связывающего данную переменную. К последнему правилу приведем простой пример. Формула ∃ y(x<y) отображает вполне корректное математическое условие (для любого х всегда найдется y, что x<y). Некорректная подста∃ y/x приводит к ложному суждению: y(y<y). Если к формуле Е применена подстановка s , то пишут Еs . Так, 1 1 если к предикату P(x, f(y), B) применена подстановка s = {z/x, 1 w/y}, то можно написать P(x, f(y), B)s = P(z, f(w), B). 1 Если к полученной формуле применить еще подстановку s = 2 {C/z, D/f(w)}, то получится P(x, f(y), B)s s = P(C, D, B). 1 2 132 Глава 6. Исчисление предикатов как метод представления знаний Если все термы предиката не содержат переменных, то мы имеем «основной частный случай» («основной пример»). Последовательное применение подстановок называется их композицией. подстановка s называется унифицированной (унификатором), если ее применение к ряду формул E , E , E ,… делает 1 2 3 их равными: E s = E s = E s = … Например, подстановка s = {A/x, 1 2 3 B/y} унифицирует формулы P(x, f(y), B) и P(x, f(B), B) и дает P(A, f(B), B). Примечание. Обратите внимание, что предикатные символы при этом должны быть одинаковыми. Освоить технику унификации совершенно необходимо. В процессе резолюции, например, контрарные литералы должны быть идентичны, что как раз и достигается их унификацией. Разберем поэтому несколько показательных примеров. Пример 1. Унифицировать множество литералов: {P(a, x), P(y, f(b))}. Поиск возможных подстановок ведём с установления различий в термах обоих литералов, начиная с левых позиций. Первое рассогласование: (a,y). Так как переменной здесь является y, то вводим подстановку s = (а/y). Получаем пару литералов: 1 {P(a, x), P(a, f(b))}. Очередное рассогласование: (x, f(b)). Теперь уже вводим подстановку s = (f(b)/x): {P(a, f(b)), P(a, f(b))}. Унификация состоя2 Общая подстановка имеет вид su = s s = (a/y, f(b)/x). 1 2 Подстановка su, определенная таким образом, называется наиболее общим унификатором – НОУ. Пример 2. Определить НОУ для пары литералов P(x, f(x), z) и P(A, u, u). Начинаем с левых позиций. Рассогласование: (x, A), подстановка s = (A/x), литералы: P(A, f(A), z) и P(A, u, u). Рассогласование: 1 (f(A), u), s = (f(A)/u), литералы: P(A, f(A), z) и P(A, f(A), f(A)). 2 Рассогласование: (z, f(A)), s = (f(A)/z). 3 Окончательно: P(A, f(A), f(A)) и P(A, f(A), f(A)). Наиболее общий унификатор su = s s s = (A/x, f(A)/u, f(A)/z). 1 2 3 Глава 6. Исчисление предикатов как метод представления знаний 133 6.14. Логический вывод в ИП Так же, как и в исчислении высказываний, проблема вывода в ИП сводится к проблеме дедукции, то есть к решению вопроса: является ли формула В логическим следствием множества формул {E}. Напомним, что ППФ B является логическим следствием множества {E}, если она принимает значение И всякий раз, как только все Е i одновременно принимают значение И. Вопрос решался через доказательство теоремы дедукции, которая справедлива и в ИП с учетом, впрочем, ряда оговорок и условий, касающихся действий со связными и свободными переменными. Так же, как и в ИВ, встает проблема определения общезначимости той или иной формулы. И решается она примерно так же, то есть как минимум пятью способами, каждый из которых применим в ИП: 1) оценка с помощью таблицы истинности; 2) оценка через преобразование, упрощение и приведение к нормальным формам; 3) оценка путем логического вывода из системы аксиом; 4) оценка методом редукции; 5) оценка методом опровержения. Однако самым эффективным средством порождения и/или доказательства следствий здесь по прежнему является метод резолюций. ИП резолюция применяется к предложениям, представляющим собой дизъюнкцию литералов, каждый из которых в общем случае содержит различные переменные. Очевидно, что родительские предложения должны содержать контрарные литералы, идентичные по форме. Идентичность литералов достигается при этом применением соответствующих подстановок и унификации. например, у нас имеется два родительских предложения — L и M, содержащие соответственно литералы l и m , которые допускают общую подстановку унификатор s такую, что (l)s = (m)s (без учета инверсии). Теперь возможна резолюция, которая «уничтожит» оба этих литерала, но при этом надо помнить, что подстановка возможна только для предложения в целом. Поэтому результат резолюции можно записать в виде нового предложения, объединя∪ ( ) оставшиеся литералы: ∪ (L – l) s (M – m) s. (6.9) 134 Глава 6. Исчисление предикатов как метод представления знаний Родительских предложений может быть несколько, также как и пар контрарных литералов. Резольвенту (6.9) перепишем теперь в общем виде: ∪ (L – {l }) s (M – {m }) s. (6.10) i i Рассмотрим следующий пример. Имеется два предложения: ∨ ∨ L: P [x, f(A)] P [x, f(y)] Q(y), – – ∨ M: P [z, f(A)] Q (z). – Для резолюции выбираем литералы: l = P [x, f(A)] и m = P [z, f(A)]. Подстановка s = z/x для них является унификатором (применяя ее к l). Но при этом все предложение L примет вид: ∨ ∨ L : P [z, f(A)] P [z, f(y)] Q(y). а Результат резолюции L и М согласно (6.9): a – ∨ ∨ P[z, f(y)] Q(y) Q (z). Совершенно иной результат получится, если выбрать множест– {l } = (P [x, f(A)], P [x, f(y)]), а m = P [z, f(A)]. i Введем унификатор s = (z/x, A/y). Исходные предложения принимают вид: ∨ ∨ L : P [z, f(A)] P [z, f(A)] Q(А), b – – ∨ M: P [z,f(A)] Q (z). Два первых литерала предложения L склеиваются в один, и в b – ∨ результате получится резольвента Q(A) Q (z). Здесь возможны и другие резолюции, в частности по Q. Примечание. Термы в многоместном предикате не могут меняться местами, поэтому литералы P (x, f(y)) и P (f(y), x) не идентичны. Это следует учитывать в процессе резолюции. Так же, как и в исчислении высказываний, метод резолюций – основной инструмент доказательства логического следствия методом опровержения. Принцип дедукции, который при этом реализуется, все тот же: если ППФ В является логическим следствием — — → системы {E}, то справедливо {E, B } Л, то есть множество {E, B } | имеет своим следствием пустой дизъюнкт. Надо только помнить, что все формулы здесь – ППФ в смысле исчисления предикатов со всеми вытекающими отсюда действиями и ограничениями. Пусть заданы две гипотезы: ∀ ∨ ∃ ∨ 1. x [P(x) x Q(x) R(x)], — ∀ 2. y Q(y). Требуется доказать, что выражение — ∃ → ∀ 3. z P(z) z R(z) Глава 6. Исчисление предикатов как метод представления знаний 135 является логическим следствием этих двух. Следуя принципу дедукции, находим отрицание выражения 3: ( ∃ zP ( z ) → ∀ zR ( z )) Исключая импликацию и приводя в порядок отрицания, полу чаем: ( ∃ zP ( z ) ∨ ∀ zR ( z )) = ( ∃ zP ( z ) ∨ ∀ zR ( z )) = ( ) ( ) ( ) ( ) = ∃ zP z ∧ ∀ zR z = ∀ z P z ∧ ∃ z R z (после переименования и сколемизации – к предваренной форме), ( ) ( ) ( ) ( ) ∀ z P z ∧ ∃ u R u = ∀ z P z ∧ R b . Или окончательно: ( ) ( ) ( ) ∀ z P z ∧ R b 4. . Гипотеза 1 преобразуется просто (вводится функция Сколема): 5. ∀x [P(x) ∨ ∃w Q(w) ∨ R(x)] = ∀x [P(x) ∨ Q(g(x)) ∨ R(x)], а для гипотезы 2 используем равенство: ( ) ( ) ( ) 6. ∀ yQ y = ∃ y Q y = Q . Кванторы общности в предваренных формах выражений 4 и 5 теперь можно опустить. Мы приходим к системе предложений a) P(x) ∨ Q(g(x)) ∨ R(x), ( ) Q ) , ) P (z ) , ) . R (b ) (Знак ∀ z в матрице выражения 4 опускается, и она распадается на два предложения в) и г).) Теперь можно проводить резолюции. У каждой резольвенты будем указывать унификатор, позволяющий ее получить. ) Q(g(z)) ∨ R(z), s = z/x ( , ) ) Q(g(B)), s = B/z ( , ) ) . s = A/g(B) ( , ). Логическое следствие доказано. 6.15. Примеры применения метода резолюций в ИП Пример 1. Ранее нами был рассмотрен силлогизм о Сократе и по лучена соответствующая предикатная формула: ∀x ((H(x) М(x)) ∧ H(Сократ)) М(Сократ). (Здесь H – быть человеком, М – быть смертным.) Требуется до казать, что эта формула общезначима. Докажем это методом опро вержения: формула общезначима, если ее отрицание невыполнимо. Берем отрицание исходной формулы (Сократ обозначим С): 136 Глава 6. Исчисление предикатов как метод представления знаний ( ( ( ( ) ( ) ) ( ) ) ( ) ) ∀ x H x → M x ∧ H C → M C . Исключаем импликации, работаем с отрицаниями: ( ∀ x (( H ( x ) ∨ M ( x )) ∧ H ( C )) ∨ M ( C )) , ( ∃ x (( H ( x ) ∨ M ( x )) ∧ H ( C )) ∨ M ( C )) , ( ∃ x ( ( H ( x ) ∨ M ( x ) ) ∨ H ( C ) ) ∨ M ( C )) , ( ∃ x (( H ( x ) ∧ M ( x )) ∨ H ( C ) ) ∨ M ( C )) , ∀ x ( ( H ( x ) ∧ M ( x ) ) ∨ H ( C ) ) ∧ M ( C ) , ∀ x ( ( H ( x ) ∧ M ( x ) ) ∧ H ( C )) ∧ M ( C ) , ∀ x (( H ( x ) ∨ M ( x )) ∧ H ( C )) ∧ M ( C ) . M (C ) Мы получили предваренную форму в конъюнкции с . Опуская квантор общности и ненужные скобки, получаем вы ражение, уже представленное в КНФ: ( ) ( ) ( ) ( ) H x ∨ M x ∧ H C ∧ M (C ) . Таким образом, получается следующая система предложений: 1. H ( x ) ∨ M ( x ) , 2. H(C), 3. M (C ) . Применяя подстановку s = C/x, проводим резолюцию. 4. M(C), (1,2) 5. . (3,4) Общезначимость исходного силлогизма доказана. Пример 2. Посылка: каждый предприниматель, который зани мается бизнесом, получает прибыль. Заключение: если прибыли нет, никто заниматься бизнесом не будет. Введем обозначение пре дикатных констант: S(x,y) – x ЗАНИМАЕТСЯ ДЕЛОМ y; B – БИЗ НЕС; P – ПРИБЫЛЬ; R(x,y) – x ПОЛУЧАЕТ y. Посылка запишется в следующем виде: ∀x (∃y (S(x, y) ∧ B(y)) ∃y (P(y) ∧ R(x, y))) (если у каждого предпринимателя x есть дело y И это дело – бизнес B, то это дело приносит прибыль P, И он ее получает (R)), а заключение – в виде: ( ) ( ) ( ) ( ) ∃ xP x → ∀ x ∀ y S x , y → B y (если никто не получает прибыль, то каким бы делом он ни за нимался, это будет не бизнес). Представим посылку в виде системы предложений. Исключаем импликацию и делаем преобразования: ( ) ( ( ) ( ) ) ( ( ) ( ) ) ∀ x ∃ y S x , y ∧ B y ∨ ∃ y P y ∧ R x , y = ( ) ( ( ) ( ) ) ( ( ) ( ) ) ∀ x ∀ y S x , y ∧ B y ∨ ∃ y P y ∧ R x , y = 138 Глава 6. Исчисление предикатов как метод представления знаний [ ] 4. ∃ x C ( x ) ∧ ( x ) (некоторые из тех, кто имеет способности к математике, не рабо тают с интегралами). Первое и второе утверждения приводятся к предложениям 1'. , ( x ) ∨ M ( x ) 2'. . ( x ) ∨ M ( x ) В третьем проведем сколемизацию, оно распадается на два од нолитерных предложения: 3'. Д(a), 4'. С(a). От четвертого надо взять отрицание. ∃ x [ C ( x ) ∧ ( x )] = ∀ x [ C ( x ) ∧ ( x )] = ∀ x [ C ( x ) ∨ ( x )] Получаем последнее предложение: C ( x ) ∨ ( x ) 5. . С предложениями 1'–4' и 5 проводим резолюцию (соответст вующие подстановки подразумеваются). 6. И(а), (4',5) 7. M(a), (6,1') 8. , (7,2') (a ) 9. Л. (8,3') 6.16. Стратегии резолюции Речь идет о применении метода резолюций при реализации опровержения. Если резолюции нужны нам только лишь для порождения возможно большего количества следствий, то это вопрос не слишком острый. Ибо именно порождение большого количества резольвент является свойством и особенностью применения резолюций. Но тут возникает вопрос о выборе эффективной стратегии поиска результата, вопрос, пока еще не нашедший однозначного решения. Метод полного перебора – самый простой по идее и по алгоритму. Еще он называется методом поиска в ширину. Знакомое название. А удивляться нечему: множество резольвент – это ведь математическая модель, отображающая множество состояний предметной области. Поиск в пространстве состояний в определенном смысле аналогичен поиску решения на множестве резольвент. Начинается он с поиска резольвент между предложениями базового множества. (Базовым будем называть множество предложений посылок вкупе с предложениями, полученными при отрица- Глава 6. Исчисление предикатов как метод представления знаний 139 нии заключения). Это будут резольвенты первого уровня. По мере их вычисления они подсоединяются к концу списка предложений. Далее вычисляются резольвенты 2 го уровня как результаты резолюций базового множества дизъюнктов и дизъюнктов 1 го уровня или их потомков. И т.д. Метод можно проследить на простом примере. Пусть S заданное множество (4 дизъюнкта). Этот бесхитростный перебор не сулит быстрого успеха, но зато гарантирует нахождение пустого дизъюнкта (если он, конечно, имеется). Такая стратегия называется полной. По указанной стратегии дизъюнкт Л будет 39 м! Из примера следуют важные выводы. Так, оказалось, что было порождено много ненужных и потому лишних дизъюнктов. Многие из них повторяются: 5 и 17, 6 и 18, 13 – 16. Некоторые являются тавтологиями: 7 – 10. При поиске по методу опровержения мы ищем невыполнимый дизъюнкт и эту невыполнимость нам нельзя потерять. Тавтологии же всегда выполнимы, к делу не относятся и могут быть вычеркнуты, иначе они сами начнут порождать лишние резольвенты. Если из списка порождаемых дизъюнктов исключать повторяющиеся, а также тавтологии, то число резольвент значительно уменьшится и метод полного перебора окажется не таким уж громоздким. Его можно еще более оптимизировать, если применить так называемый принцип подсуммирования (поглощения). Пусть у нас имеются два дизъюнкта C и D такие, что C = А, D = ∨ A B. C, как видим, является составной частью D. Говорят, что C подсуммирует D. Если теперь окажется, что D невыполним (= Л), то по свойству дизъюнкции С = А = Л. Замена D на C сохраняет невыполнимость, и D можно просто отбросить: C поглощает D. 140 Глава 6. Исчисление предикатов как метод представления знаний Примеры подсуммирования: C: D: ∨ ∨ ∨ A R подсуммирует A B R, ∨ P(x) подсуммирует P(y) Q(z), ∨ ∨ ∨ P(x) Q(E) подсуммирует P(f(A)) Q(B) R(z), ∨ ∨ ∨ P(x) Q(f(x),a) подсуммирует P(q(y)) Q(f(q(y)),a) R(z). Обратите внимание, что подсуммирование возможно после введения соответствующих подстановок. Только после этого допустимо поглощение и правые дизъюнкты отбрасываются в пользу левых. Вычеркивая ненужные дизъюнкты и применяя подсуммирование, мы в определенном смысле видоизменяем сам метод полного перебора. Мы применяем теперь стратегию упрощения. Обладая полнотой исходного метода, такая стратегия существенно сокращает список резольвент. Алгоритм перебора остается прежним, но каждая возникающая резольвента анализируется и при необходимости отбрасывается. Так, рассмотренный выше пример разрешится следующим образом: Резолюции: 5. Q, (1,2) 6. P, (1,3) – 7. P , (2,4) – 8. Q , (3,4) 9. Л. (5,8) – начало второго уровня. 6.17. Дерево опровержения Выбранную стратегию опровержения удобно отображать в виде графа с корневой вершиной с пометкой Л. Такой граф не только обладает наглядностью, но и предостерегает от ошибочных или просто повторных шагов. Выше мы рассматривали пример с математиками (п. 6.15). Построим соответствующее ему дерево опровержения. Для каждого базового предложения отведем свою вершину. Если две вершины образуют родительскую пару, то ребра, исходящие их них, будут сходиться к вершине, помеченной их резольвентой – потомком. Приведенный пример удобен тем, что он иллюстрирует сразу несколько стратегий. Стратегия опорного множества. Согласно этой стратегии процесс опровержения строится так, что, по крайней мере, один из ро- Глава 6. Исчисление предикатов как метод представления знаний 141 Рис. 6.1. Дерево опровержения дителей в каждой резольвенте выбирается из предложений, полученных при отрицании заключения (целевая ППФ) или их потомков (опорное множество). Эта стратегия обладает полнотой, то есть можно показать, что если опровержение существует, оно может быть найдено по алгоритму стратегии опорного множества. Его применение приводит к более медленному росту числа резольвент (особенно в ширину) при большей интенсивности проникновения в глубину (увеличивая количество уровней). Такое движение как раз способствует поиску пустого дизъюнкта. Дерево опровержения на рис. 6.1 могло бы быть порождено стратегией опорного множества. Стратегия предпочтения одночленам. Можно сказать, что эта стратегия есть модификация предыдущей. Стратегия эта заключается в том, что на каждом шаге резолюции мы пытаемся в качестве одной из родительских вершин выбирать однолитерное предложение. В такой стратегии заключается определенный смысл: когда в резолюции используется одночлен, резольвента содержит меньшее по сравнению с другим родителем число литералов. Процесс целенаправленно движется в сторону увеличения однолитерных резольвент, что способствует получению пустого дизъюнкта. Рис. 6.1 может служить примером указанной стратегии. Стратегия, линейная по входу. Особенность линейной стратегии в том, что в каждой резолюции одно из родительских предложений принадлежит базовому множеству. Такое начало нам уже знакомо по стратегии полного перебора. Но там, повинуясь другой Глава 6. Исчисление предикатов как метод представления знаний 143 6.18. Пример построения модели предметной области в ИП Берем все тот же пример с обезьяной и бананами. Считаем, что модель предметной области уже построена. Следует отобразить ее ∨ в терминах ИП. Алфавит А ИП, как известно, кроме символов ¬, , ∧ →, ∼ ∀ ∃ , , , , содержит также: индивидные константы, l предметные переменные, l функциональные константы, l высказывания, l предикатные константы. l Очевидно, что роль индивидных констант здесь будут играть элементы множества Х МПрО, то есть множество имен объектов. У нас это: Обезьяна (О), Ящик (Я), Бананы (Б). Роль предметных переменных играют точки, в которых могут находиться О, Я, Б, то есть в нашем примере – это координаты Обезьяны, Ящика и Бананов соответственно x, y, с. Область определения для них – множество D точек комнаты. В качестве функциональных переменных, как правило, выступают операторы (действия). В нашем случае – множество G = {g – подойти, g – перенести, g – взобраться, g – 1 2 3 4 схватить}. Областью определения функций является множество состояний предметной области, которое возникает в результате выполнения этих действий. Это состояния, являющиеся предусловиями и постусловиями применения действий. Обозначим это множество состояний через переменную s = {s , s , …, s }. Таким об1 2 n разом, имеем множество предметных переменных – х, у, s. Множество R – множество имен предикатов (отношений). Например: (О, Я) – Обезьяна НА Ящике; У (О, Я) – Обезьяна У Ящика; — B (О, Б) – Бананы НЕ В руках Обезьяны; Координаты объектов введем через одноместные предикаты. Коорд (О, х) – Обезьяна находится в т. х; Коорд (Я, у) – Ящик находится в т. у; ∈ Коорд (Б, с) – Бананы висят в т. с. Здесь (х, у, с D). Трехместный предикат делает семантику более гибкой: В (О, Я, х) – Обезьяна и Ящик находятся в т. х; У (О, Б, с) – Бананы у Обезьяны в т. с. Из сказанного видно, что роль термов у нас играют индивидные константы (О, Я, Б, с) и предметные переменные (х, у, s). Но этого 144 Глава 6. Исчисление предикатов как метод представления знаний недостаточно, т.к. они описывают лишь отдельные состояния предметной области. Переход из одного состояние в другое осуществляется под действием операторов g , прилагаемых в данной точке х i к конкретному состоянию s: g (x,s). Это тоже терм. Следовательно, i ∈ ∈ допустимы такие выражения (для x, y, c D; s S): В (О, Я, у, g (x,s)) – «Обезьяна и Ящик находятся в т. у в ре1 применения оператора подойти к Ящику к состоянию s в т. х»; НА (О, Я, у, g (у,s)) – «Обезьяна сидит на Ящике в т. у в резуль2 применения оператора взобраться на Ящик к состоянию s». Используя таким образом язык ИП, запишем нашу модель предметной области в виде следующих аксиом. — — ∀ ∀ → 1. x s [РЯ ДОМ (О, Я, х, s) В (О, Я, у, g (x,s))] – 1 «для всех х и s: если в состоянии s Обезьяна и Ящик не находятся рядом в т. х, то Обезьяна может оказаться в т. у, где находится Ящик, путем применения к ситуации s оператора g (по дойти к 1 Ящику) из точки х в точку у». ∀ ∀ → 2. у s [В (О, Я, с, g (y,s)) НА (О, Я, c, g (c,s))] – 2 3 «для всех у и s: если Обезьяна и Ящик под действием оператора g (пе ренести Ящик) оказались в точке с, то Обезьяна обязатель2 заберется на Ящик под действием g (взо браться на Ящик)». — 3 — → 3. У (О, Б, с, S ) НА (О, Я, с, S ) – н н «ес ли в точ ке с у Обезьяны нет Бананов, то она НЕ НА Ящике». — — 4. РЯ ДОМ (О, Я, b, S ) – н «в начальном состоянии Обезьяна и Ящик не находятся рядом». ∀ ∀ 5. y s [В (О, Я, с, g (у,s))] – 2 «для всех у и s: Обезьяна и Ящик находятся в точке с в результате применения оператора g (пе ренести Ящик)» к состоянию s. 2 ∀ (В выражениях 3–4 кванторы отсутствуют, т.к. это конкретные высказывания, характеризующие начальное состояние S .) н ∈ Поставим теперь вопрос: существует ли такое состояние s S и ∈ такая точка х D, когда Бананы находятся у Обезьяны? Формально вопрос запишется так: ∃ ∃ 6. s х (У (О, Б, х, s)), то есть мы как бы говорим: «Да, существуют такое состояние s и такая точка х». Требуется, таким образом, доказать, что это утверждение истинно. С точки зрения формальной логики это случится, если выражение 6 окажется логическим следствием пяти предыдущих посылок: → (1, 2, 3, 4, 5) 6. | Как и прежде, будем использовать метод опровержения и, как следствие, метод резолюций. Для начала приведем выражения, 146 Глава 6. Исчисление предикатов как метод представления знаний Упражнения 1. Определите, какие из нижеприведенных формул общезначимы, а какие невыполнимы. — — ∀ ∧ ∃ а. xP(x) yP(y); — — ∃ → ∀ б. xP(x) yP(y); — — ∀ ∧ ∃ в. xP(x) yP(y); ∀ ∧ ∃ г. xP(x) x(x); ∃ → ∃ д. xP(x) yP(y); ∀ ∨ ∃ е. xP(x) y(y). 2. Привести к предваренной форме, сделать преобразования и доказать следующие тождества. ∀ → ∃ → ∀ ∧ ∀ а. xP(x) ( yP(y) ( xP(x) zP(z))); ∃ ∧ ∀ → ∀ б. ( xP(x) xP(x)) yP(y); ∃ → ∀ → ∀ в. xQ(x) ( yP(y) zQ(z)); ∃ → ∀ ∨ ∀ г. xQ(x) ( xQ(x) yP(y)); – ∃ → ∀ → ∀ → ∃ → ∀ д. ( xP(x) yQ(y)) (( xP(x) zQ(z)) uP (u)); — — — ∀ ∨ ∃ → ∃ → ∃ е. ( xP(x) yQ(y)) ( xP(x) zQ(z)); ∀ → → ∃ → ∃ ж. x(P(x) Q(x)) ( xP(x) xQ(x)); ∀ ∀ → ∀ ∨ з. ( xP(x) yQ(y)) z (P(z) Q(z)). 3. Доказать тождества методом опровержения. ∃ ∧ → ∃ ∧ ∃ а. x (P(x) Q(x)) ( yP(y) zQ(z)); ∀ → → ∃ → ∃ б. x (P(x) Q(x)) ( xP(x) zQ(z)); ∃ ∀ → ∀ ∃ в. y xP(x,y) x yP(x,y); — — ∃ → ∀ г. xP(x) yP(y); ∀ → ∃ → ∀ → ∃ д. xP(x) (( yP(y) yQ(y)) zQ(z)). 4. Докажите нижеследующие силлогизмы. А. Кто мяукает, тот кошка. Собаки – не кошки. Следовательно: собаки не мяукают. Б. Без свободы нет счастья. Без счастья нет любви. Следовательно: где нет свободы, не может быть любви. В. Моряки – сильные люди. Сильные люди не плачут. Мишка – моряк, Следовательно: Мишка не плачет. Глава 7 ПРОДУКЦИОННАЯ МОДЕЛЬ ПРЕДСТАВЛЕНИЯ ЗНАНИЙ Если проследить за речью человека (не ее содержанием, а структурным построением фраз), то легко заметить, что значительная часть наших мыслей оформляется в виде правил типа «ЕСЛИ (далее следует ряд условий), ТО (далее следует что надо сделать)». Примеров – множество: «Ес ли ты будешь хорошо учиться, то папа купит тебе велосипед», «Закаляйся, если хочешь быть здоров», «(Ес ли) Не продается вдохновенье, но (то) можно рукопись продать» и т.п. Несмотря на то, что такая форма представления знаний чрезвычайно популярна для человека, она является достаточно сложной для реализации в виде жестких алгоритмических схем. Проблемы появляются в связи с тем, что знания многообразны как по уровням, так и по спектру, допускают неоднозначное толкование, чаще всего имеют ассоциативный характер использования. Трудно четко разложить их на причины и следствия и описывать их, например, на языке исчисления высказываний и предикатов. Добавим еще, что знания постоянно меняются, пополняются, модифицируются и приспосабливаются к условиям среды. 7.1. Форма представления знаний Конструкция «Ес ли условия , то действия » напоминает импли→ А В (где А, В – формулы исчисления высказываний) или → ∃ ∀ Q x Q y (А(x,y) B(z)), где Q , Q – кванторы или , а A(x,y), 1 2 1 2 B(z) – логические функции (исчисление предикатов). Отличия в этих представлениях мы обсудим позже. Поиск удобной модели для представления знаний типа «Ес ли условия , то действия » привел к идее введения продукции в качестве эквивалента представления знаний и механизма работы СИИ. 148 Глава 7. Продукционная модель представления знаний 7.2. Продукционная модель знаний Термин «продукция» был введен американским логиком Е. Постом в 40 х годах в работах по обоснованию и формализации алгоα → β ритмических систем. Продукцией называется правило вида , α β где , – слова над некоторым алфавитом А. Совокупность правил α → β типа получила название системы продукций. В работах Маркова А.А. механизм подстановки является основным для уточнения формального определения понятия алгоритмической системы, получившей название нормального алгоритма Маркова. Здесь подстановки являются основным оператором. По- этому в языке программирования Рефал, основанном на идее такой модели уточнения понятия алгоритма, оператор подстановки играет основную роль. Идея продукции используется также в языках логического программирования, нашедших применение в ИС, в экспертных системах (гл. 13). Идея продукций использовалась также Хомским при определении формальных грамматик. В дальнейшем этот механизм получил широкое распространение в языках символьного и логического программирования. Рассмотрим этот механизм представления, интерпретируя левую и правую части правил продукций как логические функции. Наиболее популярная форма такая: → Р(x,y) A & D. (7.1) Здесь Р(x,y) – логическое выражение; А – заключение; D – действие, то есть продукция – это пара антецедент, консеквент , а → « » – знак секвенции. Для простоты изложения кванторы опущены. Выход за рамки формальной системы осуществляется путем добавления такой понятийной категории, как действия. Если при ∈ ∈ замене x и y конкретными значениями a X, b Y Р(а,b) принимает значение И, то выдается заключение А и выполняется действие D. Формы заключения могут быть различными: → Р(x,y) A (здесь А – статическое высказывание, истинное всегда); D (здесь D – одно или несколько действий, не требующих интерпретации); → Р(x,y) A(x,y) & D(x,y) (здесь А(x,y) – логическая функция, истинная при Р(x,y) = N, D(x,y) – действие, которое доопределяется путем замены x, y на а, b соответственно). Глава 7. Продукционная модель представления знаний 149 → В отличие от импликации случай И Л здесь не рассматривается. Это значит, что при истинности левой части реализуется все, что рекомендуется в правой, то есть продукция истинна всегда. В простейшем случае правая и левая части продукции могут быть простыми высказываниями. Главное отличие продукции от логических формул – они допускают более широкий спектр интерпретации. наиболее общем виде под продукцией понимается выражение: Q, N, P>A, D . i – уникальное имя продукции, с помощью которого продукция выделяется из всего множества. В качестве имени может выступать любая цепочка символов или цифр, но чаще – лексема, отражающая суть (смысл) данной продукции. Q – характеризует сферу применения данной продукции. Такие сферы легко выделяются в системах знаний человека по принципу «полки». На одной «полочке» у нас хранятся знания, например, о том, как добраться до работы, на другой – как варить кашу и т.п. Разделение знаний на отдельные сферы экономит время на поиск нужных в конкретных условиях знаний. → Р A – называется ядром продукции. Это основной элемент. → Допускается форма: если Р, то А, иначе В. При этом секвенция ( ) истолковывается в обычном, логическом смысле как знак логического следования А из истинного Р (в случае, если Р не является истинным, как мы уже говорили, то об А ничего сказать нельзя). N – есть условие применимости ядра продукции. Обычно, если N принимает значение И, то ядро продукции активизируется. В противном случае продукция не может быть применена. Элемент D описывает постусловия продукции. Они активизируются лишь в случае, если ядро продукции реализовалось. Постусловия описывают действия и процедуры, которые необходимо выполнить после реализации ядра. Ядра продукции можно классифицировать по различным основаниям. Прежде всего все ядро делится на два больших типа: детерминированные (точно определенные) и недетерминированные (вероятостные). В последнем случае А может не выполняться и при истинности D. Ядро продукции интерпретируется тогда так: если Р, то, возможно, А. Сама возможность определяется некоторыми оценками реализации ядра. Для формирования оценок используется вероятностный или какие либо другие подходы. В простейших случаях продукции могут быть такими: Глава 7. Продукционная модель представления знаний 151 7.3. Механизм вывода в продукционной системе знаний Для того чтобы «запустить» машину вывода при наличии системы продукционных правил, очевидно, необходимы следующие компоненты: значений переменных, используемых в продукциях; l сами правила продукции; l механизм интерпретации правил. l Значения переменных обычно задаются в так называемой рабочей базе данных – РБД (рабочая память) в виде набора конкретных фактов, формат которых согласуется с форматом правил. Совокупность правил продукций является сердцем системы и называется базой знаний или правил (БЗ). Механизм интерпретации правил как раз и является механизмом вывода (МВ). Рассмотрим механизм вывода в продукционной системе. Как следует из сказанного, под продукционной системой (ПС) понимается совокупность: ПС = РБД, БЗ, МВ . (7.2) В каждом цикле интерпретации выполняются следующие процессы: множество означиваний, то есть выделяется набор l продукций БЗ и фактов из РБД, согласующихся между собой; выполняются сами означивания (сопоставления), то есть реаl указаний из правой части продукций (здесь тоже могут быть самые различные варианты, но о них позже). В продукционной модели легко просматриваются аналогии: РБД – наборы фактов, описывающих текущие состояния предметной области; БЗ – модель предметной области; МВ – модель механизма принятия решений (вывода) – прямой аналог человеческим рассуждениям. Таким образом, обобщенный алгоритм работы ПС состоит из: задания модели текущего состояния предметной области (пряl диалог, моделирование, генерация, интерполяция и т.д.); интерпретации текущего состояния предметной области (то l есть РБД) на БЗ и выработки вариантов решения; выбора варианта решения и выдачи его на выход системы для l пользователя; 152 Глава 7. Продукционная модель представления знаний изменения состояния модели предметной области (РБД) путем l выполнения действий и процедур, рекомендованных в правых частях правил. Самое замечательное в этом механизме то, что управление процессом вывода осуществляется путем изменения состояния РБД и не затрагивает БЗ. 7.4. Стратегии управления выводом решения Это управляющий компонент ПС. Он определяет порядок применения правил и устанавливает, имеются ли еще факты в РБД, которые могут быть изменены для продолжения работы. Основных → стратегий вывода – две: прямая – «ЛЧП ПЧП» (левая часть → → правила правая часть правила) и обратная (ПЧП ЛЧП). В каждом цикле может срабатывать только одно правило. Процесс управления состоит из выполнения четырех основных операций: сопоставления (образец правила сопоставляется с имеющимиl фактами в РБД); выбора (если в конкретной ситуации могут быть применены l сразу несколько правил, то есть правила конфликтуют за возможность первого применения, то из них выбирается наиболее подходящее); срабатывания (если образец правила при сопоставлении соl с какими либо фактами из РБД, то соответствующее правило срабатывает); изменения состояния РБД на новое (РБД изменяется путем доl в нее заключения сработавшего правила. Если в правой части содержится еще и указание на какие либо действия, то они выполняются настолько, насколько это возможно). → Прямая стратегия «ЛЧП ПЧП» соответствует стратегии вывода «снизу вверх» и осуществляется от ситуации к цели. Алгоритм вывода при этом следующий: 1) определяется ситуация, в которой выполняется условие в левой части (ес ли), и делается логический вывод согласно констатирующей части (то); 2) полученный вывод понимается как условие, выполнение которого следует определить по условной части другого правила и т.д. Пример 1. Рыбак собирается на рыбалку. При этом он рассуждает по следующей схеме. 1. Если вода в реке поднимается, то рыба выходит на мель. Глава 7. Продукционная модель представления знаний 153 Рис. 7.1. Стратегия «снизу вверх» для приведенного примера Рис. 7.2. Структура правила 2. Если вода в реке опускается, то рыба уходит в глубину. 3. Если лето влажное, то вода в реке поднимается. 4. Если лето сухое, то вода в реке опускается. 5. Если рыба выходит на мель, то следует применять легкую блесну. 6. Если рыба уходит в глубину, то следует применять тяжелую блесну. Лето выдалось влажное – какую блесну брать на рыбалку? Мы будем решать эту задачу по алгоритму «снизу вверх». 1) В условной части заданных правил ищем условие, совпадающее с исходной ситуацией «лето влажное» (правило 3). Делаем вывод: «вода в реке поднимается». 2) Принимаем этот вывод как новое условие, следствие которого следует определить, и ищем соответствующее правило (правило 1). Делаем вывод: «рыба выходит на мель». 3) В условной части правил ищем совпадение для ситуации «рыба выходит на мель» (правило 5). Окончательный вывод: блесну следует брать легкую. Если представить отдельное правило в виде прямоугольника, темная часть которого означает условие, а светлая – заключение, то прямая стратегия отобразится в виде рис. 7.1. В общем случае правило удобно изображать в виде графа дерева. Если оно имеет несколько условий (P ) и одно заключение (A), i то граф будет иметь вид рис. 7.2. Но правило может содержать и несколько заключений, и несколько действий. 156 Глава 7. Продукционная модель представления знаний Рис. 7.4. Стратегия управления выводом на продукциях Процесс интерпретации очень хорошо может быть проиллюстрирован как поиск решения в пространстве состояний. Поскольку невозможно построить сразу все пути решения задачи, движение в пространстве состояний осуществляется в соответствии с правилами эвристиками, составляющими содержание критериев. Каждое правило легко представить в виде отдельного «кирпичика» (модуля, блока и т.д.), управляемого данными. Правила не зависят друг от друга, что позволяет наращивать и изменять БЗ без изменения самого механизма функционирования и БЗ. 7.5. Взаимодействие правил в процессе рассуждений На правила можно смотреть, как на символьные структуры, которые выражают или дедуктивные, или ассоциативные способы продвижения в процессе рассуждений (вывода). При этом под дедуктивным подразумевается способ, когда некоторое правило может быть использовано для проверки условий в другом правиле. Под ассоциативным подразумевается способ, когда некоторое правило может инициировать запуск или выполнение других правил. Более наглядно правила продукции можно представить с помощью диаграммы (рис. 7.5). Продемонстрируем графически действие одного правила. Каждое правило представляет собой как бы островок знаний (модуль), который начинает «работать», как только это правило становится Глава 7. Продукционная модель представления знаний 157 Рис. 7.5. Наглядное представление продукции Рис. 7.6. Определение истинности недостающего условия пригодным. Предположим, что все условия (все строки в ЛЧП) выполнены (напомним, что формально они образуют конъюнкцию). Правило, следовательно, может быть применено. На рис. 7.5 закрашенные элементы означают «ис тинно». Так как все условия истинны, то верхняя часть ПЧП А (еще ее называют гипотезой) также истинна. Значение гипотезы, таким образом, зависит от состояния (наличия) всех условий в ЛЧП. Значение это – булевское («И» или «Л»). Так как гипотеза может иметь то или иное значение, она может присутствовать в левой части какого либо другого правила. Рассмотрим пример на рис. 7.6. Для определения истинности гипотезы n правила Y в левой части Y не хватает одного условия. Положим, что значение этого условия зависит от состояния m. Чтобы проверить, является ли m истинной, система постарается найти правило (Х), где m было бы гипотезой и его можно было бы рассматривать как подзадачу для вычисления n. Так иллюстрируется дедуктивное рассуждение, которое может проводиться на многих уровнях вложенности и включать много правил (см. рис. 7.7). Для разрешения конфликтов, которые могут возникать между правилами, в систему включаются специальные механизмы их разрешения, о которых мы говорили выше. 162 Глава 7. Продукционная модель представления знаний 7.6. Эвристические принципы управления правилами Несмотря на «прозрачность» механизма вывода, в продукционных системах (ПС) возникает проблема выбора, то есть проблема активизации правил. Этим занимается система управления, являющаяся частью всей машины вывода. Подходящих продукций в каждый момент времени может быть несколько, и в принципе здесь возможен параллельный вывод. Эта возможность зависит от имеющегося ресурса и архитектуры вычислительной техники. Используется несколько эвристических принципов «упаковки» продукций в БЗ. Перечислим наиболее популярные из них. 1. Принцип «стопки книг». Наиболее часто используемые продукции актуализируются первыми. Этот принцип целесообразно применять, если продукции относительно независимы друг от друга. 2. Принцип наиболее длинного условия. Первой выбирается продукция, у которой наиболее «длинное» условие выполнимости ядра. Этот принцип целесообразен, когда продукции хорошо структурированы по отношению «частное общее». 3. Принцип метапродукций. В систему продукций вводятся специальные правила метапродукции, задачей которых является разрешение ситуаций в условиях конфликтного набора правил. 4. Принцип приоритетного выбора. На продукции вводятся статические или динамические приоритеты. Статические формируются априори, чаще всего на основе экспертных оценок. Динамические приоритеты вырабатываются в процессе функционирования системы продукций и могут отражать, например, такой параметр, как время нахождения продукции во фронте готовых продукций. К данному типу управления относится задание последовательности приоритетов с помощью специальной каузальной семантической сети [34]. В этом случае задается некоторый каузальный сценарий, движение по которому определяется складывающимися ситуациями и в каждой вершине которого задана функция выбора очередной продукции из фронта готовых продукций. Если продукции работают над семантической сетью, приоритеты могут формироваться не в системе продукций, а в самой сети. 5. Принцип «классной доски». Основан на идее спусковых функций [34]. При реализации принципа «классной доски» выделяется специальное рабочее поле памяти – аналог классной доски, Глава 7. Продукционная модель представления знаний 163 на которой мелом пишут объявления и стирают их при необходимости. На этой «доске» параллельно выполняющиеся процессы находят информацию, инициирующую их запуск, на нее же они и выносят информацию о своей работе, которая может оказаться полезной для других процессов. Как правило, на «классной доске» выделяются специальные поля для формирования условий применимости ядер продукций, различные для разных сфер применения продукций, специальные поля для записи результатов срабатывания продукций и для записи постусловий, если они адресованы другим продукциям. С принципом «классной доски» может комбинироваться принцип управления с помощью метапродукций, т.к. он требует проверки некоторых условий, которые фиксируются в рабочем поле памяти, а также другие принципы управления. Если система продукций работает над некоторой сетевой моделью в базе знаний, то необходимо (особенно при альтернативных продукциях) принимать специальные меры защиты от «порчи знаний» работающими продукциями. Для этого также используется рабочее поле памяти, куда временно переносится фрагмент знаний, которым оперируют продукции. Этот фрагмент фиксируется на специальном поле «классной доски». 7.7. Достоинства и недостатки продукционной модели Продукционным моделям не хватает строгой теории. Пока на практике при работе с продукционными моделями в них используют эвристики. При задании модели проблемной области в виде совокупности продукций нельзя быть уверенным в ее полноте и непротиворечивости. Причина неудач создания теории кроется в расплывчатости понятия продукции из той интерпретации, которая приписывается ядру, а также в различных способах управления системой продукций. Переход к алгоритмической схеме мало что дает, так как при этом исключается основное свойство продукционных систем – их модульность и проистекающие из этого асинхронность и параллельность выполнения продукций в системе. Популярность продукционных моделей определяется несколькими факторами. 1) Подавляющая часть человеческих знаний может быть записана в виде продукций. 164 Глава 7. Продукционная модель представления знаний 2) Системы продукций являются модульными. За небольшим исключением удаление и добавление продукций не приводит к изменениям в остальных продукциях. 3) При необходимости системы продукций могут реализовывать любые алгоритмы и, следовательно, способны отражать любое процедурное знание, доступное ЭВМ. 4) Наличие в продукциях указателей на сферу применений продукции позволяет наиболее эффективно организовать память, сократив время поиска в ней необходимой информации. Классификация сфер может быть многоуровневой, что еще более повышает эффективность поиска знаний, так как позволяет наследовать информацию в базе знаний. 5) При объединении систем продукций и сетевых представлений получаются средства, обладающие большой вычислительной мощностью. 6) Естественный параллелизм в системе продукций, асинхронность их реализации делают продукционные системы удобной моделью вычислений для ЭВМ новой архитектуры, в которой идея параллельности и асинхронности является центральной. Продукционные модели имеют, по крайней мере, два недостатка. При большом числе продукций становится сложной проверка непротиворечивости системы продукций. Это заставляет при добавлении новых продукций тратить много времени на проверку непротиворечивости новой системы. 2) Из за присущей системе недетерминированности (неоднозначного выбора выполняемой продукции из множества активизированных продукций) возникают принципиальные трудности при проверке корректности работы системы. Продукционные модели имеют, по крайней мере, два недостатка. При большом числе продукций становится сложной проверка непротиворечивости системы продукций. Это заставляет при добавлении новых продукций тратить много времени на проверку непротиворечивости новой системы. Из за присущей системе недетерминированности (неоднозначного выбора выполняемой продукции из фронта активизированных продукций) возникают принципиальные трудности при проверке корректности работы системы. Считается, что если в ИС число продукций достигает тысячи, то мало шансов, что система продукций во всех случаях будет правильно функционировать. Именно поэтому число продукций, с которым, как правило, работают современные ИС, не превышает тысячи. Глава 7. Продукционная модель представления знаний 165 Следует ожидать, что теория продукционных систем появятся не ранее, чем будут созданы эффективные теории параллельных информационных процессов. Но некоторые результаты можно получить на основе существующих методов оптимального управления, введя ряд ограничений на понимание продукций и систем продукций. Другая проблема практического применения продукционных моделей – переход от статических систем к динамическим, меняющим состав продукций в системе или перестраивающих алгоритм управления выбором продукций из фронта готовых продукций в зависимости от текущих ситуаций. Такие системы продукций называются адаптивными или системами продукций реального времени. Во многих приложениях быстрота срабатывания продукций имеет решающее значение. Достичь этого можно только за счет гибкого набора стратегий управления, среди которых должны быть стратегии различного уровня сложности и быстроты срабатывания. Ряд авторов считает, что прототипом такого управления может стать управление, которое было использовано в программе игры в шашки. Ее идеи были реализованы в проекте CONSIM (CONflict SIMulator – моделирование конфликтов), который ставил своей целью разработку системы продукционных правил для принятия решений при управлении воздушным боем. Для этого проекта в свое время была создана система EMULAR, реализующая ряд функций динамической продукционной системы. Для повышения скорости работы таких систем разрабатывались специальные средства аппаратной поддержки. Тем не менее продукционная модель и сегодня остается наиболее популярной в СИИ. В различных вариантах она используется также в композиции с другими моделями представления знаний (сети, фреймы, объектно ориентированные модели). 7.8. Пример работы механизма продукционной модели Для иллюстрации механизма работы продукционной модели рассмотрим нашу старую задачу об обезьяне. Речь в ней шла о комнате (К), в которой находились обезьяна (О), ящик (Я) и бананы (Б), которые обезьяна хотела достать (они были подвешены к потолку). Умная обезьяна должна была догадаться подставить ящик под бананы, чтобы все таки до них дотянуться. В этих предположениях 166 Глава 7. Продукционная модель представления знаний была построена следующая концептуальная модель данной предметной области (КМПрО): Х = (О, Я, Б, К) – множество имен (знаков) объектов, С = (Коорд (О), Коорд (Я), Коорд (Б), Коорд = (a, b, c, …, р)) – множество имен свойств объектов множества Х, R = (РЯДОМ (О, Я), НА (О, Я), У (Б, О)) – множество имен отношений, = (g (О, Я), g (О, Я), g (О, Я), g (О, Я)) – множество 1 2 3 4 имен действий над объектами множества Х. Определим понятия начального – S и целевого – S состояний н ц МПрО. Допустим, Коорд (О) = a, Коорд (Я) = b, Коорд (Б) = c, расположенная непосредственно под бананами. Тогда начальное состояние записы вает ся в виде: — — S = (a, b, c, НА (О, Я), У (Б, О)), н то есть все объекты в начальных позициях, обезьяна НЕ НА ящике, бананы НЕ У обезьяны. Каждое из отношений НА и У может принимать лишь два значения ДА («1») и НЕТ («0»): или обезьяна НА ящике («1»), или НЕТ («0»); или бананы У нее («1»), или НЕТ («0»). Упрощенно запись этих состояний выглядит так: S = (a, b, c, 0, 0), н S = (c, c, c, 1, 1) ц (в начальном состоянии О, Я, Б находятся в разных точках комнаты. В целевом состоянии все объекты находятся в одной точке, обезьяна на ящике и держит бананы). Задача, таким образом, сводится к тому, как с помощью вышеперечисленных операторов g , g , g , g из S перейти в S . Применя1 2 3 4 н ц ем к S оператор g – ПОДОЙТИ, имеем: н 1 g 1 → S = (a, b, c, 0, 0) (b, b, c, 0, 0) = S . н 1 (Обезьяна ПОДОШЛА к ящику, и их координаты совпали.) Применяем g – ПЕРЕДВИНУТЬ: 2 g 2 → S = (b, b, c, 0, 0) (c, c, c, 0, 0) = S . 1 2 g – ВЗОБРАТЬСЯ: 3 g 3 → S = (c, c, c, 0, 0) (c, c, c, 1, 0) = S . 2 3 g – СХВАТИТЬ: 4 Глава 7. Продукционная модель представления знаний 171 Шаг 2. Теперь обратимся к обезьяне О . Просматриваем те 2 же правила – П4, П6, П5, П3, и снова срабатывает П1. Налицо два конфликтных результата: ПОДОЙТИ (О , Я), ПОДОЙТИ 1 (О , Я). 2 Если применяется возвратная стратегия, то два раза срабатывает правило П2. Очевидно, это недопустимо и следует придумать правило для разрешения этой коллизии. Разработчик должен предусмотреть подобные ситуации. В целях разрешения конфликта добавим в БЗ новое правило, например: «Ес ли в комнате больше чем одна обезьяна, то к ящику подходит та, которая к нему ближе». Введение такого правила, в свою очередь, потребует более строгого определения понятия БЛИЖЕ и введения в концептуальную модель отношений: БЛИЖЕ (О , Я), БЛИЖЕ (О , Я), т.е. БЛИ1 (Х, Я), а также метода вычисления расстояний между обезьянами и ящиком. Это можно сделать, введя функцию расчета расстояния g (Х, Я). Образованные таким способом правила будет выглядеть так: П7: Если [МЕНЬШЕ (g (О , Я), g (О , Я))], то [ДОБАВИТЬ 1 2 (БЛИЖЕ (О , Я))]. 1 ∧ П8: Если [БЛИЖЕ (О , Я)], то [ПОДОЙТИ (О , Я) ИСКЛЮ1 (Коорд (О , х)) ДОБАВИТЬ (Коорд (О , у))]. 1 1 Правила для второй обезьяны записываются аналогично. С учетом П7, П8 поиск решения сужается до единственной цепочки. примера видно, какую важную роль в процессе вывода играют метаправила, такие как П7, П8, а также стратегия вывода («снизу – вверх», «сверху – вниз») и механизм вывода (дедуктивный, ассоциативный). Для работы с этой главой основными источниками были: [5, 16, 17, 21, 30, 41, 49, 65, 72, 117]. Вопросы для самопроверки и упражнения 1. Что послужило теоретическим базисом для определения продукции? Дайте определение понятия продукции и рассмотрите различные варианты правил. 3. Дайте наиболее общий вид продукционного правила. Какие проблемы решаются с его помощью? 4. Каков механизм вывода в системе продукций? 172 Глава 7. Продукционная модель представления знаний 5. Какова структура продукционной системы и возможные ее варианты? В чем сущность механизма сопоставления по образцу? 7. Назовите основные эвристические правила, используемые для повышения эффективности вывода в системе продукций. 8. Что понимается под конфликтным набором правил? 9. Каковы возможные взаимодействия между правилами? 10. Каковы достоинства и недостатки продукционного представления знаний? 11. Крестьянину необходимо перевести через реку волка, козу и капусту. Рядом с крестьянином в лодке может поместиться либо только волк, либо только коза, либо только капуста. Очевидно, что на берегу нельзя оставлять волка с козой, а козу с капустой. Построить БЗ и РБД для случая, когда крестьянин все таки перевез все, что хотел, на другой берег. Найти решение задачи. 12. К реке подошли три рыцаря с оруженосцами. У берега оказалась одна двухместная лодка. Как организовать переправу при условии, что ни один оруженосец нигде не должен оставаться в обществе других рыцарей без хозяина? Построить БЗ и РБД успешного решения задачи. Найти решение задачи. 13. Тот же случай, но рыцарей с оруженосцами – четыре. 14. Восьмиведерный бочонок полон кваса. Требуется разделить этот квас пополам при помощи двух других бочонков объемом в 3 и 5 ведер. Построить БЗ и РБД. Найти решение задачи. 15. Имеется равнобедренный треугольник. Доказать, что углы при основании равны. Построить БЗ и РБД. 16. Расширить БЗ задачи об обезьяне и бананах для следующих ситуаций: в комнате одна обезьяна и две связки бананов, подвешенных l к потолку в разных его точках; в комнате одновременно находятся две обезьяны и две связки l бананов; в комнате одна обезьяна и два ящика – большой (с него можно l достать до связки бананов) и маленький; в комнате одна обезьяна, одна связка бананов и два ящика, треl поставить ящики один на один, чтобы достать бананы. 17. Задача о вождении автомобиля. Вождение (увеличение/ уменьшение скорости или останов, пропуск сзади идущего транспорта) осуществляются в зависимости от качества дороги (главная, второстепенная), указателей на дороге (ограни- Глава 8 ПРЕДСТАВЛЕНИЕ ЗНАНИЙ В ВИДЕ СЕМАНТИЧЕСКОЙ СЕТИ 8.1. Общие понятия и определения Само название «семантическая сеть» (СС) акцентирует внимание на смысле (семантика – смысловая сторона языка, «семантический» – связанный со смыслом), т.е. на значении тех слов, предложений, ситуаций, состояний, которые входят в модель предметной области и которые необходимо описать адекватно нашему (человеческому) пониманию таким образом, чтобы с этим смыслом можно было работать, т.е. моделировать процессы, рассуждения, выводы, сравнения, сопоставления и т.п. Очевидно, это непросто, хотя и возможно многими способами. Поэтому, не вдаваясь в языковые, психологические и другие подробности, под семантикой будем понимать отношения между некоторыми сущностями, в качестве которых могут выступать отдельные символы, слова, предложения, пакеты, пентаграммы, образы, т.е. все, что необходимо для описания объектов (процессов, состояний и т.п.) предметной области. В психологии, например, изучались семантические объекты как структурные модели долговременной памяти человека, которые затем использовались для создания программ, понимающих естественный язык (ЕЯ). Эта проблема стала особенно актуальной в связи с необходимостью разработки систем автоматического перевода с одного языка на другой. Формализовать текст – значит построить по тексту на ЕЯ соответствующий текст на некотором формальном языке, описывающий языковую ситуацию. Таким образом, можно говорить о моделях представления семантики знаковых (языковых) систем и процедурах их обработки (понимания, распознавания, классификации и т.п.). С появлением СИИ такой подход стал использоваться для формализации знаний о предметной области. Семантическая сеть (СС) является удобным способом графического описания объектов предметной области. При этом под объектом может пониматься процесс, состояние, какая либо конкретная сущность или сущность обобщённая (класс) и т.п. Глава 8. Представление знаний в виде семантической сети 175 Более строго определим СС как направленный граф с помеченными вершинами и дугами. При этом вершины отождествляются с сущностями (объектами) предметной области, а дуги – с отношениями между ними. Большое разнообразие СС формируется исходя из следующих соображений: является ли вершина СС простой или сложной? l сколько и какие отношения используются в СС? l какие процессы необходимо моделировать на СС? l Будем говорить, что вершина СС является простой (ординарной), если она не имеет внутренней структуры. Другими словами, простые вершины отождествляются с терминальными (т.е. более не раскрываемыми) сущностями моделируемой среды. В качестве таких вершин могут, очевидно, фигурировать числа, лексемы, пентаграммы и т.п. Сложные вершины допускают раскрытие вплоть до семантической сети, в которой участвуют только простые вершины. Таким образом, СС со сложными вершинами может разворачиваться, как матрешка. В связи с многообразием отношений и сложностью исследования их свойств на практике стараются использовать минимальное число отношений для упрощения СС. И в зависимости от того, какие типы отношений используются, можно выделить несколько видов СС. 1. Однородные СС. В них используется один тип отношений (неважно какой, но один). В этом смысле любые ориентированные графы являются примерами однородных СС. 2. Иерархические СС. Здесь используются отношения: часть – целое (Part of while), класс – подкласс или род – вид (AKO – A Kind Of), экземпляр класса – класс (Is A). Каждое из этих отношений образует свою иерархию. Яркими примерами иерархических СС являются организационные структуры, выстраиваемые по отношению «целое – часть». (Например, схема центральной избирательной комиссии: областная, городская, окружная, районная, участковая.) 3. Сценарные СС. Используются отношения строгого или нестрогого порядка. Сюда же могут быть отнесены СС с отношениями времени, причина – следствие. 4. Функциональные СС. В них используются функциональные отношения типа «вход – выход» (рис. 8.1). На рис. 8.2, 8.3 приведены примеры СС с простой структурой. Глава 8. Представление знаний в виде семантической сети 177 Рис. 8.3. СС самолета и птицы вершины ОБЕЗЬЯНА, ЯЩИК как классы, вводя их через отношения IsA или AKO. Ещё один пример приведен на рис. 8.3. 8.2. Роль отношений в СС Выделим наиболее важные (фундаментальные) типы отношений между объектами, образующие «скелет (структуру)» и позволяющие более свободно ориентироваться в сложной и большой СС. Так, между двумя классами объектов, представленными в СС своими именами, может существовать родовидовое отношение AKO (А kind of). Наличие его между классами объектов А и В, например, означает, что любой объект, отображаемый понятием В, отображается и понятием А, и существует такой объект, который отображается понятием А, но не отображается понятием В. Иными словами, понятие А более общее, чем В. В таком случае говорят, что А является родом В или что понятие А – родовое для В. Так, понятие животное (и, соответственно, обобщенный объект животное в некоторой проблемной среде) родовое для понятия «человек», а понятие транспорт – родовое для понятия самолет. 178 Глава 8. Представление знаний в виде семантической сети Видовая связь обратна родовой. Если объект А является родом В, то говорят также, что В вид А, и наоборот. Из приведенных примеров видно, что родовое понятие не охватывает всех свойств видового, так как видовое понятие богаче содержанием. Все свойства родового понятия, как правило, присущи и видовому (наследование свойств). Это позволяет более компактно представить систему знаний СС. Другой важный вид связи между обобщенными и конкретными объектами – отношение является представителем (элементом) (связь IS А). Она имеет место в том случае, когда конкретный объект принадлежит классу, отображаемому соответствующим обобщенным объектом. Так, конкретный объект Третьяковская галерея является представителем обобщенного объекта музей. Важно отметить, что один и тот же конкретный объект может рассматриваться как представитель нескольких классов в одной и той же проблемной среде. Конкретный объект Третьяковская галерея может быть представителем классов объектов картинная галерея и здание в Москве. Первый из них имеет родовидовую связь с объектом музей, второй – нет, так как музей может быть размещен в нескольких зданиях или на открытом воздухе и не всякое здание в Москве – музей. Свойства, присущие обобщенному объекту – классу, характеризуют и любой конкретный объект представитель. Таким образом, множество свойств конкретного объекта содержит в себе подмножество свойств, которыми он наделяется как представитель тех или иных обобщенных объектов (или совпадает с этим подмножеством). сложным (составным) объектом и каким либо другим объектом проблемной среды может существовать связь «являться частью целого» (Part of while – POW). Ясно, что частью конкретного составного объекта не может являться объект класс. Типизация объектов и фундаментальные отношения не решают всех проблем представления знаний, но создают хорошую основу для построения прикладной базы знаний. Типизация обеспечивает и реальные осязаемые преимущества, позволяя сжать базу знаний, сделать ее более компактной. Так, для объекта класса, являющегося видом некоторого другого, нет необходимости представлять в базе все свойства, по крайней мере, часть их можно получить благодаря механизму наследования. Для такого объекта целесообразно представлять в базе лишь его собственные (ненаследуемые) свойства, а также свойства, которые хотя и являются наследуемыми, но несут дополнительную информацию. Глава 8. Представление знаний в виде семантической сети 179 Отношения многообразны по типу и свойствам. Основные типы отношений, используемых в СИИ: лингвистические (падежные или ролевые: кто, что, где, когда, l зачем, почему, условие, место, время и т.п.); атрибутивные: форма, размер, цвет, вкус и т.п.; l действия, когда каждый глагол рассматривается как отношение l между объектом (субъектом) действия и объектом, выражающим некоторую способность (летает, ходит, стоит и т.п.), реализующуюся во времени как процесс; ∨ ∧ логические: ¬, , , >; l ∃ ∀ квантифицированные: , ; l теоретико множественные (множество, подмножество, объедиl дополнение, пересечение). Наиболее многообразна группа лингвистических отношений, в которой могут быть выделены подгруппы временных (рань ше, позже, одновременно и т.п.), пространственных (над, под, внутри, рядом и т.п.), причинно следственных (ка узальных) и других типов отношений. 8.3. Свойства отношений Классификация отношений важна, поскольку разные типы отношений обладают различными свойствами, которые необходимо учитывать при построении моделей вывода в СС. Речь идет о следующих свойствах отношений: рефлексивность (нерефлексивность, антирефлексивность), симметричность (нессиметричность, антисимметричность), транзитивность (нетранзитивность, антитранзитивность). Соответственно, каждое отношение характеризуется определенным набором этих свойств. Определим некоторые важные в дальнейшем свойства отношений. Если х и у находятся в отношении R(х,у), то это отношение рефлексивно, если оно сохраняется при замене у на х, т.е. само с собой. Т.е. отношение R называется рефлексивным, если xRx. Так, отношения «быть похожим на», «быть не старше» (я не старше самого себя) рефлексивны. Отношения «быть братом», «быть старше» не рефлексивны. В графе G(R) рефлексивного отношения при каждой вершине имеется петля. Отношение R называется антирефлексивным, если R может выполняться лишь для несовпадающих объектов, т. е. из xRy следует, 180 Глава 8. Представление знаний в виде семантической сети ≠ что х у. Антирефлексивными являются приведенные выше не рефлексивные отношения. В графе G(R) антирефлексивного отношения петли отсутствуют. Симметричность. Отношение R называется симметричным, если при выполнении xRy выполняется и yRx. Отношения «быть похожим на», «быть родственником» (но не «быть мужем») симметричны. Другими словами, отношение xRy сохраняется, если объекты х,у поменять местами: xRy ~ уRх (знак ~ означает логическую эквивалентность). ∩ 1 Отношение R называется асимметричным, если R R =0. Иначе говоря, из двух выражений xRy и yRx по меньшей мере одно несправедливо. Граф G(R) не может содержать одновременно дуги вида (x , x ) и (x , x ).Так, отношение «быть братом» не является ни i j j i симметричным, ни асимметричным. Действительно, если Петр – брат Федора, то Федор – брат Петра; но если Игорь – брат Ольги, то неверно, что Ольга – брат Игоря. Верно утверждение, что если отношение R асимметрично, то оно антирефлексивно. Отношение R называется антисимметричным, если выражения xRy и yRx справедливы одновременно только тогда, когда х = у. Граф G(R) не может содержать одновременно дуги вида (x x ) i, j ≠ и (x x ) при i j. j i Транзитивность. Отношение R называется транзитивным, если xRz и zRy, то xRy. Отсюда по индукции получаем: если хRz , 1 z Rz ,…., z Ry, то xRy. Например, если выполняются отношения 1 2, k 1 х<у и у<z, то выполняется и отношение х<z. Или: Ваня старше Пети, Петя старше Кати, следовательно, Ваня старше Кати; если Пётр пришёл раньше Ивана, Иван пришёл раньше Фёдора, то Пётр пришёл раньше Фёдора. Свойство транзитивности отношений играет особую роль, по- скольку позволяет отображать в базе знаний не все отношения между объектами, а лишь небольшую часть их. Так, перечисленные выше отношения Is А, AKO (А kind of), POW ((Part of while (часть – целое)) являются транзитивными и образуют «скелет» СС, позволяющий более свободно ориентироваться даже в сложной и большой модели. Транзитивность родовидового отношения обеспечивает также возможность наследования свойств не только у представленного в базе знаний родовидового объекта, но и родового для родового. Возможности «сжатия» базы знаний обеспечиваются также транзитивностью родовидового отношения POW (является частью). Глава 8. Представление знаний в виде семантической сети 181 Свойство транзитивности позволяет отображать в базе знаний не все фундаментальные отношения между объектами, а лишь небольшую часть их. Остальные могут быть получены из представленных в CC с помощью специального механизма поддержки транзитивности, типичного для семантических сетей. Ацикличность. Важным также являются такие свойства, как ацикличность и эквивалентность. Отношение R называется ацикличным, если из xRz z Rz , ..., z Ry следует, что х≠у. 1 1 2 k 1 Например, отношение «быть отцом» ациклично, но не транзитивно; если х лучше, чем у, а у лучше, чем г, то естественно считать, что в этом смысле х лучше z. Утверждается, что: всякое ацикличное отношение асимметрично; l всякое антирефлексивное и транзитивное отношение ациклично. l Эквивалентность. Отношение R называется отношением эквивалентности (эквивалентностью), если оно рефлексивно, симмет≡, и транзитивно (обозначается символами: ~). Например, отношениями эквивалентности являются: отношение «быть на одном курсе» на множестве студентов одного факультета; отношение «иметь одинаковый остаток при делении на 3» на множестве натуральных чисел; отношение подобия на множестве треугольников. Обращение отношений. Ещё одно очень интересное свойство, которым мы часто пользуемся. Если шляпка дороже сумочки, то сумочка дешевле шляпки. Иначе говоря, истинно выражение хR y ~ i уR x. Здесь вместе с переменой мест объектов меняется и сам тип j отношений (до роже – дешевле, выше – ниже, быстрее – медленнее). Возникает так называемая смысловая симметричность, т. е. не надо в БЗ вносить всевозможные отношения. Достаточно ввести операцию обращения, а часть отношений, являющихся результатом этой операции, можно исключить. Записывается операция об1 так: R = R . j i 8.4. Предикатные семантические сети Рассмотрим тип СС, формируемых на основе анализа текста естественного языка (ЕЯ). Элементарное предложение в предикатных СС состоит из следующих компонентов: пропозициональная вершина, обозначающая конкретное предl (высказывание, суждение); 182 Глава 8. Представление знаний в виде семантической сети Рис. 8.4. «Ячейка» предикатной сети множество концептуальных вершин, число которых должно соl с количеством мест того предиката, который описывается в предложении. Дуги, ведущие к концептуальным вершинам, помечаются метками, означающими порядок записи в предикате (рис. 8.4). Р1 – обозначение предиката, описываемого предложением; в среднем кружочке – имя предикатного символа (стрелка Pred); в остальных кружках – термы, первый – А, второй – В. Пример 1. Москва есть город (на языке исчисления предикатов – Город (Мос ква)). Предикат Р1 одноместный, имя предикатного символа – Город, терм – Москва. Пример 2. Ясенево – часть Москвы (Часть (Ясе нево, Москва)). Здесь предикат Р2 (Часть) двухместный (Ясе нево, Москва). Пример 3. Рассмотрим текст, состоящий из следующих предложений. Ваня взял книгу у Маши. Лена взяла книгу у Пети. Петя любит Машу, а Маша любит конфеты. Предикатная форма: (Взял (Ваня, Книга, Маша); Взял (Лена, Книга, Петя); Любит (Петя, Маша); Любит (Маша, Конфеты)). Семантическая сеть, соответствующая этим предложениям, представлена на рис. 8.5. Глава 8. Представление знаний в виде семантической сети 185 8.5. Атрибутивные семантические сети Этот популярный тип семантических сетей определяется через систему унарных отношений. Как известно, унарные отношения определяются одноместным предикатом или свойством, описываемого понятия. Например, мы говорим: яблоко красное и вкусное. Это отношение соответствует записям: ЯБЛОКО (ЦВЕТ – красный), ЯБЛОКО (ВКУС – сладкий). Такого рода отношения называют атрибутами, а соответствующие СС – атрибутивными. Здесь предполагается известным: имя объекта (класса, подкласса, единичного экземпляра), перечень его атрибутов и область задания каждого атрибута. Например, атрибут яблока ЦВЕТ можно задать перечнем (красный, желтый, белый, зеленый, …). Совокупность атрибутов вместе с их множествами задания определяют объект как нечто целое в виде отношения: R = {(A = a , a , …, a ), (A = a , a , …, a ), …}. 1 11 12 1n 2 21 22 2m При этом очевидно, что атрибуты составляют постоянную (статическую) часть определения объекта, а область задания – переменную (динамическую) часть. Атрибутивное задание в конкретных реализациях чаще всего осуществляется путем позиционирования атрибутов, т.е. фиксации места каждого атрибута в общем описании: поз. 1 поз. 2 поз. 3 поз. 4 R (ЯБ ЛОКО) = (ЦВЕТ СОРТ ВКУС ВЕС) R(имя объекта) = (А (имя атрибута ),А (имя атрибута ),…). 1 1 2 2 Такое представление задает как бы свертку n унарных отношений в одном. Это чрезвычайно экономит память для сложных описаний и существенно повышает быстродействие. Имя атрибута при этом понимается по умолчанию, на местах значений атрибутов указываются их конкретные значения. Другими словами, мы определяем описание каждого объекта или вершины СС как отношение с перечнем атрибутов и областями их определения. Если обозначить область определения каждого атрибута как DOM (DOMain – область определения), то можно написать: R = {A DOM(A ), A DOM(A ), …, A DOM(A )}, 1 1 2 2 n n где R – имя объекта; A , A , …, A – имена атрибутов. 1 2 n На основе такого представления можно построить множество конкретных описаний. Будем называть каждое такое описание фактом (или примером). В нашем примере мы можем определить, например, факты: 186 Глава 8. Представление знаний в виде семантической сети Рис. 8.9. Пример графа атрибутивной СС (стрелки означают отношение ИМЕЕТ) F : ЯБЛОКО , ЦВЕТ = ЗЕЛЕНЫЙ, ВКУС = КИСЛЫЙ; 1 1 F : ЯБЛОКО , ЦВЕТ = КРАСНЫЙ, ВКУС = СЛАДКИЙ. 2 2 Максимальное число фактов при трех значениях атрибута ЦВЕТ и двух – атрибута ВКУС – очевидно равно 6. R задает статическую, или интенсиональную (внутреннюю) составляющую описания объекта; конкретные факты: F , F , …, F – 1 2 k динамическую, т.е. экстенсиональную (внешнюю) составляющую описания. Теперь мы можем дать формальное определение атрибутивной семантической сети. Назовем схемой или интенсионалом (INT – INTensional) некоторого отношения R набор пар вида i INT(R ) = A DOM(A ) , i j j где R – имя некоторого отношения; A – атрибут (j = 1,2,…,n); доi DOM(A ) = {a } – область значений A . j ij j Экстенсионалом (EXT – EXTensional) отношения R называетi выражение EXT(R ) = {F , F , …, F , …, F }, i 1 2 k n где F = (R A , a ), т.е. F – есть факт, описывающий j й атрибут k i ij ijk k отношения R атрибутивной парой, a – значения j го атрибута i го i ijk отношения. Тогда атрибутивная СС описывается как множество пар вида INT(R ), EXT(R ) , (i = 1,2,3,…,n) по всему множеству отi R : СС(R ) = INT(R ), EXT(R ) , i = 1,2,3,…,n. i i i i Графически атрибутивную СС можно представить в виде звездчатых графов (рис. 8.9). Глава 8. Представление знаний в виде семантической сети 187 8.6. Вывод на семантических сетях Многообразие СС определяет сложность процессов вывода решений, поскольку каждому типу СС (однородная, иерархическая, сценарная, функциональная и т. п.) соответствует своя модель вывода в зависимости от свойств используемых отношений (рефлексивность, симметричность, транзитивность). В практических реализациях наиболее часто используется механизм вывода, основанный на наследовании свойств от класса объектов к его конкретным представителям (класс – подкласс, класс – экземпляр класса). Более строго, наследование – это способ, которым происходит передача значений свойств объектов друг другу. Механизм наследования реализуется на иерархии понятий, выстроенной по отношениям IsA и АКО, или Part of while (часть – целое). Иерархия показывает отношение включения понятий более низкого уровня в более высокий. При этом совокупность понятий, вносимых в конкретную СС, зависит от целевого назначения системы и целей ее конкретного использования. Выделяются объекты: классы, подклассы, экземпляры, свойства экземпляров, свойства значений экземпляров. Класс – это множество объектов, имеющих несколько или большинство общих свойств, т.е. класс является обобщением или концептом (понятием). Класс хранит информацию, присущую всем его объектам. Объекты, когда нужно, могут наследовать от класса эту информацию. Подкласс – это класс объектов, составляющих подмножество класса более высокого уровня. Например, класс «пассажирский самолет» является подклассом класса «самолет», а «самолет» – подклассом класса «летательные аппараты». Классы и подклассы также состоят из объектов – экземпляров, наследующих свойства объектов уровнем выше. Рисунок 8.10 описывает иерархию отношений между классом ЯБЛОКО и его подклассами БЕЛЬ, АНИС, АПОРТ и отношения подкласс – экземпляр класса. Наследование свойств означает, что свойства, приписываемые объекту (классу) высокого уровня, автоматически присваиваются объектами более низкого уровня по умолчанию. Но тут есть особенность. Рассмотрим процесс подробнее. 1. Отношение класс – подкласс. Это отношение специализации. Здесь свойства и значения свойств наследуются по умолчанию по связям специализации (АКО). Пример: САМОЛЕТ – Ту 104. 188 Глава 8. Представление знаний в виде семантической сети Рис. 8.10. Пример семантической сети (Ту 104 наследует многие свойства класса САМОЛЕТ). Обратное отношение (Part of) – отношение обобщения, т.е. подкласс специализирует, а класс – обобщает. 2. Отношение класс – объект. Это – отношение IsA. Свойства наследуются вниз по умолчанию. Это отношение классификации. Обратное отношение – отношение интеграции. 3. Отношение объект (экземпляр) – подобъект (свойства). Это отношение декомпозиции. Объект разлагается на составляющие. Обратите внимание – свойства по этой связи не наследуются! В самом деле, если на линии IsA МЛЕКОПИТАЮЩИЕ – КОШКИ, КОШКИ – экземпляр, то дальнейшее движение по этой линии уже приводит к разделению объекта КОШКИ на составляющие: ФОРМА УШЕЙ, ХВОСТ, ЛАПЫ и т.д. Свойства класса МЛЕКОПИТАЮЩИЕ здесь уже не наследуются. Обратное отношение – агрегирование. Что еще интересно: если по линии IsA число экземпляров может варьироваться и не влияет на целостность класса, то в обратном отношении Part of должны присутствовать все части или какой то обязательный минимум этих частей. Как уже говорилось, одним из наиболее распространенных методов вывода на сетях является метод сопоставления частей сетевой структуры. Рассмотрим пример сопоставления. Имеется участок сети базы данных относительно класса САМОЛЕТЫ (рис. 8.11). Требуется для начала ответить на вопрос: «Что имеет Як 40?». Участок сети, соответствующий этому вопросу, показан на рис. 8.12. Для ответа на этот вопрос проводится сопоставление. Сначала ищется вершина ИМЕТЬ такая, которая имеет соединение Глава 8. Представление знаний в виде семантической сети 191 поставление), но не технически (в том смысле, что любой требуемый поиск может быть выражен операцией сопоставления в некотором универсальном языке представления знаний). Именно поэтому базовыми для СС здесь названы не операции сопоставления с образцом, а гораздо более примитивные операции перехода по сети. Фактически совокупность последних в каждом конкретном случае поиска реализует то или иное требуемое сопоставление. 8.7. Исторические примеры СС Исследования по семантическим сетям начались с работы М.Р. Квиллиана в 1966 г. [34], в которой он попытался формально представить семантику английских слов. М.Р. Квиллиан ввел термин «семантическая память» для системы, в основе которой лежал формальный язык, выражениями которого были графы с помеченными вершинами и дугами. Точнее формальные выражения этого языка были составлены из вершин, которым отвечали «понятия слова», и из «ассоциативных дуг», соединяющих вершины. Эти дуги фактически исполняли роль указателей, с помощью которых одни слова понятия ссылаются на другие. Эта структура взаимных ссылок между словами понятиями и дает определение исходного слова понятия. Аналогичное наблюдается в толковых словарях, в которых толкование данного слова конструируется из последовательности слов, толкования которых разбросаны в разных частях словаря. Одним из главных намерений Квиллиана было развитие дедуктивных возможностей модели семантической памяти на основе свойств отношений класс – подкласс и модификации. Понятие определялось в терминах более общего понятия (т. е. первое есть подкласс второго) и с помощью модифицирующего свойства, являющегося комбинацией атрибут – значение атрибута. При этом свойство, истинное для элементов класса, наследовалось элементами любого его подкласса. Таким образом, семантическая сеть Квиллиана представляла собой комбинацию двух механизмов: таксономической иерархии, основанной на отношении класс – подкласс, и описания свойств (как пара атрибут – значение) элементов класса. СС этого типа имела ограничения, частично вызываемые тем, что набор типов связок (дуг) был недостаточен и поиск не принимал в расчет их смысл (т. е. не было интерпретирующих программ 192 Глава 8. Представление знаний в виде семантической сети для связок). Однако идеи Квиллиана сыграли важную роль для дальнейшего развития СС. Важное значение для развития теории СС имели работы Г.Хендрикса [34]. Как было сказано выше, вершинами СС могут быть понятия (объекты), события (действия), свойства (места), а дугами – отношения, которые делятся на лингвистические, логические, теоретико множественные, квантификационные. В свою очередь лингвистические отношения делятся на: глагольные (время, вид, род, число, залог, наклонение); атрибутивные (цвет, размер, форма, модификация); логические (дизъюнкция, конъюнкция, отрицание, импликация); теоретико множественные; квантификационные делятся на логические кванторы общности и существования, нелогические кванторы (много, несколько) и числовые характеристики. В СС, предложенную Г. Хендриксом, можно записывать таксономическую информацию о процессах и процедурах, модальности (мнения, желания), информацию о границах локальных контекстов и т. п. Структура этой сети обладает большой выразительностью, в ней наиболее полно нашли отражение основные принципы построения таких сетей и, кроме того, она стали базой для дальнейшего развития фреймовой модели представления знаний в виде сети. Рассмотрим пример сети Г. Хендрикса, на котором будут пояснены основные понятия структуры СС (рис. 8.14). На этом рисунке вершина UNIVERSAL обозначает универсальный класс (универсум), который объединяет различные объекты. Класс UNIVERSAL содержит три подкласса: LEGAL PERSONS (юридические лица), SITUATIONS (ситуации) и PHYSOBS (физические объекты). Метка s обозначает отношение включения, а метка ds кроме отношения включения подразумевает, что элементы одного класса отличны от элементов другого (например, элементы подкласса SITUATIONS отличны от элементов LEGAL PERSON и PHYSOBS). Метка е обозначает элемент класса. Метка de обозначает, что данный элемент отличен от всех других элементов, обозначения которых указаны другими e(de) дугами для данного класса (например, FORD и G. M. (General Motors) обозначают различные элементы класса COMPANIES (компании)). Метки agt и obj используются для обозначения семантических падежей: агент, т. е. лицо, вызывающее действие, и объект – предмет, подвергающийся действию, соответственно. Метки conse и ante обозначают соответственно консеквент и антецедент импликации. 198 Глава 8. Представление знаний в виде семантической сети 8.8. Методика построения предикатной СС Выше были рассмотрены несколько типов СС: предикатные, атрибутивные, иерархические и другие. Мы рассмотрим пример построения предикатной сети. В качестве примера разберем задачу об обезьяне и бананах. Вначале следует дать словесное описание ПрО. Обозначим через Р различные ситуации (предложения), возникающие в проi состояний: Р1. Обезьяна, Ящик и Бананы находятся в различных точках комнаты – соответственно а, b, c; P2. Обезьяна видит Бананы И пытается их достать, но Бананы висят высоко; Р3. Обезьяна подходит к Ящику и переносит его в точку c, затем залезает на Ящик; Р4. Обезьяна достает Бананы. Мы описали состояние ПрО «крупными блоками». Для построения сети следует разбить их на простые предложения. Мы видим, что первое предложение, по существу, соединяет три простых предложения; второе также состоит трех простых, но два из них соединены связкой И. Третье предложение, в свою очередь, распадается на три простых предложения. Союз «и» здесь не представляется связкой И, т.к. соединяет последовательность действий, а не их одновременность. Нам надлежит еще связать понятие «точка» с понятием «комната», ведь точка, по существу, – часть комнаты. В итоге получаем описание предметной области в виде системы предложений: Предикатная запись Р111. Точка a есть часть комнаты (И) Часть (а, Комната); Р112. Точка b есть часть комнаты (И) Часть (b, Комната); Р113. Точка c есть часть комнаты. Часть (c, Комната ; Р11. Обезьяна находится в т. а (И) Находится в(О, а); Р12. Ящик находится в т. b (И) Находится в(Я, b); Р13. Бананы находятся в т. с. Находится в(Б, с); Р21. Обезьяна видит Бананы (И) Видит (О, Б); Р22. Обезьяна пытается достать Пытается достать Бананы. (О, Б); Р23. Бананы висят высоко. Висят (Б, Высоко); Р31. Обезьяна подходит к Ящику (И). Подходит к(О, Я ; Р32. Обезьяна переносит Ящик в т. с. Переносит в(О, Я); Р33. Обезьяна влезает на Ящик. Влезает на (О, Я); Р4. Обезьяна достает Бананы. Достает (О, Б). Глава 8. Представление знаний в виде семантической сети 199 Рис. 8.18. Семантическая сеть задачи Остается построить саму сеть. Для удобства объекты (концептуальные вершины) будем обозначать треугольником, предложения (пропозициональные вершины) – прямоугольником, а предикатные вершины – овалом. Стрелку предиката выделим жирной линией, стрелки предикатов логических связок – пунктиром, стрелку первого терма предиката – сплошной, стрелку второго терма – штрихпунктирными линиями, цифрами над стрелками – номера (места объектов в предложении). Полученная сеть показана на рис. 8.18. 200 Глава 8. Представление знаний в виде семантической сети Данная семантическая сеть может дать ответы на множество самых разных вопросов. Например: Какие предметы находятся в комнате? Какие объекты могут быть переносимы из одной точки комнаты в другую? Кто является субъектом действий? Какие действия может выполнять обезьяна? И т.п. Представление текста в виде СС предикатного типа позволяет относительно легко привести содержание текста к формальному виду. Сам текст может быть различным, т.е. один и тот же смысл может быть описан разными текстами. Описывая смысл текста в виде конкретной семантической сети, мы обеспечиваем как бы единственность его представления, что как раз и дает возможность использования СС для построения автоматизированных информационно справочных и поисковых систем. 8.9. Достоинства и недостатки семантических сетей 1. Простота и прозрачность описания. Однако с увеличением размеров сети существенно увеличивается время поиска, теряется наглядность. 2. Открытость, позволяющая дополнять и модифицировать СС при необходимости. 3. По сравнению с логикой предикатов СС имеют важное преимущество: вся точно известная информация расположена в базе знаний вокруг соответствующей вершины, т.е. фокусируется в одном месте. Это все были достоинства. В качестве недостатков отметим. 1. Неоднозначность описания. 2. Отсутствие формального аппарата установления противоречивости описания. 3. Сложность внесения изменений. Основное применение семантические сети находят в системах обработки естественных языков, а также в системах распознавания образов, в которых СС используются для хранения знаний о структуре, форме и свойствах физических объектов. Могут создаваться СС и более сложной структуры, как мы увидим далее. Для работы с этой главой основными источниками были: [2, 5, 16, 17, 21, 30, 34, 41, 49, 52, 65, 72, 117]. Глава 8. Представление знаний в виде семантической сети 201 Вопросы для самопроверки и упражнения 1. Дайте определение семантической сети. 2. Какие свойства отношений используются в СС? 3. Какие типы СС вы знаете? 4. Какова структура предикатной сети? Где используются такие сети? 5. Что понимается под атрибутивной СС? Какова ее структура? 6. Как задается интенсионал СС? 7. Как формируется экстенсиональная составляющая СС? 8. Каковы принципы организации вывода на сетях? 9. Что понимается под наследованием? Какие типы наследования вы знаете? 10. Как организуется вывод с использованием правил? 11. Каковы достоинства и недостатки СС? 12. Построить атрибутивную сеть для следующих понятий: информационная система, l локальная сеть, l периферийные устройства, l множительная техника, l библиотека. l 13. Построить СС предикатного типа для определения понятий: высшее образование, l местное самоуправление, l формальная система. l Глава 9 ПРЕДСТАВЛЕНИЕ ЗНАНИЙ В ВИДЕ ФРЕЙМОВ Из предложенных ранее моделей представления знаний в виде системы продукций, семантических сетей, а еще ранее – в первой части – в виде формальных моделей мы видели, каким образом характер предметной области, типы задач для решения в СИИ влияют на выбор конкретной модели организации знаний и вывода результатов. Так, в продукционных моделях знания фокусируются на множестве характерных, или ключевых состояний, требующих принятия решения. Соответственно, модель предметной области или БЗ, в конце концов, представляется в виде → множества правил типа: прототип состояния решение + действия по изменению состояния ПрО, соответствующие данному решению . Каждое правило представляет собой элементарный кирпичик знания о целом. Очевидно, что для достаточно сложных предметных областей БЗ могут быть настолько сложными и запутанными, что их разработка и использование становятся проблематичным. В семантических сетях – другой недостаток. Здесь фокус внимания сосредоточен на понятиях предметной области, отождествляемых с реальными объектами (сущностями, процессами). Однако представление в СС знаний недекларативного характера, например, процедурного, затруднено так же, как и информации о решениях. Поэтому естественно, что следующим началом в развитии СИИ стал поиск такого представления, который был бы, с одной стороны, достаточно крупным фрагментом знания о мире, а с другой – сохранял бы наиболее важные достоинства других представлений, такие как возможность использования процедурных знаний (как в продукционных моделях), наглядность и иерархичность (как в СС), возможность моделирования правдоподобного вывода (как в формальных системах). Поиски привели к модели представления знаний в виде фреймов. Глава 9. Представление знаний в виде фреймов 203 9.1. Фрейм, его структура и свойства Впервые понятие фрейма (frame – рамка, каркас, структура) было введено М. Минским в 1975 году. В основу его положены представления гештальтпсихологии, занимающейся изучением восприятия человеком внешнего мира в форме целостных фрагментов. Таким фрагментом может быть объект внешнего мира с его наиболее характерными свойствами, ситуация, процесс и т.п. По Минскому, фрейм – это структура данных, содержащая минимально необходимую информацию для представления класса объектов (явлений или процессов), которая однозначно определяет эти объекты. По определению Поспелова Д.А., фрейм – это термин для обозначения описания какого либо объекта или явления, обладающего тем свойством, что удаление из этого описания любой его части приводит к потере определяющих суть данного объекта или явления свойств. Еще одно определение: фрейм – это структура данных для представления стереотипных ситуаций. Различают фрейм прототипы (протофреймы) и фрейм примеры (или фрейм экземпляры). Фрейм прототип содержит знания, общие для всех частных случаев, т.е. примеров, а фрейм пример содержит знания, отличающие частный случай от общего. В наиболее простом случае фрейм представляется в следующем виде: F = ( I , r , f , ПП , r , f , ПП , …, r , f , ПП ), (3.1) 1 2 m 1 1 2 2 n n, где I – имя фрейма; r – имя слота; f – значение слота (i = 1, …, n); i i ПП – имя присоединенной процедуры (j = 1, …, m). j В качестве имен фреймов могут фигурировать имена объектов, событий процессов и т.п. Слотами выступают характерные свойства или атрибуты описываемых объектов с именем I. В качестве значений слотов f могут выступать: i имена других фреймов, l имена процедур, l значения слотов могут задаваться массивом, матрицей, списl любым типом данных. Из одного фрейма можно сослаться на один или несколько других, образуя сложные сетевые структуры. Таким образом, существует возможность ссылки из одного фрейма в один или несколько 204 Глава 9. Представление знаний в виде фреймов Рис. 9.1. Структура иерархической системы фреймов, описывающих понятие ДЕЛОВАЯ ПОЕЗДКА других, что позволяет вводить структурированные связи между фреймами. При этом возникает однородная СС со сложными вершинами, допускающими дальнейшую развертку. Семантическую сеть можно рассматривать как частный случай фрейма, так как очевидно, что любая СС может быть переведена во фреймовое описание и наоборот. В случае рекурсивного вложения фреймов друг в друга порождается иерархическая система фреймов. Рассмотрим пример, представленный на рис. 9.1 и описывающий в виде фреймов понятие ДЕЛОВАЯ ПОЕЗДКА. Очевидно, что на рис. 9.1 показаны не все вложения, но принцип должен быть ясен. В общем случае слотами могут быть незаполненные подструктуры фрейма, заполнение которых приводит к тому, что данному фрейму ставится в соответствие некоторая конкретная ситуация, объект или явление. Фрейм с не полностью заполненными слотами соответствует протофрейму. Заполнение слотов формирует соответственно фрейм пример. Слоты могут быть терминальными или нетерминальными. Нетерминальные слоты служат именами других фреймов, составляющих содержание данного слота. Терминальные слоты задают список соответствующих значений. Так, слоты КУДА, ЦЕЛЬ, СРОК и др. являются терминальными, а слот КТО – нетерминальный. Кстати, фреймы типа ДЕЛОВАЯ ПОЕЗДКА называют еще ролевыми, т.к. в качестве слотов служат указатели ролей типа: кто, что, куда, когда, где, почему и т.п. 206 Глава 9. Представление знаний в виде фреймов 9.2. Вывод на фреймах Для организации процесса вывода используются механизмы наследования информации и присоединенных процедур. Наиболее системная структура фрейма, удобная для описания, приведена на рис. 9.2. Здесь: 1) имя фрейма – уникальный идентификатор. Для каждого фрейма определяется слот IsA – родитель данного фрейма – и слот дочерних фреймов, задаваемый списком имен (указателей). В список слотов включается ряд слотов, необходимых для организации интерфейса с пользователем, для организации внутрисистемных процессов и т.п. В их число входят, например, слоты для определения имени пользователя, даты определения, даты изменения текста, комментария и т.п.; 2) имя слота также служит его идентификатором, т.е. уникальным именем во фрейме, к которому он принадлежит. Могут вводиться специальные идентификаторы, отождествляемые с отношениями IsA, Part of, причина следствие и др. Кстати, в качестве слота может выступать слот «Условие», а его значением может быть продукционное правило. Таким образом, реализуется возможность использования продукций для организации вывода. Вводятся также слоты типа: «Дата модификации фрейма», «Комментарий», «Отношение» и др. Такие слоты называются системными и используются для редактирования БЗ и управления выводом; 3) указатели наследования необходимы только для фреймовых систем иерархического типа. Типичными указателями могут служить: «уникальный» (unique: U), «игнорировать» (override: O), «такой же» (same: S), «установить» (range: R) и т.п. Метка U показывает, что каждый фрейм может иметь слоты с различными значениями; S – все слоты должны иметь одинаковое значение; R – значения слотов фрейма нижнего уровня должны находиться в пределах, указанных значениями слотов фреймов верхнего уровня; О – при отсутствии указания значение слотов фрейма верхнего уровня становится значением слота фрейма нижнего уровня; 4) указатель атрибутов слота показывает тип данных – число, указатель другого фрейма, т.е. является именем (FRAME (указатель на другой фрейм), INTEGER (целый), REAL (действительный), BOOL (логический), TEXT (текстовый), Глава 9. Представление знаний в виде фреймов 207 Рис. 9.2. Структура данных слота LIST (список), TABLE (таблица), EXPRESSION (выражение) и др.); 5) значение слота, очевидно, должно совпадать с указанным типом данных этого слота, а также должно выполняться условие наследования; демон – присоединенная процедура. Примеры таких ПП: If needed, If added, If removed и т.д. Эти процедуры запускаются автоматически при выполнении некоторого условия. ПП слуга – обычно программы процедурного типа, называемые служебными (в языке LISP), методами (в языке Smalltalk). Процедура запускается по сообщению из другого фрейма. Как таковой формальный механизм вывода отсутствует и реализуется с помощью механизма наследования и присоединенных процедур. Это позволяет объединять возможности сетевого и иерархического представления знаний. Из данного примера видно, насколько разнообразными могут быть конкретные реализации СИИ фреймового типа, а также их достоинства. Приведем пример записи иерархии фреймов по отношению ISA с указанием фрейма более высокого уровня, из которого наследуются свойства (рис. 9.3). Глава 9. Представление знаний в виде фреймов 209 Represen tation Language), KRL (Knowledge Representation Language), являющиеся надстройками над LISP системами. Очень часто такие языки также называют объектно ориентированными, но, для предотвращения путаницы с языком Smalltalk, обычно сохраняют название «язык фреймового типа». 9.3. Методика построения модели предметной области в виде сети фреймов Рассматриваемую задачу об обезьяне и бананах представим теперь в виде сети фреймов. Это можно сделать по разному, используя в качестве фреймов различные понятия: либо объекты – О, Я, Б, К, либо действия, либо состояния. Для примера построим один из вариантов однородной СС, вершины которой являются действиями (процессами), а дуги этой сети моделируются путем введения во фреймы действий слота «следовать за» со значением «имя фрейма действия», которое должно выполняться следующим. В этом случае мы получаем фреймы – вершины сети с соответствующим описанием: ПОДОЙТИ (F1), ПЕРЕНЕСТИ (F2), ВЛЕЗТЬ (F3), СХВАТИТЬ (F4), СЛЕЗТЬ (F5), ОТОЙТИ (F6) и т.п. Так как у нас выбрано только одно отношение – отношение следования, граф переходов будет иметь элементарный вид (рис. 3.4). Но каждый фрейм действия, кроме ссылок на следующее действие, содержит ссылки на другие фреймы – объекты со слотами: субъект (тот, кто производит действие), объект (на что направлено действие), откуда, куда или место действия (все рассматриваемые точки ком- ∀ ∈ наты: х D), другие, если это нужно для активизации фрейма действия. Очевидно, что фрейм действия – это протофреймы, т.к. они содержат в качестве значений слотов переменные. На рис. 9.4, 9.5 показаны граф перехода между фреймами, их структура и содержание. 8 3 4 9 2 5 1 7 6 Рис. 9.4. Граф перехода между фреймами 210 Глава 9. Представление знаний в виде фреймов Рис. 9.5. Фрагмент сети фреймов В нашем примере во фреймы действий, кроме перечисленных, добавлены следующие слоты: условие активизации действия (какое условие должно выполняться, чтобы действие перешло на следующий фрейм), результат выполнения действия и следовать (куда переходит действие, на какой фрейм). Как только выполняется слот – условие активизации и формируется результат, активизируется следующий по графу фрейм. Например, если был активизирован фрейм F4, то в нем проверяется выполнение условия Обезьяна Глава 9. Представление знаний в виде фреймов 211 НА Ящике И Обезьяна НЕ Держит Бананы. Если оно истинно, то срабатывает слот следовать и активность передается фрейму F5 (по стрелке). Здесь проверяется свое условие: Обезьяна ДЕРЖИТ Бананы И Обезьяна НА Ящике. И т.д. 9.4. Достоинства и недостатки фреймового представления К достоинствам фреймового представления знаний следует отнести то, что оно: 1) обеспечивает эффективную реализацию процедур вывода; 2) имеет возможность логических скачков, т.е. немонотонного вывода; обеспечивает возможность образования СС фреймов, что дает большую экономию памяти при представлении информации за счет наследования свойств фреймов более высоких уровней во фреймах более низких уровней; 4) обеспечивает хорошее соответствие реальной действительности; позволяет комбинировать различные модели представления знаний, объединяя их достоинства и компенсируя их недостатки. недостаткам отнесем: 1) каждый фрейм представляет собой достаточно сложный фрагмент знаний. Поэтому удаление или включение нового фрейма – весьма болезненная процедура, так как должна предусматривать и удаление всех составляющих элементов, которые могут быть составными частями других фреймов; 2) достаточно сложно осуществлять на фреймах представление временных процессов; 3) отсутствует формальная теория вывода на фреймах. Поэтому на инженере по знаниям целиком лежит ответственность за корректность организации иерархии фреймов и их заполнения. 9.5. Гибридные модели представления знаний Для проектирование баз знаний сложных предметных областей, в которых необходимо представление знаний всех известных типов – иерархического, декларативного, процедурного, разрабаты- 212 Глава 9. Представление знаний в виде фреймов ваются гибридные модели, сочетающие продукционную, семантическую и фреймовую модели. Наиболее популярными являются следующие гибридные модели: семантико продукционная, семантико фреймовая, фреймо продукционная, семантико фреймо продукционная. В таких моделях разработчики стремятся компенсировать недостатки моделей одного типа достоинствами других. Например, недостатком продукционной модели является неэффективность вывода и нечитабельность (т.е. трудность понимания того, что делает система в процессе вывода) при больших БЗ. Этот недостаток хорошо компенсируется фреймовой моделью, когда декларативные знания представляются в виде фреймов иерархического типа, а процедурные знания – в виде слотов обращения к присоединенным процедурам. В итоге формируется иерархия, вершинами которой являются фреймы, моделирующие левую часть правил продукций, а правая часть правил моделируется слотами – присоединенными процедурами. Если знания имеют слабую иерархичность или вложенность, то удобнее семантико фреймовая модель, в которой вершины задаются фреймами, а связи между ними описываются семантической сетью. Во фреймо продукционной модели база знаний состоит из продукций, задающих причинно следственные отношения между простыми и сложными объектами (любыми сущностями) моделируемой предметной области. При этом в качестве сложных объектов выступают фреймы. На основе объектов условий определяется значение выделенного объекта цели, играющего роль одной из гипотез решения. Вывод истинной (т.е. наилучшей с точки зрения имеющейся БЗ) гипотезы решения может осуществляться как по прямой, так и по обратной стратегиям. При прямом выводе обход дерева условий выполняется от корня до соответствующей заданным условиям гипотезы. При обратном выводе выполняется проверка истинности условий, при которых предполагаемая гипотеза оказывается истинной. Возможно применение и смешанной стратегии вывода. В дальнейшем мы предложим пример представления знаний в виде гибридной модели, сочетающей в себе все рассмотренные типы МПЗ. Для работы с этой главой основными источниками были: [5, 16, 17, 30, 41, 49, 65, 72, 117]. Глава 9. Представление знаний в виде фреймов 213 Вопросы для самопроверки и упражнения 1. Дайте определение понятия «фрейм». 2. В связи с какими проблемами было разработано представление знаний в виде фреймов? 3. Какова структура фрейма? 4. Какие варианты заполнения слотов вы знаете? Как это влияет на организацию базы фреймов? 5. Какие типы фреймов вы знаете? 6. Какую роль играют присоединенные процедуры (ПП)? 7. Перечислите типы ПП, приведите примеры процедур. 8. Как организуется вывод на фреймах? 9. Как связаны представления знаний в виде фреймов, СС и продукций? Перечислите достоинства и недостатки фреймовых представлений. Разработайте представление знаний для задач из раздела 2 в виде СС с вершинами фреймами. 12. Дайте определение гибридной модели представления знаний. Приведите примеры. 13. Какие виды гибридных МПЗ наиболее популярны и почему? 14. Когда возникает необходимость в гибридных МПЗ? Глава 10 ПРЕДСТАВЛЕНИЕ НЕЧЕТКИХ ЗНАНИЙ 10.1. Общие понятия Для современного развития общества характерно стремление к все более широкому применению математических методов для описания и анализа сложных экономических, социальных, экологических, технических и других систем. Отличительной особенностью этих систем является то, что помимо объективных законов в их функционировании существенную роль играют субъективные представления, суждения и эмоции людей. При анализе исследуемой сложной системы мы зачастую разбиваем ее на более мелкие системы, осуществляя тем самым ее декомпозицию, т.е. разбиение на более мелкие части. Выделение этих частей (подсистем) определяется целями исследования и нашими представлениями о полной системе. Анализ выделенной подсистемы производится с учетом ее связи с другими подсистемами. Точное описание этих связей затруднительно и, как правило, осуществляется с использованием либо своих собственных представлений об этих связях, либо при помощи экспертов. При этом информация о границах анализируемой подсистемы зачастую бывает выражена в понятиях, имеющих нечеткий смысл с точки зрения классической математики. Эта информация носит субъективный характер, и ее представление на естественном языке нередко имеет большое число неопределенностей типа «много», «мало», «ближе», «дальше» и т.п., которые не имеют аналогов в языке традиционной математики. Для дальнейшего успешного применения математических методов исследования сложных систем необходимо было разработать аппарат учета нечетких представлений и суждений людей о реальном мире. Разработка таких методов связана с именем американского математика Л.А. Заде. В 1965 г. он предложил так называемую теорию нечетких множеств как средства математического моделирования неопределенных понятий [46]. Все нечеткости, имеющие место в инженерии знаний, к настоящему времени можно классифицировать по следующим признакам [2, 3]: Глава 10. Представление нечетких знаний 215 нечеткость, неточность или неопределенность информации; l недетерминированность процедур вывода решений; l многозначность интерпретации; l ненадежность данных; l неполнота информации. l В традиционной математике имеет место четкость, и любая формальная логика, и том числе и булева, основана на этом принципе. Вопрос о принадлежности некоторого элемента тому или иному множеству здесь решается вполне определенно: или принадлежит, или не принадлежит – третьего не дано. Заслуга Л.А. Заде состоит в том, что он ввел понятие взвешенной принадлежности. Значение функции принадлежности показывает, что элемент может принадлежать подмножеству в большей или меньшей степени, а отсюда и появилось понятие нечеткого подмножества. Таким образом, теория нечетких множеств – это шаг на пути к сближению точности классической математики и неточности реального мира. Нечеткое множество – это математическая модель класса с нечеткими или, иначе, размытыми границами. Популярность подхода, основанного на формализации нечеткостей, свидетельствует о его многочисленных практических применениях, что способствовало формированию специального направления в области искусственного интеллекта – исследованию нечетких систем. Математическая теория нечетких множеств, предложенная Л.А. Заде, позволяет описывать нечеткие понятия и знания, оперировать этими знаниями и делать нечеткие выводы. Основанная на этой теории новая методология построения компьютерных систем существенно расширяет области применения компьютеров. Более того, такие системы можно создавать в любой области деятельности человека. За последние годы разработаны новые микропроцессоры, выполняющие операции над нечеткими множествами, нечеткие компьютеры и программные системы. 10.2. Нечеткие множества Начнем с примера. Пусть у нас имеется множество Х пищевых продуктов. Из этого, довольно обширного, множества выберем только те элементы, которые содержат молочный жир (молоко, сметана, сыр и т.п.). Таким образом, мы образуем некоторое под- 216 Глава 10. Представление нечетких знаний ⊂ множество С множества Х: С Х. Совершенно очевидно, что степень принадлежности каждого из элементов х к самому этому множеству С будет разная: молоко, например, содержит 4% жира, а сыр – 35%. Множество С, как видим, обладает весьма заметной неопределенностью или, как говорят, нечеткостью. Степень принадлежности каждого из х, входящего в С, лучше всего обозначать в долях. Тогда мы получаем следующее выражение для С: С = {0.04/молоко, 0.15/творог, 0.25/сливки, 0.35/сыр, 0.40/сметана, 0.78/масло, 0.98/топленое масло}. Нечеткое множество С, следовательно, можно представить как множество пар типа степень принадлежности / название элемента (х) (некоторые авторы предпочитают «обратное» написание типа: название элемента (х) / степень принадлежности элемента (х)). ∈ Степень принадлежности характеризует каждый из х С μ и в общем случае является его функцией: (х). Если элемент x С i μ «стопроцентно» относится к С, то (х)=1; если не содержится воС то (х)=0. С Определение 1. Нечетким множеством С в Х называется совоμ μ купность пар вида (х, (х)), где х С, а (х) – функция принадС определенная на интервале [0, 1]. μ Функция принадлежности (х) полностью характеризует х С (она еще называется характеристической функцией). Поэтому справедливо утверждение: нечеткое множество вполне описывается своей функцией принадлежности. Обычные (четкие) множества составляют собой подкласс нечетких множеств. Действительно, функцией принадлежности ⊂ обычного множества В Х является его характеристическая функция x B , ( x ) B 0, x B . так что его также можно определить как совокупность пар (х, μ (х)). Таким образом, нечеткое множество представляет собой боС широкое понятие, чем обычное множество, а функция принадлежности нечеткого множества может быть произвольной. Каждому нечеткому множеству соответствует свое множество μ μ функций принадлежности (х). Назовем его М. Если (х) приС свои значения на множестве М, то можно сказать, что Х μ → принимает значение в М посредством (х): М. С Элементы множества М описывают те свойства элементов ∈ х Х, которые делают их элементами нечеткого множества С. Эти 220 Глава 10. Представление нечетких знаний μ μ Пусть А и В – нечеткие множества в Х, а (х) и (х) – их четА функции принадлежности соответственно. Справедливо ут⊆ что А включает в себя В (т.е. В А), если для любого ∈ х Х выполнено неравенство: μ ≤ μ (х) (х). (10.2) В А μ μ Множество А и B совпадают (эквивалентны), если (х) = (х) В А ∈ при любом х Х. Если нечеткие множества А и В таковы, что ⊆ ⊆ В А, то и sup B sup А. Пример 4. Рассмотрим нечеткие множества: A = {«ве личина x близка к 1»/х}, B = {«ве личина х очень близка к 1»/х}. ⊆ Видно, что B A, т.е. функции принадлежности этих множеств μ μ μ ≤ μ и должны удовлетворять неравенству (х) (х) А В В А ∀ ∈ при х Х. Графически эти функции показаны на рис. 10.5. 10.3. Операции над нечеткими множествами Операции над нечеткими множествами можно определить различными способами. Выбор конкретного из них (объединение, пересечение и пр.) зависит от смысла решаемой задачи. Следует отметить, что класс нечетких множеств охватывает и множества в обычном смысле. Поэтому вводимые определения должны соответствовать обычным операциям, принятым в теории множеств. Определение 5. Объединением нечетких множеств А и B в Х ∪ называется нечеткое множество А В с функцией принадлежности вида: μ μ μ ∈ (х) = max{ (x), (x)}, x X. (10.3) ∪ А В A B Определение 5а. Объединением нечетких множеств А и В в Х можно определить и через алгебраическую сумму их функций принадлежности: μ ≥ =1 при (х) + (х) 1; ∪ А В А В μ μ μ = (x) + (x) – в противном случае. ∪ А В А В Пример 5. Пусть нечеткое множество А и B в числовой оси описываются функциями принадлежности, показанными на рис. 10.6. Глава 10. Представление нечетких знаний 221 μ μ μ ≤ μ Рис. 10.5. Функции принадлежности и , А В А В Рис. 10.6. Объединение двух нечетких множеств, выделенное жирной линией Пример 6. Пусть Х = {x , x , x , x , x }, а нечеткие множества 1 2 3 4 5 А и В заданы через соответствующие величины функций принадлежности: = {(0.1/х ), (0.5/х ), (1/x ), (0/x ), (0.8/х )}; 1 2 3 4 5 B = {(0.6/х ), (1/х ), (0.4/х ), (0.7/х ), (0.8/х )}. 1 2 3 4 5 Объединение двух нечетких подмножеств A и B здесь будет иметь вид:c ∪ А В = {(0.6/х ), (1/х ), (1/х ), (0.7/х ), (0.8/х )}. 1 2 3 4 5 Определение 6. Пересечением нечетких множеств А и B в Х на- ∩ зывается нечеткое множество А В с функцией принадлежности вида: μ μ μ (х) = min{ (х), (х)}. (10.4) ∩ А В А В Определение 6а. Пересечение нечетких множеств А и В можно определить с использованием алгебраического произведения их функций принадлежности: μ μ μ ∈ (х) = (х) · (х), х Х. (10.5) ∩ А В А В 226 Глава 10. Представление нечетких знаний Рис. 10.12. Пример графического задания функции принадлежности Пример 13. Нечеткое множество может быть представлено: ли- бо как С = μ (х )/x + μ (х )/x +…+ μ (х )/x ; либо графически, С 1 1 С 2 2 С n n как в примерах выше; либо аналитически. На рис. 10.12 приведен пример соответствия аналитического задания функции принадлежности графическому. 10.4. Отношения и операции над ними Очевидно, что все отношения между объектами некоторого множества можно, в конечном счете, свести к отношению пар этих объектов при том, что каждый из них может одновременно иметь разные отношения с некоторыми другими. Если, например, для присутствующих на родительском собрании класса ввести отношение родственники, то почти все они разобьются на пары типа мама – ученик. Если же у мамы в этом классе учатся двойняшки, то это уже две пары того же типа. (Среди мам могут быть сестры, а одна из мам – тетя молоденькой учительницы. Пары могут быть разные.) Несмотря на многочисленность пар, имя введенного отношения для них общее (у нас – родственники). Это имя внесем в базу знаний и там запомним. Имен различных отношений в БЗ может храниться множество. Все они образуют так называемые интенсиональные знания, содержащие интенсиональные отношения (те самые имена отношений). Глава 10. Представление нечетких знаний 227 Каждая из пар единственна в своем роде, каждую необходимо запомнить. Множество конкретных пар образует экстенсиональные знания, они хранятся в базе данных. Отдельно взятая пара образует экстенсиональное отношение. Пусть элемент х множества Х находится в отношении R с элементом у того же множества. Этот факт представим в виде xRy. Говорят, что х и у находятся в экстенсиональном отношении R (обра- ′ зовали пару), имя которого (интенсиональное отношение) R . Положим, элементы i=2 и j=4 образуют экстенсиональную па- ′ ру R c интенсиональным отношением R в качестве имени. Пол24 или семантическим отношением будем называть пару r = 24 ′ (R , R ). В дальнейшем мы будем работать только с семантичес24 24 кими отношениями. Если элемент u под номером i некоторого множества находит- ∈ ся в отношении r R с элементом v под номером j того же множества, то, упрощая, пишут r (u ,v ). Отношение R можно оговорить заij i j ранее, и тогда достаточно будет указать лишь пары (u ,v ). Если i j i,j=1,2,3,…,n, то подмножество отношений между ними удобно задавать задавать в виде таблицы 1: v j 1 2 3 4 1 r r r r u 11 12 13 14 i 2 r r r r 21 22 23 24 3 r r r r 31 32 33 34 4 r r r r 41 42 43 44 где r отображает отношение для пары (u ,v ), r соответственно 11 1 1 12 для (u ,v ) и т.д. 1 2 Таблицу можно расписать иначе, в виде «суммы», где знак + будет означать лишь факт принадлежности элемента к подмножеству {r }. ij {r } = (u ,v )+(u ,v )+(u ,v )+(u ,v )+ (первая строка) ij 1 1 1 2 1 3 1 4 +(u ,v )+(u ,v )+(u ,v )+(u ,v )+… (вторая строка) и т.д. 2 1 2 2 2 3 2 4 Строки можно переписать и так: u (v +v +v +v )+u (v +v +v +v )+…= (или короче) = 1 1 2 3 4 2 1 2 3 4 4 4 4 4 . u v u v u v u v 1 2 3 4 j j j j 1 1 1 1 j j j j Окончательно имеем: Глава 10. Представление нечетких знаний 229 10.5. Нечеткие отношения Все рассмотренные выше отношения мы трактовали как четкие. Характерная черта четких отношений – их определенность: либо есть отношение, либо его нет. Среди множества всяких отношений есть такие, которые не могут быть нечеткими. Отношение отец, например: если Иван отец Петра, то это либо так (r=1), либо не так (r=0). Иное дело отношение старше. Его ведь можно понимать как немного старше, старше, значительно старше и т.п. Мера определенности здесь задается степенью принадлежности (функцией принадлежности) м, о которой мы уже говорили выше. Это значит, что прежнее отношение между х и у типа r = (x,y) заменяется на отμ r = (x,y)/(x,y), где (х,у) – данное отношение, – функR принадлежности этого отношения. Выражение (10.14) для отношений заменяется выражением для нечетких отношений: (10.17) а матрица отношений вообще может быть построена из одних функций принадлежности, стоящих на соответствующих местах. μ Функция (u,v), конечно, может быть задана. Но вот вопрос: R ∈ ∈ а как ее определить, если сами величины u U и v V заданы нечетко, через свои функции принадлежности? Большинство авторов в этом случае принимает такое соотношение: μ μ ∧ μ (u,v) = (u) (v). (10.18) R U V ∧ В булевой логике знак конъюнкции соответствует выделению наименьшего из входных значений. В этом смысле он здесь и употребляется. Поэтому можно записать: μ μ μ (u,v) = min( (u), (v)), (10.19) R U V то есть функция принадлежности отношения равна минимальной из функций принадлежности элементов отношения. Подставляя (10.18) в (10.17), получаем: n m R ( ( u ) ( v )) /( u , v ). (10.20) U i V j i j i 1 j 1 230 Глава 10. Представление нечетких знаний Как и прежде R = U V, и выражение (10.20) отражает резуль тат прямого перемножения нечетких множеств. Пример. Рассмотрим: x={3,4,5}, y={4,5,6}, R = «x около y», R=X Y и функцию принадлежности: 1, x y ; 0,8, x y 1; . ( x , y ) R 0, 6, x y 2; 0, 4, x y 3. Тогда: 0 . 8 1 0 . 8 1 0 . 8 0 . 4 0 . 6 0 . 6 0 . 8 . R ( 3 , 4 ) ( 4 , 4 ) ( 5 , 4 ) ( 5 , 5 ) ( 5 , 6 ) 3 , 6 ( 3 , 5 ) ( 4 , 6 ) ( 6 , 5 ) В матричной форме это отношение выглядит так: 4 5 6 . 3 0 . 8 0 . 6 0 . 4 R 4 1 0 . 8 0 , 6 5 0 . 8 1 0 . 8 В логике нечетких отношений произведение нечетких множеств моделирует знание правило «если U, то V», то есть моделирует от- → ношение продукцию U V. И это важно, поскольку в СИИ к продукции, как об этом уже говорилось выше, можно свести значительную часть знания человечества. Пусть имеется множество U – маложирные молочные продукты: 1 – сыворотка, 2 – молоко, 3 – творог, 4 – сливки и множество V – жирные молочные продукты: 1 – сыр, 2 – сметана, 3 – масло, 4 – топленое масло. Промоделируем продукцию: если u – маложирные, то v – очень жирные. (Будем считать, что оценки степеней принадлежности нам определили домашние хозяйки). Для множества U имеем: U = 1/1 + 0.8/2 + 0.6/3 + 0.2/4. Для множества V имеем: V = 0.1/1 + 0.5/2 + 0.8/3 + 1/4. × R = U V. μ Это будет матрица с элементами (u ,v ). Строки образуются R i j μ следующим образом: 1 – берется («числитель») первого элеменU из U и поочередно сравнивается с каждым («числителем») V из множества V, меньшее значение заносится в строку; 2 – берется μ μ второго элемента из U и сравнивается с каждым из V и т.д. U V Глава 10. Представление нечетких знаний 233 10.6. Лингвистическая переменная Непосредственное использование логики нечетких множеств в рамках продукций, СС или фреймов, т.е. в СИИ, потребовало введения нового типа переменных в модели представления знаний. Новый тип назван лингвистическим, чтобы подчеркнуть нечеткий – лексический характер используемых знаний. Это означает, что значениями лингвистической переменной (ЛП) могут быть словесные оценки, выраженные отдельными словами или даже целыми фразами. Для введения ЛП необходимо указать следующую информацию: ее имя – Z; l задать множество ее значений, т.е. некоторое множество L слоl выражений как эквивалентов нечетких понятий внешнего мира; определить полное множество значений, на котором могут заl нечеткие множества, т.е. универсум U; задать синтаксическое правило (процедуру) S, позволяющее l оперировать элементами множества L и, в частности генерировать новые его элементы; задать семантическое правило (процедуру) F, позволяющее l превращать каждый новый элемент множества L, образуемый S, в нечеткое множество, т.е. приписывать ему нечеткую семантику путем формирования нечеткого множества. Таким образом, с каждой лингвистической переменной связывается кортеж (Z, L, U, S, F). Пример 1. Рассмотрим понятие УРОЖАЙНОСТЬ, задав его лингвистической переменной. Ее описание: Z = УРОЖАЙНОСТЬ; L = {L – БОЛЬШОЙ, L – СРЕДНИЙ, L – МАЛЫЙ}; 1 2 3 U = [10, 20, …, 60]. Алфавит для построения синтаксических правил S: {L , L , L , 1 2 3 И, ИЛИ, НЕ, ОЧЕНЬ}. Синтаксические правила S и их интерпретация (семантика): 234 Глава 10. Представление нечетких знаний Пример 2. В семантической сети (раздел 2.3) для объекта ЯБЛОКО атрибут ВЕС может быть задан лингвистической переменной Z, значениями которой будут: МАЛЫЙ, СРЕДНИЙ, БОЛЬШОЙ. Универсум U можно задать множеством целых положительных чисел [10, 15, 20, …, 250, 350] по шкале веса в граммах. Область задания значений ЛП L определим следующим образом: значениям ЛП МАЛЫЙ соответствует интервал [10–100], СРЕДНИЙ – [101–200], БОЛЬШОЙ – [201–350]. Тогда отображение F можно задать, например, в виде правил: 1. Если Z МАЛЫЙ, то ЯБЛОКО имеет НИЗКУЮ потребительскую стоимость (НПС). 2. Если Z СРЕДНИЙ, то ЯБЛОКО имеет ВЫСОКУЮ потребительскую стоимость (ВПС). 3. Если Z БОЛЬШОЙ, то ЯБЛОКО имеет СРЕДНЮЮ потребительскую стоимость (СПС). Для использования этих правил, например, в системе автоматической сортировки необходимо определить сами нечеткие множества – МАЛЫЙ, СРЕДНИЙ, БОЛЬШОЙ – (M ), а также НПС, ВПС, i СПС – (N ). Для сокращения числа значений рассмотрим множесi весов U = {50, 150, 250, 350}. Универсум потребительских стоимостей определим в рублях: V = {10, 20, 30, 40}: М = МАЛЫЙ = 1/50 + 0.5/150 + 0/250 + 0/350; 1 М = СРЕДНИЙ = 0/50 + 1/150 + 0.5/250 + 0/350, 2 М = БОЛЬШОЙ = 0/50 + 0/150 + 0.5/250 + 1/350; 3 N = НПС = 1/10 + 0.8/20 + 0.1/30 + 0/40; 1 N = СПС = 0.1/10 + 1/20 + 0.5/30 + 0/40; 2 N = ВПС = 0/10 + 0.4/20 + 0.7/30 + 1/40. 3 Отношение «ес ли M , то N » дает нам 9 различных комбинаций. i j Для примера рассмотрим такое правило: «Ес ли вес МАЛЫЙ, то его потребительская стоимость НИЗКАЯ». Нам известно, что правило типа «ес ли Х, то У» моделируется произведением нечетких множеств (10.20). Это значит, что надо × определить отношение R = M N : 1 1 1 → N M ↓ Глава 10. Представление нечетких знаний 235 Рассмотрим такое правило: «Ес ли яблоки НЕ МАЛЫЕ, то потребительская стоимость ОЧЕНЬ ВЫСОКАЯ». Отношение НЕ МАЛЫЕ есть дополнение к множеству МАЛЫЕ, так что применима формула (10.22): М = 0/50 + 0.5/150 + 1/250 + 1/350. 1 Отношение ОЧЕНЬ ВЫСОКАЯ (ОВПС) определим через множество N : 4 N = ОВПС = 0/10 + 0.2/20 + 0.5/30 + 1/40. 4 × Свертка множеств M N покажет, как соотносится «малый» 1 4 вес яблок с ОВПС, и заданное правило отобразится матрицей: Произведем свертку отношений R S , т.е. определим, как соотноl 1 сится вес яблок МАЛЫЙ с ОВПС. Таким образом, яблоки весом ниже 250 граммов никак не соотносятся с очень высокой потребительской стоимостью, что соответствует практике. 10.7. Нечеткий вывод Нечеткие выводы чаще всего основаны на хорошо нам известном правиле заключения (modus ponens). Это правило касается импликации и говорит о том, что если вся импликация истинна и посыл- → → ка истинна, то и заключение истинно: (p, p q) q. Иногда это | правило записывают в виде дроби: , (10.24) , p p q q 236 Глава 10. Представление нечетких знаний где в числителе – высказывания, истинность которых уже дока зана, а в знаменателе – высказывания, истинность которых логи чески следует из верхних высказываний. Приведенная схема вывода пригодна и для случая операций с отношениями. Пусть имеются четкие и нечеткие множества: А и А', В и В'. В общем случае они необязательно совпадают, но в той мере, в которой они совпадают, их можно сопоставить и полу чить нечеткий результат. Если однозначно выполняется правило , A A B , (10.25) B то при нечетком выводе могут возникать различные варианты. Пусть вместо А мы имеем нечеткое множество А'. Заключение в этом случае уже будет нечетким: A , A B . (10.26) B Возможен случай, когда нечетко задано заключение: A , A B . (10.27) B Нечеткости В' и В'' могут быть разными. В общем случае вы ражение (5.27) приобретает вид: A , A B . (10.28) B Нечеткий вывод рассмотрим на примере выражения (10.24). Порядок действий здесь следующий. Вначале определяем нечет кое отношение А В. Для этого у нас есть формула (10.20). Полу чается матрица R = А В. Далее следует свертка S = А' R по мак ′ S = A R l симинной формуле (10.21). Пример 1. Рассмотрим нечеткий вывод на примере с яблока ми. Допустим, имеются следующие условия: R : «Если вес яблок МАЛЫЙ (А), то их потребительская стои 1 мость НИЗКАЯ (НПС)» (В). М ': «Не совсем маленькие» (А'). 1 Что есть НПС (В')? Глава 10. Представление нечетких знаний 237 Этим условиям соответствует формула: , A A B , B → где А В = R . 1 Отношение R мы уже имеем. Это матрица (10.23). Зададим не1 множество М – Не совсем маленькие: 1 ′ М = Не совсем маленькие = 0.9/50 + 0.6/150 + 0.3/250 + 0/350. 1 ′ ′ Окончательный вывод – свертка A R , определяющая В . l 1 Если расшифровать полученный результат, то получим: ′ В = НПС = 0.9/10 + 0.8/20 + 0.1/30 + 0/40. Мы получили, что низкая потребительская стоимость – это цена за яблоки в пределах 10–20 руб. Пример 2. Пусть имеем посылку: «Ско рость автомобиля ′ ОЧЕНЬ БОЛЬШАЯ» (А ) и «Ес ли скорость автомобиля БОЛЬШАЯ (А), то уровень шума ВЫСОКИЙ» (В); заключение: «Уро вень шума ′ ОЧЕНЬ ВЫСОКИЙ» (В ). Введем ЛП: x – скорость автомобиля; y – уровень шума. Значения ЛП: C = {малая, средняя, большая}; Y = {малый, средний, высокий}. Для каждого элемента множеств C и Y можно построить соответствующие нечеткие множества, в том числе для множеств: ′ C – большая скорость автомобиля; C – очень большая скорость 3 3 ′ автомобиля; Y – высокий уровень шума; Y – очень высокий уро3 шума. ′ ′ →Y Применяя правило , получим: Y =С (С ). l 3 3 3 3 Читателю предоставляется возможность довести решение до конца. 10.8. Нечеткая импликация μ μ Пусть A и B – нечеткие высказывания и , – соответствующие A B → им функции принадлежности. Тогда импликации A B будет соот- 238 Глава 10. Представление нечетких знаний Таблица 10.2 Интерпретации правила импликации ( x , y ) ( x ) ( y ) Ларсен A B A B ( x , y ) min{ 1 , 1 ( x ) ( y )} Лукашевич A B A B ( x , y ) min{ ( x ), ( y )} Мамдани A B A B 1 , ( x ) ( y ) A B ( x , y ) Standard Strict A B 0 , 1 , ( x ) ( y ) A B ( x , y ) Гедель A B ( y ), B 1 , ( x ) ( y ) A B ( x , y ) ( y ) Гейнс A B B , ( x ) A ( x , y ) 1 ( x ) ( x ) ( y )} Клини Динес Лю A B A A B μ ветствовать некоторая функция принадлежности . По анало→ B → ≡ гии с традиционной логикой, можно предположить, что: A B ∨ ¬A B. Тогда . Однако это не единственное обобщение оператора импликации [52]. В таблице 10.2 показаны примеры интерпретации этого понятия. В нечётких системах используются различные интерпретации импликации или говорят – различные Т нормы (табл. 10. 2). Основными источниками для написания этой главы были: [1, 3, 5, 10, 30, 41, 46, 95, 111]. Вопросы для самопроверки и упражнения 1. Какие знания называются нечеткими? 2. Приведите классификацию нечеткостей. 3. Что такое функция принадлежности? 4. Как определяются нечеткие множества? 5. Что называется объединением нечетких множеств? 6. Как определяется пересечение нечетких множеств? 7. Что такое дополнение нечеткого множества? 8. Какие операции над функциями принадлежности вы знаете? Перечислите их, приведите примеры. 9. Постройте нечеткие множества для случаев: старый человек; l Глава 10. Представление нечетких знаний 239 нестарый человек; l утро, день; l еще не вечер; l где то в пять часов утра; l когда же юности мятежной l пришла Евгению пора; и пока за туманами видеть мог паренек, l на окошке на девичьем все горел огонек. 10. Какие отношения называются интенсиональными (экстенсиональными)? Как определяется импликация нечетких множеств А>В? 12. Как определяется композиция (свертка) А0В? 13. Как организуется нечеткий вывод? 14. Фигуристы возвращаются после соревнований. – Как настроение, Саша? – Настроение бывает разное – отвратительное (1), так себе (2), хорошее (3), прекрасное (4). Сегодня – неважное. – Сам себе оценки ставишь? – Судьи ставят: три (1), четыре (2), пять (3), шесть (4). Для себя считаю так: посредственно, если в районе 4, хорошо, – в районе 5.4, отлично, – вблизи 6.0, ну а если в районе 3, то совсем плохо. – Если настроение неважное, то, значит, оценки плохие… (А) – Верно. – А если неплохие, то настроение… – Нормальное. (В) – Давай определим точнее: если оценки очень хорошие, то и настроение прекрасное, а вот если оценки не так, чтоб очень, то настроение… (С) – Кто его знает! Из данного диалога определить нечеткие множества для упомянутых настроений, для Сашиных самооценок, свертку А0В, а также сделать вывод настроения С, которое он и сам не мог определить конкретно. 15. Как устроены нечеткие правила? 16. Как осуществляется нечёткий логический вывод? Глава 11 ПСЕВДОФИЗИЧЕСКАЯ ЛОГИКА ВРЕМЕНИ Для статических ЭС временные факторы существования и появления объектов предметной области либо не учитываются вообще, либо включаются как статические параметры, используемые для распознавания классов ситуаций. Очевидно, что для ЭС реального времени этого совершенно недостаточно. В них необходимы более сложные средства учета временных процессов, обеспечивающих их правильную динамику. С этой целью необходима разработка специальных средств – теоретических, методических, программных и включения их в структуру ЭС в качестве временных процессоров. Это существенно усложняет архитектуру, процессы функционирования и стоимость разработки динамических ЭС. Сходные проблемы возникают и при необходимости учета сложных пространственных взаимодействий при моделировании пространственных сцен и их визуализации. В этой связи в СИИ сформировалось целое научное направление, исследующее логики различных типов отношений реального мира, в котором мы живем, и реализации их в инструментальных ЭС. Они получили название псевдофизических логик (ПЛ) [50]. Для примера рассмотрим ПЛ времени (ПЛВ). 11.1. Свойства времени Время играет в жизни человека очень важную роль. Оно властвует над человеком и обществом, мы включены в законы времени и должны им подчиняться. Поэтому человек отражает время в любой своей деятельности, в культуре, в языке, в быту. Одно из свидетельств этому – создание в 1966 году Международного общества по исследованию времени. Естественно, что и модели ИИ, основу которых составляют модели внешнего мира, не могут обойтись без учета сущности времени. Но, чтобы построить модель времени, нужно осознать его: его законы, его логику, его статику и динамику. Без учета фактора времени невозможны динамические модели производства, любой деятельности. Поэтому исследование содержания Глава 11. Псевдофизическая логика времени 241 понятия времени началось практически с появления вычислительных машин и автоматизированных систем управления. Но учет временных факторов носил ограниченный характер и алгоритмически отражал простейшие закономерности времени, необходимые для решения узких задач. С появлением работ по ИИ проблема создания модели времени стала чрезвычайно актуальной. Конечно, мы не можем здесь рассматривать проблему времени во всей ее полноте. Нас будут интересовать лишь те аспекты, которые непосредственно связаны с системами времени, используемыми в СИИ. Нас будут интересовать законы и свойства нашего трехмерного мира, в котором время играет роль четвертой координаты. Отметим, что для времени возможны два способа шкалирования. Один из них отражает упорядочение событий на шкале прошлое – настоящее – будущее, а другой – на шкале типа раньше – позже. Каждое событие на первой шкале в процессе эволюции как бы перемещается по ней. Если в какой то начальный момент оно было расположено в будущем, то, изменяясь или приближаясь, возникает в настоящем, а потом уходит в прошлое, оставаясь там навсегда. Если же оно не реализуется в настоящем, то исчезает со шкалы. На шкалах второго типа (к ним относится большинство шкал, используемых для времени) события располагаются в неизменном порядке. Это как бы застывшая шкала «уже происшедшего». Логики времени, связанные с ними, должны различаться, а СИИ должны уметь рассуждать о времени в обоих типах шкал, то есть уметь выполнять анализ временных событий, строить временные гипотезы, прогнозировать, обучаться и т.п. Перечислим основные свойства, характерные для псевдофизических логик времени, используемых в СИИ для понимания временной структуры текстов на естественном языке (ЕЯ текст) и вводимых для планирования и осуществления деятельности СИИ в окружающем ее мире. Псевдофизическими эти логики называются потому, что они являются языковыми (лингвистическими или семиотическими) моделями физического мира времени. 1. Однонаправленность. Время всегда направлено из прошлого через настоящее в будущее. Это свойство фиксирует основное назначение времени, ориентацию течения событий, процессов, действий или замещающих их «ку сков времени» (тем поров). Время также фиксирует направление, определяющее семантику отношений следования для темпоров или тех элементов, которые они замещают. Таким образом, это свойство фиксирует необратимость времени, хотя можно представить себе модели Глава 11. Псевдофизическая логика времени 243 11.2. Модель времени Мы рассмотрим пример эскиза модели временной логики, разра ботанной в ВЦ АН СССР [26]. В качестве основного объекта в этой логике, как и во всех других моделях времени, рассматрива ется понятие события, под которым понимается некоторый фик сированный результат, факт, связанный с деятельностью еди ничного субъекта или действиями, совершенными в силу законов природы. (Наступил вечер, идет дождь, самолет приземлился в аэропорту.) Будем считать, что имеется ЕЯ текст (ЕЯТ), в кото ром каждое предложение описывает какое то временное событие: ( ) = p , p , K , p p , где – предложение. Это событие может i 1 2 n быть точечным либо интервальным. Тип события характеризует ся тем, как оно проецируется на временные шкалы. Каждому со бытию на той или иной шкале соответствует определенный тем пор, то есть участок шкалы. Если длительность события такова, что оно проецируется в точечный темпор, то событие считается точечным. Например, если масштаб временной шкалы равен од ному году, а длительность события – нескольким минутам, то событие может считаться точечным. Если же масштаб шкалы – минута, то то же событие становится интервальным. Другими словами, тип события есть понятие относительное и определяет ся видом шкалы, на которую оно проецируется. На основе понятия шкалы времени и его свойств выпишем основной набор временных отношений (ВО), который будет иг рать роль базового набора в нашей модели времени. Отбор отно шений проводился на основании «естественных» соображений, позволяющих обеспечить хорошее согласование с ВО, фикси руемыми в ЕЯТ. 11.2.1. Точечные события Выделим три группы ВО: метрические, неметрические и перио дические. Неметрические отношения (нельзя четко спроектировать на временную шкалу): pr q p q – событие происходит одновременно с событием ; 0 pr q p q – событие происходит раньше события ; 1 pr q q – событие происходит позже события . p 2 Метрические отношения: 244 Глава 11. Псевдофизическая логика времени ( ) ω pr n , q – событие p происходит раньше события q на ω n 3 единиц времени по шкале L , где – единица измерения шкалы ω , а ; L n = 1, 2, K ∗ pr t p ∗ – событие реализуется в момент t на шкале (на L 4 пример, самолет приземлился в 13 часов). Периодические отношения: τ pr p – событие реализуется с периодом на шкале L . τ 5 Для упрощения записи будем опускать явное указание на шкалу , на которую проецируются события, предполагая, что из L контекста вид этой шкалы ясен. Деления на шкале соответствуют выбранному масштабу , а события проецируются на деления ω шкалы. Тогда одновременность событий соответствует совпаде нию проекций, а отношение соотносит событие с делением r 4 ∗ шкалы, обозначенным t . 11.2.2. Интервальные события Неметрические отношения: p q – событие строго предшествует событию (не со pR q 1 прикасаясь); pR q p q – событие строго следует за событием ; 2 pR q p q – событие пересекается с событием . 3 R Важные частные случаи отношения : 3 pR q p q – событие совпадает с событием ; 0 Глава 11. Псевдофизическая логика времени 245 pR q p q – событие лежит внутри события ; 4 pR q p q – событие лежит внутри события так, что их нача 5 ла совпадают; pR q p q – событие лежит внутри события так, что их концы 6 совпадают; pR q p – событие непосредственно предшествует событию 7 q , соприкасаясь. Метрические отношения: ( ) ω pR n , q p q – событие строго предшествует событию на 1 единиц времени по шкале , где – единица измерения ω L ω n шкалы , а : L n = 1, 2, K ( ) ω pR n , q p q – событие пересекается с событием так, что 2 расстояние между их началами равно единиц времени по ω n шкале L : 246 Глава 11. Псевдофизическая логика времени ( ) ω pR n , q p q – событие пересекается с событием так, что 3 расстояние между их концами равно единиц времени по шка ω n ле : L ( ) ∗ pR t , Δ t p – начало события реализуется в момент време 4 ∗ p ни t , а длительность имеет величину по шкале . Δ t L * t t t p Периодические отношения: τ pR p – событие реализуется с периодом на шкале . τ L 5 Если относительно интервального события известны момен ты его начала и конца, то его можно задать парой точечных собы μ μ тий – маркеров начала ( ) и конца ( ). . 11.2.3. Логика вывода Приведенные ВО между точечными и интервальными событиями составляют основу псевдофизической логики времени (ПЛВ). Определим ПЛВ в виде аксиоматической формальной систе мы (ФС). Напомним, что ФС состоит из четырех компонент: F = A, V, W, P , где A – алфавит; V – синтаксис; W – аксиомы; P – правила вывода. В алфавит войдут: множество событий (event – ): V E { } ( ) ( ) ( ) ( ) ( ) ( ) μ μ μ μ μ μ E = p , p , K , p , p , p , p , p , K , p , p ; 1 2 n 1 1 2 2 n n Глава 11. Псевдофизическая логика времени 247 множество отношений между точечными и интервальными со { } R = r , r , K , r , R , R , K , R , R , K , R бытиями ; множество ме 0 1 5 0 1 7 1 5 { } T = t , K , t , K ток шкалы ; ; множество шкал с заданны T L L L 1 m ми на них единицами измерений . ω Определим синтаксис V ПЛВ, то есть правильно построен ную формулу (ППФ). e ∈ E Любой элемент есть ППФ. j α ∗ β R β Выражения вида , где , – ППФ, R ∗ ∈ R , есть ППФ. α α β Если , – ППФ, то ∧ – ППФ. α β { } α ∗ R ∗ ∈ r , r , R R t t ∈ T Выражения вида , где – ППФ, , – α 4 5 5 i i L есть ППФ. ( ) α ∗ R t , Δ t α ∗ Выражение вида , где – ППФ и не включает 4 ( ) μ p t , Δ t ∈ T , , есть ППФ. i L Других ППФ нет. Аксиомы W и правила вывода P ПЛВ состоят из ядра и его расширения. Ядро представляет собой проблемно независимую часть и описывает свойства и семантику базовых временных от ношений – универсальных по отношению к любой предметной области. Ядро ПЛВ есть набор схем правил вывода следующего α β γ вида: , , где , , – ППФ. α β γ Приведем основные схемы ядра ПЛВ. 1. Схемы правил вывода для неметрических отношений точеч ных событий: p r p p r p 1.1. ; ( i 0 j j 0 ) i { } p rp , p rp p rp , r ∈ r , r , r 1.2. . i j j k i k 0 1 2 Схема 1.2 описывает свойство транзитивности временных от ношений. ( ) { } p r p , p rp p rp , r ∈ r , r 1.3. . i 0 j j k i k 1 2 2. Схемы правил вывода для метрических отношений точечных событий: ( ) n m n + m p r p , p r p p r p 2.1. i 3 j i 3 k i 3 k . Здесь предполагается единая шкала c единицей измерения L , и – натуральные числа. ω n m p r n − m p m < n ; 2.2. ( ) k 3 j n m p r p , p r p i 3 j i 3 k m − n p r p m ≥ n . j 3 k 3. Схема взаимосвязей для неметрических и метрических от ношений точечных событий: n p r p p r p 3.1. . i 3 j k 1 j 250 Глава 11. Псевдофизическая логика времени 11.3. Пример реализации ПЛВ Система обработки временной информации в тексте разработана на основе еще одной ПЛВ [50]. Для решения задачи построена гибридная модель, использующая средства нечеткой логики и нейронных сетей. В ней, так же как и в первой модели, параметры события описываются с помощью глагольных конструкций. При этом считается, что видовременные формы глаголов однозначно определяют порядок следования событий (табл. 11.1). Кроме глагола, существуют другие грамматические единицы, описывающие событие. В русском языке к ним можно отнести: краткое прилагательное, отглагольное имя существительное, причастие и деепричастие. Параметры между двумя событиям чаще всего выражаются временными союзами, к которым относятся: перед тем как, после, во время, с тех пор, когда, пока, как, в то время как. Кроме временных союзов, существуют другие грамматические единицы, которые отражают временной порядок событий в тексте. Это временные предлоги, наречия, местоимения и частицы. Для извлечения динамической информации из русскоязычного текста принимаются следующие временные отношения: AFTER, BEFORE, DURING, INCLUDES, OVERLAPS, IS_OVERLAPPED, EQUALS, BEGIN и END (рис. 11.1). Таблица 11.1 Рис. 11.1. Временные отношения Глава 11. Псевдофизическая логика времени 251 На основании данных рассуждений строится база правил для вывода временных отношений в тексте на русском языке. 11.3.1. Модель временных отношений Модель временных отношений описывается следующим образом: , TR T : R TF , , TR e e 1 2 де: – правило вывода; – параметры временных отношений; R TF , , ( – интервал события, – точка отсчета, – интер T t t t t t t e r s e r s вал речи); = {BEGIN, END, FUTURE, DURING, BEFORE, AFTER, TR T OVERLAPS, EQUALS}, то есть отношение между временем собы тия и одним из двух отсчетов времени (времени отсчета и време ни речи) в может принимать одно из восьми вышеуказанных T отношений; , = {AFTER, BEFORE, DURING, INCLUDES, OVERLAPS, TR e e 1 2 IS_OVERLAPPED, EQUALS}. База содержит пять групп правил для определения временных отношений между событиями или между событиями и временными отсчетами. 11.3.2. Архитектура системы На рис. 11.2 представлен пример архитектуры системы обработки временной информации [50]. Обработка происходит в три стадии. На первой – используются правила для увеличения размера обучаемого набора. Здесь без особых усилий создается больший аннотированный корпус текстов. На втором этапе решается задача классификации временных отношений с помощью метода машинного обучения. При этом используется корпус текстов для генерации нечетких правил нечеткой нейронной сети. 11.3.3. Структура нечеткой нейронной сети Предлагается нечеткая нейронная сеть, состоящая из четырех слоев (рис. 11.3). В слое 1 осуществляется фаззификация параметров событий. В слое 2 вычисляются функции принадлежности лингвистических переменных (функции принадлежности вычисляют по формуле НЕТ формулы). 252 Глава 11. Псевдофизическая логика времени Рис. 11.2. Архитектура системы обработки временной информации В слое 3 представлены нечеткие правила. В слое 4 суммируются веса из правил для вычисления степени принадлежности выходной переменной y к каждому классу. Рассмотрим структуру более подробно. Нечеткое правило : R r … , Если есть есть есть то есть & & & x A x A x A y 1 1r 2 2 r n nr , , , , 1 2 r r Cr где – входная лингвистическая переменная, ; 1, 2, , x i n i представляет собой нечеткое множество для лингвистиче A ir ской переменной ; x i – степень принадлежности к классу . C y ir i В качестве функции принадлежности для оптимизации пара метров сети с помощью метода опорных векторов выбирается функция Гаусса: (1) 2 x z , exp i ir x 2 2 ir i i 254 Глава 11. Псевдофизическая логика времени где – универсальное нечеткое множество. Функция принад A 0 i лежности переменной к этому множеству принимает значение единицы во всех входных значений. Тогда, примет вид: X k n M . X x 0 k k kr ir i 1 1 r i Выходная переменная определяется: arg max , y X y k . 1, 2,..., k C Для работы с этой главой основными источниками были [50, 60, 65, 94, 117]. Вопросы для самопроверки и упражнения 1. Опишите свойства времени и проблемы его описания в интеллектуальных КС. 2. Какие шкалы времени известны и как они соотносятся друг с другом? 3. Определите понятия точечных и интервальных событий. Какими свойствами они обладают? 4. Приведите примеры отношений между точечными и интервальными событиями. 5. Какими основными метрическими, неметрическими, периодическими отношениями обладают точечные и интервальные события? Опишите структуру и содержание логики вывода. Приведите примеры. 7. Дан текст: Аркадий Н. родился 28 мая 1962 года в Новосибирске. Служил в Забайкальском военном округе. Затем окончил факультет журналистики МГУ. Работал в АПН, на канале НТВ – делал репортажи из Чечни и Ингушетии. С июля 2000 года работает на канале «Россия». С сентября 2002 года делает цикл передач «Специальный корреспондент». Требуется: выделить события в тексте, определить их тип и построить пополненную частично упорядоченную во времени структуру этого текста на основе логики времени. Глава 12 НЕТОЧНЫЕ РАССУЖДЕНИЯ НА ОСНОВЕ ФАКТОРА УВЕРЕННОСТИ Еще одна важная проблема ЭС, которая нами ранее не рассматривалась, связана с проблемой рассуждения на основе различных неопределенностей, например, степени уверенности в том или ином знании (правиле в целом, его части, результата вывода). Кроме применения нечеткой логики, эта проблема может решаться с применением статистического подхода. В качестве такого примера вывода чаще всего рассматриваются Стэндфордский метод вывода на основе фактора уверенности, а так- же идея статистического подхода к описанию неопределенности, представленные Байесовской моделью. Эти модели хорошо зарекомендовали себя в ЭС MYCIN, PROSPECTOR и в других ЭС [60, 94]. 12.1. Стэндфордская модель фактора уверенности Эта модель основывается на ряде наблюдений. Например, врач, оценивая вероятность некоторого заболевания значением 0.7 (0.6, 0.8, 0.9), считает, что это отношение истинно и не учитывает, что оно может быть ложным не менее чем в 30% (40%, 20%, 10% соот ветственно) случаев. То есть оценкам на интервале 1;1 можно поставить в соответствие неформальную оценку, описывающую меру уверенности эксперта в своем решении, выражаемую чело веком, например, такими словами: «вероятно, это так», или «поч ти наверняка», или «это совершенно невероятно» и т.п. Пусть C H / E H – фактор уверенности (certainty factor) в гипотезе f E при основании . Стэндфордская модель фактора уверенности предлагает про стые правила для объединения свидетельств при выводе заклю чений. Рассмотрим подход, когда при формировании БЗ эксперты могут каждому продукционному правилу БЗ типа ЛЧП ПЧП по ставить в соответствие некоторое значение C , со значением на f шкале 1;1 , то есть меру доверия к нему. При этом правило р бр Л р (ЛЧП) 256 Глава 12. Неточные рассуждения на основе фактора уверенности трактуется следующим образом. Левая часть правила (ЛЧП) со E , E , , E стоит из ряда фактов свидетельств – (условий), под 1 2 k тверждающих гипотезы решений (возможных заключений) – H , H , , H , задаваемых в правой части (ПЧП). И условия, и 1 2 n заключения связываются логическими операциями конъюнкции и/или дизъюнкции. Условиям ЛЧП и заключениям ПЧП экспер том приписываются некоторые значения факторов уверенности C , C , , C C . Таким образом, можно говорить о каждого ус f f f f 1 2 m ловия, заключения, ЛЧП в целом, правила в целом. То есть фак C торы уверенности ( ) отражают меру доверия эксперта к ин f i формации всей предпосылки в ЛЧП и правилу в целом. Допус E E тим, в ЛЧП входят предпосылки свидетельства и . Для 1 2 C оценки каждой из них воспользуемся аналогией с определени f ем функции принадлежности Заде для объединения и пересече ния нечетких множеств, то есть: ; C E E min C E , C E f 1 2 f 1 f 2 ; C E E max C E , C E f 1 2 f 1 f 2 . C E 1 C E f f Для получения значения фактора уверенности в заключении, C объединенный предпосылок, получаемый с помощью приве f C денных правил, умножается на самого правила. f Например, пусть правило БЗ выглядит следующим образом: . E E E H 0.7 H 0.3 1 2 3 1 2 E E E H H Здесь , , – предпосылки; , – заключения прави 1 2 3 1 2 C ла с , равными 0.7 и 0.3 соответственно. Если все предпосылки f вполне известны, то эти числа добавляются к правилу при его E E E разработке. Если же для , , в процессе вывода получены 1 2 3 C значения , равные 0.6, 0.4, 0.2 соответственно, то вычисляются f H H новые значения и с учетом их первоначальных значений 1 2 C , то есть: f , C E E min 0.6,0.4 0.4 f 1 2 . C E E E max 0.4,0.2 0.4 f 1 2 3 C H 0.7 прибавляется к множеству знаний о данной си f 1 туации со значением: . C P H C E E E C H 0.4 0.7 0.28 f 1 f 1 2 3 f 1 C H 0.3 Второе заключение добавляется к БЗ со значе f 2 нием: Глава 12. Неточные рассуждения на основе фактора уверенности 259 4.1. изменить ПО целей; 4.2. создать новые цели. Процесс заканчивается, когда не остается ни одного релевант ного правила. 12.2. Байесовская модель субъективной вероятности Главная идея метода состоит в том, что неопределенность фактов в БЗ моделируется субъективной вероятностью, которая выража ет степень доверия эксперта к истинности факта, когда дана неко торая информация об этом факте, а неопределенность правил – парой значений (L , ), называемых коэффициентами достаточ L S N ности и необходимости, соответственно с которыми из условий посылки следует вывод [30, 41]. Условная часть правила (ЛЧП) E N типа состоит из логических выражений, вероятность ко торых может вычисляться на основе вероятностей составляющих E их компонентов. При изменении вероятностей условия заклю H чению должно быть присвоено новое значение . Для определе E ния условной вероятности P H / E по P H , когда – истин но, воспользуемся правилом произведения вероятностей, которое может быть записано в двух формах: C E E min C E , C E ; (12.1) f 1 2 f 1 f 2 C E E max C E , C E ; (12.2) f 1 2 f 1 f 2 C E 1 C E . (12.3) f f Поскольку конъюнкция коммутативна, мы можем приравнять правые части (12.1) и (12.2): P E / H P H P H / E P E , P E / P H откуда P H / . Аналогично могут быть полу H H E чены выражения для отрицания , для отрицания и , для P E / P H H E других сочетаний и : P H / ; P E / P H P E / P H , где P H / ; P H / P X – априорная вероятность (prior или безуслов probability) 260 Глава 12. Неточные рассуждения на основе фактора уверенности X ная вероятность (unconditional события , то есть ве probability) роятность, присвоенная событию при отсутствии знания, поддер P живающего его наступление. Например, (выпадение орла или = 0.5; P E / H – апостериорная вероятность (posterior решки) или условная вероятность события, то есть вероят probability) ность истинности события Y при некотором заданном основании X P (условии) . Например, вероятность (заболевание грип пом/высокая температура) = 0.7. Перечисленные формулы называются формулами Байеса и широко используются для различных вероятностных логик. Значения L , L определяются следующими формулами: S N P E / P E / ; L L S N E / E / H и характеризуют неопределенность знания о гипотезе , когда E мы знаем, что либо истинно, либо ложно. L показывает, на S сколько достаточны шансы посылки E для того, чтобы была вер H на гипотеза . Хотя и нет жесткой математической взаимосвязи между L и L , но всегда, если L возрастает, то L убывает, и на S N S N L 1 L 1 оборот, то есть . S N На первый взгляд, не очень понятна полезность правила Байе са. Тем не менее правило находит широкое применение, когда, например, известны оценки вероятностей для нескольких термов (свидетельств) и нужно вычислить оценку для еще одного. Осо бенно это важно в задачах медицинской диагностики, прогнози рования погоды, в криминалистике и т.п. Рассмотрим такой пример. Необходимо поздней осенью, по смотрев в окно, определить, холодно или нет, исходя из того, вы пал снег или нет. Допустим, имеются результаты многолетних наблюдений в среднем на 100 случаев, из которых следует, что P 0.7 , P 0.3 , а связь между снегом и холо дом соответствует следующим отношениям: Из таблицы следует: , , , . ( / ) 0.5 ( E / ) 0.15 ( / H ) 0.1 ( E / H ) 0.25 Тогда: Глава 12. Неточные рассуждения на основе фактора уверенности 261 д P E / P H 0.5 0.3 ; P / 0.214 0.7 P E / P H 0.1 1 0.3 0.07 ; P ( / ) 0.1 0.7 0.7 P E / P H 0.15 0.3 ; P ( / ) 0.15 1 0.7 P E / P H 0.25 0.7 ; P ( / ) 0.583 0.3 P E / P E / 0.5 0.15 ; . L 5 L 0.6 S N E / 0.1 E / 0.25 Таким образом, гипотеза Холодно, когда Снега нет, имеет ме сто с вероятностью 0.15, со снегом ее вероятность увеличивается, а показатель L подтверждает этот вывод и говорит о том, что на S личие снега увеличивает шансы гипотезы Холодно. Данный подход используется, например, в ЭС PROSPECTOR, созданной в Стэндфордском университете и применяемой для геологоразведки (меди, молибдена и др.). Она позволила обнару жить коммерчески значимые залежи минералов в нескольких местах. 12.3. Байесовская сеть представления и вывода вероятностных знаний Во многих случаях способ задания вероятностей для атомарных высказываний является достаточно сложным и неестественным при отсутствии большого объема знаний, на основании которых формируются статистические оценки. В этом случае рекоменду ется структура данных, называемая байесовской сетью (другие названия: сеть доверия, вероятностная сеть, причинная сеть и схема знаний), которая позволяет представить связи между пере менными и составить краткую спецификацию любого полного совместного распределения вероятностей. Байесовская сеть – это ориентированный граф, в котором ка ждая вершина помечена количественной вероятностной инфор мацией. 1. Вершинами сети является множество случайных переменных. Переменные могут быть дискретными или непрерывными. 262 Глава 12. Неточные рассуждения на основе фактора уверенности 2. Вершины соединяются попарно ориентированными ребрами, или ребрами со стрелками; ребра образуют множество ребер. X Y Если стрелка направлена от вершины к вершине , то вер X Y шина называется родительской вершиной для вершины . X 3. Каждая вершина характеризуется распределением услов i P X / Parents X ных вероятностей , которое количественно i i оценивает влияние родительских вершин на эту вершину. 4. Граф не имеет циклов, состоящих из ориентированных ребер (и поэтому является ориентированным деревом). Интуитивный смысл стрелки в правильно составленной сети X обычно состоит в том, что вершина оказывает непосредствен Y ное влияние на вершину . Для специалиста в проблемной облас ти задача определения того, какие непосредственные влияния су ществуют в этой проблемной области, обычно является более лег кой; чем фактическое определение самих вероятностей. После того, как составлена топология байесовской сети, остается только указать распределение условных вероятностей для каждой пере менной с учетом ее родительских переменных. Рассмотрим на адаптированном конкретном примере, как применение байесовской сети позволяет (неявно) задать полное совместное распределение для всех переменных. Житель пригорода установил в своем доме новую сис Пример. тему тревожной сигнализации для обнаружения взлома. Она до вольно надежно обнаруживает взлом, но иногда также реагирует на небольшие землетрясения. У этого человека есть два соседа – Джон и Мэри, которые обещали звонить ему на работу, услышав тревожный сигнал. Джон всегда звонит, услышав тревожный сиг нал, но иногда путает с ним телефонный звонок в доме соседа и в этих случаях также звонит. Мэри любит слушать довольно гром кую музыку, поэтому иногда вообще пропускает тревожный сиг нал [94]. Получив факты того, кто из этих соседей звонил или не зво нил, необходимо оценить вероятность взлома. Байесовская сеть для этой проблемной области приведена на рис. 12.1, где каждое распределение вероятностей представлено в виде таблицы услов (Conditional – Буквами ных вероятностей Probability Table СРТ). В, З, С, Д и М обозначены следующие события «Взлом», «Земле трясение», «Тревожный сигнал», «Джон звонит», «Мэри звонит». Каждая строка в таблице содержит условную вероятность СРТ каждого значения вершины для обусловливающего случая (conditioning определяющего условную вероятность. Обу case), словливающий случай представляет собой одну из возможных Глава 12. Неточные рассуждения на основе фактора уверенности 265 Для иллюстрации описанных выше понятий рассчитаем веро ятность того, что прозвучал тревожный сигнал, но не произошли ни взлом, ни землетрясение, а звонили и Мэри, и Джон. P P / P / P / P P 0.9 0.7 0.001 0.999 0.998 0.000628 . Таким образом, так как байесовская сеть служит представле нием совместного распределения вероятностей, то она может также применяться для получения ответа на любой запрос о дан ной проблемной области. В этом и заключается вывод вероятно стных знаний на байесовских сетях. Для написания этого раздела использовались источники [32, 41, 65, 93, 95]. Вопросы для самопроверки и упражнения 1. В чем сущность проблемы работ с недоопределенными (неоп ределенными) знаниями? 2. Какие подходы известны к проблеме обработки недоопреде ленных знаний? 3. Опишите Стэндфордскую модель фактора уверенности и ее особенности? Когда ее целесообразно применять? A A B B C A 0.3 4. Дано: правило . Известны: , 1 2 1 2 f 1 C A 0.5 C A 0.2 C B 0.3 C B 0.6 , , , , где f 2 f 3 f 1 f 2 C A i 1, 2,3 , – фактор уверенности в утверждении. f i Требуется: определить фактор уверенности всего правила, C т.е. правила. f A A A B B C A 0.5 5. Дано: правило , , 1 2 3 1 2 f 1 C A 0.3 C A 0.3 C B 0.3 C B 0.6 , , , , где f 2 f 3 f 1 f 2 C A – фактор уверенности в утверждении. f i Требуется: определить фактор уверенности всего правила, C т.е. правила. f 6. Опишите сущность Байесовского подхода к определению не определенности. 7. Допустим, необходимо определить, посмотрев в окно, будет ли дождь, то есть надо ли брать зонт, или дождя не будет. Имеют ся результаты наблюдений, из которых в среднем следует, что P 0.7 , P 0.3 , P 0.8 , а связь между тучами, давлением и дождем соответствует следующим отношениям: 266 Глава 12. Неточные рассуждения на основе фактора уверенности Требуется посчитать условные вероятности: P / , P / , , , P / , P / , , , P / , P / , , , P / , , а также коэффициенты достаточ L L ности и необходимости ( и ), соответственно с которыми S N из условий посылок следуют требуемые выводы. 8. После ежегодного медицинского осмотра некоторого пациента у врача есть плохая новость и хорошая новость. Плохая новость состоит в том, что оказалась положительной проверка на нали чие серьезного заболевания и что точность результатов провер ки составляет 99% (это означает, что вероятность получения положительного результата проверки, если пациент имеет это заболевание, равна 0.99, и такова же вероятность получения от рицательных результатов проверки, если пациент не имеет этого заболевания). Хорошая новость состоит в том, что это заболева ние – редкое и поражает только 1 из 10 000 людей того возраста, в котором находится пациент. Почему новость, что это заболе вание редкое, названа хорошей? Каковы шансы на то, что паци ент действительно имеет данное заболевание? A B C 9. Три заключенных , и заперты в своих камерах. Всем из вестно, что один из них завтра будет казнен, а другие помилова ны, но только губернатор знает, кто именно будет казнен. За A ключенный просит охранника об одолжении: «Пожалуйста, узнайте у губернатора, кто будет казнен, а затем передайте со B C общение одному из моих друзей или , чтобы он знал, что утром будет помилован». Охранник соглашается, а после воз A вращения говорит заключенному , что передал сообщение о B A помиловании заключенному . Каковы шансы заключенного на то, что он будет казнен, при наличии этой информации? Глава 13 ЭКСПЕРТНЫЕ СИСТЕМЫ 13.1. Архитектура В предыдущих разделах (1–12) были рассмотрены теоретические основы представления знаний в моделях различного типа. За кадром остались вопросы поиска, формирования (приобретения) и, наконец, проектирования самих знаний. Этими задачами занимается вполне самостоятельная ветвь исследований ИИ, получившая название инженерии знаний или когнитологии. Специалисты данного направления называются инженерами по знаниям или когнитологами. Предполагается, что такого рода инженеры должны: профессионально владеть всеми типами МПЗ; уметь обосновывать выбор наилучшей модели для решения конкретных задач в данной предметной области и необходимость решения проблемы именно с позиций ИИ. Кроме того, они должны: знать особенности программной реализации каждого типа моделей; уметь выбирать наиболее подходящие инструментальные средства и системы; уметь формализовывать знания на основе выбранных моделей в синтаксисе соответствующих инструментальных систем; отлаживать и тестировать БЗ; встраивать их в систему сбора и обработки оперативной информации, т.е. доводить дело до конца – до получения готовой интеллектуальной системы, обеспечивающей поддержку процессов принятия решений в любых текущих состояниях (ситуациях) предметной области. Это самый краткий перечень вопросов, которыми должен владеть инженер по знаниям. Как уже говорилось ранее, главным источником знаний обычно является эксперт, т.е. человек, владеющий знаниями о структуре, законах и процессах функционирования выделенной предметной области, возможных решениях, о соответствии между состояниями предметной области и допустимыми решениями. Экспертами обычно называют самых квалифицированных специалистов в определенной сфере деятельности, умеющих быстро ориентироваться в новых ситуациях, способных обосновывать и объяснять свои решения (эксперты составляют 3–5% от общего числа специалистов в данной области). Например, всем известна форма помощи врачу, который затрудняется в постановке однозначного диагноза 268 Глава 13. Экспертные системы болезни своему пациенту, в виде консилиума, на который приглашаются наиболее сильные и известные специалисты в соответствующей области знаний. Задача консилиума проанализировать ситуацию своего коллеги и помочь ему более четко и точно определиться с диагнозом и лечением. База знаний, соответствующая знаниям такого консилиума, и является предметом проектирования для инженера по знаниям. Число экспертов может быть различным: от одного до нескольких человек. В идеале возможно знание о какой либо проблеме, соответствующее общечеловеческому уровню представлений. Кроме экспертов, помочь в поиске знания могут учебники, научные монографии, журнальная периодика, служебные документы, нормативы и т.п. Однако главная роль принадлежит все же экспертам, поскольку они имеют наиболее полные представления о взаимосвязи единиц знания с решениями (диагнозами, управляющими командами и т.д.). Именно поэтому знания, полученные на основе целенаправленной работы с экспертами, стали называть экспертными, а системы, основанные на экспертных базах знаний, называются экспертными (ЭС). В архитектуре ЭС выделяют информационную и программную части. В информационную часть входят: РБД (рабочая база данных) и БЗ (продукционная, сетевая, фреймовая или гибридная). РБД – это множество фактов, описывающих текущее состояние предметной области. В программной части основными являются блоки: логического вывода (машина вывода), объяснения решений (выводов), приобретения знаний (рис. 13.1). Необходимы также интерфейсы между внешней средой и ЭС (интерфейс пользователя и инженера по знаниям с ЭС). Блок объяснения играет роль «самосознания» ЭС, обеспечивающего анализ и аргументирование своих решений. Моделей объяснения (их еще называют моделями рассуждений или правдоподобного вывода) разработано довольно много, они будут рассматриваться специально. Самая простая из них – это предъявление при необходимости последовательности тех правил, на основе которых было получено решение. Блок приобретения знаний призван обеспечить поддержку инженера по знаниям в процессах проектирования БЗ и взаимодействия с экспертом. При этом предполагается, что сам системный анализ предметной области и работа с экспертом осуществляются предварительно с применением специальных методов извлечения и структурирования знаний. Затем полученные знания с помощью интерфейса с блоком приобретения знаний переводятся в нужную Глава 13. Экспертные системы 269 Рис. 13.1. Архитектура экспертной системы модель представления знаний соответствующей инструментальной ЭС. С готовой ЭС через специальные интерфейсы могут взаимодействовать пользователи и источники информации, если текущая информация передается в автоматизированном режиме. Перечисленные три блока составляют инструментальную программную часть ЭС. Ее называют пустой ЭС. При разработке РБД и БЗ в соответствии с ее форматами представления ЭС становится прикладной системой или приложением, готовым к использованию в практической деятельности. 13.2. Эволюция ЭС ЭС являются наиболее распространенным классом интеллектуальных систем, ориентированных на тиражирование опыта высокопрофессиональных специалистов в тех областях деятельности человека, где качество решений существенно зависит от уровня экспертизы или, другими словами, от качества экспертов. Они особенно эффективны там, где знания устоялись, являются общечело- 270 Глава 13. Экспертные системы веческим достоянием, а решения мало зависят от того, в какой стране они принимаются. Такое положение особенно характерно для областей знаний с декларативным характером их описания, например, биология, медицина, геология, юриспруденция и т.д. Другими словами, ЭС эффективны в тех специфических областях, где важен эмпирический опыт специалиста. Первые ЭС появились в 70 х годах (1976–1980 гг.), наделали в мире много шума и подняли гигантскую волну оптимизма и веры в ИИ. И совершенно не случайно, что первые ЭС были разработаны для медицины (MYCIN), для геологии (PROSPECTOR), для химии (DENDRAL, APROS), для диагностики глазных заболеваний (CASNET), поскольку именно в этих областях накопилось огромное по характеру в основном – декларативное, общечеловеческое знание, которое ученые не могли представить в ЭВМ, чтобы использовать для решения конкретных задач. В СССР первые ЭС появились в начале 70 х годов. Это были ЭС для оперативного управления морским транспортом, для управления авиаремонтом [25], для планирования сеансов связи, для порождения новых видов химических соединений и т.д. [19]. К концу 80 х годов в СССР практически для всех сфер деятельности разрабатывались ЭС. Именно они быстро и первыми среди СИИ вышли на коммерческий рынок. Второй этап эволюции ЭС относится к 80 м годам и связан с пониманием возможности отрыва знаний от механизмов их обработки. Именно это понимание привело к созданию инструментальных средств разработки ЭС для различных типов приложений. ЭС стали классифицировать по следующим основаниям: по типам задач: диагностика, мониторинг и оперативное управl планирование, проектирование, прогнозирование, обучение, интерпретация и визуализация данных и др.; по типам инструментальных средств: объектно ориентированl Пролог ориентированные, Лисп ориентированные; по типам моделей представленных знаний: продукционные, l фреймовые, сетевые, гибридные; по типам стратегии вывода: от ситуации – к цели (прямая страl вывода), от цели – к ситуации (обратная стратегия вывода), смешанные стратегии вывода; по типам машины вывода: дедуктивная, индуктивная, гибридl отношению ко времени: статические, когда не учитываются l временные процессы, динамические, функционирующие в ре- 272 Глава 13. Экспертные системы большое расхождение между решениями самых хороших и саl плохих исполнителей; наличие экспертов, готовых поделиться своим опытом. l Задачи для ЭС характеризуются следующими свойствами: не могут быть решены средствами традиционного математичесl моделирования, то есть нет других, более простых способов решения задачи; имеется некорректность определений, неточность, неполнота, l противоречивость информации; в значительной степени не зависят от общечеловеческих знаl и соображений здравого смысла; сложны для новичков (много объектов, связей, условий, ограl поиска решений – большое; l имеющиеся и требуемые знания не формализуемы строгими l методами; знания достаточно объективны и проверены временем. l 13.3. Стадии разработки ЭС Выделяют следующие основные стадии разработки ЭС. 1. Быстрый (демонстрационный) прототип (БП): характеризуется небольшой БЗ порядка 50–100 правил; в работе обычно принимают участие один инженер по знаниям и один эксперт; для реализации используется подходящая инструментальная ЭС; время разработки – до одного месяца. Задача БП – демонстрация принципиальной способности ЭС решить поставленную задачу. Эта стадия необходима для убеждения заказчика, для осознания результата, который нужен ему. 2. Исследовательский прототип (ИП): предполагает расширение БЗ примерно до 500 правил, она может быть еще не полной, но уже хорошо выверенной; по времени – требуется не менее полугода; в работе принимают участие от одного до нескольких экспертов и 2–3 разработчика. Принципиально важно, чтобы в работе участвовали будущие пользователи, так как они должны понимать и принимать результаты работы ЭС. Стоимость этого прототипа уже на порядок больше демонстрационного. ИП должен демонстрировать способность к решению всех основных задач, стоящих перед ЭС, и на достаточно высоком уровне. Обычно на стадии ИП используется какая либо гото- Глава 13. Экспертные системы 273 вая инструментальная ЭС. Жесткие требования ко времени реакции пока не предъявляются, но она уже должна показывать хорошее качество решений. 3. Промышленный образец ЭС: предполагает достаточную полноту БЗ; она должна быть точной, непротиворечивой, хорошо оттестированной; количество правил может достигать нескольких тысяч; временные затраты существенны: от года до 2–3 лет. Для достижения наибольшей эффективности ЭС может переписываться на языки машинного уровня. Численность коллектива разработчиков может широко варьироваться от одного до нескольких десятков: это инженеры по знаниям, эксперты, руководители, системные программисты. На этой стадии осуществляется полное погружение ЭС в реальную среду функционирования; реализуется связь с источниками информации, связь с внешними СУБД, БД, ППП. Стоимость – снова на порядок больше ИП. 4. Коммерческий прототип ЭС (КП): особое внимание уделяется интерфейсу – его удобству, комфортности. С этой целью существенно расширяется программный инструментарий, вводятся средства визуализации знаний, навигации, объяснения, редактирования, обучения и т.п. Если ставится задача коммерческого тиражирования ЭС, то она доводится до инструментальной проблемно ориентированной. При этом стоимость коммерческого образца снова вырастает не менее чем на порядок. По этой причине многие заказчики останавливаются на третьей стадии. 13.4. Фазы разработки ЭС Разработка любой ЭС проходит следующие основные фазы (рис. 13.2): идентификации (инициализации) проекта ЭС; l концептуализации; l формализации; l реализации; l тестирования и отладки. l Рассмотрим детальнее содержание каждой фазы. 1. Идентификация. В этой фазе выполняется три группы работ: определяется проблема, для решения которой создается ЭС, выявляются ее основные характеристики; определяются ресурсы, необходимые для разработки; разрабатывается ТЗ – главный этап инициализации и утверждения проекта. 274 Глава 13. Экспертные системы Рис. 13.2. Фазы разработки ЭС Для идентификации ЭС необходимо ответить на следующие вопросы: для какой цели создается ЭС; l какой класс задач будет решать ЭС; l какие из задач данного класса могут быть описаны доступно l и четко; можно ли данную задачу разбить на подзадачи; l какие исходные данные требуются для решения задачи; l какой вид имеет решение; l каковы природа и объем необходимых знаний, используемых l для решения задач данного класса; какие ситуации могут препятствовать решению нужных задач; l какие задачи могут препятствовать работе ЭС. l Для определения необходимых ресурсов анализируются: источники знаний; l опыт решения аналогичных задач в прошлом; l наличие учебников, монографий, экспертов; l опыт разработки ЭС инженера по знаниям; l время на разработку; l как данные приобретаются или извлекаются (экспертным пуl средствами телеметрии); какова стоимость приобретенных знаний; l технические возможности; l финансовые возможности. l По результатам анализа принимается решение об инициализации проекта, разрабатывается и утверждается ТЗ. 2. Концептуализация. Это важнейший этап создания ЭС. От его качества зависит все: время, стоимость, эффективность бу- 276 Глава 13. Экспертные системы БЗ переводится на форматы инструментальной ЭС; l выбирается модель объяснения выводов. l 5. Тестирование: строятся отладочные варианты задач; l испытываются различные стратегии вывода; l БЗ исследуется на полноту и непротиворечивость выводов; l тестируются все подсистемы; l привлекаются новые эксперты для тестирования решений, не l принимавшие участие в разработке БЗ. Конечно, на каждой из фаз может возникнуть необходимость в возврате к более ранним фазам. Именно поэтому следует очень внимательно относиться к первым двум фазам проектирования. При разработке демонстрационных прототипов ЭС создатели стремятся: назвать как можно больше задач, чтобы их учесть в прототипе; l как можно раньше привлекать конечных пользователей; l всех членов группы постоянно знакомить с тем, что делается l другими. В качестве стратегий разработки быстрых прототипов используются следующие: создается один прототип для всей задачи в целом, а его тестироl и отладка осуществляются на серии последовательных прототипов (поверхностный уровень знания, но широкий охват); создается прототип, на поверхностном уровне объемлющий все l задачи будущей системы (скелетный прототип) с углубленной разработкой одного или нескольких; создаются прототипы для каждой из подзадач, а затем выполняl сведение всех прототипов в единый с поочередным тестированием. стратегия предпочтительна для небольших задач; вторая – для крупных с большим числом подзадач; третья, когда задача включает две или более слабо пересекающиеся предметные области. По тематике этой главы работало и работает много коллективов и научных школ, все их разработки трудно даже перечислить. По- этому сошлёмся на наиболее известные: [5, 10, 31, 32, 41, 44, 49, 73, 81, 82, 95, 101, 106, 111, 116, 122, 123]. Вопросы для самопроверки 1. Объясните содержательную суть ЭС и их назначение. 2. Приведите типовую архитектуру ЭС и назначение основных блоков. Глава 13. Экспертные системы 277 3. Какие этапы развития проходили ЭС? 4. По каким основаниям могут классифицироваться ЭС? 5. Какой глубины разработанности могут быть ЭС и чем различаются соответствующие прототипы? 6. Рассмотрите этапы технологии разработки ЭС и их основные характеристики. 7. Перечислите перечень задач, выполняемых на каждом из этапов разработки. 8. Почему особенно важны этапы идентификации и концептуализации? Какие проблемы инженерии знаний возникают на каждом из этапов разработки ЭС? 10. Что понимается под стратегией прототипирования? Глава 14 НЕЧЁТКИЕ ЭКСПЕРТНЫЕ СИСТЕМЫ 14.1. Архитектура нечетких систем Рассмотрим архитектуру классической нечеткой системы (рис. 14.1). База нечетких правил (БНП или БЗ), которую иногда называ ют лингвистической моделью предметной области (объекта k управления), состоит из правил (p ) вида: k k k p k : если , 1 1 2 2 n n k k k y B y B y B то , 1 1 2 2 m m k k A , B где – нечеткие множества, (i = (1…n), j = (1…m)), такие, что i j k k B x A X R, Y R, k = (1…l), l – число нечетких правил, – j i i j вектор входных переменных, – вектор выходных переменных. y x При этом: [х ,х ,…,x ] Tr = X = X X … X ; [у ,у ,…,y ] Tr = y 1 2 n 1 2 n 1 2 m Y = Y Y … Y . 1 2 m Правила связаны между собой оператором ИЛИ. Считаем так же, что выходы у ,у ,…,у взаимонезависимы. Тогда без потери 1 2 m общности будем рассматривать нечеткие правила со скалярным выходом: Р k : Если (x есть А 1k И х 2k есть А 2k И x есть А nk ), 1 n jk jk то (y есть B ), где B Y R, k=1,2,…,l. j j Tr Рис. 14.1. Архитектура нечёткой экспертной системы Глава 14. Нечёткие экспертные системы 279 j j j j x Переменные = [х ,х ,…x ] Tr и y могут принимать значения, в 1 2 n виде слов, например, малый, средний, высок й или в виде чисел. В обобщенном виде это правило можно представить как нечет кую импликацию p k : A k В k , k=1,2,…,l, А k =А 1k А 2k … A nk . Правило p k можно также интерпретировать как нечеткое от ношение, заданное на множестве Х Y, т.е. P k Х У – нечеткое pk Ak Bk множество с функцией принадлежности ( ,у) = ( ,у). x x Предполагается, что между правилами нет взаимодействия. В отличие от ЭС размер БЗ НЭС на порядок меньше за счет того, что для приближенного описания предметной области тре буется меньшая детализация. На входе блока фаззификации (БФ) сигналы снимаемых зна Tr x x ,..., x X чений параметров от источников информации 1 n о состоянии предметной области на основе функций принадлеж ности, описывающих соответствующие нечеткие множества, пе реводятся в нечеткую форму (фаззификация – англ. fuzzification, от fuzzy – легкий, нечеткий). На выходе БФ снимается вектор A нечетких значений параметров, рассматриваемых как лингвисти ческие переменные с заданными множествами значений – имена ми нечетких множеств. Рассмотрим два случая фаззификации, спецификация кото рых зависит от способа измерения входного сигнала. В первом случае, характерном для нечетких систем поддержки x , x ,.... x принятия решений, для каждого должны быть апри 1 2 n ( x ) , ( x ),.... ( x ) орно известны функции принадлежности . 1 2 n Тогда операция фаззификации выполняется согласно рис. 14.2. x , x ,.... x Здесь символами обозначены конкретные численные 1 2 n значения входных сигналов, поступившие от соответствующих систем измерения (например, от человека). Во втором случае в качестве системы измерения выступает не человек, а техническое устройство, например система "датчик преобразователь". И очевидно, что при этом получать функции ( x ), ( x ),.... ( x ) принадлежности экспертным путем не имеет 1 2 n смысла. В этом случае используются "генераторы" значений функций принадлежности. Чаще всего такие генераторы построе ны на гауссовских, треугольных и трапецеидальных функциях принадлежности. Ниже приведена формула модифицированного гауссовского генератора: x c 2 b ( x ) exp( [[ ] ] ), A ' 288 Глава 14. Нечёткие экспертные системы 14.2. Пример работы нечеткой ЭС Рассмотрим пример того, как осуществляется вывод в нечёткой экспертной системе, управляющей вентилятором комнатного кондиционера [52, 54]. Задача кондиционера – поддерживать оп тимальную температуру воздуха в комнате, охлаждая его, когда жарко, и нагревая, когда холодно. Изменяя скорость вращения вентилятора, прогоняющего воздух через охлаждающий элемент, мы можем менять температуру воздуха. Следовательно, в нашей системе можно задать две лингвистические переменные, опреде ленные на значениях температуры (t) и скорости вращения вен тилятора (v). Для описания переменных зададим имена нечётких множеств и области их значений на соответствующих универсу мах. Например: названия нечётких множеств для t: низкая, сред няя, высокая; для v: низкая, средняя, высокая. Интервалы значе ний функции принадлежности для t: определим из следующих соображений: пусть температура воздуха в комнате может нахо диться в пределах от 0°С до 60°С – в противном случае конди ционер вряд ли поможет. Тогда функцию принадлежности для нечеткого подмножества низкая, определелим на интервале из менения температуры, например, так (рис. 14.13): Если температура меньше 12°С, то это определенно низкая температура для комнаты, т.е. функцию принадлежности можно ( t ) 1, t 12 описать так: . Температуру выше 20°С никак T ( t ) 0, t 20. нельзя назвать низкой, т.е., В промежутке T между этими значениями функция принадлежности линейно убывает – с увеличением температуры уменьшается истинность утверждения "температура воздуха в комнате низкая". Аналити ( t ) чески выражается следующим образом: T 1, t 12 20 t , 12 t 20 ( t ) 8 T 0, t 20. Сходные рассуждения позволяют нам задать функции при надлежности для оставшихся подмножеств: средняя и высокая (рис. 14.14, 14.15). Глава 14. Нечёткие экспертные системы 289 Рис. 14.13. Нечеткое подмножество «низкая», определенное на множестве значений температуры Рис. 14.14. Нечеткое подмножество «средняя», определенное на множестве значений температуры Рис. 14.15. Нечеткое подмножество «высокая», определенное на множестве значений температуры 294 Глава 14. Нечёткие экспертные системы Рис. 14.22. Получение скалярного значения скорости вращения вентилятора методом «центра тяжести» для t = 28°С ке v = 746.6667, поэтому управляемый нашей системой вентилятор будет вращаться с такой скоростью, когда в комнате 28°С. Описанные выше операции выполняются каждый раз, когда требуется результат логического вывода. В системах, управляющих динамическими процессами, эта последовательность действий выполняется циклически. В силу того что результаты правил вычисляются раздельно, нечеткие экспертные системы эффективно реализуются на базе параллельных вычислительных систем. Возникает вопрос, оправдана ли настолько сложная система при управлении таким простым устройством, как вентилятор? Практика показывает, что оправдана. Так, например, кондиционеры, основанные на нечеткой логике, обеспечивают меньшие, по сравнению с традиционными, колебания температуры. Также они дают существенную экономию электроэнергии. 14.3. Пакеты нечеткой логики Отношение к нечеткой логике далеко не однозначно, до сих пор многие относятся скептически к будущему и возможностям этой теории. Однако нельзя не признать, что системы, созданные на ее базе, давно и успешно работают. Одной из первых сфер, где они нашли применение, стала военная промышленность. Нечеткая логика оказалась тем инструментом, который позволил создавать высокоточные системы управления оружием. К настоящему времени круг задач, при решении которых используется нечеткая логика, Глава 14. Нечёткие экспертные системы 295 заметно расширился. Возможно, и вам уже приходилось сталкиваться с бытовой техникой, прежде всего видеокамерами, стиральными машинами, кондиционерами и фотоаппаратами, на которых есть надпись «Fuzzy». В числе отраслей науки и техники, в которых использование нечеткой логики наиболее заметно, чаще всего называют: автомобильную промышленность (системы круиз контроля, l системы управления двигателями, трансмиссиями, антиблокировочные тормозные системы); аэрокосмическая промышленность (высокопроизводительные l системы управления самолетами и космическими аппаратами); приборостроение и производство бытовой техники (стиральl машины, телевизоры, видеокамеры, фотоаппараты, видеомагнитофоны и др.); системы управления производством и транспортом; l анализ и прогнозирование в сфере политики и экономики; l финансы (системы управления портфелем ценных бумаг, сисl анализа рисков); анализ данных (системы классификации, кластеризации и расl образов). В 90 х годах появились пакеты программ, дающие возможность создавать и эксплуатировать нечеткие экспертные системы. Один из наиболее развитых подобных пакетов – система CubiCalс американской фирмы HyperLogic CubiCalс – многофункциональный пакет. Это не только оболочка для создания законченных нечетких экспертных систем, но и средство разработки приложений, использующих нечеткую логику. Однако, несмотря на отсутствие той «прожорливости», которая свойственна многим современным приложениям, возможности пакета обширны. CubiCalс содержит средства для задания правил вывода, описания нечетких множеств, ввода и представления данных. В ее состав входит довольно мощный язык программирования CubiCalc’s Expression Language (CEL). Система предоставляет инструменты для отладки разрабатываемых приложений. С их помощью можно выполнять приложения по шагам, контролировать значения переменных. Очень интересной представляется возможность преобразования проектов CubiCalс в самостоятельные приложения или DLL (Dynamic Link Library). В качестве примера работы с системой CubiCalс приведём учебную задачу по идентификации (распознаванию) объектов различной природы, выполненную в рамках лабораторных работ по СИИ. 302 Глава 14. Нечёткие экспертные системы Рис. 14.29. Результаты идентификации звёзд If (Star <> Check) errors += 1;end If (endoffile=TRUE) call message(errors); end. Эти инструкции выполняют сравнение и дают приращение переменной Errors, если происходит ошибка. Последняя инструкция выводит окно с сообщением, содержащим количество ошибок при достижении конца файла с входными данными. Результаты работы представлены на рис. 14.29. Результаты сравнения двух последних столбцов показывают, что программа распознала все звезды правильно с небольшой погрешностью. написания этого раздела использовались источники: [3, 5, 10, 15, 41, 52, 54, 73, 95, 101, 111]. Вопросы для самопроверки 1. Чем отличаются ЭС от нечётких ЭС? 2. Приведите структуру нечёткой ЭС и опишите функциональное назначение её основных блоков. 3. Объясните механизм фаззификации исходны скалярных данных. Как работает механизм логического вывода в нечёткой ЭС? 5. Какие методы применяются для вычисления значений левой части нечёткого правила и опишите их? 6. Как работает механизм дефаззификации нечётких значений правой части правила в скалярные? 7. Опишите сущность методов максимума и центра тяжести. Глава 14. Нечёткие экспертные системы 303 8. Придумайте свои примеры применения нечётких систем в народном хозяйстве. 9. Опишите основные этапы проектирования нечётких систем. 10. Какая сущестует связь между методом ситуационного анализа и проектирования модели предметной области (глава 17) и технологией проектирования нечётких систем? 11. Опишите технологию реализации нечётких систем в программной среде Рrot é g é . 12. За счёт каких особенностей нечётких систем достигается существенное сжатие объёма БЗ? Глава 15 ИНЖЕНЕРИЯ ЗНАНИЙ В ИНТЕЛЛЕКТУАЛЬНЫХ СИСТЕМАХ Выявление и сбор нужных знаний – центральный вопрос, который встает перед разработчиками не только ЭС, но и других, относящихся к системам с интеллектом. Проблема в том, что эксперт и, вообще говоря, любой человек несет в себе огромное количество «скрытых» знаний, то есть знаний, которые им не осознаются и часто проявляются в сложных ситуациях, когда, возможно, решается вопрос жизни и смерти. Это знания нашего бессознательного «Я», которые мы получаем, рождаясь на свет Божий. По некоторым оценкам они составляют до 70% нашего общего знания. Мы пользуемся им, не задумываясь, не осознавая, как мы управляем руками, ногами и всем прочим, часто выполняя одновременно несколько действий. Говорят, что когда сороконожку спросили, как она управляет своими ногами, она задумалась и больше не смогла сделать ни одного шага. С детства мы тренируем руки, ноги и другое, доводя алгоритмы управления до автоматизма. Высочайших успехов спортсмены добиваются тоже благодаря немыслимым по сложности тренировкам. Теперь же мы задались целью создать машинный интеллект, который был бы сопоставим с нашим и даже выше его, хотя бы только рациональный и для узких сфер деятельности. Иначе мы не можем доверять машине принятие решений и многое другое. Нам необходим весь объем знаний и скрытых, и явных, но разбросанных по разным источникам, который бы обеспечивал решение задач, ранее решаемых только высококлассными специалистами. 15.1. Методы инженерии знаний Сложность проблемы привела к разработке целого арсенала методов [30, 31, 32, 33], обобщенная классификация которых приведена на рис. 15.1. Глава 15. Инженерия знаний в интеллектуальных системах 305 Рис. 15.1. Структура поля инженерии знаний 15.1.1. Теоретические аспекты получения знаний Очевидно, что инженеру по знаниям необходимо четко понимать природу и особенности процесса извлечения знаний. Из множества аспектов проблематики получения знаний выделяют три основных: психологический, лингвистический и методологический (гносеологический) [5]. Считается, что психологический аспект является ведущим из трех аспектов извлечения знаний, поскольку он определяет успешность и эффективность взаимодействия инженера по знаниям с источником знаний первого типа – экспертом. Психологический аспект выделяется еще и потому, что извлечение знаний происходит чаще всего в процессе непосредственного общения разработчиков ЭС, а законы психологии общения, к сожалению, часто недооцениваются или игнорируются начинающими инженерами по знаниям. Упрощенно выделяют следующие структурные компоненты: участники общения (партнеры), средства общения (процедура), предмет общения (знания). В соответствии с этой структурой выделяют три «слоя» психологических проблем, возникающих при извлечении знаний: контактный (проблемы взаимодействия партнеров); l процедурный (проблемы грамотного проведения процедуры изl (проблема получения знания как такового). l На взаимодействие партнеров влияют следующие их параметры: 306 Глава 15. Инженерия знаний в интеллектуальных системах демографические (пол, возраст, национальность, образование); l личностные (особенности личностного портрета, темперамент, l мотивация). На проведение процедуры извлечения влияют профессиональные параметры: ситуация (место, время, продолжительность); l оборудование (вспомогательные средства, освещенность, меl приемы (темп и громкость речи, мимика, l поза, интонации). Наименее исследованы проблемы когнитивного слоя, связанные с изучением пространства памяти эксперта и реконструкцией его понятийной структуры и модели рассуждений. Лингвистический аспект касается исследования языковых проблем, так как язык – это основное средство общения в процессе извлечения знаний. Гносеологический аспект извлечения знаний объединяет методологические проблемы получения нового научного знания, по- скольку при создании БЗ эксперт часто впервые формулирует некоторые закономерности, до того момента составлявшие его личный опыт. Внутренняя согласованность эмпирического знания характеризуется понятиями модальности, противоречивости и неполноты. Модальность знания означает возможность его существования в различных категориях. Возможные противоречия не всегда должны разрешаться в поле знаний, а напротив, именно они служат чаще всего отправной точкой в рассуждениях экспертов. Неполнота знания связана с невозможностью полного описания ПрО. Системность ориентирует инженера по знаниям на рассмотрение любой ПрО с позиций закономерностей системного целого и взаимодействия составляющих его частей. Процесс познания глубоко субъективен, то есть он существенно зависит от особенностей самого познающего субъекта, поэтому более корректно говорить о глубине понимания, чем об объективности знания. Таким образом, инженер по знаниям должен сосредоточиться на понимании проблемы. Историзм связан с развитием и изменением представлений о ПрО с течением времени. Методологическая структура познания может быть представлена как некоторая последовательность этапов: Глава 15. Инженерия знаний в интеллектуальных системах 307 описание и обобщение фактов; l выявление связей между фактами, формулирование правил l и закономерностей; построение модели ПрО; l объяснение и прогнозирование явлений. l 15.1.2. Методы извлечения явных знаний Рассмотрим обобщенную классификацию этих методов (рис. 15.2). Первый класс образуют методы, которые ориентированы на непосредственный контакт инженера по знаниям с экспертом (источником знаний), второй класс – текстологические методы, основанные на приобретении знаний из документов и специальной литературы. Коммуникативные методы разделяются на пассивные и активные. В пассивных методах ведущую роль играет эксперт, в активных – инженер по знаниям. При решении конкретных задач, как правило, используются как пассивные, так и активные методы. Активные методы, в свою очередь, делятся на индивидуальные и групповые. В групповых методах знания получают от множества экспертов, в индивидуальных – от единственного. Индивидуальные методы получили более широкое применение на практике. Рис. 15.2. Классификация методов извлечения знаний 308 Глава 15. Инженерия знаний в интеллектуальных системах Пассивные коммуникативные методы включают наблюдение, анализ протоколов «мыслей вслух», процедуры извлечения знаний из лекций. Метод наблюдения является одним из наиболее применяемых на начальных этапах разработки экспертных систем. Его суть заключается в фиксировании всех действий эксперта, его реплик и объяснений. При этом аналитик не вмешивается в работу эксперта, а только наблюдает за процессом решения реальных задач либо за решением проблем, имитирующих реальные задачи. Наблюдения за процессом решения реальных задач позволяют инженеру по знаниям глубже понять предметную область. Однако эксперт в этом случае испытывает большое психологическое напряжение, понимая, что осуществляет не только свою профессиональную деятельность, но и демонстрирует ее инженеру по знаниям. Наблюдение за имитацией процесса снимает это напряжение, но приводит к снижению полноты и качества извлекаемых данных. Наблюдения за имитацией незаменимы в тех случаях, когда наблюдения за реальным процессом невозможны из за специфики изучаемой предметной области. Метод анализа протоколов «мыс лей вслух» отличается от метода наблюдения тем, что эксперт не только комментирует свои действия, но и объясняет цепочку своих рассуждений, приводящих к решению. Основной проблемой, возникающей при использовании этого метода, является принципиальная сложность для любого человека словесного описания собственных мыслей и действий. Повысить полноту и качество извлекаемых знаний можно за счет многократного уточняющего протоколирования рассуждений эксперта. Метод извлечения знаний из лекций предполагает, что эксперт передает свой опыт инженеру по знаниям в форме лекций. При этом инженер по знаниям может заранее сформулировать темы лекций. Если этого не удается сделать, то инженер конспектирует лекции и задает вопросы. Качество информации, предоставленной экспертом в ходе лекции, определяется четкостью сформулированной темы, а также способностями лектора в структурировании и изложении своих знаний и рассуждений. Активные индивидуальные методы включают методы анкетирования, интервьюирования, свободного диалога и игры с экспертом. методов анкетирования является то, что анкета или вопросник составляются инженером по знаниям заранее и используются для опроса экспертов. Составление анкеты следу- Глава 15. Инженерия знаний в интеллектуальных системах 313 Рис. 15.3. Классификация экспертных игр 15.1.3. Методы выявления скрытых знаний Для выявления скрытых знаний обычно рекомендуются методы психосемантики, которые позволяют исследовать структуры сознания через моделирование индивидуальной системы знаний человека и выявлять элементы знаний, которые могут им не осознаваться (латентные, скрытые, имплицитные). Эта наука объединяет методы когнитивной психологии, психолингвистики, психологии восприятия и исследования индивидуального сознания. Методы многомерного шкалирования основаны на статистических методах обработки экспертных оценок сходства между анализируемыми объектами, которые выбираются из определенной шкалы. Результаты обработки представляются в виде точек некоторого координатного пространства. Возможность визуализации результатов является безусловным преимуществом метода, однако она быстро утрачивается с увеличением размерности пространства. называют поиск подпространства, для которо го величина * имеет минимальное значение. Здесь , m m m D D D * – матрицы расстояний между объектами (признаками) в ис m D ходном пространстве и в искомом подпространстве * , где m m D D и – размерности соответствующих пространств. Если * m m , шкалирование превращается в проецирование на плос * m 2 кость. Значения расстояний в матрицах могут выбираться экс D пертом из предложенной шкалы либо вычисляться по совокупно сти признаков, описывающих объект. Во втором случае расстоя ния можно вычислить разными способами. Одной из самых попу лярных метрик является евклидово расстояние: 12 314 Глава 15. Инженерия знаний в интеллектуальных системах 12 K 2 , k k d x x , i j i j 1 k где , – значения го признака у i го и j го объектов соответ k k x x k i j ственно; – общее число признаков. K Расстояния метрики должны удовлетворять следующим усло виям: , 0; , 0; , , ; , , , d x d x d x d y x d x d y z d x z . Метрическим шкалированием называют образование новых классов с использованием метрических расстояний. Этот тип об работки данных ориентирован на максимальное сближение чи словых значений матриц и * . Существует также неметриче m m D D ское шкалирование, которое не предъявляет жестких требований к сближению пространств и во многих случаях более оправдано в связи с условностью понятия «расстояние». Важно отметить, что в шкалировании отыскиваются не новые признаки, а новые пространства, поэтому его результаты следует интерпретировать как восстановленную (на плоскости или в объеме) структуру расположения точек. Главными недостатками метода многомерного шкалирования являются: субъективные оценки сходства между объектами и признаками l обрабатываются как расстояния в пространстве, а результаты анализируются на основе геометрической интерпретации. Это ограничивает размерность выявляемых пространств и требует серьезного упрощения реальных знаний эксперта, следствием которого могут стать неадекватные БЗ; выделенные подпространства не имеют иерархической органиl что затрудняет их интерпретацию; используется только один вид отношений между понятиями l (отношение сходства). Метафорический подход ориентирован на выявление скрытых составляющих практического опыта эксперта и основан на сравнении объектов предметной области с абстрактными объектами из мира метафор, в результате чего можно выявить новые свойства анализируемых объектов и определить отношение эксперта к ним. Используя метафорические сравнения, эксперт выходит за рамки объективности и действует в соответствии со своими субъективными представлениями. Метод репертуарных решеток широко применяется в психологических исследованиях для выявления личностных свойств, Глава 15. Инженерия знаний в интеллектуальных системах 315 которые проявляются через систему личностных конструктов. Этот метод может применяться и для извлечения знаний. Репертуарная решетка представляет собой матрицу, которая заполняется экспертом. Столбцам матрицы соответствуют определенные группы объектов (элементов), в качестве которых могут выступать люди, предметы, понятия, отношения, звуки и др. Строки матрицы соответствуют конструктам, которые представляют собой биполярные признаки, параметры, шкалы, отношения или способы поведения. Дж. Келли, автор этого метода, называл конструктом признак или свойство, определяющие сходство двух или нескольких объектов и их отличие от других объектов. Иными словами, конструкты – это признаки, которые могут использоваться для обобщения и разделения объектов на классы. Конструкты можно применить не к любым объектам, а только в некотором «диапазоне их пригодности». Примерами личностных конструктов могут быть «умный – глупый», «мужской – женский», «хороший – плохой». Самым распространенным и простым методом анализа репертуарной решетки является кластерный анализ. Слабым местом в теории Дж. Келли является предположение о том, что человек может точно описать конструкты, которые он использует, чтобы объяснить, чем сравниваемые объекты похожи друг на друга и чем отличаются. Процедура выявления и вербализации конструктов очень утомительна для экспертов, поэтому во многих методиках используются готовые наборы конструктов, релевантные рассматриваемым объектам 15.2. Проблемы структурирования знаний Ясно, что объем и содержание нужных знаний должны определяться принятыми разработчиками понятием модели предметной области (МПрО) и методикой ее построения. А понятия эти у разных авторов – разные, зависят от целей, которые ставят перед собой авторы, принятых подходов, субъективных предпочтений, ориентации на определенные классы задач, методы формализации и т.д. Сходятся они в одном: нужно выделить объекты предметной области (ПрО), их свойства и отношения между ними. Сегодня чаще говорят о необходимости построения онтологии ПрО как неформальной системы концептуализации знаний, как метода их структурирования. Выделяются три основных подхода к структу- 316 Глава 15. Инженерия знаний в интеллектуальных системах рированию знаний: структурный, объектный и объектно структурный. подход основан на идее алгоритмической декомпозиции, когда каждый модуль системы выполняет один из этапов общего процесса. В рамках этого подхода разработано большое число выразительных средств: диаграммы потоков данных, структурированные словари (тезаурусы), языки спецификации системы, таблицы решений, стрелочные диаграммы, деревья переходов, деревья целей и т.д. Объектно ориентированный подход связан с декомпозицией, при которой каждый объект рассматривается как экземпляр определенного класса. К базовым понятиям подхода относятся такие как: абстрагирование, класс, иерархия, наследование, типизация, инкапсуляция, модульность, полиморфизм. Абстрагирование – это упрощенное описание системы, в котоl выделяются ее наиболее существенные свойства и детали, а незначительные аспекты опускаются. Реальность представляется моделью сущности (объекта) и моделью (методом) ее поведения. При этом объекты соответствуют понятиям ПрО, а методы – операциям, которые должны выполняться над объектами. Класс – множество объектов, у которых структура и свойства l одинаковы. Иерархия – это упорядоченная система абстракций – классов. l Наследование – соотношение между классами, когда один l класс использует структурную или функциональную часть другого класса (или нескольких других). Типизация – ограничение, накладываемое на класс, которое l препятствует взаимозаменяемости объектов, принадлежащих разным классам. Инкапсуляция – ограничение доступа к внутренней структуре l и механизмам функционирования объекта. Модульность – свойство системы, допускающее возможность l ее декомпозиции на ряд взаимосвязанных частей (модулей). Полиморфизм – возможность наделения объекта различными l свойствами и стратегиями поведениями. Другими словами, предполагается, что одно имя может соответствовать различным классам объектов, входящим в один суперкласс. То есть объект, обозначенный этим именем, может по разному реагировать на некоторые действия. Объектно структурный подход предполагает проведение последовательного анализа информации о рассматриваемой ПрО Глава 15. Инженерия знаний в интеллектуальных системах 317 Таблица 15.1 Уровень Категория Вид анализа страты страты Организационный анализ: коллектив 1 КТО разработчиков Концептуальный анализ: основные 2 ЧТО принципы, понятийная структура Стратегический анализ: назначение и 3 ЗАЧЕМ функции системы Функциональный анализ: гипотезы и 4 КАК модели принимаемых решений Пространственный анализ: окружение, 5 ГДЕ оборудование, коммуникации Временной анализ: временные парамет 6 КОГДА ры и ограничения Причинно следственный (каузальный) 7 ПОЧЕМУ анализ Экономический анализ: ресурсы, при 8 СКОЛЬКО быль, окупаемость 15 3 и ее представления в виде стратифи ци рованной модели, в которой все знания раскладываются по ролевым стратам: кто, что, зачем, как, где, когда, почему, сколько и т.п. (табл. 15.1). 15.3. Проблема сборки знаний в единую модель предметной области Из приведенного обзора поля методов инженерии знаний становится ясно, что рядовой инженер по знаниям (или когнитолог), и не только он, должен все перечисленное реально знать и понимать настолько, чтобы свободно ориентироваться, когда, что и как применять при разработке БЗ ЭС реальной сложности. Очевидно, что в работе с экспертом (экспертами) должны принимать участие психологи, методологи, игротехники математики и другие люди, умеющие четко взаимодействовать между собой, что само по себе не просто. Но если они даже справятся со своими задачами, возникают вопросы согласования полученных знаний, их представления, визуализации, структурирования. В итоге формируется весьма запутанная общая картина. Необходим единый метод, с единой концепцией и структурой, который 318 Глава 15. Инженерия знаний в интеллектуальных системах сквозным образом приведет к нужному результату, который в начале никто себе и не представляет? И для которого все перечисленные методы будут играть лишь ту роль, для которой они более всего подходят. То есть будут использоваться тогда, когда это действительно нужно и понятно зачем. Очевидно, это должны быть специальный метод, методика, соответствующие программные средства, которые будут увязывать все в единое целое: процессы работы с экспертом при выполнении всех типов анализов, фиксацию получаемых знаний, их обработку, выдачу на выходе результатов в виде готовой к использованию модели предметной области (БЗ). Представляется, что многие из перечисленных проблем достаточно эффективно снимаются на основе технологии метода ситуационного анализа и проектирования модели предметной области, разработанный в работах научной школы Болотовой (Загадской) Л.С. [14–24, 91, 99]. При подготовке этого раздела применялись материалы следующих источников: [5, 10, 16, 25, 28–33, 41, 44, 49, 55, 59, 66, 67, 73, 74, 76, 77, 89, 95, 101, 111]. Вопросы для самопроверки и упражнения 1. Какие проблемы изучает инженерия знаний? 2. Как интерпретируется понятие «извлечение знаний», какие основные методы используются для его получения? 3. В чем сущность психологических проблем взаимодействия с экспертами? 4. Опишите структуру поля методов получения знаний. 5. Какие методы применяются для получения явных знаний? 6. Что понимается под «скрытыми» знаниями, каковы основные подходы к их получению? 7. Какие основные подходы существуют для решенияю проблемы структурирования знаний? 8. Какие основные типы моделей представления знаний существуют? Глава 16 МЕТОДОЛОГИЧЕСКИЕ И ТЕОРЕТИЧЕСКИЕ ОСНОВЫ СИТУАЦИОННОГО АНАЛИЗА И ПРОЕКТИРОВАНИЯ МОДЕЛИ ПРЕДМЕТНОЙ ОБЛАСТИ 16.1. Базовые идеи 1) Постепенное формирование ситуационной модели ПрО в мозге человека по мере приобретения им опыта (Пушкин В.Н. [85, 86, 87, 92]). 2) Семиотический подход к описанию сложных и больших систем управления, разработанный в трудах советских лингвистов (Шрейдер Ю.А. и др. [127, 128]). 3) Метод ситуационного управления большими системами, предложенный Поспеловым Д.А. и Клыковым Ю.И. [51, 81]. 4) Метод концептуального анализа и проектирования систем организационного управления, разработанный Никаноровым С.П. [69, 70, 71]. 16.2. Ситуационная абстракция и ее свойства Исследования процессов принятия решений человеком, выполненные методами психологии, нейрофизиологии и другими научными дисциплинами, показали, что психологический механизм регулирования актов поведения тесно связан с построением в структурах мозга информационной модели той среды, в которой находится организм, включая также сведения о целевом условии и возможных способах воздействия на среду, необходимых для решения той или иной задачи. Целевые условия представляют собой некоторое желаемое состояние внешней среды, то есть то состояние, в которое должна перейти среда в результате воздействия субъекта или системы [39, 40]. Объекты внешней среды всегда находятся в некотором отношении друг с другом. Выявление отношений между ними, равно как 320 Глава 16. Методологические и теоретические основы ситуационного анализа и создание информационных аналогов самих объектов со всеми присущими им свойствами, позволяет построить модель среды и, в частности, – модель объекта управления. Некоторые из отношений наблюдаются непосредственно с помощью органов чувств, другие представляют собой абстрактные отношения, связанные с проявлением функциональных свойств объектов. Одновременное восприятие двух или нескольких объектов внешней среды дает возможность формировать представления о тех или иных непосредственно наблюдаемых отношениях между ними. Отношения абстрактного характера сами представляют собой некоторые сложные понятия и должны быть предварительно сведены к некоторым простым базисным отношениям. Таким образом, система памяти должна обладать свойством хранения понятий всех уровней абстракции и отношений между ними, что в совокупности создает понятийную (концептуальную) модель внешнего мира. Концептуальная модель представляет собой некоторый набор, или алфавит образов и моделей реальной и прогнозируемой ситуаций и совокупность знаний о возможных управляющих и исполнительных действиях. Содержание образов и моделей реальной ситуации должно соответствовать задачам, стоящим перед решающим конкретную проблему человеком. Основными механизмами регулирования процесса построения решения являются операции: распознавание и классификация ситуаций, формирование гипотезы решения, прогнозирование возможного результата решения и др. Сам процесс принятия решений основан на модели объекта управления или, употребляя другую терминологию, на его ситуационной абстракции. Таким образом, ситуационная абстракция может быть определена через совокупность объектов как статических, так и динамических, которые входят в состав данной ситуации, возможных отношений между ними и тех решений, которые переведут данное состояние в некоторое другое на основе исследования общих свойств и закономерностей их изменения. Анализ позволяет обнаружить еще одно весьма существенное свойство ситуационной абстракции. Это свойство может быть охарактеризовано как принципиальная неполнота информации – о свойствах, законах их изменения, взаимовлияний и т.д. Нетрудно видеть, что каждый элемент ситуации в зависимости от того, со сколькими объектами его можно связать, потенциально обладает огромным количеством свойств и в любой проблемной ситуации независимо от того, решена она или нет, после построения ситуационной абстракции всегда останется множество невыявлен- Глава 16. Методологические и теоретические основы ситуационного анализа 321 ных, неактуализированных свойств. Именно в это множество входят обычно те свойства, которые принято называть скрытыми или латентными и от обнаружения которых нередко зависит успех решения проблемы. Таким образом, процесс построения ситуационных абстракций говорит о том, что этот процесс является по существу процессом выявления системы элементов, составляющих проблемную ситуацию, установление связей между ними и закономерностей их поведения. 16.3. Семиотический подход к описанию объектов управления и моделирования В качестве основного метода описания внешнего мира предлагается семиотический подход, то есть подход с позиции понятий о знаках и знаковых системах [127, 128]. Рассмотрим связи, которые возникают между знаком, концептом и денотатом на примере треугольника Фреге (рис. 16.1). Между ними существуют следующие связи (отношения): связь 1 – активизирует по имени в памяти образ сущности и ее l свойства, а в обратном направлении позволяет по описанию сущности определить ее имя; связь 2 – по представлению о сущности можно найти информаl о ее свойствах или сформировать представление о сущности по совокупности ее свойств; связь 3 – соединяет представление о денотате с его именем, то l есть имя может активизировать представление и наоборот. Особое значение в этом случае имеют отношения наследования: элемент – класс (Is A), часть – целое (Part of While), вид – род (АКО – a Kind of). Рис. 16.1. Треугольник Фреге 322 Глава 16. Методологические и теоретические основы ситуационного анализа В отношении элемент – класс между элементами класса может не быть никакого сходства, кроме их принадлежности одному классу. Определение класса тогда задается путем простого пере- ∈ числения имен входящих в него элементов (x X). В отношении часть – целое (Y) наследуется часть свойств сущ⊂ которой приписана роль целого (X) (Y X). При этом части могут быть совершенно не похожи друг на друга. Отношение род – вид базируется на наследовании всех свойств X видом Z (например, любой вид млекопитающих наследует признак выкармливания детенышей молоком). Поэтому между видами обязательно сходство. Между знаками на одном уровне устанавливаются свои отношения [31, 32]. В прямоугольнике Поспелова Д.А., где добавляется 4 я вершина, соответствующая прагматической составляющей знака, возникают еще две связи – 4 я и 5 я (рис. 16.2). связь 4 – определяет отношение между семантикой и прагматиl то есть между смыслом ситуации и действиями над объектом, обозначаемым данным знаком; в обратном направлении эта связь соответствует объяснению причин тех или иных событий. связь 5 – предполагает переход к действиям при одном упомиl имени объекта без анализа его семантики (например, нажать на тормоз при красном сигнале светофора), а также позволяет восстановить имя (объекта, события и т.п.) по совершенным действиям. Таким образом, изучая перечисленные связи, мы выявляем знания, которые соответствуют анализам типов: кто, как, зачем, поче- му и т.д. (табл. 15.1). Знак Прагматика 5 1 3 4 2 Денотат Концепт Рис. 16.2. Прямоугольник Поспелова Глава 16. Методологические и теоретические основы ситуационного анализа 323 16.4. Метод ситуационного управления В основе метода ситуационного управления лежат три основных принципа. Первый акцентирует роль языка в решении задач управления и утверждает, что необходим язык, обеспечивающий такую формализацию проблемы, которая гарантирует достаточную, с точки зрения человека, адекватность описания информационной модели самого объекта, процессов его функционирования и внешней среды, определяющей условия принятия решений в конкретных ситуациях. В связи с этим в ситуационных моделях формализация объекта осуществляется на языке, близком к естественному. Основными, сохраняемыми знаками являются знаки двух видов: понятия и отношения. Понятия представляют собой знаки, которые ставятся в соответствие объектам или явлениям из моделируемого класса задач. Отношения описываются знаками, которые соответствуют связям между объектами или явлениями из этого же класса задач. По аналогии с грамматикой естественного языка в языке ситуационных моделей также задается ряд формальных правил порождения производных понятий и отношений. Вторая концепция метода базируется на принципе классификации ситуаций. Состоит он в том, что при создании модели управления необходимо разбиение множества всех возможных ситуаций на классы таким образом, чтобы каждому классу можно было сопоставить либо решение по управлению, либо модель, обеспечивающую порождение допустимых рациональных решений. Выбор наилучшего решения из этого множества может происходить на основе либо эвристических процедур, либо известных точных математических моделей. Предполагается при этом, что мощность множества всех ситуаций существенно больше множества всех средств порождения рациональных решений. Каждый класс ситуаций описывается в обобщенном виде, отнесение конкретной ситуации к одному из классов в процессе принятия решений состоит в определении того обобщенного описания, частным случаем которого является эта ситуация. Таким образом, на основе принципа классификации в процессе принятия решений осуществляется порождение области поиска управляющих решений, удовлетворяющих целям функционирования системы. Это, в свою очередь, обеспечивает возможность решения задач управления с неопределенной областью поиска решений, что является 324 Глава 16. Методологические и теоретические основы ситуационного анализа принципиально важным и отличает метод от традиционных подходов. Как известно, любую задачу управления можно представить в виде графа, одна из вершин которого соответствует исходному состоянию объекта управления, а остальные – возможным его состояниям. Дуги интерпретируются как команды управления, переводящие объект из одного состояния в другое. Решение задачи состоит в нахождении такого пути на графе, по которому исходное состояние переводится в целевое оптимальным образом. Таким образом, могут быть поставлены и решены задачи, для которых граф управления известен заранее. В случаях, когда граф либо не известен, либо он слишком велик, традиционные методы недостаточны и необходим переход к методам решения задач с неизвестным графом, и метод ситуационного управления предлагает один из таких подходов. Третий принцип метода предполагает наличие аппарата, позволяющего строить модель управления объектом на основе обучения этих моделей принятию решений. Обучение должно осуществляться либо экспертом, либо на основе опыта решения задач управления, накапливаемого ситуационной моделью управления в процессе своего функционирования. При этом обучение состоит в формировании самой модели объекта, а затем модели принятия решений по управлению. Этот принцип обеспечивает создание моделей, способных к усовершенствованию функций принятия решений, к адаптации в изменяющихся условиях работы. Это означает также возможность расширения модели, ее функций и ассортимента решаемых задач, реализации принципов и «выращивания» модели для заданных условий. 16.5. Методология концептуального анализа и проектирования В ее основе лежит идея анализа и проектирования конструкции моделей ПрО и самих БЗ в виде системы инвариантных конструктов моделей и задания метода их интеграции в некоторую единую понятийную структуру [33]. Вся работа с экспертами строится сообразно этим моделям. В этом случае возможны мощная инструментальная поддержка, организация процессов обучения, самообучения и развития. Основная идея концептуального анализа и проектирования (КАиП) состоит в том, что условием решения проблемы данной сложности является точное, технологичное, эффективное Глава 16. Методологические и теоретические основы ситуационного анализа 325 мышление субъектов этой проблемы, свободное от традиций и познавательных предрассудков. Такое мышление создается путем сознательного его строительства, а не путем фиксации сложившихся стереотипов. Его строительство является формой контролируемой рефлексии мышления. Масштаб ПрО и глубина их исследования не являются ограничением для такого мышления. Выходным продуктом такого технологического мышления является стандартная по своей форме модель ПрО, основания и выводы которой непосредственно могут контролироваться. Это создает благоприятные возможности для использования гипотетико дедуктивного метода и для создания инструментальной системы поддержки процесса концептуального анализа и проектирования модели ПрО. При этом исследование, конструирование и реализация считаются сторонами единого процесса. Формальное выражает, проверяет и поддерживает творческое. Все элементы системы ценностно ориентированы путем задания целей системы, которые явно формулируются. Поэтому язык всей системы естественным образом вытекает из используемых понятий, а не наоборот, когда понятия вытекают из сложившегося языка. Таким образом, работа с экспертом ведется в русле дисциплинированного мышления путем использования готовых интеллектуальных единиц, называемых в логике «конструктами». Модель ПрО в результате представляется в виде особым образом связанных конструктов, их описаний и отношений между ними. При таком подходе появляются возможности сравнения конструктов и построения более сложных из простых средствами формальной логики и искусственного интеллекта, которым придается операциональная форма. Класс конструктов, необходимых для решения задач управления и принятия решений, представляется в виде теоретико системных форм, их предметной интерпретации и использования в процессах функционирования. Совокупность применяемых средств образует концептуальные методы и способ мышления – концептуальную методологию, а процесс исследования и проектирования – концептуальную технологию. Все вместе составляет суть КАиП систем управления и поддержки принятия решений. Таким образом, конструкт – это особое средство, полученное самим человеком (разработчиком или экспертом), проверенное им на практике, позволяющее ему воспринимать и понимать окружающую действительность, оценивать и прогнозировать события. Конструкты могут быть личностные (субъективные) и модельные. Глава 16. Методологические и теоретические основы ситуационного анализа 327 Для работы с материалом этой главы использовались источники: [7, 49, 51, 53, 57, 58, 69, 70, 71, 83–87, 91, 92, 97, 98, 127–129, 143, 148]. Вопросы для самопроверки 1. Какие идеи положены в основу психологической концепции ситуационного анализа? 2. Каковы основные положения метода ситуационного управления? Почему возникла необходимость в семиотическом подходе к описанию систем ситуационного управления? 4. Сущность семиотического подхода к описанию предметной области. Какие связи могут быть между знаками и реальным миром? 6. Сформулировать сущность концептуального подхода к проектированию модели предметной области? Глава 17 МЕТОД СИТУАЦИОННОГО АНАЛИЗА И ПРОЕКТИРОВАНИЯ МОДЕЛИ ПРЕДМЕТНОЙ ОБЛАСТИ Метод ситуационного управления, как было показано в р. 16.4, был разработан применительно к случаю, когда число возможных ситуаций в ПрО объекта управления существенно больше числа решений, то есть . Таким образом, предполагалось, что все S U решения множества являются законченными решениями, не U требующими дополнительной интерпретации, конкретизации и достраивания. Типичными примерами таких решений, например, являются: управление движением на перекрестке – включить красный (зеленый) свет; управление эскалаторами метро – запус тить движение эскалатора вниз (вверх); принятие решения бан ком о выдаче кому то кредита – выдать кредит или нет; преду преждение граждан о степени террористической напряженности в стране – на соответствующих табло включить зеленый (красный, желтый и т.п.) цвет и т.п. Однако, как показала практика, таких систем управления немного. Для большинства вопрос о числе возможных решений и их соотношении с числом возможных си туаций вообще является открытым. Поэтому можно говорить о случаях, когда число возможных ситуаций либо соизмеримо с числом решений, либо самих решений достаточно много, чтобы их заранее перечислить, то есть , либо множество доста S U U точно велико и открыто. Например, в решении о выдаче кредита не ясными остаются вопросы: размер кредита, время выдачи, ус ловия выдачи, срок кредита. Чтобы ответить на перечисленные вопросы, нужно их рассмотреть как самостоятельные задачи, тре бующие существенного развития модели ПрО и соответственно самого метода ситуационного управления. Именно для этих слу чаев в работах Болотовой (Загадской) Л.С. предложен метод си туационного анализа и проектирования модели ПрО произволь ной природы [10, 11, 12, 14]. Глава 17. Метод ситуационного анализа и проектирования модели предметной области 329 17.1. Концептуальная структура единичного решения Исходное (decision – рассматривается как действие, решение d) имеющее следующую структуру: – – субъект действия действие – объект действия компоненты действия, влияющие на решение. Для приведенного выше примера эта структура выглядит так: субъект действия (банк) – действие (выдать) – объект действия (кредит) – компоненты действия, влияющие на решение (поло жение клиента: семья, здоровье, возраст, наличие собственности и т.п., экономическое положение России, положение в мире, оценка и прогноз устойчивости самого кредитора банка и т.д.). Таким образом, первоначальное решение может быть развернуто в дере во решений, на каждом уровне которого нужны свои знания. Фак тически мы сформировали для рассматриваемого решения мета X структуру вида (рис. 17.1), где – субъект действия (action as X – действие (action X – объект действия subject – as); – a); a ao X , X , , X (action – компоненты действия object – ao); ac ac ac 1 2 n (action Субъект действия, объект действия и все components – ac). компоненты действия связаны с самим действием X бинарными a структурными отношениями R трех возможных типов: str r X , X – отношение между субъектом действия и действием; as as a r X , X – отношение между действием и объектом действия; ao a ao r X , X , r X , X ,..., r X , X – отношения между ac a ac ac a ac ac a ac 1 1 2 n n 2 действием и компонентами действия. Многолетние исследования показали, что решения для любых других ПрО могут быть представлены такими же структурами, вершины которых – имена субъекта действия, самого действия, объекта действия и его компонент. В решении четко выделяются Рис. 17.1. Структурная схема единичного решения 330 Глава 17. Метод ситуационного анализа и проектирования модели предметной области две части: функционально целевая (субъект – действие объект – ФЦЧ) и обеспечивающая (субъект – действие (компонента 1, компонента 2, …, компонента ) – ОЧ), образующие единую n структуру. При этом ФЦЧ естественно назвать задачей управле ния , а ОЧ обозначим как . Тогда вся структура является их Z Q объединением: , D Z Q , , где , Z r X X r X X as as a ao a ao , , , ... , Q r X X r X X r X X r X X . as as a ac a ac ac a ac acn a ac 1 1 2 2 n Относительно структуры решения (рис. 17.1) можно сформу лировать следующие утверждения: в любом решении по управлению само решение отождествля ется с действием, у которого есть субъект и объект, описывает ся оно как императив в виде глагола, задаваемого в инфини тивной форме (сделать, выдать, построить и т.п.); решение выступает в роли целеобразующей составляющей за дачи по управлению, в этом смысле дерево решений может отождествляться с деревом целей или задач; двухуровневый граф со структурой является инвариантом по отношению к произвольной ПрО. Следуя методу КАиП, структура решения (рис. 6.1) является искусственной метаструктурой, удобной для организации на правленного процесса проектирования, то есть конструктом, при том сложным, составленным из простых (терминальных) конст руктов типа: субъект действия – действие (action subject – action (as a)), действие – объект действия (action – action object (a ao)), действие – компонента действия (action – action component (a ac)). Назовем этот конструкт концептуальной структурой еди ничного решения (КСЕР). Множество КСЕР обозначим через , , . 1, , , , i m D d d d d z q 1 2 m i i i Таким образом, вершины задают границы ПрО, необходи d i мой для вывода данного решения и проектирования соответст вующей модели ПрО. Очевидно, что все вершины КСЕР, кроме вершины действия, могут быть связаны между собой пространственными, логиче скими, другими типами отношений (как вертикальными, так и горизонтальными), образующими, в свою очередь, простые кон структы типа: as ao, as ac, ao ac, ac ac со своими двунаправлен ными бинарными семантическими отношениями между вхо R sem Т КСЕР 334 Глава 17. Метод ситуационного анализа и проектирования модели предметной области Рис. 17.6. Примеры концептуальных структур единичных решений где – число возможных значений каждого свойства, k k k t 1 2 s – число отношений, участвующих в данной структуре. Например, если ( ) 3 , ( ) 3 , ( ) 2 , ( ) 4 , а число отношений k p k p k p k p 1 1 2 2 3 3 4 4 3 3 3 2 4 2 576 в структуре равно, например, 3, то воз N d можных ситуаций на одной структуре (рис. 17.6). d i Множество КСЕР ( , i= 1, 2, …, n) является основой для гене d i : рации БЗ как отображения , то есть множе F d S d X d i i a i ства прототипов ситуаций или правил, которым соответствует решение действие данной . При этом в зависимости от тре X d a i бований к проектируемой ЭС (статическая, динамическая, про гнозирующая) могут генерироваться правила различных типов: логико трансформационные для преобразования ситуаций предусловий в соответствии с принятыми решениями – в ЭС с обратной связью, для экстраполяции ситуаций постусловий на требуемый период времени – в динамических ЭС [81]. Таким об разом, на этом этапе КСЕР превращается в полноценную кон d i цептуальную модель предметной области единичного решения КМПрО ЕР: (под понимается концепт КСЕР ). C d C d d i i i 17.2. Концептуальная модель предметной области Для проектирования полной КМПрО, разрабатываются КСЕРы , , , для всех элементов множества . Итоговая кон D d d d 1 2 m Глава 17. Метод ситуационного анализа и проектирования модели предметной области 335 цептуальная модель всей предметной области соответственно яв ляется результатом их объединения в единую КМПрО: n ( ) C D C d . Однако это объединение не механическое, так как i 1 i над выполняется ряд операций, аналогичных теоретико d i множественным: пересечения, включения, дополнения, разности, объединения и др. Кроме того, между разными КСЕР может су ществовать отношение части и целого в случаях, когда единичное решение может быть развернуто в дерево решений, аналогичное дереву разбиения задачи на подзадачи. Графически такое решение описывается в виде графа редукции (И/ИЛИ графа), вершины которого отождествляются с именами решений – ( 1, ), а X i n a i дуги – с отношением часть – целое (part of while – ). r pow 17.2.1. Операции над КСЕР Перечисленные операции определяются следующим образом. \ Разность КСЕР , определяется как , то есть та d d d d d j ij j i i , 1, часть , которая отсутствует в , . d d i j m j i / Объединение КСЕР , определяется как , d d d d d d ij i j i j i , 1, . i j m Пересечение КСЕР , определяется как , d d d d d j ij i j i . При этом возможны пересечения следующих типов: , 1, i j m 1. . В этом случае является простым объединени d d d i j ij ем двух структур, то есть: , , 1, . C d C d C d i j m ij i j 2. При возможны следующие варианты. d d i j 2.1. Пересечение по одному типу вершин. 2.1.1. Пересечение по субъекту действия: , 1, , . d d X i j m i j as ij В этом случае один и тот же субъект совершает разные дейст вия над разными объектами, используя при этом различные ком поненты (рис. 17.7). Это допустимо. 2.1.2. Пересечение по самому действию: , . , 1, i j m d d X i j a ij Здесь очевидно противоречие: одно и то же действие выполня ется различными субъектами, в роли которых могут выступать люди, автоматы, программы и т.п. При этом у них объекты и ком поненты действий не пересекаются (рис. 17.8). Это должно насто рожить инженера по знаниям. Необходимо дополнительное ис следование, в чем тут дело: либо все правильно, но тогда нужно устранять организационную неувязку уже в самой системе управ 336 Глава 17. Метод ситуационного анализа и проектирования модели предметной области Рис. 17.7. Пересечение КСЕР d , d по субъекту действия i j Рис. 17.8. Пересечение КСЕР d , d по действию i j ления (очевидно, не инженером по знаниям). И задача инженера по знаниям – довести эту информацию до руководства. Либо, во втором случае, имеется путаница в названиях (терминах) соот ветствующих вершин и ее надо тоже устранять. 2.1.3. Пересечение по объекту действия: , , 1, . d d X i j m i j ao ij В этом случае над одним и тем же объектом выполняется два, возможно, более двух действий с помощью разных компонент (рис. 17.9). Это допустимо. 2.1.4. Пересечение по одной или нескольким компонентам дей ствия: , , 1, . d d X X i j m i j c c 1 2 ij ij Глава 17. Метод ситуационного анализа и проектирования модели предметной области 345 Формирование концептов как понятийных структур всех эле ментов КСЕР и полной КМПрО осуществляется путем выполне ния над ними операций , и . / Очевидно, что результаты операции объединения концептов действий определяются типом пересечения соответствующих им структур. Так для ситуации, когда , , не зависимы, их КМ d d d d i i j j является простым объединением двух структур: C d ij , 1, , . C d C d C d i j m ij i j Для остальных вариантов пересечения при формировании КМ концепты всех вершин КСЕР (содержание ) наращи C d d d ij ij ij ваются разностью в концептах , путем добавления к концеп d d j i там соответствующих вершин КМ новых свойств и отношений. Например: для случая, когда в пересечение попадает вершина «субъект действия», концепт этой вершины представляяется, как: \ , , 1, , где C X C X C X C X i j m as as as as ij i j i \ понимается как разность концептов субъектов C X C X as as j i , , то есть в итоговую модель добавляется та часть содер X X as as j i жания , которая отсутствует в . X X as as j i 17.2.2. Взаимодействие концептуальных структур единичных решений Одна или несколько компонент действия могут сами являться d i объектами одного или нескольких действий в других КСЕР, то есть объекты компоненты могут играть одновременно в данной ПрО несколько ролей и для каждой из них важны разные свойст ва и отношения, то есть у них должны быть разные концепты. При этом действие , очевидно, не может быть выполнено, пока не X a j будет выполнено требуемое действие над компонентой дей X ac 2 i ствия . Это означает, что между действиями структур , X d d a j i i автоматически проявляется неявное отношение «действие – под действие» (рис. 17.23). Если таких компонент несколько, то вер шины действия структур , ( , 1, ) связаны отношением d d j k m k j редукции И/ИЛИ. Для случая ИЛИ необходимо устанавливать приоритеты выполнения альтернативных действий. Для случая И вопросы пересечения структур , рассматриваются аналогич d d j k ным 2.1.1 – 2.3.4 образом. Объектами действия могут быть одна или несколько компо нент действия одновременно. Рассмотрим их взаимодействие, предположив, что две компоненты действия являются, в свою d i очередь, компонентами действий , неявное отношение «дей d d k j ствие – поддействие» (рис. 17.24). 346 Глава 17. Метод ситуационного анализа и проектирования модели предметной области Рис. 17.23. Проявление неявного отношения «действие–поддействие» между действиями d , d i j Рис. 17.24. Проявление неявного отношения «действие–поддействие» между действиями d , d , d i j k Возможны следующие варианты взаимодействия разноуров невых структур. 1. Субъекты действия в структурах , не совпадают, то есть d d i j (рис. 17.25, 17.26). Это означает, что эти действия вы X X as as i j полняются разными субъектами, между которыми должно суще 348 Глава 17. Метод ситуационного анализа и проектирования модели предметной области Рис. 17.27. Проявление необходимости слияния концептов субъектов действий X , X , X as as as i j j ствовать отношение организационной иерархии (подчинения). Если этого нет, то и не может быть уверенности в выполнении данного действия. Следовательно, требование наличия организа ционного подчинения проявляется автоматически. И если его на самом деле нет, то его необходимо ввести в какой то форме. Бу дем интерпретировать это отношение как отношение «часть – це лое» ( ). Допустим также, что для и построены соот X r X as pow as j i ветствующие КСЕР , и их концептуальные модели: , d d C d i j i . Тогда КМ есть: C d d j ij , , , C d C d C d r X X r X X ij i j pow as as pow ao ao i j i j . , 1, i j m 2. При совпадении субъектов действия в структурах , , то d d i j есть когда (рис. 17.27), необходимо рассматривать кон X X as as i j цепты и на предмет слияния. X X as as j i 17.3. Концептуальная модель предметной области Цепочка вложенных КСЕР, образующаяся по отношениям дейст вие – поддействие, субъект – надсубъект, объект – подобъект мо жет продолжаться до тех пор, пока не будет достигнут уровень Глава 17. Метод ситуационного анализа и проектирования модели предметной области 349 терминальных действий решений, то есть элементарных дейст вий. В результате мы получим концептуальную модель простран ства решений всей ПрО (КСР ПрО): , m , , , D d G X R G X R G X R i as pow a pow ao pow 1 i , , , где , , – графы деревья ие G X R G X R G X R as pow a pow ao pow рархии: субъектов действий (субъектный уровень описания); са мих действий (операциональный уровень описания); объектов (объектный уровень описания) соответственно. КСР ПрО, таким образом, представляется в виде трехслойного графа: первый слой – иерархия субъектов действий; второй слой – иерархия действий, третий слой описывает уровень взаимодей ствия объектов, компонент действий и отношений между ними. Именно он определяет структуру ситуационного пространства решений (рис. 17.28). На рис. 17.28: «цветок» изображает семантические отно шения между объектом и компонентами действия ; пунктир d i ными вертикальными линиями показаны структурные отношения между парами: субъект действия – действие, действие – объект действия, действие – компонента действия; пунктирные круги вокруг «цветков» – группы семантических отношений в рамках каждой (для упрощения рисунка показан только один такой d i «цветок», а они должны быть вокруг всех вершин типа объект действия); сплошными линиями показаны отношения иерархии на уровне субъектов действия, действий и компонент действий. Соответственно концептуальная модель всей предметной об ласти (КМПрО) описывается выражением: , m , , , G D C d G X R G X R G X R i as pow a pow ao pow 1 i m : , 1, где – отображение ( ) или база C d F S U i j m i D d X i a j 1 i знаний данной ПрО, остальные члены – иерархии субъектов дей ствий, действий и объектов действий. Граф КСР Пр ( ), образующийся в результате сопостав G D ления действиям соответствующих КСЕР, состоящих из задачи управления (функциональной части),обеспечивающей части и их связывания через отношения иерархии задает все множество пу тей (или сценариев) многошагового вывода решений. Вершины третьего типа на своем уровне связываются как отношениями ие рархии, так и семантическими отношениями типа: место, средст 352 Глава 17. Метод ситуационного анализа и проектирования модели предметной области Рис. 17.29. Пример вложенных КСЕР ние состояния ведется не на уровне всего станка сразу, а на уров не его отдельных узлов. Только затем это действие выполняется га уолвне станка в целом. Построением графа завершается процесс формирования G D общей структуры ситуационного пространства ПрО, в котором есть все необходимые знания для принятия решений на любом уровне конкретизации. Реализация сборки графа выполня G D ется на основе инструментальной программной системы «По мощник эксперта» [23, 100]. В результате логической обработки и формирования модели ПрО на выходе выдается граф в ви G D де понятийно объектной модели (ПОМ), в которой описываются все его элементы и их концепты с указанием иерархии, то есть понятий – надпонятий, типов данных, области значений и т.д. 17.4. Особенности элементов знания КМПрО Отметим возможные особенности элементов знания (свойств, отношений между различными структурными единицами ). G D Каждое свойство задается своим типом данных (веществен ный, целый, логический, строковый, символьный и т.д.) и множе ством значений. Например, объект (яблоко) определяется свойст Глава 17. Метод ситуационного анализа и проектирования модели предметной области 353 вами (сорт (тип данных – строковый), множество значений (ан тоновка, мельба, белый налив и т.п.), вкус (тип данных строко вый), множество значений (сладкий, кислый, кисло сладкий и т.п.)), вес (тип данных – вещественный, область значений (от 100 до 400 граммов)). Однако возможно определение свойств в виде лингвистических переменных с соответствующим определением функций принадлежностей и нечетких множеств. 1) Точно также отношения могут задаваться своими значениями (истина, ложь) либо как нечеткие с соответствующими опера циями над ними. Таким образом, возможно построение нечет кой модели ПрО или модели смешанного типа. 2) Каждый объект внешнего мира представляется в G D име нем (знаком), концептом, то есть содержанием (множеством его существенных свойств) и денотатом, то есть объемом этого знака (множеством его экземпляров). Каждый экземпляр, в свою очередь, может иметь свои особенности, не позволяющие, например, передавать все его свойства по наследованию (на пример, пингвин – птица, но он не летает). Такого рода данные определяются на последнем этапе формирования системы знаний о ПрО и учитываются инструментальной программной системой при их внесении. Далее с помощью встроенной программы осуществляется ав томатическая генерация продукционных правил базы знаний. Другими словами, вся модель ПрО представляется в другой фор ме – в виде правил продукций, с которыми далее на этапе экс плуатации работает инструментальная программная система «Малый Решатель Проблем» (см. п. 17.7) Однако такая форма не обязательна. При наличии, например, инструментальной системы, работающей с фреймами или с семантическими сетями, ПОМ дает для этого сеть фреймов. Если внимательно посмотреть на приведенный фрагмент ПОМ (рис. 17.28, п. 17.6)), то станет по нятно, что итоговая модель представляется в виде гибрид G ( D ) ной модели продукционно семантико фреймового типа, легко трансформируемого в любую нужную модель представления зна ний [40]. Подчеркнем еще один важный момент. Описание метода си туационного анализа начиналось с определения понятия конст рукта, введения простых и составных конструктов, ставших затем «кирпичиками» для всей структуры ситуационного пространства ПрО и ее модели. Кстати, при таком подходе правила, фреймы, семантическая сеть, а также иерархии по отношениям «часть – 354 Глава 17. Метод ситуационного анализа и проектирования модели предметной области r целое» ( ), «класс – экземпляр класса» (IsA), «вид – род» (AKO pow – также являются составными конструктами. Само A Kind Of), проектирование осуществляется по четкому и жесткому, но инва риантному сценарию, который благодаря этому позволяет создать необходимую технологию и соответствующую инструментальную программную поддержку. При этом метод гарантирует получение качественного результата на выходе в виде БЗ ПрО, а также кон цептуальной структуры пространства вывода решений. В эту тех нологию естественным образом вплетаются знания экспертов или их групп, регламенты субъектов управления, знания из текстов и т.п. Очевидно также, что сам процесс проектирования может про ходить параллельно (деление процесса проектирования по верти кали, по горизонтали, по кустам и т.д.). В Приложениях A, B, C, D приведены примеры моделей пред метных областей для задач проектирование МПрО: для управле ния и функционирования Интернет кафе; для управления под системами интеллектуального дома; для управления муници пальным образованием – проблемная ситуация сиротства и бес призорности; для системы управления инцидентами ИТИ КСУ. 17.5. Схема технологии проектирования КМПрО 1. Формулируется самая общая ЦЕЛЬ (ЦЕЛИ), которая должна решаться ЭС, например: определить рейтинг заявителя на кредит банка (клиента); повысить доходность предприятия; обеспечить требуемый уровень качества экологической обстановки в городе и т.д. 2. Рассмотреть сформулированную цель как задачу управления и развернуть для нее соответствующую обеспечивающую часть. 3. Определить возможные типы семантических отношений в структуре цели и назвать их. 4. Сформировать КСЕР целевого действия. 5. Построить образ целевой ситуации, которая должна быть достигнута в результате реализации целевого действия. В этом образе должны быть указаны свойства и их значения всех объектов, фигурирующих в КСЕР, а также значения семантических отношений между вершинами КСЕР целевого действия. Например: ≥ КЛИЕНТ (возраст 65, 25); пол (неважно); прописка (в гороl работает (да); Глава 17. Метод ситуационного анализа и проектирования модели предметной области 355 ≥ 6. Средняя месячная зарплата ( 20000); длительность кредита ≤ ( 3 года) и т. п.; экономическое положение банка (устойчивое); положение предприятия, где работает клиент (стабильное) и т.п. Далее вся процедура разворачивания целевого действия в иерархию действий соответствует методу разбиения задачи на подзадачи в виде И/ИЛИ графа. То есть последовательно ставятся вопросы к значениям свойств и отношениям в КСЕР целевого действия типа: какое действие нужно выполнить, чтобы получилось требуемое значения определенного свойства или отношения. 7. Для вновь выявляемых действий снова строятся соответствующие КСЕРы и определяются соответствующие свойства, отношения и их значения (или ограничения на них). 8. Для каждого действия последовательно описываются соответствующие концептуальные модели и их содержание в виде перечисления: действия; субъекта действия; объекта действия; компонент действия; свойств и соответствующих им типов данных (вещественный, целый, логический, строковый) и области определения; отношений и их аргументов; условия активизации действия; результата действия, то есть измененных значений свойств, отношений или появления новых фактов, или отношений. Полученные описания фактически уже структурированы и записаны в формальном виде. Поэтому остается их занести в ЭВМ с помощью инструментального пакета «Помощник эксперта» (см. п. 17.6). Эта программа затем автоматически выполняет над КСЕРами необходимые логические операции и формирует единую КМПрО в виде понятийно объектной модели (ПОМ). 10. Далее ПОМ может использоваться для реализации ЭС и СППР в выбранных для этой цели инструментальных систем. В нашем случае была разработана собственная инструментальная среда «Решатель проблем», которая автоматически переводит ПОМ в продукционные правила и на выходе генерирует базу правил (см. п. 17.7). Таким образом, этапы идентификации предметной области, ее концептуализации, формализации и реализации выполняются, не расчленяясь, а как единый процесс проектирования. 11. Фактически на этапе 9 строится один из прототипов ЭС, который затем можно исследовать, расширять, модифицировать и т.п. до тех пор, пока не будет достигнута требуемая степень детализации и качества принимаемых решений. 356 Глава 17. Метод ситуационного анализа и проектирования модели предметной области Замечание 1. Очевидно, что по данной технологии ЭС может разрабатываться одновременно несколькими участниками или группами, каждая из которых реализует свою цель и соответствующие ей задачи, разрабатывает соответствующие прототипы и исследует их, привлекает своих экспертов при необходимости, не мешая и не ограничивая друг друга. Стыковка начнется на этапе объединения прототипов в единую систему. Но и тут очень четко просматриваются необходимые правила и условия взаимодействия. 2. Технология особенно эффективна, когда цели многоаспектны (экономические, производственные, экологические, социальные и т.п.). Замечание 3. Эффективным методом совместного проектирования являются игры специальных типов – идентификационные, концептуальные, ситуационно деятельностные [19, 68]. 17.6. Система приобретения знаний «Помощник Эксперта» Для реализации инструментальной поддержки предложенного метода концептуального анализа предлагается представление концептуальных структур в виде понятийно объектной модели (ПОМ) [23, 100]. ПОМ – это программный модуль, реализованный в объектно ориентированной среде программирования и содержащий представление понятий ПрО в объектно ориентированной форме [20, 23]. Для каждого вида концептуальных структур реализуется класс, описывающий их внутреннюю структуру в соответствии с содержанием данных понятий. Для экземпляров класса Понятие Объект внутренняя структура имеет вид (рис. 17.30). Для классов Понятие Свойство и Понятие Отношение структуры экземпляров показаны на рис. 17.31–17.32; внутренняя структура экземпляров класса Понятие Действие показана на рис. 17.33. Преимущества такого представления в том, что оно дает возможность реализовать дальнейший автоматизированный анализ понятийного пространства с целью получения синтаксических конструкций, необходимых для реализации задачи на языках программирования (особенно объектно ориентированных или логических), или структур, требующихся для построения баз знаний с помощью специальных инструментальных сред разработки, ис- Глава 17. Метод ситуационного анализа и проектирования модели предметной области 357 Рис. 17.30. Структура Рис. 17.31. Структура экземпляра класса экземпляра класса Понятие Объект Понятие Свойство Рис. 17.32. Структура Рис. 17.33. Структура экземпляра класса экземпляра класса Понятие Отношение Понятие Действие пользующих различные модели представления знаний (продукции, предикатные формулы, фреймы, семантические сети, смешанные представления). Для формирования ПОМ и работы с ней разработана система приобретения знаний (СПЗ) «Помощник эксперта» (в дальнейшем – ПЭ). Ее главной задачей является автоматизация системно концептуального анализа и всех процессов, связанных с обработкой понятийного пространства ПрО. Обобщенная структурная схема ПЭ показана на рис. 17.34. Система выполняет следующие функции: представление выявляемого в процессе приобретения экспертl знаний понятийного пространства ПрО в виде совокупности соответствующих понятийно объектных структур КСЕР. При этом организация работы СПЗ направлена на то, чтобы 364 Глава 17. Метод ситуационного анализа и проектирования модели предметной области начальное значение отношения; l а также, если отношение зависит от свойств, задать условие, определяющее значение отношения. Условия, определяющие значение отношения, задаются набором из двух фактов и отношения между ними. Выбрать и создать факты можно во вспомогательном редакторе условий (рис. 17.44). По завершении описания всех необходимых понятийных структур следует сохранить полученную ПОМ вызовом соответствующего пункта главного меню Окна ПЭ. В Приложении B приведены фрагменты ПОМ различных ПрО. 17.7. Инструментальная система «Малый Решатель Проблем» Определение. «Малый Решатель Проблем» (в дальнейшем – «Решатель») представляет собой учебный программный комплекс и является упрощенным функциональным аналогом современных коммерческих оболочек для создания прикладных экспертных систем ситуационного управления (ЭССУ) [20, 23]. Назначение. «Ре шатель» ориентирован на приобретение обучаемым элементарных навыков системного мышления и принятия решений. Это достигается путем практического изучения основ искусственного интеллекта, таких как: методика построения концептуальной модели предметной обl построения продукционной базы знаний на основе l концептуальной модели; методика описания моделей проблемных и целевых ситуаций; l методика исследования базы знаний на различных примерах l проблемных ситуаций путем логического вывода. Изучение данных методик поддерживается «Решателем». Успешное выполнение заданий на «Решателе» будет свидетельствовать о выработке у обучаемого навыков системного мышления различной глубины. Функциональные возможности. ЭССУ «Решатель» поддерживает следующий набор функций: создание, хранение, модификация, тестирование целостности, l слияние пользовательских баз знаний продукционного типа; организация, проведение и некоторая оптимизация прямого лоl вывода; Глава 17. Метод ситуационного анализа и проектирования модели предметной области 365 генерация отчетов с текстовыми описаниями баз знаний и реl анализа проблемных ситуаций. Для выполнения этих функций в состав «Решателя» входит набор специальных инструментальных средств. Недостатки. Будучи учебной системой, «Решатель» имеет ряд функциональных ограничений, отделяющих его от современных коммерческих экспертных систем, и сужающих область его возможного применения до уровня решения достаточно простых задач. К этим ограничениям относятся: работа только с четкой логикой; l описание объектов на уровне экземпляров, а не на уровне класl поддержки наследования; l поддержка только прямого логического вывода. l Достоинства. К достоинствам ЭССУ «Решатель» следует отнести довольно неплохой баланс «функциональность – простота», что позволяет эффективно использовать его именно на начальном этапе обучения системному мышлению и принятию решений. Экспериментальные исследования, проведенные на нескольких группах студентов, свидетельствуют о повышении качества усвоения учебного материала при практической поддержке ЭССУ «Решатель». Состав. Как программный комплекс, ЭССУ «Решатель» состоит из следующих компонентов: Модуля интеграции и управления (МИУ); l Блока формализации знаний (БФЗ), состоящего из следующих l модулей: Редактора условия задачи (РУЗ); l Редактора объектов предметной области (РОБ); l Редактора отношений между объектами (РОТ); l Редактора базы правил (РБП); l Редактора моделей ситуаций (РМС); l Модуля просмотра базы знаний (МПБЗ). l Блока организации и проведения логического вывода l (БОПЛВ), в который входят: Редактор стратегий управления правилами (РСУП); l Анализатор ситуаций (АС); l Модуль проведения прямого логического вывода (МПЛВ). l Знания, закладываемые в «Решатель» на этапе разработки базы знаний, сохраняются в нем в виде множества сложноорганизованных информационных структур (ИСт). Поэтому для выполнения всех необходимых операций (чтения, записи и модификации) над 366 Глава 17. Метод ситуационного анализа и проектирования модели предметной области Рис. 17.45. Структурная схема «Решателя» ИСт существуют специальные модули доступа, обеспечивающие интерфейс между всеми остальными модулями и ИСт. Это такие модули, как: МДБО – модуль доступа к базе объектов (БО); l МДБОТ – модуль доступа к базе отношений (БОТ); l МДБП – модуль доступа к базе правил (БП); l МДМС – модуль доступа к модели ситуации (МПС – модель l проблемной ситуации, МТС – модель текущей ситуации, МЦС – модель целевой ситуации, БФ – база факторов). Взаимодействие компонентов «Решателя» можно представить себе, воспользовавшись структурной схемой, приведенной на рис. 17.45. При работе над этим разделом использовались материалы следующих источников: [3, 20, 22, 23, 24, 68, 88, 100, 102, 105, 114, 115, 122]. Вопросы для самопроверки и упражнения 1. Приведите жизненные примеры формулировки решений. 2. Какова структура единичного решения, является ли она инвариантной по отношению к предметной области? Глава 17. Метод ситуационного анализа и проектирования модели предметной области 367 3. Какие типы сущностей предметной области образуют концептуальную структуру единичного решения (КСЕР), как они связаны между собой. 4. Какие типы отношений образуют КСЕР? 5. Каково максимально возможное число структурных и семантических отношений возможно в КСЕР? 6. Как задается цель управления в КСЕР? 7. Постройте КСЕРы для реальных примеров: выделите в них целевую и обеспечивающую составляющие. 8. Разверните пример КСЕР «Определить рейтинг клиента для получения банковского кредита» до двухуровневой древовидной структуры. 9. Постройте дерево КСЕРов для задачи «Включить красный свет светофора на перекрестке». 10. Выделите операционные структуры для упражнений 8, 9. 11. Какие логические операции можно выполнять над КСЕРами? 12. Покажите на примерах операции пересечения, объединения и разности КСЕРов. 13. Приведите пример пересечения КСЕРов по субъекту действия и действию? 14. Как формируется концептуальная структура предметной области в целом? 15. Определите содержание вершин КСЕРов для примеров 8 и 9. 16. Какую форму представления знаний имеет концептуальная модель предметной области (КМПрО)? Глава 18 ОНТОЛОГИИ И ОНТОЛОГИЧЕСКИЕ СИСТЕМЫ 18.1. Понятие онтологии Возникновение онтологий и их стремительное развитие связано с проявлением в нашей реальности следующих новых факторов: колоссальный рост объемов информации, предъявляемых для l обработки (анализа, использования) специалистам самых различных областей деятельности; чрезвычайная зашумленность этих потоков (повторы, противоl разноуровневость и т.п.); острая необходимость в использовании одних и тех же знаний l разными специалистами в разных целях; всеобщая интернетизация нашей жизни и острая необходиl в структуризации информации для её представления пользователям и более эффективного поиска; необходимость сокращения времени на поиск нужной инфорl и повышения качества информационных услуг в Интернете. онтологий стало ответом ряда наук, связанных с информационными технологиями и системами искусственного интеллекта, на перечисленные проблемы. Именно они обеспечили возможность их перехода на новый качественный уровень обработки и поиска информации, в том числе в Web системах. Рассмотрим это понятие подробнее. Онтология (от др. греч. онтос – сущее, логос – учение, понятие) – термин, определяющий учение о бытии, о сущем, в отличие от гносеологии – учения о познании. Автором термина «онтология» является X. Вольф (1679–1754 гг.). Ее предмет – изучение абстрактных и общих философских категорий, таких как бытие, субстанция, причина, действие, явление и т.д., а сама онтология претендовала на полное объяснение причин всех явлений [47]. В информационных технологиях и интеллектуальных системах этот термин был принят для обозначения представлений о моделях мира (бытии, сущностей, причинных связей и т.п.). Глава 18. Онтологии и онтологические системы 369 Наиболее распространенными стали следующие определения. Онтология – это точная спецификация концептуализации. Онтология – это формальная точная спецификация совместно используемой концептуализации. Онтологии – это базы знаний специального типа, которые могут читаться и пониматься, отчуждаться от разработчика и/или физически разделяться их пользователями [32, 47, 103, 125]. В этих определениях ключевыми являются понятия: концептуализация (совместно используемая); спецификация (формальная, точная). Поясним смысл этих терминов. Под концептуализацией понимается абстрактная модель явлений (процессов) в мире, составленная посредством определения существенных для описания данных явлений понятий, т.е. концептов. Точность подразумевает, что типы используемых понятий и ограничения на область применения данных понятий явно определены. Формальность означает, что онтология должна быть ориентирована на компьютерное представление, что исключает использование естественных языков в полной мере в связи с их неоднозначностью и сложностью. Совместное использование отражает понятие того, что онтология описывает всеобщие знания, т.е. не персональные знания одного человека, а знания, принятые в группе, сообществе. Для обеспечения совместного использования вводится ещё понятие онтологического соглашения – объема словаря, достаточного для описания представляемых абстрактной моделью знаний, предназначенных для совместного использования. Другими словами, онтология ссылается на конкретные понятия, взятые из специального словаря, используемого для описания некоторой реальности, и на множество толкований предполагаемых значений слов, входящих в словарь. Еще одно определение онтологии, соответствующее спецификации FIPA (Foundation for Intelligent Physical Agents), используется в рамках технологии агентов. Онтология – это подробная спецификация структуры определенной проблемной области, включающей: словарь (список) логических констант и предикатных символов для описания предметной области и набор логических высказываний, формулирующих существующие в данной проблемной области ограничения и определяющих интерпретацию словаря. По сравнению с другими определениями это является более формальным, представляя онтологию в виде формальной системы, Глава 18. Онтологии и онтологические системы 371 терминов и связей между ними, к разработке аппарата манипуляции с онтологиями. Самое главное состоит в понимании, что основой онтологии, как и ЭС, является модель предметной области (МПрО) и, следовательно, все проблемы ЭС становятся автоматически проблемами и онтологий. Это, в частности, проблемы инженерии знаний и их адекватного представления. Специфика онтологий определяет необходимость создания нового по сравнению с ЭС теоретического, методического и программного инструментария, обеспечивающего разработку онтологий различных типов (от самой простой таксономии до онтологий со сложными системами отношений между элементами словарей), манипуляции с ними, использование их для различных целей различными группами людей. 18.2. Формальная модель онтологии Примем за основу, что понятие предполагает опреде онтологии ление и использование взаимосвязанной и взаимосогласованной совокупности трех компонент: словаря терминов, определений терминов и правил их обработки. Тогда формальная модель онто логии ( ) может быть определена как упорядоченная тройка ви O X да: O X R F , где – конечное множество концептов (поня , , тий, терминов) предметной области, которую представляет онто логия O ; R – конечное множество отношений между концептами (понятиями, терминами) заданной предметной области; F – ко нечное множество функций интерпретации (аксиоматизации), O заданных на концептах и/или отношениях онтологии [37]. Естественными ограничениями, накладываемыми на множест во являются его конечность и не пустота. Иначе дело обстоит с X, компонентами и в определении онтологии Очевидно, что F R O. F и должны быть конечными множествами. R Рассмотрим граничные случаи, связанные с пустотой и не пус тотой и F R. R F O V X 1. Пусть и . Тогда онтология , , , V что соответствует простому словарю ( ). Очевидно, что это слу чай вырожденной онтологии. Она может быть полезна для спе цификации, пополнения и поддержки словарей предметной об ласти. Онтологии словари имеют ограниченное применение, по скольку, когда используемые термины принадлежат очень узкому 372 Глава 18. Онтологии и онтологические системы (например, техническому) словарю, их смыслы уже заранее хо рошо согласованы в пределах определенного (например, научно го) сообщества. Например, онтологию этого типа образуют индек сы машин поиска информации в Интернете. O V X F 2. R , F , . Тогда каждому элементу , , X множества терминов из ставится в соответствие функция (ак сиома) интерпретации (одна или несколько) f F . Здесь могут быть варианты. 2.1. Допустим, что X X , причем X , где X – 1 2 1 2 1 множество интерпретируемых терминов; – множество не ин 2 k X терпретируемых терминов. При этом 1 2 , , , , 1 2 такие, что f k f F . 1 2 ( , , , ), Введение в рассмотрение функции аргументов обеспечивает k более полную интерпретацию . Вид отображения оп x X f F ределяет выразительную мощность и практическую полезность этого вида онтологии. Так, если предположить, что функция ин терпретации задается оператором присваивания значений ( , где – имя интерпретации ), то онтология транс X X : 1 2 1 O 2 V p X формируется в пассивный словарь , , , : 1 2 так как все определения терминов из X берутся из уже сущест 1 вующего и фиксированного множества . Практическая цен 2 ность данного словаря выше простого, но он явно недостаточен, например, для представления знаний в задачах обработки инфор мации в Интернете в силу динамического характера этой среды. Смысл таких терминов «вычисляется» каждый раз при их интер претации. Ценность словаря для задач обработки информации, например в Интернет среде, выше, чем у предыдущей модели, но еще недостаточна, так как интерпретируемые элементы из ни X 1 как не связаны между собой и, следовательно, играют лишь роль ключей входа в онтологию. 2.2. R , F , O V X R , т.е. множество F – пусто, , , множество отношений на концептах онтологии – не пусто и включает одно из отношений типа иерархии: = (быть R IS_A эле (part – ментом класса) ИЛИ POW of while – часть целое) ИЛИ (a – – AKO kind of вид род) ИЛИ contained_in ИЛИ member_of и др. ИЛИ see_also Этот случай соответствует специальному подклассу онтоло гий, называемых простыми таксономиями: O O T X IS A , , _ , O O T X POW , , , O O T X AKO , , и др. Глава 18. Онтологии и онтологические системы 373 Под таксономической структурой понимается иерархическая система понятий, связанных между собой одним из отношений IS_A, POW, AKO и т.п. Поскольку перечисленные отношения име ют заранее фиксированную семантику, это позволяет организовы вать структуру понятий онтологии в виде дерева. Такой подход имеет свои преимущества и недостатки, но в общем случае являет ся адекватным и удобным для представления иерархий понятий. O V X R I F R F 2.3. , и , где – это какое либо R I , , из отношений иерархии (IS_A, POW, AKO, и т.п.). В этом случае строится иерархия терминов, в которой каждому из них ставится в соответствиеопределенная процедура или аксиома интерпрета ции. Это, например, онтологии, в которой термины раскрываются по матрёшечному принципу. O V X R I R C F R F 2.4. , , и , где R R I R C R I , , – это какое либо из отношений иерархии, – специфические R C отношения универсального толкования типа: временные, про странственные каузальные, сравнения и т.п. Таким образом, в данном случае речь идет об иерархических структурах, на кото рых вводимые сущности имеют соответствующие толкования и на них определены отношения, в том числе часто с нечетко фик сируемой семантикой. Это приводит к значительным трудностям по обработке таких структур в связи с необходимостью учитывать свойства вводимых отношений: рефлексивность (нерефлексив ность, антирефлексивность), симметричность (несимметрич ность, антисимметричность), транзитивность (нетранзитивность, антитранзитивность). Именно по этой причине это самые слож ные онтологии и их практически очень мало, да и те, которые есть, являются очень упрощенными. Онтологии данного типа соответ ствуют модели расширяемой онтологии достаточно мощной для спецификации процессов формирования пространств знаний. С учетом сказанного, а также необходимости формальной спе цификации процессов функционирования онтологии, введем в рассмотрение ещё понятие онтологической системы. 18.3. Формальная модель онтологической системы Под формальной моделью онтологической системы понимается O meta Z O O meta триплет вида & , где O – онтология , , верхнего уровня (метаонтология); – множество пред O Z & Z метных онтологий; – онтологии задач предметной области; 374 Глава 18. Онтологии и онтологические системы – машина вывода, ассоциированная с онтологической сис O темой [37]. Посредством расширения системы моделей Z можно O & учитывать предпочтения пользователя, а посредством изменения модели – вводить специализированные критерии релевант ности получаемой в процессе поиска информации, формировать специальные репозитории накопленных данных, а также попол нять при необходимости используемые онтологии. O В модели имеются три основные онтологические компо ненты: метаонтология; предметная онтология и онтология задач. Метаонтология или базовая онтология оперирует общими кон цептами и отношениями, которые не зависят от конкретной пред метной области. Концептами метауровня являются такие общие по нятия, как сущность, объект, свойство, значение, типы данных, про цесс, событие и т.д. Уровню метаонтологии соответствует интенсио нальное описание свойств предметной онтологии и онтологии задач. Это позволяет онтологии контролировать синтаксические конст рукции понятий предметной области, которые объявляются как на следники общих категорий. Онтология метауровня является стати ческой, что дает возможность обеспечивать эффективный вывод. ( ) определяет набор понятий, ис O Предметная онтология пользуемых при решении конкретных задач, независимых от са мого метода решения. При построении проводится класси O фикация (таксономия) понятий ПрО, выявляются свойства и от ношения, семантически значимые для данной предметной облас ти, даются интерпретации этих понятий и отношений (деклара тивных и процедурных). Понятия предметной области специ фичны для каждой прикладной онтологии, но отношения более универсальны. Поэтому в качестве базиса обычно выделяют такие отношения модели предметной онтологии, как (part POW of (a и др. while), AKO kind of), contained_in, member_of, see_also Отношение определено на множестве концептов. part of while Оно является отношением принадлежности и показывает, что концепт может быть частью других концептов. Кроме того, оно является отношением типа «часть – целое» и по свойствам близко к отношению может быть задано соответствующими аксио IS_A, мами. Аналогичным образом можно ввести и другие отношения типа «часть – целое». Иначе обстоит дело с отношением Оно обладает другой see_also. семантикой и другими свойствами. Поэтому целесообразно вво дить его не декларативно, а процедурно, подобно тому, как это де Глава 18. Онтологии и онтологические системы 375 лается при определении новых типов в языках программирования, где поддерживаются абстрактные типы данных. Отношение транзитивно. Действительно, если предположить, что ( X see_also 1 ) & ( ), то можно считать, что ( X see_also see_also see_also 2 2 3 1 ). Однако по мере увеличения длины цепочки объектов, связан 3 ных данным отношением, справедливость транзитивного переноса свойства падает. Поэтому в случае отношения connected_with речь идет не об отношении частичного порядка (как, на see_also пример, в случае отношения а об отношении толерантности. IS_A), Однако для простоты это ограничение может быть перенесено из определения отношения в функцию его интерпретации. Понятно, что этот базис является открытым и может пополняться в зависи мости от предметной области и целей, стоящих перед прикладной системой, в которой такая онтология используется. Онтология задач имеет дело с понятиями, описывающими методы преобразования объектов ПрО в процессе решения задач. Сами типы решаемых задач тоже могут выступать в качестве понятий, а отношения этой онтологии, как правило, специфицируют декомпозицию задач на подзадачи. Вместе с тем, если прикладной системой решается единственный тип задач (например, задачи поиска релевантной запросу информации), то онтология задач может в данном случае описываться простой словарной моделью. Таким образом, модель онтологической системы позволяет описывать необходимые для ее функционирования онтологии разных уровней. Машина вывода онтологической системы в общем случае может опираться на сетевое представление онтологий всех уровней. При этом ее функционирование связано с выполнением: активации понятий и/или отношений, фиксирующих решаемую задачу (описание исходной ситуации); определения целевого состояния (ситуации); вывода на сети, заключающемся в том, что от узлов исходной ситуации распространяются волны активации, использующие свойства отношений, с ними связанных. Критерием остановки процесса является достижение целевой ситуации или превышение длительности исполнения (time out). 18.4. Технология проектирования онтологий Проектирование онтологии предполагает разработку собственно онтологии (её содержания), включающей этапы спецификации, 376 Глава 18. Онтологии и онтологические системы концептуализации, формализации, реализации и поддержку разработки онтологий на этапах – приобретения знаний, оценки, интеграции, документирования и управления конфигурациями. Спецификация определяет цели создания онтологии, ее предполагаемое использование и потенциальных пользователей. Концептуализация обеспечивает структурирование предметных знаний в виде значимой эксплицитной модели. Формализация трансформирует концептуальную модель в формальную или «вычислительную». Наконец, в процессе реализации вычислительная модель программируется на соответствующем языке представления знаний. Поддержка процесса разработки онтологий включает действия, выполняемые одновременно с разработкой, без которых онтология не может быть построена. Приобретение знаний аккумулирует знания в заданной предметной области. Оценка дает технические решения по оценке онтологии, соответствующего программного обеспечения и документации как в процессе выполнения каждой фазы, так и между фазами. Интеграция требуется, когда строится новая онтология с использованием уже существующих. Документирование дает детальную, понятную и исчерпывающую информацию о каждой фазе и продукте в целом. Управление конфигурациями онтологий необходимо для архивации всех версий документации, программного обеспечения и кода онтологии, а также – для контроля за изменениями. Как следует из описания технологии разработки, она практически совпадает с типовой технологией разработки ЭС и СУЗ. Это не случайное совпадение, а закономерность, связанная с тем, что онтология – это, по существу, БЗ специального вида. Поэтому, как и в случае построения баз знаний, здесь используется концепция быстрого прототипирования, а специфика проявляется в тех конкретных процессах, которые реализуют рассмотренные выше процедуры. 18.5. Виды онтологий С точки зрения концептуализации авторы [101] делят онтологии на: онтологии представления, определяющие концептуализацию, l которая лежит в основе формализма представления знаний. Понятия и отношения, определенные в других видах онтоло- Глава 18. Онтологии и онтологические системы 377 гий, считаются конкретизацией понятий онтологии данного вида. Предполагается, что они не зависят от конкретной ПрО. Онтологии данного вида могут использоваться для поддержки нескольких альтернативных теорий, относящихся к одной и той же предметной области; общие (ро довые) онтологии, затрагивающие общие, фундаменl аспекты концептуализации такие, как «часть», «причина», «участие», «представление»; промежуточные онтологии, содержащие общие понятия и отноl характерные для конкретной предметной области. В идеальном случае они используются в качестве интерфейса между онтологиями предметных областей и общими онтологиями, но могут выступать как онтологии верхнего уровня для описания знаний конкретной ПрО; онтологии верхнего уровня, являющиеся конкретным назначеl понятий общих и промежуточных онтологий. Это уникальный модуль, находящийся над онтологиями предметной области или являющийся самостоятельной, независимой от предметной области теорией; онтологии предметных областей, содержащие понятия опредеl области знаний или входящих в нее областей; онтологии задач, описывающие определенные задачи или деяl используя словарь, введенный в общих, промежуточных онтологиях и онтологиях предметных областей; онтологии приложения, являющиеся специализацией онтолоl предметных областей и онтологий задач и опирающиеся на определения, характерные для конкретного приложения. На рис. 18.1 приведена схема взаимодействия онтологий. Представленные на рис.18.1 онтологии рассматриваются следующим образом. Онтологии верхнего уровня описывают общие понятия такие, как пространство, время, материя, объект, событие, действие и т.п., которые не зависят от конкретной задачи в ПрО. Онтологии предметной области состоят из объектов и связей между ними, описанных в терминологии конкретной предметной области. Онтологии задач ориентированы на решение конкретных проблем и включают все понятия, необходимые для описания процесса логического вывода (от самых абстрактных понятий, относящихся к схеме вывода, до более специальных, характерных для отдельных методов). 378 Глава 18. Онтологии и онтологические системы Рис. 18.1. Схема отношений между онтологиями Онтологии приложения описывают понятия, зависящие как от конкретной проблемной области, так и от задачи. Эти понятия часто характерны для обеих соединяемых онтологий и соответствуют ролям, играемым объектами предметной области при выполнении определенной деятельности. Онтология предметной области (или ее часть) может образовывать концептуальные связи с несколькими ПрО. Одно и то же множество объектов с одним и тем же набором свойств может использоваться в различных ПрО, для каждой ПрО характерна определенная модель поведения объектов предметной области. Знания предметной области вместе с моделью, описывающей их поведение в рамках определенных в онтологии задач функций, образуют частную модель ПрО. Программная реализация данной модели является онтологией приложением. Онтологию приложение можно рассматривать как усеченную онтологию ПрО применительно к включенным в онтологию приложение задачам [101]. 18.6. Операции над онтологиями Операции над онтологиями ориентированы на реализацию как процессов: разработка онтологий; так и их поддержки и организации повторного их использования. Для осуществления этих процессов используется множество операций над онтологиями, которые по своему функциональному назначению можно разбить на 6 групп: Глава 18. Онтологии и онтологические системы 379 операции по редактированию; l алгебра онтологий; l операции по интеграции онтологий; l операции по агрегированию и декомпозиции; l операции по преобразованию; l операции по сравнению, проверке и оценке. l 18.6.1. Операции по редактированию В данную группу операций входят операции, связанные с разработкой и редактированием онтологий на этапе их построения. Со здание (creating) онтологии состоит из четырех основных этапов: составление спецификации, определяющей допустимую область l применения описываемых онтологией знаний; определение задач, в решении которых используются рассматl знания; разработка концептуализации, то есть определение объектов l предметной области, составляющих описываемую область знаний, и отношений между ними; формализация представляемых знаний. l Возможны два способа построения новой онтологии: (1) создание новой онтологии с нуля; (2) создание новой онтологии на основе имеющихся. Если создание новой онтологии ведётся на уже имеющихся (ранее разработанных) онтологиях, то выполняются операции поиска и получения доступа к онтологиям, их кодирование и интеграция. На стадии поддержки (maintenance) разработанной онтологии используются операции, обеспечивающие организацию доступа к онтологии, а также ее просмотр и модификацию. Модификация онтологии, в свою очередь, включает в себя операции по добавлению, удалению, перемещению и редактированию элементов онтологии и их определений. Редактирование, в свою очередь, использует операции по проверке онтологии на согласованность и просмотр онтологии (browsing). Возможности просмотра предоставляются редакторами онтологий и серверами, обеспечивающими хранение онтологий и доступ к библиотекам онтологий. Организация доступа (accessing) – обеспечение доступа к просмотру и редактированию онтологий, хранящихся на сервере онтологий (сетевой компьютер, обеспечивающий доступ пользователей к хранящимся на нем онтологиям), из удаленных приложений или через Интернет. 380 Глава 18. Онтологии и онтологические системы Сохранение (saving) – операция, обеспечивающая возможность хранения промежуточных версий онтологии в ходе ее разработки. Выпуск (publishing) – помещение онтологии на сервер онтологий с целью предоставления возможности ее повторного использования. Онтология, которая должна быть помещена на сервер, предварительно оценивается экспертами, устанавливающими соответствие разработанной онтологии ее назначению. 18.6.2. Алгебра онтологий Алгебра онтологий разработана для систем, основанных на знаниях, с целью построения более крупных онтологических систем, использующих знания из нескольких проблемных областей. В основе построения таких систем лежит объединение информации из нескольких баз знаний. Основные действия алгебры являются простыми операциями, они предоставляют возможности выбора объектов из исходной предметной области и помещения их в новые. Композиция информации из нескольких предметных областей осуществляется в соответствии со следующей схемой. 1. В онтологиях предметных областей осуществляется поиск терминов, представляющих интерес для конкретной прикладной задачи. 2. Для найденных терминов на основании правил строятся отображения для извлечения и соединения контекстов. Контекстом считается часть более общей онтологии, являющаяся внутренне согласованной, достоверной самой по себе. В рамках каждой предметной области формируются контексты на основании отображений для извлечения. Выполняется реструктуризация для представления данных во внутреннем формате с внесением при необходимости семантических исправлений и уточнений. Сформированные контексты образуют срезы онтологий, значимые для рассматриваемой прикладной задачи, сами по себе так- же являющиеся онтологиями и называемые соединяемыми онтологиями. В данных (соединяемых) онтологиях на основании отображений для соединения определяются общие для них контексты. В пределах этих контекстов соединяемые онтологии являются согласованными. 4. Контексты последовательно объединяются в результирующую онтологию, описывающую собранные из разных областей знания применительно к рассматриваемой задаче. Алгебра онтологий состоит из трех основных операций. Глава 18. Онтологии и онтологические системы 381 Пересечение (intersection) – формирование из двух соединяемых контекстов нового, включающего в себя термины, используемые в обоих контекстах. Операция включает в себя задачу определения минимального пересечения. Объединение (union) – формирование новой непротиворечивой онтологии, включающей термины, используемые несколькими контекстами (результат операции пересечения), и оставшиеся термины из соединяемых контекстов, не являющиеся совместно используемыми. (difference) – создание несимметричных подмножеств – наборов терминов, которые включены в один контекст, но не используются в другом. Термины, совместно используемые несколькими контекстами, удаляются из результирующей онтологии. В результате остаются только уникальные термины. Алгебра онтологий обладает следующими свойствами: операции могут комбинироваться, переупорядочиваться, альтернативные переупорядочивания могут оцениваться, возможна оптимизация порядка выполнения операций, результаты предыдущих операций могут сохраняться и повторно использоваться. 18.6.3. Операции по интеграции онтологий Для её выполнения применяются следующие операции. Выборка (slicing, extraction) – предназначена для формирования внутренне согласованной части исходной онтологии или ее среза, который будет включен в новую онтологию. В алгебре онтологий такой срез назывался контекстом. В качестве начальных условий принимается, что часть онтологии, которая будет использоваться в новой онтологии, известна. Относительно этой части формируются максимальный и оптимальный срезы. Срез называется максимальным, если любой использующий данную часть онтологии логический вывод, выполняемый в исходной онтологии, может быть выполнен при использовании сформированного среза. По таксономическим связям классов определяется ближайший общий надкласс для выбранных классов, который включается в срез вместе со значимыми классами и классами, стоящими на промежуточных уровнях таксономии между найденным общим классом и значимыми классами. В самом общем случае максимальная выборка равна исходной онтологии. Отсечение (pruning) – служит для удаления из максимального l среза классов, которые являются несущественными для новой онтологии. 382 Глава 18. Онтологии и онтологические системы Выделяются: простая интеграция (интеграция нескольких онтологий (или частей) в одну онтологию); соединение (merging) онтологий как интеграция нескольких независимо разработанных онтологий. Исходные онтологии должны удовлетворять требованиям: совместимости формализмов и языков представления интегрируемых онтологий; отсутствия противоречий в структурных и семантических представлениях описываемых онтологиями знаний. Примером простой интеграции служит операция «при ращение» (augment). Результатом операции является приращение некоторой онтологии проблемной области посредством извлечения и включения выбранных частей из независимо разработанных онтологий. операции соединения онтологий характерно объединение одинаковых по содержанию, но, возможно отличающихся по форме представления элементов онтологии в один элемент. Новая онтология строится на базе соединения классов, атрибутов, аксиом и других элементов онтологий, касающихся той же самой проблемы, для которой строится новая онтология. Для того, чтобы обеспечить единую форму представления соединяемых элементов онтологий, операции по переводу и преобразованию осуществляются до операции соединения. Онтология, полученная в результате соединения онтологий, унифицирует знания, хранящиеся в других онтологиях. В зависимости от количества изменений, вносимых в новую онтологию (полученную в результате соединения), могут быть выделены различные уровни интеграции: установка соответствий, частичная согласованность и унификация. Установка соответствий (alignment) – операция, задающая отношения между онтологиями посредством установки связей между эквивалентными понятиями в онтологиях. Такой вид соединения сохраняет структуру исходных онтологий, не требует переименования терминов, изменений в аксиомах, определениях, доказательствах и т.п., т.е. является наиболее «слабой» формой соединения. согласованность – операция, устанавливающая между онтологиями соответствия, поддерживающие эквивалентный логический вывод и вычисления, выполняемые для всех эквивалентных понятий и отношений. Унификация – операция, результатом которой является новая универсальная онтология. Унификация определена как частичная согласованность онтологий. Глава 18. Онтологии и онтологические системы 383 18.6.4. Операции декомпозиции и агрегирования Эти операции предназначены для разбиения (декомпозиции) онтологий на модули и сбора онтологий из модульных компонент. Модуляризация (modularization) или декомпозиция (decomposition) – операция по разбиению онтологии на модули, которые могут служить основой для разработки новых онтологий. Возможны подходы к разбиению онтологий на модули, основанные на: области применения: упорядочивание базы знаний, описываеl онтологией, по темам, заданным инженером по знаниям; решаемой задаче: упорядочивание базы знаний по правилам лоl вывода, применяемых для ее решения, а также по используемым в логическим выводе объектам; микротеориях: микротеория состоит из набора высказываний l и ограничена областью применения (для каких объектов, при каких условиях и т.п. данная теория может быть использована); контекстах: выявление разобщенных контекстов и помещение l их в самостоятельные модули. Для выявления разобщенных контекстов используются, как правило, специальные методы анализа контекстов. Помещенные в библиотеку модули могут повторно использоваться при построении онтологий для других предметных областей. Составление (assembling, composing) – операция конструирования новой онтологии из модулей. Новая онтология строится посредством выбора подходящих модулей из библиотеки и их соединения. Операции по преобразованию Эти операции ориентированы на приведение онтологий к общему виду или выражения формы представления одной онтологии в форме другой с целью предоставления возможностей их повторного использования в операциях по интеграции. Переформулирование (reformulation) – операция по преобразованию представления входной теории. Например, данная операция может быть использована для преобразования функциональных предикатов в отношения. Построение таксономии (taxonomy design) – операция по формированию иерархической структуры, основанной на отношении IS_A, в которой свойства более общих понятий наследуются подчиненными им понятиями. Перевод (translation) – операция по переводу онтологий, разработанных в одном формализме и реализованных с помощью одних 384 Глава 18. Онтологии и онтологические системы языков в другие формализмы и языки. Реализация операции связана с разработкой средств, способных осуществлять взаимные переводы между несколькими форматами. 18.6.6. Операции по сравнению, проверке и оценке Сравнение (matching) – операция, устанавливающая степень соответствия онтологий. Данная операция включает с себя операции по сравнению концептуальных структур и операции, определяющие степень переводимости одной онтологии в другую Сравнение концептуальных структур заключается в определении степени совместимости понятий, используемых в разных онтологиях. Концептуальная структура определяется областью применения описываемых знаний. Для сравнения выбираются несколько онтологий, описывающих одну и ту же прикладную проблему. Степень совместимости оценивается в соответствии с классификацией: согласие / соответствие / конфликт / противоречие. В соответствии с указанной классификацией концептуальные структуры могут находиться в следующих отношениях: согласующиеся (consensus): разные онтологии имеют одинакоl структуру и терминологию; соответствующие (correspondence): в разных онтологиях одиl структурные элементы имеют разные имена (несовпадения в терминологии); конфликтующие (conflict): в разных онтологиях разные струкl элементы названы одинаково; противоречивые (contrast): в разных онтологиях нет совпадений l ни в структурах, ни в терминологии. Проверка (validation) – операция, проверяющая корректность и непротиворечивость (внутреннюю согласованность) онтологии. В ходе операции производится семантический и синтаксический анализ онтологии. Оценка (evaluating) – операция, в результате которой выносится заключение о соответствии онтологии ее назначению. Операция выполняется экспертами перед выпуском онтологии. Онтология оценивается по ее соответствию: требованиям, спецификации, реальному миру, степени компетентности. Приведенный перечень операций может варьироваться в различных системах представления по названиям, по определениям, модифицироваться, но в принципе является типовым для разработки и поддержки онтологий любого класса. Глава 18. Онтологии и онтологические системы 385 18.7. Основные задачи, решаемые с помощью онтологии Анализ возможностей онтологических систем показывает, что они способны обеспечить: повышение интеллектуальности систем управления знаниями l (СУЗ) на основе представления того, что часто остаётся неявным; на основе описания целевого мира в виде слоl согласованного среди людей; разделение знаний между пользователями и/или между комl системами, совместное, а также повторное их использование для новых ситуаций; систематизацию знаний, позволяющую интегрировать разноl источники знаний на основе многоаспектной таксономии, представляемой в общем словаре; реализацию метамодельной функциональности для конструиl т.к. она снабжает необходимыми понятиями, отношениями, ограничениями, которые используются как строительный материал для построения конкретных моделей решения задач. Перечислим основные сферы применения онтологий. 1. Системы обучения. Действительно, для первого знакомства с предметной областью было бы очень полезно иметь в качестве «опорного сигнала» легко воспринимаемую структуру этой области. С помощью онтологии можно быстро находить ссылки на источники информации. 2. Поисковые системы. Наметившийся сейчас переход от поиска информации по ключевым словам к использованию семантически значимых фрагментов текстов существенно облегчается, если используется онтология ПрО. Совершенствование механизмов поиска по ключевым словам и формальных языков запросов не избавляет от высокого уровня информационного шума и неполноты получаемых результатов. Использование онтологии позволяет точнее интерпретировать смысл терминов, фигурирующих в запросах, а также дополнять или расширять запрос понятиями, которые связаны с терминами запроса отношениями род – вид, синоним, часть – целое, ассоциация и др. 3. Научные исследования. Большое значение имеет унификация терминологии ПрО. Наличие онтологии ПрО позволит автоматизировать процесс отслеживания полезных данных и знаний в потоке текущей информации. 386 Глава 18. Онтологии и онтологические системы 4. Системный анализ предметной области. Онтология предоставляет структурированную и частично формализованную основу для проведения системного анализа предметной области. 5. Интегрирование данных и знаний. При объединении информационных баз онтология будет помогать устанавливать семантическую эквивалентность одинаковых фактов и понятий, сформулированных в разных терминах. 6. Создание и использование БЗ. Практическое формирование баз знаний (БЗ), хотя в искусственном интеллекте (ИИ) они декларируется уже 30 – 40 лет, получило новый импульс в развитии с появлением онтологического подхода. 7. Создание систем, реализующих механизмы рассуждений (экс пертные системы (ЭС), системы управления знаниями (СУЗ), интеллектуальные роботы и др.). Онтологический подход к разработке и реализации средств формирования объяснений в ЭС позволяет существенно снизить уровень ошибок, обусловленных человеческим фактором, и чем сложнее система, тем актуальнее такой путь. 8. Организация поиска по смыслу в текстовой информации. Текстовая информация до сих пор является основой документооборота. Ее объем очень велик, а задачи поиска и систематизации ответственны и сложны. Механизм индексирования текстовых документов весьма трудоемок, к тому же он не решает проблем неполноты и поискового шума. Это особенно проявляется при использовании запросов типа «где» и «как», а также фактографических запросов. Для организации поиска по смыслу в текстовой информации необходимы методы извлечения семантики из текстовых документов и запросов и сопоставления получаемых семантических представлений. Подобные методы повышают эффективность автоматического реферирования, аннотирования и классификации документов, позволяют автоматизировать построение гипертекста. Новыми задачами, связанными с извлечением знаний из текста, являются: формирование сообщений на заданную тему; l извлечение новых фактов по интересующей теме; l реализация виртуального собеседника. l Онтологии являются важным средством повышения эффективности решения всех перечисленных выше задач. 9. Семантический поиск в Интернете. Одной из центральных проблем Интернета является организация эффективного поиска 390 Глава 18. Онтологии и онтологические системы процессов обработки естественного языка: английского, немецкого и итальянского. Уровень абстракции этой онтологии находится между лексическими и концептуальными знаниями, что определяется требованиями упрощения интерфейсов с лингвистическими ресурсами. Модель Generalized Upper Model включает таксономию, организованную в виде иерархии концептов (около 250 понятий), и отдельную иерархию связей. Предметные онтологии и онтологии задач описывают соответственно словарь, связанный с предметной областью (медицина, коммерция и т.д.), с конкретной задачей или деятельностью (диагностика, продажи и т.п.) за счет специализации терминов, введенных в онтологии верхнего уровня. Онтология в системе TOVE (Toronto Virtual Enterprise Project) предметно ориентирована на представление модели корпорации. Основная цель ее разработки – отвечать на вопросы пользователей по реинжинирингу бизнес процессов, извлекая эксплицитно представленные в онтологии знания. При этом система может проводить дедуктивный вывод ответов. В онтологии нет средств для интеграции с другими онтологиями. Формально онтология описывается с помощью фреймов для описания концептов, зависящих как от конкретной предметной области, так и от задач, которые в них решаются. Концепты в таких онтологиях часто соответствуют ролям, которые играют объекты в предметной области в процессе выполнения определенной деятельности. Пример прикладной онтологии – онтология системы Plinius, предназначенная для полуавтоматического извлечения знаний из текстов в области химии. В онтологии описано около 150 концептов и 6 правил. Формально онтология Plinius тоже описывается с помощью фреймов. 18.8. Инструменты инженерии онтологий Как показывает анализ работ в этой области, в настоящее время наиболее активно разрабатываются и используются на практике предметные онтологии. Для создания и поддержки существует уже целый ряд инструментов, которые, помимо общих функций редактирования и просмотра, выполняют поддержку документирования, импорт и экспорт онтологий разных форматов и языков, поддержку графического редактирования, управление библиотеками онтологий и т.д. Глава 18. Онтологии и онтологические системы 391 Рассмотрим кратко наиболее известные инструменты инженерии онтологий, поддерживающие процессы создания онтологий и их трансляции. Ontolingua. Среда разработки, обеспечивающая коллективное l использование, предоставляющая набор средств для создания онтологий и библиотеку модулей онтологий. Среда доступна через Интернет. Имеющиеся средства ориентированы на создание онтологий посредством сбора и расширения онтологий, хранящихся в библиотеке. Данная среда позволяет переименование понятий из различных составляющих онтологий, устраняет неоднозначности в ссылках на понятия в процессе ввода/вывода, поддерживает циклическое включение одной онтологии в другую, предоставляет пользователям возможности для расширения включенных онтологий такими способами, как добавление упрощающих допущений или ограничений на область допустимых значений и расширение областей допустимых значений полиморфных операторов. Для многократного использования существующих онтологий поддерживаются операция включения (включение всего содержимого внешней онтологии без изменений), полиморфного уточнения (расширение включаемых аксиом посредством уточнения их операторов) и ограничения (ограничения, накладываемые на включаемые аксиомы). OntoEdit. Среда разработки для проектирования, приспособлеl и импорта моделей знаний для прикладных систем. Среда поддерживает многоязычную разработку онтологий и множественное наследование. Поддерживается выполнение следующих функций: определение понятий в иерархии понятий, множественное наследование, определение локальных и глобальных отношений, определение экземпляров классов, многоязычность, определение базовых аксиом таких, как разрозненные понятия, симметричные отношений, транзитивные отношений и т.п., импорт в форматы RDF, DAML+OIL, Flogic и экспорт из перечисленных форматов. OilEd. Редактор онтологий, позволяющий пользователю строl онтологию, используя OIL (The Ontology Inference Layer – онтологический уровень логического вывода). OIL предлагается для WWW представления онтологий и использования уровня логического вывода для онтологий, который объединяет широко используемые примитивы моделирования, заимствованные из языков, основанных на фреймовом представлении, Глава 18. Онтологии и онтологические системы 393 мальной теорией онтологии верхнего уровня. Онтология приложение хранится в библиотеке и включает в себя, кроме перечисленных онтологий, онтологии источников знаний. Источники знаний выявляются в ходе работы системы, после чего их представление переводится в нотацию онтологии верхнего уровня. Многократный доступ к знаниям осуществляется через онтологию приложение. Система предоставляет средства для создания, редактирования и соединения онтологий, поддерживаются механизмы импорта/экспорта для формата DAML+OIL. Сравнительные оценки для описанных средств разработки онтологий с точки зрения их внешней организации приведены в табл. 18.1. Обозначения в таблице: «+» – свойство реализовано правильно, «0» – свойство реализовано, но трудно в использовании, «–» – свойство не поддерживается или некорректно реализовано, «НП» – свойство неприменимо при данных условиях. Сравнительные характеристики систем по работе с онтологиями с точки зрения их внутренней организации представлены в табл. 18.2. На рис. 18.2 приведена технологическая схема поддержки процесса управления знаниями, содержащая в себе общие знания, принципы, учитывающие поддержку распространенных форматов описания знаний, в том числе объектно ориентированного подхода к разработке систем, основанных на знаниях, способа представления знаний в форме онтологий и стандартных механизмов работы с базами данных. Данная схема может использоваться для разработки информационного ядра создаваемых систем. В частности, именно на эту схему ориентируются авторы при создании системы Web DESO. 18.9. Методология инженерии знаний в онтологических системах 18.9.1. Требования к онтологиям Несмотря на кажущееся разнообразие инструментальных средств инженерии знаний в онтологических системах, очевидны те же проблемы, которые тормозят развитие практически всех типов систем, основанных на знаниях, в частности, ЭС, СУЗ и др. Это: отсутствие единых концепций и технологий выявления и струкl знаний разных уровней; отсутствие единых методик работы со специалистами и выявl необходимых контекстных знаний, важных для унификации и стандартизации знаний в онтологиях. 394 Глава 18. Онтологии и онтологические системы Таблица 18.1 Сравнительные характеристики систем по работе с онтологиями Web Критерий Ontolingua Protege OilEd OntoEdit DESO 1. Общие 1.1. Понятность ин + + + + терфейса 1.2. Согласованность + + + + + интерфейса 1.3. Скорость обнов ления после добавле + + + + ния данных 1.4. Общее впечат 0 + + + + ление 1.5. Понятность зна В стадии + + + + чения команд разработки 1.6. Понятность вно симых командами 0 0 0 0 + изменений пользова телю В стадии 1.7. Стабильность + + + + разработки 1.8. Требования ус тановки на компью Нет Есть Есть Есть Нет тер пользователя 1.9. Система помо В стадии + + + щи разработки 2. Онтология 2.1. Поддержка множественного на Есть Есть Есть Есть Есть следования 2.2. Возможность В стадии определить несо + + 0 разработки вместимые понятия 2.3. Проверка на со гласованность вво В стадии + + + + димых данных с су разработки ществующими 2.4. Наличие приме + + + + ров для онтологий 2.5. Возможность В стадии повторного исполь + + + разработки зования онтологий 2.6. Наличие прими В стадии тивов высокого + разработки уровня 398 Глава 18. Онтологии и онтологические системы В этой связи представляется, что идеи и метод ситуационного анализа (МСА) и проектирования модели ПрО, рассмотренные в главах 16,17 остаются актуальными и для проектирования онтологий различных типов – от метаонтологий до онтологий задач и приложений. Хотя, очевидно, для этого необходима его дополнительная интерпретация и развитие применительно к задачам онтологии. что в основе метода лежит идея анализа и проектирования моделей ПрО и самих БЗ в виде системы инвариантных конструктов – моделей и задания метода их интеграции в некоторую единую понятийную структуру с единым понятийным пространством знаний. В этом случае язык всей системы естественным образом будет вытекать из используемых понятий, а не наобо- рот, когда понятия вытекают из сложившегося языка. Модель ПрО в результате представляется в виде особым образом связанных конструктов, их описаний и отношений между ними. При таком подходе появляются возможности сравнения, объединения, интеграции, конструктов и построения более сложных из простых средствами формальной логики и искусственного интеллекта. Классы конструктов, необходимые для решения задач онтологий, естественным образом могут быть представлены в виде теоретико системных форм, их предметной интерпретации и использования в различных целях. Отсюда же естественным образом могут быть решены проблемы стандартизации и унификации языка представления знаний в онтологиях, проблемы противоречивости в толковании терминов, их полноты и лаконичности, адекватности уровней детализации. Подход с позиции метода ситуационного анализа (МСА) формирует итоговую понятийно объектную модель предметной области, которая, по определению, является объектно ориентированной. Это важно, т.к. почти все программные среды, ориентированные на создание онтологий, основаны на объектно ориентированной модели. Еще одно важное достоинство МСА: метод предлагает алгебру работы с конструктами, которая может быть разработана до множества операций, применяемых в онтологиях различных типов. 18.9.2. Методологии организации знаний в онтологиях Рассмотрим кратко наиболее известные концепции организации знаний в онтологиях. METHONTOLOGY и программное окружение спецификации l онтологии ODE (Ontology Design Environment) включают проце- Глава 18. Онтологии и онтологические системы 399 дуры жизненного цикла проекта. В основе системы знаний приняты: глоссарий терминов, деревья классификации концептов и диаграммы бинарных отношений. Система представления знаний OIL онтология – основана на l понятии классов и определении их подклассов и атрибутов. Отношения могут быть определены не только как атрибуты класса, но и как независимые объекты, имеющие определенный домен и диапазон действия. Как и классы, отношения могут быть организованы в иерархию. Для описания онтологии используется основанное на фреймах представление. Данный подход ис2 при построении (KA) онтологии. Система представления знаний Loom. Описываемые знания соl из определений, правил, фактов и стандартных правил. Система обеспечивает средства механизма контекстов, реализованные в операции модуляризации, состоящей в разбиении созданной онтологии на понятийные разделы, которые служат основой для разработки новых онтологий и для логического вывода. использованием предлагаемого механизма контекстов была l построена JFACC онтология (онтология планирования полетов). Она была составлена из следующих разделов (контекстов), предоставляемых системой: «Система», «Время», «Объекты», «Планы воздушной компании», «Оружие», «Обеспечение топливом», «Авиация», «Вооруженные силы», «Грамматика». Система представления знаний DOOM. Онтология состоит из l терминов, обозначающих понятия, связи между ними и ограничения. Понятие характеризуется атрибутами, которые являются необходимыми, но не достаточными условиями. Онтология формирует иерархию специализации с терминами более низкого уровня, имеющими тесные связи с ER моделями и схемами баз данных. Она включает в себя абстрактные понятия и ограничения уровня ПрО, требуемые для рассуждения на уровне знаний. Схемы и классы являются зависимыми от реализации понятиями уровня данных. Модель предметной области в проекте PICSEL. Данная модель l рассматривается как отнесение к определенным категориям объектов ПрО, с точки зрения пользователя. Она организована следующим образом. Во первых, определяется основной словарь в терминологии базовых предикатов. Затем через эти предикаты определяются новые отношения ПрО, существенные для описываемой предметной области. Отношения задаются Глава 18. Онтологии и онтологические системы 401 ориентированных на реализацию отдельных функций (подфункций) управления и ППР. КМПрО содержит все множество отношений между объектами l ПрО и условий (аксиом) для определения значений их истинности, необходимых и достаточных для логического вывода решений. содержит (в потенциале) ответы на типы запросов, хаl для онтологий. Это запросы типов: КТО, ЧТО, КОГДА, ПОЧЕМУ, ЗАЧЕМ, КАКИМ СПОСОБОМ, С ПОМОЩЬЮ ЧЕГО, КАК, КАКОГО РОДА (ВИДА, ПОДВИДА), ЧТО НАДО СДЕЛАТЬ ДЛЯ ТОГО, ЧТОБЫ, КАКИМИ СВОЙСТВАМИ ОБЛАДАЕТ, КАКИМИ ОТНОШЕНИЯМИ СВЯЗАНЫ ДВА ИЛИ БОЛЕЕ ОБЪЕКТОВ и т.п. КМПрО в потенциале содержит множество всех онтологий заl функций, онтологий приложений. КМПрО проста для понимания и для поиска понятий. l КМПрО онтология хорошо структурирована. l КМПрО онтология содержит концептуальные, а не эпизодичеl знания. На основе КМПрО естественным образом могут быть сформуl точные аксиомы вывода, согласованные со структурой, именами и содержимым для всех определенных в ней понятий. элементами КМПрО введена алгебра (пересечение, объl (соединение), вычитание). Этот список может быть расширен для работы с онтологиями. 18.10. Проектирование онтологий в среде Protégé 18.10.1. Описание среды Protégé Программная система Prot é g é разработана в Стэнфордском университете (США, Калифорния). Она распространяется под лицензией Mozilla Public License (MPL), являясь свободным программным обеспечением с открытым исходным кодом. Prot é g é позволяет упростить процесс разработки онтологии. Prot é g é свободно поставляется, постоянно обновляется и может интегрироваться в другие проекты [147, 148]. Интерфейс программной среды Prot é g é 4.1 представлен на рис. 18.3. Prot é g é предоставляет два пути моделирования онтологий [147]: 402 Глава 18. Онтологии и онтологические системы é é Рис. 18.3. Интерфейс программной среды Prot g 4.1 онтологическое представление знаний с помощью фреймов, соl спецификации протокола OKBC (Open Knowledge Base Connectivity protocol) – только в Prot é g é 3.x; создание онтологии на языке OWL (Web Ontology Language), l разработанном консорциумом W3C. Эта среда разработки была выбрана исходя из следующих соображений: на Java, что означает кроссплатформенность; l Расширяема дополнениями (плагинами); l Полная совместимость с OWL 2 (начиная с версии 4.1); l Возможность визуализации проектируемой онтологии с помоl ориентированного графа, вершинами которого являются понятия предметной области, а ребрами – отношения между ними (плагин OWLViz); Поддержка правил, основанных на языке SWRL (Semantic Web l Rule Language); Подключаемые системы логического вывода (reasoners), такие l как FaCT++, Pellet, HermiT. Язык веб онтологий OWL изначально разработан для использования приложениями, которые должны обрабатывать содержимое 404 Глава 18. Онтологии и онтологические системы ними. В частности, возможно использование операций алгебры онтологий (объединение, пересечение, вычитание), выборки, поиска терминов и многие другие. Операции над онтологиями ориентированы на реализацию как процессов разработки онтологий, так и их поддержки и организации повторного их использования. 18.10.2. Реализация онтологии для системы управления инцидентами В качестве иллюстрации приведем пример прикладной онтологии системы управления инцидентами (СУИ) в подсистеме «Почта» ИТ инфраструктуры корпоративной системы управления (ИТИ КСУ), разработанной в рамках дипломного проекта в РГУ ИТП (Ильичёв Д.С.) на Prot é g é 4.1. ИТИ КСУ включает в себя техническое, программное, информационное, организационное (регламентное), правовое, экономическое обеспечение со своими структурами и связями между ними. При этом на нормальное (нормативное) функционирование ИТИ могут влиять как внешние, так и внутренние факторы. К внешним относятся, например, сбои в электроснабжении, несанкционированный вывод элементов системы из строя, неправомерные действия лиц, не имеющих права доступа и т.п. Внутренние факторы тоже многочисленны: поломки технические, сбои в системе передачи и обработки информации, ошибочные действия пользователей и т.д. ИТИ могут быть локальными, распределенными по большим территориям. В этой связи управление ИТИ осуществляется службой технической поддержки (СТП), имеющей несколько уровней. Как правило, в достаточно сложной ИТИ КСУ различные подсистемы сильно связаны между собой и часто не представляется возможным однозначно отнести инцидент к той или иной подсистеме. Для почтовой подсистемы это особенно характерно. Электронная почта остаётся на сегодняшний день наиболее востребованной системой обмена информацией, даже несмотря на огромное число альтернативных способов коммуникации в сети Интернет. Исходным материалом для построения онтологии стала информация об инцидентах в почтовой подсистеме, накопленная за время управления инцидентами в ИТИ КСУ, концептуальные модели инцидентов, а также код предварительно построенной понятийно объектной модели на основе системы «Помощник Эксперта» [23, 24, 99]. На рис. 18.4 показаны некоторые инциденты в подсистеме ИТИ КСУ «Почта» и их взаимосвязь между собой. Глава 18. Онтологии и онтологические системы 405 Рис. 18.4. Фрагмент пространства инцидентов почтовой подсистемы На рисунке выше цифрами обозначены инциденты, лежащие вне проблемной области «Почта»: 4 – «Нет доступа к сети Интернет»; 6 – «ПК не имеет доступа к ЛВС». В рассматриваемой ИТИ КСУ исходные данные об инцидентах взяты из системы документооборота на основе Lotus Domino. Для передачи почты используется встроенный протокол NRPC, присутствует также возможность конфигурирования отправки и приёма почты по стандартным для Интернета протоколам POP3, IMAP, SMTP. За основу построения онтологии и ее графической визуализации взяты метод ситуационного анализа и методика построения концептуальной модели, рассмотренные в разделах 15, 16, а также в работах [14, 20, 23, 100]. Содержательное описание системы управления инцидентами и соответствующие концептуальные модели приведены в Приложении D. Между элементами КСЕР и элементами онтологии в формате Prot é g é существуют следующие структурные соответствия (табл. 18.5). 1. Понятия – объекты, имеющие экземпляры (например, «системный администратор», «событие», «ошибка»), соответствуют 418 Глава 18. Онтологии и онтологические системы (Data Property Range). Общее число этих свойств, помноженное на число экземпляров классов, является числом возможных простых бинарных запросов. В случае Data Properties число запросов вида «Какое свойство у экземпляра х» равно: ? (число свойств у объектов класса) * (число экземпляров). В случае объектных свойств нужно учитывать все возможные комбинации отношений между экземплярами классов в обе стороны. Это определяет количество бинарных запросов, имеющих не сложную структуру, как например в случае запроса на рисунке 18.15. Вариантов запросов более сложной структуры гораздо больше. Ориентировочное число возможных простейших запросов к онтологии не менее 200. При написании этой главы использовались следующие источники: [10, 47, 101, 103, 122, 124, 125, 148 – 151]. Вопросы для самопроверки и упражнения 1. С какими новыми факторами нашей жизни связано появление онтологий? 2. Какой основной смысл вкладывается в понятие онтология? 3. Какие новые требования предъявляются к онтологиям как к системам манипулирования знаниями? 4. Какова типовая структура модели предметной области в онтологии? Какова структура формальной модели онтологии и её частных случаев? 6. Дайте определение таксономии и приведите примеры. 7. Какова структура формальной модели онтологической системы? Какие виды онтологий известны и как они связываются между собой? 9. Чем различаются технологии разработки ЭС и онтологий? 10. Перечислите основные типы операций в алгебре онтологий? 11. Какие возможности дает применение онтологий? 12. Какие задачи решаются с помощью онтологий? 13. Приведите примеры инструментальных систем поддержки инженерии онтологий? 14. Дайте общую характеристику системы и её возможностей. 15. Какие проблемы онтологий еще не решены (решены недостаточно? Глава 18. Онтологии и онтологические системы 419 16. Каким образом метод ситуационного анализа может быть полезен для разработки и реализации онтологий? 17. Разработать на Prot é g é проект прикладной онтологии задачи для модели предметной области, представленной в рамках курсовой работы по курсу «Теория принятия решений». Глава 19 ВВЕДЕНИЕ В МНОГОАГЕНТНЫЕ СИСТЕМЫ Исследования по интеллектуальным агентам и многоагентным системам имеют уже почти сорокалетнюю историю, но только в последнее время эти исследования действительно оформились в самостоятельный и многоплановый раздел искусственного интеллекта, который привлекает к себе лучшие силы исследователей из различных областей. Становление этого направления прежде всего связано с развитием средств инструментальной поддержки и приложений ИИ, а также с проблемами распределённого искусственного интеллекта (РИИ) в связи с тем, что сложность современных систем и организаций стали такими, когда централизованное управление в них стало не эффективным. Это привело к коренной перестройке традиционных организаций и предприятий, к появлению сетевых организационных структур нового типа и виртуальных предприятий [37]. Компьютерные системы (КС) становятся все сложнее и сложнее, включают ряд подсистем различной природы с различными функциональными характеристиками, взаимодействующими с различными специалистами, удаленными друг от друга. Усложнились и сами решаемые задачи, распределенные как в пространстве, так и функционально. Такие системы отличаются от традиционных отсутствием единой цели и единого разработчика, они возникают и развиваются в ходе технической эволюции. Они по сути своей открыты и, следовательно, у них должны быть развитые возможности и средства адаптации к изменениям среды. Это привело к появлению эволюционной парадигмы развития программного обеспечения на основе автономных, индивидуализированных, взаимодействующих модулей – агентов [108, 109]. Вторым важным фактором возникновения парадигмы многоагентных систем (МАС) стало распространение различных сетей, особенно сети Интернет, которые породили распределенный взгляд на мир и, как следствие, потребовали пересмотра классических моделей вычислений, основанных на последовательной машине фон Неймана, и принятия новых концепций вычислительного пространства. Сегодня в рамках одного вычислительного устройства Глава 19. Введение в многоагентные системы 421 может интегрироваться множество спецвычислителей, например, домашний компьютер с несколькими аудио и видеокартами, многоядерным процессором, это уже ни для кого не является редкостью. Реализация этой возможности способствовала появлению у человека потребности в организации сетевых взаимодействий устройств различного назначения, что привело к большому количеству распределенных в пространстве вычислительных систем, которые могут объединяться для решения конкретных задач. Возникли и вопросы, например: как организовать целесообразное взаимодействие большого количества интеллектуальных программ; как проверить, что программное обеспечение эффективно решает делегированные ему задачи и т.п.? И, как результат взрывоподобного развития вычислительной техники и наработки программного обеспечения, произошёл переход от машинно ориентированного программирования к концепциям и метафорам, отражающим человеческое понимание мира со всеми его нюансами и проблемами. Соответственно абстракция «объект» была заменена ещё более высокой абстракцией – «агент». Таким образом, прослеживается чёткая тенденция, когда на каждом последующем этапе развития разработчики пишут программы в терминах все более высокоуровневых абстракций, которые находятся все дальше от машинного кода и все ближе к человеческому языку. Исследования в области многоагентных систем можно разделить на такие основные направления [35, 36, 37]: теория агентов, в которой рассматриваются формализмы и маl методы для описания рассуждений об агентах и для выражения желаемых свойств агентов; архитектура агентов и многоагентных систем – область исслеl в которой изучается, как построить компьютерную систему, которая удовлетворяет тем или иным свойствам, которые выражены средствами теории агентов; методы, языки и средства коммуникации агентов; l методы кооперации агентов (организации кооперативного поl в процессе совместного решения задач или при каких либо других вариантах взаимодействия; языки программирования агентов; l методы и программные средства поддержки мобильности агенl (миграции агентов по сети). Особое место занимают исследования, связанные с разработкой приложений многоагентных систем и инструментальных средств 422 Глава 19. Введение в многоагентные системы поддержки технологии их разработки. Можно еще упомянуть проблемы, связанные с аутентификацией (авторизацией) агентов, обеспечением безопасности и ряд других. 19.1. Понятие агента К сожалению, до сих пор не выработано чёткое определение понятия «агент», поскольку каждый исследователь склонен трактовать его по своему. Наиболее простым и общепризнанным определением считается следующее [99]. Агент – это система, находящаяся в некоторой среде, воспринимающая эту среду посредством своих рецепторов и воздействующая на нее посредством эффекторов (рис. 19.1). Многие исследователи при определении понятия «агент» опираются на представления об объекте, развитом школой объектно ориентированного программирования (ООП). Искусственный агент понимается как метаобъект, наделенный некоторой долей субъектности, т.е. способный манипулировать другими объектами, создавать и уничтожать их, а также имеющий развитые средства взаимодействия со средой и себе подобными. Иными словами, это – «активный объект» или «искусственный деятель», находящийся на заметно более высоком уровне сложности по отношению к традиционным объектам в ООП и использующий их для достижения своих целей путем управления, изменяющего их состояния. Выделяются агенты четырех основных типов: простые, смышленые (smart), интеллектуальные (intelligent) и действительно интеллектуальные (truly intelligent). Для нас интерес представляют в большей степени последние два типа – интеллектуальные и действительно интеллектуальные агенты, которые отличаются тем, что поддерживают помимо автономного выполнения, взаимодействия с другими агентами и слежения за окружением – способность использовать абстракции, адаптивность поведения, обучение на прецедентах и толерантность к ошибкам. В [37] авторы выделяют два определения интеллектуального агента (ИА) – «слабое» и «сильное» [см также: www: 136, 137]. Под интеллектуальным агентом (в слабом смысле) понимается программно или аппаратно реализованная система, которая обладает такими свойствами, как [23, 24]: Глава 19. Введение в многоагентные системы 423 Рис. 19.1. Структура агента автономность – способность агента функционировать без вмеl человека и при этом осуществлять самоконтроль над своими действиями и внутренним состоянием; общественное поведение (social ability) – способность функциоl в сообществе с другими агентами, обмениваясь с ними сообщениями с помощью некоторого общепонятного языка коммуникаций; реактивность (reactivity) – способность воспринимать состояl среды и своевременно отвечать (реагировать) на те изменения, которые в ней происходят; проактивность (proactivity) – способность агента брать на себя l инициативу, т.е. способность генерировать цели и действовать рационально для их достижения, а не только реагировать на внешние события. Под ИА (в сильном смысле) подразумевается наличие у него, помимо только что перечисленных свойств, ряда дополнительных. В частности, главным из них является наличие у агента хотя бы некоторого подмножества так называемых «мен тальных свойств», к которым относятся: знания (knowledge) – это постоянная часть знаний агента о себе, l среде и других агентах, т.е. та часть, которая не изменяется в процессе его функционирования; убеждения (beliefs, вера) – знания агента о среде, в частности, l о других агентах; это те знания, которые могут изменяться во времени и становиться неверными, однако агент может не иметь об этом информации и продолжать оставаться в убеждении, что на них можно основывать свои выводы; желания (desires) – это состояния, ситуации, достижение котоl по разным причинам является для агента желательным, од- Глава 19. Введение в многоагентные системы 425 компьютерные вирусы; l интеллектуальные помощники; l поисковые боты в сети Интернет; l персонажи компьютерных игр; l роботы и т.д. l В то же время агентами не являются: объекты в классическом понимании объектно ориентированноl программирования; отдельно взятые интеллектуальные технологии (например, сиl обработки правил, нейронные сети и т.д.); мастера, планировщики и т.п. l 19.2. Окружение агентов Одно из ключевых свойств агентов – автономность, но быть полностью независимым агент не может. Он всегда в той или иной степени зависит от внешних факторов, т.е. от окружения (среды). Окружение (среда) с точки зрения агента – это все, что вне его и при этом доступно для восприятия и изменения. Среда может состоять из других агентов и пассивных объектов (ресурсов). Т.е. среда обеспечивает условия, в которых сущность (агент) существует. Среды можно классифицировать по следующим признакам. 1. По степени наблюдаемости: полностью наблюдаемая – если рецепторы агента предоставляют ему полную информацию о состоянии среды или частично наблюдаемая – в противном случае. 2. По степени определенности последствий принимаемых решений: детерминированная – если следующее состояние среды однозначно определяется предыдущим состоянием и реализуемым действием или стохастическая – иначе. 3. По связности принимаемых решений: эпизодическая – если цель агента правильно реагировать на каждый последовательно воспринимаемый эпизод и последующие решения не зависят от предыдущих – или последовательная, если это не так. 4. По динамике происходящих изменений среды подразделяются на: статические – если в среде не происходит изменений, пока агент принимает решения, и динамические – если изменения происходят. 5. По плавности изменения состояний среды бывают: дискретные – если изменения происходят скачкообразно, и непрерывные – если изменения происходят плавно. 426 Глава 19. Введение в многоагентные системы 6. По количеству находящихся в среде агентов – одноагентные и многоагентные. Следует заметить, что агенты могут различаться по структуре, определяющей возможности восприятия среды. Поэтому одна и та же среда с точки зрения разных агентов может обладать разными свойствами. Например, мир для лягушки близок к дискретному, т.к. её глаза приспособлены видеть только объекты, движущиеся со скоростью не меньше пороговой. Объекты, обладающие меньшей скоростью, для нее неподвижны. 19.3. Архитектуры агентов 19.3.1. Общая классификация архитектур Грубая классификация архитектур агентов основывается на парадигме, лежащей в основе принятой архитектуры. По этому признаку различают два основных класса архитектур [99]: архитектура, которая базируется на принципах и методах исl интеллекта, т.е. систем основанных на знаниях (deliberative agent architecture – архитектура разумного агента); архитектура, основанная на поведении (reactive architecture) l или «реактивная архитектура» (основанная на реакции системы на события внешнего мира); гибридная, имеющая те или иные черты от архитектур обоих l типов. С другой стороны, независимо от лежащей в основе формализации парадигмы, архитектуры агентов классифицируются в зависимости от вида структуры, наложенной на функциональные компоненты агента и принятых методов организации взаимодействия его компонент в процессе работы. Как правило, архитектура агента организуется в виде нескольких уровней. В соответствии с [32] среди многоуровневых архитектур различают горизонтальную и вертикальную организацию взаимодействия уровней. 19.3.2. Архитектуры, основанные на знаниях С классической точки зрения такая архитектура содержит символьную модель мира, представленную в явной форме, когда принятие решений о действиях, которые должны быть предприняты агентом, осуществляется на основе рассуждений логического или псевдологического типов [139]. Выяснилось, что возможности формальных моделей представления знаний типа исчислений вы- Глава 19. Введение в многоагентные системы 427 сказываний и предикатов недостаточны для описания агентов. В этой связи, были разработаны некоторые специальные варианты расширений модальных логик и подобных модальным, которые оказались с точки зрения реализуемости более удачными. Такие архитектуры были названы BDI архитектурами, как специальный случай системы, основанной на знаниях. Рассмотрим эту модель как наиболее популярную более подробно. В этой модели агенты рассматриваются как посредники, делегаты, искусственные представители интересов людей в некоторой виртуальной (или реальной) среде, и только потом это понятие распространяется на других субъектов, например, животных. Поэтому, когда говорят о поведении агентов и характеризуют их состояние, то употребляют чаще всего такие термины, как: убеждения (Beliefs); желания (Desires); намерения (Intention) [99]. Иногда к этому списку добавляют «надежды», «опасения» и другие чисто человеческие характеристики. Модель агента, построенная с использованием перечисленных понятий, и называется BDI моделью. Может показаться, что перенесение подобных терминов на искусственные сущности надуманно. Однако этому есть свое рациональное объяснение. Во первых, когда мы описываем поведение людей, мы естественным образом используем эти термины, а поскольку агенты должны заменять людей в некоторой деятельности, следовательно, они должны иметь модели наших убеждений, желаний и прочего, закладываемые в них разработчиками. Тогда зачем, спрашивается, между естественноязыковым описанием поведения и его программной моделью вносить лишний терминологический барьер вроде переменных, процедур, методов, модулей и т.д.? Этот барьер заставляет разработчика терять время и силы на то, чтобы решить, каким образом лучше всего отразить моделируемое понятие в терминах используемого языка программирования. Поэтому многие агентные языки программирования ориентированы именно на построение программы в терминах BDI модели. Во вторых, устранение терминологического барьера – это не самая главная задача BDI модели. Главное заключается в том, что программирование в BDI понятиях обязывает среду разработки обрабатывать их в соответствии с тем содержанием, которое в них вкладывается человеком. Иначе говоря, в среде должен быть механизм логического вывода, который моделирует принятие решений 428 Глава 19. Введение в многоагентные системы человеком на основе его убеждений, желаний и т.д. Рассмотрим более подробно основные понятия BDI модели. Убеждения – это декларативные знания, которые считаются истинными с точки зрения данного агента. В связи с этим разные агенты могут иметь разные убеждения относительно одних и тех же вещей. Кроме того, могут быть убеждения относительно убеждений и прочих BDI элементов. Убеждения, оказавшиеся ложными, должны быть отвергнуты. Таким образом, агент должен действовать исходя из текущих убеждений, но допускать, что они могут быть ложны. Следующие фразы содержат примеры убеждений: «Она думала, что на улице холодно» – убеждение о состоянии l объекта; «Она была убеждена, что он сделает ей предложение» – убежl о намерениях другого; «Она была уверена, что он знает ее подругу» – убеждение об l убеждении другого; «Он думал, что она хочет в Париж» – убеждение о желаниях l другого. Желания – это цели существования агента, т.е. его целевые состояния. Желания можно понимать как убеждения, которые нужно сформировать. Деятельность агента обычно обусловлена достижением его собственных целей (удовлетворением желаний), что, однако, не исключает участие агента в достижении целей других агентов. Намерения – это планы по достижению целей, принятые к исполнению. Они могут и не согласовываться с собственными желаниями агента, а строиться на основе чужих желаний и объективных необходимостей. У агента может быть множество намерений, среди которых он должен постоянно выбирать, чем заняться в настоящий момент времени. Имеются также архитектуры, исповедующие лингвистический подход (на основе формальных грамматик), а также такие, которые пытаются использовать приближенные знания и правдоподобные рассуждения. 19.3.3. Архитектуры на основе планирования Архитектуры на основе планирования (ре активная архитектура) рассматриваются как альтернатива подходу, рассмотренному в предыдущем подразделе [37]. Вообще говоря, этот подход также развивался внутри сообщества специалистов по искусственному интеллекту еще с начала 1970 х годов, однако той его частью, кото- Глава 19. Введение в многоагентные системы 429 рая занималась планированием поведения роботов и тому подобными задачами. В этом подходе планирование рассматривалось как «конструирование последовательности действий, которая, будучи исполненной, приводила бы в результате к достижению желаемой цели». Простым примером архитектуры подобного рода является архитектура, в которой реакция агента на внешние события генерируется конечным автоматом. Для реактивной архитектуры свойственны такие особенности, как: отсутствие какой либо символьной внутренней модели мира; работа по правилам типа ситуация – действие, когда выбираются из них наиболее подходящие действия в каждой конкретной ситуации. Очевидно, что это – наиболее простая архитектура, однако позволяющая наилучшим образом использовать множество образцов поведения для реакции агента на определенные стимулы для конкретной предметной области. Она также проста в реализации, устойчива к сбоям, экономична (в смысле вычислительного времени), вычислительно разрешимая. В качестве недостатков такой архитектуры указываются: необходимость полного ситуационного определения всех возl активностей агентов; агенты без модели среды должны иметь достаточно информаl от локальной среды; сложность создания обучающихся агентов; l сложность в проектировании агентов с многочисленными вариl поведения (динамическим взаимодействием). Как правило, функциональные модули агента структурируются в несколько уровней, однако по различным принципам. Эти уровни представляют различные функциональности, такие как восприятие внешних событий и простые реакции на них; поведение, управляемое целями; координация поведения с другими агентами; обновление внутреннего состояния агента, т.е. убеждений о внешнем мире; прогнозирование состояний внешнего мира; определение своих действий на очередном шаге и др. Наиболее часто в архитектуре агента присутствуют уровни, ответственные за: восприятие и исполнение действий; l реактивное поведение; l локальное планирование; l кооперативное поведение; l моделирование; l формирование намерений; l обучение агента. l 432 Глава 19. Введение в многоагентные системы Рис. 19.6. IDS архитектура Как видно из рис.19.4 – 19.5, архитектуры Will и InteRRaP одновременно являются гибридными. На рис. 19.6 приведен пример ещё одной популярной архитектуры гибридного типа (IDS). 19.4. Языки программирования агентов В [36] отмечается, что в настоящее время не существует языка программирования, который в полной мере отвечал бы потребностям технологии многоагентных систем. Разрабатываемые в настоящее время агентские системы используют большой спектр различных базовых языков, но, к сожалению, ни один из них не может рассматриваться как истинно «агентно ориентированный». Имеются попытки расширить существующие языки, а также попытки использовать традиционные языки программирования. Существует ряд проектов по разработке новых специализированных агентских языков. 19.4.1. Требования к языкам программирования агентов Перечислим основные требования к агентским языкам [3, 36, 37]. Это: 1. Обеспечение переносимости кода на различные платформы. Это требование возникает всегда, когда необходимо обеспечить Глава 19. Введение в многоагентные системы 433 агента свойством мобильности. Чтобы обеспечить мобильность агента, язык должен поддерживать механизм посылки, передачи, получения и выполнения кодов, содержащих агентов. 2. Доступность на многих платформах. Это требование непосредственно вытекает из предыдущего. Интеллектуальные агенты должны работать в гетерогенной компьютерной среде. Любой компьютер, получающий агента, должен быть способен принять и выполнить его. 3. Поддержка сетевого взаимодействия. Свойство агентов участвовать в переговорах и многие другие особенности агентов нуждаются в доступе к удаленным ресурсам. Поддержка сетевых услуг может включать семейства соответствующих программных интерфейсов (APIs) таких, как: sockets, интерфейсы к базам данных, интерфейсы взаимодействия объектов (CORBA, OLE, ActiveX и т.д.), специальные механизмы, встроенные в язык (типа Remote Method Invocation в языке Java), специальные примитивы языка для осуществления переговоров агента и т.д. 4. Многопоточная обработка (Multithreading). Агент может выполнять некоторые действия одновременно. Тем самым язык программирования агентов должен включать поддержку параллельного выполнения различных функций агента (типа «threads») и различных примитивов синхронизации (семафоры, мониторы, критические секции и т.д.). 5. Поддержка символьных вычислений. Так как в рамках современных взглядов агент должен активно использовать достижения и методы искусственного интеллекта, полезно иметь поддержку символьных вычислений и, возможно, логического программирования, встроенную в язык (подобно PROLOG и LISP), а также иметь встроенный механизм выводов, включающий различные стратегии поиска решения. 6. Безопасность, в частности наличие системы защиты от несанкционированного доступа и «плохих кодов». Система безопасности должна предотвращать любые несанкционированные действия агента. 7. Истинная объектная ориентированность. Язык должен иметь механизмы наследования, рассматривать вызовы процедур как сообщения, передаваемые от одних объектов другим, включать возможности синхронного и асинхронного взаимодействия объектов, а также допускать параллельность внутри объекта. 8. Языковая поддержка свойств агента. Удобно иметь поддержку специфических для агента свойств, встроенную в язык на уров- 434 Глава 19. Введение в многоагентные системы не синтаксических конструкций так, чтобы, например, свойства типа «beliefs desires intentions» (BDI), инструкции для переговоров и обеспечения мобильности, места встречи, и т.д. могли бы быть выражены с помощью соответствующих примитивов языка. 9. Эффективность, достаточная для потребностей прикладных программ. 19.4.2. Классификация языков программирования агентов Ниже представляется классификация языков, наиболее часто используемых в технологии интеллектуальных агентов [www: 132 – 151]. 1. Универсальные языки программирования (Java). 2. Языки, «ориентированные на знания»: языки представления знаний (KIF); l языки переговоров и обмена знаниями (KQML, AgentSpeak, April); l языки спецификации агентов. l 3. Специализированные языки программирования агентов (TeleScript). 4 Языки сценариев и scripting languages (Tcl/Tk). 5. Символьные языки и языки логического программирования (Oz). Java – вероятно, один из наиболее популярных языков, используемых в последнее время для программирования агентов. Java представляет собой язык программирования, подобный C++ по синтаксису, но более схожий со Smalltalk и Objective C по идеологии. Система программирования на Java включает в себя виртуальную машину Java и транслятор с Java в bytecode. KQML – язык и протокол для поддержки взаимодействия агентов в распределенных приложениях. Примеры возможных применений языка включают интеллектуальные многоагентные системы, такие как интеллектуальные агенты планирования, поддерживающие распределенную обработку. SKTP – Simple Knowledge Transfer Protocol. Первые две реализации SKTP были написаны на языках Common Lisp и Пролог соответственно. В настоящее время разрабатываются интерфейсы на других языках. SKTP – это реализация стека протокола KQML. KIF – это язык для обмена знаниями между различными программами, написанными различными людьми, на разных языках и в разное время. Он имеет декларативную семантику (значение выражений, представленных на этом языке, может быть понято без Глава 19. Введение в многоагентные системы 435 обращения к специальному интерпретатору); он логически полон (обеспечивает выражение произвольных предложений логики предикатов первого порядка), обеспечивает представление знаний о представлении знаний; обеспечивает представление немонотонных правил вывода, определение объектов, функций и отношений. April – Agent Process Interaction Language. Это язык высокого уровня, который предлагает простой интерфейс к другим языкам программирования типа C. April ориентирован на реализацию многоагентных систем. Однако April не является языком программирования агентов в том смысле, что он не предлагает таких высокоуровневых возможностей, как планировщики, механизмы вывода на основе правил и системы представления знаний. AgentSpeak. Аналогом класса в данном языке выступает семейство, представителем (экземпляром) семейства является агент. Каждый агент обладает базой данных отношений с публичной и приватной частями, множеством сервисов и множества планов – процедур, о которых известно лишь выполнены они или нет. Язык обеспечивает распределенность хранения информации в пространстве функционирования агентов. TeleScript. Первая коммерческая реализация концепции мобильного агента была сделана в среде TeleScript технологии фирмы General Magic. Данная технология основана на метафоре электронного рынка – общедоступной сети (public network), которая позволяет продавцам и потребителям товаров и услуг находить друг друга и заниматься совместным бизнесом. Agent Tcl – это система мобильных агентов, в которой агенты написаны на Tcl 7.4 и Tk 4.0. Agent Tcl активно используется в задачах информационного поиска и прикладных программах информационного управления. Oz – параллельный, объектно ориентированный язык программирования, который разработан в DFKI (Германия). Имеются несколько проектов в DFKI, использующих Oz совместно с архитектурой InteRRaP. Obliq – это интерпретируемый язык без контроля типов, который поддерживает распределенные объектно ориентированные вычисления. Вычисление в Obliq может охватывать многократные потоки управления внутри одного адресного пространства, многократные адресные пространства в пределах одного компьютера, множество компьютеров в гетерогенной локальной сети, и, наконец, даже множество сетей в Internet. Вычисления в Obliq могут перемещаться по сети, сохраняя сетевые соединения. 436 Глава 19. Введение в многоагентные системы Facile – язык программирования высокого уровня для систем, которые требуют комбинации сложного манипулирования данными с параллельными распределенными вычислениями. AKL (Agent Kernel Language) – параллельный язык программирования, разработанный в Шведском Институте Информатики (SICS). В AKL вычисления выполняются агентами, взаимодействующими через хранилища ограничений и условий (stores of constraints). Этот подход объединяет сразу несколько парадигм программирования. В соответствующих контекстах об AKL агентах можно думать как о процессах, объектах, функциях, отношениях или ограничениях. 19.5. Многоагентные системы Технология МАС, хотя и насчитывает уже более чем десятилетнюю историю своего активного развития, находится в настоящее время еще в стадии становления. Ведутся активные исследования в области теоретических основ формализации основных понятий и компонент систем, в особенности в области формализации ментальных понятий. Технология МАС не является просто объединением различных результатов в области искусственного интеллекта. Интеграция, которая приводит к парадигме многоагентных систем, привносит ряд принципиально новых свойств и возможностей в информационные технологии и по существу представляет собой качественно новый, более высокий уровень ее развития, тот уровень, который позволяет прогнозировать ее ведущее положение в ближайшие десятилетия [22]. МАС – это система, в которой поставленная задача решается за счет совместной деятельности (кооперации, противоборства) многих агентов в некоторой среде. При этом задача разбивается на несколько подзадач, которые распределяются между агентами. МАС может включать в себя людей и организации, например – Wikipedia. Здесь – агенты: пользователи, авторы, администраторы и т.п. Еще одной областью применения МАС является обеспечение взаимодействия между агентами, когда один агент может выработать запрос к другому агенту на передачу некоторых данных или выполнение определенных действий. Также в МАС есть возможность передавать знания. Этот социальный аспект решения задач – одна из фундаментальных характеристик концептуальной новизны передовых компьютерных техноло- Глава 19. Введение в многоагентные системы 437 гий и искусственных (виртуальных) организаций, строящихся как МАС. Построение программных систем по принципу МАС эффективно: когда логично представить каждого из участников процесса l в виде агента, например, социальные процессы, в которых каждый из участников играет свою роль; предметная область легко представляется в виде совокупности l агентов, выполняющих либо независимые задачи, либо решаемых параллельно; когда контроль и ответственность за выполняемые действия l распределены между несколькими агентами. При отказе одного агента система не перестает функционировать. Таким образом, логично поместить агентов на различных компьютерах; когда удобно представить МАС в виде системы модулей, что l позволяет легко наращивать и видоизменять систему, т.е. легче добавить агента, чем изменить свойства единой программы. Системы, которые изменяют свои параметры, со временем могут быть также представлены совокупностью агентов. МАС подразделяются на кооперативные, конкурирующие и смешанные. Агенты в кооперативных системах являются частями единой системы и решают подзадачи одной общей задачи. При этом агенты могут строить планы действий, основываясь уже не только на своих возможностях, но и «думать» о планах и намерениях других агентов. В качестве иллюстрации можно взять, например, пчелиный улей или муравейник. Очевидно, что система, в которой агенты могут учитывать планы и интересы других агентов, будет являться во многих случаях более гибкой. Конкурирующие агенты являются самостоятельными системами, хотя для достижения определенных целей они могут объединять свои усилия, принимать цели и команды от других агентов, но при этом поддержка связи с другими агентами не обязательна. Под смешанными агентами понимаются конкурирующие агенты, подсистемы которых также реализуются по агентной технологии. Кроме общения с другими агентами, должна быть реализована возможность общения с пользователем [21]. 19.6. Коммуникации между агентами В настоящее время предложено множество различных моделей коллективного поведения агентов. Как правило, каждая из моде- 438 Глава 19. Введение в многоагентные системы лей концентрирует внимание на нескольких аспектах такого поведения и рассматривает проблемы в соответствии с выбранной архитектурой (моделью) самого агента. Для знаний, отвечающих за коллективное поведение, в архитектуре агента, обычно, выделяют специальный уровень – уровень кооперации (cooperation layer). Рассмотрим наиболее популярные модели поведения агентов. Модель кооперативного решения проблем (CPS) [19]. Эта модель рассматривает взаимодействие агентов, построенных согласно BDI архитектуре. В модели ментальные понятия формализуются с помощью операторов временной логики. Используя формализм временной логики, в этих работах вводятся определения для таких понятий, как потенциал для кооперации, групповые действия, достижимость цели агентом и т. д. В процессе формирования кооперативного решения в рамках рассматриваемой CPS модели выделяют четыре этапа: 1. Распознавание. Процесс кооперативного решения начинается тогда, когда агент распознает целесообразность кооперативного действия. Например, у агента имеется цель, достичь которую в изоляции (по его убеждению) он не способен, или для ее достижения он предпочитает кооперацию. 2. Формирование группы агентов. На этой стадии агент, установивший возможность совместного действия, ищет партнеров. При успешном завершении этой стадии образуется группа агентов, имеющих совместные обязательства для коллективных действий. 3. Формирование совместного плана. Это та стадия, на которой агенты переговариваются с целью выработать совместный план, который по их убеждению приведет к желаемой цели. 4. Совместные действия. Здесь агенты действуют согласно выработанному плану, поддерживая взаимодействие согласно принятым на себя обязательствам. Возможность возникновения конфликтов в многоагентной среде является неизбежным следствием децентрализованности таких систем. Локальные убеждения одного агента могут, например, противоречить убеждениям других агентов. Агент может сформировать цель, которая будет конфликтовать с целями других агентов. При этом под конфликтом обычно понимают ситуацию, в которой ∧ → возникает противоречие вида p q false, где p и q – убеждения агентов. Основные типы конфликтов в МАС следующие. Конфликты в системе убеждений агентов, которые могут возl при получении агентом ложной информации от другого 440 Глава 19. Введение в многоагентные системы b имеет больший уровень доверия, чем b тогда и только тогда, 1 2 когда, в соответствии с уровнем компетентности (a r ) < (a r ), 2 2 1 1 или, иными словами, агент a , играющий роль r , более компетен1 чем a в роли r . 2 2 19.7. Архитектура многоагентных систем В то время как теория агентов и многоагентных систем имеет дело с разработкой формализмов для описания рассуждений об агентах и для выражения желаемых свойств агентов, раздел исследований, называемый «архитектура агентов и многоагентных систем», изучает вопрос о том, как построить компьютерную систему, которая удовлетворяет тем свойствам, которые выражены средствами теории агентов. При выборе архитектуры многоагентной системы необходимо иметь в виду два ее аспекта: архитектуру, поддерживающую методы взаимодействия агенl в процессе функционирования системы в целом, и архитектуру отдельного агента. l Существующие варианты архитектур многоагентных систем и рациональный выбор архитектуры отдельного агента и многоагентной системы в целом существенно зависят от того, какова концептуальная модель агента и принятый для ее описания формализм и язык спецификаций, какова математическая модель кооперации агентов при совместном функционировании в системе, на какое приложение или класс приложений ориентирована многоагентная система, а также от ряда других факторов. Можно с уверенностью утверждать, что сколько существует и/или разрабатывается агентов и многоагентных систем, столько существует и архитектур. Тем не менее можно выбрать некоторые характерные варианты, воплощающие в себе основные принципы конструирования архитектур, которые рассматриваются в сообществе специалистов как перспективные. Дальнейший обзор по архитектурам строится как их классификация с краткой иллюстрацией на примерах. 19.7.1. Архитектура взаимодействия системы агентов Основное назначение компоненты взаимодействия в архитектуре состоит в том, чтобы обеспечить скоординированное поведение агентов при решении общей и/или своих частных задач. Здесь можно выделить два основных варианта архитектур. В одном из них Глава 19. Введение в многоагентные системы 441 агенты не образуют иерархии и решают общую задачу полностью в распределенном варианте. В другом варианте координация распределенного функционирования агентов в той или иной мере поддерживается специально выделенным агентом, который при этом относится к метауровню по отношению к остальным агентам. Существуют и, по видимому, будут возникать более сложные иерархически организованные схемы взаимодействия агентов, однако мы ограничимся кратким рассмотрением названных двух вариантов. 19.7.1.1. Одноуровневая архитектура взаимодействия агентов Ярким примером одноуровневой (полностью децентрализованной) архитектуры является архитектура системы для планирования совещаний (встреч). Это приложение является представителем довольно широкого круга задач, которые имеют много общего в формальной постановке. Это те задачи, которые имеют дело с динамическим составлением расписаний выполнения некоторого вида дея- тельности в условиях ограниченных ресурсов. Представителями задач подобного рода являются, например, задачи составления расписания обслуживания судов в морском порту, задачи диспетчерского обслуживания движения самолетов в аэропорту, планирование работ в гибких автоматизированных производствах и ряд других. Особенность задачи планирования встреч состоит в том, что расписание всегда составляется в контексте уже существующих назначений каждого из участников планируемой встречи. Использование же этой информации неким централизованным образом в форме базы данных исключается, поскольку, как правило, эта информация носит личный характер, участники предпочитают ее не раскрывать. Они предпочитают также не раскрывать информацию о своих личных предпочтениях по поводу той или иной встречи. Таким образом, информация, которую нужно использовать в процессе планирования встреч, носит существенно распределенный характер и лишь ограниченно доступна каждому из участников. Наличие какой либо хотя бы ограниченной централизации здесь исключается. Вообще говоря, подобная ситуация имеет место во многих распределенных задачах. В такой ситуации каждый участник предстоящей встречи представляется в процессе планирования своим агентом («электронным секретарем»), который знает все о своем клиенте и совсем немного о других участниках встречи. Стратегия поиска решения в этом случае предполагает использование переговоров для поиска глобально согласованного решения. При этом, хотя агенты остают- 442 Глава 19. Введение в многоагентные системы ся равноправными участниками переговоров, каждому из них по специальному алгоритму назначается определенная роль, причем роли агентов могут динамически меняться. 19.7.1.2. Иерархическая архитектура взаимодействия агентов Рассмотрим простейший вариант иерархической организации взаимодействия агентов, который предполагает использование одного агента «метауровня», осуществляющего координацию распределенного решения задач(и) агентами. Агент, осуществляющий координацию, может быть привязан к конкретному серверу, тогда он называется «местом встречи агентов». Место встречи агентов (AMP – Agent Meeting Place) – это агент, играющий роль брокера между агентами, запрашивающими некоторые ресурсы, которыми обладают другие агенты, и теми агентами, которые эти ресурсы могут предоставить. Архитектура AMP есть архитектура обычного агента, дополненная некоторыми вспомогательными компонентами, наличие которых обусловлено ролью этого агента как координатора взаимодействия других агентов. Эти вспомогательные компоненты должны, с одной стороны, содержать унифицированное описание множества доступных через AMP агентов и их возможностей (ресурсов, функций и пр.) и, с другой, – организовать унифицированный доступ к ним. Это обеспечивается следующими компонентами AMP. 1. Объекты базовых сервисов, в частности, это могут быть удаленный вызов объектов, упорядочение объектов, дублирование объектов и другие базовые возможности, которые обычно поддерживаются той или иной платформой открытой распределенной обработки, например, OMG/CORBA. 2. Связные порты, ответственные за прием и отправку агентов в AMP с помощью соответствующих протоколов. 3. Компонента установления подлинности агента по имени (опознание агента, «авторизация»). 4. Консьерж, выполняющий функции контроля полномочий поступающего агента, наличия на AMP запрашиваемого сервиса, оказания помощи агенту в выборе дальнейшего маршрута перемещения и др. 5. Поверхностный маршрутизатор, который выполняет функции интерфейса между агентами и компонентами AMP, которые сами по себе регистрируются в этом маршрутизаторе; он поддерживает ограниченный словарь для удовлетворения aгентских запросов. Глава 19. Введение в многоагентные системы 443 6. Лингвистический журнал, который представляет собой базу данных, помогающую агентам и AMP понимать друг друга в процессе коммуникаций. В нем регистрируются словари и языки, но не описания языков или смысл терминов, а лишь ссылки на них, т.е. журнал предоставляет информацию о том, что может быть понято в AMP. 7. Глубинный маршрутизатор, который ассистирует поверхностному при более специальных и сложных запросах. 8. Менеджер ресурсов; он регистрирует агентов на AMP и ассоциированные с ними ресурсы, а также управляет ресурсами AMP. 9. Среда исполнения агента, которая регистрируется в AMP и управляет доступом к компонентам агента; она интерпретирует сценарии, обеспечивает доступ к базовым возможностям и др. 10. Система доставки событий; источниками событий могут быть локальные средства, резидентные агенты AMP и др.; система регистрирует события и выполняет поиск агентов для соответствующего типа событий, сообщений. В остальном архитектура координирующего агента аналогична архитектуре обычного агента. 19.7.2. Протоколы и языки координации Одна из моделей координации действий, когда агенты обмениваются друг с другом информацией посредством переговоров. Протокол взаимодействия агентов как раз и определяет схему (распределенный алгоритм), по которой ведутся такие переговоры. В литературе предложено множество схем переговоров. Рассмотрим лишь несколько из них. Теория речевых актов (Speech Act Theory, см. [135]). Переговоры строятся с использованием небольшого числа примитивов, например, ASK, TELL, REJECT, REQUEST, COMMIT, NEGOTIATE. Процесс переговоров начинается тогда, когда агент посылает сообщение, содержащее его точку зрения (позицию, attitude) по некоторому вопросу. Посредством обмена сообщениями ASK, TELL, REJECT агенты могут обсуждать некоторую тему и приходить к общему решению. Во время переговоров агенты обновляют свои базы знаний и тем самым повышают свои способности отвечать на новые запросы. Протокол контрактных сетей (Contract Net Protocol) [108, 109] предназначен для координации в системах распределенного решения проблем. Каждый узел контрактной сети способен выполнять определенные задачи. Если в процессе решения один узел (заказчик) не в состоянии решить некоторую задачу, он ищет другой под- 444 Глава 19. Введение в многоагентные системы ходящий узел, который способен ее решить. При этом он рассылает объявление потенциальным подрядчикам (contractors) о вакансии на выполнение некоторого договора. Если на это объявление отвечают несколько узлов, то заказчик, пользуясь некоторым критерием, выбирает наиболее подходящего подрядчика. Посредством торгов заказчик и подрядчик заключают договор (contract). Вариации этого протокола используются в так называемых «электронных предприятиях» (electronic enterprises). COOL (COOrdination Language) – язык, во многом схожий с языком KQML, предназначенный для управления совместными действиями. Важнейшими конструкциями языка являются планы переговоров, определяющие состояния и правила переговоров (conversation rules), и переговоры, определяющие текущее состояние плана, исполняемого в конкретный момент. Агенты могут иметь активными несколько переговоров и управлять их переключением и приостановкой, а также динамически создавать дочерние переговоры. UNP (Unified Negotiation Protocol) описан в работе [132]. В указанной работе приводится механизм разрешения конфликтов, который позволяет повысить суммарную полезность, достигаемую агентами. Рассматриваются конфликтные ситуации, для разрешения которых используется «бросание монетки», т.е. механизм рандомизации. При этом в зависимости от того, кто выигрывает жребий, удовлетворяются цели либо обоих агентов, либо только одного. Для подобных ситуаций авторы используют термин «полукооперативная сделка». В условиях полукооперативных сделок агенты могут повысить суммарную полезность, договорившись о координировании совместных действий. Для общения агентов друг с другом с целью обмена знаниями или для организации совместных действий при распределенном решении сложных задач используются также KQML (Knowledge Query and Manipulation Language) и KIF (Knowledge Interchange Format). 19.8. Проблемы построения многоагентных систем Перечислим основные из них. Как произвести декомпозицию задачи и выделить подзадачи l для агентов? Как обрабатывать распределенную перцепционную информаl Глава 19. Введение в многоагентные системы 445 Как реализовать децентрализованное управление? l Как реализовать эффективные алгоритмы планирования и обуl представить знание? Как заставить агентов адекватно реаl на действия, планы и знания других агентов? Как сделать возможными коммуникации между агентами? Каl языки и протоколы использовать? Как сделать возможными переговоры между агентами и разреl конфликтов? Как заставить агентов формировать организационные структуl такие, как команды или коалиции? Как быть уверенным в стабильности и когерентности системы? l 19.9. Пример разработки МАС 19.9.1. Постановка задачи Приведем относительно небольшой, но содержательный пример разработки МАС в рамках выполнения лабораторных работ на языке AgentSpeak в среде Jason по курсу «Системы искусственного интеллекта», взятый из пособия [99]. Этот пример не является частью библиотеки примеров, поставляемых вместе со средой и был разработан авторами пособия. Зададимся задачей разработать весьма абстрактную модель работы гипотетического фастфуда, в котором работают следующие сотрудники: повар; l работник склада готовых продуктов; l несколько продавцов. l Задачей повара является приготовление продуктов и обеспечение склада некоторым минимальным их количеством. Работник склада распределяет готовые продукты между продавцами по их запросу. Продавцы обслуживают клиентов, которые заходят в фастфуд через неравные интервалы времени. Целью моделирования является наблюдение за процессом организации покупателей в очереди. 19.9.2. Концептуальный анализ поведения агентов Для выявления содержания задачи и определения всех составляющих МАС удобно воспользоваться методом ситуационного анали- 446 Глава 19. Введение в многоагентные системы за, рассмотренным в главе 16 и по методике, описанной в [10] и интерпретированной с точки зрения особенностей МАС. Деятельность каждого агента будем рассматривать пока последовательно, в соответствии с их внешними целями, и каждое действие – решение представлять в виде концептуальной структуры единичного решения (КСЕР – глава 6, приложение Е). При этом вся первичная информация о работе агентов выявляется в процессе гипотетического диалога с экспертами (или сотрудниками фаст- фуда) по методике [10] и формализуется в виде единичных концептуальных структур решений – действий (КСЕР). Приведем пример целевой концептуальной структуры, отражающей основной моделируемый процесс (рис. 19.7). Остальные КСЕРы приводятся в Приложении Е. Определим понятие «Фастфуд». Очевидно, что это – пищевое предприятие, куда приходят люди, чтобы купить какое то количество порций разного вида уже готовой еды. Таким образом, конечной целью является получение (действие) покупателем (субъект действия) еды (объект действия). В процессе реализации этого действия участвуют обеспечивающие звенья: само предприятие – фастфуд (компонента действия 1); продавец (компонента действия 2); кроме того, должен быть факт желания покупателя получить еду (сообщение – компонента 3). Таким образом, корневая структура приобретает вид, показанный на рис. 19.7 (План 0 (Пл0)). Читается эта структура следующим образом: Условием активизации действия ПОЛУЧИТЬ покупателем l (субъект действия) порцию (объект действия) являются следующие условия – отношения (факты): покупатель находится в фастфуде (В(Покупатель, Фастl =1); продавец находится в фастфуде (В (Продавец, Фастl находится перед продавцом (ПЕРЕД (Покупаl Продавец)=1); продавец выдал порцию размером N (ВЫДАЛ (Продавец, l Порция размером N) =1); продавец получил сообщение «Дай порцию размером N» l (Получил (Продавец, Сообщение «Дай порцию размером N»)=1); от покупателя имеется сообщение «Дай порцию размером l N» (ОТ(Покупатель, Сообщение «Дай порцию размером N»)=1); 448 Глава 19. Введение в многоагентные системы Рис. 19.9. Навигационная карта концептуального анализа у покупателя имеется порция размером N (ЕСТЬ(Покупаl Порция размером N)=1). Аналогично строятся все остальные структуры (Приложение Е). Проследив по КСЕРам за информационным обменом между агентами, можно построить структурную схему МАС. Условная структурная схема моделируемого предприятия показана на рис. 19.8. Концептуальный анализ завершен. Теперь мы можем построить навигационную карту, помогающую проследить ход нашего концептуального анализа (см. рис. 19.9), и выписать концептуальную модель. 19.9.3. Концептуальная модель задачи «Фастфуд» А = {Повар, Склад, Продавец, Покупатель}. Классы: {Повар, Продавец, Покупатель}О Люди; X = {Порция, Очередь, Сообщение, Фастфуд}. R = {В(Покупатель, Фастфуд), Приготовил(Повар, Порция), ОтправилДля(Повар, Порция, Склад); ВыдалДля(Склад, Порция, Продавец); ПолучилОт(Склад, Сообщение, Продавец); Глава 19. Введение в многоагентные системы 449 ПолучилОт(Продавец, Сообщение, Покупатель); ПолучилОт(Покупатель, Сообщение, Покупатель); ПолучилОт(Люди, Сообщение, Покупатель); ЕстьУ(Порция, Продавец); ЕстьУ(Порция, Покупатель); Перед(Покупатель, Продавец); СтоитЗа(Покупатель , Покупатель ); i j ОтошелОт(Покупатель, Продавец); Выбрал(Покупатель, Очередь); ЗнаетО(Покупатель, Очередь[размер])}; C = {Повар: (скорость работы [строковый тип: «быстро», «обычная»]); (количество порций [числовой тип]); Сообщение: (содержание [строковый тип: «дай порцию размером N», «кто крайний»]); Порция: (размер [числовой тип]); Продавец: (занят [логический тип]; выручка [числовой тип]); Покупатель: (позиция в очереди [числовой тип]); Очередь: (размер [числовой])}; G = {Отправить, Приготовить, Решить готовить быстро, Решить готовить не спеша, Получить, Выдать, Запросить, Обратиться к, Подойти, отстояв очередь к, Подойти без очереди к, Продвинуться, Занять за, Отойти, Выбрать, Ответить, Спросить, Войти в, Покинуть}. Вспомогательные агенты Для работы модели могут потребоваться агенты, выполняющие сервисные функции по обеспечению работы основной части МАС. Согласно результатам концептуального анализа клиенты должны появляться в фастфуде и уходить из него, однако исследование того, почему и когда они приходят, не лежит в рамках нашей задачи. Поэтому в нашем случае целесообразно завести агента «ге нератор клиентов», который должен отвечать за порождение случайно распределенного потока клиентов, задание им изначальных параметров, завершение их работы, вывод сообщения о конце моделирования. его работы тривиален, поэтому мы не будем рисовать для него блок схему. Желающие могут восстановить ее по текстовому описанию самостоятельно. Генерация клиентов происходит в цикле со счетчиком через случайные (в пределах заданного диа- 450 Глава 19. Введение в многоагентные системы пазона) промежутки времени. Для каждого агента предварительно конструируется его имя путем присоединения к слову «customer» текущего значения счетчика. Далее создается агент покупатель и ему посылается сообщение, в котором передается величина заказа, который тому предстоит сделать. Завершение работы покупателей происходит по их запросу, при этом подсчитывается их количество. Если количество сгенерированных покупателей равно количеству завершивших работу, то выводится сообщение о конце моделирования со статистикой выручки у продавцов. 19.9.5. Программная реализация в среде Jason Переход от концептуальной модели предметной области данной задачи и представлению её в виде мультиагентной системы (в виде BDI модели) требует дополнительной доработки моделей агентов, у которых должны быть свои: знания (knowledge) – как постоянная часть знаний агента о себе, l среде и других агентах, т.е. та часть, которая не изменяется в процессе его функционирования; убеждения (beliefs, вера) – знания агента о среде, в частности l о других агентах; это те знания, которые могут изменяться во времени и становиться неверными, однако агент может не иметь об этом информации и продолжать оставаться в убеждении, что на них можно основывать свои выводы; желания (desires) – это состояния, ситуации, достижение котоl по разным причинам является для агента желательным; намерения (intentions) – это то, что агент или обязан сделать l в силу своих обязательств по отношению к другим агентам (ему «это» поручено и он взял эту задачу на себя), или то, что вытекает из его желаний (т.е. непротиворечивое подмножество желаний, выбранное по тем или иным причинам, которое совместимо с принятыми на себя обязательствами); цели (goals) – конкретное множество конечных и промежуточl состояний, достижение которых агент принял в качестве текущей стратегии поведения; обязательства по отношению к другим агентам (commitments) – l задачи, которые агент берет на себя по просьбе (поручению) других агентов в рамках кооперативных целей или целей отдельных агентов в рамках сотрудничества. Программная реализация, в свою очередь, существенно зависит от выбранной среды реализации и языка программирования Глава 19. Введение в многоагентные системы 451 BDI моделей. В данном случае реализация задачи о фастфуде была осуществлена в среде Jason [99] и на языке AgentSpeak. Аббревиатура «Jason» расшифровывается как «Java based AgentSpeak interpreter used with SACI for multi agent distribution over the net». Сам Jason написан на Java и распространяется бесплатно под лицензией LGPL. Скачать Jason можно с сайта разработчиков по адресу http://jason.sourceforge.net/. Для своей работы Jason требует JDK версии не ниже 5. AgentSpeak представляет собой агентно ориентированную версию языков логического программирования и похож на Prolog. Для обеспечения коммуникации между агентами в AgentSpeak встроена поддержка KQML. Java в Jason используется для программирования моделей специфических сред функционирования агентов, разработки пользовательских интерфейсов МАС и модификации стандартной работы самого Jason. Фактически Jason – это интерпретатор AgentSpeak, обладающий возможностью расширения функциональности за счет открытости и использования Java. Система Jason поставляется как надстройка над текстовым редактором Jedit или расширение для среды разработки Eclipse. В комплект поставки, ориентированный на Jedi,t входят: собственно редактор Jedit, с уже подключенным к нему l Jason в качестве надстройки; исходные программные коды Jason; l библиотека примеров; l документация разработчика. l JDK в поставку не входит, но свободно может быть скачан с сайта производителя http://java.sun.com/. Java в Jason используется для программирования моделей специфических сред функционирования агентов, разработки пользовательских интерфейсов МАС и модификации стандартной работы самого Jason. Программа МАС на языке AgentSpeak в среде Jason состоит из проектного файла и файлов с программами агентов. Запущенная на выполнение МАС работает циклично до тех пор, пока не будет остановлена пользователем вручную, самими агентами или интерпретатором по причине ошибки. К сожалению, Jason пока не умеет работать с русским языком и не позволяет писать по русски даже комментарии. Структурная схема МАС «Фастфуд» показана на рис. 19.10. 452 Глава 19. Введение в многоагентные системы Рис. 19.10. Структурная схема МАС «Фастфуд» База знаний агента содержит следующие информационные модули: убеждений; l множество событий; l базу планов; l множество стеков намерений. l Рассмотрим основные из них. 19.9.5.1. Убеждения Убеждения в Jason формализуются в виде высказываний, предикатов или их строгих отрицаний, а также в виде правил, устанавливающих функциональную зависимость одних выражений от других. Убеждения хранятся в базе убеждений агента, описывают декларативную составляющую его знаний, могут меняться в процессе его работы. 19.9.5.2. Цели Цели подразделяются на достигаемые и цели проверки. Достигаемые цели – это желаемые убеждения, для формирования которых в обязательном порядке должен существовать план. Глава 19. Введение в многоагентные системы 453 Цели проверки – это цели, заключающиеся в определении значений термов заданных убеждений для дальнейших операций над ними в теле плана. 19.9.5.3. Планы Планы описывают процедурную составляющую знаний агента. План состоит из четырех частей: метки плана (необязательна); l события активации плана; l контекстных ограничений (могут отсутствовать); l содержания плана (может отсутствовать). l Эти части разделяются специальными символами маркерами. Метка плана позволяет задать плану уникальный идентификатор. При помощи метки можно выполнять над планом различные операции. Событие активации обычно располагается на следующей строке после метки или отделяется от нее пробелом. Имя метки начинается с символа «@», после которого должна следовать маленькая буква, а далее – любые латинские буквы, цифры. Приведем примеры меток. @p1 – правильная метка; @mm12CV – правильная метка; @12pm – неправильная метка. КСЕР и планы Очевидно, что результат задачи «Фастфуд» достижим только тогда, когда все участники процесса обслуживания покупателей действуют как единое целое, т.е. кооперируются для достижения общей цели. Это означает, что взаимодействие агентов будет осуществляться по модели кооперативного типа. Для неё характерно описание поведения агентов в виде планов, которые выделяются на основе полученных концептуальных структур. При этом следует иметь в виду, что полученные результаты концептуального анализа, хотя и являются главным ориентиром, но по ним трудно сказать, какое точно количество планов получится в итоге. Это объясняется тем, что некоторые концептуальные структуры могут распадаться на несколько планов, а некоторые могут объединяться в один в зависимости от того, в каком режиме должны выполняться действия – последовательном или параллельном, альтернативны они или нет. 454 Глава 19. Введение в многоагентные системы Например, действия повара Пр0(С2.1) и Пр1 последовательны, безальтернативны и Пр0(С2.1) зависит только от результатов Пр1. Поэтому они могут быть объединены в один общий план. С другой стороны, условия действия Пр1 формируются альтернативными действиями Пр1.1 и Пр1.2, поэтому Пр1.1 и Пр1.2 порождают отдельные планы. Кроме того, мы проводили анализ, предполагая, что все агенты действуют во времени последовательно. Однако это в большинстве случаев не так, и агенты действуют параллельно. По- этому среди них возможны конфликты за ресурсы. Подобные конфликты очень трудно предсказать на этапе концептуального анализа, поэтому планы для обработки подобных случаев приходится разрабатывать в процессе тестирования и отладки программы. таблице 19.1 показана взаимосвязь концептуальных структур единичных решений с полученными в результате реализации планами. Каждый план снабжен меткой, образованной от имени агента и порядкового номера плана. Это сделано не только для присвоения планам аннотаций, но и для возможности ссылаться на них в тексте. В связи с громоздкостью программ агентов и комментариев к ним: «Генератор клиентов»; «Клиент»; «Продавец»; «Хранилище»; «Повар»; файла проекта МАС они здесь не приводятся, но их можно найти в [99]. За дополнительной информацией о работе отдельных функций можно обращаться также в справочник, расположенный в конце пособия [99], а также к первоисточникам [http://jason.sourceforge.net/, http://aivanoff.blogspot.com/, http://java.sun.com]. 19.9.6. Исследование работоспособности МАС Приведём пример испытания построенной модели. Поскольку модель является демонстрационной, то и цель исследования у нас очень простая: установить, смогут ли наши агенты правильно скоординировать свое взаимодействие при разной интенсивности потока заказов. На результаты моделирования будет оказывать влияние случайная задержка до появления в фастфуде очередного клиента, время обслуживания клиентов, а также работа механизма доставки сообщений среды Jason. Ниже представлен пример отчета о моделировании. Каждый отчет – это протокол диалога агентов. В начале каждого предложения в квадратных скобках стоит его автор. Глава 19. Введение в многоагентные системы 455 Таблица 19.1 Метка Метка Комментарий структуры плана Пр0(С2.1) и Пр1 последовательны, без Пр0(С2.1) @cc1 альтернативны и Пр0(С2.1) зависит Пр1 только от результатов Пр1 Пр1.1 @cc2 Пр1.2 @cc3 @cc4 Блокировка ненужных сообщений С1(Пц1.1) обусловлено достаточностью еды на складе. Однако по логике задачи (при наличии собственного повара) мы @st1 не можем не обслужить клиента даже, С1(Пц1.1) @st2 если на складе кончилась еда. Поэтому @st2 откладывает обработку запроса продавца до тех пор, пока повар не при готовит достаточное количество еды С2 @st3 @st4 Блокировка ненужных сообщений Отношение «Есть у» не стало убеждени ем, поскольку еда не задерживается у Пц0(Пл4) @s5 продавца и при получении со склада Пц1 сразу передается покупателю (смотри также @cc1) Пц1.1.1 @s3 Пц2 @s1 (Пл2.2.1) План предназначен для разрешения конфликта, когда несколько покупате лей обращаются к одному продавцу с @s4 запросом на обслуживание. Не следует непосредственно из концептуального анализа @s2 Блокировка ненужных сообщений Процесс передачи порции от продавца к @s5 покупателю начинается в плане @s5, а Пл0 @c15 заканчивается в планах @c15, @c16, где @c16 покупатель отходит и покидает фастфуд Пл1 @g1 460 Глава 19. Введение в многоагентные системы предвиденные результаты (например, нарушение логики при определенных конфликтах). Однако оставим задачу дальнейших исследований данного примера уважаемому читателю. Это послужит хорошей практикой наблюдения и отладки системы. Исходные коды демонстрационного примера можно получить у авторов пособия [99]. О всех замеченных случаях неправильной работы данной модели также просьба по возможности сообщать авторам. 19.10. Советы В качестве заключения хотелось бы привести ряд напутственных предостережений о некоторых подводных камнях, возникающих на пути разработчика МАС [99]. Эти предостережения адресованы тем, кто решил заняться разработкой МАС на более серьезном уровне. 1. Переоценка возможностей многоагентного подхода, или непонимание того, где агенты действительно могут быть полезны. Технология МАС в настоящее время все еще очень молода и является объектом пристального внимания. 2. Многоагентный фанатизм. Хотя агенты и могут использоваться в широком диапазоне приложений, – они не универсальное решение. Есть много задач, для решения которых больше подходят традиционные средства в виде ассемблера и классического ООП. 3. Стремление найти универсальное решение для уникальной задачи. Данная проблема характерна для разработки программ самого разного назначения, но особенно заметна при разработке агентов. Обычно проявляется в виде стремления разработать некую универсальную архитектуру, более мощную систему отладки или другой кажущийся очень важным инструмент там, где это не нужно. Во первых, существующие архитектуры агентов и МАС подходят для большинства задач, поэтому, прежде чем браться за разработку принципиально новой архитектуры, необходимо изучить возможности существующих. Во вторых, весьма возможно, что решаемая задача является достаточно уникальной и в ближайшем гвремени подобных задач не предвидится. Поэтому в данном случае частное решение является наиболее рациональным выбором. 4. Не забывайте, что вы разрабатываете программное обеспечение, а процесс написания кода любой, даже тривиальной, МАС – это во многом процесс экспериментирования. Глава 19. Введение в многоагентные системы 461 5. Архитектура МАС плохо распараллелена. Самая заметная отличительная особенность плохой МАС – малое количество агентов, которые работают параллельно. Если таких агентов мало, то следует серьезно задуматься о целесообразности использования МАС для решения задачи. 6. Агенты слишком интеллектуальны. В процессе разработки МАС существует большое искушение сделать «очень умных» агентов. В результате в одном агенте часто интегрируются различные технологии ИИ (естественноязыковые интерфейсы, планировщики, программы доказательства теорем и т.д.), которые целесообразней было бы распределить по отдельным, более простым агентам. В результате слишком умных агентов становится трудно отлаживать и интегрировать вместе в рамках единой МАС. 7. Все рассматривается как агенты. После знакомства с технологией МАС многие начинают все задачи безальтернативно рассматривать через призму агентов, видя в таком подходе некую концептуальную чистоту. Однако очень быстро все заканчивается тем, что появляются агенты для элементарных операций типа сложения и вычитания. Нетрудно заметить, что подобный подход не эффективен, т.к. издержки на управление отдельными агентами и организацию коммуникации между ними быстро перевесят выгоды. 8. Выделяется слишком мало агентов. Если одним начинающим разработчикам агенты мерещатся везде, то другие, наоборот, затрудняются в разбиении общей задачи на подзадачи для отдельных агентов. В результате получается система, которая не может использовать достоинства многоагентного подхода, т.к. вся функциональность реализуется двумя тремя агентами. Полученная система, скорее всего, даже будет работать, но результат, что называется, не симпатичный. 9. Агенты слишком свободны в организации взаимодействий. Динамика, наблюдаемая в МАС, обычно очень сложна и даже хаотична. Слишком много свободы во взаимодействии большого числа агентов приводит к тому, что становится слишком трудно понять, что же происходит в системе. Данная глава написана на основе следующих источников: [35– 37, 52, 99, 107–109, 125, 132–151]. Вопросы для самопроверки 1. Какие основные факторы привели к появлению и развитию направления МАС? 462 Глава 19. Введение в многоагентные системы 2. Рассмотрите понятие агента: определения, сущность, основные свойства, типы. Приведите примеры агентов. 3. Рассмотрите понятие среды агента, их типы и особенности. 4. Какие модели представления знаний используются для формализации структуры агентов и знаний о них? 5. Приведите классификацию архитектур агентов, опишите их особенности. Приведите примеры архитектур агентов. 6. Рассмотрите особенности BDI модели и приведите примеры убеждений, желаний и намерений. 7. Каким требованиям должны удовлетворять языки программирования агентов? Выделите основные и их особенности. 8. Дайте определение многоагентной системы и рассмотрите её особенности и типы. 9. Как осуществляется взаимодействие между агентами? Приведите примеры моделей их взаимодействия. 10. Приведите примеры языков программирования моделей взаимодействия агентов и их особенности. 11. Сформулируйте методику проектирования моделей агентов, используя метод ситуационного анализа (глава 6). 12. Вам предлагается самостоятельно модифицировать приведенный и подробно разобранный пример на проектирование и при желании программирование МАС «Фастфуд» и исследовать работу получившихся МАС. В качестве направлений модернизации могут быть следующие. Приводимые здесь задачи не являются заданиями на лабораторные работы, а предлагаются в целях самостоятельного изучения среды Jason и языка AgentSpeak. 12.1. Первое задание очень простое. Измените программу работы повара так, чтобы он сообщал о выбранной им скорости приготовления пищи. 12.2. Добавьте покупателям свойство «время ожидания», по истечении которого покупатели будут терять терпение и уходить из очереди. 12.3. Измените способ пополнения хранилища готовыми блюдами. Пусть теперь в фастфуде работают несколько поваров, изначально обладающих разной, но фиксированной скоростью приготовления, которые будут динамически подключаться к приготовлению по мере необходимости. 12.4. Расширьте ассортимент блюд. Пусть повар может готовить разные блюда, а покупатели соответственно выбирать, что им нравится на имеющиеся у них средства. Глава 20 СИСТЕМЫ КОГНИТИВНОГО МОДЕЛИРОВАНИЯ 20.1. Сущность когнитивного моделирования В настоящее время развитие информационных технологий достигло такого уровня, что программными средствами начали моделироваться даже социальные отношения (между людьми, группами и т.д.). Кроме того, благодаря глобальным сетям оказалось возможным решать такие задачи, о которых десяток лет назад мы не могли и помышлять. Естественно, для решения этих задач понадобились новые подходы, методы, модели и инструментальные средства. В числе таких задач особенно важное место занимают задачи принятия управленческих решений, находящихся на стыке различных сфер деятельности – экономики, социологии, экологии, безопасности и т.п., которые обусловлены рядом особенностей, присущих этим проблемам: многоаспектностью происходящих в них процессов (экономиl социальных и т.п.) и их взаимосвязанностью; в силу этого невозможно вычленение и детальное исследование отдельных явлений – все происходящие в них явления должны рассматриваться в совокупности; отсутствием достаточной количественной информации о динаl процессов, что вынуждает переходить к качественному анализу таких процессов; нестационарностью самих процессов, причем характер изменеl тех или иных характеристик процессов зачастую неизвестен, что затрудняет построение их количественных моделей. В силу этих особенностей подобные системы стали называться слабо формализуемыми, в отличие от хорошо формализуемых [52, 56]. В таких системах зачастую не возможен традиционный эконометрический (социометрический и т.п.) подход к анализу процессов для выработки комплексных (т.е. затрагивающих различные аспекты исследуемой системы) решений. Для анализа проблем этого типа в качестве основного параметра было предложено понятие фактора. И любая ситуация проблемной области стала описы- Глава 20. Системы когнитивного моделирования 465 ваться совокупностью факторов. Например, под текущей ситуацией понимается состояние слабоструктурированной системы, описываемое множеством значений факторов в рассматриваемый (текущий) момент времени. Под целевой ситуацией, соответственно, понимается состояние системы, описываемое множеством значений целевых факторов в момент времени, соответствующий времени, когда мы хотели бы иметь (видеть) эту целевую ситуацию. Очевидно, что число факторов для описания ситуации может измеряться десятками. И все они вплетены в паутину меняющихся во времени причин и следствий. Увидеть и осознать логику развития событий на таком многофакторном поле крайне трудно. А ведь постоянно приходится отвечать (зачастую – незамедлительно) на вопросы типа: «Что нужно сделать (на какие факторы повлиять), чтобы улучшить состояние ситуации?», «Что будет с ситуацией через такое то время, если ничего не предпринимать?», «Какие из предпринимаемых мероприятий будут эффективнее в плане достижения поставленной цели?» и пр. Подчеркнем, что таким образом был предложен переход к описанию состояний предметной (проблемной) области принципиально по новому – в виде образов ситуаций (начальной, целевой и др.), что естественно для систем искусственного интеллекта. Это потребовало разработки средств не только и не столько для хранения и обработки больших объемов информации, сколько для познания комплексных проблем нашего времени. Т.е. возникла потребность в создании новых инструментов познания (англ. – cognition). Отсюда и возник термин когнитивное моделирование, который используется для обозначения нового перспективного направления психологии (когнитивная психология), а также направления развития систем искусственного интеллекта (когнитивное моделирование и системно когнитивный анализ), в которых ставится и решается задача автоматизации некоторых функций, реализуемых человеком, в процессе познания. Очень часто понятие когнитивный отождествляется с понятием концептуальный, что представляется естественным, т.к. познание – это, собственно, и есть концептуализация (струк туризация). Отсюда: когнитивная структуризация предметной области – это выявление будущих целевых и нежелательных состояний объекта управления и наиболее существенных (базисных) факторов управления и внешней среды, влияющих на переход объекта в эти состояния, а также установление на качественном уровне причинно следственных связей между ними с учетом взаимовлияния 466 Глава 20. Системы когнитивного моделирования факторов друг на друга. Рассмотрим подробнее понятие когнитивной модели. 20.2. Когнитивная модель: определение и структура Когнитивный анализ предусматривает последовательную причинно следственную структуризацию информации о происходящих в исследуемой системе процессах в соответствии со следующей схемой. Всякое событие, произошедшее в системе, вызывается определенными причинами, появление которых связано с движением материальных потоков (товаров, денег, ресурсов). Движение каждого потока может быть описано в самом общем виде соответствующими цепочками причинно следственных отношений, составляющих знания аналитика или его предположения о действующих в этой систем закономерностях. Вычисление таких потоков является первым шагом при когнитивном анализе исследуемой системы. 1. Каждый из выделенных потоков описывается соответствующей совокупностью факторов. Объединение всех этих совокупностей составляет множество факторов, в терминах которых описываются процессы в системе. 2. Определяются взаимосвязи между факторами путем рассмотрения причинно следственных цепочек, описывающих движение каждого потока. Считается, что факторы, входящие в первую часть «если…» цепочки «если …, то …», влияют на факторы ее второй части «то …», причем это влияние может быть усиливающим, тормозящим либо переменным в зависимости от дополнительных возможных условий. 3. Сила взаимодействия факторов друг на друга описывается с помощью лингвистических переменных типа «значительная», «слабая» и т.п. [52, 56]. 20.2.1. Когнитивная карта ситуации Когнитивная карта (КК) ситуации представляет собой ориентированный взвешенный граф, G = (F ,V) в котором: F – множество вершин, взаимно однозначно соответствующих базисным факторам ситуации, в терминах которых описываются процессы в ситуации; V – дуги, соответствующие непосредственным взаимосвязям между факторами, т.е. причинно следственные цепочки, описывающие распространение влияний одного фактора на другие. При Глава 20. Системы когнитивного моделирования 467 Рис. 20.1. Когнитивная карта некоторой экономической ситуации этом считается, что факторы F , входящие в посылку «если …» цеi «если …, то …», влияют на факторы следствия F – «то …» j этой цепочки (дуга V ), причем это взаимовлияние может быть лиij усиливающим (положительным), либо тормозящим (отрицательным), либо переменного знака в зависимости от возможных дополнительных условий. Пример когнитивной карты некоторой экономической ситуации приведен на рис. 20.1. Когнитивная карта (КК) отображает лишь факт наличия влияний факторов друг на друга. В ней не отражается ни детальный характер этих влияний, ни динамика изменения влияний в зависимости от изменения ситуации, ни временные изменения самих ∈ факторов [52]. Каждой дуге V соответствует вес – W [0, 1], коij отображает степень воздействия фактора F на F в выбранj шкале [0,1]. Таким образом, каждой дуге приписывается определенный вес, являющийся числом из интервала [ 1,1] ( 1 – для факторов, влияющих отрицательно). На следующем шаге необходим переход на уровень структуризации информации, отображенной в когнитивной карте, т.е. переход к когнитивной модели. На этом уровне каждая связь между факторами когнитивной карты раскрывается до соответствующего уравнения, которое может содержать как количественные (измеряемые) переменные, так и качественные (не измеряемые) переменные. При этом количественные переменные входят естественным образом в виде их численных значений. Каждой качественной переменной ставится в соответствие совокупность лингвистических 468 Глава 20. Системы когнитивного моделирования переменных, отображающих различные состояния этой качественной переменной (например, покупательский спрос может быть «слабым», «умеренным», «ажиотажным» и т.п.), а каждой лингвистической переменной соответствует определенный числовой эквивалент в шкале [0,1]. По мере накопления знаний о процессах, происходящих в исследуемой ситуации, становится возможным более детально раскрывать характер связей между факторами [52]. При анализе конкретной ситуации пользователь обычно знает или предполагает, какие изменения базисных факторов являются для него желательными. Факторы, представляющие наибольший интерес для пользователя, назовем целевыми. Это – выходные факторы когнитивной модели. Задача выработки решений по управлению процессами в ситуации состоит в том, чтобы обеспечить желательные изменения целевых факторов, это и есть цель управления. Цель считается корректно заданной, если желательные изменения одних целевых факторов не приводят к нежелательным изменениям других целевых факторов [56]. Кроме целевых, в исходном множестве базисных факторов выделяется совокупность так называемых управляющих факторов (или входных факторов когнитивной модели), через которые подаются управляющие воздействия в модель. Управляющее воздействие считается согласованным с целью, если оно не вызывает нежелательных изменений ни в одном из целевых факторов. При корректно заданной цели управления и при наличии управляющих воздействий, согласованных с этой целью, решение задачи управления не вызывает особых трудностей (даже при нелинейной когнитивной модели ситуации со знакопостоянными влияниями факторов друг на друга). В общем же случае нахождение условий для обеспечения целенаправленного поведения в ситуации является весьма непростой задачей, требующей специального рассмотрения [52]. 20.2.2. Моделирование и сценарии функционирования когнитивной модели Сценарный подход к решению прямой и обратной задач Сценарий – совокупность тенденций, характеризующих ситуацию в настоящий момент, желаемых целей развития, комплекса мероприятий, воздействующих на развитие ситуации, и системы наблюдаемых параметров (факторов), иллюстрирующих поведение процессов [28]. Сценарий может моделироваться по трем основным направлениям. Глава 20. Системы когнитивного моделирования 469 1. Прогноз развития ситуации без всякого воздействия на процессы в ситуации, т.е. ситуация развивается сама по себе. 2. Прогноз развития ситуации с выбранным комплексом мероприятий (управлений) – прямая задача. 3. Синтез комплекса мероприятий для достижения необходимого изменения состояния ситуации – обратная задача. Метод получения прогноза При получении прогноза развития ситуации считается заданным: множество факторов F={F }; шкалы факторов X ; начальное i ij 011 0nm состояние ситуации X(t)=(x , …, x ); матрица смежности W=|w |, i, j – номера факторов; начальный вектор приращений факij P(t)=(p ,…, p ). 11 nm Необходимо найти вектора приращения факторов P(t), …, P(t+n) и состояния ситуации X(t), …, X(t+n) в последовательные дискретные моменты времени t, …, t+n. Поскольку в нашем случае элементы матрицы смежности и векторов приращений могут принимать отрицательные и положительные значения, используется правило преобразования W=|w | с положительными и отрицательными элементами. ij nґn 1j+ nm+ Вектор приращений P`(t+1)=(p , p , …, p , p ) для поло1j определенной матрицы W` вычисляется с помощью уравнения: P`(t+1)= P`(t)°W`, где для вычисления элемента вектора P`(t+1) используется правило: векторов приращений значений признаков, полученные в последовательные моменты времени P`(t+1), … , P`(t+n) посt транспонирования представляются в виде блочной матрицы P T T = |P`(t+1) , … , P`(t+n) |. называемой матрицей приращений и используемой при работе алгоритмов объяснения прогнозов развития ситуации. Представление значения приращения признака в виде пары – ij+ положительного p и отрицательного p приращения позволяет ij моделировать когнитивный консонанс в представлениях субъекта о значении признака. Термин «когнитивный консонанс» был предложен для определения несоответствия элементов знаний друг другу. Степень когнитивного консонанса c (t), где t – номер шага ij (такта) моделирования определяется из соотношения: 470 Глава 20. Системы когнитивного моделирования Консонанс признака характеризует уверенность субъекта в ≈ приращении значения p (t) признака f . При c (t) 1, т.е. ij ij ij ij+ ij+ p (t)>>p (t) или p (t)>>p (t) уверенность субъекта в значеij ij+ ≈ нии признака p (t) максимальна, а при c (t) 0, т.е. p (t) p (t) ij ij ij минимальна. Для определения состояния ситуации в последовательные моменты времени X(t),…, X(t+n) вектор приращений значения фактора преобразуется в вектор приращений размерности n с учетом когнитивного консонанса значения признака. В преобразованном ∈ векторе приращений P(t+1) элемент вектора p (t+1) P(t+1), ij представляется парой: 〈 〉 p (t+1), c (t+1) , ij ij ij+ ij+ где p (t+1)= sign(p (t+1)–p (t+1)) max(p (t+1), p (t+1)) – знаij приращения фактора, c (t+1) – консонанс значения фактоij приращения p (t+1) положителен, если p (t+1)>p (t+1) и ij ij ij+ отрицателен, если p (t+1)<p (t+1). В этом случае, состояние ситуij в последовательные моменты времени будем определять парой 〈 〉 X(t+1), C(t+1) , где X(t+1)=X(t)+P(t+1) – вектор состояния ситуации (элемент этого вектора x (t+1)= x (t)+ p (t+1)), когнитивный консонанс ij ij ij ∈ значения c (t+1) C(t+1). ij Динамика изменения состояния ситуации представляется t T T блочной матрицей X = |X(t+1) , …, X(t+n) |, которая используется в компьютерной системе для визуализации результатов моделирования. обратной задачи позволяет выработать рекомендации по принятию мер, позволяющих перевести ситуацию из текущего состояния в целевое. При её решении считается заданной матрица — транзитивного замыкания W и целевой вектор G=(g , …, g ) прира1 n щений значений факторов ситуации. Задача заключается в нахождении множества решений U = {U , 1 U , …, U } для перевода ситуации из текущего состояния в целевое 2 v состояние путем решения обратной задачи. 20.2.3. Методика когнитивного анализа проблемных ситуаций Перечислим основные этапы когнитивного анализа. 1. Формулировка задачи и цели исследования. Глава 20. Системы когнитивного моделирования 471 2. Изучение социально экономической проблемы с позиций поставленной цели. 3. Сбор, систематизация, анализ существующей статистической и качественной информации по проблеме; источники – СМИ, собственные источники и др. 4. Выделение основных характеристических признаков изучаемой проблемы и взаимосвязей, определение действия основных объективных законов (экономических, политических, социальных) развития исследуемой финансовой ситуации – это позволит выделить объективные зависимости, тенденции в процессах. 5. Определение присущих исследуемой ситуации требований, условий и ограничений. 6. Выделение основных социально политических субъектов, связанных с ситуацией, определение их субъективных интересов в развитии данной ситуации – это позволит определить возможные изменения в объективном развитии ситуации, выделить факторы, на которые реально могут влиять субъекты ситуации. 7. Определение путей, механизмов действия, реализации экономических и политических интересов основных социально политических субъектов – это позволит в дальнейшем определить стратегии поведения и предотвращения нежелательных последствий развития ситуации. Методика выявления факторов 1. Выделение базисных (основных) факторов, описывающих суть проблемы. Выделение в совокупности базисных факторов целевых факторов. Например, суть проблемы неплатежей налогов можно сформулировать в факторах «Неплатежи налогов», «Доходы бюджета», «Расходы бюджета», «Дефицит бюджета» и др. Для большего осознания уровня и значимости факторов отбор базисных факторов рекомендуется проводить по методике PEST анализа, выделяющего четыре основные группы факторов (аспектов), определяющие поведение исследуемого объекта: Policy – политика; l Economy – экономика; l Society – общество (социокультурный аспект); l Technology – технология. l PEST анализ можно рассматривать как вариант системного анализа, т.к. факторы, относящиеся к перечисленным четырем аспектам, в общем случае тесно взаимосвязаны и характеризуют различные иерархические уровни общества как системы [28, 29]. 476 Глава 20. Системы когнитивного моделирования Таблица 20.5 Матрица «Окно возможностей» Текущее значение Числовая оценка минимальное значение 0 очень малое 0.2 малое 0.3 умеренное 0.5 большое 0.6 очень большое 0.8 максимальное значение 1 2. Сценарий «Сильные стороны – Угрозы». Предполагает использование сильных сторон для устранения угроз. 3. Сценарий «Слабые стороны – Возможности». Предполагает преодоление слабостей за счет предоставляемых возможностей. 4. Сценарий «Слабые стороны – Угрозы». Предполагает избавление от слабых сторон для предотвращения угроз. 20.3. Пример системы когнитивного моделирования Для построения системы когнитивного моделирования была предложена проблема повышения качества функционирования распределенной корпоративной сети за счет системы резервного копирования (СРК) как наиболее слабого звена в системе управления инцидентами. проблемной ситуации «Поддержка и развитие СРК КИС» Как известно, СРК – это программно аппаратные комплексы, предназначенные для: проведения регулярного автоматического копирования как сиl данных, так и данных, создаваемых пользователями на специально предназначенные для этого накопители; оперативного восстановления данных (в случае утери или по l каким то другим причинам). Такая система может работать в автоматическом режиме, по заранее разработанному плану или в интерактивном – по командам оператора. Она обычно хранит несколько копий данных, сделанных в разное время, частичных и полных. При этом может обеспе- Глава 20. Системы когнитивного моделирования 477 чиваться сохранение данных, передаваемых с множества машин по сети, и управление системой копирования на глобально распределенном предприятии. Потеря или искажение данных может привести к разнообразным последствиям, среди которых можно перечислить потерю денег, времени и престижа. Причинами потери данных могут быть разнообразные явления: от отключения эдектропитания и выхода из строя жесткого диска, до ошибок в программном обеспечении и операторов. Если от аппаратных сбоев могут защитить дисковые массивы и программные продукты, поддерживающие зеркалирование или RAID 5, а от проблем на линии электропередач – источники бесперебойного питания, то от ошибки оператора (например, от такой, как ошибочное удаление файлов) может защитить только резервная копия. Специальные меры защиты данных требуются на случай возникновения пожаров, наводнений или других обстоятельств, которые могут привести к одновременному уничтожению аппаратуры, носителей информации и других элементов информационной системы. В этом случае имеет смысл создавать удаленные резервные информационные системы. Копии данных позволят быстро включить эти системы в работу. Сложность общей организации и отдельных элементов современных информационных систем, а также разнообразие возможных причин увеличивают вероятность потери данных. Поэтому резервное копирование рассматривается как обязательное действие, а для его выполнения создается специальная «система резервного копирования». Для СРК характерно: представляет собой сложную совокупность различных систем l (АО, ПО и методологическое обеспечение); данные для копирования формируются в результате функциоl КИС; подвергается множественному влиянию внешней среды (экоl социальных, технологических факторов) и зависит также от внутренних факторов самой КИС. Роль экспертов в построении модели предметной области Роль экспертов в построении предметной области любой задачи трудно переоценить. Зачастую эксперты являются как основным источником знаний о предметной области, так и лицами, в руках которых находятся ресурсы исследуемой системы. Кроме того, 478 Глава 20. Системы когнитивного моделирования эксперты могут быть частью системы и ее неотъемлемым ресурсом. Они же могут определяют целевое состояние модели. В ходе построения модели предметной области перед экспертами ставились задачи: 1. Предоставление информации о предметной области. 2. Выделение факторов, влияющих на развитие системы. 3. Определение непосредственных связей между факторами. 4. Определение силы связей. 5. Определение значений факторов. 6. Определение существующих тенденций развития факторов. Сложность задачи эксперта заключается в том, что на нём, как на специалисте, лежит большая ответственность за его оценки. В конечном счете, именно субъективная оценка эксперта берётся в основу модели предметной области и влияет на результаты моделирования. Сложна и проблема выделения факторов, т.к. они могут относится к различным уровням влияния. Т.е. эксперт должен четко для себя представлять и отличать «глобальные» факторы от факторов более мелких уровней. При определении связей между факторами от эксперта требуется выделение непосредственных связей. Но зачастую у них возникает множество ассоциаций и даже им трудно бывает отличить прямое влияние от непрямого. 20.3.1. Методика работы с экспертами Обработка оценок экспертов Алгоритм опроса экспертов: 1. Опрос каждого эксперта: описание его представлений о предметной области с помощью введенных лингвистических шкал. 2. Составление сводной таблицы оценок. 3. Выведение конечной оценки. Выведение суммарной оценки В опросе принимали участие 3 эксперта. Сравнение оценок и выведение единой оценки проводилось путем выбора коррелирующего значения: если все три оценки имеют одинаковый знак и абсолютные знаl то суммарная оценка по знаку и абсолютному значению равна этому значению; если все три оценки одинаковы по знаку и различны по абсоl значениям, то суммарная оценка представляет собой среднее абсолютных значений; Глава 20. Системы когнитивного моделирования 479 если все три оценки имеют одинаковый знак и две из них приl одинаковое абсолютное значение, то третья оценка отбрасывается, а суммарная оценка принимает значение двух одинаковых оценок; если из трех оценок одна отличается по знаку, а две другие равl по абсолютным значениям, то оценка с противоположным знаком отбрасывается, а суммарная оценка принимает значение двух других оценок; если из трех оценок одна отличается по знаку, а две другие разl по абсолютным значениям, то оценка с противоположным знаком отбрасывается, а суммарная оценка представляет собой среднее абсолютных значений двух других оценок. В ходе работы с экспертами были выработаны некоторые рекомендации по структурированию полученных факторов: при PEST и SWOT анализе не вводить в разные категории поl («зеркальные») факторы: в таком случае при составлении матрицы смежности эти факторы будут оказывать обратное влияние друг на друга, а при построении орграфа связи между этими факторами будут образовывать петли. Например, если складывается ситуация, при которой в ходе SWOT анализа выясняется, что сильные стороны системы являются и ее слабыми сторонами, то необходимо отказаться от введения этих факторов и в ту и в другую категорию. Надо либо определить, в какую категорию такие факторы вносят больший вклад, либо объединить их со схожими факторами, создать составные факторы и ввести каждый из них в одну из категорий; при выделении факторов следует формулировать их либо в l оценочных понятиях (цена, скорость, размер, объем и т.д.), ли- бо в тенденциях (уменьшение чего то, увеличение и т.д.). Не стоит вводить в список факторы, оценку которых можно градуировать по принципу «присутствует – отсутствует». Это не позволит исследовать модель на «гибкость»; не задавать очень низких или очень высоких начальных (текущих) значений. Иначе нельзя будет задать адекватное изменение значений факторов: любое изменение значений вызовет большую амплитуду изменения значений факторов. Если изначальное значение будет очень низким, то любой импульс изменения по отношению к этому значению будет очень большой. Если значение будет изначально высоким, то нельзя будет задать большой прирост. Если необходимо задать малое текущее значение, то минимальное значение (минимально допустимое отличие от 486 Глава 20. Системы когнитивного моделирования Таблица 20.12 Сводная таблица оценок тенденций развития внутренних факторов Название Суммарная Оценка 1 Оценка 2 Комментарий фактора оценка величина собственного умеренно сильно рас умеренно рейтинговая бюджета IT отдела растет тет растет умеренно умеренно умеренно надежность СРК рейтинговая уменьшается растет уменьшается существенно сильно рас сильно разработанность ПРК рейтинговая растет тет растет умеренно умеренно умеренно время записи растет растет растет возможность модерни очень силь очень силь очень силь зации но растет но растет но растет возможность использо умеренно умеренно умеренно вания ПО и АО веду растет растет растет щих производителей количество инцидентов умеренно очень слабо умеренно рейтинговая с СРК растет растет растет угроза со стороны не существенно сильно существенно квалифицированного рейтинговая уменьшается уменьшается уменьшается администратора 20.3.2. Разработка сценариев Сценарий саморазвития Для того чтобы понять, нужно ли вмешательство в развитие СРК, необходимо разработать сценарий саморазвития. Первый сценарий саморазвития задает следующую условную ситуацию: модель рассматривается с точки зрения изменений внешних факторов без учета развития внутренних. Условной эта ситуация является постольку, поскольку в тот же промежуток времени не рассматриваются тенденции изменений внутренних факторов, а лишь оцениваем их значения на выходе. Второй сценарий саморазвития задает развитие как внешних (независимых) факторов и тенденции изменений внутренних факторов без вмешательства лица, принимающего решения по проблеме (ЛПР). В данном случае эксперт оценивает тенденции изменений факторов, на которые окажет влияние «невмешательство» ЛПР. Сценарии стратегии управления развитием Попытаемся найти факторы воздействия на ситуацию с целью приведения модели к желаемому состоянию. Исходя из анализа нашей модели, получаем следующую матрицу «Окно возможностей» (табл. 20.13). Сценарии «Сильные стороны – возможности»: (табл. 20.14–20.22). Глава 20. Системы когнитивного моделирования 487 Таблица 20.13 Матрица «Окно возможностей» для модели СРК КИС РГУИТП Сильные Слабые стороны стороны поддержка производи разрабо телем ПО и время надеж танность АО, ис записи ность СРК Возможности ПРК пользуемо данных го в СРК возможность мо дернизации возможность ис пользования ПО и АО ведущих про изводителей количество инци дентов Угрозы с СРК угроза со стороны неквалифициро ванного адми нистратора Таблица 20.14 Окно «Сильные стороны возможности» надежность разработанность СРК ПРК возможность модернизации возможность использования ОП и АО ведущих производителей Таблица 20.15 Набор факторов сценария «Сильные стороны возможности» Значение, Управляющие факторы лингвистическая оцен Значения, % ка) до максимального зна увеличить разработанность ПРК до 85 чения до большого увеличить надежность СРК до 38,5 значения Целевые факторы возможность модернизации умеренное до 32,6 возможность использования ПО и большое до 23,7 АО ведущих производителей 490 Глава 20. Системы когнитивного моделирования Сценарий достижения идеальных показателей с помощью ввода фактора «Объем инвестиций» (табл. 20.23) Таблица 20.23 Набор факторов сценария достижения идеальных показателей с помощью ввода фактора «Объем инвестиций» Значения, Целевые факторы % рост величина собственного бюджета IT отдела на 100 возможность использования ОП и АО ведущих произво рост дителей на 100 возможность модернизации рост на 80 Управляющие факторы рост объем инвестиций на 100 Сценарий достижения идеальных показателей с помощью ввода фактора «Предоставление услуг внешним пользователям» (табл. 20.24) Таблица 20.24 Набор факторов сценария достижения идеальных показателей с помощью ввода фактора «Предоставление услуг внешним пользователям» Целевые факторы Значения,% величина собственного бюджета IT отдела рост на 100 возможность использования ПО и АО ведущих произ рост на 100 водителей возможность модернизации рост на 80 Управляющий фактор предоставление услуг внешним пользователям 80 20.4. Программная реализация когнитивной модели 20.4.1. Общие сведения о программном комплексе «Канва» Система когнитивного моделирования «Канва» предоставлена автором Кулиничем А.А. (ИПУ РАН – [56]) и предназначена для моделирования социальных, политических и экономических ситуаций и может быть использована в качестве системы поддержки принятия решений в организациях политического, экономического консалтинга, а также в аналитических отделах предприятий Глава 20. Системы когнитивного моделирования 491 и организаций, работающих в нестабильной и плохо определенной экономической или политической среде. Высокие потребительские свойства этой системы обеспечиваются возможностью быстрого построения качественной модели наблюдаемой ситуации с использованием понятных аналитику конструкций естественного языка и алгоритмами обработки качественной модели, позволяющим получить и обосновать прогноз развития ситуации, организовать ее сценарное исследование, задать цель управления ситуацией и проверить возможность ее достижения с использованием тех или иных рычагов управления. «Канва» не критична к качеству и способу представления исходной информации и может работать в условиях дефицита точной информации. При этом недостающая или неточная информация восполняется аналитиком с помощью экспертных, правдоподобных или гипотетических оценок наблюдаемой реальности (утверждениями здравого смысла). Система позволяет работать как с числовыми, так и с символьными значениями факторов ситуации. В модели ситуации, построенной с помощью системы «Канва», могут интегрироваться точные, проверенные данные и субъективные знания аналитика, отражающие его предпочтения, убеждения и интуицию. Для повышения объективности экспертных, правдоподобных, гипотетических оценок ситуации в систему моделирования «Канва» встроен интерфейс извлечения знаний из эксперта. Это интерфейс поддержки экспертных процедур, который обеспечивает выполнение процедур прямого оценивания и попарного сравнения. В режиме попарного сравнения осуществляется автоматическое обнаружение противоречий в оценках аналитика и автоматическая или ручная корректировка этих противоречий. В системе моделирования «Канва» организован удобный графический интерфейс построения, редактирования и настройки модели ситуации. Модель ситуации представляется в виде графического образа, включающего факторы ситуации, связанные причинными связями. Вычислительные алгоритмы системы «Канва» обеспечивают получение прогноза тенденций развития ситуации. Поскольку исходные данные и модель ситуации могут содержать экспертные и правдоподобные оценки аналитика, способные исказить модельный прогноз развития ситуации, в систему моделирования «Канва» включается подсистема «Расшифровка», обеспечивающая объяснение полученных результатов моделирования на естественном и понятном аналитику языке. Это позволяет проверить правдопо- 492 Глава 20. Системы когнитивного моделирования добность и логическую непротиворечивость модели и результатов моделирования, а в случае необходимости изменить свои представления о действительности и, соответственно, модель ситуации. Объяснение прогнозного изменения значения любого фактора, включенного в ситуацию, представляется как описание двух причинно следственных цепочек событий, приводящих к увеличению и уменьшению значения наблюдаемого фактора. Система моделирования «Канва» обеспечивает возможность сценарного исследования ситуации. Сравнение прогнозов развития ситуации для разных сценариев осуществляется с помощью удобного графического интерфейса. С помощью системы «Канва» аналитик может оценить свои возможности управления ситуацией. Для этого в системе моделирования «Канва» задается целевое состояние ситуации и анализируются возможности достижения этого состояния с помощью заданного множества рычагов управления ситуацией. При этом будут получены оценки возможности достижения цели с помощью тех или иных управляющих воздействий. В системе предусмотрена возможность распечатки результатов моделирования на принтер или в документ текстового редактора WORD. Система моделирования «Канва» является в некотором смысле «интеллектуальным оружием», способным поставить в тупик интеллектуального противника за счет глубины и многовариантности анализа ситуации. Система моделирования «Канва» может быть широко использования для концептуального анализа и моделирования сложных и плохо определенных политических, экономических или социальных ситуаций, разработки стратегий и механизмов достижения цели, для разработки программных документов стратегического развития страны, региона, предприятия, фирмы и т.д., в качестве инструментария непрерывного мониторинга развития ситуации и порождения и проверки гипотез механизмов развития и механизмов управления ситуацией. 20.4.2. Исследование сценариев Сценарий саморазвития ситуации В сценарий саморазвития входят факторы и тенденции развития внешней среды, на которые не оказывает влияния лицо, принимающее решение. В сценарии исследуются последствия отсутствия вмешательства в произвольное развитие ситуации (табл. 20.25, 20.26, рис. 20.5). Глава 20. Системы когнитивного моделирования 493 Таблица 20.25 Входные факторы сценария саморазвития Название Суммарная Оценка 1 Оценка 2 фактора оценка степень развитости очень слабо политики выделения очень слабо умеренно растет финансов на содер растет растет (на 6.3%) жание КИС Умеренно умеренно умеренно цены на ПО и АО растет уменьшается растет (на 17.1%) сильно скорость развития Сильно сильно растет растет технологий растет (на 70%) увеличение количе ства пользователей, очень слабо рас умеренно растет умеренно растет нуждающихся в ус тет (42%) лугах КИС поддержка умеренно производителем ПО Умеренно существенно уменьшается (на и АО, используемого уменьшается уменьшается 20%) в СРК Таблица 20.26 Результирующие значения сценария саморазвития Значение моделиро № № Фактор Консонанс № вания,% развитость политики выде 1 ления финансов на содер растет на 33 невозможно жание КИС величина собственного почти 2 растет на 108 бюджета IT отдела возможно почти 3 цены на ПО и АО растет на 42 достоверно скорость обновления новых 4 версий оборудования на не меняется невозможно рынке увеличение количества 5 , растет на 96 достоверно 6 надежность СРК растет на 33 невозможно степень разработанности 7 падает на 23 возможно ПРК поддержка производителем 8 ПО и АО, используемого в падает на 14 достоверно СРК почти 9 время записи растет на 68 возможно 490 Глава 20. Системы когнитивного моделирования Сценарий достижения идеальных показателей с помощью ввода фактора «Объем инвестиций» (табл. 20.23) Таблица 20.23 Набор факторов сценария достижения идеальных показателей с помощью ввода фактора «Объем инвестиций» Значения, Целевые факторы % рост величина собственного бюджета IT отдела на 100 возможность использования ОП и АО ведущих произво рост дителей на 100 возможность модернизации рост на 80 Управляющие факторы рост объем инвестиций на 100 Сценарий достижения идеальных показателей с помощью ввода фактора «Предоставление услуг внешним пользователям» (табл. 20.24) Таблица 20.24 Набор факторов сценария достижения идеальных показателей с помощью ввода фактора «Предоставление услуг внешним пользователям» Целевые факторы Значения,% величина собственного бюджета IT отдела рост на 100 возможность использования ПО и АО ведущих произ рост на 100 водителей возможность модернизации рост на 80 Управляющий фактор предоставление услуг внешним пользователям 80 20.4. Программная реализация когнитивной модели 20.4.1. Общие сведения о программном комплексе «Канва» Система когнитивного моделирования «Канва» предоставлена автором Кулиничем А.А. (ИПУ РАН – [56]) и предназначена для моделирования социальных, политических и экономических ситуаций и может быть использована в качестве системы поддержки принятия решений в организациях политического, экономического консалтинга, а также в аналитических отделах предприятий Глава 20. Системы когнитивного моделирования 491 и организаций, работающих в нестабильной и плохо определенной экономической или политической среде. Высокие потребительские свойства этой системы обеспечиваются возможностью быстрого построения качественной модели наблюдаемой ситуации с использованием понятных аналитику конструкций естественного языка и алгоритмами обработки качественной модели, позволяющим получить и обосновать прогноз развития ситуации, организовать ее сценарное исследование, задать цель управления ситуацией и проверить возможность ее достижения с использованием тех или иных рычагов управления. «Канва» не критична к качеству и способу представления исходной информации и может работать в условиях дефицита точной информации. При этом недостающая или неточная информация восполняется аналитиком с помощью экспертных, правдоподобных или гипотетических оценок наблюдаемой реальности (утверждениями здравого смысла). Система позволяет работать как с числовыми, так и с символьными значениями факторов ситуации. В модели ситуации, построенной с помощью системы «Канва», могут интегрироваться точные, проверенные данные и субъективные знания аналитика, отражающие его предпочтения, убеждения и интуицию. Для повышения объективности экспертных, правдоподобных, гипотетических оценок ситуации в систему моделирования «Канва» встроен интерфейс извлечения знаний из эксперта. Это интерфейс поддержки экспертных процедур, который обеспечивает выполнение процедур прямого оценивания и попарного сравнения. В режиме попарного сравнения осуществляется автоматическое обнаружение противоречий в оценках аналитика и автоматическая или ручная корректировка этих противоречий. В системе моделирования «Канва» организован удобный графический интерфейс построения, редактирования и настройки модели ситуации. Модель ситуации представляется в виде графического образа, включающего факторы ситуации, связанные причинными связями. Вычислительные алгоритмы системы «Канва» обеспечивают получение прогноза тенденций развития ситуации. Поскольку исходные данные и модель ситуации могут содержать экспертные и правдоподобные оценки аналитика, способные исказить модельный прогноз развития ситуации, в систему моделирования «Канва» включается подсистема «Расшифровка», обеспечивающая объяснение полученных результатов моделирования на естественном и понятном аналитику языке. Это позволяет проверить правдопо- 492 Глава 20. Системы когнитивного моделирования добность и логическую непротиворечивость модели и результатов моделирования, а в случае необходимости изменить свои представления о действительности и, соответственно, модель ситуации. Объяснение прогнозного изменения значения любого фактора, включенного в ситуацию, представляется как описание двух причинно следственных цепочек событий, приводящих к увеличению и уменьшению значения наблюдаемого фактора. Система моделирования «Канва» обеспечивает возможность сценарного исследования ситуации. Сравнение прогнозов развития ситуации для разных сценариев осуществляется с помощью удобного графического интерфейса. С помощью системы «Канва» аналитик может оценить свои возможности управления ситуацией. Для этого в системе моделирования «Канва» задается целевое состояние ситуации и анализируются возможности достижения этого состояния с помощью заданного множества рычагов управления ситуацией. При этом будут получены оценки возможности достижения цели с помощью тех или иных управляющих воздействий. В системе предусмотрена возможность распечатки результатов моделирования на принтер или в документ текстового редактора WORD. Система моделирования «Канва» является в некотором смысле «интеллектуальным оружием», способным поставить в тупик интеллектуального противника за счет глубины и многовариантности анализа ситуации. Система моделирования «Канва» может быть широко использования для концептуального анализа и моделирования сложных и плохо определенных политических, экономических или социальных ситуаций, разработки стратегий и механизмов достижения цели, для разработки программных документов стратегического развития страны, региона, предприятия, фирмы и т.д., в качестве инструментария непрерывного мониторинга развития ситуации и порождения и проверки гипотез механизмов развития и механизмов управления ситуацией. 20.4.2. Исследование сценариев Сценарий саморазвития ситуации В сценарий саморазвития входят факторы и тенденции развития внешней среды, на которые не оказывает влияния лицо, принимающее решение. В сценарии исследуются последствия отсутствия вмешательства в произвольное развитие ситуации (табл. 20.25, 20.26, рис. 20.5). Глава 20. Системы когнитивного моделирования 493 Таблица 20.25 Входные факторы сценария саморазвития Название Суммарная Оценка 1 Оценка 2 фактора оценка степень развитости очень слабо политики выделения очень слабо умеренно растет финансов на содер растет растет (на 6.3%) жание КИС Умеренно умеренно умеренно цены на ПО и АО растет уменьшается растет (на 17.1%) сильно скорость развития Сильно сильно растет растет технологий растет (на 70%) увеличение количе ства пользователей, очень слабо рас умеренно растет умеренно растет нуждающихся в ус тет (42%) лугах КИС поддержка умеренно производителем ПО Умеренно существенно уменьшается (на и АО, используемого уменьшается уменьшается 20%) в СРК Таблица 20.26 Результирующие значения сценария саморазвития Значение моделиро № № Фактор Консонанс № вания,% развитость политики выде 1 ления финансов на содер растет на 33 невозможно жание КИС величина собственного почти 2 растет на 108 бюджета IT отдела возможно почти 3 цены на ПО и АО растет на 42 достоверно скорость обновления новых 4 версий оборудования на не меняется невозможно рынке увеличение количества 5 , растет на 96 достоверно 6 надежность СРК растет на 33 невозможно степень разработанности 7 падает на 23 возможно ПРК поддержка производителем 8 ПО и АО, используемого в падает на 14 достоверно СРК почти 9 время записи растет на 68 возможно 494 Глава 20. Системы когнитивного моделирования Таблица 20.26 (продолжение) Результирующие значения сценария саморазвития возможность модернизации почти 10 растет на 98 СРК возможно возможность использова очень 11 ния ПО и АО ведущих про растет на 110 возможно изводителей угроза со стороны неквали 12 фицированного админист растет на 38 возможно ратора количество инцидентов с 13 растет на 67 возможно СРК 14 объем внешних инвестиций не меняется невозможно предоставление услуг 15 не меняется невозможно внешним пользователям Рис. 20.5. Результирующие значения сценария саморазвития Как можно видеть, ключевые факторы, которые являются показателями работы системы (время записи данных, надежность СРК, количество инцидентов с СРК), имеют неблагоприятные тенденции изменения. Следовательно, специалисту, ответственному за решение проблемы, необходимо принимать меры по активному вмешательству в развитие показателей эффективности СРК. Сценарий «Сильные стороны – Возможности» Результаты работы по этому сценарию приведены в табл. 20.27. Несмотря на то, что почти достигаются заданные значения целевых факторов (возможность модернизации растет на 29.3%; возможность использования ПО и АО ведущих производителей рас- Глава 20. Системы когнитивного моделирования 495 Таблица 20.27 Набор факторов для сценария «Сильные стороны Возможности» Управляющие Значение, Значения, факторы лингвистическая оценка % увеличить разработан до максимального до 85 ность ПРК значения увеличить надежность до большого значения до 38.5 СРК Целевые факторы возможность модерни умеренное до 32.6 зации возможность использо вания ПО и АО ведущих большое до 23.7 производителей Рис. 20.6. Окно функции «Стратегия». Итерация 1 тет на 21.5%), расчет входных факторов показывает, что такого состояния можно достичь за счет непозволительно низкого значения входных факторов. Следовательно, необходима корректировка стратегии. 1 итерация: вводим фактор «развитость политики выделения финансов», т.к. увеличение этого фактора ведет к достижению поставленной цели рис. 20.6.