<<
>>

Динамические сцены

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

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

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

9.2.2

<< | >>
Источник: F. Markus Jonsson. Поиск оптимального пути для транспортных средств на оцифрованых картах реальной местности. 1998

Еще по теме Динамические сцены: