- •Введение
- •Глава 1. Ведение в системы искусственного интеллекта
- •1.1. Архитектура систем искусственного интеллекта
- •1.2. База знаний и данных
- •1.1.1 Понятие модели
- •1.1.2. Логические модели
- •1.1.3 Модели знаний на основе продукций
- •1.1.4 Фреймовая модель знаний
- •1.1.5 Семантические сети
- •1.3. Машина вывода
- •1.3.1. Понятие формальной системы
- •Примеры стратегии вывода
- •Как функционирует машина вывода
- •1.4. Извлечение знаний и обучение
- •1.4.1. Извлечение знаний от многих экспертов
- •1.4.2 Проблема непротиворечивости формализованной базы знаний
- •1.5. Обучение системы
- •1.6. Интерфейс с пользователем
- •1.7. Организация работы
- •1.8. Инструментальные средства создания систем искусственного интеллекта
- •Языки программирования
- •1.8.2. Языки продукционного программирования
- •1. 8. 3. Языки инженерии знаний и инструментальные системы
- •1.8.3.1. Система vpExpert
- •1.8.3.2. Система kas
- •1.8.3.3. Система Expert-Ease
- •Глава 2. База знаний
- •2.1. Методы извлечения знаний
- •2.1.1. Классификация методов извлечения знаний
- •2.1.2. Пассивные методы
- •2.1.2.1. Наблюдения
- •2.1.2.2. Анализ протоколов «мыслей вслух»
- •2.1.2.3. Лекции
- •2.1.3. Активные индивидуальные методы
- •2.1.3.1. Анкетирование
- •2.1.3.2. Интервью
- •2.1.3.3. Свободный диалог
- •2.1.4. Активные групповые методы
- •2.1.4.1. «Круглый стол»
- •2.1.4.2. «Мозговой штурм»
- •2.1.4.3. Экспертные игры
- •2.1.4.3.1. Игры с экспертом
- •2.1.4.3.2. Ролевые игры в группе
- •2.1.4.4. Игры с тренажерами
- •2.1.4.4.1. Компьютерные экспертные игры
- •2.1.5. Текстологические методы
- •2.2.Формальное описание понятий предметной области (по)
- •2.2.1. Методы абстрагирования понятий
- •2.2.1.1.Агрегация и декомпозиция понятий
- •2.2.1.2.Обобщение и специализация понятий
- •2.2.1.3.Типизация и конкретизация понятий
- •2.2.1.4.Ассоциация и индивидуализация понятий
- •2.3.Методы классификации
- •2.3.1. Экстенсиональный и интенсиональный аспекты классификации
- •2.3.2. Таксономия и мерономия
- •2.3.3. Типы классификаций
- •2.3.4. Древовидные классификации
- •2.3.5. Булевы классификации
- •2.3.6. Комбинативные классификации
- •2.4.События и процессы
- •2.4.1. Состояния предметной области
- •2.4.2. Событие
- •2.4.3. Последовательные процессы
- •2.4.4. Рекурсивные процессы
- •2.4.5. Ветвящиеся процессы
- •2.5. Системы продукций: структура, технология, применение
- •2.5.1. Неформальное введение в системы продукций
- •2.5.1.1 Алгоритмические модели
- •2.5.2 Логический вывод
- •2.5.3 Прикладные модели
- •2.5.4. Метамодель систем продукций
- •2.5.4.1. Основные подсистемы
- •2.5.5.2. Метаструктура базы данных и операций
- •2.5.5.2.1. Характер организации данных
- •2.5.5.2.2 Операции над базой данных
- •2.5.5.2.3 Контроль несовместимости
- •2.5.5.2.4 Ассоциативная надстройка
- •2.5.6. Метаструктура модуля правил
- •2.5.6.1 Аппарат активации
- •2.5.6.2 Структура правил
- •2.5.7. Метаструктура модуля управления
- •2.5.8. Технология поддержки разработок продукционных систем
- •2.5.9. Формальные модели систем продукций
- •2.5.9.1. Алгебраическая модель
- •2.5.9.1.1. Основные определения
- •2.5.9.1.2. Операции преобразования ситуации
- •2.5.9.1.3. Условия корректности вычислений над конъюнктивной базой данных
- •2.5.9.1.4. Однозначность вычислений над дизъюнктивной базой
- •2.5.9.2. Управление выводом в системах продукций
- •2.5.9.3. Язык управления применением продукций
- •2.5.9.4. Язык управления выбором данных
- •2.5.9.5. Обзор формальных моделей вычислений
- •2.5.10. Экспериментальные системы продукций
- •2.5.10.1. Система скип
- •2.5.10.2. Система анализа топологических чертежей интегральных схем
- •P(слой) x0, y0 : Dx1, Dy2, .., Dxn-1, Dyn;
- •2.6. Выводы к второй главе
- •3. Машина логического вывода
- •3.1. Формальное определение задачи
- •3.2. Специфика решения задач в сии
- •3.3. Управление процессом решения задачи
- •3.4. Модели эвристического поиска решений
- •3.4.1 Стратегия поиска в глубину
- •3.4.2. Стратегии перебора с отсечениями
- •3.4.2.1. Метод ветвей и границ
- •3.4.2.2. Стратегии поиска на основе эвристической функции оценки
- •3.5. Методы вывода и доказательства теорем
- •3.5.1 Механизм резолюции Робинсона
- •3.5.2. Резолюция в логике высказываний
- •3.5.2.1 Линейная резолюция вL
- •Метод линейного вывода в lЛавленда, Ковальского и Кюнера
- •Эффективная реализация
- •3.5.2.3. Метод поиска в глубину
- •3.5.2.4 Эвристики поиска в дереве
- •3.5.2.5. Семантическая резолюция
- •3.5.3 Резолюция в pl
- •3.6. Методы индуктивного вывода
- •3.6.1. Виды индукции
- •3.6.2. Индукция как вывод и индукция как метод
- •3.6.3. Правила, необходимые для систем автоматического формирования знаний
- •3.7. Дедуктивный вывод на семантических сетях
- •3.7.1. Нерезолютивные методы вывода на семантических сетях
1.5. Обучение системы
Как уже отмечалось, более менее развитая техника обучения имеется для задач распознавания и классификации. Задача классификации заключается в отнесении предъявленного образца к некоторому классу. В качестве классифицирующей функции может, например, использоваться функция
g(x) = w1x1 + w2x2 + ... + wdxd + wd+1, (1.43)
Данная функция называется также линейной дискриминаторной функцией. Для того, чтобы использовать линейную дискриминаторную функцию, исходное множество объектов разбивается на классы1,2, ...,N, причем каждый объект из принадлежит только одному классуi.
Для каждого класса некоторым (определенным) образом подбираются весовые коэффициенты W = <w1, w2, ..., wd+1>. Считается, что предъявленный объект относится к тому классу, для которого значение дискриминаторной функции достигает максимального значения. Рассмотрим, из каких соображений определяются весовые коэффициентыwi. Прежде всего, для каждого класса выбирается представительРiэтого класса.
Расстояние между произвольной точкой X d-мерного пространства и представителемРi, вычисляется как
(1.44)
где (Х - Рi )(Х - Рi) = Х·Х - 2Х · Рi + Рi · Pi. (1.45)
Естественно полагать, что точка Xпринадлежит тому классу, расстояние между представителем которогоРiи Xминимально. Поскольку членXXв (1.45) для всех классов один и тот же, то минимум(-2ХРi + Рi Рi)эквивалентен максимуму (2ХРi - РiРi). В связи с этим в качествеgi(Х)используется функция
gi(X) = 2XPi - PiPi. (1.46)
Из (1.46) имеем, что где-i-ая компонента вектора Рiиwd+1 = PiPi.
Теперь выясним, в чем заключается процесс обучения. Если заранее не известен представитель каждого класса, то нужно определить подходящим образом весовые коэффициенты wi, в дискриминантной функции (1.43). Определение весовых коэффициентов осуществляется с помощью обучающей выборки, относительно которой известна результирующая классификация. В качестве обучающей выборки для СИИ может выступать накопленный опыт решения задач классификации. Рассмотрим алгоритм непараметрического обучения, как он описан. В качестве начальных весов выбираются произвольные векторы, изменение которых производится только в случае неправильной классификации объектов. Допустим, при классификации объектаYон неверно относится к классу ), вместо отнесения его к классу 1. Тогда весовые векторы, используемые как в 1-ой, так и в 1-ой дискриминантных функциях, изменяются следующим образом:
(1.47)
где - новые весовые выходы;с- коэффициент коррекции.
Таким образом, исправление состоит в увеличении дискриминантной функции W(i)и уменьшении дискриминантной функцииW(i). Также доказывается, что приведенный обобщенный алгоритм обучения находит разделяющие весовые наборы за конечное число исправлений.
Отметим в заключении этого параграфа, что обучение может быть связано также с выдвижением гипотез и методами индуктивных рассуждений. Соответствующие формализмы были предложены в начале века Д.С.Миллем.
1.6. Интерфейс с пользователем
Интерфейс с пользователем включает следующие компоненты:
диалоговый компонент;
модуль обработки вопросов;
редактор знаний;
модуль объяснения.
Возможно объединение всех этих компонентов в единственный диалоговый модуль, а также вынесение редактора знаний в систему управления базой знаний. В процессе диалога пользователь формирует спецификацию задачи. В простейшем случае этот процесс реализуется по одному и тому же сценарию типа "вопрос - ответ". При этом диалоговый компонент выполняет следующие действия:
распределяет роли пользователя и СИИ и организует их взаимодействие в процессе решения задачи;
преобразует спецификацию задачи, составленную пользователем, во внутреннее представление машины;
выдает сообщения, подсказки, вопросы;
протоколирует процесс решения задачи.
Развитый интеллектуальный диалог реализует поддержку процесса решения задачи в духе Пойа. В этом случае пользователь сам активно включается в процесс решения задачи, а СИИ организует поисковую активность человека-решателя. Этот процесс описывается следующим семантическим фрагментом:
<решение>::= <контекст><действие>[<решение>]
<контекст>::= <начальный_контекст>[<история>]
<история>::= <вопрос><ответ>[<история>]
<начальный контекст>::= <фрейм_задачи:>
<ответ>::= <совет>|<указание>|<элемент_меню>
<действие>::= <вопрос>|<совет>|<указание>
Например, для математических задач дискретной оптимизации характерно следующее множество вопросов:
<Вопрос>::=
Задача сводится к последовательному выбору элементов решения? |
Все множество элементов решения доступно сразу? |
Выбор одного элемента решения исключает выбор другого? |
Критерий выбора одного элемента решения соответствует общему критерию задачи? |
Число элементов решения велико? |
Можно ли разбить задачу на независимые подзадачи меньшего размера? |
Можно ли выделить непополняемое множество альтернативных решений небольшого размена? |
Известно ли множество решений на каждом шаге? |
Влияет ли выбор решения на шаге i на шаг (i + k), k>1?|
Выбор одного элемента решения изменяет другие элементы решений? |
Известен т последний шаг решения? | и т.д.
<:Совет>::=
запишите задачу в удобной для обозрения и понимания форме |
используйте известные вам аналогии |
отделите то, что дано, от того, что нужно найти |
определите, от чего зависит искомая величина |
определите содержание отдельного шага процедуры решения |
упростите задачу ча счет объектов, гарантированно входящих или не входящих в решение |
начинайте решение с наиболее простого и очевидного |
и т.д.
<Указание>::=
«Объект, который причиняет вред, должен быть поставлен в условия, обратные тем, в которые должен быть поставлен объект, доставляющий максимум пользы» |
«Для получения хорошего решения нужно отбрасывать плохие» |
«Решение, имеющее наиболее глубокие последствия, должно приниматься раньше других» |
«Неизвестную задачу можно свести к известной через преобразования носителя или условий» | и т.д.
Таким образом, процесс решения задачи организуется некоторым адекватным задаче наводящим перечнем вопросов и указаний. Все вопросы можно разбить на три группы. Первую группу образуют вопросы, уточняющие спецификацию (природу) задачи (т.е. задача считается все еще не определенной). Вторая группа вопросов - это вопросы, наводящие пользователя на идею решения задачи. При этом считается, что определенные классы задач характеризуются некоторым адекватным их природе набором наводящих вопросов. Наконец, третья группа вопросов - это вопросы информационного плана (например, требуется укачать значения того или иного параметра и т.д.).
В системах, минимизирующих участие человека в ходе решения задачи, информационные вопросы являются основными. Как ранее отмечалось, это является недостатком и причиной того, что многие разработанные системы плохо воспринимаются пользователем. Поэтому важнейшей компонентой СИИ является модуль объяснения, который для каждой продукции может дать информацию о цели и способах ее реализации.
Предъявление подобного объяснения пользователю может убедить его в рациональности стратегии вывода или побудить к самостоятельному принятию решения. Таким образом диалоговый компонент СИИ в принципе должен позволять пользователю вмешаться в любой точке трассы вывода и изменить ее по своему усмотрению.
Итак, выделим основные функции интерфейса с пользователем СИИ:
ввод спецификации задачи
обеспечение возможности вмешательства со стороны пользователя в процесс решения задачи
организация поисковой активности человека-решателя
предъявление объяснений
выдача сообщений
протоколирование процесса решения задачи
обработка вопросов и команд - функции редактирования знаний