У меня есть небольшая кучка конкурирующих игр в слова, и хотя я предпочитаю (в основном асинхронную) игру против других оппонентов, я бы хотел предоставить игрокам возможность играть против ИИ. У меня есть свой словарь, и я легко могу дать ИИ полное знание словаря во время игры, но меня беспокоит то, что наличие у ИИ регулярного воспроизведения слов, с которыми они не знакомы, будет разочаровывающим опытом для игроков: «Я бы выиграл эту игру если бы он просто использовал слова, которые я знаю! - даже если общий уровень мастерства ИИ понижен.
Я бы предпочел создать более слабый ИИ с помощью комбинации (не) настроенных параметров воспроизведения и более слабого словарного запаса - но я не уверен, как ограничить этот словарь «общими» словами. Я посмотрел на несколько списков частот слов (например, список всех слов, которые появляются в книгах по проекту Гутенберга, отсортированные по количеству случаев), но у всех них есть несколько ложных отрицаний: слова, которые все знают, что просто не t появляется с любой реальной частотой (например, CHEETAH появляется реже в текстах PG, чем VOCATIVE или SUTTEE). Я пытался использовать результаты поиска, чтобы получить оценки популярности слова, но они также склонны к ложным ошибочным оценкам, и, конечно, это так ».
Есть ли у кого-нибудь предложения о других хороших способах определения грубой частоты использования слов или других способах ограничения ИИ в играх, которые будут естественными для игроков?
Ответы:
Я думаю, что ваше решение по-прежнему состоит в том, чтобы пойти с некоторым списком частот слов. Project Gutenberg может быть не для вас, поскольку он содержит в основном старые тексты, срок действия авторских прав которых истек, что дает странные частоты для современных носителей английского языка. Я предполагаю, что было время, когда слово «прилагательное» было более употребительным словом, чем «гепард» ...
Поэтому я думаю, что решение состоит в том, чтобы найти правильное список частот. Из-за небольшого поиска я наткнулся на 5000 наиболее часто используемых слов во всех эпизодах Симпсонов, что может быть немного более актуальным. Возможно, вы захотите сопоставить этот список с реальным словарем, хотя для сортировки таких слов, как, например, «krabappel» :)
Надеюсь, это поможет, я рад услышать, какое решение вы идете!
источник
Толпа источник это. Используйте все многопользовательские игры, в которые играют ваши игроки, для составления таблицы частотности слов. Я думаю, что любая аналитическая служба могла бы помочь собрать и упорядочить эти данные. Вы можете даже взвесить записи по тому, насколько «хорош» игрок, использующий слово.
источник
Начните с базового словарного запаса в соответствии с вашим уровнем AI. Например, пусть ниже ваш список уровней ИИ.
Вы можете выбрать эти слова из следующих веб-сайтов, которые вы можете увидеть с помощью поиска Google .
Эти сайты дадут вам стартовые слова, но я думаю, что Google N-граммы могут быть лучшим выбором. В любом случае, не беспокойтесь о ваших начальных словах, так как механизм обновления / добавления, описанный ниже, ваш словарь ИИ должен выровнять в соответствии с вашими игроками.
поскольку ваши игроки учатся, играя в эту игру, ваш ИИ тоже должен учиться. Позвольте этому выучить наиболее употребляемые слова их противниками.
Например, 10 человек играли против вашего базового ИИ, они использовали 100 неизвестных слов, то есть слов, которых нет в вашем словаре ИИ. Выберите наиболее часто используемые слова и добавьте их в свой базовый словарь искусственного интеллекта, а также в свой средний и сложный словарь. Вы также должны обновить некоторые слова, которые не используются в вашем словаре, словами, которые используют люди. Таким образом, ваш стартовый словарь будет более подходящим для ваших знаний игроков. Вы можете начать с меньшего количества слов / группы разных слов, но ваш ИИ будет учиться, пока они играют против людей.
Вы также можете рассмотреть возможность начать свой AI с базового уровня и повысить его до других уровней, только когда он выучил достаточно слов.
источник