УДК 519.178 ББК 22.174.2 Р 34
Резников А.В.
Старший преподаватель кафедры прикладной .математики и информационных технологий факультета .математики и компьютерных наук Адыгейского государственного университета, аспирант кафедры .математики Карачаево-Черкесской государственной технологической академии, тел. (8772) 59-39-04, e-mail: [email protected]
Распознавание предфрактальных графов с затравкой, удовлетворяющей условию Оре
(Рецензирована)
Аннотация
В этой статье рассматривается задача распознавания предфрактальных графов. Для задач подобного рода в общем случае неизвестны непереборные решения. Приведены формулировки и доказательства свойств таких графов, позволившие разработать непереборный алгоритм распознавания предфрактальных графов с n -вершинной затравкой, удовлетворяющей условию Оре, при условии что « » .
Ключевые слова: предфрактальный граф, распознавание образов, условие Оре.
Reznikov A.V.
Senior Lecturer of Applied Mathematics and Information Technology Department of Mathematics and Computer Science Faculty of Adyghe State Universituy, Post-graduate student of Mathematics Department of Karachaev-Circassian State Polytechnic Academy, ph. (8772) 59-39-04, e-mail: [email protected]
Recognition of prefractal graphs generated by seeding agents, satisfying the Ore condition
Abstract
In this study the recognition of prefractal graphs is considered. For this sort of problems inexhaustive solutions are generally unknown. The author gives formulations and proofs of properties of such graphs, which allow development of an inexhaustive algorithm of recognition of prefractal graphs with n-top seeding agents, satisfying the Ore condition, provided that «old» tree edges in trajectory of the prefractal graph aren't intersected.
Key words: prefractal graph, algorithm recognition, Ore condition.
Базовые определения
Математической моделью многих задач распознавания [1-4] является задача распознавания фракталов [5-7]. Одной из ее составных частей является задача распознавания предфрактальных графов [8-10], решение которой является самостоятельным научным направлением.
Затравкой называется всякий связный n -вершинный граф H = (W, Q), который в дальнейшем будет использован для построения предфрактального графа.
Построение предфрактального графа предварим определением операции замещения вершины затравкой (ЗВЗ) [9].
Пусть v0 е V - одна из вершин графа G = (V, E). Объединим G с какой-либо затравкой H = (W, Q). Полученный в результате объединения граф обозначим G . Обозначим через U0 с V окружение вершины v0 [11] и через R0 с E - множество инцидентных ей ребер. Определим произвольное отображение вершин u е U0 во множе-
ство Ж р: ио ^ Ж . После чего у каждого ребра v0w є К конец у0 заменяется на определяемую отображением р вершину V = р(и) затравки Н. Вершина у0 исключается из графа О. Полученный в результате граф обозначим символом О' =(¥',Е'). Будем говорить, что граф О' = (У',Е') получается из графа О = У,Е) с помощью операции ЗВЗ, примененной для вершины v0 є V и затравки Н = (Ж, Q).
Определим поэтапный процесс применения операции ЗВЗ. На этапе ^ = 1 в данной затравке Н = (Ж, Q) нумеруем вершины. Полученный граф обозначим О} =(У1, Е1). Пусть выполнены этапы ^ = 1,2,...,I и по завершении этапа I получен граф О, =у, Е,), который называем предфрактальным [9]. На этапе ^ = I +1 для каждой вершины Vє V, осуществляется операция ЗВЗ, т.е. замещение вершины затравкой Н.
Если из графа ОЬ удалить все ребра рангов 1,...,Ь-1 («старые» ребра), то исходный граф распадается на множество связных компонент }, каждая из которых изоморфна затравке Н. Множество компонент {вЬ(1)} будем называть блоками первого ранга [9]. Аналогично, при удалении из ОЬ ребер рангов 1,...,Ь-2 получим множество {вЬ(2) } блоков второго ранга. Очевидно, что всякий блок второго ранга является предфрактальным графом ранга 2, порожденным затравкой Н . Аналогично определяются блоки остальных рангов [9].
Обозначение. Пусть V (Vє V) - вершина графа О = (V,Е). Обозначим через р(у) - степень вершины V [12-14].
Условие Оре. Для любой пары вершин v1 и v2 (v1, v2 є V) п -вершинного графа О = (V, Е) выполняется условие р(у1) + р(у2) > п.
Лемма 1. Любые два блока МУ) и М^) ранга к (к = 1,Ь -1) (Му^,МЬ^{в^)}) соединены не более чем одним ребром.
Доказательство. Пусть блоки МУ) и М^) соединены двумя ребрами еу) и еЬ) (еУ),е() є ЕЬ). Рассмотрим множество иУ) (иЬ^) блоков первого ранга, входящих в блок МУ) (МЬ^). Рассмотрим граф ОЬ-1 = УЬ-), ЕЬ-1). Рассмотрим в ОЬ-1 множество вершин уЬ-), уЬ^-і е VL_1 (у1-), у1-) с VL_1) таких, что из вершин множества УЬу (у1-)) с помощью операции замены вершин затравками будут получены блоки множества иу (иЬ)). Множество вершин у1- (у1-}) порождает подграф графа ОЬ-1, который будет представлять собой блок ранга к -1. Этот блок обозначим через Му_)1,
м£> є {_-'>} (м>->,Мй є {вії”}).
Замечание: если к = 1, то М^- и МЬ_) представляют собой вершины графа ОЬ-1 .
В графе ОЬ-1 рассмотрим ребро еу_1, е1- є ЕЬ-1 (еЬ-, еЬ- є ЕЬ-1) которое стало ребром еУ) (е]:2)) в процессе получения графа ОЬ из графа ОЬ-1.
Ребро еу-} (еЬ2_)1) соединяет вершины блоков МУ) и МЬ_).
Если к = 1, т.е. если МУ) и МЬ_) представляют собой вершины графа ОЬ-1, то эти вершины соединяются двумя ребрами еу_1 и еЬ2_) что приводит к противоречию, ведь ОЬ-) не является мультиграфом.
В противном случае перейдем к графу ОЬ-2 = У_2, ЕЬ-2). Аналогичным образом определим блоки Му_2, МЙ (Му_2,М^_)2 є {вЬ--2)}) и ребра еу_2, е^
( ^ 4-2 є Еь_2).
И вновь, в случае к = 2, т.е. если Му_2 и М^_)2 представляют собой вершины графа ОЬ-2, то эти вершины соединяются двумя ребрами еу_2 и еЬ_2, что приводит к противоречию, ведь ОЬ-2 не является мультиграфом.
Продолжая таким образом, придем к графу ОЬ-к =У_к, ЕЬ-к), в котором аналогичным образом определены Му-к, мЬ}к и ребра еу_к, еЬ—. (еу_к, е2-, є ЕЬ-к ), причем Мук и М{1\ представляют собой вершины графа ОЬ-к (Му-к,мL_к єVL-k). И поэтому такие вершины соединяются двумя ребрами еу_к и еЬ-к, что приводит к противоречию, ведь ОЬ-к не является мультиграфом.
Лемма 2 [3]. Пусть в предфрактальном графе ОЬ = (, ЕЬ) две вершины v1 и v2 принадлежат одному блоку первого ранга 2 = (', Q') ( 2 є {ву^}, v1 є Q', v2 є Q ) и
имеют смежность с некоторой вершиной V ( V є УЬ ), тогда V є Q'.
Лемма 3. Пусть О = У, Е) - п -вершинный граф, удовлетворяющий условию Оре. Пусть v1 и v2 (v1, v2 є V ) - две его несмежные вершины (е = v1v2 £ Е ). Тогда вершины v1 и v2 имеют по меньшей мере две общие смежные вершины (найдутся вершины w1 и ^2 ( w1, w2 є V ), такие что ^2, v2w1, v2w2}с Е ).
Доказательство. Выделим два множества: вершин, смежных с вершиной v1 - множество 5) ( 5 ={v є V / vv1 є Е}) и вершин смежных с вершиной v2 - множество 52 (52 = {V є V / vv2 є Е}). Пусть множества 5 и 52 пересекаются не более чем по одному элементу (и 521 = +|521, либо и 521 = 5) | +|521 -1). Оценим количество
вершин в графе О . Граф О содержит множества вершин - {, v2} и 5) и 52.
Значит п =| О |> {, v2} +и52\ или п =| О |> 2 +15)| +152\ -1.
Откуда п > 51 +1£2| +1 или п -1 > 5) + 521. Между тем, согласно условию Оре, имеем 5}| + 52|> п . Значит п-1 > п .
Полученное противоречие доказывает лемму.
Лемма 4. Пусть ОЬ = (у, ЕЬ) - предфрактальный граф с несмежными «старыми» ребрами, с затравкой Н = (Ж, Q), удовлетворяющей условию Оре. V — вершина О (Vє V), принадлежащая блоку первого ранга 2 = (',Q') (Vє Ж', 2є {ву)}). Множество и - окружение [11] вершины V. Тогда все (за исключением, может быть, одной) вершины множества и принадлежат блоку 2 .
Доказательство. Т.к. ОЬ - предфрактальный граф с несмежными «старыми» ребрами, то вершина V инцидентна не более чем одному «старому» ребру. Значит, вершина V - смежна не более чем с одной вершиной, не принадлежащей блоку 2 .
Лемма 5. Пусть в условиях предыдущей леммы множество и2 - множество вершин графа ОЬ = (, ЕЬ) (и2 с VL), каждая из которых смежна хотя бы с двумя вершинами множества и . Тогда все вершины множества и2 принадлежат блоку
2 = (', Q').
Доказательство. Рассмотрим произвольную вершину u0 из множества U2 (u0 є U2). Вершина u0 смежна с двумя вершинами множества U - u, и u2 ( {u0u,, u0u2}с El ). Учитывая лемму 3, есть два принципиально различных случая: либо обе вершины u, и u2 принадлежат блоку Z ( u, є W', u2 є W'), либо только одна из вершин u, и u2 принадлежит блоку Z ( u, ^ W', u2 є W').
Случай 1. u, є W', u2 є W'. Согласно {u0u,, u0u2 }c EL и леммы 2 имеем u0 є W'.
Случай 2. u, ^W', u2 eW'. Пусть вершина u, принадлежит блоку первого ранга Z, = (W, Q,) (Z, є {в*1)}, Z, Ф Z, u, є W,'). С учетом того, что в GL «старые» ребра не пересекаются, того, что vu, - «старое» ребро (v є W', u, є W,'), и того, что u0u, є El получаем, что вершина u0 принадлежит тому же блоку первого ранга, что и вершина u, (u0 є W, ). Но тогда блоки Z и Z, соединяют два ребра vu, и u2u0, что невозможно согласно лемме 1.
Таким образом, доказано, что произвольно взятая вершина множества U2 принадлежит блоку Z , значит, и все вершины множества U2 принадлежат блоку Z .
Постановка задачи
Пусть в явном виде задан граф G = (V, E). Необходимо проверить, является ли он предфрактальным графом GL =(VL, EL) с несмежными «старыми» ребрами с затравкой, являющейся n -вершинным графом H = (W, Q), удовлетворяющим условию Оре.
Результатом выполнения алгоритма являются значения чисел L, n и затравка
H = (W, Q).
Описание алгоритма а2
Алгоритм а2 предназначен для распознавания свойства предфрактальности данного графа G = (V, E) в случае, когда G предположительно является предфракталь-ным графом с несмежными «старыми» ребрами, порожденным n -вершинной затравкой H = (W, Q), удовлетворяющей условию Оре, если значения L, n считаются априори заданными.
Предварим алгоритм а2 процедурой проверки необходимых условий предфрак-тального графа, применив такую процедуру к графу G . Результатом проверки будут являться значения чисел L, n .
Алгоритм а2 состоит из этапов p = 1,2,...,L _ 1, которые взаимно-однозначно поставлены в соответствие текущим графам G, , l = 2, L. На вход этапа p подается текущий граф G{, где l = L _ p +1 (причем в качестве графа GL берется исходный граф G). Этап p выделяет в G{ затравки, состоящие из ребер ранга l. После чего каждая из этих затравок стягивается в вершину. Полученный в результате текущий граф G{ _, представляется на вход этапа p +1.
В процессе результативной реализации (L _ l) этапов алгоритма а2 получаем последовательность G*,G*_,,...,G*. При этом считаем, что данный граф G, обозначаемый в этой последовательности через G*, является предфрактальным графом тогда,
\J /-1* /-1* /-1* z"
когда каждый представитель последовательности GL, GL _,,..., G, удовлетворяет необ-
ходимым условиям предфрактальности.
Опишем вычислительную схему первого этапа в случае, когда на его вход представлен исходный граф О = (V, Е).
Этап р = 1 начинается с проверки равенства | V |= пь . Если это равенство не выполняется, то алгоритм а2 заканчивает свою работу безрезультатно. В противном случае выполняются т} шагов этапа р = 1, где т} - число таких затравок в О, каждая из которых состоит из новых ребер.
Результатом такого очередного шага является выделенная в графе О очередная затравка. Процедуру выделения этой затравки обозначим через у.
Описание процедуры у
Во множестве V выделяем очередную неотмеченную вершину v1, т.е. вершину, которая не принадлежит какой-либо уже выделенной затравке из множества V . Если такую вершину выделить не удалось, то процедура у, а с ней и алгоритм а2 заканчивает свою работу безрезультатно. Выделенная вершина v1 смежна с некоторыми неотмеченными вершинами множества V . Пусть эти вершины составляют множество и} ={{,...,и(}. Считаем вершины множества и} выделенными. Согласно лемме 3 все (за исключением, может быть, одной) вершины множества и1 принадлежат текущей затравке Н = (Ж, Q). Для выделения оставшихся вершин затравки Н воспользуемся леммой 2. А именно, среди невыделенных вершин множества V выделяем такие вершины, которые смежны хотя бы с двумя вершинами множества и1 . Пусть эти вершины составляют множество и2. Согласно лемме 4 все вершины множества и2 принадлежат текущей затравке Н .
Если Ы + |и)| + И * п (т.е. N * п _ * _ }) и {1} + |и)| + И * п + 1 (т.е.
|и2| * п - *), то процедура у, а с ней и алгоритм а2 заканчивает свою работу безрезультатно.
Иначе, если |и21 = п - * -1, то результатом работы процедуры у считаем множество вершин Ж' = { } и и} и и2.
Если же |и2| = п - *, то из множества и} нужно исключить одну вершину. А именно, одну такую вершину v2 ^2 є и}), которая не смежна ни одной из вершин множества и} ии2. Если такой вершины v2 не найдется, то процедура у, а с ней и алгоритм а2 заканчивает свою работу безрезультатно. Иначе результатом работы процедуры у считаем множество вершин Ж' = { } и и} и и2 \ }.
Выделяем и отмечаем все ребра, у каждого из которых концы представляют собой вершины множества Ж'.
Если в процессе распознавания графа ОЬ процедура у выполняется впервые, то работа процедуры у завершается тем, что множество выделенных таким образом вершин и ребер запоминается как п -вершинный граф 2 = (Ж0, Q0).
В противном случае работа процедуры у завершается проверкой на изоморфность графа 2 ^) и графа, образованного множествами выделенных таким образом
вершин и ребер. Если эти графы изоморфны, то шаг, включающий в себя описанную процедуру у, завершается результативно и следует переход к следующему шагу пер-
вого этапа. В противном случае работа шага считается безрезультатной, и алгоритм а2 заканчивает свою работу.
Этап р = 1 завершает свою работу, как только все вершины множества V окажутся выделенными. Далее осуществляем процедуру стягивания каждой выделенной затравки в одну вершину. После чего полученный граф О*-1 предъявляем на вход следующего этапа алгоритма а2.
Предъявленное выше описание работы первого этапа является общим, т. е. все его операции и процедуры остаются неизменными по отношению к каждому графу строящейся последовательности. В случае результативной работы каждого из * -1 этапов в качестве последнего члена полученной последовательности получаем п -вершинный граф, изоморфный графу 2 = (Ж0, Q0). Этот результат означает получение положительного ответа на вопрос, является ли данный граф О предфрактальным графом с несмежными «старыми» ребрами, порожденным затравкой, являющейся п -вершинным графом, удовлетворяющим условию Оре.
Заключение
Распознавание предфрактальных графов в условиях отсутствия информации о затравке, т.е. отсутствия информации о числе вершин п = |ж|, числе ребер ц = и
структуре графа Н с помощью непереборных алгоритмов, является нерешенной задачей [9]. Построенный в работе алгоритм распознавания свойства предфрактальности графа О* =(*, Е*) и имеет вычислительную сложность 0<К|).
Примечания:
1. Горелик АЛ., Скрипкин В.А. Методы распознавания. М.: ВШ, 1989.
2. Ту Дж., Гонсалес Р. Принципы распознавания образов. М.: Мир, 1978.
3. Рассел С., Норвиг П. Искусственный интеллект: современный подход (А1МА): пер. с англ. М.: Вильямс, 2006.
4. Люгер Джордж Ф. Искусственный интеллект: стратегии и методы решения сложных проблем: пер. с англ. М.: Вильямс, 2003.
5. Божокин С.В., Паршин ДА. Фракталы и мультифракталы. М.; Ижевск: РХД, 2001.
6. Федер Е. Фракталы. М.: Мир, 1991.
7. Шредер М. Фракталы, хаос, степенные законы. М.; Ижевск: РХД, 2001.
8. Мэлроуз Дж. Иерархические фрактальные графы и блуждания в них // Фракталы в физике. М.: Мир, 1988. С. 507-512.
9. Кочкаров А.М. Распознавание фрактальных графов. Алгоритмический подход. Нижний Архыз: РАН САО, 1998.
10. Кочкаров А.А., Кочкаров РА. Параллельные алгоритмы на предфрактальных графах. Препринт № 84. М.: ИПМатем. им. М.В. Келдыша РАН, 2003.
11. Лекции по теории графов / В.А. Емеличев [и др.]. М.: Наука, 1990.