Чисто самообучаемый шахматный ИИ


46

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

  1. изучает тысячи или миллионы возможных будущих позиций;
  2. оценивает каждую будущую позицию в соответствии с некоторой эвристикой, называемой функцией оценки;
  3. отдельно оценивает каждую будущую позицию на предмет покоя, чтобы решить, следует ли исследовать продолжения с позиции;
  4. выбирает из доступных ходов минимакс; а также
  5. использует вводную книгу.

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

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

В чистом виде такой программе никогда не будут предоставлены мастер-игры для изучения, а только собственные игры, в которые будут играть против себя. Только после того, как он полностью самообучится, он будет развязан на человеческом соревновании.

Существует ли такой чистый шахматный ИИ? Появился ли когда-нибудь механический автодидакт в шахматах? Действительно, может ли старый турок научить себя?

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

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

ОБНОВИТЬ

На момент написания этого вопроса на три вопроса были выделены три разных, ярких ответа @WesFreeman, @GregE. и @Landei. Все три настоятельно рекомендуется, и я буду чувствовать себя виноватым, когда, в соответствии с политикой сайта, я официально приму одно исключение других. Позвольте мне поблагодарить и выразить признательность всем трем.

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

Когда я задал вопрос, я имел в виду что-то вроде следующего.

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

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

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

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

Могут ли какие-либо из их открытий, независимо разработанных, оказаться интересными для внешнего мира, когда через 200 лет их посетит следующий путешественник? Может ли Шангри-Ла подарить миру новый роман Шангри-Ла?

Если так, то, что касается моего первоначального вопроса о шахматном ИИ, я имел в виду более или менее следующее: может ли шахматный ИИ более или менее дублировать шахматный прогресс жителей деревни на окраине Шанрги-Ла?

Принимая во внимание историю Суссмана в ответе @ Landei ниже, несомненно, правда, что мои сельские жители привносят в игру определенные предвзятые мнения. Например, они привели бы к пониманию, что обладать большим количеством полезной вещи, как правило, лучше, чем обладать меньшей ее, и, следовательно, чтобы захватить шахматные фигуры противника, вероятно, обычно предпочтительнее страдания, связанного с захватом собственной. Вопрос о том, насколько территориальными были вымышленные люди Шангри-Ла, является вопросом для литературы, но можно предположить, что они признали бы положение, которое занимало больше места, выше положения, которое командовало меньше. И любой яркий новичок, однажды показавший шахматы и проинструктированный в правилах игры, может сделать вывод, что королева, вероятно, лучше пешки, просто потому, что у королевы есть до 27 доступных ходов,

Поэтому мой вопрос не следует истолковывать как подразумевающий абсолютный запрет в стиле Сассмана против передачи каких-либо знаний вообще на шахматную доску; скорее, чтобы подразумевать общий судебный запрет против предвзятых, специфических для шахмат знаний. В конце концов (не считая вопроса об эволюции правил игры давно), когда-то в прошлом была сыграна первая игра в шахматы. Возможно, первый игрок открыл 1. a4; но в конце концов он научился лучше и научил своих учеников тому, чему научился; который, в свою очередь, учился больше и учил больше, поколение за поколением, чтобы дать нам Каспарова.

Разве ИИ не мог сделать что-то подобное, только в течение нескольких недель, а не столетий?

Платон был бы скептиком, я полагаю. Юм был бы более оптимистичен, но этот вопрос уже не может быть решен одной лишь философией. Теперь у нас есть электронные компьютеры, с помощью которых можно проверить предложение, и мне было интересно, каково было состояние искусственного интеллекта. Лучшие шахматные ИИ в настоящее время кажутся совершенно неразумными экспертными системами, которые побеждают всех, но ничего не интуитивно. Я задавался вопросом, имели ли немного более широкие ИИ, которые, в некотором смысле, действительно думают о шахматах, значительный успех в обучении игре.

Я понимаю, что ответ - нет, вероятно, нет.


4
Это действительно один из лучших вопросов на этом сайте.
Пруссван

5
Похоже, что ответ на этот вопрос - да, поскольку DeepMind только что выпустил исследование нового современного шахматного ИИ, который они обучили с нуля (только самостоятельная игра, никаких эталонных игр). arxiv.org/pdf/1712.01815.pdf
Лалаланд

