Częste wydobywanie poddrzewa

W informatyce częsta eksploracja poddrzew to problem znalezienia w danej bazie danych wszystkich wzorców, których wsparcie (metryka związana z liczbą jej wystąpień w innych poddrzewach) przekracza zadany próg . Jest to bardziej ogólna postać problemu poddrzewa maksymalnej zgodności.

Definicja

Częste eksplorowanie poddrzew to problem polegający na próbie znalezienia wszystkich wzorców, których „wsparcie” przekracza określony przez użytkownika poziom, gdzie „wsparcie” jest obliczane jako liczba drzew w bazie danych, które mają co najmniej jedno poddrzewo izomorficzne do dany wzór.

Definicja formalna

Problem częstego eksploracji poddrzew został formalnie zdefiniowany jako:

Biorąc pod uwagę próg minfreq , klasa drzew , przechodnia relacja poddrzewa między drzewami między drzewami , skończony zbiór drzew , częstym problemem eksploracji poddrzewa jest problem znalezienia wszystkie drzewa takie, że żadne dwa drzewa w nie izomorficzne i
gdzie d
funkcją antymonotoniczną taką, że jeśli , to

TreeMiner

W 2002 roku Mohammed J. Zaki przedstawił TreeMiner, wydajny algorytm do rozwiązywania częstego problemu eksploracji poddrzewa, który wykorzystywał „listę zakresów” do reprezentowania węzłów drzewa i który był przeciwieństwem PatternMatcher, algorytmu opartego na dopasowywaniu wzorców.

Definicje

Indukowane poddrzewa

Poddrzewo jest indukowanym poddrzewem wtedy i tylko wtedy, gdy i . Innymi słowy, dowolne dwa węzły w S, które są bezpośrednio połączone krawędzią, są również bezpośrednio połączone w T. Dla dowolnego węzła A i B w S, jeśli węzeł A jest rodzicem węzła B w S, to węzeł A musi być również rodzic węzła B w T.

Osadzone poddrzewa

Poddrzewo poddrzewem wtedy i tylko wtedy, gdy a dwa węzły końcowe dowolnej krawędzi w S znajdują się na tej samej ścieżce od korzenia do węzła liścia w T. Innymi słowy, dla dowolnego węzła A i B w S, jeśli węzeł A jest rodzicem węzła B w S, to węzeł A musi być przodkiem węzła B w T. Wszelkie indukowane poddrzewa są również osadzonymi poddrzewami, a zatem koncepcja osadzonych poddrzew jest uogólnieniem indukowanych poddrzew. Jako takie osadzone poddrzewa charakteryzują ukryte wzorce w drzewie, których brakuje w tradycyjnym eksploracji indukowanych poddrzew. Poddrzewo o rozmiarze k jest często nazywane k-poddrzewem.

Wsparcie

Wsparcie dla poddrzewa to liczba drzew w bazie danych zawierającej to poddrzewo. Poddrzewo jest częste, jeśli jego wsparcie jest nie mniejsze niż próg określony przez użytkownika (często oznaczany jako minsup). Celem TreeMiner jest znalezienie wszystkich osadzonych drzew podrzędnych, które mają przynajmniej minimalne wsparcie.

Ciągowa reprezentacja drzew

Istnieje kilka różnych sposobów kodowania struktury drzewa. TreeMiner wykorzystuje łańcuchowe reprezentacje drzew do wydajnej manipulacji drzewami i liczenia podpór. Początkowo łańcuch jest ustawiony na . Zaczynając od korzenia drzewa, etykiety węzłów są dodawane do łańcucha w kolejności wyszukiwania od początku do końca. -1 jest dodawane do łańcucha za każdym razem, gdy proces wyszukiwania cofa się od dziecka do rodzica. Na przykład proste drzewo binarne z korzeniem oznaczonym jako A, lewy element potomny oznaczony jako B i prawy element potomny oznaczony jako C może być reprezentowany przez łańcuch AB -1 C -1.

Klasa równoważności prefiksu

Mówi się, że dwa k-poddrzewa należą do tej samej klasy równoważności przedrostków, jeśli ich reprezentacja łańcuchowa jest identyczna aż do (k-1)-tego węzła. Innymi słowy, wszystkie elementy w klasie równoważności przedrostków różnią się tylko ostatnim węzłem. Na przykład dwa drzewa z reprezentacją łańcuchową AB -1 C -1 i AB -1 D -1 należą do klasy równoważności prefiksu AB z elementami (C, 0) i (D, 0). Element klasy prefiksu jest określony przez etykietę węzła połączoną z pierwszym indeksem głębokości węzła, do którego jest dołączony, od 0. W tym przykładzie oba elementy prefiksu klasy AB są dołączone do korzenia, który ma indeks równy 0.

