Изучение правил шахмат


11

Аналогичный вопрос спрашивает , может ли компьютер научиться играть оптимально в шахматах, анализируя тысячи игр.

Если машина может посмотреть на состояние доски в течение нескольких игр в шахматы (или нескольких игр в шашки) в начале и после каждого хода, можно ли запрограммировать ее на изучение правил игры?

Если это возможно, то в какой степени (например, сможет ли он учитывать рокировку или продвижение по службе) это сработает? Какие алгоритмы машинного обучения сделали бы это возможным?


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

@deceze Ну, ты не совсем прав. Изучая правила, вы можете быть в состоянии сделать ход с учетом макета, который никогда не случался с программой раньше. В противном случае это не изучение правил, а запоминание ходов.

2
@ Макс. Может ли компьютер правильно делать ходы, которых он никогда не видел? Скажем, он видел, как рыцарь двинулся вперёд и один в сторону много раз, но никогда не двинулся назад, один в сторону. Как он мог с уверенностью сказать, каковы правила движения рыцарей? Может быть, в правилах есть специальный пункт, в котором говорится, что рыцари не могут двигаться назад, только вперед (как пешки). Следовательно, выведение правил с уверенностью кажется невозможным. Это в значительной степени касается и людей.
deceze

8
@Max На самом деле может существовать бесконечное количество правил, которые компьютер не может вывести . On the 8th turn the knight may not turn right. On a sunny day the pawns may jump over bishops.Компьютер не может сказать, почему эта пешка не двигалась в определенный поворот. Возможно, было какое-то правило, запрещающее движение в этих конкретных обстоятельствах. Следовательно, компьютер должен иметь возможность воспроизводить только аналогичные (на самом деле, точные) шаблоны, но никогда не сможет выводить правила со 100% достоверностью.
deceze

@deceze Да, может, если вы как-то показали это правило. Точно так же, как вам нужно научить человека правилам (например, дать ему распечатку правил для чтения), вам нужно каким-то образом предоставить эти правила машине. Самый простой способ - воспроизвести ВСЕ правила в некотором количестве игр для машинного обучения. То же самое относится и к людям - человек не узнает этого, On a sunny day the pawns may jump over bishops.если ты никогда не показывал это ему.

Ответы:


10

Если машина может посмотреть на состояние доски в течение нескольких игр в шахматы (или нескольких игр в шашки) в начале и после каждого хода, можно ли запрограммировать ее на изучение правил игры?

Конечно, не для нескольких игр в шахматы; вам нужно проанализировать невероятно большое их количество, чтобы не допустить неправильных ходов. Как много, я не знаю; Эта проблема относится к области теории вычислительного обучения, обучения PAC и проблемы обучаемости в пределе .

Алгоритмы классификации, предложенные другими авторами, могут быть способны различать правила шахмат: при двух настройках доски они могут ответить «да» или «нет» на вопрос о том, превращает ли действительный ход одно в другое. С некоторыми усилиями они также могут быть использованы для создания ходов. Однако затем они будут либо генерировать только ходы, которые они видели в играх, в которых они были обучены, либо генерировать комбинацию действительных и недействительных ходов, каждый из которых будет иметь оценку, указывающую, насколько вероятным они считают рассматриваемый ход, с недействительными правилами. надеюсь получить очень малые вероятности.

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

Для методов, которые могут изучить правила, проверьте индуктивное логическое программирование и генетическое программирование . Я не уверен, пытался ли кто-нибудь когда-либо применять их для изучения шахмат; поскольку правила игры в шахматы фиксированы, гораздо интереснее (даже для академических кругов) создавать хорошие программы игры в шахматы, а не те, которые должны изучать основные правила с нуля.


4

Правила игры в шахматы довольно сложны, а некоторые очень редко выполняются в игре.

Например, правило en passant . Сколько игр вам нужно будет наблюдать, чтобы сделать вывод, что разрешен только первый ход после шага вперед на два шага?

Другой пример. B-квадрат может быть атакован в длинной рокировке. Сколько игр вы видите, где это происходит?

