Тогызкумалак - игра, которую невозможно не полюбить-3
Как отмечалось выше, сильнейшие игроки по тогызкумалаку живут в Казахстане. В стране проводится немалое количество турниров (включая самый престижный - чемпионат страны), работает большое количество кружков для детей, в которых занимается около 200 тыс. человек, существует система разрядов и рейтингов, есть 150 мастеров спорта, 40 международных мастеров, а также заслуженные мастера спорта (звания гроссмейстера не существует).
Где-то есть конкуренция, где-то ее фактически нет. Чемпион Германии (такой есть) вряд ли войдет в топ-30 на чемпионате Казахстана.
У вас есть прекрасная возможность стать чемпионом города, региона или даже страны, если организуете соревнования, ниша практически свободна. В России турниры по тогызкумалаку проводятся в основном в Хакасии, Туве, в Республике Алтай.
На нижеприведенных ютуб-роликах можно лицезреть историю рейтингов сильнейших игроков за 2012-2024 гг.
https://www.youtube.com/watch?v=K6PoYwCpCus
https://www.youtube.com/watch?v=h0nf92oiwds
Многократная чемпионка мира, заслуженный мастер спорта РК Асель Далиева:
Мастер спорта РК из Павлодара, одна из сильнейших игроков Анастасия Карапыш (Фоос):
Эпоха компьютеров
Теперь поговорим о том, как компьютер играет в тогызкумалак и насколько успешно он это делает.
Нынче никого не удивишь программами, которые играют в интеллектуальные игры. Программы "думают" (анализируют текущую позицию), делают ходы (принимают решения) и способны сыграть целую партию, как и человек. Успехи компьютерных программ в наше время неоспоримы: и в шахматах, и в шашках, и даже в игре го лучшие программы уже превосходят сильнейших гроссмейстеров.
Тогызкумалак относится к играм с полной информацией, элемент случайности или везения (как в картах или нардах) полностью отсутствует, поэтому к нему можно применить те же самые принципы и алгоритмы, которые применяют, например, к шахматам.
Программисты, которые писали программы для шахмат, шашек, го и прочих переборных задач, с легкостью напишут программу для тогызкумалака. Вопрос в том, будет ли она обыгрывать сильнейших игроков. Классическим способом такого программирования, изобретенный Клодом Шенноном (математиком и основателем теории информации) еще в конце 40-х годах XX века, является минимакс с альфа-бетой и прочими отсечениями (альфа-бету придумал то ли советский математик Брудно, то ли американские ученые Ньюэлл и Саймон - непонятно), однако далеко не все эвристики из шахматного программирования здесь заработают. Например, эвристика нулевого хода в тогызкумалаке не работает, потому что в этой игре (особенно в ее концовке) выгодно передать ход противнику. В тогызкумалаке не даёт большой прибавки к силе и такая мощная техника, как transposition tables.
Если вкратце, то программа для выбора хода (принятия решения) строит дерево игры, где корень - это исходная позиция, ветви - это возможные ходы, а листья - это позиции, возникшие в результате сделанных ходов (на самом деле, программа строит не дерево, а граф, но это несущественно).
Как и в любой нетривиальной игре, при переборе мы сталкиваемся с комбинаторным взрывом. С уверенностью могу заявить, что игра тогызкумалак не может быть строго математически решена ни в ближайшем будущем, ни, вероятно, вообще (то есть невозможно будет из начальной позиции просчитать игру до самого конца для определения идеальной, математически точной стратегии).
После первого хода белых может возникнуть 9 позиций, после ответного хода черных - 73 позиции. Программисты измеряют продолжительность партии в полуходах, поэтому будем придерживаться этой традиции. После трех полуходов имеем 613 возможных позиций, после четырех полуходов - 5 199.
Дерево игры растет экспоненциально, но пока не выглядит слишком страшным. Однако, что будет дальше? После пяти полуходов - 43 184, после шести - 360 035, после семи - 3 003 052 (больше трех миллионов), после восьми - 25 166 174, после девяти - 210 521 787, после десяти - 1 766 804 407 (счет пошел уже на миллиарды), после одиннадцати - 14 811 651 049.
Таким образом, после 11 полуходов (то есть только после шести ходов белых и пяти ходов черных) возникает 15 миллиардов позиций. Это 15 миллиардов возможных партий! И это всего лишь середина дебюта, самое начало партии.
Существует так называемое число Шеннона - оценочное минимальное количество неповторяющихся шахматных партий, вычисленное в 1950 году американским математиком Клодом Шенноном. Оно составляет приблизительно 10120. Для тогызкумалака я оцениваю приблизительное количество возможных партий в 1083. Кроме того, Шеннон высчитал и количество возможных шахматных позиций, равняющееся примерно 1043. Если взять 18 лунок, каждая из которых может содержать до 30 кумалаков (хотя я нередко встречал, как игроки копили в лунках и больше), то число возможных позиций равно приблизительно 1037. Не намного меньше, как мы видим.
По моему мнению, тогызкумалак — это идеальная игра из семейства манкала. Очень удачно выбрано число лунок - 9. Если их число делать меньше (6, как в калахе), то запустив программу на несколько месяцев, можно получить окончательный результат игры при оптимальной игре обеих сторон. В том случае, если увеличить количество лунок, то игра приобретает затяжной характер и может продолжаться чрезмерно долго. Кстати, по этой же причине шахматы остаются в своем классическом варианте (8 на 8), несмотря на многочисленные попытки модернизировать эту игру. Даже Капабланка в свое время предлагал добавить дополнительные фигуры и увеличить размер доски, но позже понял, что это заметно удлиняет партию и перестает делать шахматы столь интересными.
Тот, кто полагает, что тогызкумалак - игра исключительно счетная и поэтому компьютер должен легко бить человека, глубоко ошибается. Методом проб и ошибок люди определили надежные дебюты (многие пали в тех кровопролитных боях, но их опыт послужил помощью для последующих поколений); сильные игроки, а тем более мастера спорта прекрасно знают дебютные ловушки и из дебютов выходят с хорошей, перспективной позицией, а дальше - больше начинается не счёт, а стратегия, умение грамотно и гармонично расположить кумалаки (шарики) с прицелом на эндшпиль, где всё решит количество ходов, оставшихся до лунки накопления. Тонко играющие игроки чуть ли не из дебюта видят очертания и силуэты концовки игры (что не означает, что они тоже не ошибаются).
При создании программы по методу Шеннона мы всегда сталкиваемся с двумя сложностями: глубиной перебора и оценочной функцией. Про перебор и комбинаторный взрыв я уже говорил, а что касается оценочной функции, то написать хорошую оценочную функцию на самом деле очень нелегко.
В игре тогызкумалак присутствует уникальный элемент — это туздык. Честно говоря, трудно подыскать аналог туздыка в других логических играх. Любой программист, решающий описываемую задачу, вынужден дать туздыку количественную оценку, а с этим не всё так просто. Если в шахматах давным-давно известна ценность каждой фигуры (пешка - одна единица, конь и слон - по три, ладья - пять единиц, ферзь - девять, хотя на самом деле эти величины имеют немного другие значения, но это не так важно), то как определить ценность туздыка? Ни один игрок (будь он опытный любитель либо чемпион мира) не сможет дать вам точный ответ на этот вопрос, а если и даст, то со множеством оговорок, допущений и исключений. Ценность туздыка зависит от того, где он расположен, в какой стадии установлен, зависит от взаимного расположения туздыков и т. д. Туздык не имеет точного математического эквивалента, у него плавающая стоимость, а при создании программ желательно иметь строгие числовые значения, а не расплывчатые рассуждения.
Вообще на каждое утверждение в тогызкумалаке найдется масса исключений.
Современный подход к написанию программ, играющих в логические игры, заключается в использовании глубоких нейронных сетей, что принесло успех при создании программы для игры в го, но это отдельная история и об этом поговорим как-нибудь в следующий раз.
Моя программа (мобильное приложение “Мастер тогызкумалака”) является неоднократной чемпионкой мира среди компьютерных программ, но далека от идеала. Она может победить белкового мастера спорта или даже международного мастера и в следующем туре проиграть кандидату в мастера. Определенные типы позиций она понимает не очень хорошо, и работа над этим требует много времени.
Скачать ее можно с Google Play (https://play.google.com/store/apps/details?id=com.yernar.master2), она небесплатна, но содержит в себе массу возможностей (игра с AI, игра с человеком онлайн, анализ позиции, дебютная библиотека, база партий мастеров, зал славы и прочее). Начинающим я порекомендовал бы выбирать уровень 0 (“Ребенок”), чтобы просто почувствовать вкус побед, а затем постепенно повышать уровень противника с искусственным интеллектом (увеличивается глубина перебора, улучшается игра машины в эндшпиле). Начиная с уровня 5 (“Крепкий орешек”) программа подключает обширную дебютную базу и сражаться с ней становится трудно даже сильным любителям.
Заключение
Вот вкратце всё, что я хотел вам рассказать об этой древней, неисчерпаемой и мудрой, как шахматы, игре. На образовательной платформе stepik я скоро открою бесплатный курс для начинающих (https://stepik.org/course/198189/), который можно будет пройти для более глубокого погружения в игру. Там будет больше теории, больше задачек, будут приведены формулы для расчета оставшихся ходов в эндшпиле, будет рассказано о типичных приемах. Если вам стала интересна игра, подписывайтесь на мой телеграм-канал (https://t.me/togyzkumalakmaster), там периодически будет появляться что-то интересное. Кроме того, в работе две книги по тогызкумалаку (по теории игры и по дебютным вариантам), они будут полезны не только начинающим.
Удачной игры и незабываемых ощущений!
Этой игре все возрасты покорны!