Эволюционные алгоритмы

Специалист в компьютерных науках Джозеф Браун о вычислительном интеллекте, генерации контента в компьютерных играх и симуляции эволюции:

"Процедурная генерация контента в играх — это процесс автоматического создания различных ресурсов. Таким образом можно создавать повествование или сюжет игры или более простые объекты, такие как деревья. Или какие-нибудь элементы игрового процесса. Например, какие будут уровни. Этим я в основном и занимаюсь: как создать уровень, который отвечает некоторым ожиданиям игрока и некоторым ожиданиям в контексте повествования. Я использую много приемов из области, которая называется вычислительный интеллект. А вычислительный интеллект применяет биоинспирированные методы для решения сложных задач оптимизации.В основном я занимаюсь так называемыми генетическими алгоритмами. В них с помощью принципов естественного отбора, озвученных Дарвином, мы берем различные структуры, помещаем их вместе и проводим над ними оптимизацию."

"Говоря простым языком, есть некая функция, для которой нужно найти подходящее значение. Эта функция может не быть в строгом смысле математической функцией. Могут быть некоторые критерии, которым она должна отвечать. И каждый результат можно будет оценить по этим критериям каким-то объективным способом. То есть я могу оценить качество уровня с помощью какой-нибудь исчислимой величины."

"Это может быть уровень интереса игроков. Может, это критерий количества врагов, которых нужно победить, чтобы добраться до босса. Может, игроку нужен определенный предмет, чтобы пройти в следующую зону. То есть это необязательно очень точные математические функции. Но к ним можно выставить определенное значение приспособленности. А поскольку я могу выставить значение приспособленности для всех этих узлов, существ или хромосом, я могу объективно сказать, что одно из них лучше другого. Это позволяет мне решить, какие из них я хочу перенести в следующее поколение. Для этого я просматриваю свою популяцию и отдаю приоритет тем, у которых приспособленность лучше, чем у других. Затем их можно как-то рекомбинировать. Например, если у нас уровень состоит из комнат, то их можно как-то иначе между собой составить."

Комментарии
Комментарии