Мне нравится описание проблемы!Детерминированные подходы, вероятно, не сработают, так как в этом есть некоторая случайность.Также вам, возможно, придется пересмотреть некоторые места, так как новые пути могут открываться из-за движения объекта.
Поэтому усиление случайного движения является хорошим началом.Например, вы можете назначить временные метки для каждой посещенной ячейки и повысить вероятность посещения не посещенных / старых ячеек.Это похоже на феромоны в Ant Colony Optimization http://en.wikipedia.org/wiki/Ant_colony_optimization только с одним муравьем.
Другим подходом может быть выбор случайных клеток-мишеней (далеко) и попытка попасть туда.Вы, вероятно, встретите объекты по пути.Используйте наивный поиск путей вокруг этих объектов, и если это не сработает, просто выберите другую цель.
Обновление :
Абстрактный, но мощный способ создания несколько умного ИИсначала подумать о жестких фактах / свойствах / аннотациях, которые вы можете назначить своей модели (например, посещенные места, временные метки, априорные знания и т. д.)Затем создайте набор простых действий, которые AI может использовать.Возможно, вы захотите создать более сложные действия поверх них.
Впоследствии все сводится к тому, что контролируемые ИИ агенты выбирают соответствующее действие, учитывая текущие факты недетерминированным образом.То есть: присвойте баллы этим возможным действиям и сделайте выбор колеса рулетки http://en.wikipedia.org/wiki/Fitness_proportionate_selection или что-то подобное, чтобы определить следующее действие.