Пример методов Монте-Карло при проектировании ИИ

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

2 ответа

Метод Монте-Карло относится к созданию случайных чисел для моделирования определенных сценариев. Само по себе это не имеет никакого отношения к ИИ.

Вместо этого вы ищете Evolutionary Computing, Genetic Algorithms или Genetic Programming где различные решения проблемы создаются и развиваются с использованием принципов биологической эволюции. Это позволяет использовать случайные числа.

Например, см. Http://en.wikipedia.org/wiki/Genetic_algorithm

Эти технологии могут быть очень хорошо использованы в параллельных вычислениях и очень подходят для недетерминированных игровых ИИ.


когда вы разрабатываете ИИ с Монте-Карло (MC), вы делаете это, как и с каждой функцией оптимизации:

Просто произвольно создавайте решения и выбирайте лучший.

Пример:

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

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

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

Создание хороших ИИ в играх часто не зависит от использования "лучшего" решения, но интересного. Если вы используете dijkstra, и все ваши враги используют один и тот же путь, это может быть эффективным, но, возможно, не интересным.

licensed under cc by-sa 3.0 with attribution.