Научная статья на тему 'Оценка подобия деревьев с помощью вычисления pq-грамм расстояния'

Оценка подобия деревьев с помощью вычисления pq-грамм расстояния Текст научной статьи по специальности «Математика»

CC BY
300
46
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
PQ-ГРАММ / ДЕРЕВЬЯ / ПОДОБИЕ ДЕРЕВЬЕВ / PQ-ГРАММ РАССТОЯНИЕ / PQ-ГРАММ ШАБЛОН / PQ-ГРАММ ПРОФИЛЬ / XML / PQ-GRAM / TREES / TREE SIMILARITY / PQ-GRAM DISTANCE / PQ-GRAM PATTERN / PQ-GRAM PROFILE

Аннотация научной статьи по математике, автор научной работы — Андреева А.Г., Маркина Т.А.

Представлен алгоритм оценки подобия иерархических данных на основе вычисления pq -грамм расстояния. Выполнен анализ чувствительности алгоритма от выбранных параметров p и q. Показано, насколько сильно будет изменяться результат работы алгоритма при сравнении двух деревьев, имеющих различие в одном произвольном узле, когда один из узлов исходного дерева удален, переименован, либо добавлен лишний узел. Продемонстрировано, что подобный анализ позволяет подобрать параметры p и q применительно к решаемой задаче. Обоснована задача предварительной оценки дерева приближенный анализ начального уровня расхождений узлов в выбранных pq граммах сравниваемых деревьев. Обозначены основные термины и определения, относящиеся к алгоритмам обработки древовидных структур данных, а также непосредственно к самому рассматриваемому алгоритму. Приведены примеры, иллюстрирующие практическое использование алгоритма, показаны детали реализации алгоритма на реальной задаче.

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

Tree similarity estimation by calculation of pq-gram distance

The paper presents an algorithm for similarity estimation of hierarchical data based on the pq -gram distance calculation. The dependence of the algorithm sensitivity on the selected parameters p and q is analyzed. We show how much the result of the algorithm will change at comparing of two trees that have difference in one random node when one of the nodes of the source tree is deleted, renamed, or an extra node is added. It is demonstrated that such analysis enables to select the parameters p and q in relation with the solving problem. The problem of a tree preliminary evaluation is substantiated an approximate analysis of the initial level of node differences in the selected pq -grams of the compared trees. The basic terms and definitions relating to the tree-based data structuring algorithms are described. Examples of the algorithm practical application and the details of its implementation on a real problem are shown.

Текст научной работы на тему «Оценка подобия деревьев с помощью вычисления pq-грамм расстояния»

НАУЧНО-ТЕХНИЧЕСКИИ ВЕСТНИК ИНФОРМАЦИОННЫХ ТЕХНОЛОГИИ, МЕХАНИКИ И ОПТИКИ май-июнь 2017 Том 17 № 3 ISSN 2226-1494 http://ntv.ifmo.ru/

SCIENTIFIC AND TECHNICAL JOURNAL OF INFORMATION TECHNOLOGIES, MECHANICS AND OPTICS

May-June 2017

Vol. 17 No 3 ISSN 2226-1494

http://ntv.ifmo.ru/en

УДК 004.056.55

ОЦЕНКА ПОДОБИЯ ДЕРЕВЬЕВ С ПОМОЩЬЮ ВЫЧИСЛЕНИЯ pq-ГРАММ РАССТОЯНИЯ А.Г. Андреева3, Т. А. Маркина3

a Университет ИТМО, Санкт-Петербург, 197101, Российская Федерация Адрес для переписки: Tiari@mail.ru Информация о статье

Поступила в редакцию 01.03.17, принята к печати 12.04.17 doi: 10.17586/2226-1494-2017-17-3-490-497 Язык статьи - русский

Ссылка для цитирования: Андреева А.Г., Маркина Т.А. Оценка подобия деревьев с помощью вычисления pq-грамм расстояния // Научно-технический вестник информационных технологий, механики и оптики. 2017. Т. 17. № 3. С. 490-497. doi: 10.17586/22261494-2017-17-3-490-497

Аннотация

