Совсем недавно программы Computer Go смогли конкурировать с людьми, используя деревья поиска Монте-Карло:
Программа Монте-Карло (MC) играет в случайные игры и легко оценивает конечную позицию (выигрыш или проигрыш). Программа MC ищет ходы с высоким коэффициентом выигрыша, рассчитанным на основе не менее нескольких сотен случайных игр.
(Это очень упрощенное описание. На практике нужно исследовать интересные ветки с более высоким приоритетом, поэтому случайность должна каким-то образом контролироваться с помощью собранных результатов. разыгрался. Но, надеюсь, это довольно быстро, чтобы играть в случайном порядке…)
Я чувствую, что с помощью этого метода можно было бы «решить» гораздо больше игр, включая, возможно, подавляющее большинство настольных игр…
Два вопроса:
Применялся ли уже метод Монте-Карло к другим играм? (Есть ли конкретные реализации?)
В каких играх, среди тех, которые имеют четко сформулированные правила и не полагаются на сложное общение между игроками, можно ожидать, что этот метод не сработает?
Применялся ли уже метод Монте-Карло к другим играм? (Есть ли конкретные реализации?
Да. Эта дипломная работа может быть вам интересна. Он охватывает нарды, бридж, го, скрэббл и клоббер.
В каких играх, среди тех, которые имеют четко сформулированные правила и не полагаются на сложное общение между игроками, можно ожидать, что этот метод не сработает?
На самом деле методы Монте-Карло не очень хорошо работают с эндшпилями в целом. Вы обнаружите, что многие компьютерные реализации, использующие методы Монте-Карло, используют разные алгоритмы при игре в эндшпиле.
Хотя методы Монте-Карло являются полезным инструментом в настольных играх, они не являются идеальным решением. Компьютерные программы Go, использующие MCTS, по-прежнему не могут обыграть лучших игроков на досках 19x19 без значительных гандикапов. Программы Computer Bridge не подходят для опытных игроков. Методы Монте-Карло подходят только к идеальной игре с бесконечным временем/пространством.
Во-первых, нужно понять разницу между шахматами и го с точки зрения сложности игры. Затем нужно понять разницу между двумя типами алгоритмов ИИ и понять, почему один работает для шахмат, а другой нет.
И шахматы, и го являются идеальными информационными играми без стохастических элементов. Это означает, что вы всегда можете видеть полное состояние игры, и здесь нет шансов или удачи (нет кубиков для броска, нет неудачных карт).
Таким образом, разницу между играми можно свести к количеству возможных ходов за каждый ход (количество решений или выборов) и продолжительности игры. Я пропускаю более формальный анализ размеров дерева поиска, размеров пространства состояний и т. д., чтобы обеспечить более интуитивное понимание различий.
В шахматах среднее количество возможных ходов в типичный момент игры составляет около 30 различных ходов. Типичная игра длится около 40 ходов. В го есть около 250 вариантов на ход, а игра длится около 150 ходов.
Это означает, что оценка возможных ходов в го намного, гораздо дальше в будущее, чем в шахматах.
Однако то, что позволяет человеку играть, заключается в том, что в го все фигуры одинаковы, мы можем ориентироваться на шаблоны, а не на позиции.
Традиционный шахматный ИИ использует то, что называется функцией оценки, которая использует ярлыки (например, присваивает больше очков ферзям, чем пешкам), чтобы оценить доску и сказать, что состояние игры лучше или хуже для одного игрока, чем для другого. В Го очень сложно придумать функцию оценки, так как части одинаковы, а территория не высечена почти до конца игры. Вот почему традиционный подход шахматного ИИ к го потерпел неудачу, большие пространства решений и состояний невозможно сократить, поэтому поиск неэффективен.
Теперь давайте перевернем проблему и посмотрим, почему использование Монте-Карло в шахматах может быть плохой идеей. Поскольку случайная игра не различает «хорошие ходы» и «плохие ходы», подавляющее большинство случайных игр будет исследовать явно плохие игровые деревья. Например, пожертвовать своим ферзем без каких-либо преимуществ или сделать его уязвимым, чтобы противник не использовал его. Мало информации получается путем усреднения результатов отдельных неудачных ходов. Этот тип ИИ будет работать, но потребует гораздо больше вычислений, чем обычный оценочный подход.
Короче говоря, гораздо больше выигрыша/проигрыша становится очевидным при взгляде на фигуры в шахматах, чем в го.
Итак, почему Монте-Карло работает на го (т.е. может побеждать людей)? Это работает, потому что и люди, и компьютеры очень плохо играют в го (по сравнению с теоретической идеальной игрой). Выборка случайной игры Монте-Карло работает, потому что не требуется более высокого уровня понимания паттернов, чем может быть получено эффективным с точки зрения вычислений способом.
Итак, как сравнить другие настольные игры? Давайте зададим себе эти вопросы:
Большинство настольных игр обладают характеристиками, которые делают их гораздо ближе к шахматам, чем го, по первым 3 вопросам. Это наводит на мысль, что ИИ в шахматном стиле будет проще, быстрее и эффективнее.
Поскольку № 4 отличается как для шахмат, так и для го, давайте посмотрим, как он влияет на два алгоритма.
Если бы у нас был фактор случайности, скажем, вытягивание карты из стопки из 60 карт, то каждое решение взять карту будет разветвлять игру на 60 возможных исходов. В зависимости от того, что рисуют другие игроки, их выбор будет меняться, что снова ставит нас в положение выборки, когда многие состояния крайне маловероятны или невозможны (аргумент против Монте-Карло). Между тем, можно легко написать функцию оценки, которая будет присваивать значения каждой карте (в сочетании с состоянием доски).
Я не видел, чтобы метод Монте-Карло применялся к другим ИИ для настольных игр, и выше приведены некоторые из причин, почему. Это также причины, по которым ожидается, что он потерпит неудачу. Когда он терпит неудачу, он может эффектно потерпеть неудачу в том, что он делает тупоумные, очевидные плохие ходы, потому что «случайные» результаты из выборок просто оказались иррациональными далеко за пределы будущих случайных выборов.
Если вы хотите узнать больше, я предлагаю эти сайты:
Хорошо, я провел небольшое исследование. Цитирую эту бумагу :
За последние несколько лет в области компьютерных игр появилось несколько методов, основанных на методе Монте-Карло. Они уже успешно применялись во многих играх, включая POKER (Billings et al., 2002) и SCRABBLE (Sheppard, 2002). Поиск по дереву Монте-Карло (MCTS), метод, основанный на методе Монте-Карло, который был впервые применен в 2006 году, реализован в программах GO с самым высоким рейтингом. Эти программы впервые обыграли профессиональных игроков в ГО на доске 9 × 9. Однако эта техника не является специфической для ГО или классических настольных игр, ее можно легко обобщить на современные настольные или видеоигры. Кроме того, его реализация довольно проста. В предлагаемой демонстрации мы покажем, что MCTS можно эффективно применять к
- классические настольные игры (например, GO)
- современные настольные игры (например, SETTLERS OF CATAN) и
- видеоигры (например, игра SPRING RTS).
Так что, кажется, это уже применялось к некоторым другим играм. И они упоминают явные реализации, но не дают на них ссылок.
Алекс П
пользователь1873
Стефан Хименес
пользователь1873