21.02.2019 Геннадий Ромат Игры и развлечения 0
Можно ли обыграть компьютер в шахматы
Первые попытки игры в шахматы на компе обычно заканчиваются поражением человека. Создается ощущение, что выиграть у искусственного интеллекта просто невозможно. Однако, это не совсем так, выигрыш вполне реален.
При любом уровня мастерства нужно выбирать соответствующую сложность партии. Поступательное движение от простых задач к более сложным даст новые знания, позволит добиваться победы в трудных партиях.
Впрочем, обыграть супер компьютер не просто. Известные гроссмейстеры давно отказались от таких попыток, по крайней мере, публично. Тем не менее, редкие случаи побед есть. Израильский шахматист Борис Альтерман стал известен благодаря тому, что в начале 21 в. обыграл программу с помощью оборонительной стратегии.
Что такое мат?
Мат — в ходе шахматной игры создается ситуация, когда король находится под шахом (или под боем). При этом, игрок не может сделать ни одного хода, чтобы его избежать. Таким образом, при мате одновременно:
- Король находится под шахом;
- У короля нет возможности уйти от шаха (все поля вокруг него заняты своими фигурами или находятся под ударом фигур противника, или король находится на краю игровой доски);
- У игрока нет возможности закрыться от шаха другой фигурой;
- Нет возможности взять фигуру, объявившую шах.
Чёрный король, оказавшийся у края доски, получил мат, игра окончена (все свободные поля контролируют белые фигуры, также чёрный король не может сам атаковать белого ферзя, поскольку тот защищён белым королём).
Как правильно расставить фигуры на доске
Действие игры разворачивается на шахматной доске, которая состоит из 64 черно-белых квадратов. Расположение доски будет правильным, если в правом нижнем углу находится белая клетка.
На доске в определенном порядке выстраиваются фигуры каждого игрока: черные и белые. Каждому игроку принадлежит по 16 фигур. На линии 2 и 7 размещаются пешки (по 8 фигур у каждого игрока). Линии 1 и 8 занимают остальные фигуры.
Правила расстановки шахмат на линии 1 и 8:
- Углы доски занимают ладьи;
- Далее рядом с ладьями находятся кони;
- Следующая фигура от коня к центру доски – слон;
- Ферзь находится на клетке идентичного цвета (белая фигура на белой клетке, черная на черной);
- Рядом с ферзем расположен король.
Самой ценной фигурой в игре после короля является ферзь. Следующей по важности считается ладья, затем следуют слон и конь. Заключает этот список пешка.
В шахматах не стоит понапрасну рисковать фигурами, ставить их под удар и терять, если только это не часть продуманной стратегии. Правила игры в шахматы для начинающих учат, что на доске важна каждая пешка, если потери фигуры не удается избежать, всегда следует жертвовать менее ценной.
Правильная расстановка фигур по классической схеме на шахматной доске:
Шаг Генерация ходов и визуализация шахматной доски
Мы будем использовать библиотеки для генерации ходов и для визуализации доски. Библиотека для генерации ходов реализует все правила шахмат. Исходя из этого, мы можем рассчитать все ходы для данного состояния доски.
Визуализация функции генерации движения. Исходное положение используется как вход, а на выходе — все возможные ходы из этой позиции.
Использование этих библиотек поможет нам сосредоточиться только на самой интересной задаче — создании алгоритма, который находит лучший ход. Мы начнем с написания функции, которая возвращает случайный ход из всех возможных ходов:
var calculateBestMove = function(game) { //Генерация всех ходов для данной позиции var newGameMoves = _moves(); return newGameMoves[(() * )]; };
Хотя этот алгоритм не очень солидный шахматист, но это хорошая отправная точка, поскольку его уровня достаточно, чтобы сыграть с нами:
Черные играют случайными ходами
Посмотреть, что получилось на данном этапе, вы можете на JSFiddle.
Chess Vision
Chess Vision — это потрясающий набор инструментов на основе ИИ для игры в шахматы. Состоит оно из трех частей, обычным пользователям с головой хватит расширения для браузера Chrome или Firefox.
После установки расширения Chess Vision оно сможет анализировать шахматные доски прямо с вашего монитора. Например, если вы ломаете голову над онлайн-партией или смотрите стрим шахматного матча, просто запустите расширение: за минуту-другую оно отсканирует доску и предложит лучшие ходы и комбинации. В общем, это отличный способ научиться анализировать собственные ошибки.
Последняя часть — это ИИ-считыватель электронных книг, который превращает обычные шахматные учебники в интерактивные страницы: вы сможете сразу разыграть любую партию, которую найдете в книге. Данная функция имеет ограничения для бесплатных пользователей, так что для полного доступа придется доплатить.
Хорошие новости
Если, прочитав всё это, вы до сих пор верите в свою мечту, верите, что сможете стать гроссмейстером, и никто не в силах вас остановить — я могу только пожать вам руку. В таком случае у вас всё может получиться.
Если я смог, то вы тоже сможете.
Я серьёзно.
Когда я говорю, что у меня не было особого шахматного таланта, то многие смеются, думая, что я так шучу. Или говорят: «Разве возможно стать гроссмейстером с уровнем выше 2600 не имея таланта?»
Но это правда. Мои друзья, с которыми я работал над шахматами, могут подтвердить насколько у меня плохая память. Когда мы вместе изучали некоторые позиции, часто на следующий день я не мог вспомнить больше 10% изученного. А перед игрой, когда мне надо было освежить варианты, это занимало у меня в три раза больше времени, чем у остальных.
Я скажу одну забавную вещь, вы только обещайте не сильно смеяться. Был в моей карьере момент, когда я решал много шахматных задачек. И самые интересные задачки я сохранял в отдельный файл. Но не потому что я знал, что когда-то стану тренером, и они мне понадобятся, а просто потому что у меня была настолько плохая память что через пару месяцев я решал те же самые задачки. Мне казалось, что я вижу их впервые и никогда их прежде не решал.
Я никогда хорошо не играл в блиц. Мой мозг работал не так быстро, как у моих титулованных друзей.
Так как же я стал гроссмейстером?
Я просто работал больше остальных.
Моя семья, тренера и друзья знают насколько я был предан шахматам и своей мечте. Я работал неделями напролёт без выходных, по 8 часов в день. Просто у меня не было другого выбора. Как я уже говорил, если у вас не достаёт одного из четырёх необходимых навыков, то вам придётся усерднее налегать на оставшиеся.