Научная статья на тему 'Методы предобуславливания, основанные на графовых преобразованиях'

Методы предобуславливания, основанные на графовых преобразованиях Текст научной статьи по специальности «Математика»

CC BY
189
25
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
предобуславливатели / графы / корневые деревья / остовные деревья

Аннотация научной статьи по математике, автор научной работы — Омарова Гульзира Алимовна, Перевозкин Данил Валерьевич

В работе продолжено исследование, начатое в [1] и дополненное [2]. Рассматриваемые методы предобуславливания основаны на алгоритмах построения остовных деревьев, где в качестве исходного графа выступает граф, построенный на матрице СЛАУ. Методы исследуются применительно к решению различных СЛАУ с квадратной вещественной матрицей. Приводятся результаты численных экспериментов

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Методы предобуславливания, основанные на графовых преобразованиях»

АПВПМ-2019

МЕТОДЫ ПРЕДОБУСЛАВЛНВАННЯ, ОСНОВАННЫЕ НА ГРАФОВЫХ ПРЕОБРАЗОВАНИЯХ

Г, А. Омарова, Д. В, Перевозкин

Институт вычислительной математики и математической геофизики СО РАН, 630090, Новосибирск

УДК 519.1+519.612

В01: 10.24411/9999-016А-2019-10057

В работе продолжено исследование, начатое в [1] и дополненное [2]. Рассматриваемые методы предобуслав-ливания основаны на алгоритмах построения остовных деревьев, где в качестве исходного графа выступает граф, построенный на матрице СЛАУ. Методы исследуются применительно к решению различных СЛАУ с квадратной вещественной матрицей. Приводятся результаты численных экспериментов. Ключевые слова: предобуславливатели, графы, корневые деревья, остовные деревья.

Введение

Данная работа посвящена реализации и построению предобуславливателей с применением теории графов. В конце 80-х — начале 90-х годов вышли самые первые работы, в которых теоретико-графовые понятия (главным образом, пути) используются при анализе предобуславателей [3-7]. Эти идеи были расширены Вайдией [1], он описал свою работу в беседе в 1991 году, но не опубликовал статью. Вайдия использовал метод перехода от СЛАУ к теории графов для построения остовного дерева и создания семейства новых предобусловливателей на основе поддеревьев.

Позднее в начале 2000-х годов алгоритм Вайдия был реализован в [2] и экспериментально показано, что эти предобуславливатели обладают некоторыми замечательными свойствами для узкого класса матриц. Авторы показали, что в классе симметричных матриц с диагональным преобладанием вычислительная стоимость и скорость сходимости зависят от структуры матрицы, но не от ее числовых значений. Авторы провели ряд сравнений по эффективности работы предобуславливателей Вайдии с другими предобуславли-вателями, в частности, с неполным разложением Холецкого. Основные выводы, которые были получены, заключаются в том, что предобуславливатели Вайдии:

• обспечивают почти постоянную скорость сходимости по целому ряду задач, поведение очень отличается от поведения сходимости предобуславливателей на основе неполного разложения Холецкого;

симметричных матриц с диагональным преобладанием, далее БВВ-матриц), опять-таки по-другому, чем поведение неполного Холецкого;

широкому кругу двумерных проблем;

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

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

Работа выполнена при финансовой поддержке Российского фонда фундаментальных исследований (код проекта 18-01-00295

А).

!ЯВ.\ 978-5-901548-42-4

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

1 Алгоритм построения предобуславливателя

Вайдя предложил построить предобуславливатель М для БББ-матрицы А, отбросив диагональные ненулевые значения от А и факторизуя М (полностью). В работе [2] авторы акцептируют свое внимание на применении предобуславливателей Вайдии к подклассу БВБ-матриц с неположительными внедиагональ-ными элементами и классу матриц БРВВВ — диагонально-доминантным матрицам Стилтьеса. Построение предобуславливателя основано на 3-х этапах.

Входными данными является БРВВВ-матрица п х п, с 2т не нулевыми внедиагональными элементами и параметром Ь.

Пусть А = — ЭРБББ-матрица разм ерпости п х п. С а — граф, построенный по данной матрице.

С а = (Уа, Еа), где Уа = {1, 2,... ,п} — множество вершин графа, Еа = {(г,з), г = з, а^^ = 0} — множество ребер, вес ребра равен значению аТак как, матрица А симметричная, то построенный граф — неориентированный. Параметр £ определяет число подграфов в методе для построения предобуславливателя. При £ = п предобуславливатель М = А, при £ = 1 М имеет плохой результат сходимости. Цель данного метода построить предобуславливатель М по графу См, который является подграф ом графа С а- Граф См имеет тоже множество вершин Ум = Уа, а множество ребер является подмножеством Еа, Ем С Еа-

