Распознавание конечных графов тремя агентами
В статье рассматривается проблема распознавания конечных графов тремя агентами. Два агента-исследователя передвигаются по графу, считывают, анализируют и изменяют метки элементов графа, передают информацию о своих передвижениях агенту-экспериментатору, который и распознает исследуемый граф. Предложе...
Збережено в:
Дата: | 2011 |
---|---|
Автор: | |
Формат: | Стаття |
Мова: | Russian |
Опубліковано: |
Інститут проблем штучного інтелекту МОН України та НАН України
2011
|
Назва видання: | Штучний інтелект |
Теми: | |
Онлайн доступ: | http://dspace.nbuv.gov.ua/handle/123456789/58846 |
Теги: |
Додати тег
Немає тегів, Будьте першим, хто поставить тег для цього запису!
|
Назва журналу: | Digital Library of Periodicals of National Academy of Sciences of Ukraine |
Цитувати: | Распознавание конечных графов тремя агентами / А.В. Стёпкин // Штучний інтелект. — 2011. — № 2. — С. 84-93. — Бібліогр.: 8 назв. — рос. |
Репозитарії
Digital Library of Periodicals of National Academy of Sciences of Ukraineid |
irk-123456789-58846 |
---|---|
record_format |
dspace |
spelling |
irk-123456789-588462014-04-01T03:01:34Z Распознавание конечных графов тремя агентами Стёпкин, А.В. Системы и методы искусственного интеллекта В статье рассматривается проблема распознавания конечных графов тремя агентами. Два агента-исследователя передвигаются по графу, считывают, анализируют и изменяют метки элементов графа, передают информацию о своих передвижениях агенту-экспериментатору, который и распознает исследуемый граф. Предложен алгоритм временной сложности О(n³) и емкостной – О(n²), который распознает любой конечный неориентированный граф. При распознавании каждый агент использует две различные краски (всего три краски). Метод основан на методе обхода графа в глубину. У статті розглядається проблема розпізнавання скінченних графів трьома агентами. Два агенти-дослідники рухаються графом, зчитують, аналізують та змінюють помітки елементів графа, передають інформацію про свої переміщення агенту-експериментатору, який розпізнає досліджуваний граф. Запропоновано алгоритм часової складності О(n³) та ємнісної – О(n²), який розпізнає будь-який скінченний неорієнтований граф. Для розпізнавання кожному агенту необхідно дві різні фарби (усього три фарби). Метод базується на методі обходу графа в глибину. The Problem of finite graphs exploration by three agents is considered in this work. Two agents-researchers move on graph, they read, analyze and change marks of graph elements, transfer the information about their movements and colorings to the agent-experimenter. It builds explored graph representation. The algorithm with О(n³) time (n is amount of nodes of graph) and О(n²) space complexities is proposed. It recognizes any finite non-oriented graph. For graph exploration each agent needs two different marks (three colors in total). The method is based on the depth-first traversal method. 2011 Article Распознавание конечных графов тремя агентами / А.В. Стёпкин // Штучний інтелект. — 2011. — № 2. — С. 84-93. — Бібліогр.: 8 назв. — рос. 1561-5359 http://dspace.nbuv.gov.ua/handle/123456789/58846 519.7 ru Штучний інтелект Інститут проблем штучного інтелекту МОН України та НАН України |
institution |
Digital Library of Periodicals of National Academy of Sciences of Ukraine |
collection |
DSpace DC |
language |
Russian |
topic |
Системы и методы искусственного интеллекта Системы и методы искусственного интеллекта |
spellingShingle |
Системы и методы искусственного интеллекта Системы и методы искусственного интеллекта Стёпкин, А.В. Распознавание конечных графов тремя агентами Штучний інтелект |
description |
В статье рассматривается проблема распознавания конечных графов тремя агентами. Два агента-исследователя передвигаются по графу, считывают, анализируют и изменяют метки элементов графа, передают информацию о своих передвижениях агенту-экспериментатору, который и распознает исследуемый граф. Предложен алгоритм временной сложности О(n³) и емкостной – О(n²), который распознает любой конечный неориентированный граф. При распознавании каждый агент использует две различные краски (всего три краски). Метод основан на методе обхода графа в глубину. |
format |
Article |
author |
Стёпкин, А.В. |
author_facet |
Стёпкин, А.В. |
author_sort |
Стёпкин, А.В. |
title |
Распознавание конечных графов тремя агентами |
title_short |
Распознавание конечных графов тремя агентами |
title_full |
Распознавание конечных графов тремя агентами |
title_fullStr |
Распознавание конечных графов тремя агентами |
title_full_unstemmed |
Распознавание конечных графов тремя агентами |
title_sort |
распознавание конечных графов тремя агентами |
publisher |
Інститут проблем штучного інтелекту МОН України та НАН України |
publishDate |
2011 |
topic_facet |
Системы и методы искусственного интеллекта |
url |
http://dspace.nbuv.gov.ua/handle/123456789/58846 |
citation_txt |
Распознавание конечных графов тремя агентами / А.В. Стёпкин // Штучний інтелект. — 2011. — № 2. — С. 84-93. — Бібліогр.: 8 назв. — рос. |
series |
Штучний інтелект |
work_keys_str_mv |
AT stëpkinav raspoznavaniekonečnyhgrafovtremâagentami |
first_indexed |
2025-07-05T10:04:07Z |
last_indexed |
2025-07-05T10:04:07Z |
_version_ |
1836800905358344192 |
fulltext |
«Искусственный интеллект» 2’2011 84
1С
УДК 519.7
А.В. Стёпкин
Славянский государственный педагогический университет, Украина
stepkin.andrey@rambler.ru
Распознавание конечных графов
тремя агентами
В статье рассматривается проблема распознавания конечных графов тремя агентами. Два агента-исследо-
вателя передвигаются по графу, считывают, анализируют и изменяют метки элементов графа, передают
информацию о своих передвижениях агенту-экспериментатору, который и распознает исследуемый граф.
Предложен алгоритм временной сложности 3nO и емкостной – 2nO , который распознает любой
конечный неориентированный граф. При распознавании каждый агент использует две различные краски
(всего три краски). Метод основан на методе обхода графа в глубину.
Введение
Проблема распознавания среды широко рассматривается в литературе в различных
контекстах [1]. Например, в [2] данная проблема решается с помощью двух агентов. Один
агент-исследователь передвигается по неизвестному графу, считывает, анализирует и из-
меняет метки на элементах графа, а также обменивается данными с агентом-экспериме-
нтатором, который, используя полученную информацию, и восстанавливает исследуемый
граф.
Данная статья посвящена исследованию возможности и сложности решения нашей
проблемы с помощью трёх одновременно работающих агентов. Два агента-исследователя
(АИ) A и B одновременно передвигаются по неизвестной среде, заданной конечным
графом [3], и обмениваются данными с агентом-экспериментатором (АЭ), который и
производит восстановление графа, используя информацию, полученную от АИ, а также
передает АИ данные, необходимые для их дальнейшей работы.
Целью данной работы является создание алгоритма одновременной работы трёх
агентов, в котором два АИ, будучи размещены в произвольных, несовпадающих верши-
нах рассматриваемого графа G , окрашенных цветом w , через конечное число шагов
обойдут этот граф, пошагово обмениваясь необходимыми данными с АЭ. Агент-экспе-
риментатор, в свою очередь, восстановит граф ,H изоморфный G , то есть распознает
граф G , используя данные, полученные от АИ.
Стратегия решения задачи
В работе рассматриваются конечные, неориентированные графы без петель и крат-
ных ребер. Все неопределяемые понятия общеизвестны, с ними можно ознакомиться,
например, в [4-7].
Работа алгоритма, рассматриваемого в данной статье, основана на методе поиска в
глубину. Принцип работы этого метода можно описать следующим образом: агенты
идут «в глубину», пока это возможно, возвращаются назад, ищут другой путь с еще не
посещенными вершинами и не пройденными ребрами. В случае обнаружения смежной
Распознавание конечных графов тремя агентами
«Штучний інтелект» 2’2011 85
1С
вершины окрашенной в «чужой» цвет, агент метит все перешейки из текущей вершины в
«чужую» область и сообщает второму АИ, через АЭ, о необходимости распознавания
помеченных перешейков. Пока второй АИ выполняет процедуру распознавания пере-
шейков, первый АИ не может метить новые перешейки. В случае отсутствия других воз-
можных вариантов перемещения, кроме как пометить новый перешеек, первый АИ оста-
навливается до того момента, пока второй АИ не распознает все помеченные перешейки.
Выполняя обход графа, агенты-исследователи A и B образуют соответственно
красный и желтый пути. Принцип построения пути каждым из агентов можно описать
следующим образом:
– при движении в новую вершину красный (желтый) путь удлиняется, при движе-
нии назад по «своему» пути – укорачивается;
– при движении назад для распознавания обратного ребра или перешейков длина
пути не изменяется;
– вершина, из которой возможен лишь возврат по «своему» пути, либо вовсе от-
сутствуют варианты перемещения, окрашивается в черный цвет. Алгоритм заканчивает
работу, когда красный и желтый пути становятся пустыми, а все вершины черными.
При обходе графа G , агентами создается неявная нумерация посещенных вер-
шин: при первом посещении вершины она окрашивается агентом A в красный цвет
(в желтый цвет в случае агента B ), и ей фактически ставится в соответствие номер,
равный значению переменной АСч _ ( BСч _ для агента B ). Обратим внимание, что
АСч _ и BСч _ принимают соответственно нечетные и четные значения. На основе
нумерации и происходит восстановление графа G путем построения графа ,H
изоморфного G .
В работе АИ можно выделить 5 режимов функционирования:
1. Работая в обычном режиме, АИ продвигается вперед по белым вершинам,
окрашивая эти вершины, соединяющие их ребра и дальние инциденторы в «свой» цвет.
При отсутствии возможных путей перемещения АИ возвращается назад, окрашивая
пройденные вершины, соединяющие их ребра и ближние инциденторы в черный цвет.
АИ завершает работу тогда, когда его исходная вершина, вследствие отсутствия воз-
можных путей перемещения, окрашивается в черный цвет.
2. Если при работе в обычном режиме было обнаружено обратное ребро, то АИ
прекращает работу в этом режиме и переключается в режим распознавания обратных
ребер. АИ переходит по обратному ребру, окрашивая его в черный цвет, и по «своему»
пути возвращается в вершину, в которой был изменен режим работы АИ. Достигнув
этой вершины, агент переключается в обычный режим работы.
3. Если при работе в обычном режиме АИ обнаружил перешеек, то при условии,
что все ранее помеченные данным агентом перешейки были распознаны, АИ пере-
ключается в режим пометки перешейков. В этом режиме АИ переходит по перешейку в
«чужую» область, окрашивая ребро и дальний инцидентор в «свой» цвет. Далее АИ
возвращается по этому перешейку, ничего не окрашивая, и ищет другие перешейки из
этой вершины. Пометив все перешейки из данной вершины в «чужую» область, АИ
сообщает об этом АЭ, который в свою очередь дает команду второму АИ о необхо-
димости распознавания помеченных перешейков. По завершению режима пометки
перешейков АЭ содержит информацию о количестве помеченных перешейков.
4. Получив от АЭ команду о необходимости распознавания перешейков, АИ за-
вершает работу в обычном режиме и переключается в режим распознавания пере-
шейков. Если в этот момент агент работает в режиме распознавания обратных ребер, то
Степкин А.В.
«Искусственный интеллект» 2’2011 86
1С
переключение в режим распознавания перешейков будет совершено по завершении работы
агента в текущем режиме. В режиме распознавания перешейков АИ возвращается назад по
«своему» пути до обнаружения ближайшей вершины, инцидентной помеченному перешей-
ку. Под помеченным перешейком понимается ребро, у которого ближний инцидентор,
ребро и дальняя вершина этого ребра окрашены в «чужой» цвет. Далее возможны два
случая:
4.1. Помечен один перешеек. АИ переходит по перешейку в «чужую» область,
окрашивая его в «свой» цвет, а дальний инцидентор – в черный. На следующем шаге
АИ возвращается по этому перешейку в «свою» область, окрашивая дальний инциден-
тор и перешеек в черный цвет.
4.2. Помечено не менее двух перешейков. АИ переходит по первому найденному
помеченному перешейку в «чужую» область, окрашивая его в «свой» цвет, а дальний
инцидентор – в черный. На следующем шаге АИ возвращается по этому перешейку в
«свою» область, окрашивая его в черный, а оба инцидентора – в «свой» цвет. Далее
АИ движется назад по «своему» пути, пока не будет найден следующий помеченный
перешеек.
Далее возможны два варианта:
4.2.1. Следующий помеченный перешеек не последний. АИ переходит по найденному
перешейку, окрашивая его в «свой» цвет, а дальний инцидентор – в черный. На сле-
дующем шаге АИ возвращается по этому перешейку в «свою» область, окрашивая его и
оба инцидентора в черный цвет. И снова возвращается назад по «своему» пути до
следующего помеченного перешейка.
4.2.2. Следующий помеченный перешеек последний. АИ переходит по найденному
перешейку, окрашивая его в «свой» цвет, а дальний инцидентор – в черный. На сле-
дующем шаге АИ возвращается по этому перешейку в «свою» область, окрашивая его в
черный, а оба инцидентора – в «свой» цвет.
АИ переходит по последнему перешейку в «чужую» область, окрашивая инци-
денторы в черный цвет. На следующем шаге АИ переходит по первому распознанному
перешейку в «свою» область, окрашивая пройденные инциденторы в черный цвет.
Далее АИ движется вперед по «своему» пути, пока не вернется в вершину, в
которой он переключился в режим распознавания перешейков.
5. При одновременном попадании двух АИ в одну белую вершину, каждый АИ
окрашивает вершину наполовину, и она становится красно-желтой. Агент B на следую-
щем шаге отступает назад по своему пути и переходит в режим пометки перешейков
(при этом ребро, по которому он вернулся, уже посчитано как первый перешеек, длина
желтого пути уменьшена на одну вершину, а из списков ребер и вершин удалены ребро
и вершина, записанные туда агентом B на предыдущем шаге). Агент A видит разно-
цветную вершину как «свою», но при распознавании окрашивает в черный цвет обе
половинки.
Алгоритмы обхода и восстановления
Рассмотрим непосредственно алгоритмы работы агентов, реализующие описан-
ную выше стратегию. Процесс распознавания состоит из двух принципиально разных
типов алгоритмов: «Обход» и «Восстановление». Первый тип алгоритма описывает
обход графа G агентами-исследователями с целью проведения элементарных экспери-
ментов и передачи необходимой информации АЭ. Второй тип алгоритма представляет
собой анализ результатов элементарных экспериментов, в результате которого будет
построен граф H, изоморфный распознаваемому графу G.
Распознавание конечных графов тремя агентами
«Штучний інтелект» 2’2011 87
1С
Алгоритм работы агента A :
1. Агент A красит rv : ;
2. запрос AN ;
3. if 1AN then do
4. запрос BN ;
5. if 0BN then МЕТИМ_ПЕР_А(v);
6. else ВЫБОР_ХОДА_А(v);
7. end do;
8. else РАСП_ПЕР_А(v);
Все процедуры, которые не описаны ниже, представлены в [8].
РАСП_ПЕР_А(v):
1. KZ : ;
2. if в окрестности vO нет ребра, у которого yuv , then do
3. агент A выполняет ОТСТУП_А(v);
4. go to 2 данной процедуры;
5. end do;
6. else do
7. if 11 ZandKorZK then агент A выполняет РАСП_АВВ(v);
8. else агент A выполняет процедуру РАСП_АВВb(v);
9. агент A запрашивает у АЭ значение переменной K ;
10. if 0K then go to 2 данной процедуры;
11. else агент A выполняет процедуру ОБН_А(v);
12. if 1Z then do
13. if в vO есть ребро, у которого ruuvandbuvandrvuv ,,,,, then do
14. агент A выполняет процедуру ВПЕРЕД_AR_N(v);
15. go to 13 данной процедуры;
16. end do;
17. else if в vO есть ребро, у которого ruuvandruandruv ,,, then do
18. агент A выполняет процедуру ВПЕРЕД_ AR(v);
19. go to 17 данной процедуры;
20. end do;
21. else go to 2 алгоритма обхода;
22. end do;
23. else go to 17 данной процедуры;
24. end do;
Выполняя процедуру НАЗАД_A(v), агент A выбирает из окрестности vO ребро,
для которого выполняется условие rvandrvuvandruv ,,, , и переходит
по нему в вершину u . При этом, окрашивает bvuvbuvbv :,,,:,,: , выполняет
присвоение uv : и записывает в список M сообщение: НАЗАД_А.
РАСП_А(v):
1. Агент A выбирает из окрестности vO ребро uv, , у которого
wuvandruv , и переходит по нему в вершину u ;
2. агент A красит buv , ;
3. агент A записывает в список M сообщение: ОБРАТНОЕ_РЕБРО_А;
4. while в uO есть ребро lu, , у которого rlandrlluandrlu ,,, do
Степкин А.В.
«Искусственный интеллект» 2’2011 88
1С
5. агент A переходит по ребру lu, в вершину l ;
6. lu : ;
7. агент A записывает в список M сообщение: ОТСТУПИЛ_А;
8. end do;
9. агент A записывает в список M сообщение: РЕБРО_РАСПОЗНАНО_А;
При выполнении процедуры РАСП_АВВ(v), агент A выбирает из окрестности
vO ребро uv, , для которого выполняется условие ,, yuv и переходит по нему в
вершину u , производя окрашивание buuvruv :,,,:, . Выполняет присвоение
uv : и записывает в список M сообщение: ВПЕРЕД_ABB. После чего агент A
выбирает из окрестности vO ребро uv, , для которого выполняется условие
uv , bvuvandr ,, , и переходит по нему в вершину u , окрашивая
rvuv :,, ruuvbuvr :,,,:,, , выполняет присвоение uv : и записывает в
список M сообщение: НАЗАД_ABB.
Процедура РАСП_АВВb(v) аналогична процедуре РАСП_АВВ(v), с отличием в
том, что, выполняя возврат по перешейку в «свою» область, агент A окрашивает
ребро и дальний инцидентор следующим образом buuvbuv :,,,:, .
Выполняя процедуру ВПЕРЕД_АR_N(v), агент A выбирает из окрестности vO
ребро uv, , удовлетворяющее условию uvandrvuv ,,, uuvandb ,, =
r , переходит по нему в вершину u , окрашивая buuvbvuv :,,,:,, . После
чего выполняет присвоение uv : и записывает в список M сообщение: ВПЕРЕД_AR_N.
Выполняя процедуру СТОП_А(v), агент A красит bv : и завершает работу.
Алгоритм работы агента B :
1. Агент B красит ys : ;
2. запрос BN ;
3. if 1BN then do
4. запрос AN ;
5. if rys )( then do
6. агент B выполняет процедуру ВОЗВРАТ_B(s);
7. агент B выполняет процедуру МЕТИМ_ПЕР_B(s);
8. end do;
9. else if 0AN then МЕТИМ_ПЕР_B(s);
10. else ВЫБОР_ХОДА_B(s);
11. end do;
12. else РАСП_ПЕР_B(s);
Все процедуры агента B , которые не рассмотрены ниже, аналогичны процедурам
агента A .
При выполнении процедуры МЕТИМ_ПЕР_B(s), агент B проверяет наличие в ок-
рестности sO ребра zs, , у которого ryzorrzandws z, . Если
такое ребро обнаружено и в вершине z находится агент A , то агент B выполняет про-
цедуру СТОИТ_ B(s) и возвращается в начало данной процедуры. Если же в вершине z
нет агента A , то агент B выполняет процедуру МЕТИМ_BA(s) и возвращается в на-
чало данной процедуры.
Распознавание конечных графов тремя агентами
«Штучний інтелект» 2’2011 89
1С
Если в окрестности sO не обнаружено ребра, которое удовлетворяет условию
ryzorrzandws z, , то агент B запрашивает значение перемен-
ной L . При этом если 0L , то агент B выполняет процедуру ВЫБОР_ХОДА_B(s),
иначе агент B выполняет процедуру ФИКС_B(s) и возвращается в строку 2 АО.
ВЫБОР_ХОДА_B(s):
1. if в sO обнаружено ребро, у которого yszandwzs , then do
2. агент B выполняет процедуру РАСП_B(s);
3. go to 2 алгоритма обхода;
4. end do;
5. else if в sO обнаружено ребро, у которого wzandwzs , then do
6. агент B выполняет процедуру ВПЕРЕД_B(s);
7. go to 2 алгоритма обхода;
8. end do;
9. else if в sO есть ребро, у которого ryzorrzandwzs , then do
10. агент B выполняет процедуру СТОИТ_B(s);
11. go to 2 алгоритма обхода;
12. end do;
13. else if в sO есть ребро, у которого rzs , then do
14. агент B выполняет процедуру СТОИТ_B(s);
15. go to 2 алгоритма обхода;
16. end do;
17. else if в sO есть ребро, у которого ryzorrzandyzs , then do
18. агент B выполняет процедуру СТОИТ_B(s);
19. go to 4 алгоритма обхода;
20. end do;
21. else if в sO есть ребро, у которого yszsandysandyzs ,,, then do
22. агент B выполняет процедуру НАЗАД_B(s);
23. go to 2 алгоритма обхода;
24. end do;
25. else агент B выполняет процедуру СТОП_B;
При выполнении процедуры МЕТИМ_BA(s), агент B выбирает из окрестности sO
произвольное ребро zs, , для которого выполняется условие zandwzs ,
ryzorr , переходит по нему в вершину z , окрашивая yzzsyzs :,,,:, ,
выполняет присвоение zs : и записывает в список N сообщение: ВПЕРЕД_BA. Далее
агент B выбирает из окрестности sO ребро zs, , у которого sandys )(z,
ry , переходит по нему в вершину z , выполняет присвоение zs : и записывает в
список N сообщение: НАЗАД_BА.
Выполняя процедуру ВОЗВРАТ_B(s), агент B выбирает из окрестности sO
ребро zs, , у которого yszsandyzs ,,, , переходит по нему в вершину z ,
выполняет присвоение zs : и записывает в список N сообщение: ВОЗВРАТ_B.
Алгоритм «Восстановление» и процедуры, которые не рассмотрены ниже,
изложены в [8] с поправкой, что, при использовании цикла с предусловием, условие
имеет вид: NorM .
Степкин А.В.
«Искусственный интеллект» 2’2011 90
1С
ОБР_СП_А():
1. if "" = ВПЕРЕД_АMes then ВПЕРЕД_А();
2. if "" = ВПЕРЕД_АВMes then ВПЕРЕД_AB();
3. if "" = ВПЕРЕД_АBBMes then ВПЕРЕД_ABB();
4. if "" = НАЗАД_АMes then НАЗАД_А();
5. if "" = НАЗАД_АВMes then НАЗАД_АВ();
6. if "" = НАЗАД_АВВMes then НАЗАД_АВВ();
7. if "" = ФИКС_АMes then ФИКС_А();
8. if "" = ОБН_АMes then ОБН_А();
9. if "" = ОТСТУПИЛ_АMes then ОТСТУПИЛ_А();
10. if "" = ОЗНАНО_АРЕБРО_РАСПMes then РЕБРО_РАСПОЗНАНО_А();
11. if "" = ОТСТУП_АMes then ОТСТУП_А();
ОТСТУП_А(): 1: ii ;
ВПЕРЕД_ABB(): itrBNEE HH ,_: ;
ОТСТУПИЛ_А(): 1: ii ;
РЕБРО_РАСПОЗНАНО_А(): itrtrEE HH ,: ; 0:i ;
Процедуры работы со списком команд от агента B , которые не рассмотрены
ниже, аналогичны процедурам работы со списком команд от агента A .
ОБР_СП_B():
1. if "" = ВПЕРЕД_BMes then ВПЕРЕД_B();
2. if "" = ВПЕРЕД_ВАMes then ВПЕРЕД_BA();
3. if "" = ВПЕРЕД_BААMes then ВПЕРЕД_BAA();
4. if "" = НАЗАД_BMes then НАЗАД_B ();
5. if "" = НАЗАД_ВАMes then НАЗАД_ВА();
6. if "" = НАЗАД_ВААMes then НАЗАД_ВАА();
7. if "" = ФИКС_BMes then ФИКС_B();
8. if "" = ОБН_BMes then ОБН_B();
9. if "" = ОТСТУПИЛ_BMes then ОТСТУПИЛ_B();
10. if "" = ОЗНАНО_BРЕБРО_РАСПMes then РЕБРО_РАСПОЗНАНО_B();
11. if "" = ОТСТУП_BMes then ОТСТУП_B();
12. if "="ВОЗВРАТ_BMes then ВОЗВРАТ_B().
ВОЗВРАТ_B(): pypyEE HH ,1\: ; }_{\: BСчVV HH ; 2_:_ BСчBСч ;
1: pp ; BСчpy _: ; 1:L ; 1: KK .
Свойства алгоритма распознавания
В начале алгоритма, при 3n , как минимум, по одному разу выполняются про-
цедуры: ВПЕРЕД_А(v), ВПЕРЕД_А() и ВПЕРЕД_В(s), ВПЕРЕД_B(). Выполняя про-
цедуры ВПЕРЕД_А(v) и ВПЕРЕД_В(s), АИ посещают новые вершины исследуемого
графа G . Процедурами агента АЭ ВПЕРЕД_А() и ВПЕРЕД_B() создаются две новые
вершины (по одной вершине для каждой из процедур) графа H .
При одновременном попадании двух АИ в одну белую вершину процедурами
ВПЕРЕД_А() и ВПЕРЕД_B() будет создано две новые вершины графа H . Одна из этих
Распознавание конечных графов тремя агентами
«Штучний інтелект» 2’2011 91
1С
двух вершин (вершина, созданная агентом B ) будет удалена командой ВОЗВРАТ_B(),
так как она дублирует вершину, созданную агентом A . Таким образом, процесс выпол-
нения описанного алгоритма индуцирует отображение HG VV : вершин графа G в
вершины графа H . Причем tv (когда вершина v окрашена в красный цвет) и
АСчt _ ) и ps (когда вершина s окрашена в желтый цвет и BСчp _ ). Ука-
занное отображение естественным образом устанавливает неявную нумерацию вершин
графа G . Более того, отображение является биекцией, поскольку в связном графе G
все вершины достижимы из начальных вершин. Поэтому все вершины посещаются
агентами, то есть окрашиваются в красный и желтый цвета.
Из описания алгоритма следует, что АИ проходят все ребра графа G , поскольку
при окончании алгоритма все ребра становятся черными. При выполнении процедуры
ВПЕРЕД_А() или ВПЕРЕД_B() АЭ распознает древесное ребро uv, и так нумерует вер-
шину u , что ребру uv, однозначно соответствует ребро uv , графа H . При вы-
полнении процедур РЕБРО_РАСПОЗНАНО_A() или РЕБРО_РАСПОЗНАНО_B() АЭ
распознает обратное ребро uv, графа G и ставит ему в однозначное соответствие ребро
uv , графа H . При выполнении процедур ФИКС_А(), ВПЕРЕД_АВВ() или
ФИКС_В(), ВПЕРЕД_ВАА() АЭ распознает перешеек uv, графа G и ставит ему в
однозначное соответствие ребро uv , графа H . Следовательно, является изо-
морфизмом графа G на граф H .
Теорема 1. Выполняя алгоритм распознавания, агенты распознают любой граф
G с точностью до изоморфизма.
Подсчитаем временную и емкостную сложность в равномерной шкале [5]. Для
этого рассмотрим свойства красного и желтого путей. Из описания алгоритма следует,
что на каждом шаге алгоритма красный (желтый) путь – это простой путь, соеди-
няющий начальную вершину v ( s - в случае агента B ) с номером 1)( v 2)( s с
вершиной u z с номером AСчu _)( BСчz _)( . Следовательно, общая длина
красного и желтого пути не превосходит n .
При выполнении процедур ВПЕРЕД_A(v), ВПЕРЕД_B(s) и НАЗАД_A(v),
НАЗАД_B(s) АИ проходят одно ребро. При выполнении процедур РАСП_А(v),
РАСП_B(s) АИ проходят одно обратное ребро и не более 2n (изначально одна
вершина уже окрашена в «чужой» цвет) ребер красного и желтого путей. При выпол-
нении процедур РАСП_А(v), РАСП_B(s) АИ проходят фактически цикл, состоящий
из обратного ребра и некоторого конечного отрезка красного (желтого) пути, соеди-
няющего вершины, инцидентные обратному ребру. При выполнении процедур
МЕТИМ_АВ(v), МЕТИМ_ВА(s) и РАСП_АВВ(v), РАСП_АВВb(v), РАСП_ВАА(s),
РАСП_ВААb(s) оба АИ проходят один и тот же перешеек, сначала в одном направ-
лении, потом в обратном. Выполняя процедуры ВПЕРЕД_AR(v), ВПЕРЕД_BR(s) и
ОТСТУП_A(v), ОТСТУП_B(s), АИ проходят одно красное (желтое) ребро. При вы-
полнении процедур ВПЕРЕД_AR_N(v), ВПЕРЕД_BR_N(s) АИ проходят одно черное
ребро. При выполнении процедур ФИКС_А(v), ФИКС_B(s) и ОБН_А(v), ОБН_В(s)
АИ не передвигаются, а только делают записи в свой список команд для АЭ, на что
так же уходит один ход.
При подсчете временной сложности алгоритма будем считать, что инициализация
алгоритма, анализ окрестности vO рабочей вершины и выбор одной из возможных
процедур занимают некоторое постоянное число единиц времени. Также будем считать,
Степкин А.В.
«Искусственный интеллект» 2’2011 92
1С
что выбор ребер, проход по ним АИ и обработка команд АЭ, полученных на данном
этапе от АИ, осуществляется за 1 единицу времени. Тогда временная сложность алго-
ритма определяется следующими соотношениями:
1. Процедуры ВПЕРЕД_А(v), ВПЕРЕД_B(s), НАЗАД_А(v) и НАЗАД_B(s) вы-
полняются не более чем 12 n раз, общее время их выполнения оценивается как nO .
2. На выполнение процедур МЕТИМ_АВ(v), МЕТИМ_BA(s), РАСП_АВВ(v),
РАСП_АВВb(v), РАСП_ВАА(s) и РАСП_ВААb(s) уходит время, которое оценивается
как nnO )(4 , то есть как 2nO .
3. Каждая из пар процедур ВПЕРЕД_AR(v), ВПЕРЕД_BR(s) и ОТСТУП_А(v),
ОТСТУП_B(s) выполняются за время, оцениваемое как nnO )( , то есть как 2nO .
4. На выполнение процедур ВПЕРЕД_AR_N(v), ВПЕРЕД_BR_N(s), ФИКС_А(v),
ФИКС_B(s), ОБН_А(v) и ОБН_B(s) уходит время, оцениваемое как )(3 nO , т.е. как nO .
5. Время, затрачиваемое на выполнение процедур РАСП_А(v) и РАСП_B(s),
оценивается как mnO )( , то есть как 3nO .
6. Время выполнения процедур СТОИТ_А(v) и СТОИТ_В(s) в общей сложности
для всех четырёх возможных случаев оценивается как 22 nOnOnO .
Следовательно, суммарная временная сложность )(nT алгоритма удовлетворяет со-
отношению: 3nOnT .
Емкостная сложность )(nS алгоритма определяется сложностью списков ,,EV HH
)()...1(),()...1( pyytrr , сложность которых соответственно определяется величинами
nOnOnOnO ,,, 2 . Следовательно, 2nOnS .
Теорема 2. Временная сложность алгоритма распознавания равна 3nO , а ем-
костная – 2nO . При этом алгоритм использует 3 краски.
Выводы
Основными результатами исследования являются: создание алгоритма работы
трёх агентов, при условии, что АИ передвигаются по графу одновременно, а также
решение проблемы окраски вершины, которая возникала при одновременном попа-
дании двух АИ в одну белую вершину.
Предложен алгоритм точного распознавания графа среды временной сложности
3nO и емкостной – 2nO . АИ имеют память, ограниченную числом n , и используют
по две краски каждый (всего три краски).
На основе полученного алгоритма автор надеется создать новые более эффектив-
ные алгоритмы, которые позволят улучшить результаты, полученные в [4].
Литература
1. Albers S. Exploring unknown environments / S. Albers and M.R. Henzinger // SIAM Journal on
Computing. – 2000. – № 29 (4). – Р. 1164-1188.
2. Грунский И.С. Распознавание конечного графа блуждающим по нему агентом / И.С. Грунский,
Е.А. Татаринов // Вестник Донецкого университета. Серия А. Естественные науки. – 2009. –
Вып. 1. – С. 492-497.
3. Кудрявцев В.Б. Введение в теорию автоматов / Кудрявцев В.Б., Алешин С.В., Подкозлин А.С. –
М. : Наука, 1985. – 320 с.
Распознавание конечных графов тремя агентами
«Штучний інтелект» 2’2011 93
1С
4. Грунский И.С. Распознавание конечного графа коллективом агентов / И.С. Грунский, А.В. Стёпкин //
Труды ИПММ НАН Украины. – 2009. – Т. 19. – С. 43-52.
5. Ахо А. Построение и анализ вычислительных алгоритмов / Ахо А., Хопкрофт Дж., Ульман Дж. – М. :
Мир, 1979. – 536 с.
6. Кормен Т. Алгоритмы: построение и анализ / Кормен Т., Лейзерсон Ч., Ривест Р. – М. : МЦНМО,
2001. – 960 с.
7. Касьянов В.Н. Графы в программировании: обработка, визуализация и применение / В.Н. Касьянов,
В.А. Евстигнеев. – СПб. : БХВ – Петербург, 2003. – 1104 с.
8. Стёпкин А.В. Распознавание конечного графа коллективом агентов / А.В. Стёпкин // Інформатика та
комп’ютерні технології-2009 : матеріали V міжнар. наук.-техн. конф. студентів, аспірантів та молодих
вчених (Донецьк, 24 – 26 лист. 2009 р.). − Донецьк, 2009. – Т. 2. – С. 126-131.
Literatura
1. Albers S. SIAM Journal on Computing. № 29 (4). 2000 P. 1164-1188.
2. Grunsky I.S. Newsletter of Donetsk University. Series A. Natural Sciences.2009.Vol.1. P. 492-497.
3. Kudryavtsev V.B. Moscow: Nauka. 1985. 320 p.
4. Grunsky I.S. Studies of IAMM NASU. 2009. Vol.19. P. 43-52.
5. Aho A. Moscow: Mir. 1979. 536 p.
6. Kormen T. Moscow: MCCME. 2001. 960 p.
7. Kasyanov V.N. S-Ptb.: BHV. 2003. 1104 p.
8. Stepkin A.V. Informatics and computer tehnologies.2009. Materials of the V-th science conference for
postgraduates and young scientists. Donetsk. 2009. Vol. 2. P. 126-131.
А.В. Стьопкін
Розпізнавання скінченних графів трьома агентами
У статті розглядається проблема розпізнавання скінченних графів трьома агентами. Два агенти-дослідники
рухаються графом, зчитують, аналізують та змінюють помітки елементів графа, передають інформацію про
свої переміщення агенту-експериментатору, який розпізнає досліджуваний граф. Запропоновано алгоритм
часової складності 3nO та ємнісної – 2nO , який розпізнає будь-який скінченний неорієнтований граф.
Для розпізнавання кожному агенту необхідно дві різні фарби (усього три фарби). Метод базується на методі
обходу графа в глибину.
A.V. Stepkin
Finite Graphs Exploration by Three Agents
The Problem of finite graphs exploration by three agents is considered in this work. Two agents-researchers
move on graph, they read, analyze and change marks of graph elements, transfer the information about their
movements and colorings to the agent-experimenter. It builds explored graph representation. The algorithm
with 3nO time ( n is amount of nodes of graph) and 2nO space complexities is proposed. It recognizes
any finite non-oriented graph. For graph exploration each agent needs two different marks (three colors in
total). The method is based on the depth-first traversal method.
Статья поступила в редакцию 16.05.2011.
|