Представлен алгоритм оценки подобия иерархических данных на основе вычисления pq-грамм расстояния. Выполнен анализ чувствительности алгоритма от выбранных параметров p и q. Показано, насколько сильно будет изменяться результат работы алгоритма при сравнении двух деревьев, имеющих различие в одном произвольном узле, когда один из узлов исходного дерева удален, переименован, либо добавлен лишний узел. Продемонстрировано, что подобный анализ позволяет подобрать параметры p и q применительно к решаемой задаче. Обоснована задача предварительной оценки дерева - приближенный анализ начального уровня расхождений узлов в выбранных pq-граммах сравниваемых деревьев. Обозначены основные термины и определения, относящиеся к алгоритмам обработки древовидных структур данных, а также непосредственно к самому рассматриваемому алгоритму. Приведены примеры, иллюстрирующие практическое использование алгоритма, показаны детали реализации алгоритма на реальной задаче. Ключевые слова

pq-грамм, деревья, подобие деревьев, pq-грамм расстояние, pq-грамм шаблон, pq-грамм профиль, XML

TREE SIMILARITY ESTIMATION BY CALCULATION OFpq-GRAM DISTANCE

A.G. Andreeva3, T.A. Markina3

a ITMO University, Saint Petersburg, 197101, Russian Federation Corresponding author: Tiari@mail.ru Article info

Received 01.03.17, accepted 12.04.17 doi: 10.17586/2226-1494-2017-17-3-490-497 Article in Russian

For citation: Andreeva A.G., Markina T.A. Tree similarity estimation by calculation of pq-gram distance. Scientific and Technical Journal of Information Technologies, Mechanics and Optics, 2017, vol. 17, no. 3, pp. 490-497 (in Russian). doi: 10.17586/2226-1494-2017-17-3490-497

Abstract

The paper presents an algorithm for similarity estimation of hierarchical data based on the pq-gram distance calculation. The dependence of the algorithm sensitivity on the selected parameters p and q is analyzed. We show how much the result of the algorithm will change at comparing of two trees that have difference in one random node when one of the nodes of the source tree is deleted, renamed, or an extra node is added. It is demonstrated that such analysis enables to select the parametersp and q in relation with the solving problem. The problem of a tree preliminary evaluation is substantiated - an approximate analysis of the initial level of node differences in the selected pq-grams of the compared trees. The basic terms and definitions relating to the tree-based data structuring algorithms are described. Examples of the algorithm practical application and the details of its implementation on a real problem are shown. Keywords

pq-gram, trees, tree similarity, pq-gram distance, pq-gram pattern, pq-gram profile, XML

Введение

Вычисление pq-грамм-расстояния (pq-gram distance) позволяет определить меру сходства двух иерархических объектов. В общем случае задача сравнения больших объемов данных с древовидной структурой представляется сложной и ресурсоемкой, особенно если данные имеют различное представление и не содержат общих ключей. Часто в качестве метрики выбирается расстояние редактирования [1] - это подсчет минимального количества операций вставки, удаления и переименования узла, необходимых для преобразования одного дерева в другое. Например, расстояние редактирования по алгоритму Zhang and Sasha [2] вычисляется за время O(n2 log2 n) и требует O(n2) памяти для деревьев с глубиной O(log n), где n - число узлов. При этом в худшем случае (в зависимости от формы дерева) время увеличивается до O(n4). Алгоритмы Demaine [3] и RTED [4] требуют O(n2) памяти и работают за максимальное время O(n3). Напротив, вычисление pq-грамм расстояния занимает O(n log n) времени и задействует O(n) памяти, позволяя быстро выполнить примерную оценку подобия структур данных большого объема с учетом не только значений узлов, но и связей между ними.

pq-грамм-расстояние позволяет выполнить приблизительную оценку подобия деревьев за меньшее время, чем другие, более точные алгоритмы сравнения деревьев за счет того, что оперирует при расчетах не узлами, а группами узлов - поддеревьями, а также за счет универсального подхода к вычислению функции расстояния.

Основные сведения об алгоритме

Алгоритм вычисления pq-грамм был представлен в 2005 г. на 31-й конференции VLDB [5]. В общем виде задача, решаемая с использованием алгоритма вычисления pq-грамм-расстояния, представляется следующим образом: у компании имеется несколько офисов, каждый из которых содержит свою независимую базу данных с адресами квартир и фамилиями владельцев, а центральный офис решил объединить эти данные в единую базу [5]. Изначальная база данных представлена двумя таблицами: первая -название улицы и соответствующий ей идентификатор; вторая связывает идентификатор и адрес квартиры в виде: номер дома, номер корпуса, номер квартиры. Проблемы объединения заключаются в том, что имена улиц могут быть введены с ошибками или иметь различный формат, в результате чего строки с именем получаются неидентичными в разных таблицах; идентификатор улицы в одной базе данных не совпадает с идентификатором той же улицы в другой; а также в одном из офисов могут быть не полные сведения обо всех квартирах, находящихся на одной улице. Для решения такой проблемы можно отображать конечный адрес в виде дерева, в котором корнем выступает название улицы, а соответствующие ей адреса - дочерними узлами. На рис. 1 показано графическое представление задачи.