1
Если добавить комментарий @Lalaland, после тренировки, я думаю, 10 часов он полностью раздавил вяленую рыбу (не знаю, какая версия), как если бы вяленая рыба была новичком. Довольно неслыханно в играх с движком против движка. Кажется, альфа-ноль любит играть в стиле Тала
Ариана

2
«Может ли ИИ сделать что-то подобное в течение нескольких недель, а не столетий? Вероятно, нет». Ну, ты был прав в некотором смысле ... Это заняло всего несколько часов.
user230452

1
Предполагается, что довольно много игроков, таких как Капабланка, разобрались в игре, увидев, что в нее играют один раз. И помните, что Alpha Zero больше не о чем думать.
Филипп Роу

Ответы:


26

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

Исследования в области

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

Теоретические возможности

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

практические вопросы

Существуют две основные проблемы использования эволюционных или генетических подходов в развитии эвристической функции в шахматах. Первая состоит в том, что даже в самой базовой форме эвристическая функция для шахмат чрезвычайно сложна. Мы говорим о сотнях правил, оценках по частям (которые могут различаться в зависимости от положения и т. Д.), Позиционном анализе и т. Д. Вам понадобится гибкий компьютерный язык для описания этих правил, а затем эти правила могут генерироваться случайным образом, мутировали, разводили друг друга и т. д. Это, конечно, возможно, но я предполагаю, что в итоге вы получите набор правил, состоящий из нескольких тысяч объектов. Это очень большой набор правил для динамического развития.

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

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

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

Будущее

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

Обновление 2018 май

Как упоминает Роберт Каучер в комментарии ниже, последние новости заслуживают упоминания здесь. В частности, проект Google AlphaGo, по-видимому, является первым действительно жизнеспособным подходом, основанным на искусственном интеллекте, к этим типам игр, и в конце 2017 года утверждает, что выиграл у StockFish 2 , после того как был переопределен для этой задачи.


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

2
@ thb Я думаю, что было довольно много попыток такого типа ИИ, хотя вы могли бы считать их "неудачными". Я подозреваю, что чрезвычайно успешная попытка (сегодня), вероятно, будет играть на очень слабом любительском уровне; большое достижение, просто не в глазах публики. Кроме того, я не думаю, что обучение против существующих программ и людей само по себе обманывает - просто очень большая оптимизация, хотя и та, которая может изменить направление игры развивающегося ИИ.
Даниэль Б.

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

1
@DanielB Является ли AlphaZero таким AI?
Гарри Уизли

1
Вы можете обновить свой ответ. chess.com/news/view/…
Роберт Каучер

17

Я подозреваю, что то, о чем вы спрашиваете, будет классифицировано как некий генетический алгоритм или эволюционный алгоритм . Я подозреваю, что не существует реалистичного способа разработки такого алгоритма без встроенного в некоторой степени человеческого предвзятого отношения на фундаментальном уровне, поскольку программист все еще должен определять статические характеристики позиции (количество материалов, структура пешек, цветовые комплексы и т. Д.) согласно которому ИИ будет классифицировать и сравнивать позиции из разных игр. Если вы выполните поиск в Google по приведенной выше алгоритмической терминологии в контексте шахмат, вы обнаружите многочисленные результаты, но, вероятно, мало на пути серьезных исследований, которые фактически использовались для создания успешных, конкурентоспособных ИИ.

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


Я обновил вопрос об ИИ в свете вашего ответа. Обновление не является коротким, поэтому, по вашему выбору, когда у вас есть время, вы можете просмотреть его в той степени, в которой оно вас интересует.
THB

2
Такой человеческий уклон не нужен. Просто сгенерируйте 1000 случайных алгоритмов, способных играть в легальные шахматы, сопоставьте их друг с другом в турнире, затем возьмите 20% лучших и примените мутацию и кроссовер, чтобы построить следующее поколение. Повторите эти действия для нескольких поколений, и в конце у вас должно получиться что-то на полпути. Единственная необходимая фитнес-функция - выигрыш / проигрыш.
Сверхсветовой

