Самодельная шахматная доска сама передвигает фигуры. И выигрывает…
Прошло почти 30 лет с тех пор, как чемпион мира по шахматам Гарри Каспаров проиграл компьютеру IBM Deep Blue, впервые проиграв действующему чемпиону мира. С тех пор шахматные движки настолько улучшились, что даже простое приложение для смартфона может заставить потеть даже топовых гроссмейстеров. Однако, несмотря на все эти достижения, этим кремниевым вундеркиндам всё ещё нужна человеческая оболочка, чтобы физически переместить фигуру для мата. Это начинает меняться.
Ранее в этом месяце мастер-самодельщик и ютубер под ником Joshua Stanley Robotics продемонстрировал свой собственный подход к созданию физической шахматной доски, которая может понимать ходы человека, а затем перемещать свои фигуры. Подход Стэнли, как и у нескольких других самоиграющих шахматных досок до него, использует магию магнитов. Стэнли напечатал на 3D-принтере каждую шахматную фигуру и выдолбил их, чтобы поместить магнит в нижнюю часть. Затем он сделал шахматную доску из печатной платы (PCB) с встроенными под ней магнитными датчиками, способными определять, когда определённые фигуры переместились в определённые места.
Чтобы перемещать свои фигуры, моторизованный механизм под доской направляет электромагнит вдоль нижней стороны. При активации электромагнит притягивает магнит внутри фигуры и перетаскивает её через доску к нужному квадрату, выключаясь после завершения хода.
Всё это принятие решений или управление операциями работает на популярном шахматном движке с открытым исходным кодом Stockfish. Эта доступная платформа позволяет Стэнли настраивать сложность своего противника-ИИ на лету. Это важно, отмечает он, потому что сам он, по иронии судьбы, не очень любит играть в шахматы и, похоже, намерен и дальше так себя вести.
«Чтобы исправить это, вместо того, чтобы тратить время на практику или изучение шахмат, я собираюсь сделать шахматного робота, способного обыгрывать меня настолько убедительно, чтобы я больше не хотел играть», — говорит Стэнли в видео, где он рассказывает о сборке.
**Создание самоиграющей шахматной доски**
Стэнли описывает свой процесс как попытку решить три задачи: как определить ход человека, как определить, какой ход должен сделать компьютер, и как компьютер должен физически перемещать свои фигуры. Первые две ситуации относительно просты в цифровой сфере, но становятся намного сложнее на физической доске. Печать каждой фигуры с встроенным магнитом помогла решить эту задачу. Он также говорит, что использовал одну полярность магнита для всех чёрных фигур и противоположную полярность для белых фигур, чтобы помочь компьютеру различать две стороны.
Чтобы создать модель компьютера, играющего в шахматы, Стэнли сначала попытался написать код сам, но быстро понял, что находится «далеко за пределами своей зоны комфорта». Вместо этого он обратился к движку с открытым исходным кодом Stockfish, чтобы тот принимал решения. Однако ему всё ещё нужен был способ перевести физическую информацию с доски в цифровой формат, который мог бы прочитать Stockfish, и наоборот. Для этого он написал скрипт на Python, который будет выступать в качестве «посредника» между ними.
Стэнли написал скрипт на Python, чтобы перевести физические ходы с доски в формат, понятный шахматному программному обеспечению. Изображение: Joshua Stanley Robotics.
Магниты были не первым выбором Стэнли для передвижения. Он говорит, что экспериментировал с несколькими прототипами выдвижной роботизированной руки, которая выдвигалась бы из-под доски и захватывала фигуры, но обнаружил, что она не может обращаться с ними достаточно точно. Магнитный подход оказался более простым и имел дополнительное преимущество в виде лёгкости и портативности доски. Однако у него есть ограничения. Поскольку фигуры перетаскиваются с клетки на клетку, такие ходы, как прыжки коня, когда фигура должна пройти через другие фигуры на своём пути, могут быть сложными. В некоторых случаях конь может сбивать фигуры на своём пути, которые затем игрок должен будет вернуть на место. Похоже, что человек также должен вручную удалять захваченные фигуры с доски.
Тем не менее, несмотря на недостатки, Стэнли оценивает свою работу как играбельную, что само по себе является успехом.
«В целом я очень доволен тем, как получился этот проект, — говорит Стэнли. — Скрытое движение электромагнита и лёгкое гудение моторов добавляет напряжения в каждый ход».
Самодельная работа Стэнли, безусловно, не первая попытка создания самоиграющей шахматной доски. На коммерческом рынке уже есть несколько моделей, большинство из которых используют вариации аналогичного подхода на основе магнитов. Miko-Chess Grand — один из наиболее популярных вариантов, рекламируемый как доска турнирного размера, изготовленная из настоящего дерева и работающая на аналогичной магнитной системе. Она продаётся по цене 497 долларов.
Другая самоиграющая шахматная доска, Phantom, также использует магниты для перемещения своих фигур, но может интегрироваться с онлайн-приложением. Это позволяет игрокам соревноваться с человеческими противниками на таких платформах, как Chess.com, и воспроизводить ходы своего виртуального противника на физической доске почти в реальном времени.
Доска Стэнли, напротив, более упрощена и менее изысканна. Для него, однако, это было не столько о превращении компьютеризированных шахматных досок в предмет для гостиной, сколько о решении новой технической задачи.
«Я думаю, что этот проект получился потрясающим, — сказал он. — Это дало мне хороший повод начать изучать программирование на Python, что было для меня дополнительной целью».