Метка «шахматы»

На написание этого обзора натолкнул пост, опубликованный 25 мая. В самом посте, и, тем более, в комментариях, было много сказано по поводу компьютерных шахмат вообще и матча Deep Blue — Каспаров (1997) в частности. Понятно, что сейчас, спустя уже без малого двадцать лет, мало кому интересны все подробности того матча: компьютеры развиваются с колоссальной скоростью, современные смартфоны легко дадут фору компьютерам того времени, да и возможно, сами шахматы несколько утратили популярность последнее время — по каким причинам — это уже тема отдельного разговора.

Впрочем, некоторые подробности, судя по всему, действительно неизвестны, а подробности эти таковы, что заголовки о “падении последнего интеллектуального бастиона” — не более, чем газетный прием, ибо случившийся по итогам матча, по сути, скандал, в силу своей шахматной специфичности вряд ли был бы интересен широкой публике. Нет, я, несмотря на то, что всегда являлся поклонником Гарри Кимовича Каспарова (исключительно в шахматном плане), не собираюсь его оправдывать за то поражение и пытаться доказать, что все было совсем не так, как сейчас общеизвестно. И уж тем более целью не является опровержение некоторых комментариев на шахматную тему к посту читателя alizar. Единственная цель — рассказать некоторые подробности того, что именно произошло в Нью-Йорке в начале мая 1997 года, и почему результат этого противостояния, по мнению автора, на самом деле никому ничего не доказал.
Читать полностью »

Zillion приключений (миниобзор)Я уже писал о том как легко разработать собственную игру, используя Zillions of Games, но я не упомянул об одном важном следствии этого факта. Набор приложений для ZoG не ограничивается 375 играми и головоломками, входящими в комплект дистрибутива. Игр, разработанных под Zillions of Games действительно много. Десятки энтузиастов со всего мира пополняют этот список, используя как ZRF, так и native-расширения. На сегодняшний день, его размер уже перевалил за 2000.

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

Приручаем ZoG (Часть 4: Осторожно — мины!)Сегодня я хочу продолжить рассказ о возможностях языка описания игр ZRF, используемого Zillions of Games. В предыдущих статьях цикла я показал как описываются ходы фигур, но есть еще одна важная разновидность хода, оставшаяся не рассмотренной. Помимо перемещения фигур по доске (возможно со взятием фигур противника), игрок (если ему это разрешено), может добавлять новые фигуры на поле. Эта разновидность хода называется сбросом (drops).
Кроме того, в сегодняшней статье, я расскажу о том, как в ZoG осуществляется генерация случайных ходов. Этот функционал необходим, например, при реализации игр, использующих броски игровых костей, для выполнения ходов, таких как Ludo или Chaturanga.

В качестве примера, я предлагаю, взяв за основу классические Шахматы, реализовать игру по мотивам одной из миссий сюжетной кампании Battle vs Chess. Большинство миссий в кампании играются по измененным правилам. Миссии различаются по сложности, в некоторых, для победы, достаточно провести одну из пешек в ферзи, в других — поставить мат за ограниченное число ходов. Я предлагаю рассмотреть четвертую миссию кампании Хаоса под названием «Точка невозврата».
Читать полностью »

К шахматам я неравнодушен с детства. Хотя я так и не научился играть действительно хорошо, сам процесс игры доставляет мне огромное удовольствие. Довольно давно я узнал, что помимо известных всем традиционных шахмат, существуют и другие их разновидности. Не помню на каком компьютере, на Спектруме или Векторе 06 Ц я впервые увидел Сянцы.Игра была полностью на китайском языке и постигать её правила приходилось «методом тыка». Позже, я узнал о существовании Сёги, Чатуранга и прочих ближайших родственников Шахмат. Публикации в Кванте подстегнули интерес к Сказочным шахматам. Меня заинтересовал вопрос, сколько вообще известно разновидностей шахмат? Выяснилось, что их невероятно много. Настолько много, что список, посвященный этому вопросу на Вике очень и очень далек от того, чтобы его можно было считать полным.