Рис. 1. Представление адресов из базы данных в виде дерева

Из рис. 1 видно, что вместо того, чтобы выискивать похожие имена улиц в различных базах данных, можно сравнивать адреса (поддеревья) и при большом числе совпадений уже работать с конкретной улицей,

объединяя адреса из разных баз. Отличающиеся же деревья можно считать различными улицами и добавлять их в общую базу под отдельными записями. При таком подходе не требуется детально сравнивать каждую пару узлов на высоте h, как в случае с расстоянием редактирования, а лишь оценить их схожесть (Т1(Ю), Т2( Ю)) < х, где х - это выбранный порог, разделяющий похожие и не похожие деревья.

Пусть дерево Т - это связный направленный ациклический граф Т = (V, Е) с узлами V(Т) = V и ребрами Е(Т) = Е . Ребро - это направленная пара (р, с), причем р, с е V(Т) - узлы, и узел р является родителем для узла с. Узлы с общим родителем - дочерние (или родственные) узлы. Между дочерними узлами может быть определен порядок «<». Дочерние узлы ^ и s2 являются смежными, если между ними нет другого родственного узла х (^ Ф х Ф 52) такого, что ^ < х < ^. Потомками узла р называются все его дочерние узлы и далее по цепочке. Узел ё называется 1-м потомком узла р, если от узла р до ё включительно находится / узлов-потомков для р. Степенью узла р называется число его дочерних узлов (ближайших потомков). Узел, не имеющий родителя - корень дерева. Узел, не имеющий потомков - лист. Каждый узел а, стоящий на пути от корня дерева до произвольного узла V, называется предком узла V. Если путь от узла а до V занимает длину из к узлов, то узел а называется предком узла V на расстоянии к. Родитель узла является предком на расстоянии 1. Уровнем (высотой) узла называется длина пути (число узлов) от корня до этого узла. Глубиной дерева Т называется расстояние от корня дерева до любого самого удаленного листа дерева (самый длинный путь в дереве).

Метка узла (значение) - это символ ееЕ, где Е - это конечный алфавит. Каждый узел дерева Т (V е V(Т)) имеет собственную метку I(V) . Узел о, имеющий специальную метку I(о) = *, называется пустым узлом. Далее каждый узел будет представлен парой (идентификатор узла, метка). Дочерние узлы имеют последовательность обхода слева направо. Подробнее о древовидных структурах данных и методах обхода узлов можно посмотреть в [6-9].

На

рис. 2

представлено

дерево

T = (V, E).

причем

V = {Vp V2 , ^ V4 , V5 , V6}:

E = {(v1,v2),(v1,v5),(v1,v6),(v2,v3),(v2,v4)}, последовательность узлов v2 <v5 <v6,v3 <v4. Корневым узлом дерева Tl является узел v - root (T) = Vj - он является предком для всех остальных узлов дерева. У узла Vj три прямых потомка (дочерних узла): родственные узлы - v2, v5 и v6. Метками узлов дерева T являются l(Vj) = a,l(v2) = a,l(v3) = e,l(v4) = b,l(v5) = b,l(v6) = c , что показано на рис. 2, при этом v и w - это идентификаторы узлов.

Т1

v1, а

Т2

w5, а

v2, а

v3, e

v5, b

V6, c

w1, а

w3, b

w6, x

w7, е

w9, b

Рис. 2. Сравниваемые деревья Т1 и Т2, узлы записаны как: идентификатор, значение (метка)

Поддеревом е Т называется дерево, узлы которого являются подмножеством множества узлов дерева Т: V(5) с V(Т) и Е(5) с Е(Т), с сохранением первоначальной последовательности узлов и их отношений. При обходе дерева сначала посещается корень дерева, затем рекурсивно обходятся все поддеревья с корнями в его дочерних узлах. /-м узлом дерева Т называется такой узел V, который посещают на /-ой итерации обхода дерева (/-й посещаемый узел).

Два дерева называют изоморфными, если существует взаимно однозначное соответствие (биекция) между совокупностями их вершин и ребер [10].