Па первом шаге для графа С а строится остовпое дерево максимального веса. Требуется найти такое дерево графа, которое бы соединяло все его вершины, и при этом обладало наибольшим возможным весом (сумма весов рёбер дерева). Корневое дерево — это дерево с выделенной вершиной. Дерево - это набор рёбер, соединяющих все вершины, причём из любой вершины можно добраться до любой другой ровно одним простым путём. Для реализации этого шага используется алгоритм Прима [9], на выходе получают корневое дерево, заданное в массиве п. Целочисленный массив я размерноети 2п для каждой вершины г содержит её родителя.

Па втором шаге с помощью рекурсивной функции дерево разбивается на к поддеревьев с множествами вершин У1,У2,... ,Ук- Каждая вершина дерева имеет различную степень, поэтому разбиение происходит произвольно. Число вершин в каждом поддереве У, варьируется между значениями п/Ь и (¿п/Ь) + 1, где с! — максимальная степень в дереве. В идеале хотелось бы разбить дерево на эквивалентные по количеству вершин поддеревья, но не для всех случаев это возможно. В работе [2] приводится доказательство теоремы подтверждающее утверждение не эквивалентности размерности полученных поддеревьев, в противном случае нарушается связность поддерева, а это противоречит идеи алгоритма.

Па третьем шаге происходит построение матрицы М. Полученное корневое дерево Т запишем, как граф См- Формируем См, добавляя к Т самые тяжелые ребра между У, и ^ для всех г и Ничего не добавляется, если между У, и ^ нет ребер. Предобуславливатель М — это матрица, графом которой является См-Обозначим через Мг предобуславливатель Вайдия, построенный с параметром Ь, тогда Мп = А. Предобу-словлпватель М\ состоит исключительно из остовного максимального веса дерева без добавленных ребер.

Также в [2] указано, что при построении матрицы М ее диагональные элементы выбираются таким образом, чтобы совпадали строчные суммы А и М, т.е. Ае = Ме, где е = (1,..., 1)т.

2 Описание алгоритма

Построение предобуславливателя для наших матриц основано на 3-х этапах, но с некоторыми модификациями. Входными данными является произвольная матрица размерности п, с т не нулевыми внедиагональными элементами и параметром Ь.

Пусть А = {ог^ — произвольная матрица размерности п х п. С а — граф, построенный по данной

матрице. С а = (Уа, Уа = {1, 2,..., п} — множество вершин графа, Еа = {(ьу), г = 3, = 0} —

множество ребер, вес ребра равен значению а^-. Так как, матрица А произвольная, то построенный граф ориентированный. Параметр £ определяет число подграфов в методе для построения предобуславливателя. Цель данного метода построить предобуславливатель М по графу См, который является подграфом графа

СА-

• Восстанавливаем граф С а до неориентированного графа следующим образом: вес ребра ы(1,]) =

360

Г. А. Омарова, Д. В. Перевозкин

• Создаем массив ребер, где ребро задается в виде структуры: начало ребра, конец ребра, вес. Сортируем в порядке убывания.

• Реализуем алгоритм для нахождения подграфа Gm с максимальным весом и без циклов, на основе алгоритма Краскала. Алгоритм Краскала [10] предназначен для решения задачи о построении минимального остовного дерева во взвешенном неориентированном графе. Последовательная сложность алгоритма 0(т log п). В отличие от алгоритмов Прима, алгоритм Краскала не требует информации о рёбрах конкретной вершины, вместо этого на его вход подаётся общий список рёбер графа в произвольном порядке. Кроме этого, каждое (ненаправленное) ребро достаточно представить лишь одной из его направленных дуг, что на практике означает в два раза меньший объём вычислений. На выходе получаем граф Gm = (Va,Em), где Ем С Еа, который представляет собой лес, каждая компонента представляет дерево в виде списка ребер.

• Разбиваем полученный граф Gm на компоненты связности и в каждой компоненте выделяем корневую вершину. Реализация алгоритма основана на алгоритме поиска в ширину в графе, выбор основан на локализации вершин по уровню удаленности от корня. Поиск в ширину (англ. breadth-first search, BFS) — метод обхода графа и поиска пути в графе [11]. Если t меньше количества компонент связности, то мы получим вырожденный случай, как и при t = 1. При t больше числа компонент связности, делим компоненты с большим числом вершин на несколько частей, чтобы в одной компоненте было не больше чем n/t вершин. Выше приводились пояснения, что в различных поддеревьях не всегда одинаковое число вершин. Деление компоненты связности реализуется с помощью алгоритма поиска в глубину не рекурсивным обходом, так как в случае рекурсии при больших матрицах получаем переполнение стека. Сам же алгоритм позволяет сохранить связность. Поиск в глубину (англ. Depth-first search, DFS) — метод обхода графа [11]. Стратегия поиска в глубину, состоит в том, чтобы идти «вглубь» графа, насколько это возможно. На выходе получаем массив цветов, где вершины, попавшие в одну компоненту связности красим в один цвет.

• Построение матрицы М. Из графа, полученного в пункте 3, строим матрицу М следующим образом: берем ребро из полученного списка и добавляем его в матрицу М, аналогично, гак и в матрице А. Далее формируем Gm, добавляя к Т самые тяжелые ребра между Vi и Vj для вс ex in j, используя матрицу цветов, и ничего не добавляется, если г и j имеют один цвет. Диагональному элементу Mj,j соответствует сумма строк.

Предобуславливатель М — это матрица, графом которой является Gm- Обозначим через Mt предобу-словливатель Вайдия, построенный с параметром t.

3 Численные результаты

В качестве СЛАУ для экспериментального исследования выбирались примеры из общедоступной коллекции Флоридского университета, имеющие правую часть. Последнее требование связано с тем, что скорость сходимости итерационных методов зависит не только от матрицы, но и от правой части.

В таблице 1 представлено количество итераций для различных методов. Через V10, V100, V1000 обозначены предобуславливатели Вайдия с параметром t = 10, 100, 1000. В правом столбце представлено количество итераций для метода ILU0. Также указан тип матриц, в данном случае SPD означает симметричную положительно определенную матрицу, а пропуск — произвольную квадратную вещественную матрицу.

Предобуславливатели Вайдия и ILU0 использовались в качестве предобуславливателей в методе FGMRes с периодом рестарта 100, ограничением в 1000 та общее число итераций и критерием выхода 11 Axi—Ь||2/||Ь||2 < 10-7, где Xi — текущее итерационное приближение, а Ъ — правая часть.

Заключение

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

Таблица 1: Количество итераций

SLAE type V10 V100 V1000 ILU0

af_0_kl01 SPD 1000 1000 1000 1000

nasa4704 SPD 1000 1000 1000 1000

offshore SPD 1000 1000 1000 145

parabolic^fem SPD 1000 820 262 1000

Pres^Poisson SPD 1000 1000 1000 538

smt SPD 1000 1000 1000 1000

thermal 1 SPD 576 200 71 1000

hcircuit 14 13 12 -

jan99jacl20 17 17 17 -

Список литературы

fl] P. М. Vaidya, Solving Linear Equations with Symmetric Diagonally Dominant Matrices by Constructing Good Preconditioners, manuscript, 1991.

