НОВОСТИ   БИБЛИОТЕКА   ЮМОР   КАРТА САЙТА   ССЫЛКИ   О САЙТЕ  




предыдущая главасодержаниеследующая глава

Формирование сложных зон

Простая нулевая зона не исключение, но и не правило. Если с ней связана какая-нибудь другая зона, как это было рассмотрено, то образуется сложная зона. Сложные зоны могут образовываться и иначе. Например, если есть простые зоны, имеющие общие фигуры, то вместе эти зоны также образуют сложную зону. Различие будет в том, что в сложной зоне, образованной из одной простой нулевой и из связанных с ней зон, на αk-поле будет лишь одна атакованная αk-фигура, в сложной же зоне, в которую входят несколько нулевых зон, может быть несколько αk-фигур.

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

Теперь можно объяснить, как формируются сложные зоны. Они формируются в процессе перебора. При одном варианте перебора сложных зон вообще может не оказаться, перебор идет в одной простой зоне, при другом - перебор идет в сложной зоне, где одно αk-поле и только одна мишень, в третьем - перебор идет в сложной зоне, где несколько фигур на аαk-полях и т. д. Может быть вариант, который охватывает одновременно несколько независимых сложных зон.

Итак, имеется великое множество МО, ибо узлов перебора много. Все это надо запомнить. Справится ли с этим ЭВМ? Суть дела в том, что эти МО имеют сходство. Все они произошли от одной "матери" - МО исходной позиции. Кроме того, с каждым ходом перебора МО меняется незначительно. На этом и основывается надежда, что все это запомнить можно. Конечно, запомнить надо не каждое МО в отдельности, это непосильная задача, запомнить надо отличие данного МО от исходного. Как же это реализовать?

Здесь напрашивается следующий метод: должно быть одно общее МО, но используется оно при каждом данном варианте перебора частично. Та часть МО, те траектории, которые уже не используются в данной ветви дерева перебора, но могут быть использованы в других ветвях, должны "застыть"; когда они понадобятся для других ветвей, эти застывшие траектории должны быть "разморожены".

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

Таким образом, новое зонообразование (образование новых) траекторий) наряду с застыванием, размораживанием-истиранием - способы, обеспечивающие индивидуализацию МО в данном узле ветви дерева перебора.

Застывание части траекторий в зоне является логичным требованием, сокращающим перебор ходов. Как только фигура прошла какое-либо α- или β-поле, часть траекторий в зоне теряет смысл. До тех пор, пока решение не принято и ход не сделан, застывание и размораживание происходят непрерывно. Как только ход сделан, часть траекторий зоны должна быть аннулирована и зона сокращена. Траектории, подлежащие аннулированию, и будут теми самыми траекториями, которые застыли бы, если бы ход был сделан не на доске, а в переборе. После того, как ход сделан, следует дополнить МО новыми нападениями, ибо границы вариантов как бы отодвинулись.

Отметим особую роль комлевых траекторий зон (нулевых либо связанных). Зона строится по частям, связанным с α1-, ...,αk-полями комлевой траектории. Если оптимальный вариант таков, что вариант оборван в частях зоны, связанных с полями α1, ..., αi, то поиск части зоны, связанной с полем αi+1 комлевой траектории, не производится.

Это относится и к нулевой и к связанной зонам. Таким образом, связанная зона так же, как и нулевая, может быть сформирована частично, и, если связанная зона не формируется полностью, она и не связывается с той зоной, с которой она могла бы быть связана.

Сложная зона составляется из нескольких нулевых следующим образом. Формируются нулевые зоны так, как это было объяснено ранее. Затем проверяется наличие у зон общих фигур и полей; если проверка дает положительный результат, то эти зоны образуют сложную зону. Перебор, который был уже проведен в этих зонах, оказывается предварительным.

Важнейшее влияние на формирование зоны имеют новые нападения. Фигура, передвигаясь в процессе перебора, может "увидеть" в пределах заданного горизонта HL неприятельскую фигуру; случается и обратная картина, когда неприятельская фигура в процессе перебора оказалась в поле зрения "неподвижно" расположенной фигуры. Надо ли при этом фиксировать эти новые нападения, создавая новые нулевые зоны? Если фиксировать все эти новые нападения без ограничения, информация разрастается и МО расползается во все стороны. Здесь необходимо разумное ограничение.