Например, объединяя все вышесказанное и смотря на рис. 2, можно видеть, что дерево 51 = ({у2,V,,v4},{(v2,V,)}),V, < V,, - это поддерево дерева Т1. При обходе дерева Т1 узлы должны посещаться в следующем порядке: v1, v,1, V,, V,, v6. Деревья Т1 и Т2 изоморфны, так как существует би-екция т = {(vl,w5),(vl,wl),(vз,w7),(v4,w9),(v5,wз),(v6,w6)} .

Если рассматривать в общем, то рд-граммы - это все поддеревья рассматриваемого дерева определенной формы. Чтобы в процессе работы алгоритма все узлы рассматриваемого дерева присутствовали хотя бы в одной рд-грамме, оно дополняется пустыми узлами, тогда рд-граммы - это все поддеревья определенной формы такого дополненного дерева.

рд-расширенное дерево. Пусть дано дерево Т и два числа р > 0 и д > 0, тогда рд-расширенное

дерево Трд строится из дерева Т путем добавления к нему (р -1) предка к корню, вставкой (д -1) до-

черних узлов перед первым дочерним узлом и после последнего дочернего узла исходного дерева к каждому нелистовому узлу дерева (перед группой дочерних для него родственных узлов и после), а также добавляется q детей к каждому листовому узлу дерева Т. Все добавленные узлы являются пустыми и не должны встречаться в изначальном дереве Т. На рис. 3 показано ^-расширенное дерево Т^2'3: р = 2, q = 3 , где о 1,/ - идентификатор узла (о), метка узла (/).

оь* v1, а

О9, О] о, 01ь*

Рис. 3. рд-расширенное дерево Т123 дерева Т1 с рис. 2

pq-грамм-шаблон: для р > 0 и q > 0 pq-грамм-шаблон - это дерево, которое содержит корневой узел с добавленным к нему (р -1) предком и q дочерними узлами. Например, 2,3-грамм шаблон - это дерево ({Р1,Р2,Рз,р4,Р5},{(Р1,р2),(р2,Рз),(Р2,Рд,(Рг,Р5)}),Рз ^ Р4 ^ Ръ. Р2 - это корень дерева, который имеет одного (р -1) предка (р1) и 3 (з) дочерних узла р3, р4, ръ.

pq-грамм: для р > 0 и q > 0 pq-грамм О дерева Т - это поддерево расширенного дерева Т1"3 со следующими свойствами: поддерево О изоморфно рз-грамм шаблону, и смежные родственные узлы в О также являются смежными родственными узлами в ТР3 .

Кортеж меток: пусть О - это pq-грамма с узлами V(О) = {у1,...,ур,ур+1,...,ур + }, где V, - это 1-й узел в

последовательности обхода pq-граммы, тогда кортеж меток рз-граммы О равен /(О) = (/0^),..., /V), / (vp+;),..., / (vp+3 )). Название pq-грамма может быть применимо не только непосредственно к pq-грамме, но и к кортежу меток. Иногда кортеж меток также называют pq-грамм индексом. На рис. 4 приведены некоторые 2,3-граммы дерева Т1.

01,

v1, а

v1, а 1

v2, а

v2, а

V,, е

Л\ А\ Л\

о2,* о3,* v2, а о4,* о5,* v3, е 06,* о8.

Рис. 4. Частичный набор 2,3-грамм дерева Т1

2,3-граммы с рис. 4 получены путем передвижения 2,3-грамм-шаблона по расширенному дереву Т2,3 с рис. 3. Шаблон совмещается верхушкой дерева, т.е. для первой рз-граммы корнем является узел v1, а дочерними узлами являются два пустых узла и узел v2. Соответствующий этой 2,3-грамме кортеж меток: (*,а,*,*,а) - обход всегда слева направо.

р3-грамм--профиль: для р > 0 и з > 0 рз-грамм-профиль Рр3 (Т) дерева Т - это полный набор кортежей меток /(О,) для всех рз-грамм О1 дерева Т. На рис. 5 показаны рз-грамм профили деревьев Т1 и Т2 с рис. 2. рз-граммы в профиле могут повторяться, если одинаковые кортежи меток в расширенном дереве встречаются несколько раз.

р3-грамм-расстояние показывает, сколько общих рз-грамм содержат рз-грамм-профили сравниваемых деревьев. рз-грамм--расстояние: для р > 0 и з > 0 рз-грамм расстояние Д^3(Т1,Т2) между деревьями Т1 и Т2 определяется формулой (1).

