- •Введение
- •Глава 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. Нерезолютивные методы вывода на семантических сетях
3.4.2. Стратегии перебора с отсечениями
Примером очень сильной стратегии перебора с отсечениями является метод ветвей и границ. Можно также указать( - )- процедуру Нильсона.
3.4.2.1. Метод ветвей и границ
Метод ветвей и границ разработан Литлом, Мерти, Суини и Карелом. Рассмотрим основные идеи этого метода. Прежде всего, этот метод связан с некоторой общей схемой допущения и оценки альтернатив. Схема построения альтернативных предположений в общем виде может быть представлена, как это показано на рис. 3.9.
Вершины на рис. 3.9 соответствуют, как и ранее, состояниям задачи. Из каждой вершины выходит только два альтернативных направления, что, впрочем, не ограничивает общности рассмотрения. Направления отмечены буквамиПс индексами. ИдентификаторR(bi)есть некоторая числовая оценка, приписываемая вершинеbi.
Вообще говоря, не имеется ограничений на глубину построения дерева, хотя ясно, что нужно стремиться к минимальной глубине. Этим, в частности, обосновывается выбор того или иного предположения Пm: сначала следует стремиться доказать предположение, достоверность которого в наибольшей степени сомнительна, или наоборот, попытаться опровергнуть предположение, достоверность которого в наибольшей степени правдоподобна, т.е. действовать по принципуreductioadabsurdum, поскольку вероятность получения противоречия здесь наибольшая, это позволяет отсечь соответствующую альтернативу у ее "истоков", вместо того, чтобы строить новые альтернативные предположения.
Пусть ищется состояниеb*,в которомR(b*)минимально. Допустим далее, что известно некоторое текущее решениеbxс текущим рекордомR(bx). Тогда ясно, что любое состояниеbi, в котором наилучшее достижимое значениеR(bi) R(bx), может быть удалено (соответствующая часть дерева поиска отмечена, как показано с помощью заштрихованной области на рис. 3.9).
Рис. 3.9
Рассмотрим задачу коммивояжера в следующей частной постановке. Пусть дано множествоNиз 4 городов, соединенных дорогами. Будем интерпретироватьNсетью, в которой вершины соответствуют городам, причем дугам, соединяющим вершины, приписаны весасij, учитывающие затраты на переход коммивояжера из городаiв городj(рис. 3.10а).
П
1 2 3 4 1 5 6 7 2 3 4 2 3 2 1 8 4 4 4 3
а) б)
Рис. 3.10
В задаче коммивояжера требуется найти цикл с минимальной суммой затрат образующих его дуг, который обходит каждую вершину не более одного раза, за исключением одной вершины, из которой цикл "стартует" и в которой он же "заканчивается".
Рассмотрим решение этой задачи методом ветвей и границ. Решающими оказываются следующие два обстоятельства.
А1) Решению задачи коммивояжера соответствует выбор ровно одного элемента в каждой строке матрицы затрат С и ровно одного элемента в каждом столбце этой матрицы, причем сумма выбранных элементов минимальна и они образуют цикл. Последнее замечание существенно. Например, элементы (1, 2), (2, 3), (3, 1), (4, 4) не образуют цикл.
А2) Если из любой строки (столбца) вычесть (добавить) одну и ту же константу D, то результирующее значение С* суммарных затрат в оптимальном цикле Ц* уменьшится (увеличится) ровно на эту величину D.
Воспользуемся свойством А2. Выпишем минимальные элементыhjв каждом столбцеj, после чего вычтем их из элементов соответствующих столбцов. Затем в полученной матрице выпишем минимальные элементыhiв строкахi. Получим приведенную матрицу на рис. 2.11, а. Вычтем из каждой строки соответствующее значениеhi(рис. 3.11, б).
Из матрицы на рис. 3.11, б легко устанавливается, что минимально возможное значение С*(которое обозначим) вычисляется следующим образом
Теперь будем строить предположения для приведенной матрицы затрат на рис. 3.11, б.
Сделаем допущение, что дуга принадлежитЦ*;альтернативное допущение означает, что. Если дуга, то полагаем для дугис4,3=, а также удаляем из матрицы затрат на рис. 2.11, б строку 3 и столбец 4, что в итоге дает матрицу, показанную на рис. 2.12, а. Приведенная матрица изображена на рис.2.12, б.
Для матрицы на рис. 2.12,б находим . Таким образом, получаем, что длина оптимального цикла, содержащего дугусуть
г
|
1 |
2 |
3 |
4 |
hi |
|
|
|
1 |
2 |
3 |
4 |
hi |
1 |
|
4 |
3 |
5 |
3 |
|
|
1 |
|
1 |
0 |
2 |
3 |
2 |
1 |
|
1 |
0 |
0 |
|
|
2 |
1 |
|
1 |
0 |
0 |
3 |
0 |
0 |
|
6 |
0 |
|
|
3 |
0 |
0 |
|
6 |
0 |
4 |
2 |
3 |
0 |
|
0 |
|
|
4 |
2 |
3 |
0 |
|
0 |
hj |
2 |
1 |
3 |
2 |
|
|
|
hj |
2 |
1 |
3 |
2 |
|
а) б)
Рис. 3.11
|
1 |
2 |
3 |
|
|
|
1 |
2 |
3 |
hi |
1 |
|
1 |
0 |
|
|
1 |
|
0 |
0 |
0 |
2 |
1 |
|
1 |
|
|
2 |
0 |
|
1 |
0 |
4 |
2 |
3 |
|
|
|
4 |
0 |
1 |
|
1 |
hj |
1 |
1 |
0 |
|
|
hj |
1 |
1 |
0 |
|
а) б)
Рис. 3.12
В то же время длина цикла равна 5+2+3+2=12, следовательно, делаем вывод, что дугане входит в оптимальный цикл. Полагаемс3,4 = .
Допустим теперь, что дуга . Проведя аналогичные выкладки устанавливаем, что минимальная суммарная величина затрат для цикла, содержащего дугу, составляет 13 единиц. Следовательно, это допущение также отбрасывается, т.к. оно не улучшает текущий рекорд. Полагаемс1,4 = .
В результате в столбце 4 матрицы на рис. 3.10, б останется единственный допустимый элементс2,4 = 2. Полагаем,. Это допущение позволяет удалить строку 2 и столбец 4. В результате получаем приведенную матрицу, изображенную на рис. 3.13, для которойЦ*равно 12.
Допустим, что дугаТогда автоматически следует, что дуга. Удалим строку 4 и столбец 3: получим приведенную матрицу, изображенную на рис. 3.14, из которой автоматически следует, что дуга. Таким образом, из исходного предположения о том, что дуга, устанавливаем следующий оптимальный цикл, не содержащий дуги:
с суммарными затратами, равными 2 + 3 + 2 + 5 = 12.
|
1 |
2 |
3 |
hi |
|
|
|
|
|
|
|
|
1 |
2 |
hi |
1 |
|
1 |
0 |
0 |
|
|
|
1 |
2 |
|
|
3 |
0 |
1 |
0 |
3 |
0 |
1 |
|
0 |
|
|
1 |
|
1 |
|
|
4 |
2 |
3 |
2 |
4 |
2 |
3 |
0 |
0 |
|
|
3 |
0 |
1 |
|
|
hj |
0 |
1 |
|
hj |
0 |
1 |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
Рис. 3.13 Рис. 3.14 Рис. 3.15
Проверим теперь другую альтернативу:. Из этого допущения получим приведенную матрицу, изображенную на рис. 3.15. Непосредственно устанавливаем из рис.3.11, б и 2.15, что оптимальный цикл, содержащий дугу, имеет минимально возможные суммарные затраты, равные
определяется ич матрицы на рис. 3.13.
Таким образом, эта альтернатива отсекается, и мы получаем оптимальный цикл
,
суммарной величиной затрат, равной 12. Дерево поиска, которое было построено в ходе решения задачи, изображено на рис. 3.16.
Рис. 3.16
Символом “Х” обозначены отсекаемые направления, раскрытие которых гарантированно не улучшает рекорд. Отметим, что в этой задаче был сразу использован в качестве текущего рекорда оптимальный цикл, что, впрочем не снижает общности рассуждений, однако сокращает размеры построения дерева решения.