Искусственный интеллект с помощью объективного кода: чтобы он работал, нужно сделать 3 вещи

Я знаю, что ИИ должен делать 3 вещи: 1. Собирать данные. 2. Обработка данных. 3.Предсказать данные NextData, которые будут собраны.

Я считаю, что я должен использовать базу данных для сбора всех данных.

В такой игре, как (Tic Tac Toe, Chess, ... и т. Д.) На устройстве iOS, я заставляю его играть против него в течение 30 секунд или около того и учиться на своих ошибках, но в такой игре, как Prince of Persia, Убийцы, я бы изучал (у) навыки игрока (начиная с первых 3 минут игры, где будут проверяться навыки игрока), а затем адаптировал игру к навыкам игрока, так что если игрок является хорошим дамбой, игра доставит массу удовольствия, но если игрок новичок, я дам еще немного разведки и легко убить "злых солдат".

"Наконец-то возникает вопрос" 1. Является ли этот подход действительным? Или есть лучший?

2 ответа

Решение

Я действительно думаю, что это то, что вы, как разработчик, хотите. Если вы хотите получить непревзойденный искусственный интеллект, ваш подход будет отличаться от того, чтобы получить максимум удовольствия от игры.

Адаптация навыка ai в зависимости от того, насколько хорошо игрок играет. Я бы не сказал, что это "искусственный интеллект" - это больше способ кодировать его для наибольшего удовольствия для игрока.

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

Отказ от ответственности: я потратил более 2 лет на работу над Prince of Persia и Assassin's Creed, мне не разрешено по закону рассказывать вам, как создаются эти игры, но я постараюсь дать вам общие знания об игровом ИИ. Большинство игр не используют обучение, как вы описали.

Во-первых, выбранный вами язык или платформа (или устройство) не имеют ничего общего с artificial intelligence инструменты, которые вы будете использовать.

Во-вторых, ваши первые два примера, крестики-нолики и шахматы turn-based игры, это совершенно другое, чем real-time игра. Кроме того, обе эти игры работают на ограниченной доске с несколько ограниченным search space, Эти игры можно было бы решить гораздо проще, используя другие алгоритмы, чем обучение (например, минимакс).

В случае real-time приключенческая игра в трехмерном пространстве, как те, которые вы описали, просто найти context или же input Вы будете кормить свою систему обучения, будет трудно... какие элементы имеют отношение к принятию решения: недавние звуковые стимулы, визуальные стимулы, относительность этих стимулов в пространстве и времени, окружающие враги или союзники и т. д.... Затем, учитывая сложность этого мира и что NPC S разрешено делать, как вы определяете output вашего алгоритма обучения? Как этот вывод остается связным по последующим запросам?

Имейте в виду, что любые изменения, которые вы вносите в игровой дизайн, потребуют перезапуска процесса обучения и, возможно, определения input а также output,

Вам лучше идти по стандартному маршруту, используйте хорошо известные методы, такие как finite state machines, fuzzy state machines, behavior trees, planning и т. д. Вы будете лучше контролировать процесс принятия решений и сможете сами NPC поведения, которые вы не смогли бы сделать с обучением.

Другие вопросы по тегам