В некоторых (исторических) работах шахматы называют дрозофилой искусственного интеллекта. Хотя я полагаю, что в современных исследованиях простое применение алгоритма поиска в лучшем случае является передовой информатикой , я считаю, что есть еще области, где можно применять (и практиковать) искусственные интеллекты.
Простым примером было бы изучение книги в начале, где можно научить программу использовать или не использовать определенные движения в дебюте, потому что программа не подходит для определенных типов позиций. Мы можем использовать форму обучения с повторным информированием и автоматизировать это: я полагаю, что я мог бы сыграть программу против себя и увеличить вероятность выигрышных линий и уменьшить вероятность проигрышных линий.
Более сложный пример - использование функции оценки обучения (например, можно настроить значения таблиц с квадратными фигурами ). Тем не менее, я думаю:
- учитывая весь шум из-за огромного количества реалистичных позиций (в отличие от количества реалистичных начальных линий)
- и со стоимостью (продолжительностью) компьютерной игры в шахматы, и с необходимостью играть грузы.
Как можно сделать это эффективно? (или я должен смотреть на другие методы, например нейронные сети.)
Ответы:
Все пространство состояний для шахмат огромно - его можно приблизительно оценить как 10 43 (число Шеннона (Shannon, 1950) , ( Wikipedia )).
Идея, которую вы представляете - агенты по обучению подкреплению, играющие друг с другом, чтобы изучить игру, - была успешно применена для игры в нарды - TD-Gammon (Tesauro, 1995) ( глава «Обучение подкреплению» Саттона и Барто ). Он также использовал нейронные сети для оценки функции стоимости игры. Эта проблема, однако, намного проще, так как количество состояний в нардах значительно меньше, чем в шахматах, а именно: 18 528 584 051 601 162 496 (ветка архива форума по нардам ).
Однако, если вы закончите игру после нескольких начальных ходов и будете стремиться только к тому, чтобы выучить «хорошие дебюты», вы сможете добиться успеха с помощью аналогичного подхода. Основная проблема будет заключаться в оценке игры после вступительной игры, которая кажется сложной. Недостаточно лишь меры сходства с установленными позициями после хорошо известных открытий, потому что позиция может быть далека от них, если противник сделает глупый ход (так что это не будет из-за ошибки обучающего агента, поэтому позиция даже если «неправильная» «следует оценивать как хороший результат).
Ссылки:
Шеннон, Клод Э. «Программирование компьютера для игры в шахматы». В философском журнале, 7-й серии, 41, нет. 314 (март 1950 г.): 256-75.
Джеральд Тесавро. 1995. Разница во времени обучения и TD-Gammon. Commun. ACM 38, 3 (март 1995 г.), 58-68
источник
Я почти уверен, что любой возможный (или странный) метод ИИ или МЛ в учебниках был опробован и в значительной степени провалился по сравнению с простой грубой силой.
Моя личная точка зрения заключается в том, что шахматы сами по себе больше не интересны для современного ИИ ... Просто потому, что они решаются : просто с помощью современного компьютера и грубой силы. Поэтому я не чувствую необходимости создавать «интеллектуальную» систему для более эффективного ее решения (она прекрасно работает на моем мобильном телефоне), и я считаю, что даже не нужно каких-то неизвестных и более «разумный» подход к существованию.
источник
Я думаю, что стоит отметить, что для того, чтобы определить, как решить проблему ИИ, вы должны определить ее. Является ли оно полностью наблюдаемым или частично наблюдаемым , и является ли оно детерминированным или стохастическим / случайным .
Шахматы полностью наблюдаемы (в отличие, например, от нарда, монополии или покера). Они также являются детерминированными (как, например, шашки и го). Наконец, существуют противники, и поэтому при определении следующего лучшего хода полезно использовать тип поиска в состязании. алгоритмы, такие как MiniMax. Классификация проблемы может помочь нам определить, какой алгоритм поиска мы хотели бы применить. А в случае шахмат Adversarial Search подойдет.
Минимакс в частности имеет
Таким образом, в случае шахмат b будет 35, а m будет 100. Есть способы обойти это или стратегии сделать его более эффективным, например, отсечение альфа-бета.
источник