Как использовать искусственный интеллект в компьютерных шахматах

19

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

Простым примером было бы изучение книги в начале, где можно научить программу использовать или не использовать определенные движения в дебюте, потому что программа не подходит для определенных типов позиций. Мы можем использовать форму обучения с повторным информированием и автоматизировать это: я полагаю, что я мог бы сыграть программу против себя и увеличить вероятность выигрышных линий и уменьшить вероятность проигрышных линий.

Более сложный пример - использование функции оценки обучения (например, можно настроить значения таблиц с квадратными фигурами ). Тем не менее, я думаю:

  • учитывая весь шум из-за огромного количества реалистичных позиций (в отличие от количества реалистичных начальных линий)
  • и со стоимостью (продолжительностью) компьютерной игры в шахматы, и с необходимостью играть грузы.

Как можно сделать это эффективно? (или я должен смотреть на другие методы, например нейронные сети.)

ljgw
источник
3
Стандартный подход - мини-макс. с эвристикой. Это из семейства ИИ Поиска, а не из семейства машинного обучения.
Линдон Уайт
2
Фактические мастера игры в шахматы просто помнят все игры, в которые они играли ранее ... Так что у них сильные воспоминания.
2
Там также встречное требование. Я не могу вспомнить, кто это сказал, но это так. Биологи используют эксперименты на дрозофиле, чтобы получить более глубокое и глубокое понимание физиологии, генетики и так далее. ИИ люди пишут шахматные компьютеры, чтобы лучше и лучше играть в шахматы. Это совсем не учит нас компьютерным наукам; это похоже на то, как биологи разводят сверхбыструю, сверхсильную дрозофилу и заставляют их сражаться друг с другом.
Дэвид Ричерби
Что касается метафоры, то это, пожалуй, нечто большее, чем «дрозофила искусственного интеллекта» в разных аспектах, особенно если учесть, что она не победила главного человека до ~ 1997 года, исследования продолжаются и т. д.
vzn

Ответы:

16

Все пространство состояний для шахмат огромно - его можно приблизительно оценить как 10 43 (число Шеннона (Shannon, 1950) , ( Wikipedia )).

Идея, которую вы представляете - агенты по обучению подкреплению, играющие друг с другом, чтобы изучить игру, - была успешно применена для игры в нарды - TD-Gammon (Tesauro, 1995) ( глава «Обучение подкреплению» Саттона и Барто ). Он также использовал нейронные сети для оценки функции стоимости игры. Эта проблема, однако, намного проще, так как количество состояний в нардах значительно меньше, чем в шахматах, а именно: 18 528 584 051 601 162 496 (ветка архива форума по нардам ).

Однако, если вы закончите игру после нескольких начальных ходов и будете стремиться только к тому, чтобы выучить «хорошие дебюты», вы сможете добиться успеха с помощью аналогичного подхода. Основная проблема будет заключаться в оценке игры после вступительной игры, которая кажется сложной. Недостаточно лишь меры сходства с установленными позициями после хорошо известных открытий, потому что позиция может быть далека от них, если противник сделает глупый ход (так что это не будет из-за ошибки обучающего агента, поэтому позиция даже если «неправильная» «следует оценивать как хороший результат).

Ссылки:

BartoszKP
источник
1
Сложнее всего придумать эмпирический способ оценить результат дебютов. Разные отверстия хороши по-разному, поэтому, вероятно, существует множество приемлемых отверстий.
JDong
3

Я почти уверен, что любой возможный (или странный) метод ИИ или МЛ в учебниках был опробован и в значительной степени провалился по сравнению с простой грубой силой.

Моя личная точка зрения заключается в том, что шахматы сами по себе больше не интересны для современного ИИ ... Просто потому, что они решаются : просто с помощью современного компьютера и грубой силы. Поэтому я не чувствую необходимости создавать «интеллектуальную» систему для более эффективного ее решения (она прекрасно работает на моем мобильном телефоне), и я считаю, что даже не нужно каких-то неизвестных и более «разумный» подход к существованию.

iliasfl
источник
1
Я не уверен, почему за это проголосовали. Аргумент о том, что шахматы «решены», немного неточен, поскольку ни один компьютер не может посмотреть на любую возможную позицию и оценить ее идеально. Тем не менее, iliasfl замечает, что шахматы потеряли большую часть своей привлекательности для исследований ИИ. С одной стороны, лучшие компьютерные шахматные программы сейчас намного сильнее, чем лучшие люди, учитывая достаточную вычислительную мощность и время. Это усложняет программистам даже оценку того, насколько хорошо работает алгоритм.
Эликсинид
1
Спасибо, я сказал, решил в том смысле, что грубая сила является решением. Конечно, сообщество ИИ (в общем, не только здесь) не в восторге от этого «решения». Тем не менее, у нас уже есть вычислительная система, которая демонстрирует «интеллектуальное» поведение для решения этой задачи и даже побеждает лучших людей. Лично я считаю, что шахматы будут неуместны для ИИ через несколько лет, когда нынешняя масса ученых, которые потратили карьеру на атаку, уйдет на пенсию.
Я бы не назвал текущие реализации компьютерных шахмат «решенными с помощью грубой силы» - они все еще ищут огромное количество игровых состояний, но там есть много компонентов не грубой силы. Конечно, они не являются «человеческим» решением, которое бы хорошо обобщало другие проблемы, но я не удивлюсь, если бы у нас был «человеческий» шахматный ИИ, то это было бы на несколько порядков меньше эффективнее, чем текущие специализированные решения, что делает его просто хуже.
Петерис
Я думаю, что этот ответ и его комментарии были довольно явно опровергнуты AlphaZero от Google: en.wikipedia.org/wiki/AlphaZero Даже если вы принимаете критику по поводу установки для Stockfish, и они провели все матчи, система, которая достигла этого уровня с несколькими часами тренировок явно превосходят.
Камаль
2

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

Шахматы полностью наблюдаемы (в отличие, например, от нарда, монополии или покера). Они также являются детерминированными (как, например, шашки и го). Наконец, существуют противники, и поэтому при определении следующего лучшего хода полезно использовать тип поиска в состязании. алгоритмы, такие как MiniMax. Классификация проблемы может помочь нам определить, какой алгоритм поиска мы хотели бы применить. А в случае шахмат Adversarial Search подойдет.

Минимакс в частности имеет

О(бN)

О(бм)

Таким образом, в случае шахмат b будет 35, а m будет 100. Есть способы обойти это или стратегии сделать его более эффективным, например, отсечение альфа-бета.

Iancovici
источник
В этом контексте также стоит отметить, что конечные игры для шахмат, содержащие до нескольких фигур, уже сведены в таблицу - дальнейшая оптимизация.
BartoszKP
Это нормальный подход, но не подход машинного обучения. В вопросе используется тег машинного обучения.
Линдон Уайт
@Oxinabox, хотя это было правдой, аскер не упомянул в названии или теле, где он заинтересован в подходе машинного обучения, только в конце, где он поделился одним примером подхода, который он имел в виду. Нет необходимости ограничивать проблему машинным обучением или единым алгоритмом обучения (NN).
Янцовичи
Действительно, это хорошо
Линдон Уайт
если быть точным, то шахматы не являются полностью наблюдаемыми, поскольку, учитывая, что мы не знаем, например, положение, когда король или ладья уже перемещены или нет, хотя это важно для генерации хода (есть ли возможность рокировки?), но программист может сделать его полностью наблюдаемым, изменив представление положения, различая неподвижный король / ладью и перемещенного короля / ладью в виде разных фигур, хотя это добавляет некоторые трудности.