45358

Обучение игровых программ

Доклад

Информатика, кибернетика и программирование

Таким образом накопление позволяет либо экономить время либо достичь лучшего качества игры за то же время путем использования несколько большего дерева. Оно позволяет программе в ходе игры улучшать свои оценивающие функции. Качество игры зависит от подходящего выбора весовых коэффициентов k1 k2 k3 .

Русский

2013-11-16

41 KB

5 чел.

27 Обучение игровых программ

Представляет интерес программа для игры в шашки, разработанная Артуром Сэмюэлем. В этой программе Сэмюэлю удалось реализовать две формы обучения: накопление и обобщение.

Накопление сводится к хранению в памяти компьютера большого числа конфигураций на шашечной доске из тех, что реально (а не гипотетически) возникают в ходе шашечных игр. Вместе с каждой конфигурацией в памяти хранится также её числовая оценка, которая получилась путём построения дерева, применения оценивающей функции к терминальным вершинам и передачи значений вверх по дереву посредством минимаксной процедуры. Имея в памяти некоторое множество конфигураций вместе с их оценками, программа в процессе работы ищет соответствие между конфигурацией, отвечающей каждой из вершин дерева, и конфигурациями из числа запомненных. Если такое соответствие установлено, то хранимая в памяти оценка передаётся в эту вершину. В результате отпадает необходимость строить какую-либо ветвь, которая могла бы возникнуть под этой вершиной.

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

Естественно, размер списка конфигураций, который может храниться в памяти и использоваться, ограничен сверху. А. Сэмюэль построил свою программу так, что наименее употребляемые конфигурации вычеркиваются, а часто встречающиеся остаются в памяти компьютера.

Другая форма обучения, использованная А. Сэмюэлем, – обобщение. Оно позволяет программе в ходе игры улучшать свои оценивающие функции. Обычно оценивающая функция представляет собой полином; в простейшем виде это полином первой степени, или взвешенная сумма

S = kl al + k2 a2 + k3 a3 + ...,

Полином может быть также и более высокой степени относительно переменных а, например,

S = kl al + k2 a2 + k11 a12 + k12 a1 a2 + ...,

Качество игры зависит от подходящего выбора весовых коэффициентов k1, k2, k3, ..., и обобщение является средством их подгонки, обеспечивающей улучшение игры. Метод обобщения представляет собой пример оптимизации с использованием процедуры, называемой "подъем в гору". Имеется начальный набор значений k1, k2, k3, ..., и в каждый момент времени эти коэффициенты определяют рабочую точку. Рабочая точка перемещается в пределах многомерного пространства по мере подгонки величин весовых коэффициентов в поисках положения, в котором оптимизируется определенная реакция или целевая функция.

Чтобы воспользоваться методом подъема на гору, следует дать программе возможность сыграть некоторое число игр с определенным партнером, выбрав какое-то начальное множество коэффициентов ki, а затем сыграть еще некоторое число игр, сделав пробные изменения в положении рабочей точки. Если программа во втором множестве игр выигрывает чаще, то принимается новое значение ki. В противном случае происходит возвращение к старой величине и производится какое-то новое пробное изменение.

Недостатки данного метода в следующем: во-первых, этот путь предполагает очень медленное движение, во-вторых, поскольку партнер не может играть абсолютно ровно, необходимо, чтобы два указанных множества игр были достаточно емкими.

Поэтому А. Сэмюэлем предложил другой путь нахождения весовых коэффициентов во время игры, который основан на том, что качество игры растет с увеличением глубины просмотра дерева возможностей. Если может быть найдено средство вычисления оценочной функции, обеспечивающее точное совпадение переданного назад по дереву (с большой глубиной) значения оценочной функции с результатом его прямого (с небольшой глубиной) определения, то такая оценка должна быть равнозначна изучению всего полностью построенного дерева игры.

Если S – результат прямой оценки с помощью оценочной функции, a Sb – результат передачи оценки по дереву (с большой глубиной), то можно считать их разность ошибкой е, где

e = S - Sb.

Сэмюэль сделал так, что в его программе вычислялась корреляция между е и а1, а2 и т.д. Положительная корреляция между е и любым значением а, указывает, что соответствующий коэффициент k, следует уменьшить, а отрицательная корреляция означает, что его надо увеличить.

При применении указанного метода требуется уделить внимание обеспечению его устойчивости. Для повышения устойчивости Сэмюэль фиксировал один из весовых коэффициентов, тогда как другие коэффициенты изменялись. Обычно это был наиболее важный параметр, оценивающий материальное соотношение, поскольку разумно полагать, что игроку всегда выгодно, чтобы его фигуры на доске сохранялись.

Таким образом, А. Сэмюэлем был создан алгоритм программы, обладающий свойством самообучения (обучение без учителя). Эту программу считают первой в мире действующей самообучающейся программой.

А. Сэмюэль пошел еще дальше. Он держал в своей программе больший ассортимент критериев (а1, а2 и т.д.), чем тот, что допускался для использования в конкретной оценивающей функции. Используемое множество критериев видоизменялось во время игры: если какое-то из значений весовых множителей ki оставалось близким к нулю в течение длительного времени, то тот компонент оценивающей функции, к которому относился этот коэффициент, изымался из рабочего множества, а на его место ставился другой из числа ожидавших своей очереди. Изъятый критерий добавлялся к множеству ожидавших своей очереди и мог быть впоследствии заново внесен в оценивающую функцию.

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

