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




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

Общая блок-схема алгоритма

Предлагаемый алгоритм иллюстрируется блок-схемой, изображенной на рис. 7.

Рис. 7. Общая блок-схема алгоритма
Рис. 7. Общая блок-схема алгоритма

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

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

Работа программы начинается с того, что совершается один ход, включаемый в перебор (процедура А). Незамедлительно в проверке В отмечается появление новых траекторий. Если их нет, работает проверка Е; если вариант не закончен, вновь работает .процедура А и вариант продолжается. Если новые траектории есть, то проверка С определяет, какие это траектории - комлевые или отрицания. Если среди траекторий обнаружены траектории отрицания, то необходим возврат по варианту (процедура D), чтобы перебор начался вновь с того узла, с того момента, когда отрицающая фигура попала на α0-поле, но не ранее того, как начато формирование зоны.

Наконец, снова работает проверка С и на сей раз обнаружены только комлевые траектории. До того, как вариант закончен, нельзя решить вопрос о целесообразности формирования новой зоны, поэтому вновь должна работать проверка Е.

Примем, что вариант закончен, тогда надо начинать минимакс - работает процедура F. Надлежит проверить, обнаружены ли были ранее в этом узле перебора комлевые траектории в горизонте HL? Если нет, то либо продолжается минимакс (процедура Р), либо спуск по новой ветке перебора (процедура А) в том случае, если перебор не закончен, что определяет проверка I. Если же комлевые траектории есть и должны быть сформированы новые зоны, то включается в работу процедура А и перебор уже происходит с включением в МО новых зон.

Вернемся к проверке I. Примем, что на сей раз перебор закончен. Осталось проверить, увеличивать ли точность решения (предельную длину варианта) или предельный горизонт? Это необходимо лишь в том случае, если есть запас времени. Увеличивать TL следует, конечно, лишь тогда, когда ранее варианты преждевременно обрывались из-за этого ограничения, что и устанавливается проверкой К. При необходимости увеличения TL весь механизм перебора после процедуры L запускается вновь. Если же резерв времени есть и длина вариантов "не ограничивалась, то увеличивается предельный горизонт (процедура М) и все надо считать сначала. Наконец, запаса времени нет, тогда запускается процедура N, и после выбора хода программа кончает работу.

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








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