"Запатентовано" уже немало способов шахматного жульничества: кто-то использует телефоны, примотанные к ногам скотчем, и штуки вроде пультов от телевизора, другие просто выходят в туалет, чтобы подсмотреть варианты хода на телефоне. И это не говоря о случаях с неочевидным и лишь отчасти подтвержденным читерством, вроде недавнего скандала с гроссмейстером Хансом Ниманном.

Программист Джеймс Стэнли* придумал еще один способ выигрывать в шахматы. Миниатюрный компьютер Raspberry Pi Zero, лежащий у него в кармане, подключен к нескольким кнопкам и вибромоторам в его ботинках, так что он может тайком обмениваться данными с шахматным движком на базе Pi. Ноги идеально подходят для этой цели: это единственная часть тела, с помощью которой при известной степени ловкости можно проделывать сложные манипуляции незаметно для окружающих.

Джеймс назвал этот проект Sockfish, так как в качестве интерфейса для обмена данными с шахматным движком Stockfish используются его носки. Рассказ автора о подробностях эксперимента читайте под катом.

*Обращаем ваше внимание, что позиция автора может не всегда совпадать с мнением МойОфис.


Готовлюсь к партии

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

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

Проводим первую игру

Оуэн не мог взять в толк, почему мне потребовалось целых 20 секунд напряженных размышлений, чтобы сделать первый ход. В итоге он предположил, что я, должно быть, "репетировал" и теперь старался сосредоточиться изо всех сил, чтобы вспомнить теорию. Отчасти он был прав: ввод данных с помощью Sockfish и расшифровка ответных сигналов требовали высочайшей степени концентрации! Я обнаружил, что, жульничая с Sockfish, я вынужден сосредотачиваться гораздо сильнее, чем играя в шахматы по-честному. Может, я играл бы лучше, если бы всегда был таким внимательным.

Все шло хорошо, пока Sockfish не предложил мне сделать ход против правил. Игра (в представлении Sockfish) шла так: https://lichess.org/cmcYJF7G (я играл черными). Программа хотела, чтобы я сыграл 20... Qxe6.

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

Отличие от варианта Sockfish состоит в том, что моя коневая пешка (g) переместилась на g6, а мой белопольный слон не забрал фигуру на g2.

Я думаю, это произошло из-за того, что когда компьютер попросил меня сыграть Bxg2, я вместо этого пошел на g6. Хотя эта ошибка и выглядит дико, она вполне объяснима: обычно Sockfish сообщает мне начальную и конечную клетки моего хода, но поскольку на g2 можно было пойти только одной фигурой, Sockfish сообщил мне лишь конечную клетку. Поэтому программа дала команду g2, но я перепутал ее с g6. Это произошло потому, что «2» передается как две коротких вибрации на правой ноге, а для экономии времени «6» передается как одна длинная вибрация (означающая «5»), за которой следует короткая. Я просто принял первую короткую вибрацию на правой ноге за длинную и решил, что должен пойти на g6.

Возможно, эта схема расшифровки вибраций окажется полезной (а может и нет):

Как бы там ни было, играя при помощи Sockfish, я оказался в пролете, и пришлось выкручиваться самому.

Вместо того чтобы взять ферзя на е6, сыграв против правил (что вряд ли сошло бы мне с рук), я прикрылся от шаха ладьей. Это было крайне глупо с моей стороны! Я просто потерял ладью и ничего не получил взамен. В свою защиту скажу, что я был настолько поглощен взаимодействием с Sockfish, что едва понимал, что происходит на доске. Вскоре мы закончили партию, и я сдался при таком расположении фигур:

Проводим вторую игру

К счастью, Оуэн согласился на матч-реванш.

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

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

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

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

Но на самом деле фигуры стояли так:

По сути 27... Qxe1 и 28. Пока я все отменял и переделывал, ход Rxe1 каким-то образом пропал из Sockfish. Должно быть, я отыграл на 1 полуход дальше назад, чем было нужно, и не смог восстановить положение на доске. В этой позиции Sockfish предлагал мне сыграть Rd8+, но поскольку у меня не было ладьи на линии d, сделать это было затруднительно. Я заявил, что пошел "не в ту степь" (не объясняя, что это значит), и стал играть без помощи программы.

К счастью, у меня было преимущество в целого ферзя, и я выиграл без особого напряга – Оуэн сдался через несколько ходов. Не совсем тот успех, на который я рассчитывал, но, по крайней мере, это была победа! Можно определенно сказать, что Sockfish выигрывает в 50% партий.

