Главная > Интеллектуальные системы > Системы искусственного интеллекта
<< Предыдущий параграф
Следующий параграф >>
<< Предыдущий параграф Следующий параграф >>
Макеты страниц

9.4. Усвоение правил игры

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

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

Вектор описания игры (дескриптивный вектор) обычно содержит шесть компонент:

— значение очков, определяющее достоинство данного сочетания карт

— количество денег в банке

— предыдущая ставка противника

— число карт, замененных противником

— вероятность возможного блефа противника

— стиль игры противника: более или менее консервативный (СА).

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

Правила продукций имеют вид

Они являются упорядоченными: правило может быть использовано только после правил с номерами от 1 до

Так, следующее правило (задаваемое учителем):

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

(Звездочка означает, что соответствующий параметр не является существенным.)

Значение параметра фиксируется заранее, иапример, положим Наличие означает, что противник действительно пошел на повышение ставки Значение (максимальный уровень повышения без риска сдачи противника) фиксируется другим правилом и зависит, в частности, от значений и Наконец, отметим, что такое правило может быть уточнено или изменено самой программой. Обучение с использованием учителя продолжается путем накопления знаний: хорошие правила получают большой приоритет, а область применения других ограничивается.

Предполагается, что следующая информация дается учителем после каждого хода:

— текущий вектор подходящих параметров;

— хорошее решение;

— причина этого решения.

Рассмотрим три случая:

1) Программой принято хорошее решение по хорошим правилам, и в этом случае ничего не меняется.

2) Ни один из членов, стоящих справа, не соответствует хорошему решению, и применялось правило: программа вставляет на место правило, указанное учителем.

3) Перед применяемым правилом или после него существует правило которое могло бы привести к хорошему решению: параметры правил, которые помешали применению автоматически изменяются.

Пример. Рассмотрим правила

вместе с ограничениями, налагаемыми по определению: и вектором (9, 4, 5, 7, 0, 5), соответствующим ситуации. Значение следовательно, соответствует а 1 или и не представляют ни Ы, ни с 1 или и применяться может только правило Но в этот момент учитель критикует выбранное решение и говорит, что следовало играть повышение на 5, потому что большое (больше 7), в то время как небольшое (меньше 6).

Усваивается, следовательно, правило:

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

Правило автоматически заменяется на следующее:

Полностью процесс обучения представлен на рис. 9.7.

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

Ввод вектора ситуации и хорошего решения

Отработка правил

(см. скан)

Рис. 9.7. Процедура обучения правилам игры в покер.

Это, впрочем, то единственное правило, с которого начинается здесь всякое обучение.

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

Такая избыточность периодически проверяется и устраняется системой. (Указанный процесс осуществляется не в конце

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

Пример. Рассмотрим правила

при ограничениях

Правило превращает в недостаточное, так как тем самым теряет смысл. Правило превращает в избыточное, так как не используются, и становится бесполезным.

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

Таким образом, в конце концов Уотерман придумал пять разных программ для игры в покер. Они играют: а) случайным образом; б) используя учителя; в) обучаясь автономно; г) используя правила, предоставленные хорошим игроком; д) с полным обучением без задания характеристик вектора ситуации.

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

Программы тестировались с помощью случайного набора из 25 комбинаций карт в игре против людей. Затем через некоторое время роли сторон менялись. Программы легко выигрывали у игроков среднего класса и вели игру почти на равных с экспертами.

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

неконтролируемые граничные эффекты. Правила продукций теряют свои преимущества (гл. 7).

Итак, существенные моменты усвоения знаний следующие: прежде всего необходимо определить понятия. Затем нужно уметь делать выводы (обычно по одному единственному случаю) об определяющих характеристиках ситуации. Именно так в действительности поступает человек: никому не нужно дважды объяснять, что не следует совать руку в огонь. Рассмотрим программу игры в шахматы, которая старается, исходя из одного единственного примера, понять и обобщить.

<< Предыдущий параграф Следующий параграф >>
Оглавление