21.02.2019 Геннадий Ромат Игры и развлечения 0
Можно ли обыграть компьютер в шахматы
Первые попытки игры в шахматы на компе обычно заканчиваются поражением человека. Создается ощущение, что выиграть у искусственного интеллекта просто невозможно. Однако, это не совсем так, выигрыш вполне реален.
При любом уровня мастерства нужно выбирать соответствующую сложность партии. Поступательное движение от простых задач к более сложным даст новые знания, позволит добиваться победы в трудных партиях.
Впрочем, обыграть супер компьютер не просто. Известные гроссмейстеры давно отказались от таких попыток, по крайней мере, публично. Тем не менее, редкие случаи побед есть. Израильский шахматист Борис Альтерман стал известен благодаря тому, что в начале 21 в. обыграл программу с помощью оборонительной стратегии.
Что такое мат?
Мат — в ходе шахматной игры создается ситуация, когда король находится под шахом (или под боем). При этом, игрок не может сделать ни одного хода, чтобы его избежать. Таким образом, при мате одновременно:
- Король находится под шахом;
- У короля нет возможности уйти от шаха (все поля вокруг него заняты своими фигурами или находятся под ударом фигур противника, или король находится на краю игровой доски);
- У игрока нет возможности закрыться от шаха другой фигурой;
- Нет возможности взять фигуру, объявившую шах.
Чёрный король, оказавшийся у края доски, получил мат, игра окончена (все свободные поля контролируют белые фигуры, также чёрный король не может сам атаковать белого ферзя, поскольку тот защищён белым королём).
Как правильно расставить фигуры на доске
Действие игры разворачивается на шахматной доске, которая состоит из 64 черно-белых квадратов. Расположение доски будет правильным, если в правом нижнем углу находится белая клетка.
На доске в определенном порядке выстраиваются фигуры каждого игрока: черные и белые. Каждому игроку принадлежит по 16 фигур. На линии 2 и 7 размещаются пешки (по 8 фигур у каждого игрока). Линии 1 и 8 занимают остальные фигуры.
Правила расстановки шахмат на линии 1 и 8:
- Углы доски занимают ладьи;
- Далее рядом с ладьями находятся кони;
- Следующая фигура от коня к центру доски – слон;
- Ферзь находится на клетке идентичного цвета (белая фигура на белой клетке, черная на черной);
- Рядом с ферзем расположен король.
Самой ценной фигурой в игре после короля является ферзь. Следующей по важности считается ладья, затем следуют слон и конь. Заключает этот список пешка.
В шахматах не стоит понапрасну рисковать фигурами, ставить их под удар и терять, если только это не часть продуманной стратегии. Правила игры в шахматы для начинающих учат, что на доске важна каждая пешка, если потери фигуры не удается избежать, всегда следует жертвовать менее ценной.
Правильная расстановка фигур по классической схеме на шахматной доске:
Коллекционирование шахмат
Искусно сделанные шахматы ручной работы нередко становятся предметом коллекционирования для любителей игры и ценителей антиквариата. В отличие от наборов конвейерного производства такие комплекты отличаются уникальным исполнением и нестандартным внешним видом. Часто фигуры изображают животных, рыцарей, известных личностей и т. п. Коллекционируют также шахматы из редких и дорогостоящих материалов: красного дерева, слоновой кости, драгоценных металлов.
Пластиковые виды фигурных шахмат представляют интерес, если выполнены в нестандартном карманном формате. Стоимость некоторых эксклюзивных комплектов может исчисляться тысячами долларов. Не только и не столько ценен сам набор и материал изготовления, как его история, мастера и владельцы этих шахмат.
Stockfish
Stockfish — это, наверное, самый мощный шахматный движок с открытым исходным кодом, который способен использовать до 512 ядер ЦП в многопроцессорных системах. При этом он распространяется бесплатно и доступен как для настольных (Windows, Linux), так и для мобильных платформ.
Среди его возможностей стоит отметить поддержку алгоритма альфа-бета-отсечения, битовые доски, большую глубину поиска из-за более агрессивной обрезки и сокращения ходов, а также поддержку Chess960 и многое другое.
Stockfish намного сильнее, чем лучшие гроссмейстеры. В отличие от большинства шахматных движков, он имеет открытый исходный код (лицензия GPL), поэтому вы можете читать код, изменять его и использовать в собственных проектах.
Доступен для Android / iPhone и ПК (по ссылке выше).
Шаг Улучшенная функция оценки
Первоначальная функция оценки довольно наивна, поскольку мы просто подсчитываем очки фигур, которые находятся на доске. Чтобы улучшить её, мы начнём учитывать положение фигур. Например, конь в центре доски «дороже», потому что он имеет больше доступных ходов и, следовательно, более активен, чем конь на краю доски.
Мы будем использовать слегка скорректированную версию квадратных таблиц, первоначально описанных в вики Chess Programming.
Визуализация квадратных таблиц. Мы можем уменьшить или увеличить оценку в зависимости от местоположения фигуры.
Применив это улучшение, мы получим алгоритм, который неплохо играет в шахматы, по крайней мере, с точки зрения простого игрока:
Улучшенная оценка и альфа-бета-отсечение с глубиной поиска 3
Посмотреть, что получилось на данном этапе, вы можете на JSFiddle.
Сильный характер
Чтобы стать гроссмейстером вам также нужно обладать сильным характером. Недостаточно просто хорошо играть. На всём шахматном пути вам будут прилетать удары судьбы. У вас будут обидные поражения. У вас будут настолько ужасные турниры, что первой же реакцией будет отказаться от мечты и бросить шахматы.
Почти все гроссмейстеры сталкивались с подобным в своей карьере. Но что отличает их от остальных — они не сдались…
Победители никогда не сдаются, а сдавшиеся никогда не побеждают.
У меня самого были настолько болезненные поражения, что я месяцами не прикасался к шахматной доске. Но я всё равно возвращался. И если вы поговорите с другими гроссмейстерами, у всех найдётся похожая история.
Многие игроки, талантливее нас, бросали шахматы. Потому что не держали удары судьбы.