Как написать искусственный интеллект для шахмат

0
12

Эволюция искусственного интеллекта в шахматах

2) нейросеть жирафа получает на входе закодированную информацию о позиции.
Каждое поле закодировано 0 или 1 если там ферзь, ладья, слон, конь, пешка обоих цветов или взятие на проходе. На выходе для всех возможных ходов в позиции (примерно,грубо говоря, 1000 возможных ходов в шахматах всего) — оценка позиции после этого хода и вероятность того что именно этот ход лучший (это кажется можно посчитать взяв максимум из выданных оценок).

За довольно короткое время искусственный интеллект в решении шахматных задач добился определённого успеха, для наглядности было решено сопоставить прогресс развития человека и искусственного интеллекта в шахматах, наибольшую наглядность дает приблизительный сравнительный график рейтинга Эло.
Из графика можно извлечь следующие выводы: рост рейтинга искусственного интеллекта не прекращается до сих пор; рейтинг человека либо растёт на несколько десятков, либо наблюдается стагнация; наивысшим рейтингом сейчас обладает нейросеть AlphaZero, которая использует в своей основе алгоритмы схожие с интуицией человека, но при этом имеет безошибочность искусственного интеллекта. Таким образом, исходя из сравнения, искусственный интеллект обогнал человека в решении основных шахматных задач и, следовательно, в уровне игры, начиная с 1997 года, когда машина впервые смогла одолеть действующего чемпиона мира, компьютер занял определяющую роль в современных шахматах, если рассматривать их с точки зрения классического варианта. В 2017 году сильнейшим игроком в шахматы стала нейросеть, которая имеет интуицию схожую с человеком и безошибочность искусственного интеллекта.

Что такое и ? В принципе по ним можно найти — аналог оценки позиции, вероятность победы стороны, которой сейчас ход от -1 (100% проигрыш) до +1 (100% выигрыш). И параметр , который определяет вероятность того, что данных ход лучший. Параметр используется потом в алгоритме MCTS, а оценка используется в доигрывании (roollout) которое в общем-то обычно останавливается на каком-то шаге (точно не уточнял).

Интересным здесь является то, что выбранные бездоказательно, на основе опыта выигрышные/проигрышные комбинации могут и не оказаться таковыми в нужный момент времени. Потому что либо в итоге все зависит от контекста, в котором игрок оказывается после «реализации» данной комбинации (как мы помним, комбинация в нашем понимании — это не просто набор фигур, а еще и конкретный результат их «применения»). Т. е. если для данной комбинации были сделаны только определенные N ходов и не было сделано остальных M ходов, то оставшиеся M ходов могут стать решающими и нивелировать все преимущество/disпреимущество, которое было достигнуто за счет первых N ходов.

т.е. если я правильно понял:
1) жираф использует нейросеть и МонтеКарло Три Сеарч
2) нейросеть жирафа получает на входе закодированную информацию о позиции.
Каждое поле закодировано 0 или 1 если там ферзь, ладья, слон, конь, пешка обоих цветов или взятие на проходе. На выходе для всех возможных ходов в позиции (примерно,грубо говоря, 1000 возможных ходов в шахматах всего) — оценка позиции после этого хода и вероятность того что именно этот ход лучший (это кажется можно посчитать взяв максимум из выданных оценок).
3) У жирафа информация на выходе нейросети используется в МонтеКало Три Сеарч для получения «лучшего» хода.