\рр ,3 (Т1) п р™ (Т2)

Др 3 (Т1, Т2) = 1 - 2|

(1)

|р-3 (Т1) и рр (Т2)'

Например, для деревьев Т1 и Т2 с рис. 2 рз-грамм расстояние будет вычисляться следующим образом: |рр,3 п р™ (Г2)| = 9: {(*;а;*;*; а);(а;а;*;*;е);(а;е;*;*;*);(а;а;*;е;Ь);(а;Ь;*;*;*);(а;а;е;Ь;*);

(а;а;Ь;*;*);(*; а;*;а;Ь);(а;Ь;*;*;*)} . |рр'д (Т1) и рр'д (Т2) = 26 - число всех рд-грамм для деревьев Т1 и Т2 Тогда рд-грамм-расстояние между Т1 и Т2 будет равно

А2,3^, Тг) = 1 - 2— = 0,31. 26

Р2,3(Т1)

профиль

Р2,3(Т2)

профиль

а, а, е,

a,

b,

а, а,

a,

b,

а, а,

c, *, а, Ь, а, с,

*, а) (*, а, *, *, а)

*, е) (а, а, *, *, е)

* *) (а, е, *, *, *)

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

е, Ь) (а, а, *, е, Ь)

*, *) (а, Ь, *, *, *)

Ь, *) (а, а, е, Ь, *)

*, *) (а, а, Ь, *, *)

а , Ь ) (*, а, *, а, Ь)

*, *) (а, Ь, *, *, *)

Ь, с) (*, а, а, Ь, х)

*, *) (а, х, *, *, *)

с, *) (*, а, Ь, х, *)

*, *) (*, а, х, *, *)

Рис. 5. 2,3-грамм-профили деревьев Т1 и Т2

Размер рд-грамм профиля для дерева с I листьями и / внутренними (не листовыми) узлами вычисляется по формуле (2).

|ар д Т Т2)\ = 21 + д/ -1. (2)

рд-грамм расстояние равно 1, если деревья не содержат общих рд-грамм, и 0, если их рд-грамм профили идентичны. Необходимо помнить, что нулевое расстояние не означает совпадение деревьев -они могут быть зеркальным отражением друг друга. Простейший алгоритм создания рд-грамм-профиля и вычисления расстояния приведен в [5].

Расчет зависимости рц-грамм расстояния от параметров р и ц

Рассмотрим зависимость значения рд-грамм расстояния от выбранных параметров р и д.

Пусть Т1 - это рассматриваемое дерево, а Т2 - это дерево, полученное из Т1 после одной из следующих операций: переименование одного произвольного узла (замена метки), вставка одного нового узла в произвольное место, удаление одного любого узла. Задача: найти зависимость значения рд-грамм-расстояния между деревьями Т1 и Т2 от выбранных параметров р и д. Решение данной задачи позволит оптимально выбирать значения р и д при использовании алгоритма.

Пусть дерево Т1 высотой Н формируется с помощью следующего алгоритма: на каждой итерации обрабатывается один узел и, начиная с корневого узла, добавляются дочерние узлы. Каждый узел с вероятностью Р0 имеет дочерние узлы - значения ИСТИНА (обладает) или ЛОЖЬ (нет дочерних узлов) получаются

с помощью биномиального распределения В(Р0). Число дочерних узлов вычисляется через равномерное распределение V[1...Ж]. Метки присваиваются узлам путем случайного выбора метки из набора меток Е. Таким образом можно получить дерево, форма которого будет приближена к реальным данным.

Пусть пк - это число узлов в дереве, 1к - число листьев, тк - число нелистовых (внутренних) узлов на высоте h (к < Н), где Н - максимальная высота дерева (высота дерева Т1), тогда по формулам (3)-(5) можно рассчитать среднее число узлов на уровне к:

Е (Пк) = |Р

N +1

= а

Е0к) =

Е (тк) =

Е|пк|(1 -Р0) к < Н Е\пк\ к = Н '

= ГЕ|пк|Р к <Н

(3)

(4)

(5)

0 к = Н

Здесь Е(х) - математическое ожидание [11] - среднее число узлов на уровне дерева к. Вывод формул представлен в работе [12]. Для вычисления рд-грамм-расстояния применяется нормализованная формула (6) (Iх = Рр,д (Т1)):

+