Другими словами, вам нужно много, много, много игр, чтобы правильно вывести все правила.

Но, возможно, Google найдет уголок своего облака для полного архива шахматных игр «в ближайшее время» ...


«B-квадрат может быть атакован в длинной рокировке», что это за ход? Можете ли вы объяснить это или связать это для меня?
CaffGeek

@chad, также называемый рокировкой на ферзевом фланге - используется обозначение «0-0-0». Это только три поля, к которым «прикосновения» королей могут не подвергаться нападению.

2
Кроме того, d-квадрат не может быть атакован при рокировке на ферзевом фланге (или f-квадрат при рокировке на королевском фланге) ; Вы также не можете замок после перемещения вашего короля. Как вы должны знать , что что - то не может быть сделано, наблюдая игры , где это не было сделано? Как упоминает Ларс, компьютер может назначать вероятности того, что ход действителен, но установление этого конкретного правила путем наблюдения за играми граничит с невозможным.
BlueRaja - Дэнни Пфлюгофт

Кроме того, были игры, даже от гроссмейстеров в условиях турнира, где правила были нарушены , и ни один из игроков не заметил! Согласно правилам турнира, если ни один из игроков не заметит в течение 10 ходов, игра считается действительной и продолжается. (Я очень хорошо помню игру, в которой гроссмейстер переместил своего короля, затем переместил его обратно, а затем замкнул. Однако сейчас я не могу его найти)
BlueRaja - Дэнни Пфлугхофт

1
Мимоходом достаточно редко , но есть некоторые вынужденные правила ничьих, которые FAR более редкие. Я играю в течение 40 лет, и я никогда не видел игру, в которой вы могли бы получить принудительную ничью из 50 ходов без пешек и без захватов. Я думаю, что есть еще одно такое правило, которое я даже не помню. На практике игроки собираются согласиться на ничью до того, как их призовут. (Они существуют, чтобы гарантировать, что вы не можете «выиграть» ничью, перетаскивая ее до тех пор, пока ваш оппонент не уйдет.)
Loren Pechtel

2

Да и нет

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

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

Думаю, это зависит от того, считаешь ли ты использование ссылочной базы данных мошенничеством или нет :) Кроме того, трудно понять, действительно ли ты можешь отделить знание множества игр от умения делать это. Люди, которые хороши в шахматах, хороши именно потому, что они видели очень много игр, на которые ссылается та часть мозга, которая, как известно, распознает лица. Из этого отзыва кажется, что шахматисты способны выработать «интуицию» силы позиции.


лучшие гроссмейстеры запоминают обширные вводные книги, и это не считается обманом. И в любом случае, все время случается так, что то, что когда-то считалось хорошим начальным вариантом, разрушается новой идеей. Таким образом, «читерство» при игре с книгами может даже не быть оптимальным способом игры на компьютере.
Кевин

2

Как отмечалось во многих комментариях, это почти философский вопрос, обсуждающий определение «учиться». Большинство программ искусственного интеллекта основаны на определении рациональных решений. При наличии достаточного количества данных обучающая шахматная программа определит список ходов, которые целесообразно сделать в определенных ситуациях. Это не значит, что он знает правила игры в шахматы, он просто понимает, какие ходы полезны, а какие нет. Даже если набор данных включает игроков, делающих незаконные ходы, незаконный ход вызовет мгновенную потерю, поэтому Ай проигнорирует его и никогда не будет использовать этот ход, потому что он никогда не приносит выгоды.

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


2

Если вы думаете о правилах шахмат как о физическом движке игры и о законах физики как о постоянных и несгибаемых общепринятых правилах вселенной, подумайте о том, как мало реальных «законов» существует в нашей естественной вселенной. Очень сложно, если не невозможно, сделать жесткое и быстрое ПРАВИЛО, но мы можем сделать ряд проверенных и принятых теорий на конкретный момент времени.

МОЖЕТ быть возможным при условии, что компьютер наблюдает и регистрирует перемещения, но НЕ делает утверждений о допустимых перемещениях напрямую.

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