Начиная со второй половины XIX века развитие искусственного интеллекта и компьютерных шахматных машин стало идти большими шагами. Так, например, уже в 1967 году был проведён матч между двумя шахматными программами. В этом году программа, созданная в Институте теоретической и экспериментальной физики (ИТЭФ), обыграла шахматную программу Стэнфордского университета со счётом 3-1 по партиям, по различным оценкам гроссмейстеров программа имела уровень игры, сравнимый с третьим шахматным разрядом (рейтинг Эло 1000-1100). Развитие и появление различных шахматных программ шло полным ходом и вскоре между ними стали проводиться масштабные соревнования. В августе 1974 года в Стокгольме был проведен первый за всю историю Чемпионат мира по шахматам среди компьютерных программ, в котором программа «Каисса», созданная в 1971 году на основе разработок Института теоретической и экспериментальной физики (ИТЭФ), выиграла все четыре партии и стала первым чемпионом мира среди шахматных программ, на чемпионате она обогнала программы «Chess 4», «Chaos» и «Ribbit», набравшие по три очка. Всего в соревновании участвовали 13 различных компьютерных шахматных машин из 8 стран мира. К 1983 году была создана первая шахматная программа, которая могла сравниться по уровню игры с шахматным мастером, называлась она Belle. Джо Кондон и Кен Томпсон разработали первый компьютер, сделанный исключительно для игры в шахматы. Рейтинг Эло у данного компьютера был 2250, что делало эту шахматную машину сильнейшей для своего времени.

В 1994 году в Мюнхене шахматная программа Fritz 3 смогла обыграть тринадцатого чемпиона мира по шахматам Гарри Каспарова в рамках турнирной блиц-партии. Каспаров сыграл второй матч с этой программой, тринадцатый чемпион мира по шахматам завершил игру с четырьмя победами и двумя ничьими.

Valen007 , думаю, сложность даже не в выборе ходов по имеющимся оценкам позиций, к которым они ведут, а в том, каким образом система будет оценивать позиции при условии, что это будет делаться через обучение и какой-либо опыт будет отсутствовать — нет никакого внешнего учителя. Мне кажется, что имеет смысл рассматривать какие-либо комбинации фигур на доске, которые либо ведут к победе, либо ведут к поражению с той или иной вероятностью. С большооооой поправкой, но все же это более менее очевидно для тех комбинаций, которые могут «разрешиться» путем взаимных взятий тем или иным способом. Думаю, что каждый исход разумно рассматривать отдельно в плане вероятности победы/поражения. В случае же статичных связок (две группы взаимно-упершихся друг в друга пешек) это сложно сказать. Поэтому предлагаю в ходе обучения ориентироваться именно по динамичным связкам (в которых фигуры могут ходить), а лучше — по связкам-развязкам (которые могут быть «разрешены» путем взаимного взятия). При этом на некотором этапе обучения могут быть проанализированы и статические связки, и обычные динамические связки (фигуры в которых могут вовсе никак не быть агрессивно связанными друг с другом). Предлагаю рассматривать последние 2 вида связок уже после того, как в течение многих игр собрана информация о связках-развязках. Так будет легче. Итак, мы начинаем со связок-развязок и процентов выигрышей/проигрышей. Изначально очень сложно сказать, какие связки-развязки действительно сильны и ведут к победе (поражению), а какие — нет. И это не только в связи с отсутствием опыта, но также и в связи с тем, что могут быть ходы, которые кардинально меняют ситуацию игры, которые ни разу не были сделаны системой и о которых она не знает. Этакие слепые зоны. Таким образом, думаю, в ходе обучения изначально можно сделать широкий выбор ходов, но со временем сужать его (ε-жадный алгоритм, в котором ε изначально = 1, а с течением времени падает). Думаю, ε даже можно менять периодически. В моменты пика ε на систему как бы будет снисходить вдохновение и, как следствие, нередко — озарение.

ЧИТАТЬ ТАКЖЕ:  Как искусственный интеллект применяется сфере образования

