Поддерево максимального соответствия (для трех или более деревьев): различия между версиями

Перейти к навигации Перейти к поиску
Строка 28: Строка 28:




Наивное расширение алгоритма для двух деревьев на алгоритм для k деревьев потребует перевычисления k-MAST(vE) для всех возможных кортежей v посредством обработки этих кортежей в порядке, согласующемся с отношением доминирования. Основная идея, позволяющая избежать возникновения сложности Q{nk), заключается в замене вычисления k-MAST(vE) вычислением связанного с ним значения, mast(vE), представляющего собой размер максимального множества соответствия для поддеревьев (T1... T k ) с корнями в (v1..: vk), при условии дополнительного ограничения, заключающегося в том, что сами поддеревья соответствия имеют корни в v1..: vk, соответственно. Очевидно, что k-MAST(T1..: ; Tk) = maxmast(vE) :
Наивное расширение алгоритма для двух деревьев на алгоритм для k деревьев потребует перевычисления <math>k-MAST(\overrightarrow{v}) \;</math> для всех возможных кортежей <math>\overrightarrow{v} \;</math> посредством обработки этих кортежей в порядке, согласующемся с отношением доминирования. Основная идея, позволяющая избежать возникновения сложности <math>\Omega (n^k) \;</math>, заключается в замене вычисления <math>k-MAST(\overrightarrow{v}) \;</math> вычислением связанного с ним значения, <math>mast(\overrightarrow{v}) \;</math>, представляющего собой размер максимального множества соответствия для поддеревьев <math>(T^1, ..., T^k) \;</math> с корнями в <math>(v_1, ..., v_k) \;</math>, при условии дополнительного ограничения, заключающегося в том, что сами поддеревья соответствия имеют корни в <math>v_1, ..., v_k \;</math>, соответственно. Очевидно, что <math>k-MAST(T^1, ..., T^k) = max_{\overrightarrow{v}} \; mast(\overrightarrow{v}) \;</math> .




Преимущество вычисления mast вместо k-MAST следует из того факта, что большинство значений mast являются нулевыми и можно достаточно эффективно определить v с ненулевыми значениями mast.
Преимущество вычисления mast вместо k-MAST следует из того факта, что большинство значений mast являются нулевыми и можно достаточно эффективно определить <math>\overrightarrow{v} \;</math> с ненулевыми значениями mast.
 


Примечание 1. Если mast(vE) > 0, то v = (lcaT1 (a;b);::: lcaT (a; b)) для некоторых меток листьев a, b, где lcaT (a; b) – самый низкий общий предок листьев с метками a и b в дереве V.
Примечание 1. Если mast(vE) > 0, то v = (lcaT1 (a;b);::: lcaT (a; b)) для некоторых меток листьев a, b, где lcaT (a; b) – самый низкий общий предок листьев с метками a и b в дереве V.
4501

правка

Навигация