ФОРМАЛИЗАЦИЯ МОДЕЛИ ПЕРЕМЕЩЕНИЙ

К счастью, для всех нас моделирование навигации — это достаточно заурядная задача. Существует множество успешных решений этой задачи, поэтому мы можем сэкономить массу времени, просто изучив имеющиеся проекты в смежных областях, (Кроме того, вы должны понимать, что в начальных частях книги мы, так сказать, по определению не можем рассматривать сложные задачи, — самое интересное автор всегда приберегает напоследок!)
> В робототехнике системы навигации получают информацию об окружающих предметах с помощью ультразвуковых или лазерных сенсоров, которые позволяют им судить о расстоянии до препятствий. Как правило, эта информация используется по прямому назначению, т.е. для того, чтобы определять направление дальнейшего движения (хотя существуют модели роботов, которые умеют интерпретировать поступающую информацию с помощью сложных алгоритмов). После принятия решения о выборе направления осуществляется навигация путем отправки соответствующих команд моторам, которые управляют колесами (например, для таких роботов, как AuRA, Rhino и SSS).
> В такой научной дисциплине, как исследования в области искусственной жизни (A-life — artifical life), моделируется и изучается поведение искусственных существ (обычно в составе группы). При этом достаточно важным направлением в A-life является изучение перемещений, особенно коллективных (например, по типу птичьих стай и рыбьих косяков). Некоторые из подобных исследований (в частности, поведение при выборе направления ) можно применить и к моделированию поведения индивидуальных существ. При этом каждый агент снабжается искусственными датчиками, которые и обнаруживают препятствия в радиусе их действия. Эта информация учитывается в виде линейных и угловых скоростей в математических выражениях для расчета усилий, которые следует прилагать для выбора направления.
> Существует также огромное количество других академических проектов, которые просто невозможно описать двумя-тремя фразами. Единственное, что их объединяет, — это то, что в подавляющем большинстве академических (т.е. не находящих конкретных реализаций в виде робототехнических систем) проектов исследования ведутся в области двухмерной навигации. При этом акцент делается либо на практическое применение абстрактных алгоритмов, либо на разработку небольших модульных компонентов, предназначенных для использования в более крупных системах (например, компоненты машинного зрения или локализации объектов).
> В системах ИИ компьютерных игр в силу сложившейся исторической традиции задача навигации всегда упрощается настолько, насколько это возможно, чтобы снизить накладные расходы, связанные с дополнительными вычислениями. Для э-гого, в частности, применяются предварительные вычисления значений структур данных с последующей их передачей системе ИИ в наиболее оптимальном формате. Это позволяет обновлять координаты каждого несобственного персонажа в режиме реального времени, тем самым создавая иллюзию того, что перемещения непрерывны, а не диск1)етны. Каждый из перечисленных выше подходов "срабатывает" в тех обстоятельствах, для которых он предназначается. Нам остается лишь выбрать тот подход, который лучше всего соответствует нашим условиям. При этом нам придется сразу же вычеркнуть из круга рассматриваемых методов те, которые не соответствуют определению воплощения, приведенному в главе 2, "Проблемы проектирования интеллекта". Среди остальных ме-годов мы должны выбрать те, которые более удобны для практического применения в системе ИИ компьютерной игры, а также те, которые мы можем использовать если не целиком, то во всяком случае частично.