Новые нападения могут быть двух типов: относящиеся к контролирующим или блокирующим действиям фигур в горизонте Нх и собственно нападения на фигуры в горизонте НL. Ограничивать число контролирующих и блокирующих фигур в горизонте Нх вряд ли есть основания, ибо эта новая информация имеет локальный, быстро суживающийся характер. А вот нападения в горизонте HL, связанные с формированием новых зон, должны быть тщательно отфильтрованы и включены лишь те, что имеют разумные основания.

Есть еще одна принципиальная разница между нападениями в горизонте Нх (контроль и блокада) и нападениями в горизонте HL. Нападение в горизонте HL появляется лишь тогда, когда атакованная фигура уже находится на αk-поле возможной траектории нападения; траектории контроля и блокады в горизонте Нх возникают до того, как данная фигура достигла контролируемого (блокируемого) поля.

Сделаем сейчас небольшое отступление и покажем, как это новое нападение в горизонте HL может образоваться. Рассмотрим случай, когда какая-то фигура, продвигаясь |по своей траектории, достигла αi-поля; в этот момент эту фигуру в горизонте HL "увидела" неприятельская фигура. Программа составит пучок траекторий нападения. Надо ли (при этом формировать зону 'нападения и включать зону в МО?

Все это (произошло в каком-то узле ветви перебора. Запомним пучок комлевых траекторий нападения и будем продолжать перебор, спускаясь по ветви перебора еще ниже до окончания (обрыва) варианта. Примем при этом, что никаких новых нападений уже :не было. Так как же быть с тем пучком траекторий нападения, который был зафиксирован?

Найдем, сколько полуходов в текущем оптимальном варианте передвигавшаяся фигура оставалась на αi-поле.

Если неприятельская фигура по зафиксированной траектории успеет на нее напасть, то новую зону нападения создавать, если не успеет, то, как правило (за исключением, на котором останавливаться не будем), не создавать.

Таким образом, в одном варианте перебора новую зону следует формировать, в другом - нет. Это еще раз подтверждает принцип, что МО жестко связано с вариантом перебора, точнее, с каждым узлом ветви перебора.

Если программа решит создавать зону, то происходит подъем но варианту с определением минимакса до того узла, где зафиксирована комлевая траектория нового нападения. Эта траектория включается в МО и перебор продолжается: возобновляется спуск по новым ветвям перебора уже с включенной в перебор новой зоной нападения.

Наконец, мы вновь поднялись по варианту к этому узлу перебора; теперь уже все исследовано, новые нападения ниже этого узла проверены, минимакс дал свои результаты. Надо подниматься выше по варианту, выше того узла, ниже которого мы исследовали влияние этого нового нападения. Что же теперь делать с зоной нападения, которая появилась в этом узле? Больше она никому не нужна: она повлияла (или не повлияла) на оценку и сделала свое дело. Информация о зоне должна быть стерта, так же как и информации о пройденной ветви перебора (разумеется, к текущему оптимальному варианту это не относится). Однако информацию о пучке нападения пока сохраним!

Продолжим подъем еще выше по варианту, дойдем до какого-то узла, снова - начнем перебор, т. е. будем спускаться по варианту вниз до обрыва варианта. Исследуем, как в этом случае передвигалась наша фигура относительно αi-поля, к которому привязан был пучок траекторий (информация об этом пучке все еще хранится). Выясним, что фигура в этом варианте не проходила αi-поле. Что же делать дальше?

Мы должны решить вопрос о связанной зоне и собрать сведения о результатах размена фигур на αi-поле. Может создание связанной зоны улучшить результаты размена на αi-поле? Если да, зону создавать, если нет, связанной зоне не быть (пучок стереть в памяти), Создавать связанную зону следует, как только появилась траектория, на поле которой улучшается размен.

предыдущая главасодержаниеследующая глава








© Злыгостев А.С., 2001-2019
При использовании материалов сайта активная ссылка обязательна:
http://informaticslib.ru/ 'Библиотека по информатике'
Рейтинг@Mail.ru
Поможем с курсовой, контрольной, дипломной
1500+ квалифицированных специалистов готовы вам помочь