Magic: The Gathering — невероятно сложная игра. С десятками тысяч уникальных карт на выбор количество возможных колод астрономическое, и количество способов играть в эти колоды также огромно. Из-за этого очень сложно создать хороший ИИ для MtG (как его называют крутые ребята… онлайн), особенно когда люди, которым платят за победу в этих играх, отвлекаются на другие игры, такие как Go и StarCraft. Поэтому, будучи самоуверенным программистом-болваном, я решил создать его!
Почему Магия?
«Мы решили создать Magic AI в этом десятилетии и заняться другими делами не потому, что это легко, а потому, что это сложно».
— Кеннеди? … может быть?
На протяжении многих лет я играл в большое количество разных игр, почти для всех из которых было бы гораздо проще написать ИИ, и они гораздо лучше подходили бы для моих несуществующих навыков написания ИИ. Magic нравится мне, потому что это, вероятно, самая сложная игра, которая сохраняет хоть какую-то популярность (25 лет и больше). Hearthstone — забавная игра с гораздо меньшей базой карт, но она настолько случайна, что я потерял к ней вкус. Доминион был бы довольно простым, поскольку это гонка, и она хорошо подходит для оптимизации. Настольные игры были бы забавными, но редко длятся достаточно долго, чтобы я все еще хотел играть в них к тому времени, когда я «закончу» ИИ.
Почему я?
«Бог послал меня на Землю, чтобы показать людям, как играть в Magic: The Gathering».
— Криштиану Роналду, наверное.
Шансы на успех здесь… низкие по ряду причин:
- У меня нет много времени, чтобы тратить на это. Семья, работа и т.
- Я действительно не знаю, что делаю — я никогда не создавал ИИ, обладаю стандартными математическими навыками на уровне программиста и ничего не знаю о машинном обучении.
- Я не играл в Magic уже много лет, начиная с Revised и заканчивая Ice Age (до того, как теория Магии стала действительно популярной), ненадолго вернулся во время Avacyn Restored и совсем недавно снова начал играть на Арене. Я едва знаком с текущими картами и еще не являюсь приличным игроком.
Однако я неплохо разбираюсь в решении проблем и программировании, быстро учусь и интересуюсь всеми аспектами этого проекта, так что кто знает, что произойдет?
Итак… Начнем!
Начнем с сокращения. ИИ-игрок, как и игрок-человек, в основном должен делать одно и то же снова и снова:
- Когда вам будет предложен выбор, сделайте лучший.
Это так просто. Если вы будете делать это каждый раз, вы почти всегда будете побеждать (например, моя карьера/хвастовство в Warhammer 40,000). Если только ваш противник не сделает то же самое. Или если карты, кости или ГСЧ не работают (например, моя вся карьера X-Wing /cry).
Вау, это было легко!
Не так быстро, придурок! Давайте разобьем это правило на две части и посмотрим, что вы тогда думаете.
«Когда есть выбор»
У человека в голове волшебный шарик слизи. Обычно он подключается к некоторым камерам с фиксированным объективом и всенаправленным микрофонам. После нескольких лет бесполезности и чрезмерных усилий со стороны других людей система начинает работать вместе. В конечном итоге он становится действительно хорошим в распознавании образов. У людей есть причудливый сетевой протокол для общения, который является самоорганизующимся, но с низкой скоростью передачи данных. Память у них разумная, но с большими потерями. Они почти всегда плохо разбираются в математике. Действительно. Они ужасны.
Компьютер сделан из блестящих кусочков песка и металла. Они ужасно придумывают новые идеи. Они действительно хороши в математике и имеют потрясающую память, но, как ни странно, никогда не проявляли никакого интереса к их использованию, кроме как для того, чтобы порадовать медленных, глупых мешков с мясом. Они по глупости полностью полагаются на упомянутые мешки с мясом, чтобы получить какое-либо понимание мира.
Это означает, что выбор исходит от непоследовательных, непредсказуемых людей, которые сделали слишком много карточек со слишком большим количеством правил, а компьютеры их не понимают. Это усложняет наш в остальном элегантный подход. Кроме того, в то время как компьютер рад работать на людей, они ленивы и никогда ничего не сделают, если их не попросить.
Введите смелого, скромного программиста. Это особый тип человека, чей девиантный мозг предпочитает общение с тупыми простыми компьютерами, а не с умными интересными людьми. Эти умные, интересные люди часто платят солидные суммы денег этим бедолагам за то, чтобы они разговаривали за них с их компьютерами. Проведя весь день за разговорами с чужими компьютерами, программисты затем издеваются над умными, интересными людьми, тратя эти деньги на новые компьютеры, которые они возвращаются домой и продолжают разговаривать, не получая за это денег.
Итак, программист (это я, если вы просматриваете. Не лгите. В Medium есть всякие причудливые штуковины, и мы знаем, когда вы пролистываете) должен перечислить (если вы сомневаетесь, что Я программист (обратите внимание, я только что использовал слово «перечислить») выбор для компьютера, чтобы затем он мог сделать легкую часть простого выбора правильного.
В такой игре, как покер, есть несколько вариантов (колл, рейз, фолд). В такой игре, как шахматы, их больше (16 фигур, каждая с примерно 1–10 вариантами). В магии, как правило, такое же количество, как и в шахматах для игры, но неисчислимое (для простых людей) количество вариантов выбора при составлении колоды, что так же важно, как и сама игра. Мы далеко за пределами логики «если-то-иначе», которая так впечатлила вас тем, что вы потратили 6 часов на написание макроса Excel вместо того, чтобы просто заполнить эти 22 ячейки жирным зеленым «ОК».
«сделай лучший»
Итак, программист написал кучу компьютерного жаргона и выдал список из 32 миллионов вариантов. Конечно, этот сексуальный компьютер с его нано-вещами и мега-чем-то может просто отсортировать их по лучшему и вуаля!, лучший из них находится вверху, чтобы мы могли скопировать и вставить его в нашу игру для легкой победы. .
К сожалению, добродетели не существует. Я не шучу, поищите в словаре, там нет. Даже если бы она существовала, компьютеры не сообщают летающей тарелке, что она из себя представляет и что она означает. Если вы скажете ему как лучше, он его запомнит, добавит, проделает с ним всевозможные интересные операции с классно звучащими именами типа modulo, но не придумает его на свой собственный. Даже намека не даст. Неблагодарный кусок хлама.
Хитрость в названии
Так что, если компьютеры не понимают вариантов и не выясняют, какой из них лучше, почему мы спасаем их от этих фабрик, держим их в целости и сохранности и кормим вкусным электричеством? ИИ должен думать, а нам не нужно, верно?
Дурак. Так ошибаться может только человек. ИИ. А.И. Искусственный интеллект.
искусственный
1. созданный человеческим трудом или искусством, а не природой; не натуральный
2. сделанный как имитация или замена чего-то натурального
«сделано человеком», «имитация», «заменитель». Все это мошенничество! Мы тратим все это время на уход за компьютерами и при этом делаем всю работу? И тогда мы получим только имитация?! Кажется, что компьютеры здесь действительно умнее, не так ли? Почему мы позволяем этому случиться?
Два ответа. Математика и память. Люди так плохо разбираются в математике, а наша память настолько несовершенна, что мы целыми днями нажимаем на кнопки и сжигаем динозавров, чтобы сделать электричество, чтобы компьютеры были счастливы, чтобы мы могли позаимствовать их удивительные математические способности и память.
Чувак, о чем ты! Я просто хотел новый чертов деклист. Орзов меня убивает!
Итак, на данный момент я зашел немного далеко в сторону Magic. Но в основном, если мы собираемся продолжать говорить об ИИ, я чувствовал, что важно, чтобы мы все действительно понимали, что это такое. Это просто люди придумывают способы заставить компьютеры помогать им списывать домашнюю работу по математике. Мы жульничаем не потому, что мы плохие ученики, мы жульничаем, потому что правильный путь практически невозможен в таких сложных предметах, как Магия.
Мы собираемся начать с некоторых основных концепций ИИ, исследовать и, надеюсь, протестировать некоторые теории MtG, и если все пойдет хорошо, мы, вероятно, все еще собираемся получить ману и проиграем 8-летнему ребенку, который здесь только потому, что он подумал это была ночь покемонов.
Это будет веселая поездка, и я надеюсь, что вы останетесь.
Я также надеюсь, что вы попали в аплодисменты.
Просто говорю'.
Часть 2 уже доступна!