Научная статья на тему 'Анализ динамики боевых действий в стратегических компьютерных играх'

Анализ динамики боевых действий в стратегических компьютерных играх Текст научной статьи по специальности «Математика»

CC BY
214
39
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по математике, автор научной работы — Ляхов Александр Федорович

Предлагаемая работа может быть поставлена в один ряд с предыдущими работами автора, опубликованными в журналах номер 1 и номер 6 за 2002 год ("Математика и компьютерные игры", "Как правильно играть в "Морской бой"). В данной статье рассматривается динамическая модель боя описываются изменения боевой обстановки во времени.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Анализ динамики боевых действий в стратегических компьютерных играх»

Ляхов Александр Федорович

АНАЛИЗ ДИНАМИКИ БОЕВЫХ ДЕЙСТВИИ В СТРАТЕГИЧЕСКИХ КОМПЬЮТЕРНЫХ ИГРАХ

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

Предлагаемая работа может быть поставлена в ряд с предыдущими работами автора, опубликованными в журнале «Компьютерные инструменты в образовании» № 1 и № 6 за 2002 год («Математика и компьютерные игры», «Как правильно играть в «Морской бой»). Все эти работы выполнялись совместно с учениками девятых, десятых и одиннадцатых классов. В первых работах с помощью теории матричных антагонистических игр определялись оптимальные стратегии игроков. Заметим, что этот анализ носил статический характер, то есть

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

Проведем анализ развития боевого столкновения двух группировок в стратегической игре Crusader с помощью Ланчес-терской модели [1]. Сценарий игры основывается на описании крестовых походов в X, XI веках.

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

В соответствии с законом больших чисел, в каждый момент времени число со-

"Ироверем. анамс^ fiajflutfrufr боевою грфиифо&ок.

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

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

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

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

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

Рассмотрим простейшую модель боя. Пусть в бою участвуют две группировки. В составе первой группировки имеется И1 однородных боевых единиц (стрелков или арбалетчиков и т. д.). Во второй группировке - И2 боевых единиц, однородных между собой, но не обязательно однородных с боевыми единицами первой группировки.

...мамгНЛ-и оен/фм&Яих бое&их ефиЛщ

Примем следующие допущения.

1. Каждая боевая единица любой стороны, пока не поражена, производит случайный пуассоновский поток выстрелов.

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

3. Если боевая единица поражена, то огонь мгновенно переносится на другую боевую единицу. Пораженная единица выбывает из боя.

4. Временем полета стрелы до цели можно пренебречь по сравнению с общей длительностью боя.

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

Обозначим через п^) среднее число боевых единиц первой группировки, сохранившихся непораженными к моменту ?, А1 - среднюю скорострельность (число выстрелов в единицу времени) одной боевой единицы, р1 - вероятность, с которой каждый выстрел поражает единицу второй группировки; аналогично введем п2(1), А2 , р2 для второй группировки. В принятых обозначениях каждая боевая единица первой группировки будет осуществлять поток успешных выстрелов А1 = А1 р1 , а второй группировки - А2 = А2 р2.

Зафакеи/Ье^ем ЛекоНо^-ий- момеЛй бремеШ ? а¿атшем, как «рмеЛиНся ... чисмЛЛоа&ь

Зафиксируем некоторый момент времени ? и запишем, как изменится средняя численность сторон за малый промежуток времени т:

1Ая1 = -Л2 п2т, Ап2 = -Л1п1т.

Деля оба уравнения на т и устремляя т к нулю (т ® 0), получим систему линейных дифференциальных уравнений, описывающих изменение численности противоборствующих сторон:

dn, .

dn2 dt

-An,.

(1)

Очевидно, что в начале боя (? = 0) можно положить, что

п1 = п2 = Ы2 , (2)

где , N 2 - количество боевых единиц перед боем.

Уравнения (1), описывающие изменения численности сторон в процессе боя, называются уравнениями динамики боя, или уравнениями Ланчестера 2-го рода.

Если предположить, что Л1, Л2 остаются постоянными в течение боя, то систему (1), (2) удается проинтегрировать. Выразив из первого уравнения системы (1) п2 и

подставив его во второе уравнение, получим:

;2,

d n1

dt

