Файл: Трахтенброт, Б. А. Алгоритмы и вычислительные автоматы.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 19.10.2024

Просмотров: 109

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

а шахматы по-прежнему относятся к играм, требующим большого мастерства и смекалки?

Здесь мы очевидным образом сталкиваемся с практической неосуществимостью процесса, предписанного алгоритмом. Ведь из корня шахматного дерева выходят 20 ветвей, изо­ бражающих всевозможные дебюты белых. Из каждой вер­ шины второго ранга тоже выходит много ветвей и т. д., причем ранг этого дерева очень велик. В нашем распоряже­ нии нет ни времени, ни места, ни материалов, достаточных для реализации такого замысла. Тем не менее, на вопрос, обладаем ли мы точным предписанием, позволяющим еди­ ным методом в результате конечного числа шагов находить лучшие стратегии в любой игре рассматриваемого типа, мы должны дать утвердительный ответ. При этом мы имеем в ви­

ду,

что процесс, определяемый этим предписанием, являет­

ся

п о т е н ц и а л ь н о

о с у щ е с т в и м ы м ,

т. е. что

он

осуществим

в результате к о н е ч н о г о

(хотя, быть

может, и очень

большого) числа элементарных

операций.

 

Разумеется,

мы заинтересованы,

главным

образом,

в

п р а к т и ч е с к и

осуществимых

процессах.

Однако

выдвинуть формальный математический критерий, позволя­ ющий раз навсегда различить практически осуществимый процесс от практически неосуществимого, мы не можем. Дело в том, что практическая осуществимость зависит от имеющихся в распоряжении вычислителя средств, которые могут меняться, например, с развитием техники. Так, в свя­ зи с появлением быстродействующих электронных машин стали практически осуществимыми и такие процессы, кото­ рые ранее были только потенциально осуществимыми.

При всей громоздкости рассмотренного выше алгоритма его существование является важным обстоятельством. Ведь для проблемы Гильберта о диофантовых уравнениях соглас­ но теореме Ю. В. Матиясевича невозможен никакой алго­ ритм! А между тем обнаружение алгоритма, пусть и гро­ моздкого, может подать надежду на его улучшение или создание более удобных алгоритмов.

Из соображений, изложенных выше, говоря о вычис­ лительном процессе или вообще о процессе, предписанном каким-то алгоритмом, будем всегда подразумевать потенци­ ально осуществимый процесс.


§3. АЛГОРИТМЫ ПОИСКА ПУТИ

ВЛАБИРИНТЕ

3.1. Лабиринты. Греческая мифология повествует о ле­ гендарном герое Тезее, который отважился проникнуть в лабиринт для того, чтобы разыскать в нем чудовищного Минотавра и убить его. Ему помогла выбраться из лаби­ ринта Ариадна, давшая Тезею клубок ниток, один конец которых держала она сама. По мере углубления Тезея в ла­ биринт клубок разматыва­ лся; наматывая потом нит­

ки,

Тезей

благополучно

 

вернулся к

выходу.

 

Об

этой

древней ле­

 

генде

напомнила

 

сравни­

 

тельно

недавно

автомати­

 

ческая

игрушка

«Мышь

 

в лабиринте»,

созданная

Р и с g

американским

математи­

 

ком

и

инженером

Клодом

 

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

Представим себе лабиринт в виде конечной системы пло­ щадок, от которых расходятся коридоры, причем каждый коридор соединяет две площадки (такие площадки будем называть смежными), но не исключается существование таких площадок, из которых можно пройти только в один коридор (такие площадки будем называть тупиками). Гео­ метрически лабиринт можно представить в виде системы точек А, В, С, ... (изображающих площадки) и совокупно­ сти отрезков АВ, ВС, ... (изображающих коридоры), со­ единяющих некоторые пары этих точек (рис. 8).

Будем говорить, что площадка Y достижима из площад­ ки А', если существует путь, ведущий от X к Учерез проме­ жуточные коридоры и площадки. Точнее, это означает, что либо X и Y — смежные площадки, либо существует после-

25


довательность

площадок Хи

Х2,

Х3,

Хп

таких, что X

и Х1}

Хх и Х2,

Х2

и Хя,...

и т. д. и, наконец, Хп

и Y смежны.

Например, на рис. 8 площадка // достижима

из тупика А

посредством пути

А В, ВС,

CD, DE, EF,

FD,

DH, в то вре­

мя как площадка

/< не достижима

из А.

Вместе с тем, если

У вообще достижима из X,

то она достижима и посредством

простого пути,

т. е. такого пути, в котором каждая площад­

ка (а

тем более и каждый

коридор) проходится лишь один

раз. В предыдущем примере путь не был простым, но, с р е ­

з а в

петлю DE, EF,

FD, мы получаем

простой

путь А В,

ВС,

CD,

DH.

 

 

 

Предполагается, что Минотавр находится на одной из

площадок

лабиринта

(обозначим ее М),

а Тезей,

отправля­

ясь на его поиски с площадки А, на которой его ждет Ариад­ на, должен решить след>ющую задачу: требуется выяснить, достижима ли М из Л или нет*'. Если достижима, то нужно добраться до нее по какому бы то ни было пути, но вернуть­ ся к Ариадне нужно уже по п р о с т о м у п у т и . Если же М недостижима, то вернуться к Ариадне.