[2] Chen D, Toledo S. Vaidya's preconditioners: Implementation and experimental study. ETNA, 16, 2003.

[3] R. Beauwens, Upper eigenvalue bounds for pencils of matrices, Linear Algebra Appl., 62 (1984), pp. 87-104.

[4] R. Beauwens, Approximate factorizations with modified S/P consistently ordered M-factors, Numer. Linear Algebra Appl., 1 (1994), pp. 3-17.

[5] Y. Notay, Solving positive (semi)definite linear systems by preconditioned iterative methods, in Preconditioned Conjugate Gradient Methods, Lecture Notes in Math. 1457, Springer-Verlag, New York, 1990, pp. 105-125.

[6] Y. Notay, Conditioning analysis of modified block incomplete factorizations, Linear Algebra Appl., 154-156 (1991), pp. 711-722.

[7] Y. Notay, Conditioning of Stieltjes matrices by S/P consistently ordered approximate factorizations, Appl. Numer. Math., 10 (1992), pp. 381-396.

[8] M. Bern, J. Gilbert, B. Hendrickson, N Nguyen, S. Toledo, Support-graph preconditioners, SIAM J. MATRIX ANAL. APPL. Vol. 27, No. 4, pp. 930-951, 2006, Society for Industrial and Applied Mathematics

[9] R. C. Prim, Shortest connection networks and some generalizations, Bell System Technical Journal, 36 (1957), pp. 1389-1401.

[10] Kruskal, Joseph B. "On the Shortest Spanning Subtree of a Graph and the Traveling Salesman Problem." Proceedings of the American Mathematical Society 7, no. 1 (January 1956): 48-50. doi:10.1090/S0002-9939-1956-0078686-7.

[11] Томас X. Кормен, Чарльз И. Лейзерсон, Рональд Л. Ривест, Клиффорд Штайн. Алгоритмы: построение и анализ// 3-е издание — М.: «Вильяме», 2013. — 1328 с.

Омарова Гулъзира, Алимовна — к.ф.-м.н., н.с. Института вычислительной математики

и математической геофизики СО РАН;

e-mail: gulzira@rav.sscc.ru;

Перевозкин Данил Валерьевич — м.н.с. Института вычислительной математики

и математической геофизики СО РАН;

e-mail: foxillys@gmail.com.

Дата поступления — 30 апреля 2019 г.

i Надоели баннеры? Вы всегда можете отключить рекламу.