Найти в Дзене
Rikou

Лучше чем шахматы? Знакомимся с Сёги

Начальная раскладка
Начальная раскладка

Этой игре насчитывается уже много веков, но она все еще настолько же интересна и актуальна как и во времена когда компьютеры были еще в далеком будущем и имя этой увлекательной игры 将棋 (яп. — сёги), что в переводе с японского переводится как "Игра генералов". В начале партии каждый игрок имеет по 20 фигур: 1 король, 1 ладья, 1 слон, 2 золотых и 2 серебряных генерала, 2 коня, 2 копья и 9 пешек. Фигуры имеют форму вытянутого пятиугольника со скосом в сторону противника, на обеих поверхностях которого иероглифами надписано название основной и превращенной фигуры. Как и в шахматах, игра заканчивается, когда одна из сторон ставит "мат" королю противника, то есть создаёт позицию, в которой король противника находится под боем (шахом) и этот шах противник не может устранить никаким ходом. Поставивший мат выигрывает. Говорить "шах" и "мат" при этом считается неэтичным. Также игра заканчивается, если один из игроков сдается. В Японии признание своего поражения выражается словом 負けました (яп. — проиграл) и небольшим поклоном.

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

Сёги-фигуры имеют сложную форму, а ее обозначение представляет Кандзи
Сёги-фигуры имеют сложную форму, а ее обозначение представляет Кандзи

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

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

Современные классические Сёги появились в XVI веке. Император Го-Нара создал именно ту игру Сёги, которая известна и сегодня. Взяв за основу Малые Сёги на доске 9*9, он сократил число фигур с 42 до 40 (убрав пьяного слона) и ввёл принципиально новое правило — теперь взятые игроком фигуры противника переходили к взявшему, и он мог в любой момент вместо своего очередного хода выставить на доску любую из этих фигур как собственную. Это новшество кардинально изменило стратегию и тактику игры.

Поиграй со мной!
Поиграй со мной!

Проникнувшись всем великолепием данной игры, я решил написать свою программу игры в Сёги. Основная и самая сложная в реализации ее часть - это игровой ИИ (искусственный интеллект - позволяющий компьютеру вычислять наиболее релевантные ходы). Задачей ИИ здесь является пройти на заданную глубину все ветвления (ну, или основную их часть) партии для последующей оценки хода. Перебор ходов здесь самая затратная по времени для ЦПУ задача, ведь варианты ходов в Сёги растут крайне быстро. Только на 2 ходу их уже около 1000 (примерно 30 ходов для каждой из сторон), на 4 ход их будет не меньше 1000^2. В дальнейшем ветвления ходов возрастают многократно, а с учетом того, что есть еще ходы сброса фигур, их становится еще больше, ибо фигуры из "руки" мобильнее и имеют еще больше вариантов ходов.

Тесты показали, что на доске 9*9 клеток с прогнозированием партии на 4-6 ходов просчитываемое число ветвлений в игре достигает нескольких миллионов и более. Конечно, даже не смотря на довольно большую выборку для человеческого понимания, все равно машинный алгоритм ИИ сложно сравнивать с человеческим интеллектом, ведь у человека и машины совсем разный принцип понимания игры. Тем не менее, даже при учете некоторого превосходства биологического разума, нужно быть крайне внимательным, ведь потерпеть поражение можно просто не заметив шах (как писалось выше здесь не принято его объявлять), а можно и вовсе не удачно разменять фигуры, две на одну например. Компьютер удачно пользуется любой ошибкой игрока.

Ну а теперь, кто дочитал до конца, ждет мой персональный подарок.

Игра Сёги для Windows, скачать с яндекс-диска:

yadi.sk/d/UiexJ9Jfgxhu9Q?w=1

Системные требования:
ОС Windows;
.NET Framework2+;
Клавиатура, мыша (сенсорный экран поддерживается)
Свободное место ~20 МБ.

Установка:
Наличие предустановленного Framework требуемой версии;
Распаковать архив, запустить EXE.

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

В статье использован материал с ru.wikipedia.org