
- •Предисловие.
- •1. Основные задачи искусственного интеллекта.
- •1.1. История развития систем искусственного интеллекта.
- •1.2. Обзор основных направлений в области искусственного интеллекта
- •1.3. Решение задач и искусственный интеллект
- •1.3.1. Графовое представление задачи в пространстве состояний.
- •1.3.2. Стратегии поиска в пространстве состояний
- •2. Проблемная область искусственного интеллекта
- •2.1. Представление знаний
- •2.2 Модели представления знаний
- •2.2.1. Семантические сети
- •2.2.2. Фреймы
- •2.2.3. Формальные логические модели
- •2.2.4. Продукционная модель
- •2.2.5. Вывод на знаниях
- •3. Сильные методы решения задач. Экспертные системы
- •3.1. Структура экспертных систем
- •3.2. Классификация экспертных систем
- •3.3. Отличие эс от других программных продуктов
- •3.4. Цикл работы экспертных систем
- •3.5. Технология проектирования и разработки экспертных систем
- •4. Принятие решений в условиях неопределенности
- •4.1. Нечеткая логика
- •4.1.1. Нечеткие множества
- •4.1.2. Более строгое представление о нечетких множествах
- •4.1.3. Основные характеристики нечетких множеств
- •4.1.4. Примеры нечетких множеств и их характеристик
- •4.1.5. Операции над нечеткими множествами
- •4.1.6. Четкое множество α-уровня (или уровня α)
- •4.1.7. Нечеткая и лингвистическая переменные
- •4.1.8. Нечеткие числа
- •5. Машинное обучение на основе нейронных сетей
- •5.1. Биологический нейрон и его математическая модель
- •5.1.1. Биологический нейрон
- •5.1.2. Искусственный нейрон
- •5.2. Нейросети
- •5.2.1. Классификация и свойства нейросетей
- •5.2.2. Обучение искусственных нейронных сетей
- •5.3. Теорема Колмогорова
- •5.4. Персептрон
- •5.4.1. Алгоритм обучения персептрона
- •5.4.2. Линейная разделимость и персептронная представляемость
- •Логическая функция
- •Входы и выходы нейронов сети,
- •5.5. Сеть обратного распространения
- •5.5.1. Алгоритм обучения сети обратного распространения
- •5.6. Сеть встречного распространения
- •5.6.1. Сеть Кохонена. Классификация образов
- •5.6.2. Алгоритм обучения сети Кохонена
- •5. 6.3. Нейроны Гроссберга. Входные и выходные звезды
- •5.6.4. О бучение входной звезды
- •5.6.5. Обучение выходной звезды
- •5.6.6. Двухслойная сеть встречного распространения
- •5.6.7. Алгоритм обучения сети встречного распространения
- •5.7. Стохастические сети
- •5.7.1. Обучение Больцмана
- •5.7.2. Обучение Коши
- •5.8. Сети с обратными связями
- •5.8.1. Сеть Хопфилда
- •5.8.2. Правило обучения Хебба
- •5.8.3. Процедура ортогонализации образов
- •5.9. Сеть дап (двунаправленная ассоциативная память)
- •5.10. Сеть арт (адаптивная резонансная теория)
- •5.10.1. Алгоритм функционирования сети арт-1
- •Список иллюстраций
1.3. Решение задач и искусственный интеллект
Теория решения задач — важная часть ИИ. Предполагается существование счетного множества S (состояний) и множества O (операторов). При представлении задач в пространстве состояний решение задачи рассматривается как передвижение в пространстве состояний с целью достигнуть желаемого множества целевых состояний с помощью последовательности операторов. Задача решена, если найдена такая последовательность операторов
,
что
Где
- некоторое состояние из множества
начальных состояний;
-
некоторое
состояние из множества целевых состояний.
Важным этапом построения какого-либо описания задачи с использованием пространства состояний является выбор некоторой конкретной формы описания состояний этой задачи. В сущности, любая структура данных может быть использована для описания состояний. Это могут быть строки символов, векторы, двумерные массивы, деревья и списки. Как правило, выбираемая форма описания имеет сходство с некоторым физическим свойством решаемой задачи. Так, в игре в пятнадцать естественной формой описания состояний может быть массив 4x4. Выбирая форму описания состояний, нужно позаботиться и о том, чтобы применение оператора, преобразующего одно описание в другое, оказалось бы достаточно легким.
1.3.1. Графовое представление задачи в пространстве состояний.
Во многих задачах искусственного интеллекта часто возникает необходимость наглядного представления отношений между какими-либо объектами. Для таких отношений существует естественная модель — это ориентированный и неориентированный графы.
Ориентированный
граф (или
сокращено орграф)
G
=
(N,
E)
состоит
из множества
вершин N
и
множества дуг Е.
Вершины также называют узлами, а
дуги — ориентированными ребрами.
Множество вершин
,
,
…,
не обязано быть конечным. Дуга
представляется в виде упорядоченной
пары вершин
,
где
называется
началом, а
-
концом дуги. Дугу
часто
записывают как
.
Говорят так же, что дуга
ведет
от вершины
к вершине
,
а вершина
смежна с вершиной
.
Если
направленная дуга соединяет вершины
и
,
то
называется родителем
,
а
- потомком
.
Если граф содержит также дугу
,
то
и
называются
вершинами-братьями.
Корневой граф
имеет
единственную вершину
в которую не входит ни одна дуга. Таким
образом, корень графа не имеет родителей.
Концевая вершина — это вершина, которая не имеет потомков.
Упорядоченная
последовательность вершин
,
где каждая пара является дугой, называется
путем
длины п -1
на графе. Одну вершину можно считать
путем длины 0 от вершины к этой же вершине.
Путь называется простым, если все вершины
на нем, за исключением может быть первой
и последней, различны. Цикл — это простой
путь длины не менее 1, который начинается
и заканчивается в одной и той же вершине.
Если путь включает некоторую вершину более одного раза, то говорят, что путь содержит петлю.
Если к вершинам и дугам орграфа присоединить какую-либо информацию, то получим помеченный орграф, при этом каждая дуга и/или каждая вершина имеет соответствующие метки. Меткой может быть имя, вес или стоимость (дуги), или значение данных какого-либо заданного типа.
В корневом графе вершина называется предком всех вершин, расположенных после нее, и в то же время потомком всех вершин, расположенных на пути к ней.
Неориентированный
граф
состоит из конечного множества вершин
и
множества ребер
.
В отличие от ориентированного графа
каждое ребро здесь соответствует
неупорядоченной паре вершин если
-
неориентированное ребро, то
.
Неориентированный
граф будем называть просто графом.
Дерево
с базовым типом
в
программировании определяется как: 1)
пустое дерево; либо 2) некоторая вершина
типа
с
конечным числом связанных с ней отдельных
деревьев с базовым типом
,
называемых
поддеревьями.
В системах искусственного интеллекта
понятие дерева часто связывают с понятием
графа.
Рассматривая дерево как неориентированный граф, можно сказать, что в нем существует единственный путь между любыми двумя вершинами (т. е. пути в дереве не содержат циклов). Каждая вершина в корневом дереве имеет единственного родителя. Две вершины называются связными, если существует путь, содержащий эти вершины.
Множество состояний, достижимых из данного начального состояния, полезно представлять в виде графа, вершины которого соответствуют этим состояниям. Вершины такого графа связаны между собой дугами, которые описывают переходы между состояниями. Эти переходы соответствуют логическим заключениям или допустимым ходам в игре.
Поиск
в пространстве состояний характеризует
решение задачи как процесс
нахождения пути решения (цепочки, ведущей
к решению задачи) от исходного состояния
к целевому. Пространство состояний
можно представить четверкой
со следующими обозначениями:
—
множество вершин графа или состояний
в процессе решения задачи;
—
множество дуг между вершинами,
соответствующих шагам в процессе
решения задачи;
—
непустое множество начальных состояний
задачи;
—
непустое множество, состоящее из целевых
состояний. Эти состояния
описываются одним из следующих способов:
1) измеряемыми свойствами состояний, встречающихся в процессе поиска;
2) свойствами путей, возникающих в процессе поиска, например, стоимостью перемещения по дугам пути.
Допустимый путь — это путь из вершины множества в вершину из множества . Путь является целью поиска. Он начинается от исходного состояния и продолжается до тех пор, пока не будет достигнуто условие цели.
Задача алгоритма поиска решения состоит в нахождении допустимого пути в пространстве состояний. Состояния иногда могут быть достигнуты разными путями, поэтому важно выбирать оптимальный путь.
Графовое представление задачи в пространстве состояний имеет ряд преимуществ:
● интуитивно легко понять нетривиальные высказывания;
●
учитывается
стоимость применения оператора
она
помечается на
каждой дуге графа;
● каждый последовательный шаг можно определять при помощи функции сравнения целевого и текущего состояний.
Приведем
фрагмент пространства состояний для
игры «крестики-нолики»
(рис. 1.1.). Корневая вершина этого графа
будет соответствовать пустой игровой
доске, указывающей на начало игры. Каждый
следующий узел графа будет представлять
состояние игровой доски, возникающее
в процессе
игры в результате допустимых ходов, а
дуги между ними -
Рисунок 1.1. Фрагмент пространства состояний для игры в "крестики-нолики"
связи между вершинами. Представление в пространстве состояний позволяет рассматривать все возможные варианты игры как различные пути на графе пространства состояний. Описав игру таким образом, можно с помощью поиска на графе найти эффективную игровую стратегию, то есть определить все пути, которые ведут к наибольшему числу побед и наименьшему числу поражений, и выбрать игру, которая будет вынуждать противника идти по одному из оптимальных для нас путей. Вторым достоинством представления пространства состояний в виде графа является возможность реализации игры на компьютере.