выучил представление в стиле w2v

Учитывая 2 объекта, A и B, что делает их похожими? Ответов может быть много, но один из самых элегантных ответов основан на подстановке:

A и B похожи, если в большинстве случаев использования A вы можете заменить его на B, и вы не заметите большой разницы.

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

Clash Royal

Clash Royal - это игра о нападении на башню, смешанная с покемонами: из примерно 100 карт вы выбираете 8 карт, чтобы сформировать колоду; Затем во время игры вы вызываете карту на арену, которая бездумно марширует к башням врага и начинает их атаковать. Сегодня аспект нападения на башню не важен, но аспект покемона важен. Как и в случае с покемонами, вам нужна колода из 8 карт, которые образуют сильный состав, способный учитывать различные обстоятельства, сохраняя при этом общую тему.

Честно говоря, это довольно крутая игра, я называю ее «Дота в туалете», и иногда я очень долго уделяю ей внимание. . nvm.

Подмена карт как игра в угадывание

Что означает совпадение карты A и карты B в Clash Royal? Что ж, учитывая частичную колоду из 7 карт, если вы можете одинаково хорошо дополнить ее картой A или картой B, они должны быть похожи по своей природе, выполнять аналогичную роль: может быть, они обе крепкие, может быть, они обе быстрые. условия победы или ранжированные саппорты. Дело в том, что вместо того, чтобы определять эти роли, мы просто собираемся изучить их с помощью тонны dAtA и mAcHiNeLeArNiNg.

Чтобы реализовать концепцию замещения, мы собираемся превратить ее в небольшую игру. Во-первых, я собираюсь выбрать конкурентоспособную королевскую колоду в столкновении; Затем я открою вам 7 карт из 8; Затем вы должны угадать секретную личность 8-й карты на основе 7 карт, уже открытых вам. Если вы играли в игру достаточно долго (или видели достаточно колод, в случае MaChInELeArNiNg), вы можете довольно хорошо догадаться, что это за 8-я карта. Однако вам все равно нужно будет угадывать, и есть вероятность, что у вас будет несколько кандидатов, которые имеют такой же смысл, как 8-я карта. Таким образом, эти несколько кандидатов можно поменять местами, и в соответствии с этим определением они наиболее похожи с точки зрения ролей и функций.

Архитектура сети для вас:

Применение подобия карт

Теперь о приложении. Самое полезное приложение - это исправление текущей проблемы с черновиками. В Clash Royal есть режим, известный как драфтовое испытание, где вам дается 4 пары карт, в котором вы должны выбрать 4 карты для себя, а оставшиеся 4 отдаются вашим оппонентам. Это очень увлекательный режим, который требует от вас быстрого мышления на месте, чтобы сформировать сильный состав. Основная претензия к этому режиму заключается в том, что пары карт часто сильно различаются, и выбор становится очень смехотворным: следует ли мне выбрать рыцаря, наземный отряд вместо лавового пса, летающее условие победы?

Узнав подобие карт, мы можем решить эту проблему, объединяя похожие карты в разумные пары. Вот пример, которым я очень горжусь:

Неудачные попытки

На самом деле существует довольно много неудачных попыток изучить сходство карт. Попытка предсказать оставшиеся карты по одной карте, попытка построить генеративную модель для действительных колод не удалось изучить правильные представления встраивания. Эту проблему можно резюмировать как проблему принцессы-бочки: в Clash Royal существует популярный архетип колоды, известный как «колода наживки», в которой почти всегда используются карта «принцесса» и карта «(гоблин) -бочка». соединение. В результате принцесса и бочка оказались очень похожими, за исключением того, что это очень разные карты. Аналогичная проблема существует и в традиционном встраивании w2v, то есть в проблеме «мистер Дэвид», где слово «давид» больше всего похоже на слово «мистер» вместо «боб», а другие мужские имена из-за «мистера Дэвида» существуют как пара чрезмерно в корпусе. Представив проблему как задачу угадывания карт 7 к 1, я обошел этот недостаток, потому что теперь вы действительно не можете заменить принцессу бочки. Как видите, в последнем изученном встраивании принцесса находится рядом с волшебником и маленьким драконом, а не рядом с бочкой гоблина.

Несмотря на то, что генеративная модель для колод не справилась с созданием правильного вложения карт, она может создавать полуразумные колоды:

[RGhost, E Wiz, Valk, Fireball, The Log, Tornado, Wizard, Hog Rider]

[Торнадо, Стрелы, Дракончик, Палач, Рыцарь, Боров, Валк, Ледяной Дух]

В целом он довольно хорош в изучении дополнительных карточек, таких как объединение торнадо с палачом и детенышем дракона, но он плохо справляется с общей «темой», такой как «приманка» или «избиение». Этого следовало ожидать, поскольку концепции высокого уровня традиционно были трудными для подходов к изучению шаблонов.

Весь код - [здесь], посмотрите и оставьте звездочку, если хотите: D. Предупреждаем, что это код качества исследования (он же недокументированный).

Заключение

В заключение, w2v и семантика распределения - мощная концепция, основанная на подстановке. И это очень сильно проявляется в Clash Royal. Я также сделал аналогичный проект с героями Dota 2, и он будет применим в других играх на основе линейки, таких как Pokemon, Magic, HearthStone. . .

Если вы зашли так далеко, Дай пять!

Я подумывал . . . что, возможно, вам стоит подписаться на мой твиттер: https://twitter.com/evanthebouncy, где я буду анонсировать будущие сообщения в блоге, подобные этой. Моя твиттер-игра настолько слабая, что всего 21 подписчик LOL.