НАУЧНОЕ ИЗДАНИЕ МГТУ ИМ. Н. Э. БАУМАНА
НАУКА и ОБРАЗОВАНИЕ
Эл № ФС77 • 48211. Государственная регистрация №0421200025. ISSN 1994-0408
электронный научно-технический журнал
Оценка эффективности оптимизирующих преобразований
алгоритмов операций над ультраграфами
# 01, январь 2013
Б01: 10.7463/0113.0547731
Овчинников В. А., Иванова Г. С., Павлов А. Е.
УДК 004.3 +519.6
Россия, МГТУ им. Н.Э. Баумана vaovchinnikov@gmail .com gsivanova@ gmail.com alex [email protected]
Введение
Ультраграф является перспективной моделью объектов при решении таких задач как потоковый анализ и синтез, синтез структур высокого уровня сложности [1]. Эти задачи имеют, как правило, высокую размерность входа, а программы их решения характеризуются большой временной сложностью.
В работах [2, 3, 4, 5, 6, и др.] рассмотрен ряд методов и приёмов снижения вычислительной сложности алгоритмов на множествах и графах. Одним из наиболее эффективных методов снижения последней является сокращение времени выполнения основных операций, производимых над ультраграфами. Однако авторам не известны работы, посвящённые исследованию оптимизирующих преобразований алгоритмов операций над ультраграфами.
Целью исследования является экспериментальная оценка эффективности способов снижения временной сложности алгоритмов операций над ультраграфами. В теоретической части показано, что наибольший вклад в вычислительную сложность алгоритма операции добавления вершины в ультраграф вносят копирование множеств и формирование множеств образов и прообразов вершин и ребер относительно предикатов смежности. Констатируется, что это характерно для всех операций над ультраграфами. На основе выполненного анализа выбраны используемые преобразования.
В разделе «экспериментальные исследования» даётся характеристика ультраграфа, на котором проводились исследования, Обсуждаются их результаты. Показана высокая эффективность применённых преобразований.
1 Теоретический анализ алгоритмов операций над ультраграфами
Операции над ультраграфами, соответствующие проектным процедурам над структурами сложных систем, в которых компоненты связаны не попарно, описаны в [7, 8]. Для выбора объекта исследования приведём алгоритм операции добавления вершины и результаты его анализа. Обозначение операции:
НлСВД) = Ни(Х,Ц) + Иик(хк, [ик+, ик~}).
Здесь: Хк добавляемая вершина; ик+ =Гх - множество ребер, ей инцидентных; и =ГХк - множество ребер, которым она инцидентна. Порядок выполнения операции:
1. Создаем множества X1, Г\Х\ и Г^ь
Х\ = X. Хк; ГХ1 = ГХ. Г1 Хк; Г2Х1 = Г2X. Г2 Хк .
2. Копируем множество и под именем и1:
и = и.
3. Определяем множество образов ребер Г2и1, занося в него Г2ц из множества Г2и, если ребро ц не принадлежит ик, и добавляя вершину хк в образы тех ребер, которым она инцидентна:
Г2и1 = {Г2Ц : Ц £ Г2Хк V{Г2Ц • Хк }: Ц е Г2Хк / Ц е и1,Г2Ц е Г2и}.
4. Формируем множество прообразов ребер Г1и1, занося в него Гц из множества Г1и, если ребро ц не принадлежит ик+, и добавляя вершину хк в образы тех ребер, которые ей инцидентны.
Г1и1 ={Г1и7: и] £ Г1 Хк V\Г1UJ • Хк }: и] е Г1 Хк /и] еи1 ,Г1и7 е Г1и}.
5. Создаем множество образов F1X1 вершин относительно предиката смежности занося Г1Хг из ^1Х, если вершина хк не инцидентна ребрам, которые принадлежат образу Г1х1 вершины хг-, и добавляя в Е1х1 вершину Хк в противном случае. Определяем вершины, смежные добавляемой, и заносим их в ^1Х1.
Х1 = {{^ Хг е ^X: Г1 Хг п Г2Хк = 0 V ^Хг . Хк: Г1 Хг п Г2Хк ^ 0 / Хг е X,
Г1Х еГ1 X}. Р1 Хк},
где
Р1 Хк = и Г2и; ,Г2Ц е Г2и.
и] еГ1 Хк
6. Формируем множество прообразов F1~1X1, занося F1~1xг■ из F1~1X, если вершине хк не инцидентны ребра прообраза Г2хг-, и добавляя в F1~1xг■ вершину Хк в противном случае. Определяем вершины прообраза F1'lХk и заносим его в множество F1~1X1.
F1-1Х1 = {^-1 х е F1-1X:Г2пГ1 хк = 0 VF1-1 х1. хк:Г2х пГ1 хк Ф0/е X, Г2Х еГ2Х}• ^ Хк },
где
^1-1 хк = и Г1и ], Г 1й ] е Г 1и.
и} е Г 2 хк
7. Определяем множество образов ребер F2U1, копируя в него F2Uj из F2U, если ребро ц не принадлежит Цк". В противном случае добавляем в F2Uj не принадлежащие ему ребра множества '.
F2U1 = : и] £ Г2х V F2и] и Г1 хк: и] е Г2хк / и] е Ц1, ^и] е F2U}.
8. Формируем множество прообразов ребер F2-1U1, копируя в него F2-1Uj из
если ребро ц не принадлежит Щ+. В противном случае добавляем в F2-1Uj не принадлежащие ему ребра множества Uk-
= {F2-1uj: uj £ Г1 хк V F2-1uj и Г2хк: uj е Г1 хк / uj е U1, F2-1uj е F2-1U}.
Асимптотическая оценка вычислительной сложности операции базируется на мерах сложности формирования множеств аналитического представления ультраграфа. Для её определения подсчитывается количество операций сравнения и копирования в функции от мощности обрабатываемых множеств, считая при этом, что вычислительные сложности этих операций одинаковы. Выполним такой подсчет на примере формирования множества образов ребер:
Г2U1 ={Г2и) : и j £ Г2Хк ЧГ2uj • Хк }: uj е Г2Хк / и) еU1,Г2uj е Г2U }
- проверка условия ц £ Г2хк требует максимум |Г2хк| сравнений,
- при благоприятном исходе выполняется копирование |Г2ц| элементов,
- количество благоприятных исходов равно Щ - |Г2хк|,
- количество противоположных исходов равно |Г2Хк| и при каждом таком исходе происходит копирование |{Г2ц-. Хк}| элементов. Будем считать, что при любом исходе копируется |Г2Хк| элементов. Отсюда суммарное количество операций будет
(|Г2Хк| + |Г2Ц/|) X (Щ - |Г2Хк|) + |Г2Хк| х ^ц].
Оценки сложности формирования множеств аналитического представления ультраграфа приведены в таблице 1. В ней использованы обозначения п = |Х| и т = | Щ.
Таблица 1 - Оценки сложности формирования множеств при выполнении операции
добавления вершины
N п/п Формируемые множества Количество операций сравнения и копирования в функции от мощности обрабатываемых множеств Мера сложности формирования множества
1.1. X1 X = п O(n)
1.2. Г1Х1 |ГХ| + ГХ O(n) или О(т), если |Г1хг| < т, O(n), если |Г1хг-| = const*
1.3. Г2Х1 ГХ + О(п) или О(т), если |Г2хг| < m, О(п), если |Г2хг-| = const
2. U1 = т О(т)
3. ВД (|ГХ |+ |Г2И,|) х (|^| -|ГХ |) + |ГХ | х |Г2М,-| О(т-п), если |Г2х^| = const и |< п, О(т), если |Гх | и |Г2и7| = const
4. (|Гх | + |Г1К;|) х (|^| -|Гх |) + |Гх | х |Г1И7| О(т-п), если |Гх | = const и |Г1М7|< n, О(т), если |Гх | и |Г1м/| = const
5. F1X1 (|Г1Хг| X |Гх | + |^Хг|) X X О(т2 • n), если |Г1хг| и |Гх | < т, O(n), если |Гьх|, Гх^ | и |^хг| = const
6. F{1X1 (ГХ х |Гх | + |^1-1Хг|) х X О(т2 • n), если |Г2хг- | и |Гх | < т, O(n), если |Г2хг|, |Гх | и |Ff 1хi|=const
7. F2U1 (|ГХ | + ^2^) х (|^| - |Гх |) + (|Гх | + \¥1и]\ х |Гх |) х |ГХ | О(т^), если |^k |, |Гх |и F^u^ < т, О(т), если |Гх |, |Гда| и Fu^const
8. F2-1U1 (|Гх | + |F2ЛuJ1) х (|^| - |ГХ |) + (|Г1Х^ | + |F2-1UJ■| х |Гх |) х |Гх | О(т^), если |Гх |, | и F2 1и7|<т, О(т), если |ГlXk|,|Г2Xk| и F2 1uj|=const
Отсюда следует, что асимптотическая оценка вычислительной сложности для данной операции над ультраграфом равна:
3 —1
- в худшем 0(т ) при т>п, если |Г2хк |, |Г1хк | и или |Г2хк |, |Г1хк | и и^ ограничены величиной т, и 0(т2п) при п>т, если |Г2хк | и |Г1хг| или |Г1хк | и |Г2хг| ограничены величиной т.
- в лучшем 0(т) при т>п или 0(п) при п>т, если мощности образов и прообразов вершин и ребер ограничены константой.
Из таблицы видно, что наибольший вклад в вычислительную сложность операции вносят операции копирования и процедуры формирования множеств образов и прообразов вершин и ребер относительно предикатов смежности. Как показывает анализ описаний алгоритмов [7, 8], эти процедуры присутствуют во всех операциях над ультраграфами. Поэтому достаточно исследовать одну операцию, например добавление вершины в ультраграф.
В таблице 2 показано несколько видов оптимизирующих преобразований (в том числе над упорядоченными множествами [9]) и оценка их вклада в снижение вычислительной сложности алгоритмов [10].
Таблица 2 - Оптимизирующие преобразования и их вклад в снижение вычислительной
сложности
Оптимизирующее Описание оптимизирующего Вклад в снижение
преобразование преобразования вычислительной сложности
1. Замена операции В участках программы, где множеству Высокий
копирования на присваиваются все элементы другого
присваивание множества, цикл копирования
указателя элементов заменяется присваиванием указателя на структуру, содержащую в себе элементы этого множества.
2. Исключение Замена полного перебора вершин для Существенный, при
лишних проверок при пересечения двух множеств на большой мощности
вычислении попарное сравнение элементов двух множеств образов и
выражения множеств и копированием с прообразов вершин
Гх п Г2Хк = 0, последующим их сдвигом при и ребер
Гх п Г2Хк ^ 0, равенстве ключей или сдвигом относительно
Г2Х п Гх = 0, Г2Х п Г1Хк ^ 0 элементов с меньшим ключом до первого их совпадения предикатов инцидентности.
3. Исключение Замена полного перебора вершин для Существенный, при
лишних проверок при объединения двух множеств на большой мощности
вычислении попарное сравнение элементов множеств образов и
выражения множеств и копированием элемента с прообразов ребер и
и Гх и меньшим ключом с последующим его вершин
и Г2Хк сдвигом или сдвигом элементов относительно
каждого из множеств при равенстве предикатов
ключей. смежности и
инцидентности
соответственно.
2 Реализация и экспериментальные исследования
Известно, что время выполнения алгоритма существенно зависит от выбора структур данных, с которыми он оперирует [5, 11]. Для экспериментальной оценки вычислительной сложности операции добавления вершины в ультраграф было использовано матричное и аналитическое представление ультраграфа. При аналитическом представлении для возможности использования преобразования «замена операции копирования на присваивание указателя» образы и прообразы вершин и рёбер реализованы структурой «вектор списков».
Для проведения натурных экспериментов был разработан программный комплекс, включающий в себя описание классов структур данных для матричного и аналитического представления ультраграфов, а также методы, реализующие операцию добавления вершины в ультраграф.
Измерения проводились для ультраграфа с мощностями множества вершин и множества ребер п = т = 1000. Множества аналитического представления ультраграфа генерировались с помощью датчика случайных чисел с использованием соотношений:
п т п т
X р+)=£ л- (п]) и х Р (х)= Х А+и),
г=1 /=1 г=1 /=1
где р+(хг) = |Г1хг| и р-(хг) = |Г2хг| - количество рёбер, инцидентных вершине хг, и количество рёбер, которым она инцидентна, Л+(«/) = |Г2«/| и А~(щ) = |Г1м/| - количество вершин, инцидентных ребру «/, и количество вершин, которым оно инцидентно. Значения указанных параметров менялось в диапазоне 1 < р+(хг) + р-(хг) < 100 и 2 < Л+(«) + А~(и]) 1 < 100.
Количество измерений для оценки времени выполнения операции в каждом случае составляло 100 повторений, результаты измерений усреднялись. При этом среднеквадратичное отклонение не превышало 7-10 % от среднего значения.
На рисунке 1 показан вклад в снижение вычислительной сложности разных видов оптимизирующих преобразований при представлении образов и прообразов вершин и рёбер ультраграфа вектором списков и различных значениях мощности множеств образов и праобразов вершин и ребер (один, десять и пятьдесят процентов от п=т=1000). Оценка выигрыша от оптимизации произведена в процентах с использованием соотношения:
[(?неопг - Г") / Гопг] 100%
где ¿неопт - время выполнения операции без применения оптимизирующих преобразований, ¿оптг - время выполнения операции с применением /-го оптимизирующего преобразования.
Рисунок 1 - Вклад оптимизирующих преобразований в снижение вычислительной сложности при представлении множеств аналитического задания ультраграфа вектором
списков
Как видно из данных, представленных на рисунке 1, наибольший эффект дает применение оптимизирующего преобразования 1-го вида, что можно объяснить исключением большого количества операций копирования элементов множеств во всех пунктах алгоритма. Суммарный выигрыш от применения описанных выше оптимизирующих преобразований составил в ряде случаев от 53 до 87 % от исходного времени выполнения операции добавления вершины в ультраграф. Больший вклад
третьего оптимизирующего преобразования по сравнению с вторым объясняется тем, что как правило, \FzUj | > и > |Г2хк| в пределе в |Г2И;| раз.
Эффективность и возможность применения использованных для оценки оптимизирующих преобразований напрямую зависит от выбранной структуры представления данных. Так, например, при матричном представлении ультраграфа невозможно применить преобразование 1, а преобразования 2 и 3 сводятся к попарному сравнению элементов строк таблиц истинности соответствующих двуместных и одноместных предикатов. Например, при определении Г1хг- п Г2хк выполняется попарное сравнение элементов /-ой строки матрицы истинности двуместного предиката Г1(Х, V) -«вершинам множества X инцидентны рёбра множества V» с элементами характеристического вектора одноместного предиката Г2Хк(Ц) «рёбра множества V, которым инцидентна вершина хк».
На рисунке 2 показаны значения времени выполнения операции добавления вершины для матричного и аналитического представления ультраграфа при различных значениях мощности множеств образов и прообразов вершин и рёбер (1 % и 10 % от п = т = 1000).
1000x1000 при 1% 1000x1000 при 10%
□ Матричное представление 0 Вектор списков
Рисунок 2 - Зависимость времени выполнения операции добавления вершины к ультраграфу от структуры данных и связности ультраграфа
Зависимость на рисунке 2 показывает, что матричное представление ультраграфа не эффективно при низкой связности ультраграфа. Для ультраграфов с большими значениями мощности множеств образов и прообразов, время выполнения операций при матричном представлении достаточно близко по значению к оптимизированным операциям при использовании вектора списков. Однако следует иметь в виду, что использование матриц ограничено размером адресного пространства оперативной памяти.
Заключение
На основании выполненных исследований можно утверждать, что использованные оптимизирующие преобразования обеспечивают существенное сокращение времени выполнении операций над ультраграфами. Такие преобразования целесообразно применять при разработке алгоритмов, в которых копируются множества большой мощности и многократно выполняются операции над ними.
Полученные результаты позволяют сделать предположение о перспективности дальнейших исследований в области разработки и оценки эффективности оптимизирующих преобразований алгоритмов на множествах и графах.
Список литературы
1. Овчинников В.А. Математические модели объектов задач структурного синтеза // Наука и образование. МГТУ им. Н.Э. Баумана. Электрон. журн. 2009. № 3. Режим доступа: http://technomag.edu.ru/doc/115712.html (дата обращения 25.01.2013).
2. Ахо А.В., Хопкрофт Д., Ульман Д.Д. Структуры данных и алгоритмы: пер. с англ. М.: Вильямс, 2001. 384 с.
3. Гудман С., Хидетниеми С. Введение в разработку и анализ алгоритмов: пер. с англ. М.: Мир, 1981. 368 с.
4. Новиков Ф. А. Дискретная математика для программистов. СПб: Питер, 2001.
304 с.
5. Овчинников В.А. Алгоритмизация комбинаторно-оптимизационных задач при проектировании ЭВМ и систем: учеб. для вузов. М.: Изд-во МГТУ им. Н.Э. Баумана, 2001. 288 с.
6. Касьянов В.Н. Оптимизирующие преобразования программ. М.: Наука. Гл. ред. физ.-мат. лит., 1988. 336 с.
7 Овчинников В.А. Операции над ультра- и гиперграфами для реализации процедур анализа и синтеза структур сложных систем. Часть 2 // Наука и образование. МГТУ им. Н.Э. Баумана. Электрон. журн. 2009. № 11. Режим доступа: http://technomag.edu.ru/doc/ 133223.html (дата обращения 25.01.2013).
8. Овчинников В.А. Операции над ультра- и гиперграфами для реализации процедур анализа и синтеза структур сложных систем. Часть 3 // Наука и образование. МГТУ им. Н.Э. Баумана. Электрон. журн. 2009. № 12. Режим доступа: http://technomag.edu.ru/doc/ 134335.html (дата обращения 25.01.2013).
9. Овчинников В.А. Операции над упорядоченными множествами // Наука и образование. МГТУ им. Н.Э. Баумана. Электрон. журн. 2011. № 6. Режим доступа: http://technomag.edu.ru/doc/188322.html (дата обращения 25.01.2013).
10. Овчинников В.А., Иванова Г. С. Оценка эффективности применения операций над упорядоченными множествами // Наука и образование. МГТУ им. Н.Э. Баумана. Электрон. журн. 2011. № 10. Режим доступа: http://technomag.edu.ru/doc/239406.html (дата обращения 25.01.2013).
11. Иванова Г.С., Пасечников К.А. Синтез оптимальных структур данных для решения задач на графах // Вестник МГТУ имени Н.Э. Баумана. Сер. Приборостроение. 2008. № 4 (73). С 29-38.
SCIENTIFIC PERIODICAL OF THE RAIJMAN MS TU
SCIENCE and EDUCATION
EL № FS77 - 48211. №0421200025. ISSN 1994-0408
electronic scientific and technical journal
Evaluation of efficiency of optimizing transformation for algorithms
of ultra-graph operations
# 01, January 2013
DOI: 10.7463/0113.0547731
Ovchinnikov V.A., Ivanova G., S., Pavlov A.E.
Bauman Moscow State Technical University, 105005, Moscow, Russian Federation
vaovchinnikov@gmail .com gsivanova@ gmail.com alex [email protected]
In this article the authors consider experimental evaluation of reducing computational complexity of algorithms of ultra-graph operations. According to the results of theoretical analysis of the algorithms of ultra-graph operations, procedures, which introduce the greatest contribution to their computational complexity, were defined; ways of its reducing were selected. With the help of special software contribution of optimizing transformations to reducing computational complexity of vertex addition was estimated. Experimental results showed high efficiency of the conversion process - total reduction of computational complexity of the algorithm was up to 87%.
Publications with keywords: efficiency, algorithm, ultragraph operations, computational (time) complexity, optimizing transformations
Publications with words: efficiency, algorithm, ultragraph operations, computational (time) complexity, optimizing transformations
References
1. Ovchinnikov V.A. Matematicheskie modeli ob"ektov zadach strukturnogo sinteza [The mathematical models of objects for structural creation tasks]. Nauka i obrazovanie MGTU im. N.E. Baumana [Science and Education of the Bauman MSTU], 2009, no. 3. Available at: http://technomag.edu.ru/doc/ 115712.html , accessed 25.01.2013.
2. Aho A. V., Hopcroft J.E., Ullman J.D. Data Structures and Algorithms. Addison-Wesley, 1983. (Russ. ed.: Akho A.V., Khopkroft D., Ul'man D.D. Struktury dannykh i algoritmy. Moscow, Vil'iams, 2001. 384 p.).
3. Goodman S.E., Hedetniemi S.T. Introduction to the Design & Analysis of Algorithms. McGraw-Hill, New York, 1977. 371 p. (Russ. ed.: Gudman S., Khidetniemi S. Vvedenie v razrabotku i analiz algoritmov. Moscow, Mir, 1981. 368 p.).
4. Novikov F. A. Diskretnaia matematika dlia programmistov [Discrete mathematics for programmers]. St. Petersburg, Piter, 2001. 304 p.
5. Ovchinnikov V.A. Algoritmizatsiia kombinatorno-optimizatsionnykh zadach pri proektirovanii EVM i system [Algorithmization of combinatorial and optimization problems when designing a computer and systems]. Moscow, Bauman MSTU Publ., 2001. 288 p.
6. Kas'ianov V.N. Optimiziruiushchie preobrazovaniia program [Optimizing conversions of programs]. Moscow, Nauka, 1988. 336 p.
7. Ovchinnikov V.A. Operatsii nad ul'tra- i gipergrafami dlia realizatsii protsedur analiza i sinteza struktur slozhnykh sistem. Chast' 2 [Operations over ultra- and hypercolumns for realisation of procedures of the analysis and synthesis of structures of difficult systems (Part 2)]. Nauka i obrazovanie MGTU im. N.E. Baumana [Science and Education of the Bauman MSTU], 2009, no. 11. Available at: http://technomag.edu.ru/doc/ 133223.html , accessed 25.01.2013.
8. Ovchinnikov V.A. Operatsii nad ul'tra- i gipergrafami dlia realizatsii protsedur analiza i sinteza struktur slozhnykh sistem. Chast' 3 [Operations over ultra- and hypercolumns for realisation of procedures of the analysis and synthesis of structures of difficult systems (Part 3)]. Nauka i obrazovanie MGTU im. N.E. Baumana [Science and Education of the Bauman MSTU], 2009, no. 12. Available at: http://technomag.edu.ru/doc/ 134335.html , accessed 25.01.2013.
9. Ovchinnikov V.A. Operatsii nad uporiadochennymi mnozhestvami [Ordered set operations]. Nauka i obrazovanie MGTU im. N.E. Baumana [Science and Education of the Bauman MSTU], 2011, no. 6. Available at: http://technomag.edu.ru/doc/188322.html , accessed 25.01.2013.
10. Ovchinnikov V.A., Ivanova G. S. Otsenka effektivnosti primeneniia operatsii nad uporiadochennymi mnozhestvami [Evaluation the effectiveness of ordered set operations]. Nauka i obrazovanie MGTU im. N.E. Baumana [Science and Education of the Bauman MSTU], 2011, no. 10. Available at: http://technomag.edu.ru/doc/239406.html , accessed 25.01.2013.
11. Ivanova G.S., Pasechnikov K.A. Sintez optimal'nykh struktur dannykh dlia resheniia zadach na grafakh [Synthesis of optimal data structures for solving problems on graphs]. Vestnik MGTU imeni N.E. Baumana. Ser. Priborostroenie [Bulletin of the Bauman MSTU. Ser. Instrument Engineering], 2008, no. 4 (73), pp. 29-38.