Понятие дерева возможностей 2. Методы подрезки дерева возможностей 3. Обучение игровых программ 1. Понятие дерева возможностей В программах-игроках наиболее полно удалось реализовать центральную идею искусственного интеллекта: обучение самообучение самоорганизация компьютерных программ Принципы работы многих игровых программ опираются на исследования дерева возможных продолжений игры … 30 … 900 27 000 810 000 Комбинаторный взрыв Принципы игры в шахматы Корневая вершина дерева возможностей представляет собой текущее положение фигур на шахматной доске, а работа программы состоит в выборе очередного хода Все вершины могут быть двух типов: альфа-вершина – ход компьютера бета-вершина – ход его противника Дерево возможностей представляет собой чередующиеся слои альфа- и бета-вершин В интеллектуальных играх типа шахмат удаётся построить и просмотреть лишь небольшую часть дерева возможностей - дерево возможностей подвергается подрезке Методы подрезки дерева возможностей В программах-шахматистах для каждой вершины обычно определяются числовые оценки силы позиций каждого из партнеров (оценивающая функция) k1, k2, k3 – весовые коэффициенты а1, а2, а3 – некоторые признаки силы позиции Обычно оценивающая функция: 0 - позиции партнеров равноценны >0 - преимущество за компьютером <0 - когда преимущество за противником Метод минимаксного перехода После оценки каждой терминальной вершины, выполняется перенос результатов этих оценок вверх по дереву: для альфа-вершин - наибольшее значение оценок для дочерних вершин для бета-вершин – наименьшая Метод обратного усечения поиск по дереву включает в 2 этапа: 1. построение дерева возможностей с приписыванием его терминальным вершинам числовых значений оценочной функции 2. применение минимаксной процедуры для передачи значений вверх по дереву значения оценочных функций связываются с вершинами по мере формирования дерева: 1. оценивающие функции для альфа-вершины с ростом дерева могут только увеличиваться 2. для бета-вершины – только уменьшаться наблюдение за динамикой изменения оценивающих функций даёт возможность определить нерезультативные ветви Обучение игровых программ Две основные формы обучения: 1. накопление 2. обобщение Накопление сводится к хранению в памяти компьютера большого числа конфигураций фигур на доске из тех, что реально возникают в ходе игр. Вместе с каждой конфигурацией в памяти хранится её числовая оценка Обобщение позволяет программе в ходе игры изменять оценивающие функции Некоторые принципы используемые А.Сэмюэлом в программе S – результат прямой оценки с помощью оценочной функции Sb – результат передачи оценки по дереву вычислялась корреляция между е и а1, а2 и т.д. положительная корреляция между е и любым значением а, указывает, что соответствующий коэффициент k, следует уменьшить отрицательная корреляция означает, что его надо увеличить программа содержала больший ассортимент критериев (а1, а2 и т.д.), чем допускался для использования в конкретной оценивающей функции. Используемое множество критериев видоизменялось во время игры. А. Сэмюэль предложил замкнуть игровую программу саму на себя – организовать работу программы таким образом, что она могла вести игру и самообучаться непрерывно днем и ночью, имитируя одновременно двух игроков (x и y).