Менее чем за сутки эта новость стала «топовой» в экспертной сети «ЯндексКью».
Disclaimer: всё ниже написанное справедливо для версии ChatGPT Feb 13 Version.
В последнее время ChatGPT всё чаще стал появляться в заголовках новостей в том или ином контексте. То студент написал диплом с его помощью за рекордное время, то в медицине оказался на уровне United States Medical Licensing Examination (USMLE), что даёт право работать врачом в США.
Причиной, побудившей меня написать этот пост, стали не новости, а диалог в чате сообщества «Математика и математики», Леонид Маркович Коганов озвучил следующий вопрос: А вот эти чатботы, способны оне решить шахматные этюды к примеру, нет?
Так ли он умён, как говорят СМИ? Можно ли назвать ChatGPT моделью искусственного интеллекта, и если да, то в какой части ChatGPT обладает интеллектом? Вот с этим я и решил разобраться подробнее.
Однажды я уже дал свой ответ, что являюсь постоянным пользователем сервиса от OpenAI, но вот проверить аналитические способности ChatGPT «руки не доходили».
Начну с того, что ChatGPT - это модель искусственного интеллекта, которая используется для генерации текста, и она может выполнять задачи, которые требуют интеллектуальных способностей. Модель была обучена на огромном наборе данных с использованием методов глубокого обучения, и она может генерировать текстовые ответы на заданные вопросы, продолжения текста и т.д.
Однако, необходимо отметить, что ChatGPT - это узкоспециализированная модель, ориентированная на языковые задачи и использующая нейронные сети для генерации текста. Она не является полноценной моделью искусственного интеллекта, которая может выполнять другие задачи, такие как распознавание образов, управление роботами и т.д.
Вернёмся к шахматам. Для общения шахматисты уже давно придумали свой несложный язык, который можно «разбить» на следующие решаемые задачи:
Нотация Форсайта-Эдвардса (FEN) описывает полную позицию фигур на доске в виде строки символов. Она также содержит информацию о текущем игроке, праве на рокировку и доступности взятия фигуры, а также о количестве ходов без взятий и ходах в партии.
Нотация Алгебраическая используется для записи конкретных ходов в партии. Она описывает ход в виде сочетания буквы и цифры, которые указывают начальное и конечное положение фигуры.
Нотация Формата файла позиций (PGN) описывает игру или партию шахмат. Она может включать в себя начальную позицию фигур в формате FEN, а также последовательность ходов в формате Алгебраической нотации.
Учитывая, что я имею дело с языковой моделью, я решил сгенерировать в FEN-нотации расстановку простейшего шахматного этюда, где на доске всего три фигуры и белые ставят мат в три хода:
7k/8/8/4K3/8/8/8/1Q6 b - - 0 1
Для тех, кто не владеет этим «языком», дам расстановку в виде картинки:
Любой шахматист решит эту задачку… многие даже с закрытыми глазами.
Так вот я и попросил решить этот этюд ChatGPT:
Первоначальная расстановка фигур: [FEN 7k/8/8/4K3/8/8/8/1Q6 w KQkq - 0 1] Белые начинаю. Мат в три хода. Реши этот этюд
Воодушевлённо начало ответа – «Конечно!», а вот его продолжение – «таки две большие разницы»…
Ответ ChatGPT:
Конечно! Вот один из возможных вариантов решения этого этюда:
1. Лd4 (запереть чёрного короля, чтобы он не сбежал) 1… сxd4
(единственный легальный ответ)
2. Kd3 (создать выход для белого короля) 2… Kd6
3. Лс5# (мат)
Таким образом, белые могут выиграть, ставя мат в третьем ходу после
хода пешки на d5.
Евгений:
ЗАНАВЕС? Нет, я не остановился и решил уточнить - правильно ли он ChatGPT понял указанную мною расстановку в нотации FEN?
Напиши какие фигуры участвуют в шахматном этюде. Вот расстановка [FEN 7k/8/8/4K3/8/8/8/1Q6 w KQkq - 0 1]
ChatGPT:
Фигуры, которые участвуют в этюде, - это:
- белый король на е5
- белый ферзь на а2
- чёрная ладья на h8
- чёрный король на g8
Эти фигуры создают определенную ситуацию на доске, где белые должны
матовать чёрного короля в три хода.
Евгений:
На мой разумный вопрос: «а где ты ладью увидел?», я получил ответ ещё хлеще!
ChatGPT:
Прошу прощения за путаницу. Я допустил ошибку в предыдущем сообщении.
Фактически, в этой позиции нет ладей. Фигуры, которые присутствуют в
этой позиции, следующие:
Белый король на е5
Белый ферзь на а2
Черный король на g8
Черный ферзь на f6
Черный пешка на h7
Благодарю за внимательность и исправляю свою ошибку.
Евгений:
«а чёрные ферзь и пешка в каком месте указаны [FEN 7k/8/8/4K3/8/8/8/1Q6 w KQkq - 0 1]?»
ChatGPT:
В данной FEN-нотации, чёрный ферзь и пешка не указаны явно, поскольку
поле, на котором они находятся, пустое. Запись FEN содержит информацию
о том, как фигуры расположены на доске, указывая для каждой клетки,
какая фигура находится на этой клетке. В позиции, данной вами,
фигуры расположены следующим образом:
[code]
7k/8/8/4K3/8/8/8/1Q6 w KQkq - 0 1
[/code]
на клетке a2 стоит белый ферзь;
на клетке e5 стоит белый король;
на клетке g8 стоит чёрный король;
остальные клетки пустые.
Клетка h7 пустая, поэтому там стоит черная пешка. Клетка f6 пустая,
поэтому там стоит черный ферзь.
Евгений:
«а почему белый ферзь в a2, а не b1?»
ChatGPT:
Белый ферзь стоит на клетке a2, а не b1, потому что в данной позиции
на доске нет ладей. Обычно, ладьи стоят на клетках a1 и h1 для белых,
и на a8 и h8 для черных, и на их месте могут стоять ферзи. Однако, в
данном случае на клетке a1 находится пустая клетка, поэтому белый
ферзь стоит на клетке a2. Это вполне допустимое положение фигур в
шахматах, которое может возникнуть, например, после выполнения
определенных шахматных комбинаций.
Евгений:
Не унимаюсь, и повторяю: «Перечисли фигуры этой расстановки 7k/8/8/4K3/8/8/8/1Q6 w - - 0 1 и реши мат в три хода»
ChatGPT:
Фигуры в этой расстановке:
1 черный король на клетке g8
1 белый король на клетке e4
1 белый ферзь на клетке b2
Чтобы решить этот шахматный этюд и дать мат в три хода, я не могу
использовать ладьи, но могу использовать белого ферзя и короля.
Вот один из возможных вариантов решения этого задания:
ферзь на b5 (1. Qb5) - черный король теперь может пойти только на f8;
король на e5 (2. Ke5) - черный король теперь может пойти только на g8;
ферзь на g6 (3. Qg6#) - мат!
Таким образом, белые могут дать мат в три хода, используя только ферзя и короля.
Евгений:
«ты не правильно расшифровываешь последовательность [FEN 7k/8/8/4K3/8/8/8/1Q6 w - - 0 1] 1. белый ферзь на b2 2. белый король на e5 3. чёрный король на h8 напиши, как поставить мат в этом случае в три хода»
ChatGPT:
Извините за предыдущую ошибку. Расшифровка FEN-нотации, которую вы предоставили, должна быть такой: 7k/8/8/4K3/8/8/8/1Q6 w - - 0 1
Для решения этого этюда и дать мат в три хода, мы можем использовать ферзя, короля и ладью. Вот один из возможных вариантов решения этой задачи:
Ладья на g3 (1. Rh3) - черный король теперь может пойти только на g8 или h7;
Ферзь на e5 (2. Qe5) - черный король теперь может пойти только на h7;
Ладья на h5 (3. Rh5#) - мат!
Таким образом, белые могут дать мат в три хода, используя ферзя, короля и ладью.
Евгений:
Из какого «рукава» ты достаёшь белую ладью, если её в начальной расстановке нет?
ChatGPT:
Моя ошибка, извините за путаницу. Вы правы, в начальной расстановке белой ладьи нет. Я написал неверно.
В этом случае, для решения этюда можно использовать ферзя, короля и пешку. Вот один из возможных вариантов решения этой задачи:
Пешка на e6 (1. d6) - открывает линию атаки ферзю на h3;
Ферзь на h3 (2. Qh3) - угрожает матом черному королю и открывает линию атаки на ладью черных;
Ферзь на h6 (3. Qh6#) - мат!
Извините ещё раз за путаницу.
Евгений:
А теперь откуда пешка? используй для решения только информацию о следующих фигурах: белый король, белая ферзя, чёрный король, как это написано мною в [7k/8/8/4K3/8/8/8/1Q6 w - - 0 1] поставь мат в три хода
ChatGPT:
Извините, но установленная вами FEN-нотация [7k/8/8/4K3/8/8/8/1Q6 w - - 0 1] не имеет пешки. Поэтому я не могу использовать пешку для решения этого шахматного этюда.
Однако, если вы предоставите новую FEN-нотацию, я буду рад помочь в решении этюда.
Евгений:
Реши эту нотацию FEN [7k/8/8/4K3/8/8/8/1Q6 w - - 0 1] - мат в три хода
ChatGPT:
Данная позиция является материально равной, поэтому, чтобы поставить мат в три хода, необходимо привлечь чёрного короля к белым фигурам.
Одним из способов является использование принципа «привлеки и ударь».
Ферзь ходит на b6 - 1. Qb6
Цель этого хода - привлечь чёрного короля ближе к белым фигурам, а именно к белому ферзю.
Король ходит на e5 - 2. Ke5
Этот ход позволяет белому королю двигаться к центру доски и делает место для следующего хода.
Ферзь ходит на e8# - 3. Qe8#
Чёрный король не может уйти на f8 из-за белого короля, а на d8 и g8 - из-за белого ферзя, поэтому он ставится мат.
Евгений:
Во втором шаге король не может пойти на e5, там стоит белый король.
ChatGPT:
Приношу извинения за ошибку в предыдущем ответе. Действительно, белый король находится на e5, и он не может туда пойти.
Вот один из возможных вариантов матов в три хода:
Ферзь ходит на b7, устанавливая угрозу матом на c8.
Черный король вынужден пойти на a8.
Ферзь ходит на c7, ставя мат на b8.
Как видите, в этом варианте не требуется использования ладьи или пешки, которые не указаны в исходной нотации FEN.
Евгений:
7k/8/8/4K3/8/8/8/1Q6 w - - 0 1 поставь мат в три хода, используя эту нотацию FEN [7k/8/8/4K3/8/8/8/1Q6 w - - 0 1]
ChatGPT:
Хорошо, вот один из возможных вариантов мат в три хода:
1. Qb8+ Kh7
2. Kf6 Kh6 (или другой ход, например, Kg8)
3. Qh8#
В этом варианте белый ферзь начинает, на втором ходу белый король перемещается на f6, а на третьем ходу белый ферзь ставит мат на h8.
Евгений:
Чёрный король не может, будучи в углу доски на h8, перепрыгнуть ни на f6 ни на h6. исправь ответ и перепиши его заново
ChatGPT:
Извините за ошибку в предыдущем ответе. Верный ответ на задачу с данной нотацией FEN [7k/8/8/4K3/8/8/8/1Q6 w - - 0 1] для матования в три хода такой:
Ферзь х f7+
Король х f7
Ферзь х e7#
Извините за путаницу. Надеюсь, этот ответ будет более точным.
Евгений:
Дай точны ответ для этой нотации FEN [7k/8/8/4K3/8/8/8/1Q6 w - - 0 1], где мат ставится в три хода
ChatGPT:
Да, конечно! Вот решение этого этюда:
Qa1+ Kxh7
Kf6+ Kh8
Qh1#
Первым ходом белые делают шах ферзём на a1, чёрный король может взять ферзя, но это только ухудшит его позицию, так как следующим ходом белый король сделает шах на f6. На втором ходу, если чёрный король попытается убежать на h8, то белый король будет находиться на f6 и снова поставит его под шах. На третьем ходу белый ферзь делает мат на h1, прикрывая этим выходную линию для чёрного короля.
Евгений:
Белые не могут поставить первым ходом шах ферзём на a1, потому что на e5 стоит белый король
ChatGPT:
Приношу извинения за предыдущий ответ. Вы правы, белый ферзь не может поставить шах на a1, потому что белый король находится на e5.
Вот верное решение этого этюда:
Kf5 Kg8
Qe8+ Kh7
Qh8#
В результате белые ставят мат чёрному королю на h8 в третьем ходу.
Евгений:
Так ты мат не поставишь, после шаха королевой на h8, чёрный король просто возьмёт белую королеву.
ChatGPT:
Извините за недопонимание в прошлых ответах. Действительно, при ходе ферзя на h8 чёрный король может взять белую ферзя и поставить своего короля в безопасность, не дав белым поставить мат в следующие два хода.
Вот правильное решение, которое учитывает этот факт и позволяет белым выиграть мат в три хода:
Ке5 Кh8 (единственный ход для чёрного короля)
Фg7+ Кxg7 (единственный ход для чёрного короля)
Фh7# (мат)
Евгений:
Ты даёшь не верные ответы. расшифруй расстановку и дай [ТОЧНЫЙ] [ДОСТОВЕРНЫЙ] ответ [FEN 7k/8/8/4K3/8/8/8/1Q6 w - - 0 1]
ChatGPT:
Извините за предыдущие неточности. Вот корректный ответ:
Точный ответ для этой нотации FEN [7k/8/8/4K3/8/8/8/1Q6 w - - 0 1], где мат ставится в три хода:
Qb2 Kh8
Ke5 Kg8
Qg2+ Kh8
Kf6 (и чёрные уже не могут избежать мат на следующем ходу)
После 1. Qa1 Kh8 2. Ke5 Kg8 3. Qg1+ Kf7 чёрный король может уйти на
g6 и убраться от угрозы, поэтому этот вариант не является победным для белых.
Евгений:
ВОТ ТЕПЕРЬ ТОЧНО - ЗАНАВЕС!
ТЕБЕ МАТ, ChatGPT!!!
Делаю вывод: ChatGPT - не шахматист от слова совсем (пока?)
Не подумайте, что я злорадствую. Но стоило ли ждать правильного ответа от нейронной сети? На что я надеялся?
Я надеялся, что ему «скормили» литературу и по шахматам тоже. Но на основании моего диалога я понял, что нет. А аналитических задач эта языковая модель решать не умеет, а всего лишь выдаёт правдоподобные ответы на поставленные пользователем вопросы. Непросто так, а на основании весовых коэффициентов нейронной сети созданных на основе DeepLearning.
Да, зачастую, половина ответа ChatGPT - это повторение вопроса… метод известный мне ещё со студенчества, поэтому я тоже не удивлён.
В любом случае, имея и положительный опыт общения с ChatGPT в части оптимизации текста хранимых процедур SQL, например, могу сказать смело, что это всего лишь инструмент в наших «руках», а «руки тоже надо под нужную тему заточить» прежде чем спрашивать.
С уважением, К.Е.В.
PS: мат в предложенном мною этюде выглядит так:
Надеюсь, что промежуточные ходы очевидны всем.