Уже гораздо позже, когда я стал профессиональным программистом, у меня появилась идея, разработать универсальное приложение, для контроля правил ходов в разнообразных шахматноподобных играх на квадратных и прямоугольных досках. Разумеется, у меня и в мыслях не было, что я смогу создать универсальный AI. Даже сама задача реализации универсальной шахматной доски, с настраиваемым контролем всевозможных правил и возможностью игры по сети выглядела неподъемной. Я коллекционировал правила шахматных игр, пытался обобщить их, но, с учетом того, что я занимался этим краткими урывками, между основной работой, процесс пробуксовывал и шел очень медленно. Так продолжалось до тех пор, пока в прошлую пятницу, я не обнаружил проект под названием Zillions of Games.
Читать полностью »

Чемпион мира по шахматам, юный Магнус Карлсен сыграл с Биллом Гейтсом в «быстрые шахматы» в эфире скандинавского телеканала NRK и поставил ему мат девятым ходом.


Читать полностью »

Шахматы на чистом sed В Линуксе и многих других системах существует утилита командной строки sed («сед») — это несложный редактор, которые преобразует текст, попадающий ему на вход при помощи несложных команд.

Его, в основном, используют для всяких мелких нужд в bash-скриптах — заменить одну строку на другую, что-то удалить и так далее. Если говорить терминами более привычных языков, в «седе» доступны две строковые переменные, в одной из которых можно что-нибудь проверять, заменять, а со второй только обмениваться данными из первой, метки, команды переходов на метки и группировка команд, плюс ещё несколько менее полезных.

Вот на этом безобразии я решился написать шахматы, причём такие, чтобы можно было бы играть с компьютером.
Читать полностью »

Однажды, в жаркий летний день, меня посетила идея скрестить шахматы с картами. Не в буквальном, конечно, смысле, а в том, что касается случайного характера карточных игр. Добавить немного этой случайности, непредсказуемости в шахматы. Зачем?

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

«Почему бы не восполнить этот пробел?» — подумал я и решил пойти по пути авторов over 9000 модификаций шахмат, создав свою собственную с блэкджеком и сауной.Читать полностью »

Приветствую всех любителей шахмат и тех, кто быть может, случайно открыл эту статью. Разговор сегодня пойдет про то, как выдавать ходы шахматного движка за свои. Да, не честно!, но наверное любому шахматисту или просто любителю шахмат эта идея хоть раз, да приходила в голову. Ближе к телу… Первое что приходит на ум, это наладить диалог какой-то шахматной программы, работающей непосредственно на ПК, с конкретным приложением посредством GET&POST запросов. Начав копать в этом направлении в скором времени становиться понятно, что во-первых решение является «не гибким» т.к. придется существенно изменять код программы при адаптации ее к другому приложению, а во-вторых затрачивать процессорное время, что является достаточно серьезным фактором, даже для средних по параметрам ПК. Из выше сказанного можно сделать вывод:
1. Все вычисления должны быть на удаленном сервер (желательно не нашем)
2. Работать с приложением так, как бы это делал пользователь (эмулировать нажатие клавиш мыши).

[Удаленный сервер]<===a===>[Мы]<===b==>[Наш противник]

a) Был выбран сайт, на котором работал на движке GNU Chess, точное elo неизвестно, но в пределах 2300-2500 (возможно больше). То есть это уровень гроссмейстера. Сайту отправляется GET запрос, в котором мы указываем ход противника, тот выдает ответный ход.
b) Ответный ход с удаленного сервера сопоставляется с координатами доски, после которого происходит эмуляция перемещение фигуры мышью (одним-двумя кликами);
План был обозначен, в качестве среды был взят старый добрый Delphi 7. Что из этого получилось можно посмотреть ниже.

Читать полностью »

В 2013 году в Нью-Йорке все желающие смогут увидеть постановку «Машина» (The Machine) по мотивам шахматного матча 1997 года между Гарри Каспаровым и суперкомпьютером IBM Deep Blue. Презентация пьесы намечена на сентябрь.
Пьеса о том, как Гарри Каспаров проиграл матч суперкомпьютеру Deep Blue
Читать полностью »

Не так давно я уже писал небольшой пост о разработке ИИ для игры в т.н. мини-сёги, но опрос показал, что хабрасообществу будет интересен и более полный пост о разработке. Кому интересно, прошу под кат.Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js