Назад в библиотеку

РАСПОЗНАВАНИЕ ШАХМАТНОГО ЛАБИРИНТА С ПОМОЩЬЮ АГЕНТА

Автор: Стародубцева Ю.Н.
Источник: «Теоретичні та прикладні аспекти кібернетики» - 2011 / Тези міжнародної научної конференції студентів, аспірантів та молодих учених. Секція "Інформатика та комп'ютерні науки", Київ, Киівський національний університет імені Тараса Шевченка - 2011, С. 182‐184

Аннотация

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

Введение

В задаче изучения поведения автоматов в шахматных лабиринтах [1, 2] агенты, обозревая некоторую окрестность клетки, в которой находятся, могут перемещаться в соседнюю клетку в одном из координатных направлений.

Целью работы является создание нового алгоритма для распознавания шахматных лабиринтов с помощью агента, который позволил бы снизить сложность распознавания.

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

1. Постановка задачи

В данной работе в качестве шахматного лабиринта рассматривается плоский неориентированный конечный связный граф G = (VG , XG), множество вершин VG которого есть подмножество множества Z2 точек декартовой плоскости с целочисленными координатами, а множество ребер XG обладает следующим свойством: две любые вершины могут быть соединены ребром только тогда, когда расстояние между ними равно единице [3]. Ребра в графе могут быть двух типов: параллельные оси абсцисс или оси ординат.

Процесс распознавания графа можно разбить на две части:

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

Направления движения агента по ребрам графа: а - движение вдоль оси х, -а - движение против оси х, b - движение вдоль оси у, - b - движение против оси у. Агент обладает конечной, но бесконечно наращиваемой памятью.

Алгоритм движения агента по внешнему контуру графа

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

Агент обходит внешнюю границу по часовой стрелке следующим образом:

1. Eсли в текущей вершине доступно три направления (см. рис. 1 а) движения, то агент продолжает движение в том же направлении;

2. Eсли в текущей вершине доступно два направления (см. рис. 1 б), то агент выбирает каждый раз крайнее правое ребро: в положении 1 это движение вправо, в положении 2 - движение вверх;

3. Eсли в текущей вершине доступно четыре направления (см. рис. 1 в), то агент выбирает каждый раз крайнее левое ребро: в положении 1 это движение влево, в положении 2 - вверх.

Рисунок 1 - Выбор направления агентом

Рисунок 1 - Выбор направления агентом

При движении составляется выражение, описывающее движение агента по внешним ребрам графа. Обход заканчивается, когда агент вернется в вершину, помеченную камнем.

Доказана корректность алгоритма.

Временная сложность предложенного алгоритма T(n,m)=O(n,m), где n - длина наименьшего прямоугольника, описанного вокруг лабиринта, а m - ширина. Аналогично, емкостная сложность алгоритма S(n,m)=O(n,m).

Алгоритм составления формулы, описывающей граф с помощью простейших геометрических фигур

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

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

Каждый прямоугольник П(х,у), описывается количеством ребер по оси х и количеством ребер по оси у.

Отношение ’справа от’ имеет вид П1(х,у)Сп(сдвиг,П2(х,у)), т.е. прямоугольник П2 расположен справа от прямоугольника П1 со сдвигом n. Сдвиг показывает смещение левого верхнего угла прямоугольника П2 относительно правого верхнего угла прямоугольника П1. Если прямоугольник П2 смещен вверх, то значение сдвига отрицательное, если прямоугольник П1 смещен вниз - положительное.

Отношение ’снизу от’ имеет вид П1(х,у)Сн(сдвиг,П2(х,у)), т.е. прямоугольник П2 расположен снизу от прямоугольника П1 со сдвигом n. Аналогично отношению ’справа от’, сдвиг показывает, на сколько шагов (ребер) прямоугольник П2 смещен относительно левого нижнего угла прямоугольника П1. Если левый верхний угол прямоугольника П2 расположен правее левого нижнего угла прямоугольника П1, то значение сдвига будет положительным, если левее - отрицательным.

Рисунок 2 - Возможные отношения между прямоугольниками

Рисунок 2 - Возможные отношения между прямоугольниками

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

Выводы

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

Обход лабиринта только по внешнему контуру дает выигрыш во временной сложности.

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

Список использованной литературы

1. Кудрявцев В.Б. О поведении автоматов в лабиринтах / В.Б. Кудрявцев, Ш. Ушумлич, Г. Килибарда // Дискретная математика. - 1992. - Т. 4, вып. 3. - С. 3-28.
2. Харари Ф. Теория графов / Ф. Харари. - М. : Мир, 1973.
3. Грунская В.И. О восстановлении плоских шахматных лабиринтов по словам / В.И. Грунская // Материалы VIII Международного семинара "Дискретная математика и ее приложения"(2-6 февраля 2004 г.). - М. : Издательст-во механико-математического факультета МГУ, 2004. - С. 264-267.