Вариант 2 , NNUE сеть для переборного движка Stockish. Изначально идея была в том, чтобы использовать alpha-beta движок Stockfish, содержащий много полезных переборных эвристик, таких как ходы-киллеры, нулевой ход, продления случайные и т. п. для игры в сёги (японский шахматы). Собственно говоря, переборный движок есть, единственная проблема это оценка позиции. Hisayori Noda решил использовать для оценки позиции нейронную сеть, при этом нашёл интересный вариант, когда в процессе операции «сделать ход» некоторыё веса нейронной сети пересчитываются. Получился сильный движок. Более того, идея вернулась в шахматы и появился Stockfish 12, который использует NNUE и играет примерно на 100 пунктов сильнее прошлой версии.

NNUE принимает позицию в достаточно забавном формате. В сёги очень важна позиция короля, на которого часто идут матовые атаки. Поэтому на вход шахматной NNUE приходит . Первая 64 это число клеток, на которых может располагаться король. А дальше 64 клетки, пять фигур, два цвета + взятие на проходе. На выходу оценка позиции, которая затем используется в Stockfish діижке.

Возникновение первых компьютерных шахматных машин
Первое исследование на тему шахматного программирования сделал американский математик Клод Шеннон в 1950 году, он успешно предусмотрел два основных возможных метода поиска которые можно использовать при игре и назвал их «Тип А» и «Тип B». С появлением компьютеров в середине XIX века начинается история создания первых компьютерных шахматных машин. Мотивом для создания компьютерных шахмат было желание развлечься, создавая программы для компьютерных турниров, но главной целью создания шахматных программ послужило научное исследование, которое позволило бы глубже понять человеческий разум. В 1951 году английский математик Алан Тьюринг написал алгоритм, при помощи которого машина могла бы играть в шахматы, но алгоритм был весьма условный и программа ни разу не проверялась в работе. В том же году Клод Шеннон написал первую статью о шахматном программировании. Шеннон отметил невозможность нахождения лучшего хода на практике, хотя теоретически он существовал.

Вывод: искусственный интеллект в кратчайшие сроки смог обогнать человека в рейтинге, он лучше человеческого ума решает основные шахматные задачи и, следовательно, лучше играет. Превосходство искусственного интеллекта в уровне игры значительно повлияло на развитие шахмат. Всё чаще люди смотрят на аналоговые шахматы, например, шахматы-960, где искусственный интеллект не имеет столь большого перевеса, ведь начальная позиция там случайна и не подлежит расчётам даже при помощи специальных алгоритмов. Искусственный интеллект в решении основных шахматных задач настолько лучше человека, что сейчас даже гроссмейстеры анализируют партии при помощи компьютерных программ, из-за чего исчезла практика откладывания партий. Сложилось мнение, что сейчас большинство партий просчитаны ещё до их начала, из-за чего творческий подход к игре отошёл на второй план. С другой стороны, благодаря искусственному интеллекту шахматы стали в разы доступнее.

64 входа, несколько флагов (ход белых/черных, рокировки, взятия на проходе и тп).
На выходе — оценка позиции (например — +0,35 — у белых перевес 0,35). Отрицательные значения на выходе будут означать перевес черных.
Составить тренировочную базу позиций с помощью например уже имеющихся программ-как Стокфиш. Т.е. иметь к примеру 10 млн позиций с их оценками стокфиша.
И тренировать.

В 1996 году для шахмат произошло знаменательное событие, шахматный компьютер Deep Blue впервые за всю историю смог выиграть партию у чемпиона мира по шахматам (Гарри Каспарова) в турнирных условиях, хотя матч всё равно был выигран Гарри Каспаровым со счётом 4-2. В 1997 году произошёл матч-реванш, в котором суперкомпьютер Deep Blue выиграл у тринадцатого чемпиона мира по шахматам Гарри Каспарова со следующим результатом: 2 победы, 3 ничьи, 1 поражение. Этот год стал поворотным в истории шахмат, искусственный интеллект превзошёл человека в игре в шахматы, в будущем разрыв в уровне игры стал только увеличиваться.

ОСТАВЬТЕ ОТВЕТ

Пожалуйста, введите ваш комментарий!
пожалуйста, введите ваше имя здесь