Вообще говоря, нейронные сети и генетические алгоритмы не используются в играх и, кроме недавнего интереса к использованию нейронных сетей для глубокого обучения, не так уж часто и вне игр.
Основная причина, по которой они преподаются в академической среде искусственного интеллекта, заключается не в их практической применимости, а в том, что их довольно легко объяснить как учебные пособия - оба имеют математические и биологические аналоги, которые позволяют ученику понять, как они могут работать.
В реальном мире вам обычно нужны надежность и предсказуемость. Проблема с методами обучения заключается в том, что если они учатся «в дикой природе», они могут выучить неправильные модели и быть ненадежными. NN или GA могут потенциально достичь локального максимума, который, как гарантируют, не будет достаточно хорошим, чтобы обеспечить требуемый игровой опыт, например. В других случаях это может оказаться слишком хорошим, найти идеальную стратегию, которая непобедима. Ни один из них не является желательным в большинстве развлекательных продуктов.
Даже если вы тренируетесь в автономном режиме (т. Е. До запуска, а не во время игры), очевидно, что хорошо выглядящий набор данных может скрывать аномалии, которые, найденные игроком, легко использовать. В частности, нейронная сеть обычно развивает набор весов, который довольно непрозрачен для изучения, и решения, которые он принимает, трудно рассуждать. Для дизайнера было бы трудно настроить такую процедуру ИИ для выполнения по желанию.
Но, пожалуй, самая страшная проблема заключается в том, что GA и NN, как правило, не являются лучшими инструментами для любой задачи разработки игр. В то время как хорошие обучающие устройства, любой, кто обладает достаточными знаниями в предметной области, как правило, лучше подготовлен к использованию другого метода для достижения аналогичных результатов. Это может быть что угодно, от других методов ИИ, таких как машины опорных векторов или деревья поведения, до более простых подходов, таких как конечные автоматы, или даже длинной цепочки условных выражений if-then. Эти подходы, как правило, лучше используют знания предметной области разработчика и являются более надежными и предсказуемыми, чем методы обучения.
Однако я слышал, что некоторые разработчики использовали нейронные сети во время разработки, чтобы обучить водителя находить хороший маршрут вокруг ипподрома, и затем этот маршрут можно будет отправить как часть игры. Обратите внимание, что финальная игра не требует никакого кода нейронной сети, даже обученной сети.
Кстати, «стоимость» метода не является проблемой. И NN, и GA могут быть реализованы чрезвычайно дешево, в частности, NN предоставляет возможность предварительного расчета и оптимизации. Проблема действительно в том, чтобы иметь возможность извлечь из них что-то полезное.