15

Смотрите страницу Википедии в разделе Общая игра . Это активная область исследований. Существует ежегодный турнир GGP, в котором программы получают правила новой игры, некоторое время думают об этом, а затем играют в игру друг против друга.

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


13

Стоит вернуться к этому вопросу в свете недавнего поразительного успеха AlphaZero против Stockfish 8 . Дальнейшее развитие программ DeepMind AlphaGo и AlphaGo Zero завершило AlphaZero с ошеломляющим счетом +28 = 72 -0 против одного из самых сильных «традиционных» шахматных движков на планете.

AlphaZero учил себя играть через обучение с подкреплением, обучая свою архитектуру нейронной сети через серию игр против себя. Согласно сопроводительной статье :

  1. Входные элементы, описывающие положение, и выходные элементы, описывающие перемещение, структурированы как набор плоскостей; то есть архитектура нейронной сети соответствует сеточной структуре платы.
  2. AlphaZero обладает отличным знанием правил игры. Они используются во время MCTS, чтобы имитировать позиции, возникающие в результате последовательности ходов, определять завершение игры и оценивать любые симуляции, которые достигают состояния терминала.
  3. Знание правил также используется для кодирования входных плоскостей (т. Е. Рокировки, повторения, отсутствия прогресса) и выходных плоскостей (как движутся фигуры, повышаются и понижаются фигуры в сёги).
  4. Типичное количество законных ходов используется для масштабирования шума разведки (см. Ниже).
  5. Игры в шахматы и сёги, превышающие максимальное количество шагов (определяемое типичной продолжительностью игры), были прерваны и им был присвоен ничейный результат; Го-игры были прерваны и оценены по правилам Тромпа-Тейлора, как и в предыдущей работе (29).

AlphaZero не использовал никакие формы знаний о предметной области, кроме перечисленных выше.

Я уверен, что можно задавать вопросы о таких вещах, как используемое различное оборудование - « AlphaZero ... использовал одну машину с 4 TPU . Stockfish ... играл с самым высоким уровнем квалификации, используя 64 потока и размер хэша 1 ГБ. " - но в любом случае результат AlphaZero замечательный, и он очень важен для ОП.

Выявив, возможно, даже больше поддержки тому, как мало было предметно-ориентированных знаний, в дополнение к победе над Stockfish в шахматах, AlphaZero также тренировался в сёги, чтобы превзойти программу чемпионов Elmo, и, конечно, также превзошел своего предшественника AlphaGo Zero in Go ,

Вот одна из игр против Stockfish, Берлин, в которой материальный дисбаланс в конечном итоге становится AlphaZero с парой слонов против коня и 4 пешками за Stockfish после 31.Qxc7. В этой позиции все фигуры AlphaZero находятся на заднем плане, а слоны вернулись на свои исходные поля. В конечном итоге, после того, как королевы сорвались, черные фигуры медленно маневрируют, чтобы поднять белые пешки, и это занавески.

Stockfish - AlphaZero, 2017-12-04, 0-1
1. е4 е5 2. Nf3 Кс6 3. Bb5 Nf6 4. d3 Bc5 5. bxc6 dxc6 6. ОО Nd7 7. Nbd2 О. 8. QE1 f6 9. Nc4 Rf7 10. а4 Bf8 11. KH1 Nc5 12. а5 Ne6 13. Ncxe5 fxe5 14. Nxe5 RF6 15. Ng4 Rf7 16. Ne5 Re7 17. а6 с5 18. f4 Qe8 19. axb7 Bxb7 20. Qa5 Nd4 21. QC3 Re6 22. Be3 Rb6 23. Nc4 Rb4 24. b3 а5 25. Rxa5 Rxa5 26. Nxa5 Ba6 27. Bxd4 Rxd4 28. Nc4 Rd8 29. g3 h6 30. Qa5 Сс8 31. Qxc7 Bh3 32. Rg1 Rd7 33. QE5 Qxe5 34. Nxe5 Ra7 35. Nc4 g5 36. Rc1 Bg7 37. Ne5 Ra8 38. Nf3 Bb2 39. Rb1 Bc3 40. Ng1 Bd7 41. Ne2 Bd2 42. Rd1 Be3 43. Kg2 Bg4 44. Re1 Bd2 45. Rf1 Ra2 46. ​​h3 Bxe2 47. Rf2 Bxf4 48. Rxe2 Be5 49. Rf2 Kg7 50. g4 BD4 51. Re2 Kf6 52. е5 + Bxe5 53. KF3 Ra1 54. Rf2 Ке1 55. kg2 + Bf4 56. с3 Rc1 57. d4 Rxc3 58. dxc5 Rxc5 59. b4 Rc3 60. h4 Ke5 61 . hxg5 hxg5 62. Re2 + Kf6 63. Kf2 Be5 64. Ra2 Rc4 65. Ra6 + Ke7 66. Ra5 Ke6 67. Ra6 + Bd6 0-1

