Алгоритм построения композиции деревьев
Содержание (FireFox,Safari)

21.8. Алгоритм построения композиции деревьев

Основан на таком взгляде, согласно которому отношение смежности между вершинами дерева разбиения любой системы ВС могут пониматься не только как "непосредственное следование", но и как просто "следование" между теми же вершинами, но уже некоторой надсистемы, что основано на свойстве транзитивного замыкания включать в себя исходное отношение. Ранее это было формализовано в понятиях отношения прообраза-проекции деревьев и композиции деревьев.

Алгоритм получает на вход набор исходных деревьев

T1 = (ND1, A1),

..

TN = (NDN, AN)

в виде их матриц дуг

M1..MN

и используя теорему 21.2, согласно которой матрица путей такой суммы деревьев совпадает с транзитивным замыканием вычисленной суммы для отношений смежности исходных деревьев, последовательно решет 5 следующих друг за другом подзадач:

A. Алгоритм получения суммарной матрицы связей в чуть более подробном виде образован тремя шагами:

1. получение объединения множеств вершин всех исходных деревьев

ND = ND1 .. NDN

2. в базисе полученного множества ND производится перепостроение заново каждой матрицы дуг каждого исходного дерева

M1*..MN*

3. получение суммарной матрицы связей M путём сложения в едином базисе заново построенных матриц дуг:

M = M1* + .. + MN*

B. Получение матрицы путей 𝕄, выражающей отношение достижимости, заключается в выполнения транзитивного замыкания ранее построенной матрицы связей M, что может быть сделано, например, с помощью широко известного алгоритма Флойда — Уоршалла

C. Алгоритм восстановления дерева T основан на трактовке отношения смежности, требуемого для явного определения T, как уже полученного в 𝕄 отношения достижимости с дополнительным условием отсутствия явно указанные промежуточных вершин; главная идея этого алгоритма использует то определение дерева, которое трактует его как граф, связывающий корень дугами с собственными поддеревьями:

Указанный в пункте D алгоритм недопущения узлов-кураторов служит цели обеспечить сохранность ближайших общих вершин исходных деревьев во вновь построенном. Соответственно он получает на вход одно из исходных T1 .. TN в виде матриц M1..MN и готовое дерево T в виде матрицы M, а возвращает логический признак корректности.

цикл по всем узлам ndj исходного Ti

цикл по всем дугам ak, выходящимTi) из ndj

получение (в Ti) вершины nd*j – конца дуги ak

проверка, существует ли в T узел, лежащий на пути от ndj к nd*j;

при положительном результате

цикл по всем узлам nd^j, лежащим на пути от ndj к nd*j;

проверка, ведут ли (в T) из такого nd^j пути ещё какую-нибудь вершину Ti, кроме как в nd*j

положительный результат означает выход из алгоритма с признаком некорректности T на Ti

конец цикла

конец цикла

конец цикла

выход из алгоритма с признаком корректности T на Ti

Пункты a) и c) и D могут не иметь решения.

Назад Вперёд
ru/en