Предсказание поведения. Алгоритм моделирования

Когда приходится решать задачу предсказания поведения живых существ, фактически не играет больщой роли, насколько точным является уравнение движения или насколько высокую производительность показывает интегратор. В действительности, живые существа — это не пассивные объекты, которые подчиняются жестким правилам; усилия, затрачиааемые ими на осуществление движения, невозможно установить с полной определенностью, поэтому невозможно узнать и само ускорение. В результате этого может оказаться так, что неприменимыми являются наилучшие интеграторы, поскольку в любом случае принятые за основу предположения в отношении ускорения часто приводят к получению неправильных результатов. Напрашивается вывод, что и в данном случае необходимо найти как можно более простое решение!
Люди и несобственные персонажи, моделируемые средствами ИИ, не могут получать информацию о состоянии произвольных объектов так же достоверно, как о физических машинах. Участники игры имеют возможность лишь делать дедуктивные выводы, наблюдая за объектами и отслеживая их позицию (вернее, позицию их воплощений). При таком подходе чаще всего наблюдения осуществляются через определенные интервалы и оценка скорости производится в момент наблюдения; скорость вычисляется по изменению положения во времени.
Повышения точности можно добиться, определяя с помощью средств ИИ ускорение по результатам отслеживания изменений скорости. Таким образом, весь процесс контроля за поведением объекта состоит из трех этапов, осуществляемых в разное щ)е-мя: во-первых, производится контроль за текущим положением, во-вторых, определяется скорость и, в-третьих, на основании полученных данных вычисляется ускорение.
Безусловно, из-за ошибок измерения каждая из этих расчетных величин (скорость и ускорение) может резко изменяться от одного измерения к другому, поэтому целесообразно предусматривать усреднение полученных величин за короткий промежуток времени. Это позволяет отчасти справиться с шумом, вызванным ошибками в наблюдениях или неправильным предсказанием поведения. Тем не менее способ слежения за движущимся объектом, в котором используется усреднение, имеет недостаток, связанный с тем, что возникает запаздывание по сравнению с действительным значением (поскольку в расчет принимаются значения, полученные в прошлом). Может оказаться, что в играх лучшим является способ предсказания скорости с привязкой к тем точкам, в которых объект останавливается или начинает движение, поскольку движение и останов — два наиболее часто встречающихся состояния.
После создания основной модели приходится также вносить множество мелких уточнений, связанных с тем, что потребуют корректировки многочисленные параметры в соответствии с полученными наблюдениями, или с тем, что необходимо будет учесть еще какие-то конкретные требования. Значения параметров, подлежащих корректировке, могут быть выбраны и подвергнуты модификаїдиям на этапе экспериментирования. При этом окончательное решение по выбору наиболее подходящих параметров должно быть основано на эмпирических данных.
Выше было описано, как использовать стандартное решение квадратичного уравнения для поиска точки столкновения поражающего элемента оружия с целью, а в настоящем разделе будет показано, что для предсказания такого же результата может применяться моделирование. В данном случае для поиска приемлемой оценки местонахождения точки пересечения двух траекторий используется алгоритм, основанный на последовательных итерациях. В основе рассматриваемого алгоритма лежит метод прямого интегрирования, в котором уравнения Эйлера применяются для вычисления положения противника и поражающего элемента. По существу, процесс итерации начинается от текущего момента и продолжается в виде отдельных этапов, по завершении которых вырабатывается прогноз положения движущегося противника. Если обнаруживается, что поражающий элемент может достичь позиции, в которой в то же время находится противник, то считается, что точка пересечения найдена.