11

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

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

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

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


Ответ приветствуется. Я считаю, что имел в виду ИИ, который (а) обладал минимаксной способностью, но (б) испытывал недостаток в предопределенной функции оценки. Такой ИИ обязательно решит такую ​​маленькую игру, как крестики-нолики на чистом минимаксе. В шахматах, играх, теоретически восприимчивых к минимаксам, ИИ будет оценивать не текущую позицию на доске, а будущие позиции, после чего минимакс выбирает ход. Можно смело сказать, что Нимзович произвел революцию в шахматах, отвергнув известную эвристику оценки. Если так, то может ли машина сделать то же самое?
THB

1
Так вы говорите, что он разработает свою собственную функцию оценки?
Ева Фриман

2
@thb, как программист, я думаю, что проблема с вашим представлением в том, что, насколько я вижу, ни один вероятный шахматный ИИ не может начинаться с абсолютно чистого листа для функции оценки. Можно написать ИИ, который анализирует игры на наличие паттернов и использует статистические / вероятностные методы (например, байесовский вывод) для точной настройки своих оценок и принятия решений, но программист должен определить, какие мотивы, позиционные факторы, последовательности ходов составляют упомянутые паттерны. и по каким критериям их оценивать. Другими словами, основное ядро ​​функции оценки все еще должно быть разработано человеком.
Грег Э.

1
Может быть интересно посмотреть, что придумывает генетический минимаксный движок, например, если вы должны были начать все фигуры с одинакового значения материала, основанного на выигрыше / проигрыше / ничьей, и позволить значениям материала мутировать. Я уверен, что создатели двигателей уже пытались настроить их, например, сделать пешек 2,9 и слонов 3,1 слона.
Ева Фриман

1
@ thb, я не эксперт, но я думаю, что это так. Даже искусственный интеллект, с которым вы связаны, ограничен предвзятостью программиста. Если вы читаете оригинальную исследовательскую работу, она отмечает, что «вектор признаков», обучающий функции оценки, включал в себя элементы платы, которые «были тщательно разработаны вручную». То есть программист все же должен указать набор статических позиционных факторов, на которых ИИ основывает свои решения. Я думаю, что основным преимуществом нейронной сети для этого конкретного проекта является то, что обучение можно распараллелить, что позволяет эффективно выполнять асинхронную обработку большого количества игр.
Грег Э.

10

Я просто хочу подробнее рассказать об ответах Грега и Уэса. Те ИИ, которые предлагает ТБ, просто не существуют с той изощренностью, которая требуется для этого приложения. И даже если бы они сделали, я подозреваю, что они потерпят неудачу в этом. Это как если бы он хотел сильного ИИ общего назначения, которого можно научить основным правилам игры и затем отправить. Но если вы посмотрите на ИИ общего назначения, которые находятся в разработке, их всех обучают таким вещам, как распознавание объектов и речи на уровне 1-2 лет. Любой ИИ общего назначения сначала должен обладать сложностью, чтобы понять, что такое игра, даже прежде, чем он сможет понять, как играть в игру. Вы не можете создать ИИ общего назначения и ожидать, что он будет работать как узкий или специализированный ИИ. ИИ общего назначения нужно будет учить шахматам, как человеку, и нельзя ожидать, что два начинающих игрока, не знающих истории шахмат, вместе и спонтанно изобретают открытия и стратегические темы. Это займет много сотен случаев, когда ИИ будет играть друг с другом, каждый из которых получит доступ к историческим данным всех своих игр на протяжении сотен тысяч итераций. И у каждого ИИ должны быть определенные характеристики, взвешенные на разных уровнях.