Др 3 (Т Т )

Д3 Д (Т1,Т2) (6)

пот г г г г 4 '

I и 12 | - 11 п 12 |

Деревья Т1 и Т2 отличаются на (3 +1) рз-грамм. Следовательно, Дрз (Т1, Т2) = 2(з +1). Тогда формулу (6) можно преобразовать в формулу (7):

Д Р,3 =_2(3 + 1__(7)

"°гт дн-1(2 - Р0(2 - з)) + 2ан + з" ^

Вывод формулы (7) и всех последующих представлен в [12].

В случае смены метки узла видна следующая зависимость. Пусть узел С дерева Т^ (Н - высота дерева) переименован (произошла смена метки узла) и получилось дерево Т2Н , тогда формулы (8)-(10) показывают ожидаемое значение рз-грамм-расстояния между деревьями Т1 и Т2 при произвольных параметрах р и з при условии, что дерево Т1 было сформировано по вышеописанному алгоритму. Результаты зависят от положения узла С в деревьях Т1 и Т2:

1. С - листовой узел:

ДР,3 (Т Т ) =_2(3 +1)__(8)

Д и°™ Т Т2) ан-1(зР0 + 2 - Р0 + Р0 Ж). (8)

2. Узел С находится на высоте к, такой, что к + р < Н :

Д р З (ТТ) =_23 + Р0( Ж -1)__(9)

по„А и 2> з(Р0ан-р + !)-Р0(Ж-1)ан-р ^

3. Узел С находится на высоте к, такой, что к + р > Н :

ДР 3 СГТ) =_23 + р0( Ж-1)__(10)

Д ^ТТ2) з(Р0 + а-к) + 2-р0 + 2Р0N ' (10)

Анализируя результат, видим, что при переименовании листового узла (8) параметр р не влияет на результат вычисления расстояния, таким образом, в реальных задачах, где деревья имеют большое число изменяемых листовых узлов, можно не акцентировать внимание на параметре р, основное влияние оказывает только параметр 3. В деревьях с большим количеством нелистовых узлов (формула (9)) зависимость от параметра р является экспоненциальной, в то время как от параметра 3 - обратно-линейной. Исходя из этого, зависимость от р больше, чем от 3 в случае, если изменения происходят в нелистовых узлах, близких к дальним листьям дерева, и выбранный рз-грамм-шаблон не задевает корень исходного дерева при сопоставлении с изменяемым узлом. В формуле (10) зависимость от р пропадает, так как изменения происходят близко к корню дерева, и различными оказываются лишь небольшое число кортежей.

Такие вычисления необходимы при использовании алгоритма, так как, например, если брать задачу с рис. 1, то от выбранных параметров р и з будет зависеть уровень сходства деревьев с адресами квартир для заданной улицы. Необходимо оценить, какие узлы будут иметь максимальные различия: номера квартир (листовые значения), корпуса (дальние внутренние узлы) или номера домов (узлы, ближайшие к корню).

Операция вставки нового листового узла С меньше влияет на рз-грамм-профиль, чем вставка внутреннего (нелистового) узла:

1. Вставка листа / в дерево Т1 для получения Т2:

а" 1 (зР) +2-Р0 + Р, N)

2. Вставка нелистового узла на высоте к, такой, что к + р < Н :

Д^о™ (Т1, Т2) = и-1^ ^ „ , _ . (11)

2з + Ро( N-1)

3(Р0 аН - р +1) + 2аН - р (1 - Р0 N)

Др3 (Т Т ) =_ ^ ^_1__(12)

^ погшУ1 и12> н- р , 1Ч , „_Н - „,л г. ЛГЧ • ^ '

3. Вставка нелистового узла на высоте к, такой, что к + р > Н :

Д р,з (ТТ) =_23 + р0( N -1)__(13)

Д ^ Т Т2) з(ро + а-к) + ро( N +1). (13)

Влияние операции вставки узла на рз-грамм расстояние похоже на операцию переименования узла. Формулы (11) и (13) показывают, что параметр р не влияет на значение расстояния. В формуле (12) зависимость видна в участке зР0ан-р, который присутствовал и в операции переименования, следовательно, зависимость от р и з такая же, как и для операции смены метки. Различия - только в использовании параметров N и Р0.

Операция удаления аналогична операции вставки, так как если после удаления узла из Т получается дерево Т2 по условию задачи, то обратно - при добавлении узла к дереву Т2 получится Т. Так как pq-грамм-расстояние является симметричным, Ap'q (Тх, Т2) = Ap'q (Т2, TJ), то результаты аналогичны результатам операции вставки узла.