2

= Л1Л 2ni .

Решение этого уравнения имеет вид 1 п1(() = С^^* + С 2 е ',

или, переходя к гиперболическим функциям 2 и определяя константы интегрирования, получим

n

i(t) = NihЛ1Л21 - N2 AshjЛ1Л21. (3)

V Л1

Для второй группировки имеем

n2(t) = N2hЛ1Л21 -N1 — shjЛ1Л21. (4)

V Л2

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

N1

N2

Начальные условия в этом случае запишутся в виде

I = о, т = т = 1.

, _ ЛlNl

u2 =

Введем обозначения В

Л 2 N 2

N2

N

u1 =

Л1 N1 N

числителе выражения

стоит среднее число успешных

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

Решение (3, 4) запишем в виде

/!1 = chju1u21 -—sh^u1u21, X

m2 = chylu1u21 - xs^u1u21,

(5)

1 Приводимый в работе достаточно элементарный вывод Ланчестерской модели боя предназначен для

учеников 10-11 классов. Ученикам 9-х классов для исследования может быть предложена зависимость численности сторон от времени как заданная известная функция.

sh(x) = -

,ch(x) = ■

гиперболический синус и гиперболический косинус.

n

n

1

2

e + e

где c - коэффициент преимущества

С

_ ,u1 _ N1 _ N

(6)

2 J"2 V

Если коэффициент преимущества С > 1, то первая группировка сильнее второй группировки, и бой закончится ее победой. Если С < 1, то сильнее вторая группировка. При С _ 1 решение запишется в виде

& _ e'J"1"2', m2 _ e'J"1"2'. Вид решения при различных значениях С показан на рисунке 1.

Заметим, что приведенная модель справедлива при достаточно больших значениях, n1(t), n2(t), то есть модель применима до тех пор, пока n1 (t) > M, n2 (t) > M (рисунок 1).

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

Покажем возможность применения Ланчестерских моделей боя для анализа боя в компьютерных стратегических играх в реальном времени 1.

Создадим простейшую позицию в игре Crusader. Создадим группировку синих лучников N1 = 175 и красных - N2 = 100 и рас-

клэ<р<р«и/иен&, преимущества % > 1, грфтирв&сл сильнее грфти/Ьв&си,

и ёой ее аоберой. £сли % < 1,

сильнее груеиицЪо&ка,

положим их друг напротив друга в пять шеренг.

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

_ и _ N1

% _ х и ~ ^^ определяется количеством

лучников.

Из системы (5) запишем

\mxX2 -m _ (С2 - 1)c^V"1"2t, [ma -&2С _ (с2 -1) shj^t

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Учитывая, что ch 2 (у]u1u21) - sh 2(д/u1u21) _ 1 ,

получим

22 с mt

22 -mi _с

1.

(7)

С _ 2 С _ 1,5

Рисунок 1.

1 Вся экспериментальная часть работы и часть вычислений выполнялась Макаровым Игорем и Суро-

вым Дмитрием, учениками 9 класса школы № 87 г. Нижний Новгород.

Таблица 1.

Эксперимент № 1 п(0) п(г1) п(г2) п(г3) п(г4)

п1 (экспер.) 175 164 158 148 145

п2 (экспер.) 100 80 65 45 20

П (теорет.) 175 164,4 157,7 150,5 145

А (абс. погреш.) 0,4 0,3 2,5 0

5 (отн. погреш.) 0,2% 0,2% 1,7% 0

Переходя к размерным значениям, определим связь между числом сохранившихся лучников в первой и второй группировке

п2 - п22 = N12 - N2. (8)

Заметим, что это соотношение справедливо для любого момента времени.

Начнем бой и остановим его в момент, когда группировки еще достаточно велики. В таблице 1 приведены экспериментальные

значения количества группировок п1, п2 в различные моменты времени. Значение п1 (теорет.), приведенное в таблице, определялось по формуле (8) при п2 (экспер.), взятом из эксперимента. Можно видеть, что найденное значение п1 (теорет.) близко к экспериментальному значению п1 (экспер.). Погрешность при этом не превышает 1,7%.

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

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

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

Например, рассмотрим бой между группировкой стрелков из лука пх(1) и арбалетчиков п2 (?). Количественные значения соотношения сторон в различные моменты времени приведены в таблице 2. Из (7) запишем

С

1

1 -т1

или, переходя к размерным переменным, для коэффициента преимущества группировок получим

С 2 = N22 - п2 N1 л N1

п2 N2

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

С1 = /—1, то с учетом (6), получим

=

N2

N 2

Можно видеть, что коэффициент пре-

2

п

2

2

п

1

Таблица 2.

Эксперимент № 2 п(0) п(Ч) п(?2) п(^) п(0 Ср. знач.

п1 (лучники) 100 91 88 57 56

п2 (арбалетчики) 50 45 41 41 37

С1 5,4 4,3 4,8 4,2 4,7

Таблица 3.

Эксперимент № 3 п(0) п(Ч) и(*з) Ср. знач.

п1 (экспер.) 100 90 60 50 40

П2 (экспер.) 100 85 55 45 25

% 1,208 1,043 1,031 1,056 1,084

...оцеНшЯь не Лолысо пршмущесЛ&о офНоЛ баемой ериНщи НЛф фругой, На и ... пршмущесЛ&о офНоЛ по^шуш НЛф фругой.

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

Значения коэффициента превосходства арбалетчиков %1 приведены в таблице 2.

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

Приведем пример таких оценок. 1. Пусть в бою участвуют две группировки лучников, и атака осуществляется с двух сторон (см. таблицу 3).

50

N. _ 100

50

В данной позиции преимуществом обладает центральная группировка

2. Пусть атака осуществляется со всех сторон (см. таблицу 4).

25

25

Nl _ 100

25

25

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

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

Таблица 4.

Эксперимент № 4 п(0) п(гх) п(?2) п(г3) п(0 Ср. знач.

П (экспер.) 100 70 60 35 30

^2 (экспер.) 100 65 50 10 5

% 1,064 1,082 1,062 1,046 1,063

о&ЛошеЛыл к Лем, кЛоо ах окре^а&й...

окружает. Практика реальных сражений говорит об опасности окружения. Окруженные армии, как правило, проигрывают.

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

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

2. Рассмотрим бой равных сил, когда одна из сторон занимает высоту.

...^еро^Л-НосЛл утешного бш&рехл Не

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

Заметим, что коэффициенты преимущества, связанные с расположением боевых единиц на местности, могут быть определены из решения задачи баллистики 1

Проведенное исследование игры Crusader позволило выявить ряд характеристик самой игры и ее недостаточную гибкость для моделирования сложных позиций. Например, было выявлено, что вероятность успешного выстрела не зависит от дальности выстрела, что управление боевыми единицами зависит от плотности их расположения, в управлении игрой отсутствует прерывание и т. д. Использование других стратегических игр (WarCraft II, Age of Empire,

Таблица 5.

Эксперимент № 5 n(0) n(ti) n(t2 ) и(*з) Ср. знач.

П-1 (экспер.) 100 90 85 80

n2 (экспер.) 100 55 35 20

С 1,915 1,778 1,632 1,775

1 См. Приложение на диске.

Казаки) для изучения динамики боевого столкновения также связано с рядом трудностей.

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

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

теристик боя в реальном времени. Коэффициенты превосходства отдельных боевых единиц и характеристики рельефа можно задавать, связав их с реальными физическими объектами и процессами.

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

Литература.

1. Вентцель Е.С. Введение в исследование операций. М.: Сов. радио, 1964. С. 388.

2. Ляхов А.Ф. Математика и компьютерные игры. Компьютерные инструменты в образовании. 2002, № 1. С. 62-71.

3. Ляхов А.Ф., Ляхов Ф.А. Как правильно играть в «Морской бой». Компьютерные инструменты в образовании, 2002, № 6. С. 73-80.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

4. Ткаченко П.Н. и др. Математические модели боевых действий. М.: Сов. радио, 1969. С. 240.

© Наши авторы, 2003. ОигаиЙюге, 2003.

Ляхов Александр Федорович, доцент кафедры теоретической механики механико-математического факультета Нижегородского государственного университета им. Н.И. Лобачевского (НГУ).

i Надоели баннеры? Вы всегда можете отключить рекламу.