Людям понадобилось около 500 лет, чтобы добраться от Родриго (Руи) Лопеса де Сегуры и Педро Дамиана до Пола Морфи, а затем рассмотреть дальнейшие изменения, произошедшие между пьесой Стейница и Алехина, И все эти изменения произошли благодаря динамичности многих сотен тысяч игроков с разными темпераментами и другими влияющими характеристиками (такими как случайное предпочтение рыцарей над епископами или епископов перед рыцарями), не говоря уже о стилях игры и моде. Все это внесло свой вклад в динамику перемен, которая повлияла на шахматы на протяжении веков. Никакой слабый ИИ - даже слабый ИИ общего назначения - не может дублировать такого рода динамо, потому что ему не хватает желания. Только желание может заставить что-то сидеть часами в течение многих дней, чтобы проанализировать отверстие с намерением его разрушить или улучшить после того, как соперник «сломал» его. Действительно, именно этот вид анализа и подготовки улучшил игру на протяжении веков, а не слепую игру миллионов игр между одинаково слабыми игроками.

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

РЕДАКТИРОВАТЬ : Я должен был знать лучше, чем сделать это заявление, потому что это произошло .

«AlphaZero не« обучали »игре в традиционном смысле», - объясняет Chess.com. «Это означает, что нет вступительной книги, таблиц эндшпиля и, очевидно, нет сложных алгоритмов, анализирующих разницу между минутными и боковыми пешками. Это было бы похоже на то, что роботу дают доступ к тысячам металлических деталей и деталей, но нет знаний о двигателе внутреннего сгорания, тогда он много раз экспериментирует с каждой возможной комбинацией, пока не построит Ferrari. ... В программе было четыре часа, чтобы играть себя много-много раз, тем самым становясь ее собственным учителем ».

Мои продолженные, явно необоснованные болтовни:

Мы принимаем как должное все скрытые знания о мире, которые у нас есть. Чтобы понять, что если мне нужно куски дерева и гвоздь, то молоток для меня более полезен, чем отвертка, я должен сначала понять, что определенные классы вещей более полезны в определенных ситуациях, чем другие. Я также должен понимать, что у вещей есть применение, которое может быть применено к цели. Это эвристика. Если ИИ нельзя сказать, что некоторые произведения имеют большую ценность, чем другие, как он может понять, что такое мат? Если он не может быть запрограммирован с определенной эвристикой, он должен быть в состоянии экстраполировать эти идеи, такие как «ценность» и «полезность» формы опыта. И это не область узкого ИИ. Это область общего назначения, сильный ИИ.


1
Отличный ответ. Я думаю, что ваш первый абзац действительно отражает идею, которую я пытался донести, но делает это с большей ясностью.
Грег Э.

Спасибо, Грег. Я просто хочу добавить, что я говорю о слабом ИИ общего назначения. Я полагаю, что настоящий Сильный ИИ мог сделать что-то подобное во многих случаях в течение многих итераций в сильно сжатых временных рамках. Но у нас пока нет сильного ИИ. en.wikipedia.org/wiki/Strong_AI
Роберт Каучер

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

Это правда, Уэс, но затем мы вводим предвзятость «программиста» или чего-то еще в ИИ; что является одной из вещей, которые автор вопроса не хотел.
Роберт Каучер

@ EveFreeman, я думаю, вы не понимаете, о чем я говорю. Я не говорю, что компьютеры не «решат шахматы», я говорю, что конкретный сценарий ОП сводится к тому, что он не будет работать. Если в системе нет эвристики, как она может оценивать куски?
Роберт Каучер

9

Пожалуйста, помедитируйте о следующем AI Koan:

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

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


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

8

Кто-нибудь когда-нибудь писал шахматную программу, в которой есть свои идеи? Чему учится игра самостоятельно? Что тренирует себя?

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