Обобщая все вышеизложенные выводы, можно прийти к заключению, что предварительная оценка данных перед использованием алгоритма в большинстве случаев не представляет сложности - необходимо лишь примерно оценить, на каком удалении от корня дерева будет больше всего различий и в зависимости от этого выбрать параметры p и q. Графики зависимостей для различных операций приведены в [12].

Заключение

Вычисление pq-грамм-расстояния позволяет выполнить оценку подобия деревьев за время O(n log n), что работает быстрее, чем известные на сегодняшний день алгоритмы сравнения.

Не все задачи требуют точного результата сравнения всех наборов иерархических данных. Например, при поиске похожих страниц в формате XML не требуется точное знание их различий [13]. Полученную приблизительную выборку может оценить сам пользователь или уже более точный алгоритм, на вход которому будет подан существенно меньший объем данных.

Алгоритм может применяться для решения следующих задач:

- оценка подобия тематического содержания текстов на основе сравнения формализованной выборки наиболее информативных слов и словосочетаний (формализация описана в [14]);

- сравнение данных в формате XML [15] или близком к нему (например, работа с базой Интернет-ресурсов - простой и быстрый поиск похожих результатов);

- поиск повторяющихся путей при маршрутизации сообщений;

- нечеткий поиск в тексте и словаре, когда при совпадении части n-грамм (сочетание букв) слова можно возвращать результат;

- обнаружение плагиата в исходных кодах программ на языках высокого уровня;

- объединение нескольких баз данных в одну с выборкой схожих результатов либо удалением повторяющихся записей.

Порой алгоритм применяется лишь частично - исходное дерево разбивается на n-граммы по аналогии с pq-граммами, но без вставки пустых узлов. Затем ведется подсчет некоторого набора параметров в зависимости от значений полученных n-грамм, после чего можно обрабатывать данные с применением других алгоритмов [16] в зависимости от поставленной задачи.

Литература

1. Tai K.-C. The tree-to-tree correction problem // Journal of ACM. 1979. V. 26. N 3. P. 422-433. doi: 10.1145/322139.322143

2. Zhang K., Shasha D. Simple fast algorithms for the editing distance between trees and related problems // SIAM Journal of Computing. 1989. V. 18. N 6. P. 1245-1262.

3. Demaine E.D., Mozes S., Rossman B., Weimann O. An optimal decomposition algorithm for tree edit distance // ACM Transactions on Algorithms. 2009. V. 6. N 1. Art. 2. doi: 10.1145/1644015.1644017

4. Pawlik M., Augsten N. RTED: a robust algorithm for the tree edit distance // Proc. 38th VLDB Endowment. Istanbul, Turkey,

2012. V. 5. N 4. P. 334-345.

5. Augsten N., Boehlen M., Gamper J. Approximate matching of hierarchical data using pq-grams // Proc. 31st Int. Conf. on Very Large Data Bases. Trondheim, Norway, 2005. V. 1. P. 301-312.

6. Кубенский А. А. Структуры и алгоритмы обработки данных. Объектно-ориентированный подход и реализация на C++. СПб.: БВХ-Петербург, 2004. 464 с.

7. Гасфилд Д. Строки, деревья и последовательности в алгоритмах. Информатика и вычислительная биология. СПб.: Невский Диалект, БВХ-Петербург, 2003. 656 с.

8. Кнут Д.Э. Искусство программирования. Т. 2. Основные алгоритмы. 3-е изд. М.: Вильямс, 2000. 832 с.

9. Кормен Т.Х., Лейзерсон Ч.И., Ривест Р.Л., Штайн К. Алгоритмы: построение и анализ. 3-е изд. М.: Вильямс,

2013. 1328 с.

10. Богомолов А.М., Салий В.Н. Алгебраические основы теории дискретных систем. М.: Физматлит, 1997. 368 с.

11. Кремер Н.Ш. Теория вероятностей и математическая статистика. 2-е изд. М.: Юнити-Дана, 2003. 573 с.

12. Srivastava N., Mishra V., Bhattacharya A. Analyzing the

References

1. Tai K.-C. The tree-to-tree correction problem. Journal of ACM, 1979, vol. 26, no. 3, pp. 422-433. doi: 10.1145/322139.322143