Различных лабиринтов может быть бесчисленное мно­ жество, а взаимное расположение в данном лабиринте пло­ щадок А и М также можно варьировать. Поскольку Тезею заранее ничего не известно об устройстве данного лабирин­ та и о местонахождении в нем Минотавра, то решение по­ ставленной задачи мыслится в виде общего метода поисков, пригодного при любом лабиринте и при любом расположе­ нии в нем площадок А и М. Иными словами, решение мы­ слится в виде алгоритма, решающего любую из задач дан­ ного типа.

3.2. Алгоритм поиска. Для построения такого алгорит­ ма мы рассмотрим один специальный метод поисков. На лю­ бой стадии процесса поиска в соответствии с этим методом приходится различать коридоры, еще ни разу не пройден­ ные Тезеем (условно — зеленые), пройденные один раз (желтые), пройденные дважды (красные). Далее, находясь на какой-либо площадке, Тезей может попасть на одну из смежных площадок посредством одного из следующих двух ходов:

1. Разматывание нити. Прохождение от данной пло­ щадки по любому зеленому коридору до смежной площад­ ки. При этом нить Ариадны разматывается вдоль этого ко-

*) Естественно считать, что МфА.

26


ридора, который после прохождения уже считается жел­ тым.

2. Наматывание нити. Возвращение от данной пло­ щадки по последнему пройденному желтому коридору до смежной площадки. При этом нить Ариадны, ранее размо­ танная вдоль этого коридора, обратно наматывается, а этот коридор уже объявляется красным.

Предполагается, что Тезей делает какие-то пометки, позволяющие ему впоследствии отличать красные коридо­ ры от зеленых; желтые различимы тем, что по ним протяну­ та нить Ариадны. Выбор того или другого хода зависит от обстановки, наблюдаемой Тезеем на той площадке, на ко­ торой он находится в данный момент; эту обстановку мож­ но охарактеризовать одним или несколькими из следующих признаков:

I . Минотавр. На данной площадке обнаружен Мино­ тавр.

2: Петля. Через данную площадку уже протянута нить Ариадны; иными словами, от данной площадки расходятся

по крайней мере два желтых

коридора.

 

3. Зеленая

улица.

От данной площадки есть

выход по

крайней мере в один зеленый

коридор.

 

4. Ариадна. На

данной площадке находится

Ариадна.

5.

Пятый

случай. Отсутствие всех предыдущих призна­

ков.

 

 

 

 

 

Наш метод поиска может быть теперь задан следующей

схемой:

 

 

 

 

 

П р и з н а к

Х о д

 

1.

Минотавр

 

Остановка

 

2.

Петля

 

 

Наматывание нити

 

3.

Зеленая

улица

Разматывание нити

 

4.

Ариадна

 

Остановка

 

5.

Пятый

случай

 

Наматывание нити.

 

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

27


Пригодность предложенного метода непосредственно вытекает из следующих трех утверждений:

1.При любом взаимном расположении А и М в лаби­ ринте после конечного числа ходов обязательно наступит остановка либо на площадке Минотавра, либо на площадке Ариадны.

2.Если остановка наступила на площадке Минотавра, то Минотавр достижим. Более того, в этом случае нить Ариадны оказывается протянутой по простому пути, веду­ щему от А до М; наматывая нить, Тезей может теперь вер­ нуться по этому лутн к Ариадне.

3.Если остановка наступила на площадке Ариадны, то Минотавр н е д о с т и ж и м.

Прежде чем доказывать эти утверждения, покажем на

двух примерах,

как работает предложенный метод.

П р и м е р

1. Пусть с площадки А лабиринта (рис. 8)

начинается поиск Минотавра, который находится в F. Про­ цесс поиска в соответствии с нашим методом удобно изобра­

зить

посредством

схемы (из-за произвола при выборе зеле­

ного коридора — это лишь одна из возможных

схем), пред­

ставленной в табл.

1.

 

 

 

 

 

 

 

 

 

 

Т а б л и ц а

1

Порядко­

Каким

признаком

 

Пройден

Цвет коридора

вый

номер

Ход

ный ко­

после

его

руководствуется Тезей

хода

 

 

 

 

ридор

прохождения

 

1

Зеленая

улица

Разматыва­

АВ

Желтый

 

2

То

же

ние

ВС

 

 

 

»

 

 

 

3

 

»

 

 

CD

»

 

 

4

 

»

 

 

DH

 

 

 

5

 

»

 

»

HJ

»

 

 

6

Пятый случай

Наматы

JH

Красный

 

7

 

То

же

ванне

HD

 

 

 

 

»

»

 

 

8

Зеленая

улица

Разматы­

DB

Желтый

 

 

 

 

 

вание

BD

 

 

 

9

 

Петля

Наматы­

Красный

 

10

Зеленая

улица

вание

DF

Желтый

 

Разматы­

 

 

 

 

 

вание

 

 

 

 

11

Минотавр

Остановка

 

 

 

Мы видим, что в данном случае Минотавр достижим. Выделив в предпоследнем столбце те из коридоров, которые остались желтыми (в соответствии с показаниями послед-

28