Об этом в прошлом году было много дискуссий на форуме по шахматному программированию TalkChess . Я знаю, потому что я автор шахматного движка, чей движок примерно такой же сильный, как у жирафа. Тем не менее, я реализовал свой движок, используя традиционные методы, в то время как автор Giraffe обучил его движку, используя «обучение с усилением разницы во времени с глубокими нейронными сетями». Мэтью все еще приходилось реализовывать традиционный альфа / бета-поиск, чтобы динамически оценивать позицию - другими словами, чтобы смотреть вперед на многие шаги. Его инновация заключается в обучении двигателя оценивать статическое положение. Для сравнения, я включил конкретные знания в процедуру статической оценки моего двигателя.

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

Мэтью обсуждает свою диссертацию на форуме TalkChess. Сейчас он работает на Google в DeepMind, если я правильно помню.

Кроме того, проверьте блог Томаса Петцке . Он написал чрезвычайно сильный шахматный движок iCE и использовал генетические алгоритмы для улучшения статической оценки движка. Смотрите его посты с 2013 года и ранее, например, « Постепенное обучение населения» .


Добро пожаловать на форум! Плюс один.
SmallChess


5

Поиск Google , как это может оказаться результаты , как это .

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


+1, потому что я ценю интересную цитату IEEE. Я случайно уже был знаком со страницей NeuroChess. Похоже, что ни один из них не делает то, что я имел в виду.
THB

3

Это возможно с машинным обучением.

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

После окончания фазы открытия двигатель останавливается, используя книгу, и начинает использовать функцию оценки.


Как реализовать механизм самообучения с помощью машинного обучения?

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

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

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

Обновление за декабрь 2017 : Ну, я полагаю, что Alpha Zero доказала, что я не права, тренируя себя достаточно сильно, чтобы обыграть один из сильнейших движков Stockfish с практическим количеством игр.


2

Что бы вы ни пытались в этой области, обязательно прочитайте историю первого Турри здесь: http://waitbutwhy.com/2015/01/artificial-intelligence-revolution-2.html

TL; DR; версия спойлера по запросу:

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


Ваш ответ интересен, хотя, возможно, не совсем убедителен. Я прочитал связанную статью (обе части) по вашему совету. Автор немного ослабляет свое дело, нападая на некоторых соломенных людей, но он вдумчивый парень. Я не думаю, что я имел в виду что-то очень похожее на статью «Турри». Шахматная доска 8 на 8, на которой два игрока совершают около 40 отдельных ходов, в сущности, намного проще. Я нахожу удивительным, что ИИ даже не может думать о шахматах в общем. Для противоположного взгляда назначено чтение: Фезер, Эдвард. Последнее суеверие. Тем не менее, +1 за интерес.
THB

1

И есть AlphaZero. Отпразднуйте целое новое поколение шахматных движков


0

Использование антропоморфной терминологии при работе с вычислительными системами является признаком профессиональной незрелости

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

В лекциях Reith 1984 года для BBC американский философ Джон Сирл объясняет, что именно не так с искусственным искусственным интеллектом. Резюме «слишком долго не слушал» его аргумента «Синтаксис - это не семантика», но я, тем не менее, рекомендую вам хотя бы послушать лекцию 2 «Пивные банки и мясные машины ».

Как только вы поймете, что Дейкстра и Сирл говорили более 30 лет назад, вы поймете, что не так с вашими вопросами:

Кто-нибудь когда-нибудь писал шахматную программу, в которой есть свои идеи? Чему учится игра самостоятельно?

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


Вы утверждаете, что компьютеры не достигнут интеллекта человеческого уровня, или что даже «мышление» и «понимание» предназначено для людей?
BlindKungFuMaster

@BlindKungFuMaster Если вы потрудитесь послушать «Пивные банки и мясные машины» по ссылке выше, вам будет ясно, что думает Джон Сирл. Он убедил меня, и я разделяю его мнение.
Брайан Тауэрс

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

Таким образом, аргумент китайской комнаты ошибочен, если предположить, что вы можете имитировать понимание только с помощью большой книги правил, что на самом деле является довольно абсурдным, и исключить возможность того, что вместо этого семантический контент может быть захвачен соответствующей архитектурой из больших объемов данных. Фактически, это то, чем занимается обработка естественного языка в наши дни: cs224d.stanford.edu/syllabus.html
BlindKungFuMaster