2. Zhang K., Shasha D. Simple fast algorithms for the editing distance between trees and related problems. SIAM Journal of Computing, 1989, vol. 18, no. 6, pp. 1245-1262.

3. Demaine E.D., Mozes S., Rossman B., Weimann O. An optimal decomposition algorithm for tree edit distance. ACM Transactions on Algorithms, 2009, vol. 6, no. 1, art. 2. doi: 10.1145/1644015.1644017

4. Pawlik M., Augsten N. RTED: a robust algorithm for the tree edit distance. Proc. 38th VLDB Endowment. Istanbul, Turkey, 2012, vol. 5, no. 4, pp. 334-345.

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

5. Augsten N., Boehlen M., Gamper J. Approximate matching of hierarchical data using pq-grams. Proc. 31s Int. Conf. on Very Large Data Bases. Trondheim, Norway, 2005, vol. 1, pp. 301312.

6. Kubenskii A.A. Structures and algorithms of data processing. Object-oriented approach and implementation on C++. St. Petersburg, BHV Publ., 2004, 464 p. (In Russian)

7. Gusfield D. Algorithms on String, Trees, and Sequences. Computer Science and Computational Biology. Cambridge University Press, 1997, 556 p.

8. Knuth D.E. The Art of Computer Programming. Vol. 2. Seminumerical Algorithms. Addison-Wesley, 1998.

9. Cormen T.H., Leiserson C.E., Rivest R.L., Stein C. Introduction to Algorithms. 3rd ed. MIT Press, 2009, 1312 p.

10. Bogomolov A.M., Salii V.N. Algebraic Foundations of the Discrete Systems Theory. Moscow, Fizmatlit Publ., 1997, 368 p. (In Russian)

11. Kremer N.Sh. Probability Theory and Mathematical Statistics. 2nd ed. Moscow, Yuniti-Dana, 2003, 573 p. (In Russian)

sensitivity of pq-gram distance with p and q // Proc. 10th Int. Conf. on Very Large Data Bases. Singapore, 2010.

13. Wagner R.A., Fischer M.J. The string-to-string correction problem // Journal of ACM. 1974. V. 21. N 1. P. 168-173. doi: 10.1145/321796.321811

14. Захаров В.Н., Хорошилов А.А. Автоматическая оценка подобия тематического содержания текстов на основе сравнения их формализованных смысловых описаний // Труды 14-й Всероссийской научной конференции «Электронные библиотеки: перспективные методы и технологии, электронные коллекции», RCDL-2012. Переславль-Залесский, Россия, 2012.

15. Хантер Д., Рафтер Д., Фаусетт Д., ван дер Влист Э. и др. XML. Работа с XML. 4-е изд. М.: Диалектика, 2009. 1344 с.

16. Флах П. Машинное обучение. Наука и искусство построения алгоритмов, которые извлекают знания из данных. М.: ДМК Пресс, 2015. 400 с.

Авторы

Андреева Александра Георгиевна - студент, Университет

ИТМО, Санкт-Петербург, 197101, Российская Федерация,

Tiari@mail.ru

Маркина Татьяна Анатольевна - кандидат технических наук,

доцент, Университет ИТМО, Санкт-Петербург, 197101,

Российская Федерация, tmark812@mail.ru

12. Srivastava N., Mishra V., Bhattacharya A. Analyzing the sensitivity of pq-gram distance with p and q. Proc. l0h Int. Conf. on Very Large Data Bases. Singapore, 2010.

13. Wagner R.A., Fischer M.J. The string-to-string correction problem. Journal of ACM, 1974, vol. 21, no. 1, pp. 168-173. doi: 10.1145/321796.321811

14. Zakharov V.N., Khoroshilov A.A. Automatic assessment of similarity of the texts' thematic content on the base of their formalized semantic descriptions comparison. Proc. RCDL-2012. Pereslavl'-Zalesskii, Russia, 2012.

15. Hunter D., Rafter J., Fawcett J., van der Vlist E. et. al. Beginning XML. 4th ed. Wiley, 2007, 1080 p.

16. Flach P. Machine Learning: The Art and Science of Algorithms That Make Sense of Data. Cambridge University Press, 2012, 409 p.

Authors

Alexandra G. Andreeva - student, ITMO University, Saint Petersburg, 197101, Russian Federation, Tiari@mail.ru

Tatiana A. Markina - PhD, Associate Professor, ITMO University, Saint Petersburg, 197101, Russian Federation, tmark812@mail.ru

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