Открываю тайну

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

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

Подробности

В моем кармане лежит пластиковая коробка, внутри которой Raspberry Pi Zero, 4-канальный АЦП для считывания сигналов резистивных датчиков усилия, несколько транзисторов для переключения питания вибромоторов и по одному подстроечному резистору на каждый вибромотор для регулировки силы вибрации. Без подстроечных резисторов моторы были бы слишком шумными и могли бы (если так можно выразиться) испортить всю игру. Вот что находится внутри пластиковой коробки:

Также в моем кармане лежит USB-аккумулятор для работы Pi-компьютера.

На Pi работает скрипт Python, который считывает данные с контактов GPIO и пишет их в поток вывода stdout, который используется скриптом Perl. В свою очередь Perl считывает нажатия кнопок из потока ввода stdin, реконструирует расположение фигур и запускает Stockfish, а затем записывает импульсы вибрации в свой поток вывода stdout, после чего они передаются на контакты GPIO вторым скриптом Python.

(Зачем такая навороченная архитектура? Я предпочел бы написать программу на Perl, но во всех примерах Raspberry Pi GPIO используется Python... поэтому так было проще).

Вся эта система работает внутри интерфейса с параметром -L, так что вывод данных регистрируется для последующего просмотра. Система запускается командой /etc/rc.local при включении компьютера.

Если во время загрузки компьютера внутриботиночные пульты подключены, то один из вибромоторов "залипает" около минуты, потому что контакт GPIO, который управляет мотором, активируется напряжением +5 В во время загрузки Pi. На самом деле это не важно, но вы можете почувствовать, что в течение минуты вибрация становится слабее по мере нагревания и увеличения сопротивления.

С помощью паяльника я проделал отверстие в накладном кармане брюк, чтобы пропустить провода внутри штанин.

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

Сначала я печатал внутриботиночные пульты из PLA-пластика. Но он оказался слишком жестким, что затрудняло ходьбу. Потом я перешел на гибкий TPU-пластик, который гораздо лучше подходит для моих целей. Кроме того, изначально я использовал обычные микропереключатели, которые повреждались во время ходьбы. Заменив их на резистивные датчики усилия, я не только решил эту проблему, но и получил дополнительное преимущество – возможность регулировать силу активации на программном уровне.

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

Послесловие: теперь я планирую разработать Sockfish-ng

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

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

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

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

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

***

Будем рады узнать в комментариях ваше мнение о статье. Может быть, у вас есть свои примеры технологических способов жульничества в шахматах и других соревновательных играх? Обязательно напишите об этом! А чтобы получать больше интересного контента, подписывайтесь на наш хабр-блог: мы регулярно переводим статьи зарубежных авторов и делимся экспертизой наших сотрудников.

