Техника - молодёжи 1987-09, страница 57

Техника - молодёжи 1987-09, страница 57

Если расположение фигур устраивает ПМК, проводится очередная проверка (21 -27): не стоит ли ладья на соседней с черным королем вертикали. Если да, то ладью следует на всякий случай отвести подальше. Но куда — по вертикали или горизонтали? ПМК проверяет, не стоят ли белые фигуры на одной горизонтали (28-32; заодно горизонтальная координата ладьи записывается в рабочий регистр 7 для использования при проверке 15-18); если такое имеет место, то во избежание неприятностей ладья уходит по вертикали (реализуются варианты Л4 или Л5): командами 33-34 вызывается универсальная подпрограмма увода

-I2 3 4 5 6 7 8

ладьи КППА (она располагается на адресах Ю-20 и 41-43). Подпрограмма определяет, на какой половине поля (верхней или нижней) находится черный король, в зависимости от результата намечает пойти на 8-ю или 2-ю горизонталь, проверяет, не стоит ли уже ладья на намеченном поле, и если да, то меняет 8 на 7 либо 2 на 1. По возвращении из ПП управление передается на участок 6364, вызывается подпрограмма КППД (74-79), записывающая в регистр 6 новую вертикальную координату ладьи и формирующая число для показа на индикаторе, затем управление переходит на 95. С/П. Ход сделан. А если белые фигуры не стоят на одной горизонтали, ладья при помощи команд 32, 50-57, 6364, 95 и подпрограмм КППА и КППД совершает аналогичный горизонтальный маневр Л2 или ЛЗ.

Если черный король не мешает ладье, ПМК приступает к планомерной осаде. Нормальным, по его мнению, является положение, когда ладья занимает горизонталь, примыкающую «снизу» к позиции преследуемого, а белый король, в свою очередь, располагается на предыдущей горизонтали. Команда 26-27 передает управление на участок 80-85: проверяется первое из этих условий. Если оно не выполнено, положение необходимо исправить. Управление передается на фрагмент 57-60, производящий предварительную проверку: не стоят ли белые фигуры на одной вертикали, ведь

в этом случае- ладье может помешать собственный король и ей приходится совершать уже рассмотренный горизонтальный маневр Л2-ЛЗ (команды 50-57, 63-64, 95). Если король не мешает, ладья выполняет ход Л6 (61-64, 95). Именно в этом случае, кстати, содержимое регистра 2 портится (так было и в варианте С. Белоноса); чтобы этого избежать, две команды 61-62 пришлось бы заменить тремя ИП2 1—. Обладатели МК-61 вполне могут это сделать, одновременно заменив фрагмент 44-45 операцией определения модуля, записав в регистр С число 49 и поменяв адрес перехода в команде 84-85 на 56.

Если ладья стоит на должной горизонтали, проверяется вертикальная координата белого короля (86-88; в регистре 7 на данйый момент хранится число, записанное командой 05.П7). Если король отстал, он делает ход вперед Кр1 (89-95). В противном случае оказываемся на очередной проверке (65-69): при оппозиции королей ладья ходит вперед с шахом (70-73, 95). В отсутствие оппозиции выполняется последняя проверка: не стоят ли короли на смежных вертикалях (43-49). Если да, то ладья выполняет знакомый нам выжидательный горизонтальный маневр Л2 или ЛЗ (50-57, 63-64, 95). Иначе король делает ход Кр2 — по горизонтали, приближаясь к противнику (36-40, 91-95).

19.34 567 8

Дополнительные возможности МК-61 (52) позволяют усовершенствовать программу. Например, если записать на адрес 96 стрелку вверх, затем 97.ПО 98.ВП 99.П2 АО'— А1.ИПА А2.4- АЗ.П1 А4.КБПЕ и ввести в регистр Е нуль, то ввод упростится: теперь при ходе черного короля нужно набирать двузначную координату и С/П. Аналогичное усовершенствование для Б3-34 тоже можно ввести, но пожертвовав, допустим, индикацией шаха. Вот соответствующий вариант:

00.ИП2 01.ИП4 02,— 03.2 04,— 05. П7 06.Fx<0 07.23 08.ИП8 09.КБП9 10.5 П.— 12.Кх<0В 13.8 14.ПО 15.ИП7 16,— 17.Fx^0 18.Д0 19.ИП0 20.В/0

21.2 22.КБП8 23.ИП5 24.ИП1 25,-26.Fx 2 27.ПО 28.FLO 29.74 30.ИП4 31.ИП6 32.П7 33,- 34.Кх=ОС 35.ИП2 36.КППА 37.БП 38.63 39.| 40.ИП1 41.— 42.Fx=^0 43.62 44.f 45.Fx 2 46.FK 47.П0 48.FLO 49.69 50.ИП5 51.П7 52.ИП1 53.КППА 54.П5 55.ИП6 56.БП 57.63 58.ИП5 59,- бО.Кх^ОС 61.КИП2 62.ИП2 63.П6 64.ИП5 65.ИПА 66.Х 67.БП 68.88 69.4- 70,- 71.ПЗ 72.БП 73.85 74.ИП2 75.ИП6 76,- 77.П0 78.FL0 79.57 80.ИП7 81.Fx^=0 82.38 83.КИП4 84.ИПЗ 85.ИП4 86.ИПА 87.4- 88.+ 89.С/П 90+ 91.П0|. 92.ВП 93.П2 94,- 95.ИПА 96.4- 97.П1

На адресах 39, 44, 90 записана стрелка вверх, на адресе 46 — извлечение корня. Перед игрой в регистры надо ввести следующие числа: 10 ПА 21 ПВ 50 ПС 89 П9 1 К— ВП П8 (буква Е; она используется как адрес перехода и сигнал о повороте доски). Индикации шаха нет. Ход черных: (двузначная координата) С/П. В остальном правила обращения с программой прежние. Если кто-нибудь предпочитает для поворота доски использовать букву Г, то можно записать ее в свободный регистр Д, команду 08.ИП8 заменить на 08.ИПД, а в регистр 8 вписать просто 14.

НЕПРИКОСНОВЕННЫЙ КОРОЛЬ

Требование ПМК о повороте доски, реализованное в программе С. Белоноса, может пригодиться и в других фигурных шахматных эндшпилях: когда на доске нет пешек, различие вертикалей от горизонталей чисто условно. Однако, если эту процедуру приходится проделывать достаточно часто (а в программе С. Белоноса, кстати говоря, Г может появиться только на первых ходах, пока ладья не заняла нужной горизонтали), она довольно утомительна. В отдельных случаях удается поручить ее самой машинке.

Именно такова шахматная программа С. Вагина из Челябинска. Белое «воинство» состоит из ферзя и короля, но последний, полагая, очевидно, что не царское это дело — всяческая суета, беготня, и тем более мат, не принимает активного участия в военных действиях: он располагается на поле сЗ (33) и лишь наблюдает за маневрами своей немногочисленной армии. Ходит только ферзь; в начале игры он занимает позицию g7 (77), а черного короля можно ставить куда угодно.

Задача о «неприкосновенном короле» была известна еще в прошлом веке. «Многие шахматисты, в том числе гроссмейстеры, ошибочно полагали, что задание (поставить ферзем мат.— М. П.) невыполнимо. Математики А. Брудно и И. Ландау обратились за помощью к ЭВМ. Стоит отметить, что при решении этой задачи впервые был использован метод ранжирования. Разбив множество всех возможных позиций по рангам, машина установила, что мат дается не позднее 23-го хода при любом началь

54