@BlindKungFuMaster В ваших словах есть одно ключевое слово, которое, как мне кажется, вы не понимаете. Это слово «симулировать». Я 35 лет работаю инженером-программистом, и за это время у меня было много симуляторов, и я написал несколько собственных. Симуляторы часто являются жизненно важными компонентами проекта, но в проекте в реальном времени они никогда полностью не заменяют целевое оборудование. Без сомнения, компьютеры превосходно симулируют интеллект и семантическое понимание, но они никогда не смогут достичь сознания, воли, понимания.
Брайан Тауэрс

0

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

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

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

Ученики реалистической философии, еще через Дунса Скотуса, Св. Фомы, Аристотеля и Платона, могли многое сказать о теории разума. Представители, такие как Кант, могли сказать довольно разные вещи. Исследование искусственного интеллекта, вероятно, ближе к Канту, но это не делает школьников неправыми.

По общему признанию, есть возражение Бога зазоров, которое имеет тенденцию появляться в этой точке в разговорах настоящего вида, но профессиональный философ сказал бы вам, что возражение Бога зазоров нападает на соломенного человека, что это возражение имеет тенденцию быть полезным только против лиц, которые не изучали философию и, следовательно, не знают, о чем говорят. Согласно Аристотелю, это формальная и окончательная причина, которая может быть замешана в вопросе самообучаемого шахматного ИИ. Тем не менее, с точки зрения Аристотеля, исследователь искусственного интеллекта работает исключительно с материальными и, особенно, эффективными причинно-следственными связями.(за исключением, возможно, косвенно, поскольку инструкторы-люди лично вносят в систему формальные и конечные элементы). Если разум формален, если мысль окончательна, если китайская комната Сирла оказывается онтологической невозможностью (как это может быть), то может случиться так, что чисто самообучаемый шахматный ИИ даже теоретически не может быть достигнут.

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

Философия причинно-следственной связи и ума тонка, ее понимают немногие (и, вероятно, немногие, даже среди исследователей ИИ, которые более практичны). Если вы хотите выучить такую ​​философию, она того стоит; но имейте в виду, что в Интернете и даже часто в печатном виде чрезвычайно легко найти вводящие в заблуждение объяснения, основанные на неискушенных недоразумениях. За мои деньги лучшим вводным учителем, пишущим сегодня по этому предмету, является Эдвард Фезер, чьи книги остаются в печати по разумным ценам. Вы можете узнать намного больше от него.

Однако можно сомневаться, что даже доктор Фезер рискнул бы дать авторитетный ответ на данный вопрос! Ответ еще предстоит доказать в лабораториях ИИ.


-3

Я хочу, чтобы они выпустили код, тогда мы можем поговорить. Решить шахматы не так просто, Альфа не решит даже полвека. Как ни странно, он все еще играет 1.d4. Почему? Потому что он был обучен человеческим играм, а человеческая теория дает самый высокий показатель производительности для 1.d4. Бедняжка не знает, что 1 ... c5 добивается ничьей ровно за 8 ходов. Теперь они хотят, чтобы я поверил, что Альфа не использовала смоделированную вступительную книгу ... Они говорят, что Альфа отлично сыграла дебюты. Ну да, за некоторыми исключениями. 1.d4, конечно, плохо говорит об уровне интеллекта, достигнутом программой. К счастью, SF еще слабее на начальной стадии. :)


3
Вы делаете смелые заявления, говоря, что 1. ... c5 добивается ничьей за 8 ходов, а Stockfish слаб на начальной стадии. Не могли бы вы предоставить ссылки на эти претензии?
Пабло С. Окал

1
1.d4, конечно, плохо говорит об уровне интеллекта, достигнутом программой. Как игрок 1.d4, мне интересно, стоит ли мне думать, что мой интеллект здесь оскорблен.
Еваргало

Хотя они не выпустили код и даже не опубликовали статью, был запущен проект по воспроизведению их результатов: lczero.org. Вы даже можете поиграть с развивающимся «AlphaZero» на play.lczero.org
Junyan Xu
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.