Комментарии (35)


  1. LordDarklight
    07.10.2022 13:58
    +5

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


    1. SyrexS
      07.10.2022 14:12
      +2

      Проще Играть в "трусах" :)


      1. Catriaha
        07.10.2022 14:16
        +15

        1. AChep
          07.10.2022 15:52
          +12

          1. LordDarklight
            07.10.2022 16:32
            +4

            О... по мотивам SockFish (хотя причём тут носки - если первая реализация была в ботинках) - ну... ждём тогда вторую статью - уже про ButtFish (тем более там на гитхабе очень подробно всё расписано - хотя я так и не понял как вводятся команды позиций)


      1. LordDarklight
        07.10.2022 14:18

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


        1. Bedal
          07.10.2022 15:15

          ректальный компьютер?


      1. vagonovozhaty
        08.10.2022 14:08
        +3


    1. gsaw
      07.10.2022 14:19
      +5

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

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


      1. LordDarklight
        07.10.2022 15:00
        +5

        Вот я против таких спортсменов на офф соревнованиях. Да и параолимпийское движение отдельно существует!


      1. mao_zvezdun
        07.10.2022 21:28
        +3

        Читаешь про спортсменов. Складывается впечатление через один больные


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

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

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

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


        1. 0serg
          08.10.2022 09:35
          +8

          Среди профессиональных спортсменов зачастую гораздо больше больных людей чем здоровых в силу того что профессиональный спорт гробит здоровье на раз-два. Раньше это больше решалось отбором когда из сотни угробивших здоровье до соревнований доходил один которому повезло + долгими периодами восстановления после травм нередко ставившими крест на карьере. А сейчас чаще пытаются фармакологией многие вещи подлечить, что с одной стороны гуманнее, а с другой - порождает замкнутый круг когда те кто широко применяют фарму могут тренироваться больше чем те кто восстанавливается "естественным путем" и соответственно добиваться лучших результатов.


        1. KrivisKrivaitis
          08.10.2022 11:37
          +5

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

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


          1. mao_zvezdun
            08.10.2022 15:16
            +4

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

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

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

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


            1. KrivisKrivaitis
              09.10.2022 10:47

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

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

              Знаю одного крепкого парня, в детстве по больницам лежал с астмой, когда вырос, соревнования выигрывал.


    1. gremlin244
      07.10.2022 16:20

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


      1. LordDarklight
        07.10.2022 16:33
        +2

        Обуви ещё со времён 11 сентября должны уделять внимание :-]


  1. Fid0
    07.10.2022 14:19
    +3

    Подобную шпаргалку ардуино-энтузиаст Алекс Гайвер собрал еще в 2019 году. Но не шахматную, но с таким же принципом действия.


  1. saipr
    07.10.2022 14:49
    -16

    Может быть, у вас есть свои примеры технологических способов жульничества в шахматах и других соревновательных играх?

    А можно так-то без жульничества и мошенничества. Страна очнись!


    1. gsaw
      07.10.2022 15:05
      +18

      Астанавитесь!

      Вроде юмор же.


    1. Ktator
      07.10.2022 16:22
      +1

      А ничего что это перевод?


    1. Maccimo
      08.10.2022 11:26
      +1

      Жульничество, если прошло незамеченным, даёт преимущество. Так что ответ очевиден, возвращайтесь из страны розовых пони в реальность.


      1. saipr
        08.10.2022 11:53

        Да, в реальность, в жестокую реальность.


  1. ledascho
    07.10.2022 17:33
    +2

    Оба раза проблема возникала из-за несоответствия позиции на доске и в «мозгах» подсказчика. Да и задержки в игре были в основном на вводе через ботинки, а не на выводе. На реальных турнирах есть как минимум зрители-сообщники, если не api для передачи данных о текущем состоянии доски.


    1. jaguard
      07.10.2022 19:51
      +8

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


  1. vconst
    07.10.2022 20:22
    -1

    Видимо, удалось убедить начальство, что не обязательно статьи должны быть исключительно и четко про Мофис? :)

    Эксперимент удался )


  1. StjarnornasFred
    07.10.2022 21:19
    +4

    А вот действительно: разве шахматистов на входе в зал для соревнований не прогоняют через рамки? Школьники на ЕГЭ ничего лишнего пронести не могут, даже пряжка ремня или монеты в кармане пищат и охранник требует показать. Обувь тоже снимают, правда, без тщательного осмотра, но всё же. Туалеты заранее обыскиваются на предмет закладок или наскальной росписи. Интернет глушится. Если обыкновенная школа может всё это проделать, то что мешает принять те же или чуть более внимательные меры на шахматных соревнованиях высшего уровня? Особенно после того как кто-то из шахматистов, предположительно, "сгрыз" целый смартфон или даже ноутбук и спустил его в унитаз.


  1. Alexander34
    07.10.2022 21:29
    +9

    Надо вообще всё разрешить. Тогда игроки экипируются по полной. И во втором ботинке будет глушилка против оппонента. Шансы уравняются.


  1. vitekes
    08.10.2022 00:30
    +1

    Я был в 2012 году на нескольких играх матча Ананд - Гельфанд. Всё зрители сдавали в камеру хранения электронные девайсы как и игроки. Более того. Всё проходили через рамку металлодетектора.


  1. Astroscope
    08.10.2022 01:10
    +2

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

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

    Поддерживаю. Однако описанное устройство само по себе одобряю, как любое техническое творчество.


  1. FD4A
    08.10.2022 02:34
    -1

    Вот это статья... да, интересно. Надеюсь у myoffice будет нормальный UI?


  1. KrivisKrivaitis
    08.10.2022 11:42
    +2

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

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


    1. Wiemo
      09.10.2022 10:14
      +1

      https://www.casinozru.com/content/the-eudaemons-fiziki-kotorym-udalos-389.html

      Если покопать подробнее, думаю можно найти все мат. выкладки


      1. KrivisKrivaitis
        09.10.2022 10:42

        Сайт интересный, там есть другие материалы по этой теме.
        Знакомый крупье говорил, что он умеет бросать в определенный сектор, если это поможет обыграть игроков.


      1. LordDarklight
        10.10.2022 09:35

        Копать влом - а статья на Хабре про это была бы интересной