Zakres

przez parę liczb, gdzie i r to minimalny i maksymalny indeks węzła w poddrzewie zakorzenionym , l jest indeksem A, a r jest indeksem najbardziej wysuniętego na prawo liścia wśród potomków A. Jako taki indeks dowolnego potomka A musi leżeć w zakresie A, co będzie bardzo użyteczną właściwością przy liczeniu obsługa poddrzew.

Algorytm

Pokolenie kandydatów

Częste wzorce poddrzew są zgodne z właściwością antymonotoniczną. Innymi słowy, wsparcie k-poddrzewa jest mniejsze lub równe wsparciu jego (k-1)-poddrzew. Tylko super wzorce znanych częstych wzorców mogą być częste. Wykorzystując tę ​​właściwość, kandydaci na k-poddrzewa mogą być generowani na podstawie częstych (k-1)-poddrzew poprzez rozszerzenie klasy prefiksu. Niech C będzie klasą równoważności przedrostka z dwoma elementami (x,i) i (y,j). Niech C' będzie klasą reprezentującą rozszerzenie elementu (x,i). Elementy C' są dodawane przez wykonanie łączenia na dwóch (k-1)-poddrzewach w C. Łączenie operacja na (x,i) i (y,j) jest zdefiniowana następująco.

  • Jeśli , to dodaj (y, j) do C '.
  • Jeśli , to dodaj (y, j) i (y, ni) do C 'gdzie ni pierwszy indeks głębokości x w C
  • Jeśli , do C 'nie można dodać żadnego możliwego elementu

Ta operacja jest powtarzana dla dowolnych dwóch uporządkowanych, ale niekoniecznie odrębnych elementów w C, aby skonstruować rozszerzone klasy przedrostków k-poddrzew.

Reprezentacja listy zakresów

TreeMiner przeprowadza generowanie kandydatów w pierwszej kolejności, używając reprezentacji poddrzew na liście zakresu, aby ułatwić szybsze liczenie wsparcia. K-poddrzewo S może być reprezentowane przez tryplet (t,m,s), gdzie t jest identyfikatorem drzewa, z którego pochodzi poddrzewo, m jest etykietą dopasowania prefiksu, a s zasięgiem ostatniego węzła w S W zależności od tego, jak S występuje w różnych drzewach w bazie danych, S może mieć różną reprezentację listy zasięgu. TreeMiner definiuje łączenie z listą zakresów , które wykonuje rozszerzenie klasy na reprezentacji poddrzew w liście zakresów. Dwa elementy (x,i) i (y,j) można połączyć, jeśli istnieją dwa poddrzewa i , które spełniają jeden z poniższych warunków.

  • Test w zakresie: , co odpowiada przypadkowi, gdy .
  • test poza zakresem: , które odpowiadają przypadkowi, gdy .

Dzięki śledzeniu odrębnych identyfikatorów drzew używanych w testach listy zakresu można skutecznie obliczyć obsługę poddrzew.

Aplikacje

Dziedziny, w których częsta eksploracja poddrzewa jest użyteczna, zwykle obejmują złożone relacje między jednostkami danych: na przykład analiza dokumentów XML często wymaga częstej eksploracji poddrzewa. Inną dziedziną, w której jest to przydatne, jest problem eksploracji korzystania z sieci: ponieważ działania podejmowane przez użytkowników podczas odwiedzania witryny internetowej można rejestrować i kategoryzować na wiele różnych sposobów, złożone bazy danych drzew muszą być analizowane z częstą eksploracją poddrzew. Inne dziedziny, w których częste eksplorowanie poddrzew jest przydatne, obejmują biologię obliczeniową , analizę struktury RNA, rozpoznawanie wzorców, bioinformatykę i analizę KEGG Baza danych GLYCAN.

Wyzwania

Sprawdzenie, czy wzorzec (lub transakcja) obsługuje dany podgraf, jest problemem NP-zupełnym , ponieważ jest to NP-zupełny przypadek problemu izomorfizmu podgrafu . Ponadto, z powodu eksplozji kombinatorycznej , według Lei i in., „wydobywanie wszystkich częstych wzorców poddrzew staje się niewykonalne w przypadku dużej i gęstej bazy danych drzew”.