В конце концов, после стольких ходов у вас будет набор надежных теорий, но это будет живой набор данных, постоянно приближающийся к 0, но никогда не достигший его.

Таким образом, ответ заключается в том, что компьютер может сделать правильное предположение, но он (EDIT: NOT) точно знает правила.


1

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

Узнайте больше об этом:


2
Этот «ответ» - просто набор ссылок из Википедии, две из которых описывают одну и ту же концепцию, одна из которых чрезвычайно широка, а другая не имеет никакого отношения к рассматриваемой проблеме. Пожалуйста, покажите, как карта Кохонена будет использоваться для эффективного изучения правил шахмат.
Фред Фу

1
ANN и NN совсем не похожи на сложность реального нейрона / человеческого мозга, ANN в лучшем случае является отвратительным грубым приближением.
Темная ночь

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

Нейронные сети могут только узнать, что они обучены делать. В шахматах есть некоторые правила, которые очень редко применяются, но являются частью игры. Будет ли законным продвигаться в епископа? Будет ли законным продвигаться в короля?

2
Ха ... повышение до короля делает мат немного сложнее!
Кевин

1

Я думаю, что он может узнать ходы, которые ему разрешено делать, просто анализируя, но как он узнает ходы, которые ему не разрешено делать? Например, пешка никогда не движется вперед на одну клетку, когда перед ней фигура противника. Как компьютер узнает, это по выбору игрока или ему не разрешено это делать? Вы можете придумать алгоритм, который говорит, что если в 99,99% случаев или больше событие не происходит, то это означает, что вам не разрешено это делать, но также может быть, что 99,99% времени считается плохой ход, но это 0,01% времени это ход, который выигрывает игру. Итак, мой ответ - нет, он не может выучить все правила, просто анализируя игры, но, вероятно, может научиться достаточно, чтобы играть в игру.


1

Это философский вопрос. Вы также можете спросить, может ли человек научиться играть в шахматы исключительно, наблюдая за людьми, когда они играют в шахматы. На самом деле это в основном тот же самый вопрос, который задает Нельсон Гудман в своей великой книге « Факт, вымысел и прогноз» : как мы можем перейти от конечного набора уже сделанных наблюдений к предсказанию будущих наблюдений. Уже сделанные наблюдения будут шахматными ходами, а будущие наблюдения будут шахматными ходами, которые еще не произошли. Вопрос в том, существует ли номологическая связь между прошлыми наблюдениями и будущими наблюдениями (в отличие от чисто причинной связи между прошлыми событиями и будущими событиями)?

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

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

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

Кстати: решение Витгенштейна этой проблемы очень похоже на решение Гудмана. Я не испорчу сюрприз, хотя;-)

Приложение:

В дни, когда Суссман был новичком, Минский однажды пришел к нему, когда сидел, взламывая PDP-6.

«Что ты делаешь?» - спросил Минский. «Я тренирую случайно подключенную нейронную сеть, чтобы играть в крестики-нолики», - ответил Сассман. «Почему сеть подключена случайно?» - спросил Минский. «Я не хочу, чтобы у него были какие-то предубеждения о том, как играть», - сказал Сассман.

Затем Минский закрыл глаза. "Почему ты закрываешь глаза?" Суссман спросил своего учителя. «Так что в комнате будет пусто». В тот момент Суссман был просветленным.


-4

нет

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

Это требует планирования и стратегии, которая очень отличается от простого изучения шаблонов набора.


1
Вы на самом деле этого не знаете; кроме того, вопрос заключается в том, возможно ли (для компьютера, но те же ограничения, вероятно, применимы и к людям) изучить действительные правила шахмат, просто анализируя примеры игр.
tdammers

1
Я думаю, что вы неправильно поняли вопрос ...
maple_shaft

После работы (магистерская работа) с ИИ (нейронные сети) я вполне уверен, что не может. Если у вас нет доказательств, чтобы сказать иначе, вы не можете просто сказать «вы этого не знаете»
Darknight
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.