POLITECHNIKA WARSZAWSKA Wydził Elektroniki i Technik Informcyjnych ROZPRAWA DOKTORSKA mgr inż. Łuksz Skonieczny Odkrywnie częstych grfów z uwzględniniem niespójności Promotor prof. nzw. dr h. inż. Mrzen Kryszkiewicz Wrszw, 2010
2
Streszczenie Niniejsz rozprw dotyczy zgdnieni odkrywni grfów częstych. W rozprwie zwrty jest przegląd istniejących metod odkrywni grfów częstych ze szczególnym uwzględnieniem lgorytmów pochodzących z pltformy P rm ol. Ogrniczeni większości istniejących lgorytmów, polegjące n uwzględniniu tylko grfów spójnych w procesie wyszukiwni grfów częstych, skłoniło utor do podjęci prcy nd oprcowniem nowych metod odkrywni grfów częstych z uwzględniniem niespójności. W rozprwie zproponowno dw nowe lgorytmy: lgorytm U GM orz lgorytm U F C, które pozwlją n odkrywnie spójnych i niespójnych grfów częstych. Algorytm U GM opier się n odkrywniu częstych wieloziorów krwędzi, z których nstępnie udowne są częste grfy spójne i niespójne. Algorytm U F C poleg n udowniu częstych grfów niespójnych n podstwie częstych grfów spójnych. N pierwszym etpie lgorytm U F C odkryw wyłącznie częste grfy spójne, wykorzystując do tego celu dowolny lgorytm odkrywni częstych grfów spójnych. N kolejnych etpch odkrywne są częste grfy niespójne poprzez dołącznie do grfów częstych kolejnych częstych skłdowych spójnych. Duż część rozprwy zostł poświęcon prolemowi dni izomorfizmu z podgrfem, które jest jedną z njwżniejszych opercji w lgorytmch odkrywni grfów częstych. Przedstwiono rozwiąznie prolemu izomorfizmu z podgrfem z pomocą metod rozwiązywni prolemu spełnini ogrniczeń i zproponowno optymlizcję tych metod, z wykorzystniem symetrii grfów, w szczególności symetrii grfów niespójnych o wielokrotnych skłdowych spójnych. Zproponowne metody zostły zimplementowne i przetestowne. Uzyskne i umieszczone w prcy wyniki eksperymentów potwierdzją skuteczność i przydtność zproponownych metod, ich nliz pozwl n wskznie kierunków kontynucji dń w tej dziedzinie. Słow kluczowe: odkrywnie wiedzy w grfch, odkrywnie grfów częstych, prolem izomorfizmu z podgrfem. 3
Astrct This thesis is centered round methods of frequent grphs mining. It presents survey of existing methods for frequent grphs discovery, especilly lgorithms included in the P rmol pltform. Most existing methods of frequent grphs discovery re limited to connected grphs only, completely ignoring frequent unconnected grphs. In this thesis, we proposed two new lgorithms: U GM nd U F C, which discover oth connected nd unconnected frequent grphs. The UGM lgorithm is sed on the discovery of frequent multisets of edges, which re lter used to determine whether given set of edges cn e used to construct frequent grph or not. The UF C lgorithm discovers connected frequent grphs y mens of ny existing P rmol lgorithm nd then joins these frequent connected grphs with ech other creting unconnected frequent grphs with incresing numer of connected components. The significnt prt of the thesis is dedicted to solving sugrph isomorphism prolem which is one the most importnt opertion in frequent grphs discovery. We descried methods of solving the sugrph isomorphism prolem y solving the constrints stisfction prolem nd proposed optimiztion of these methods which utilize grph symmetries, especilly symmetries coming from multiple connected components. The proposed methods hs een implemented nd verified experimentlly. The experiments prove their efficiency nd usility. Anlysis of results shows directions of further reserch. Keywords: knowledge discovery in grphs, frequent grphs mining, sugrph isomorphism prolem.
Spis treści 1. Wstęp............................................... 8 1.1. Wprowdzenie....................................... 8 1.2. Motywcj orz cel prcy................................. 9 1.3. Zkres i tez prcy..................................... 10 1.4. Ukłd prcy......................................... 11 2. Wprowdzenie do zgdnieni odkrywni grfów częstych................. 13 2.1. Podstwowe definicje i włsności............................. 13 2.2. Prolem odkrywni grfów częstych........................... 21 2.2.1. Generownie kndydtów............................. 21 2.2.2. Wyzncznie wsprci............................... 25 3. Znne lgorytmy odkrywni częstych grfów........................ 28 3.1. gspn............................................ 28 3.1.1. Kod DFS...................................... 28 3.1.2. Relcj porządkując w ziorze kodów DFS i minimlny kod DFS....... 30 3.1.3. Drzewo kodów DFS................................ 31 3.1.4. Algorytm gspn.................................. 31 3.1.5. Odkrywnie niespójnych grfów częstych.................... 33 3.2. FFSM............................................ 34 3.2.1. Knoniczn mcierz sąsiedztw.......................... 34 3.2.2. Generownie kndydtów............................. 36 3.2.3. Wyzncznie wsprci............................... 39 3.2.4. Algortym FFSM.................................. 40 3.3. MoF............................................ 40 3.3.1. Generownie kndydtów............................. 41 3.3.2. Algorytm MoF.................................. 43 3.3.3. Modyfikcje lgorytmu MoF........................... 44 5
3.4. Gston........................................... 45 3.4.1. Generownie kndydtów............................. 45 3.4.2. Przechowywnie znurzeń............................ 46 3.4.3. Algorytm Gston................................. 47 3.5. Inne lgorytmy....................................... 52 4. Proponowne lgorytmy odkrywni częstych grfów z uwzględniniem niespójności.. 54 4.1. Algorytm odkrywjący jednocześnie grfy spójne i niespójne.............. 54 4.1.1. Mksymlne częste wieloziory deskryptorów krwędzi............. 55 4.1.2. Ziór grfów nieczęstych............................. 58 4.1.3. Ziór nieczęstych konstruktorów rozszerzeń................... 58 4.1.4. Przerywnie wyznczni wsprci........................ 59 4.1.5. Generownie kndydtów............................. 60 4.1.6. Rozszerznie grfu................................ 62 4.1.7. Struktury dnych................................. 65 4.1.8. Algorytm UGM.................................. 66 4.2. Algorytmy zujące n wstępnym odkrywniu grfów spójnych............. 72 4.2.1. Odkrywnie grfów niespójnych przez uzupełnienie grfów zioru wejściowego o rkujące krwędzie....................... 73 4.2.2. Odkrywnie częstych grfów niespójnych n podstwie częstych skłdowych spójnych...................................... 74 5. Prolemy izomorfizmu grfów i izomorfizmu z podgrfem................. 83 5.1. Znne lgorytmy...................................... 83 5.2. Prolem izomorfizmu grfów jko CSP.......................... 84 5.2.1. CSP - Prolem Spełnini Ogrniczeń...................... 84 5.2.2. Prolem izomofizmu z podgrfem jko CSP................... 86 5.3. Metody optymlizcji lgorytmu CSP dl prolemu izomorfizmu z podgrfem..... 88 5.3.1. Ogrnicznie dziedziny.............................. 88 5.3.2. Ogrnicznie dziedziny z pomocą dni spójności łuków.......... 91 5.3.3. Sprwdznie w przód............................... 91 5.3.4. Sprwdznie spójności dziedziny......................... 92 5.3.5. Kolejność wyoru zmiennej............................ 96 5.3.6. Kolejność wyoru wrtości............................ 96 5.3.7. Symetri w grfie................................. 97 6
5.3.8. Wykorzystnie symetrii jko mechnizmu ogrniczni dziedziny........ 101 5.3.9. Powroty z przeskokmi.............................. 103 5.3.10. Izomorfizm z podgrfem w kontekście lgorytmów UGM i UF C....... 105 5.4. Algorytm izomorfizmu z podgrfem............................ 108 5.5. Algorytm izomorfizmu grfów............................... 112 6. Eksperymenty.......................................... 114 6.1. Opis eksperymentów.................................... 114 6.2. Licz spójnych grfów częstych i licz wszystkich grfów częstych.......... 115 6.3. Porówninie wydjnościowe lgorytmów odkrywni grfów częstych z uwzględniniem niespójności.............................. 120 6.4. Anliz opercji skłdowych zproponownych lgorytmów............... 127 6.5. Anliz skuteczności poszczególnych optymlizcji lgorytmu UGM.......... 130 6.6. Anliz skuteczności poszczególnych heurystyk i optymlizcji lgorytmu testu n izomorfizm z podgrfem.................................. 134 6.6.1. Wykorzystnie symetrii.............................. 134 6.6.2. Kolejność wyoru zmiennej............................ 136 6.6.3. Spójność łukow.................................. 137 6.6.4. Wykorzystnie kontekstu lgorytmu UGM.................... 139 6.6.5. Porównnie z lgorytmem vf2........................... 141 7. Podsumownie i dlsze kierunki dń............................ 143 Biliogrfi.............................................. 145
1. Wstęp 1.1. Wprowdzenie Od kilkudziesięciu lt oserwuje się nieustnny wzrost rozmirów dnych gromdzonych w postci elektronicznej dotyczących różnorkich spektów dziłlności człowiek (n przykłd hndlu i mrketingu, telekomunikcji, medycyny, nkowości,... ). Zerne dne mogą posłużyć do poznni chrkteru dnej dziedziny, co pozwl n przykłd n poprwę jkości usług. Gromdzone dne są poddwne nlizie i n tej podstwie wyciągne są wnioski prktyczne. Prolemem stł się jednk wielkość dnych i szykość ich npływni, uniemożliwijące trdycyjne, nlityczne podejście do przetwrzni dnych. Pomocne okzują się nowe metody nukowe znne pod wspólną nzwą odkrywni wiedzy w dużych ziorch dnych 1. Jednym ze środków wydoywni tej wiedzy stły się metody eksplorcji dnych 2. Eksplorcj dnych jest etpem odkrywni wiedzy, n którym n podstwie odpowiednio przygotownych dnych, powinny zostć pozyskne wyniki nowe, użyteczne, nietrywilnie i łtwe do interpretcji. Jednym z njwżniejszych prolemów eksplorcji dnych jest odkrywnie wzorców częstych 3 [1], ędące uogólnieniem zdni nlizy koszyk sklepowego. W przypdku nlizy koszyk sklepowego wejściow z dnych skłd się z trnskcji, kżd trnskcj jest ziorem zkupionych produktów. Odkrywnie częstych wzorców m w tym przypdku z zdnie odkrycie grup produktów, które często występują rzem w tej smej trnskcji. W tym kontekście odkrywnie wzorców częstych nzywne jest też odkrywniem ziorów częstych, gdyż poleg n znlezieniu ziorów, które są podziormi dużej części ziorów z wejściowej zy dnych. Wzorce częste są też używne w wielu innych metodch eksplorcji dnych, np. klsyfikcji [31] lu grupowniu [45, 46]. Pojęcie wzorc częstego zostło szyko uogólnione i ook terminu zioru częstego pojwiły się terminy wielozioru częstego 4 [14], sekwencji 1 ng. knowledge discovery in lrge dtses 2 ng. dt mining 3 ng. frequent ptterns 4 ng. frequent multiset 8
częstej 5 [2], drzew częstego 6 [78] i wreszcie grfu częstego 7 [72]. W przypdku odkrywni grfów częstych wejściow z dnych skłd się z grfów, grfem częstym jest tki grf, który jest izomorficzny z podgrfmi dużej części grfów z wejściowej zy dnych. 1.2. Motywcj orz cel prcy Odkrywnie wiedzy w grfch jest wżną i rozwojową dziedziną nuki. Grfy są uniwerslnym nrzędziem reprezentowni wielu rzeczywistych oiektów i zjwisk, tkich jk n przykłd związki chemiczne, sieci telefoniczne, sieci drogowe, struktury portli internetowych, interkcje międzyludzkie. Ontologie, czyli również pewnego rodzje grfy, stły się populrnym nrzędziem reprezentcji wiedzy [32]. Corz więcej gromdzonych dnych jest przechowywnych w postci grfów, co powoduje, że konieczne stje się dostrcznie efektywnych metod ich przetwrzni i nlizy. Istnieje już liczn grup efektywnych lgorytmów odkrywni częstych grfów. Znkomit większość z nich odkryw jednk jedynie częste grfy spójne. Eksperymenty przeprowdzone w rmch tej prcy pokzują, wszystkich grfów częstych. że spójne grfy częste stnowią jedynie mły ułmek Pondto w niektórych zstosownich grfy niespójne są rdziej informcyjne niż grfy spójne - n przykłd w prcy [68] wykzno, że w pewnych okolicznościch wzorce kontrstowe uzyskne z grfów spójnych i niespójnych cechują się większą zwięzłością reprezentcji niż wzorce uzyskne tylko z grfów spójnych. Celem niniejszej rozprwy jest zproponownie efektywnej metody odkrywni częstych grfów, któr w odróżnieniu od istniejących rozwiązń, nie pomij częstych grfów niespójnych. Grf częsty jest grfem, który jest izomorficzny z podgrfmi dużej części grfów z wejściowej zy dnych. Zdnie zdni, czy grf jest izomorficzny z co njmniej jednym podgrfem dnego grfu, czyli tk zwny prolem izomorfizmu z podgrfem, nleży do klsy NP-zupełnych i z tego względu większość lgorytmów odkrywni grfów częstych nie wykonuje ezpośrednich testów n izomorfizm z podgrfem. W zmin wykorzystywne są tk zwne znurzeni grfów, czyli pełn informcj o izomorfizmie dnego grfu z podgrfmi grfów z wejściowej zy grfów, to znczy informcj, które wierzchołki dnego grfu są przyporządkowne którym wierzchołkom grfów ze wejściowej zy grfów. 5 ng. frequent sequence 6 ng. frequent tree 7 ng. frequent grph 9
Jeżeli grf posid co njmniej jedno znurzenie w pewnym grfie, wtedy jest izomorficzny z podgrfem tego grfu. Znurzeni mją tę zletę, że wystrczy znleźć je rz i w prosty sposó uktulnić w momencie utworzeni nowych grfów kndydujących n grfy częsty. Znurzeni sprwdzją się w przypdku odkrywni częstych grfów spójnych, le trcą część swych zlet w przypdku odkrywni grfów niespójnych, gdyż ich licz zncząco wzrst, opercj uktulnini znurzeń stje się skomplikown. Z tego powodu kolejnym celem prcy jest zproponownie efektywnej metody odkrywni częstych grfów, któr w odróżnieniu od istniejących rozwiązń, nie wykorzystuje znurzeń. 1.3. Zkres i tez prcy Podstwową tezą prcy jest stwierdzenie: Możliwe jest stworzenie efektywnego lgorytmu odkrywni grfów częstych, który uwzględniły zrówno spójne, jk i niespójne grfy częste, wyzncznie wsprci grfów relizowły z pomoc testów n izomorfizm z podgrfem. Podstwą do zweryfikowni tej tezy miło yć zproponownie nowych lgorytmów odkrywni grfów częstych orz ich zimplementownie i zintegrownie z pltformą P rm ol [55]. Pltform P rm ol zwier cztery lgorytmy odkrywni częstych grfów spójnych (Gston, M of, F F SM, gspn), spośród których trzy pierwsze wykorzystują znurzeni zmist ezpośrednich testów n izomorfizm z podgrfem. Cechmi chrkterystycznymi zproponownych w prcy metod odkrywni grfów częstych miły yć: odkrywnie zrówno spójnych jk i niespójnych grfów częstych, wykorzystnie testów n izomorfizm z podgrfem zmist zjmujących dużo pmięci znurzeń. Ay umożliwić szerszy zkres oceny zproponownych metod, do pltformy P rm ol zostł tkże włączon opisn w [77] modyfikcj lgorytmu gspn (nzywn w tej prcy gspnu nconnected), któr pozwl n odkrywnie częstych grfów niespójnych. Do wykonywni testów n izomorfizm z podgrfem w zproponownych metodch zostły wyrne i przetestowne trzy lgorytmy: lgorytm istniejący w pltformie P rm ol, lgorytm V F 2 orz zproponowny przez utor niniejszej rozprwy lgorytm zujący n rozwiązywniu prolemu spełnini ogrniczeń. Poniewż prolem izomorfizmu z podgrfem 10
nleży do klsy NP-zupełnych, ztem, y zchowć efektywność proponownych metod odkrywni grfów częstych, zostły oprcowne techniki umożliwijących ogrniczenie liczy wykonywnych testów n izomorfizm z podgrfem. Podstwowym wkłdem utor jest propozycj dwóch nowych lgorytmów odkrywni częstych grfów z uwzględniniem niespójności: U GM i U F C. N potrzey lgorytmów zostły zproponowne cztery nowe techniki optymlizcyjne, które potencjlnie mogą znleźć zstosownie w innych lgorytmch odkrywni grfów częstych. Do oryginlnych elementów prcy nleży też oprcownie nowej metody wykorzystni symetrii grfów do rozwiązni prolemu izomorfizmu z podgrfem zdefiniownego jko prolem spełnini ogrniczeń. 1.4. Ukłd prcy W rozdzile 2 przedstwiono podstwowe pojęci teorii grfów używne w prcy. Pondto zdefiniowno prolem odkrywni grfów częstych orz opisno njwżniejsze zgdnieni z nim związne i ogólne metody rozwiązywni. W rozdzile 3 dokonno ktulnego przeglądu istniejących lgorytmów odkrywni grfów częstych ze szczególnym uwzględnieniem lgorytmów znjdujących się w pltformie P rmol, to jest lgorytmów Gston, MoF, gspn, F F SM. W rozdzile 4 przedstwiono dwie nowe propozycje lgorytmów odkrywni grfów częstych z uwzględniniem niespójności: lgorytmu U GM i U F C. Algorytm U GM odkryw jednocześnie częste grfy spójne i niespójne, ntomist lgorytm U F C odkryw njpierw częste grfy spójne z pomocą dowolnego lgorytmu z pltformy P rm ol, nstępnie łączy odkryte częste grfy spójne tworząc niespójne grfy kndydujące. W rozdzile 4 przedstwiono też cztery techniki poprwijące wydjność lgorytmu U GM i pokzno, że trzy z nich możn wykorzystć tkże w lgorytmie UF C. Rozdził 5 jest opisem prolemów dni izomorfizmu z grfem orz izomorfizmu z podgrfem. W rozdzile tym zostły krótko omówione istniejące metody rozwiązni prolemu, ze szczególnym uwzględnieniem metody wykorzystującej rozwiąznie prolemu spełnini ogrniczeń. W rozdzile tym zproponowno i przedyskutowno tkże ulepszeni tej metody. Rozdził 6 jest poświęcony dniom eksperymentlnym zproponownych metod. W rmch eksperymentów wykonno zrówno ezpośrednie porównnie zproponownych 11
lgorytmów z istniejącymi lgorytmmi, jk i zdno wpływ poszczególnych optymlizcji i heurystyk zwrtych w proponownych lgorytmch n ich wydjność. W rozdzile 6 zmieszczone są też njwżniejsze wnioski płynące z części eksperymentlnej. Rozdził 7 stnowi podsumownie prcy, wnioski orz propozycje i kierunki dlszych dń. Osttnią częścią prcy jest iliogrfi.
2. Wprowdzenie do zgdnieni odkrywni grfów częstych 2.1. Podstwowe definicje i włsności Grf to nieformlnie ziór wierzchołków, pomiędzy którymi mogą występowć krwędzie. W tej prcy pod pojęciem grfu ędziemy rozumieli njczęściej prosty nieskierowny grf etykietowny, którego definicj przedstwion jest poniżej. Definicj 2.1. (prosty nieskierowny grf etykietowny) Prostym nieskierownym grfem etykietownym G nzywmy czwórkę G = (V, E, ll, L), gdzie - V jest ziorem wierzchołków, - E = {{v 1, v 2 } v 1, v 2 V, v 1 v 2 } jest ziorem krwędzi, - ll : V E L jest funkcją ndjącą etykiety wierzchołkom i krwędziom, - L jest ziorem etykiet. Jeżeli w prcy nie zostnie zznczone inczej, grf nleży rozumieć jk w definicji 2.1. Jest to zgodne z złożenimi przyjętymi w przewżjącej części litertury dotyczącej odkrywni wiedzy w grfch, któr w zncznej mierze wywodzi się z ioi chemio-informtyki, gdzie etykietowny grf nieskierowny stosuje się jko model związków chemicznych. Wierzchołki grfu reprezentują wtedy poszczególne tomy, krwędzie - wiązni między nimi. Wierzchołki są etykietowne nzwmi pierwistków, krwędzie rodzjem wiązni. Kżdy grf może yć jednozncznie przedstwiony z pomocą grficznej reprezentcji grfu. W prcy używn jest nstępując grficzn reprezentcj grfu: wierzchołki grfu są reprezentowne w postci okręgów; symol umieszczony wewnątrz okręgu ozncz etykietę wierzchołk; krwędzie są reprezentowne w postci krzywych łączących wierzchołki; symol umieszczony przy krzywej ozncz etykietę dnej krwędzi. 13
v 1 v 2 Z v 4 v 3 v 2 v 3 v 4 v Z 5 G v 1 v 5 Rysunek 2.1. Dwie różne reprezentcje grficzne tego smego grfu G. Jeżeli reprezentcj grficzn nie posid symoli oznczjących etykiety wierzchołków i/lu krwędzi, nleży przyjąć, że wszystkie wierzchołki i/lu krwędzie posidją tę smą etykietę. Przykłd 2.1. N rysunku 2.1 znjdują się dwie grficzne reprezentcje tego smego grfu G = (V, E, ll, L), gdzie: - V = {v 1, v 2, v 3, v 4, v 5 }, - E = {{v 1, v 2 }, {v 1, v 3 }, {v 1, v 4 }, {v 2, v 3 }, {v 2, v 5 }, {v 3, v 4 }, {v 4, v 5 }}, - ll(v 1 ) =, ll(v 2 ) =, ll(v 3 ) =, ll(v 4 ) = Z, ll(v 5 ) =, ll({v 1, v 2 }) =, ll({v 1, v 3 }) =, ll({v 1, v 4 }) =, ll({v 2, v 3 }) =, ll({v 2, v 5 }) =, ll({v 3, v 4 }) =, ll({v 4, v 5 }) =, - L = {,, Z,, }. Definicj 2.2. (stopień wierzchołk) W grfie G = (V, E, ll, L) stopniem wierzchołk v V (ozncznym przez d(v)) nzywmy liczę krwędzi e E, które zwierją wierzchołek v. Definicj 2.3. (ścieżk, łńcuch) W grfie G = (V, E, ll, L) ścieżk łcz c (łńcuchem łcz cym) wierzchołki v, v V nzywmy tki ciąg wierzchołków (v 1, v 2, v 3,... v n ), że v 1 = v, v n = v, i {1,n 1} {v i, v i+1 } E. Liczę n nzywmy długości ścieżki. 14
Definicj 2.4. (grf spójny) Grf nzywmy spójnym, gdy istnieje ścieżk łącząc kżdą prę wierzchołków tego grfu. Definicj 2.5. (grf niespójny) Grf nzywmy niespójnym, gdy nie jest grfem spójnym. Definicj 2.6. (grf pusty) Grf G = (V, E, ll, L) nzywmy grfem pustym, gdy E = 0. Definicj 2.7. (grf ez wierzchołków) Grf G = (V, E, ll, L) nzywmy grfem ez wierzchołków, gdy V = 0. Definicj 2.8. (izomorfizm grfów) Grfy G = (V, E, ll, L) i G = (V, E, ll, L ) są izomorficzne (co oznczmy przez G = G ), gdy istnieje ijekcj φ : V V tk, że: {v1,v 2 } E v V e E {φ(v 1 ), φ(v 2 )} E ll(v) = ll (φ(v)) ll(e) = ll (φ(e)). Bijekcj φ jest nzywn izomorfizmem grfu G w grf G. Jeżeli ijekcj nie istnieje, wtedy grfy G i G nie są izomorficzne (co oznczmy przez G = G ). Definicj 2.9. (utomorfizm grfów) Automorfizmem grfu G nzywmy kżdy izomorfizm grfu G w grf G (w smego sieie). Innymi słowy jest to ijekcj φ : V V (czyli permutcj) tk, że: e={v1,v 2 } E v V e E {φ(v 1 ), φ(v 2 )} E ll(v) = ll(φ(v)) ll(e) = ll(φ(e)). Kżdy grf posid przynjmniej jeden utomorfizm - permutcję identycznościową. Izomorfizm definiuje relcję równowżności w ziorze grfów, co z tym idzie dzieli ziór grfów n klsy równowżności. Grfy izomorficzne nleżą do jednej klsy równowżności. Grfy nieizomorficzne nleżą do różnych kls równowżności. Wszystkie grfy w jednej klsie równowżności mogą yć reprezentowne przez jeden wyrny ritrlnie grf. dupliktmi. Pozostłe grfy w tej smej klsie równowżności ędziemy nzywli Przyjmujemy, że reprezentcj grficzn grfu nie posidjąc symoli przy wierzchołkch ędzie reprezentowć klsę równowżności. Liczę kls równowżności w dnym ziorze grfów ędziemy nzywć licz grfów nieizomorficznych w tym ziorze. 15
v 1 v 2 v' 1 v' 2 v 3 Φ(v 1 )=v' 1 Φ(v 2 )=v' 4 v' 3 v 4 v5 v' 4 v' 5 Φ(v 3 )=v' 3 Φ(v 4 )=v' 2 Φ(v 5 )=v' 7 v 6 Φ(v 6 )=v' 6 Φ(v 7 )=v' 5 Φ(v 8 )=v' 8 v' 6 v 7 v 8 G G' v' 7 v' 8 Rysunek 2.2. Przykłd izomorfizmu grfów. Grfy G i G są izomorficzne. φ jest jednym z czterech możliwych izomorfizmów G w G Przykłd 2.2. Widoczne n rysunku 2.2 grfy G i G są izomorficzne. Istnieją cztery różne izomorfizmy grfu G w grf G : φ 1 : v 1 v 1, v 2 v 4, v 3 v 3, v 4 v 2, v 5 v 7, v 6 v 6, v 7 v 5, v 8 v 8 φ 2 : v 1 v 4, v 2 v 1, v 3 v 3, v 4 v 7, v 5 v 2, v 6 v 6, v 7 v 8, v 8 v 5 φ 3 : v 1 v 5, v 2 v 8, v 3 v 6, v 4 v 2, v 5 v 7, v 6 v 3, v 7 v 1, v 8 v 4 φ 4 : v 1 v 8, v 2 v 5, v 3 v 6, v 4 v 7, v 5 v 2, v 6 v 3, v 7 v 4, v 8 v 1 Definicj 2.10. (podgrf) Grf G = (V, E, ll, L) jest podgrfem grfu G = (V, E, ll, L ), (G G ), gdy - V V - E E - x V E ll(x) = ll (x) - L L. Innymi słowy G jest grfem powstłym przez usunięcie z grfu G pewnej liczy wierzchołków lu krwędzi. Przykłdy podgrfów znjdują się n rysunku 2.3. Definicj 2.11. (ndgrf) Grf G jest ndgrfem grfu G, (G G ), gdy grf G jest podgrfem grfu G. Definicj 2.12. (rozszerzenie grfu) Grf G jest rozszerzeniem grfu G, gdy grf G jest ndgrfem grfu G i grf G powstł z grfu G z pomocą opercji zwnej rozszerzniem, której definicj zleży od kontekstu. 16
W przewżjącej części prcy opercj rozszerzni grfu G ozncz dodnie jednej krwędzi do grfu G. Definicj 2.13. (podgrf indukowny wierzchołkowo) Grf G = (V, E, ll, L) jest podgrfem indukownym wierzchołkowo grfu G = (V, E, ll, L ), gdy V V E = {{v 1, v 2 } v 1, v 2 V, {v 1, v 2 } E } x V E ll(x) = ll (x) L L. Innymi słowy, G jest grfem powstłym przez usunięcie z grfu G pewnej liczy wierzchołków orz wszystkich krwędzi zwierjących te wierzchołki. Przykłd podgrfu indukownego wierzchołkowo znjduje się n rysunku 2.3 ). Definicj 2.14. (podgrf indukowny krwędziowo) Grf G = (V, E, ll, L) jest podgrfem indukownym krwędziowo grfu G = (V, E, ll, L ), gdy E E V = {v V v {v, v } E} x V E ll(x) = ll (x) L L. Mówiąc nieformlnie, G jest grfem, którego ziór krwędzi jest podziorem zioru krwędzi grfu G, ntomist ziór wierzchołków stnowią wierzchołki nleżące do tych krwędzi. Przykłd podgrfu indukownego krwędziowo znjduje się n rysunku 2.3 ). Definicj 2.15. (skłdow spójn) Grf CG jest skłdową spójną grfu G, gdy CG jest grfem spójnym orz jest podgrfem grfu G orz nie istnieje grf spójny G 1 CG ędący podgrfem grfu G, który jest ndgrfem grfu CG. Definicj 2.16. (izomorfizm z podgrfem) Grf G jest izomorficzny z podgrfem grfu G (G G ), gdy istnieje tki podgrf grfu G, który jest izomorficzny z grfem G. Innymi słowy, grf G = (V, E, ll, L) jest izomorficzny z podgrfem grfu G = (V, E, ll, L ), gdy istnieje injekcj φ : V V tk, że: {v1,v 2 } E {φ(v 1 ), φ(v 2 )} E 17
v 1 v 2 v 3 v 4 v 5 v 2 v 3 v 4 v 2 v 3 v 4 v 1 v 1 v v 1 5 v 5 G' v 7 v 6 G' v 7 v 6 G' v 7 v 6 v 8 v 8 v 8 v 3 v 4 v 3 v 4 v 3 v 4 G v 5 G v 5 G v 5 v 6 ) ) c) v 6 v 6 Rysunek 2.3. Typy podgrfów. ) G jest podgrfem grfu G indukownym wierzchołkowo, ) G jest podgrfem grfu G indukownym krwędziowo, c) G jest podgrfem grfu G. Wierzchołki i krwędzie, które zostły wyrne do utworzeni podgrfu są pogruione. v V e E ll(v) = ll (φ(v)) ll(e) = ll (φ(e)). Injekcj φ jest nzywn izomorfizmem grfu G z podgrfem grfu G. Jeżeli injekcj nie istnieje, wtedy grf G nie jest izomorficzny z podgrfem grfu G. Definicj 2.17. (znurzenie) Jeżeli φ jest izomorfizmem grfu G z podgrfem grfu G, wtedy funkcję φ : V V nzywmy znurzeniem grfu G w grfie G. Izomorfizm z podgrfem definiuje relcję częściowego porządku w ziorze grfów. Przykłd 2.3. Widoczny n rysunku 2.4 grf G jest izomorficzny z podgrfem grfu G. N rysunku pokzno tylko jeden podgrf grfu G, z którym G jest izomorficzny. Znurzenie φ jest jednym z ośmiu różnych znurzeń grfu G w grfie G. Wszystkie znurzeni grfu G w grfie G są pokzne n rysunku 2.5. Definicj 2.18. (grf wspierjcy) Grf G jest grfem wspierjcym grf G, gdy grf G jest izomorficzny z podgrfem grfu G. Jeśli G jest grfem wspierjącym grf G, wtedy mówimy, że grf G wspier grf G. Definicj 2.19. (ziór wspierjcy grfu) W dnym ziorze grfów D ziorem wspierjcym grfu G (ozncznym przez G.supportingSet) jest ziór wszystkich grfów z D, które wspierją grf G. 18
v 1 v 2 v 3 Φ(v 1 )=v' 5 Φ(v 2 )=v' 3 v' 1 v' 2 v' 3 v' 7 v' 4 Φ(v 3 )=v' 2 v 4 v 5 Φ(v 4 )=v' 6 v' 5 v' 6 G Φ(v 5 )=v' 7 v' 8 G' Rysunek 2.4. Przykłd izomorfizmu z podgrfem. Grf G jest izomorficzny z pewnym podgrfem G. φ jest jednym z możliwych znurzeń grfu G w grfie G. Definicj 2.20. (wsprcie grfu) Niech D ędzie ziorem grfów. Wsprciem grfu G nzywmy liczę grfów G D, które wspierją grf G. Definicj 2.21. (grf częsty) Grf G jest częsty w ziorze D, jeśli jego wsprcie jest większe niż ądź równe progowi wsprci minsup. Definicj 2.22. (grf nieczęsty) Grf G jest nieczęsty w ziorze D, jeśli nie jest częsty. Poniższe pojęci deskryptor krwędzi (definicj 2.23) orz wielozioru deskryptorów krwędzi (definicj 2.24) zostły wprowdzone przez utor tej prcy n potrzey lgorytmu U GM. Poniewż są przydtne przy opisie tkże innych zgdnień zostły umieszczone już w tym rozdzile. Definicj 2.23. (deskryptor krwędzi) Deskryptorem krwędzi e = {v 1, v 2 } E jest pr ({ll(v 1 ), ll(v 2 )}, ll(e)). Definicj 2.24. (wieloziór deskryptorów krwędzi grfu) Wieloziorem deskryptorów krwędzi dnego grfu G (ozncznym przez ES(G)) jest wieloziór skłdjący się z deskryptorów wszystkich krwędzi grfu G. Włsność 2.1. Dw nieizomorficzne grfy mog mieć ten sm wieloziór deskryptorów krwędzi. Włsność 2.2. Jeśli grf G jest izomorficzny z podgrfem grfu G, wtedy ES(G) ES(G ). 19
Φ 1 : v 1 v' 3 v 2 v' 5 v' 1 v' 2 v' 3 v' 7 v' 4 v' 1 v' 2 v' 3 v' 7 v' 4 Φ 3 : v 3 v' 2 v 4 v' 6 Φ 2 : v 5 v' 7 v 1 v' 5 v 2 v' 3 v 3 v' 2 v 4 v' 7 v 5 v' 6 v' 5 v' 6 G' v' 8 v 3 v 2 v 1 G v 4 v 5 v' 5 G' v' 8 v' 6 Φ 4 : v 1 v' 7 v 2 v' 3 v 3 v' 4 v 4 v' 5 v 5 v' 6 v 1 v' 3 v 2 v' 7 v 3 v' 4 v 4 v' 6 v 5 v' 5 Φ 5 : v' 2 v' 3 v' 4 v' 2 v' 3 v' 4 v 1 v' 2 v 2 v' 6 v' 1 v' 7 v' 1 v' 7 Φ 7 : v 3 v' 5 v 4 v' 7 Φ 6 : v 5 v' 3 v 1 v' 6 v 2 v' 2 v 3 v' 5 v 4 v' 3 v 5 v' 7 v' 5 G' v' 8 v' 6 v' 5 v' 8 G' v' 6 Φ 8 : v 1 v' 7 v 2 v' 3 v 3 v' 4 v 4 v' 2 v 5 v' 6 v 1 v' 3 v 2 v' 7 v 3 v' 4 v 4 v' 6 v 5 v' 2 Rysunek 2.5. Wszystkie znurzeni grfu G w grfie G. Przykłd 2.4. N rysunku 2.6 są przedstwione cztery nieskierowne grfy z etykietmi. Wieloziory deskryptorów krwędzi tych grfów to odpowiednio: ES(G 1 ) = {({0, 0}, 4)({0, 0}, 4)({0, 1}, 4)({0, 1}, 4)({0, 1}, 4)({1, 1}, 5)({1, 1}, 5)} ES(G 2 ) = {({0, 0}, 4)({0, 0}, 4)({0, 0}, 4)({0, 1}, 4)({1, 1}, 5)({1, 1}, 5)} ES(G 3 ) = {({0, 0}, 4)({0, 0}, 4)({0, 0}, 4)({0, 1}, 4)({1, 1}, 5)({1, 1}, 5)} ES(G 4 ) = {({0, 0}, 4)({0, 0}, 4)({0, 1}, 4)({1, 1}, 5)} N przykłdzie tych grfów możn zoserwowć podne wcześniej włsności dotyczące ich wieloziorów deskryptorów krwędzi. ES(G 2 ) = ES(G 3 ), le grfy G 2 i G 3 nie są izomorficzne. G 4 G 2, ztem ES(G 4 ) ES(G 2 ). G 4 G 3, ztem ES(G 4 ) ES(G 3 ). ES(G 4 ) ES(G 1 ), le G 4 nie jest izomorficzny z podgrfem grfu G 1. Definicj 2.25. (wsprcie wierzchołk) Niech D ędzie ziorem grfów. Wsprciem wierzchołk v o etykiecie ll(v) nzywmy liczę 20
1 0 5 4 0 4 1 4 0 4 5 4 0 1 G 1 1 5 4 1 5 1 0 4 4 B 4 0 G 2 0 B 1 5 1 5 1 4 0 4 4 B 4 0 G 3 0 B B 1 5 1 4 0 4 4 0 G 4 0 Rysunek 2.6. Cztery nieskierowne grfy z etykietmi. grfów ze zioru D, które posidją wierzchołek o etykiecie ll(v). Innymi słowy, wsprcie wierzchołk v jest równe wsprciu grfu o jednym wierzchołku v. Definicj 2.26. (wsprcie krwędzi) Niech D ędzie ziorem grfów. Wsprciem krwędzi e o deskryptorze ({ll(v 1 ), ll(v 2 )}, ll(e)) nzywmy liczę grfów ze zioru D, których wieloziory deskryptorów krwędzi zwierją deskryptor krwędzi e. Innymi słowy, wsprcie krwędzi e jest równe wsprciu grfu o jednej krwędzi e. 2.2. Prolem odkrywni grfów częstych Odkrywnie grfów częstych w dnym ziorze D poleg n znlezieniu wszystkich nieizomorficznych grfów, których wsprcie w ziorze D jest równe co njmniej wrtości ustlonego progu wsprci minsup. Efektywne odkrywnie grfów częstych uzleżnione jest prktycznie od rozwiązni dwóch prolemów: generowni potencjlnych kndydtów n grfy częste orz wyznczni ich wsprci. W rozdzile 3 przedstwione zostną sposoy rozwiązni tych prolemów w znnych lgorytmch odkrywni grfów częstych. Poniżej jest podny dokłdniejszy opis tych prolemów i ogólne metody ich rozwiązni. 2.2.1. Generownie kndydtów Generownie kndydtów m z zdnie utworzyć ziór grfów, w którym znjdują się wszystkie grfy częste, le mogą znjdowć się też grfy nieczęste. Proces generowni tego zioru nie musi yć jednoetpowy i zwykle przeplt się z procesem wyznczni wsprci. Ay odkrywnie grfów częstych yło efektywne, ziór kndydtów powinien mieć dwie 21
n t n n t n 1 1 11 12005168 2 1 12 1018997864 3 2 13 165091172592 4 4 14 50502031367952 5 11 15 29054155657235488 6 34 16 31426485969804308768 7 156 17 64001015704527557894928 8 1044 18 245935864153532932683719776 9 12346 19 1787577725145611700547878190848 10 274668...... Tel 2.1. Licz kls równowżności t n ze względu n izomorfizm grfu w ziorze grfów nieskierownych o n wierzchołkch. włsności: licz grfów nieczęstych powinn yć jk njmniejsz orz licz dupliktów powinn yć jk njmniejsz. Uniknie wytwrzni nieczęstych grfów kndydujcych W przypdku odkrywni grfów licz potencjlnych kndydtów jest ogromn. Jeśli weźmiemy pod uwgę ziór wszystkich grfów o n wierzchołkch i tylko jednej etykiecie, wtedy liczność tego zioru wynosi 2 (n 2), licz grfów nieizomorficznych w tym ziorze wynosi t n, gdzie t n jest n-tym wyrzem ciągu Slone A000088 1, którego pierwsze wyrzy są podne w teli 2.1. Przy większej liczie etykiet ziór grfów ędzie jeszcze liczniejszy. Generownie kżdego możliwego grfu yłoy nieefektywne. Wszystkie znne metody unikją generowni wszystkich możliwych grfów przez zstosownie włsności, że kżdy podgrf grfu częstego też jest częsty, czyli grfy częste mogą powstć poprzez dodwnie wierzchołków i krwędzi wyłącznie do grfów częstych. Sposó tworzeni kndydtów n podstwie odkrytych wcześniej grfów częstych zleży od lgorytmu. Wszystkie znne lgorytmy zczynją generownie kndydtów od grfu ez wierzchołków (to znczy sprwdzjąc, czy D minsup), y nstępnie, jeśli jest on częsty, rozszerzyć go w jkiś sposó (njczęściej o jedną krwędź) tworząc ziór grfów kndydujących [13, 17, 25, 37, 1 Slone A000088, http://www.reserch.tt.com/ njs/sequences/a000088 22
39, 41, 47, 60, 72, 76]. Dl grfów kndydujących wyznczne jest ich wsprcie i n podstwie tych kndydtów, którzy okzli się grfmi częstymi, tworzy się kolejne grfy kndydujące. W ten sposó powstje drzewo przeszukiwń grfów o korzeniu ędącym grfem ez wierzchołków, którego kżdy węzeł jest grfem częstym. Uniknie wytwrzni grfów nieczęstych poleg przede wszystkim n generowniu kndydtów n podstwie innych grfów częstych, le różne lgorytmy proponują dodtkowe mechnizmy służące temu celowi. W zproponownym w tej prcy lgorytmie U GM zstosowne są trzy nowe metody, które zmniejszją liczę wygenerownych kndydtów nieczęstych. Uniknie wytwrzni dupliktów Złóżmy, że chcemy wygenerowć wszystkie nieizomorficzne grfy z jedną etykietą o n wierzchołkch. Z teli 2.1 wynik, że licz nieizomorficznych grfów o pięciu wierzchołkch wynosi 34. Nie istnieje jednk prost metod n ezpośrednie generownie nieizomorficznych grfów. Pomiędzy kżdą prą wierzchołków może istnieć krwędź lu nie. Przy n wierzchołkch istnieje ( n 2) pr wierzchołków, ztem licz grfów uzysknych w ten sposó wynosi 2 (n 2). Ziór grfów o pięciu wierzchołkch m ztem liczność 1024, licz nieizomorficznych grfów w tym ziorze to tylko 34. Licz dupliktów jest więc ogromn, stosunek wszystkich grfów o n wierzchołkch do liczy nieizomorficznych grfów o n wierzchołkch dąży w grnicy do nieskończoności. Prolem jest znczący tkże w przypdku generowni kndydtów w sposó opisny powyżej, czyli przez rozszerzenie innego grfu częstego. N rysunku 2.7 pokzne jest rozszerznie grfu poprzez dodnie jednej krwędzi. Aż trzy z czterech nowo powstłych grfów są izomorficzne. Generownie kndydtów wymg więc elimincji lu unikni tworzeni dupliktów. Jeszcze trudniejszy przykłd jest przedstwiony n rysunku 2.8. Ten sm grf może powstć w różnych miejscch drzew przeszukiwń. Wykrywnie lu uniknie wytwrzni dupliktów nie jest prolemem loklnym, dotyczącym tylko grfów powstłych z dnego grfu. Jest ono prolemem glolnym - uzyskny grf kndydujący może yć izomorficzny z grfem, który powstł n zupełnie innej ścieżce drzew przeszukiwń. Istnieją dw podejści do wykrywni dupliktów. Pierwsze poleg n przechowywniu wszystkich wygenerownych grfów, zrówno częstych jk i nieczęstych, orz wyszukiwniu wśród nich nowo wygenerownych grfów z pomocą testów n izomorfizm grfów. Ay uniknąć konieczności wykonywni testów n izomorfizm grfów z wszystkich przechowywnymi grfmi, stosuje się struktury indeksujące grfy, n przykłd tlice 23
v 1 v 2 v 3 v 4 v 1 v 1 v 1 v 4 v 1 v 2 v 3 v 2 v 3 v 2 v 3 v 5 v 2 v 3 v 4 v 4 Rysunek 2.7. Przykłd powstwni dupliktów przy tworzeniu kndydtów. Trzy z czterech grfów wygenerownych z górnego grfu są ze soą izomorficzne. Rysunek 2.8. Przykłd powstwni dupliktów w różnych głęzich drzew przeszukiwń. 24
mieszjące z kluczem ędącym ziorem deskryptorów krwędzi grfu. Drugie podejście jest związne z tk zwną etykietą knoniczną grfu. Etykiet knoniczn grfu G jest oiektem jednozncznie opisującym klsę równowżności ze względu n izomorfizm, do której nleży grf G. Grfy izomorficzne mją tę smą etykietę knoniczną, grfy nieizomorficzne mją różne etykiety knoniczne. Dodtkowo etykiety knoniczne mją zdefiniowną relcję linowego porządku. Istnieją dw podejści do wykrywni dupliktów z zstosowniem etykiet knonicznych. Pierwsze poleg n przechowywniu uporządkownego zioru etykiet knonicznych wszystkich wygenerownych grfów nieizomorficznych i sprwdzniu czy ten ziór zwier etykietę knoniczną nowo utworzonego grfu. Jeśli zwier, wtedy utworzony grf jest dupliktem. Jeśli nie zwier, wtedy utworzony grf nie jest dupliktem, jego etykiet knoniczn jest dodwn do zioru. W drugim podejściu do wykrywni dupliktów nie jest potrzene przechowywnie zioru wszystkich etykiet knonicznych, gdyż kndydci są generowni w tki sposó, y unikć tworzeni dupliktów. Etykiet knoniczn jest zwykle zdefiniown jko minimlny kod spośród wszystkich kodów opisujących sposó powstwni grfu. W tym podejściu do wykrywni dupliktów, lgorytm odkrywni grfów częstych musi gwrntowć, że kżdy grf częsty o kodzie minimlnym zostnie skonstruowny. Jeśli ztem podczs generowni grfu kndydującego okże się, że jego kod nie jest minimlny, wtedy grf ten możn odrzucić, gdyż lo zostł on już rozptrzony lo ędzie rozptrzony później. Etykiety knoniczne mogą yć definiowne n wiele sposoów. Konkretne przykłdy definiowni etykiet knonicznych są podne w rozdzile 3 przy opisie istniejących lgorytmów odkrywjących grfy częste. Etykiety knoniczne są stosowne w większości lgorytmów odkrywni grfów częstych. Ntomist wykorzystnie repozytorium grfów zmist etykiet knonicznych nie zostło dogłęnie zdne. W [10] Borgelt zproponowł modyfikcję lgorytmu M of [13], wykorzystującą repozytorium rozptrzonych grfów kndydujących zmist etykiet knonicznych, i wykzł, że tkie podejście może yć w niektórych przypdkch szysze. 2.2.2. Wyzncznie wsprci Generlnie istnieją dwie metody wyznczni wsprci dnego grfu G: wykonywnie ezpośrednich testów n izomorfizm grfu G z podgrfmi grfów z wejściowej zy grfów D orz utrzymywnie listy znurzeń. 25
Testy n izomorfizm z podgrfem W njprostszej postci wyznczenie wsprci grfu G poleg n wykonniu testu n izomorfizm G z podgrfem kżdego grfu ze zioru D. Licz pozytywnych wyników ędzie poszukiwnym wsprciem. Oczywistą optymlizcją jest wykorzystnie włsności monotoniczności wsprci, mówiącą o tym, że grf nie może mieć wsprci większego niż wsprcie jego podgrfów. Ztem wyznczenie wsprci dnego grfu G wystrczy ogrniczyć do zioru wspierjącego grf, z którego grf G zostł skonstruowny, lu przecięci ziorów wspierjących grfów, z których grf G zostł skonstruwny. W rozdzile 4.1.4 przedstwim propozycję nowej optymlizcji polegjącej n przerywniu wyznczni wsprci dl grfów nieczęstych. Test n izomorfizm z podgrfem jest wykonywny niezleżnie dl kżdej pry (grf kndydujący, grf potencjlnie wspierjący), ztem nie jest wymgjący pmięciowo. Może yć jednk czsochłonny, gdyż prolem izomorfizmu z podgrfem jest NP-zupełny [30]. Utrzymywnie listy znurzeń Zgodnie z definicją 2.16 znurzenie grfu G w grfie G jest funkcją przyporządkowującą wierzchołki grfu G wierzchołkom pewnego izomorficznego z nim podgrfu grfu G. Jeśli grf G nie posid znurzeń w grfie G, wtedy nie jest przez niego wspierny. Jeśli posid przynjmniej jedno znurzenie, wtedy jest wspierny. Szuknie wszystkich znurzeń dnego grfu G w grfie G jest uogólnieniem testu n izomorfizm grfu G z podgrfem grfu G i jest też rdziej czsochłonne, gdyż test n izomorfizm z podgrfem może yć relizowny jko poszukiwnie tylko jednego, pierwszego znurzeni. Przewgą znurzeń jest jednk fkt, że w przypdku grfów tworzonych jko rozszerzeni dnego grfu G, proste uktulnienie znurzeń grfu G pozwl n uzysknie wszystkich znurzeń jego rozszerzeń. Przykłd uzyskiwni znurzeń rozszerzeni jest przedstwiony n rysunku 2.9. Grf G posid dokłdnie dw znurzeni w grfie G - φ 1 orz φ 2. Grf G 1 powstje z grfu G poprzez dodnie nowego wierzchołk wrz z krwędzią łączącą go z istniejącym wierzchołkiem. W znurzeniu φ 1 możliwe jest dodnie nowej krwędzi do wierzchołk, co w efekcie utworzy znurzenie φ 1 1. W znurzeniu φ 2 nie jest możliwe dodnie krwędzi do wierzchołk, gdyż wszystkie krwędzie zwierjące wierzchołek nleżą już do znurzeni. Grf G 1 posid ztem tylko jedno znurzenie φ 1 1 w grfie G. Ztem G 1 jest wspierny przez grf G. Utrzymywnie listy znurzeń jest kosztowne pmięciowo. W czsie wyznczni wsprci i generowni kndydtów z dnego grfu G potrzen jest list wszystkich znurzeń 26
BG' D C v' 1 v' 7 B v 1 C v 2 v 3 v' 1 c v 4 G v' 7 D C Φ 1 : v 1 v' 6 v B 2 v' 5 v 3 v' 4 v 4 v' 7 B D C v' 1 v' 7 Φ 2 : v 1 v' 1 v B 2 v' D 3 v 3 v' 4 v 4 v' 2 v' 2 v' 6 v' 5 c v' 4 v' 3 c v' 2 v' 6 v' 5 c v' 4 v' 3 c v' 2 v' v' 6 5 v' 4 c c v v 5 v' 1 Φ 1 1 : v 1 v' 6 v D 1 v 2 v 3 v' c 7 v 2 v' 5 D C v v G 1 3 v' 4 4 v' v 4 v' 7 v' 6 v' 4 5 v c 5 v' v' 2 2 v' 3 c Rysunek 2.9. Aktulizcj znurzeń. φ 1 i φ 2 są znurzenimi grfu G w grfie G. Grf G 1 powstł z grfu G przez dodnie krwędzi. Tylko znurzenie φ 1 pozwl n tkie rozszerzenie. grfu G we wszystkich wspierjących go grfch. Z tego względu znurzeni stosuje się prktycznie tylko w przypdku lgorytmów przeszukiwni w głą, dzięki czemu w kżdej chwili wystrczy przechowywć znurzeni tylko jednego grfu. Uktulninie znurzeń jest stosunkowo szykie i zleży liniowo od liczy znurzeń. Dodtkową zletą znurzeń jest możliwość ich wykorzystni przy tworzeniu grfów kndydujących. Generownie kndydtów z grfu G nie poleg wtedy n wykonywniu wszystkich możliwych rozszerzeń grfu G, le wykonniu wszystkich możliwych rozszerzeń jego znurzeń, co gwrntuje, że uzyskni kndydci ędą mieli niepuste ziory wspierjące. Utrzymywnie listy znurzeń trci część swoich zlet w przypdku odkrywni grfów niespójnych ze względu n znczny wzrost liczy znurzeń, tym smym wzrost zjętości pmięci orz wzrost złożoności ktulizcji znurzeń w przypdku rozszerzni grfu o nową skłdową spójną.
3. Znne lgorytmy odkrywni częstych grfów W tym rozdzile omówione są w pierwszej kolejności lgorytmy pochodzące z pltformy PrMol [55], czyli gspn, F F SM, gston i MoF. N końcu rozdziłu zostną podne i krótko opisne pozostłe wżne lgorytmy odkrywni częstych grfów. 3.1. gspn Algorytm gspn [76] (grph-sed Sustructure pttern mining) odkryw spójne grfy częste poprzez rekurencyjne rozszerznie grfów częstych, zczynjąc od częstych grfów o jednym wierzchołku. Wykrywnie i uniknie tworzeni dupliktów w drzewie przeszukiwń jest zpewnione przez specjlny rodzj etykiety knonicznej grfu - kod DFS. 3.1.1. Kod DFS Kod DFS grfu G jest ściśle związny z pojęciem drzew rozpinjcego w gł grfu G. Drzewem rozpinjącym grfu G nzywmy drzewo, które zwier wszystkie wierzchołki grfu G, jego krwędzie nleżą do podzioru krwędzi grfu G. Drzewo rozpinjące w głą jest drzewem rozpinjącym, które powstje podczs przeszukiwni w głą dnego grfu. W zleżności od kolejności wyoru wierzchołków przy przeszukiwniu w głą może istnieć wiele drzew rozpinjących w głą. Drzewo rozpinjące w głą T może posłużyć do numerowni wierzchołków grfu G, w tki sposó, że wierzchołek od którego rozpoczęto przeszukiwnie w głą m numer 0, kżdy kolejny nowy wierzchołek m numer o jeden większy. W nlogiczny sposó możliwe jest ponumerownie krwędzi. Numer wierzchołk v grfu G przy dnym drzewie rozpinjącym w głą T ędziemy oznczć przez t T (v), numer krwędzi e grfu G przy dnym drzewie rozpinjącym w głą T ędziemy oznczć przez t T (e). Rysunek 3.1 przedstwi różne drzew rozpinjące w głą grfu G. Rysunki 3.1 od ) do h) przedstwiją wszystkie drzew rozpinjące, które powstły przez przeszukiwnie w głą rozpoczęte od wierzchołk v 0. Rysunki 3.1 od i) do l) przedstwiją po jednym przykłdzie drzew rozpinjących, które powstły przez przeszukiwnie w głą 28
d c Z Z G d c Z Z 0 d c Z Z d c Z Z d c Z Z d c Z Z d c Z Z d c Z Z d c Z Z d c Z Z d c Z Z d c Z Z............ ) c) d) e) f) g) h) l) k) j) i) ) v 2 v 1 v 4 v 3 v 0 1 2 3 4 0 1 4 3 2 0 1 3 4 2 0 1 3 2 4 2 1 3 4 0 0 3 1 2 4 0 2 1 3 4 0 2 1 4 3 1 0 2 3 4 1 2 0 3 4 3 2 1 0 4 Rysunek 3.1. Drzew rozpinjące w głą grfu G. rozpoczęte od pozostłych wierzchołków. Licz w rmce umieszczon przy wierzchołku ozncz numer t T tego wierzchołk. Definicj 3.1. (kod DFS) Kod DFS grfu G (oznczny przez DF SCode T (G)) przy dnym drzewie rozpinjącym w głą T jest ciągiem uporządkownych według numeru t T krwędzi grfu G, przy czym krwędź e = {v i, v j }, t T (v i ) < t T (v j ) grfu G jest reprezentown w kodzie jko piątk: (t T (v i ), t T (v j ), ll(v i ), ll(e), ll(v j )), jeśli krwędź e nleży do drzew T (t T (v j ), t T (v i ), ll(v j ), ll(e), ll(v i )), w przeciwnym przypdku Przykłd 3.1. Prześledźmy tworzenie przykłdowego kodu DFS grfu G z rysunku 3.1 ). Tworzenie kodu DFS wykonuje się równocześnie z poszukiwniem drzew rozpinjącego w głą. Prześledźmy przypdek drzew z rysunku 3.1 ). Algorytm przeszukiwni rozpoczyn się od wierzchołk v 0 i przechodzi krwędzią do wierzchołk v 2. Są to pierwsze odkryte wierzchołki orz pierwsz odkryt krwędź, ztem t T (v 0 ) = 0, t T (v 2 ) = 1, t T ({v 0, v 1 }) = 0. T krwędź m opis (0, 1,,, ). Z wierzchołk v 2 nstępuje przejście do wierzchołk v 1 o numerze t T (v 1 ) = 2 krwędzią (1, 2,,, ) o numerze 1. Z wierzchołk v 1 możn przejść do v 0, le ten wierzchołek ył już odwiedzony, więc krwędź łącząc v 1 z v 0 nie nleży do drzew rozpinjącego, stąd opis tej krwędzi to (2, 0,,, ). Kolejn nieodwiedzon krwędź wychodząc z v 1 prowdzi do v 4. Wierzchołek v 4 nie ył jeszcze odwiedzny ztem t T (v 4 ) = 3. Krwędź łącząc v 1 z v 4 m opis (2, 3,, c, Z). Z wierzchołk v 4 do wierzchołk v 2 nie przechodzimy, gdyż v 2 ył już odwiedzony, ztem 29
rys. 3.1 rys. 3.1c rys. 3.1d rys. 3.1i rys. 3.1j rys. 3.1k rys. 3.1l (0,1,,,) (0,1,,,) (0,1,,,) (0,1,,,) (0,1,,,) (0,1,Z,c,) (0,1,Z,d,) (1,2,,,) (1,2,,d,Z) (1,2,,d,Z) (1,2,,,) (1,2,,,) (1,2,,,) (1,2,,,) (2,0,,,) (1,3,,,) (1,3,,,Z) (2,0,,,) (2,0,,,) (2,0,,,Z) (2,3,,,) (2,3,,c,Z) (3,0,,,) (3,4,Z,c,) (2,3,,c,Z) (2,3,,,Z) (2,3,,,) (3,1,,,) (3,1,Z,,) (3,4,,c,Z) (4,0,,,) (3,0,Z,,) (3,0,Z,c,) (3,1,,,) (3,4,,c,Z) (1,4,,d,Z) (4,1,Z,,) (4,1,,,) (0,4,,d,Z) (2,4,,d,Z) (2,4,,d,Z) (4,1,Z,,) Tel 3.1. Kody DFS grfu G z rysunku 3.1 dl drzew rozpinjących z rysunków 3.1 )-3.1 l) krwędź łącząc te wierzchołki m opis (3, 1, Z,, ). Nie m innych nieodwiedzonych krwędzi wychodzących z wierzchołk v 4, więc nstępuje powrót powrót do wierzchołk v 1. Nie m nieodwiedzonych krwędzi z v 1, więc nstępuje powrót do v 2. Z wierzchołk v 2 możn przejść do nieodwiedzonego jeszcze wierzchołk v 3. Krwędź łącząc te wierzchołki m opis (1, 4,, d, Z). Nie m innych nieodwiedzonych krwędzi z v 3, więc nstępuje powrót do wierzchołk v 2, nstępnie powrót do wierzchołk v 0 i przeszukiwnie w głą się kończy. Kod DFS dl grfu G jest ciągiem kolejno odkrywnych krwędzi: DF SCode T (G) = ((0, 1,,, ), (1, 2,,, ), (2, 0,,, ), (2, 3,, c, Z), (3, 1, Z,, ), (1, 4,, d, Z)) 3.1.2. Relcj porzdkuj c w ziorze kodów DFS i minimlny kod DFS Ziór kodów DFS możn uporządkowć stosując klsyczny porządek leksykogrficzny dl ciągów, to znczy ( 1, 2,..., n ) < ( 1, 2,..., m ) wtedy i tylko wtedy, gdy istnieje k min(n, m) tkie, że i<k i = i k < k. W przypdku kodów DFS elementy ciągów ( n ) orz ( n ) są piątkmi (t T (v i ), t T (v j ), ll(v i ), ll(e), ll(v j )), ztem konieczne jest ustlenie relcji porządkującej piątki, co również możn osiągnąć stosując porządek leksykogrficzny: ( 1, 2,..., 5 ) < ( 1, 2,..., 5 ) wtedy i tylko wtedy, gdy istnieje k 5 tkie, że i<k i = i k < k. Stosując ten porządek dl kodów z teli 3.1 uzyskujemy nstępującą kolejność: njmniejszym kodem DFS jest kod z rysunku 3.1 j), nstępnym w kolejności jest kod z rysunku 3.1 ), potem kolejno z rysunków 3.1 c), 3.1 d), 3.1 i), 3.1 k) i 3.1 l). 30
Definicj 3.2. (minimlny kod DFS) Minimlnym kodem DFS grfu G, ozncznym przez min(g), nzywmy njmniejszy (według podnej wyżej relcji porządkującej) spośród wszystkich kodów DFS grfu G. Minimlny kod DFS m włsność etykiety knonicznej grfu. Ozncz to, że dw izomorficzne grfy mją ten sm minimlny kod DFS, dw nieizomorficzne grfy mją różne minimlne kody DFS, orz istnieje relcj porządkując wśród minimlnych kodów DFS. 3.1.3. Drzewo kodów DFS Definicj 3.3. (rozszerzenie kodu DFS) Rozszerzeniem dnego kodu DF SCode T (G) = ( 0, 1,... m ) nzywmy kżdy ciąg w postci ( 0, 1,... m, ). Rozszerzenie kodu DF SCode T (G) nzywmy poprwnym, jeżeli jest ono kodem DFS grfu G rozszerzonego o jedną krwędź. Jeżeli kod DFS α reprezentuje grf G, wtedy poprwne rozszerzenie kodu α reprezentuje rozszerzenie grfu G o jedną krwędź. Autorzy lgorytmu gspn dowodzą, że y rozszerzenie kodu yło poprwne, grf G musi yć rozszerzny w określony sposó: krwędź może yć dodwn jedynie do wierzchołków z prwej ścieżki drzew rozpinjącego grfu, to znczy do njkrótszej ścieżki łączącej wierzchołek o numerze t T równym 0, wierzchołkiem o njwiększym numerze t T. Licz rozszerzeń kodu DFS dnego grfu G jest ztem mniejsz niż licz rozszerzeń grfu G (przy rozszerzniu o jedną krwędź). Dny kod DFS może mieć wiele rozszerzeń, ztem wszystkie kody tworzą drzewo. Algorytm gspn odkryw częste grfy przez przeszukiwnie w głą drzew kodów DFS. Przeszukiwnie drzew kończy się w węzłch o nieminimlnych kodch orz w węzłch nieczęstych. 3.1.4. Algorytm gspn Wykonnie lgorytmu gspn (lgorytm 3.1) rozpoczyn się od wyznczeni wsprci pojedynczych wierzchołków orz pojedynczych krwędzi. Wierzchołki i krwędzie są nstępnie sortowne według nierosnącego wsprci. Te, których wsprcie jest poniżej progu minsup, są usuwne z grfów zioru D. Wierzchołki i krwędzie są potem przeetykietowywne w tki sposó, y porządek wyznczny z relcji etykiet odpowidł porządkowi nierosnącego wsprci. Nstępnie odkrywne są grfy częste skłdjące się z jednej krwędzi. Grfy te zostją umieszczone w ziorze F 1 orz w ziorze wynikowym 31
R. Dl kżdego tkiego grfu wyznczny jest jego ziór wspierjący G.supportingSet orz minimlny kod DFS G.code, który w tym przypdku ędzie jednym z dwóch możliwych, gdyż kżdy grf m tylko dw wierzchołki. Ziór F 1 jest sortowny ze względu n pole G.code. Nstępnie ze zioru F 1 poierne są kolejne grfy. Dl kżdego grfu G F 1 wywoływn jest procedur gspnsugrphm ining, któr odkryw wszystkie grfy częste, które mogą powstć przez rozszerznie kodu DFS grfu G. Wynik procedury jest dodwny do R. Nstępnie z kżdego grfu zioru D zostją usunięte krwędzie, których deskryptor jest identyczny z deskryptorem jedynej krwędzi grfu G. Usunięcie tych krwędzi nie zmieni wyniku odkrywni grfów częstych, gdyż wszystkie grfy częste zwierjące krwędzie o tym deskryptorze już zostły znlezione. Po usunięciu krwędzi, niektóre grfy mogą mieć puste ziory wierzchołków i nleży je usunąć ze zioru D. Jeśli liczność zioru D stnie się mniejsz niż minsup dlsze odkrywnie grfów jest przerywne. Procedur gspnsugrphm ining(g, minsup) odkryw wszystkie częste grfy, które powstją z rozszerznie kodu DFS grfu G. N początku sprwdzne jest czy kod DFS G.code jest minimlny. Jeśli kod nie jest minimlny procedur się kończy, gdyż nieminimlny kod ozncz, że grf izomorficzny z G już powstł w innej głęzi drzew przeszukiwń przestrzeni grfów. W przypdku kodu minimlnego, grf G jest dodwny do zioru grfów częstych orz wywoływn jest procedur gspnchildren(g), któr zwrc grfy o kodch ędących rozszerzenimi kodu DFS grfu G. Dl kżdego częstego grfu G c z tk uzysknego zioru wywoływn jest rekurencyjnie procedur gspnsugrphmining(g, minsup). Procedur gspnchildren(g) zwrc wszystkie grfy, które mogą powstć z grfu G poprzez dodnie jednej krwędzi do prwej ścieżki drzew rozpinjącego w głą, gdyż tylko tkie grfy mją kod DFS ędący rozszerzeniem kodu DFS grfu G. Dl kżdego grfu G, ze zioru wspierjącego grf G, czyli G.supportingSet, generowne są rozszerzeni grfu G ędące grfmi izomorficznymi z podgrfem grfu G. Autorzy wskzują, że do tego celu może posłużyć dowolny lgorytm izomorfizmu z podgrfem, le smi proponują włsny lgorytm wyszukujący wszystkie znurzeni grfu G w grfie G. Zproponowny lgorytm dził w sposó nstępujący: n początku znjdowne są wszystkie znurzeni pierwszej krwędzi kodu G.code. Nstępnie znurzeni rozszerzne są, jeśli to możliwe, o kolejną krwędź z kodu G.code i tk dlej, ż zostną dodne wszystkie krwędzie kodu G.code. W ten sposó znlezione zostją wszystkie znurzeni grfu G. Znurzeni są nstępnie rozszerzne o jedną krwędź, le tylko w wierzchołkch znjdujących się n prwej ścieżce drzew rozpinjącego 32