Далее А. Сэмюэль предложил замкнуть игровую программу саму на себя – организовать работу программы таким образом, что она могла вести игру и самообучаться непрерывно днем и ночью, имитируя одновременно двух игроков (x и y). Игроку x разрешалось модифицировать свою оценивающую функцию путем обобщения, тогда как игрок y пользовался фиксированной оценивающей функцией. Когда x выигрывал игру, игрок y копировал оценивающую функцию у игрока x. Если же игрок y выигрывал подряд три игры, то его оценивающая функция копировалась игроком x. Это гарантировало возможность возвращения игрока x к прежнему положению в том случае, если процесс подгонки параметров происходил в нежелательном направлении.

Таким образом, А. Сэмюель создал программу, которая позволяла не только правильно играть в шашки, но и улучшать стратегию игры, используя опыт, накопленный в предыдущих партиях.

Современные обучающиеся игровые программы имеют недостаток.

Дело в том, что в современных игровых программах, как правило, реализованы сразу две парадигмы обучения – с учителем и без него. Результат обучения таких программ зависит от конкретного учителя. И очень часто вместо того чтобы учиться играть в игру, такие программы учатся обыгрывать учителя. Например, после победы DeepBlue над Гарри Каспаровым программисты IBM отказались от матча с другими гроссмейстерами. В результате чемпион мира заявил, что программа просто была "натаскана" на его партиях, она изучила его стиль и потому просто не способна конкурировать с другими гроссмейстерами.

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


 

А также другие работы, которые могут Вас заинтересовать

30517. Понятие файловой системы. Логическая и физическая организация файловой системы FAT 37.17 KB
  В широком смысле понятие файловая система включает: совокупность всех файлов на диске наборы структур данных используемых для управления файлами такие например как каталоги файлов дескрипторы файлов таблицы распределения свободного и занятого пространства на диске комплекс системных программных средств реализующих управление файлами в частности: создание уничтожение чтение запись именование поиск и другие операции над файлами. Двоичные файлы не используют SCIIкоды они часто имеют сложную внутреннюю структуру например...
30518. Ключи криптосистемы. Жизненный цикл ключей. Требования к обеспечению безопасности жизненного цикла ключей. Управление ключами в криптографических системах 34.39 KB
  Методы разграничения доступа: Разграничение доступа по спискам; Использование матрицы установления полномочий; Разграничение доступа по уровням секретности и категориям; Парольное разграничение доступа.; управление сроком действия паролей их периодическая смена; ограничение доступа к файлу паролей; ограничение числа неудачных попыток входа в систему это затруднит применение метода грубой силы ; обучение пользователей; использование программных генераторов паролей такая программа основываясь на несложных правилах может...
30519. Технологии обеспечения безопасности корпоративной сети с использованием оборудования 2-го уровня модели OSI 228.33 KB
  VLN Virtul Loclre Network – это одна из функций Fst Ethernet. VLN позволяет изменять конфигурацию сети объединять пользователей в отдельные рабочие группы определять доступные сегменты для отдельно взятого порта. VLN дает возможность значительно оптимизировать работу локальной сети за счет разгрузки отдельных ее сегментов от лишнего трафика. С помощью VLN можно еще контролировать и эффективно подавлять широковещательные штормы которые в больших сетях иногда останавливают работу целых сегментов.
30520. Технологии обеспечения безопасности корпоративной сети с использованием оборудования 3-го уровня модели OSI 53.73 KB
  Метод анализа на лету заключается в мониторинге сетевого трафика в реальном или близком к реальному времени и использовании соответствующих алгоритмов обнаружения. Системы обнаружения атакIntrusion Detection Systems IDSs анализирует трафик поступающий на нее на соответствие сигнатурам в случае соответствия трафика сигнатуре оповещает администраторов по безопасности о наличии совпадения. Обычно на IDS поступает копия трафика который необходимо анализировать то есть IDS не ставят в разрез соединению это достигается...
30521. Средства обеспечения защиты данных от несанкционированного доступа, средства идентификации и аутентификации объектов БД, языковые средства разграничения доступа, организация аудита в системах БД. Задачи и средства администратора безопасности БД 32.18 KB
  В современных условиях любая деятельность сопряжена с оперированием большими объемами информации, которое производится широким кругом лиц. Защита данных от несанкционированного доступа является одной из приоритетных задач при проектировании любой информационной системы. Следствием возросшего в последнее время значения информации стали высокие требования к конфиденциальности данных. Системы управления базами данных, в особенности реляционные СУБД
30522. Основные понятия защиты информации (субъекты, объекты, доступ, граф доступов, информационные потоки). Постановка задачи построения защищенной автоматизированной системы (АС). Ценность информации 50.99 KB
  Ценность информации. Доска Пример матрицы доступа дискреционная модель защиты Выступление Основные понятия защиты информации. В связи с развивающимся процессом информатизации общества все большие объемы информации накапливаются хранятся и обрабатываются в автоматизированных системах построенных на основе современных средств вычислительной техники и связи.
30523. Модель системы безопасности HRU. Основные положения модели. Теорема об алгоритмической неразрешимости проблемы безопасности в произвольной системе 111.25 KB
  Теорема об алгоритмической неразрешимости проблемы безопасности в произвольной системе На доске множество исходных объектов O o1 o2 oM ; множество исходных субъектов S s1 s2 sN при этом S ⊆ O множество прав доступа субъектов к объектам R матрицей доступа каждая ячейка которой специфицирует права доступа к объектам из конечного набора прав доступа R r1 r2 rK т . Классическая Дискреционная модель реализует произвольное управление...
30524. Основні культурологічні теорії 143 KB
  Історичні науки вивчають процеси становлення і розвитку конкретних народів в їх безпосередній реальності, в хронологічній послідовності подій, вказуючи на конкретні форми міжрегіональної взаємодії.