Обратный алгоритм Катхилла — Макки
(
RCM
,
reverse Cuthill—McKee
) — тот же самый алгоритм с обратной нумераций индексов.
Содержание
Алгоритм
Исходная симметричная матрица
рассматривается как
матрица смежности
графа
. Алгоритм Катхилла — Макки перенумеровывает
вершины
графа таким образом, чтобы в результате соответствующей перестановки столбцов и строк исходной матрицы уменьшить
.
Для получения хороших результатов необходимо найти
. Эта задача в общем случае является достаточно трудной, поэтому вместо неё обычно ищут псевдопериферийную вершину с помощью одной из модификаций
эвристического алгоритма
Гиббса и др.
Для описания алгоритма вводится понятие
корневой структуры уровней
(
англ.
rooted level structure
). Для заданной вершины
структурой уровней с корнем в
будет
разбиение
множества вершин
:
где подмножества
определены следующий образом:
и
Алгоритм нахождения псевдопериферийной вершины
:
выбрать произвольную вершину
из
;
построить структуру уровней для корня
:
;
выбрать вершину с минимальной степенью
из
;
построить структуру уровней для корня
:
;
если
, то присвоить
и перейти к шагу 3;
вершина
является искомой псевдопериферийной вершиной.
Примечания
, pp. 65-66.
, p. 68.
, pp. 70-72.
Литература
E. Cuthill and J. McKee.
In Proc. 24th Nat. Conf.
ACM
, pages 157—172, 1969.
Джордж А., Лю Дж.
Численное решение больших разреженных систем уравнений = Computer Solution of Large Sparse Positive Definite Systems. —
М.
: Мир, 1984. — 333 с.