Н.В. КОРОБКОВ, А.A. ЛУКАШОВ РАЗРАБОТКА ИГРЫ ЗА КОМПЬЮТЕР НА ОСНОВЕ

advertisement
УДК 004(06) Информатика и процессы управления
Н.В. КОРОБКОВ, А.A. ЛУКАШОВ
Московский инженерно-физический институт (государственный университет)
РАЗРАБОТКА ИГРЫ ЗА КОМПЬЮТЕР НА ОСНОВЕ
ТЕХНОЛОГИИ JAVA НА ПРИМЕРЕ ИГРЫ В РЕВЕРСИ
Рассмотрены подходы к созданию логических игр, на основе которых
разработан и реализован алгоритм игры в реверси на основе технологии Java.
В
настоящее
время
большое
распространение
получили
вычислительные устройства с ограниченным размером памяти и
вычислительными ресурсами, к которым можно отнести сотовые
телефоны, КПК (компьютеры-наладонники) и игровые консоли.
Большинство из этих устройств поддерживает выполнение игр и
приложений разработанных на основе технологии Java. В настоящей
работе рассмотрена задача создания алгоритма игры за компьютер в
реверси на таких устройствах. Алгоритм и интерфейс игры был
реализован в среде разработки Java на платформе J2ME.
Разработка игры за компьютер в логических играх на таких
устройствах требует оптимизации по скорости и размеру используемой
памяти. В ходе разработки алгоритма изучалась возможность
оптимизации:
- генерации ходов;
- алгоритма перебора ходов;
- вычисления оценочной функции позиции.
Наилучшие результаты при генерации ходов обеспечил алгоритм,
основанный на использовании битовых полей (1). Идея данного
алгоритма состоит в том, что для хранения одной ячейки поля
используется не байт, а несколько бит.
Для перебора вариантов ходов рассматривались несколько вариантов
рекурсивного перебора. Простейший вариант с Alpha-Beta отсечением
NegaMax, NegaScout и MTD(F) (1-3). Проведенное сравнение скорости
работы алгоритмов показало, что наилучшую скорость обеспечивает
алгоритм MTD(F), второй NegaScout, а третий NegaMax. Однако,
ускорение в алгоритме MTD(F) достигается за счет создания хэштаблицы, требующей дополнительной памяти. Кроме того, накладываются
ограничения на используемую функцию оценки качества позиции.
Наибольшее внимание было уделено разработке функции оценки
качества позиции. Хорошая функция оценки качества особенно важна для
ISBN 5-7262-0555-3. НАУЧНАЯ СЕССИЯ МИФИ-2005. Том 12
60
УДК 004(06) Информатика и процессы управления
данного типа устройств в связи с ограниченными вычислительными
ресурсами, не позволяющими компенсировать недостатки в функции
качества углубленным перебором вариантов.
Для построения функции оценки позиции изучались три подхода:
- классический, основанный на вычислении оценки как линейной
комбинации ряда факторов (количество занятых клеток, занятые
углы и края, количество возможных ходов и т.д.);
- вероятностный,
суть
которого
состоит
в
подстройке
коэффициентов оценки на основе большой базы партий,
сыгранных сильными игроками;
- на основе нейронной сети, которая обучалась на большой выборке
позиций.
В третьем случае использовалась нейронная сеть, имеющая топологию
с одним скрытым уровнем и обратной связью (обратная связь при
обучении)- трехслойный перцептрон (MLP).
Наилучшие результаты были достигнуты при втором подходе.
Использование нейронных сетей оказалось не достаточно эффективным
из-за большего времени вычисления функции оценки и трудностей с
выбором структуры сети.
Таким образом, удалось разработать алгоритм игры за компьютер в
реверси, удовлетворяющий жестким требования по оперативной памяти и
скорости работы. Разработанный алгоритм был реализован на платформе
J2ME и опробован на сотовом телефоне. В ходе разработки были изучены
существующие методы генерации ходов, перебора вариантов и
вычисления оценочной функции позиции, из которых были использованы
наиболее хорошо удовлетворяющие изложенных выше требованиям. Был
предложен новый алгоритм построения оценочной функции на основе
большой базы позиций с вероятностями выигрыша/проигрыша.
Список литературы
1. David Eppstein, Dept. Information & Computer Science, UC Irvine Strategy and board
game programming. Lecture notes for 1997
2. Knuth D.E., Moore R.W. (1975). “An analysis of Alpha-Beta Pruning”, Artificial
Intelligence, Vol. 6, Pp. 293-326
3. Aske Plaat, Erasmus University, “Best-First Fixed-Depth Minimax Algorithms”
4. Michael Buro 1995, “An Evaluation Function In Othello Based on Statistics”, NEC
Research Institute
5. Ф. Уоссермен “Нейрокомпьютерная техника: Теория и практика”, Перевод на
русский язык, Ю. А. Зуев, В. А. Точенов, 1992.
ISBN 5-7262-0555-3. НАУЧНАЯ СЕССИЯ МИФИ-2005. Том 12
61
Download