УДК 621.3.06
В.А. Литвиненко, С.А. Ховансков, Е.В. Литвиненко
МОДИФИЦИРОВАННЫЙ АДАПТИВНЫЙ АЛГОРИТМ ОПРЕДЕЛЕНИЯ МАКСИМАЛЬНЫХ ПОЛНЫХ ПОДГРАФОВ*
В статье рассматривается модификация адаптивного алгоритма определения максимальных полных подграфов симметрического графа, позволяющая организовать выбор параметров адаптации не только в начале выполнения алгоритма, но при выполнении самого алгоритма. При этом значение параметра адаптации может, как уменьшаться, так и увеличиваться, т.е. точность решения может, как увеличиваться, так и уменьшаться в процессе выполнения алгоритма, что, в целом, позволит сделать процесс управления точностью решения более гибким. Выбор параметра адаптации производится после каждого этапа, на котором произведено определение максимальных подграфов одно вершины графа. Приведено описание алгоритма.
Алгоритмы на графах; максимальный полный подграф; точность решения; параметрическая адаптация; размерность задачи; ресурс времени; база данных; управление точностью; двоичное дерево; модифицированный алгоритм.
V.A. Litvinenko, S.A. Hovanskov, E.V. Litvinenko
THE MODIFIED ADAPTIVE ALGORITHM OF DEFINITION OF THE MAXIMUM FULL SUBGRAPHS
In article updating of adaptive algorithm of the maximum full subgraphs definition of the symmetric count, allowing to organize a choice of parameters of adaptation not only at the beginning of algorithm performance is considered, but at performance of the algorithm. Thus value of parameter of adaptation can, both to decrease, and to increase, i.e. accuracy of the decision can, both to increase, and to decrease in the course of algorithm performance that, as a whole, will allow to make management of accuracy of the decision of more flexible. The choice of parameter of adaptation is made after each stage on which definition of the maximum subgraphs of one top of the count is made. The algorithm description is provided.
Algorithms on columns; maximum full subgraph; accuracy of the decision; parametrical adaptation; dimension of a task; time resource; database; management of accuracy; binary tree; the modified algorithm.
Введение. Задача определения максимальных полных подграфов [1, 2] относится к экстремальным задачам на графах. К задаче определения максимальных полных подграфов сводятся достаточно большое количество задач, имеющих практическое значение, например, [3]. Однако трудоемкость алгоритмов определения максимальных полных подграфов затрудняет ее применение.
В настоящее время активно развиваются различные методы, направленные на повышение эффективности решения экстремальных задач на графах. Среди таких методов следует отметить различные биоинспиророванные методы и алгоритмы [5, 6]. Одним из перспективных направлений является также использование методов искусственного интеллекта [7-9] для решения экстремальных задач на графах, в том числе, и задачи определения максимальных полных подграфов [11-14].
В работах [11-15] развивается один из методов искусственного интеллекта
- метод параметрической адаптации для решения экстремальных задач на графах.
* Работа выполнена при частичной поддержке РФФИ (проект № 11-01-00975-а).
В работе [11, 13] предложен адаптивный алгоритм определения максимальных полных подграфов, основанный на методе параметрической адаптации, который является модификацией алгоритма определения максимальных полных подграфов, предложенного в [3].
Теорема, на которой основан алгоритм [3]. Пусть в графе 0=(Х,Ц) имеется вершина Хіе X [Гх; и {хі} = X] и определена клика Ь = (X”, и”)с множеством
вершин X” = {х;}иX', где X'с X . Тогда, если Ухк Є С = X \ X” выделены все
максимальные полные подграфы, то и ух. є X' будут получены все максимальные
полные подграфы.
Практическое значение этой теоремы в том, что, если для каждой вершины графа х{ є X эту теорему применить только один раз, то будут выделены все максимальные полные подграфы графа. Но, если для каждой вершины графа х; є X
эту теорему применить два и более раз, то тогда будут определены не все максимальные полные подграфы графа и решение будет приближенным, точность которого будет зависеть от того, сколько раз применена теорема к одной и той же вершине графа х; є X . В предельном случае можно определить все максимальные
полные подграфы, покрывающие все ребра графа.
Весь процесс определения всех максимальных полных подграфов состоит из п этапов, где п - количество вершин графа, каждый из которых связан с определенной вершиной хі Є X.
На каждом 1-м этапе определяются все максимальные полные подграфы графа G=(X, и), образованные вершинами множества X подграфа О^^йі), где Х1=Гх1 и {хі} - множество вершин, а и - множество ребер.
Алгоритм [11] основан на систематическом переборе полных подграфов и проверке их на максимальность.
Полный подграф G=(X,U') , где X - множество вершин, а и' - множество ребер, графа О=^,и) является максимальным полным подграфом, если
П«," = 0 (1)
Проверка на максимальность заключается в определении пересечения множеств вершин, смежных с каждой вершиной, образующей выделенный полный подграф. Если такое пересечение кажется пустым, то это будет означать, что выделенный полный подграф является максимальным полным подграфом.
Рассмотрим определение полных подграфов на каком-то і-ом этапе для подграфа О^^иі).
Если Гхі = 0, то выделяется максимальный полный подграф Lj=(Xj,Uj)[Xj={xl}]. В противном случае переходим к выделению полных подграфов.
Определим множество М1= Гхі и М11=М1. Определим вершину хг1Є М11 с наименьшим индексом г (дополнительный индекс в обозначении вершин соответствует шагу выделения полного подграфа).
Определим множество М12= М],]Г\ Гхг1. Затем найдем вершину хг,2Є М12 [(г,2)> (г,1) и (г,2) - наименьший индекс]. Затем определим М13= М1,2П Гхг2 и вершину хг,3 Є М13 [(г,3)> (г,2) и (г,3) - наименьший индекс] и т.д., пока на к1-ом шаге не получим множество
М1,к1 = М1,к1-1П Гхг,к1 = 0. (2)
к1
Тогда получим полный подграф Б'„={хі} и {и хг^}, где ¥ - порядковый
4=1
номер максимального полного подграфа.
Теперь воспользуемся теоремой. Составим множество С1= М1 \ Б'т .Выберем вершину хт1 Є С1 с наименьшим индексом (т,1)>і. Определим М2= М1П Гхт1 и
М2,1= М2, для которого аналогично предыдущей процедуре выделения полного подграфа получим полный подграф
к 2
В т+1 ={х,} и [хт,і] и (и *.,}.
4=2
Затем составим множество С2= М2 \ В'Т+1, выберем вершину Хт,2Є С2 с наименьшим индексом (т,2)>1 и определим М3=М2П ГХт,2 и М31=М3. После чего оп-
к 3
ределим: В'„+2={Х;} и {Хт,2 } и {Хт,2} и (и Х*, }, С3=М3\В'Т+2, вершину Хт,3Є С3
4=3
[(т,3)> I и (т,3) - наименьший индекс] и т.д.
На і-м шаге: Мі=Мі-1П ГХті-1 [Хті-1Є Сі-1 и (т,і-1) - наименьший индекс];
і -1 кі
Ми=М{; В'г+і-2={Х1} и {и Хт^ } и {и Х, }, Сі=Мі\ В'г+-1. (3)
^=3 4=і
Множества Мі и Сі - запоминаются, а множества Мі1, Мі2, ... Мік - нет.
Аналогичные действия выполняются до тех пор, пока на шаге і=д:
М= МЧ1П Г Хт,ч-1=0 (4)
или
Сд= Мд\ В'+-1=0. (5)
При выполнении любого из условий (4) или (5) переходим к предыдущему множеству Мд1, с тем отличием, что при выполнении (4) выделяется полный подграф
д-1
В\+ ,-1={Х,} и {иХт,ф } . (6)
ч>=1
Множества В'Т+і-1 и В"¥+ -1 обозначены по-разному, для того, чтобы подчеркнуть различие в способах их получения.
Затем из множества Сд1 исключаем вершину Хтд_1 Є Сд_1 и добавляем вершину Хтд-1 в множество Од1. Отметим, что при выполнении (3) начальное состояние множества Бд= 0.
В том случае, когда Вд1 Ф Сд_1, переходим к формированию множеств Мд2, Сд2 , Од_1 и т.д., пока Б1=С1 или С1= 0. Если Сд1Ф 0,то вновь определяем вершину
Хзд-1 Є Сд-1[(ё,д-1)> (т, д-1)], а затем - множества Мд, Сд, Вд и т.д.
Чтобы исключить повторное выделение одних и тех же полных подграфов выражение (4) примет следующий вид:
Мд=Мд_П ГХт,д-1\ Вд1. (7)
Для проверки на максимальность выделенного полного подграфа проводится проверка (1).
Управление точностью решения задачи выделения максимальных полных подграфов. Пусть X - количество полных подграфов, которые выделяются для каждого Мд в соответствии с процедурой выделения полного подграфа типа В'„+і_1. В том случае, если теорема применяется только один раз к подграфу Сд= (Мд,ид), т.е. Х=1 и множество В'д1 [ї= X] определятся только одно для каждого множества Мд, то будут выделены все максимальные полные подграфы. Тем самым, будет получено точное решение задачи определения максимальных полных подграфов. Если параметр Х>1, то будут определяться не все максимальные полные подграфы, а только их часть. При этом количество максимальных полных подграфов будет уменьшаться с увеличением значения параметра X.
Таким образом, задавая различные значения параметру адаптации X можно получать решения с различной степенью точности, и, те самым, управлять точностью решения задачи определения максимальных полных подграфов.
Модификация адаптивного алгоритма заключается в том, что значение параметра адаптации X может изменяться в процессе выполнения алгоритма.
После определения всех максимальных полных подграфов, в которые входит
вершина Хі Є X , размерность исследуемого графа уменьшается на одну вершину
и алгоритмом адаптации можно провести заново выбор адаптирующего воздействия, поскольку изменились условия выполнении алгоритма - уменьшилась размерность задачи.
Для этого алгоритм адаптации, зная ресурс времени, отведенный на решение задачи, и фактическое время, уже использованное на решение задачи к моменту выделения клик и время, затраченное на выделение максимальных полных подграфов, в которые входит вершина Хі Є X , заново определяет адаптирующее воздействие - значение параметра X. После этого выполнение адаптивного алгоритма продолжается с новым значением параметра адаптации X. При этом значение параметра адаптации X может, как уменьшаться, так и увеличиваться, т.е. точность решения может как увеличиваться, так и уменьшаться в процессе выполнения алгоритма, что, в целом, позволит сделать процесс управления точностью решения более гибким.
Сформулируем адаптивный алгоритм определения максимальных полных подграфов, позволяющий управлять точностью решения, с учетом предложенной модификации.
Исходными данными для выполнения алгоритма являются: граф 0=(Х, и), заданный матрицей смежности; внешние условия выполнения алгоритма:
1) размерность графа: п - количество вершин графа и т - количество ребер графа;
2) в - требуемая точность решения;
3) ё - ресурс времени, отведенный на решение задачи.
Алгоритм.
1°. Начало работы алгоритма. Задание начальных значений: у=0; щ=0; 1=0.
2°. Выбор значения параметра адаптации X с использованием алгоритма адаптации на основе анализа внешних условий, с учетом уменьшения размерности задачи и времени, использованного на исследование графа.
3°. 1=1+1. Если 1=п, то переход к 10°, иначе выбрать очередное множество Гх; и переход к 4°.
4°. Если Гх;=0, то у=у+1 и выделить максимальный полный подграф Ьу=(Ху,иу)[Ху={Х;}, иу=0] и переход к 3°, иначе і=1, М1=Гх; , Сі=Мі , Од=0, t=1 и переход к 3°.
5°. ^= ^+1. Для М^ в соответствии с (4) определить В'Т1. При ґ>1 определить Ми= Мі,1П ГХг1 и проверить полный подграф От=(В'т,,,ит) на максимальность согласно (1). Если условие (1) выполнятся, то выделить максимальный полный подграф Ьу= 0„. Переход к 6°.
6°. С=С\ В'„,Р Если С{=0, то переход к 8°, иначе, если t=X, то переход к 7°, иначе t= t+1 и переход к 5°.
7°. і=і+1. Мі=Мі_1П Гхщі1\ Бд1 [Хті-1Є С-1 (т,і-1) - наименьший индекс]. Если Мі=0, то ^= ^+1 и определить В"¥ в соответствии с (7), проверить полный подграф
0Т=(Х„,и„)[ХТ= В"¥ ] на максимальность в соответствии с (1). Если условие (1) выполняется, то у=у+1 и выделить максимальный полный подграф Ьу= От, переход к 8°. Если МФ0, то запомнить Мі,Мц=М, г=1, Сі=Мі, Бд=0 и переход к 5°.
8°. і=і-1. Сі= С\Хт,і-1. Переход к 9°.
9°. Если Сі=0, то переход к 8° до выполнения условия С1=0, тогда переход к 2°, иначе Д= Діи{Хт,і} и переход к 7°.
10°. Конец работы алгоритма.
Заключение. Рассмотренная модификация адаптивного алгоритма определения максимальных полных подграфов позволяет организовать выбор параметров адаптации не только в начале выполнения алгоритма, но при выполнении алгоритма, повышая, тем самым, повышая гибкость управления точностью решения.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Кристофидес Н. Теория графов. Алгоритмический подход / Пер. с англ. под ред. Г.Г. Гаврилова. - М.: Мир, 1978. - 432 с.
2. Литвиненко В.А. Применение адаптивных алгоритмов определения экстремальных множеств графов при решении оптимизационных задач автоматизированного проектирования ЭВА // Известия ТРТУ. - 2001. - № 4 (22). - C. 361-362.
3. Курейчик В.М., Литвиненко В.А. Определение клик симметрического графа // Известия Северо-Кавказского научного центра высшей школы. Технические науки. - 1979. - № 2.
- С. 13-16.
4. Чернышев Ю.О., Литвиненко В.А., Ховансков С.А., Литвиненко Е.В. Методы управления точностью решения экстремальных задач на графах // Известия ЮФУ. Технические науки. - 2010. - № 7 (108). - C. 84-91.
5. Курейчик В.В., Курейчик В.М., Родзин С.И. Концепция эволюционных вычислений, инспирированных природными системами // Известия ЮФУ. Технические науки. - 2009.
- № 4 (93). - C. 16-24.
6. Курейчик В.М. Кажаров А.А. Использование роевого интеллекта в решении NP-трудных задач // Известия ЮФУ. Технические науки. - 2011. - № 7 (120). - С. 30-37.
7. Растригин Л.А. Адаптация сложных систем. - Рига: Зинатне, 1981. - 375 с.
8. Курейчик В.М., Лебедев Б.К., Лебедев О.Б., Чернышев Ю.О. Адаптация на основе самообучения / Монография. - Ростов н/Д.: Изд-во РГАСХМ ГОУ, 2005.
9. Курейчик В.М., Лебедев Б.К., Лебедев О.Б. Поисковая адаптация. Теория и практика / Монография. - М.: Физматлит, 2006.
10. Калашников В.А., Литвиненко В.А. К вопросу определения семейств клик графа. 30. Intern. Wiss. Koll. TH llmenau Vortragsreihe. 1985. - С. 41-44.
11. Литвиненко В.А. Адаптивные алгоритмы определения экстремальных множеств графов // Известия ТРТУ. - 2000. - № 2 (16). - С. 186-189.
12. Литвиненко В.А., Зеленский Л.И., Белогородцев Р.А. Исследование эффективности модифицированного алгоритма определения клик графа // Известия ТРТУ. - 2002.
- № 3 (26). - С. 204-205.
13. Litvinenko V.A. Adaptive algorithms of definition of extreme sets of graphs // Proceeding of the International Scientific Conferences «Intelligent System (IEEE AIS’03)» and «Intelligent CAD’s (CAD-2003)». Scientific publication in 3 volumes. - 2003. - Vol. 3. - C. 52-59.
14. Литвиненко В.А., Калашников В.А. Алгоритм адаптации проектной операции определения клик графа // Известия ТРТУ. - 2003. - № 2(31). - С. 165-170.
15. Литвиненко В.А., Ховансков С.А., Литвиненко Е.В. Применение методов искусственного интеллекта для управления точностью решения задач на графах // Известия ЮФУ. Технические науки. - 2011. - № 7 (120). - C. 153-159.
Статью рекомендовал к опубликованию д.т.н., профессор Ю.О. Чернышев.
Литвиненко Василий Афанасьевич - Федеральное государственное автономное образовательное учреждение высшего профессионального образования «Южный федеральный университет»; e-mail: [email protected]; 347928, г. Таганрог, пер. Некрасовский, 44, ГСП 17А; тел.: 88634371651; кафедра систем автоматизированного проектирования; к.т.н.; доцент. Ховансков Сергей Андреевич - e-mail: [email protected]; кафедра систем автоматизированного проектирования; к.т.н.; доцент.
Литвиненко Егор Васильевич - e-mail: [email protected]; студент.
Litvinenko Vasiliy Afanasievich - Federal State-Owned Autonomy Educational Establishment of Higher Vocational Education “Southern Federal University”; e-mail: [email protected]; GSP-17A, 44, Nekrasovskiy, Taganrog, 347928, Russia; phone: +78634371651; the department of computer aided design; cand. of eng. sc.; associate professor.
Hovanskov Sergey Andreevich - e-mail: [email protected]; cand. of eng. sc.; associate professor. Litvinenko Yegor Vasilievich e-mail: [email protected]; student.