Вложенные сочетания рассечения
задает дополнительные опции, используя один или несколько аргументы пары "имя-значение". Для примера, p
= dissect(A
,Name,Value
)dissect(A,'NumIterations',15)
использует 15 итераций уточнения во вложенном алгоритме рассечения вместо 10.
Алгоритм упорядоченного расположения вложенных рассечений, описанный в [1], является многоуровневым алгоритмом графика, который используется для создания сокращающих заполнение упорядоченных расположений разреженных матриц. Матрица входа рассматривается как матрица смежности графика. Алгоритм сокращает график путем свертывания вершин и ребер, переупорядочивает меньший график, а затем использует шаги уточнения, чтобы отрегулировать маленький график и произвести переупорядочение исходного графика.
The пар "имя-значение" for dissect
позволяет вам управлять различными этапами алгоритма:
Огрубление
На этой фазе алгоритм создает последовательно меньшие графики из исходного графика путем свертывания вместе соседних пар вершин. 'MaxDegreeThreshold'
позволяет вам отфильтровать высоко связанные вершины графика (которые являются плотными столбцами в матрице), упорядочив их в последнюю очередь.
Разделение
После того, как график огрублен, алгоритм полностью переупорядочивает меньший график. На каждом шаге разбиения алгоритм пытается разбить график на равные части: 'NumSeparators'
задает, на сколько частей разбить график на, 'VertexWeights'
опционально присваивает веса вершинам и 'MaxImbalance'
задает порог различия в весе между различными разделами.
Обработка
После того, как наименьший график переупорядочен, алгоритм делает проекции, чтобы увеличить график до исходного размера путем расширения вершин, которые были ранее объединены. После каждого шага проекции выполняется шаг уточнения, который перемещает вершины между разделами, чтобы улучшить качество решения. 'NumIterations'
управляет тем, сколько шагов уточнения используется во время этой фазы разогрева.
[1] Karypis, George and Vipin Kumar. «Быстрая и высококачественная многоуровневая схема для разбиения неправильных графиков». SIAM Journal on Scientific Computing. Том 20, № 1, 1999, стр. 359-392.