Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
KiadtaPetra Magyarné Megváltozta több, mint 10 éve
1
Adatbányászat: Asszociációs szabályok Haladó fogalmak és algoritmusok
7. fejezet Tan, Steinbach, Kumar Bevezetés az adatbányászatba előadás-fóliák fordította Ispány Márton © Tan,Steinbach, Kumar Bevezetés az adatbányászatba Fordító: Ispány Márton
2
Logók és támogatás A tananyag a TÁMOP /1/A számú Kelet-magyarországi Informatika Tananyag Tárház projekt keretében készült. A tananyagfejlesztés az Európai Unió támogatásával és az Európai Szociális Alap társfinanszírozásával valósult meg.
3
Folytonos és kategorikus attributumok
Hogyan alkalmazhatjuk az asszociációs elemzést nem aszimmetrikus bináris változókra? Példa asszociációs szabályra: {Lapok száma [5,10) (Böngésző=Mozilla)} {Vétel = Nem}
4
Kategorikus attributumok kezelése
Alakítsuk át a kategorikus attributumot aszimmetrikus bináris változókká. Vezessünk be egy új ,,tételt” minden egyes különböző attributum-érték párra. Példa: helyettesítsük a Böngésző attributumot az alábbiakkal Böngésző = Internet Explorer Böngésző = Mozilla
5
Kategorikus attributumok kezelése
Lehetséges szempontok Mi van akkor, ha az attributumnak sok lehetséges értéke van? Példa: az országnak több, mint 200 lehetséges értéke van Az attributum értékek többségének nagyon kicsi lehet a támogatottsága Lehetséges megoldás: vonjuk össze a kis támogatottságú értékeket Mi van akkor, ha az attributum értékek eloszlása erősen ferde? Példa: a látogatók 95%-nál a Vétel = Nem A tételek többségét a (Vétel=Nem) tételhez fogjuk asszociálni. Lehetséges megoldás: dobjuk el a nagy gyakoriságú tételeket
6
Folytonos attributumok kezelése
Különböző fajta szabályok: Kor[21,35) Fizetés[70E,120E) Vétel Fizetés[70E,120E) Vétel Kor: =28, =4 Különböző módszerek: Diszkretizáció alapú Statisztika alapú Nem diszkretizáció alapú minApriori
7
Folytonos attributumok kezelése
Diszkretizáljunk Nem-felügyelt módon: Egyenlő szélességű Egyenlő mélységű Klaszterezés Felügyelt módon: Attributum értékek, v Osztály v1 v2 v3 v4 v5 v6 v7 v8 v9 Rendellenes 20 10 Normális 15 0 100 150 bin1 bin2 bin3
8
Diszkretizációval kapcsolatos kérdések
A diszkretizált intervallumok mérete hatással van a támogatottságra és a megbízhatóságra. Ha az intervallum túl kicsi lehet, hogy nem elegendő a támogatottság Ha az intervallum túl nagy lehet, hogy nem elegendő a megbízhatóság Lehetséges megoldás: használjuk az összes lehetséges intervallumot. {Visszafizetés = Nem, (Jövedelem = $51,250)} {Csalás = Nem} {Visszafizetés = Nem, (60K Jövedelem 80K)} {Csalás = Nem} {Visszafizetés = Nem, (0K Jövedelem 1B)} {Csalás = Nem}
9
Diszkretizációval kapcsolatos kérdések
Végrehajtási idő Ha az intervallumok n értéket tartalmaznak, akkor átlagosan O(n2) számú elrendezés van. Túl sok szabály {Visszafizetés = Nem, (Jövedelem = $51,250)} {Csalás = Nem} {Visszafizetés = Nem, (51K Jövedelem 52K)} {Csalás = Nem} {Visszafizetés = Nem, (50K Jövedelem 60K)} {Csalás = Nem}
10
Srikant & Agrawal megközelítése
Dolgozzuk fel előzetesen az adatokat. Diszkretizáljuk az attributumot egyenlő mélységű particionálást használva. A particiók meghatározására használjunk részleges teljességi mérőszámot. Vonjuk össze a szomszédos intervallumokat amíg a támogatottság kisebb, mint egy max-support küszöb. Alkamazzunk létező asszociációs szabály bányászati algoritmusokat. Határozzuk meg az érdekes szabályokat az outputban.
11
Srikant & Agrawal megközelítése
A diszkretizáció során információt vesztünk Használjunk részleges teljességi mérőszámot annak meghatározására, hogy mennyi információt vesztünk. C: az összes attributum érték elrendezése mellett kapott gyakori tételcsoportok P: a particiók elrendezése mellett kapott gyakori tételcsoportok P K-teljes C-re nézve ha P C és X C, X’ P úgy, hogy: 1. X’ általánosítása X-nek és s(X’) K s(X) (K 1) Y X, Y’ X’ úgy, hogy s(Y’) K s(Y) Adott K (részleges teljességi szint) mellett meghatározhatjuk az intervallumok (N) számát. közelítő X X
12
Érdekességi mértékek {Visszafizetés = Nem, (Jövedelem = $51,250)} {Csalás = Nem} {Visszafizetés = Nem, (51K Jövedelem 52K)} {Csalás = Nem} {Visszafizetés = Nem, (50K Jövedelem 60K)} {Csalás = Nem} Adott Z = {z1, z2, …, zk} tételcsoport és Z’ = {z1’, z2’, …, zk’} általánosítása P(Z): Z támogatottsága EZ’(Z): Z-nek Z’-n alapuló várt támogatottsága Z R-érdekes Z’-re nézve ha P(Z) R EZ’(Z)
13
Érdekességi mértékek Egy S: X Y és annak S’: X’ Y’ általánosítására P(Y|X): X Y megbízhatósága P(Y’|X’): X’ Y’ megbízhatósága ES’(Y|X): Z-nek Z’-n alapuló várt támogatottsága Az S szabály R-érdekes az S’ ős-szabályra nézve Támogatottság: P(S) R ES’(S) vagy Megbízhatóság: P(Y|X) R ES’(Y|X)
14
Statisztika alapú módszerek
Példa: Böngésző=Mozilla Vétel=Igen Kor: =23 A szabály következménye egy statisztikáival jellemzett folytonos változóból áll: átlag, medián, szórás stb. Megközelítés: Töröljük (ideiglenesen) a célváltozót a megmaradó adatokból. Alkalmazzunk létező gyakori tételcsoport generálást a fennmaradó adatokon. Számoljuk ki minden gyakori tételcsoportra a megfelelő célváltozó leíró statisztikáit. A gyakori tételcsoport szabály lesz ha a célváltozót a szabály következményének választjuk. Alkalmazzunk statisztikai próbát a szabály érdekességének meghatározására.
15
Statisztika alapú módszerek
Hogyan határozhatjuk meg egy asszociációs szabály érdekességét? Hasonlítsuk össze a szabály által lefedett populáció statisztikáit a szabály által nem lefedettekéivel: A B: szemben A B: ’ Statisztikai hipotézis vizsgálat: Null hipotézis: H0: ’ = + Alternatív hipotézis: H1: ’ > + Z várható értéke 0 szórása 1 a null hipotézis mellett
16
Statisztika alapú módszerek
Példa: r: Böngésző=Mozilla Vétel=Igen Kor: =23 A szabály érdekes ha a and ’ közötti különbség nagyobb mint 5 év (azaz = 5) Tegyük fel, hogy r-re n1 = 50, s1 = 3.5 Tegyük fel, hogy r’-re (komplementer): n2 = 250, s2 = 6.5 Egyoldali próbánál 95% megbízhatósági szinten a Z kritikus érték, hogy elvetjük a null hipotézist, 1.64. Mivel Z nagyobb mint 1.64, r érdekes szabály.
17
Min-Apriori (Han és társai)
Dokumentum-szó mátrix: Példa: W1 és W2 hajlamos rá, hogy ugyanazokban a dokumentumokban jelenjen meg
18
Min-Apriori Az adatok kizárólag ugyanolyan típusú folytonos attributumokat tartalmaznak. Pl. a szavak gyakorisága egy dokumentumban Lehetséges megoldás: Alakítsuk át 0/1 mátrixá és ezután alkalmazzunk létező algoritmusokat. szó-gyakorisági információk elvesztése Nem alkalmazható a diszkretizálás amint a felhasználók szavak közötti és nem szó-csoportok közötti asszociációt szeretnének.
19
Min-Apriori Hogyan határozzuk meg egy szó támogatottságát?
Ha csak egyszerűen összeadjuk a gyakoriságokat, akkor a támogatottság nagyobb lesz a dokumentumok teljes számánál! Normalizáljuk a szó vektorokat – pl. használjunk L1 normát Minden szónak 1.0-gyel egyenlő támogatottsága lesz Normali-záljunk
20
Min-Apriori A támogatottság új definíciója: Példa: sup(W1,W2,W3)
= = 0.17
21
A támogatottság anti-monoton tulajdonsága
Példa: sup(W1) = = 1 sup(W1, W2) = = 0.9 sup(W1, W2, W3) = = 0.17
22
Többszintű asszociációs szabályok
23
Többszintű asszociációs szabályok
Miért kell fogalom hierarchiát bevezetni? Az alacsonyabb szinten lévő szabályoknak lehet, hogy nem elég nagy a támogatottsága ahhoz, hogy egy gyakori tételcsoportban megjelenjenek. Az alacsonyabb szinten lévő szabályok túlságosan speciálisak pl. lefölözött tej fehér kenyér, 2% tej búza kenyér, lefölözött tej búza kenyér, stb. a tej és kenyér közötti kapcsolatra utalnak
24
Többszintű asszociációs szabályok
Hogyan változik a támogatottság és a megbízhatóság ha megfordítjuk a fogalom hierarchiát? Ha X egyaránt szülője X1-nek és X2-nek, akkor (X) ≤ (X1) + (X2) Ha (X1 Y1) ≥ minsup, és X szülője X1-nek, Y szülője Y1-nek akkor (X Y1) ≥ minsup, (X1 Y) ≥ minsup (X Y) ≥ minsup Ha conf(X1 Y1) ≥ minconf, akkor conf(X1 Y) ≥ minconf
25
Többszintű asszociációs szabályok
1. megközelítés: Terjesszük ki a meglévő asszociációs szabály formalizmusunkat magasabb szintű tételek hozzáadásával. Eredeti tranzakció: {lefölözött tej, búza kenyér} Megnövelt tranzakció: {lefölözött tej, búza kenyér, tej, kenyér, élelem} Szempontok: A magasabb szinten elhelyezkedő tételeknek nagyobb a támogatottsága. Ha alacsony a támogatottsági küszöb, akkor túl sok gyakori mintázat jön be a magasabb szintekről. Növeli az adatok dimenzióját.
26
Többszintű asszociációs szabályok
2. megközelítés: Generáljunk először gyakori mintázatokat a legmagasabb szinten. Generáljunk ezután gyakori mintázatokat a következő legmagasabb szinten, és így tovább. Szempontok: Az I/O követelmények drámaian megnőnek mivel többször kell átfésülnünk az adatokat. Lemaradhatunk néhány lehetséges szintek közötti asszociációs mintázatról.
27
Szekvenciális adatok Szekvenciális adatbázis: Objektum Időbélyeg
Események A 10 2, 3, 5 20 6, 1 23 1 B 11 4, 5, 6 17 2 21 7, 8, 1, 2 28 1, 6 C 14 1, 8, 7
28
Példák szekvenciális adatra
Sorozat adatbázis Sorozat Elem (Tranzakció) Esemény (Tétel) Vásárlói adatok Egy adott vásárló vásárlási története Egy vásárló által a t időpontban vásárolt termékek Könyvek, naplók, CD- k, stb. Web adatok Egy web-látogató böngészési aktivitása A látogató egy kattintása után megnézett fájlok Honlap, index-lap, kontakt info, stb. Esemény adatok Egy adott szenzor által generált események története Egy szenzor által kiváltott események a t időpontban A szenzorok által generált riasztások típusai Gén szekvenciák Egy faj DNS szekvenciája A DNS szekvencia egy eleme A,T,G,C bázisok Elem (Tranzakció) Esemény (Tétel) E1 E2 E1 E3 E2 E2 E3 E4 Sorozat
29
A sorozat formális definíciója
Egy sorozat elemek (tranzakciók) egy rendezett listája s = < e1 e2 e3 … > Minden elem események (tételek) egy összességét tartalmazza ei = {i1, i2, …, ik} Minden elemhez idő vagy hely bélyeget rendelünk Egy sorozat |s| hossza a sorozatbeli elemek száma. Egy k-sorozat olyan sorozat, amely k eseményt (tételt) tartalmaz.
30
Példák sorozatra Web sorozat:
< {Honlap} {Elektronika} {Digitális kamerák} {Canon digitális kamera} {Rendelés} {Rendelés visszaigazolás} {Visszatérés a vásárláshoz} > A 3-mile Island-beli nukleáris balesetet elindító események sorozata: ( < {eldugult gyanta} {lefolyó szelep dugulás} {hűtővíz vesztés} {kondenzátor tisztító lefolyó szelep elzáródás} {szivattyú hiba} {fő vízpumpa hiba} {fő turbina hiba} {megnő a reaktornyomás}> Egy könyvtárból kivett könyvek sorozata: <{A gyűrű szövetsége} {A két torony} {A király visszatér}>
31
Részsorozat definíciója
Egy <a1 a2 … an> sorozat része egy másik <b1 b2 … bm> sorozatnak (m ≥ n) ha léteznek olyan i1 < i2 < … < in számok, hogy a1 bi1 , a2 bi1, …, an bin . Egy w részsorozat támogatottságát az olyan adatsoroza- tok arányaként definiáljuk, amelyek tartalmazzák w-t. A szekvenciális mintázat egy gyakori részsorozat (azaz egy olyan részsorozat, melynek támogatottsága ≥ minsup). Adat sorozat Részsorozat Tartamazza-e? < {2,4} {3,5,6} {8} > < {2} {3,5} > Igen < {1,2} {3,4} > < {1} {2} > Nem < {2,4} {2,4} {2,5} > < {2} {4} >
32
Szekvenciális mintázat bányászat
Adott: sorozatok egy adatbázisa egy felhasználó által meghatározott minsup minimális támogatottsági küszöb Feladat: Keressük meg az összes olyan részsorozatot, amelynek támogatottsága ≥ minsup
33
Szekvenciális mintázat bányászat: kihívások
Adott egy sorozat: <{a b} {c d e} {f} {g h i}> Példák részsorozataira: <{a} {c d} {f} {g} >, < {c d e} >, < {b} {g} >, stb. Mennyi k-részsorozat nyerhető ki egy adott n-sorozatból? <{a b} {c d e} {f} {g h i}> n = 9 k=4: Y _ _ Y Y _ _ _ Y <{a} {d e} {i}>
34
Szekvenciális mintázat bányászat: példa
Minsup = 50% Példák gyakori részsorozatokra: < {1,2} > s=60% < {2,3} > s=60% < {2,4}> s=80% < {3} {5}> s=80% < {1} {2} > s=80% < {2} {2} > s=60% < {1} {2,3} > s=60% < {2} {2,3} > s=60% < {1,2} {2,3} > s=60%
35
Szekvenciális minták kinyerése
Adott n számú esemény: i1, i2, i3, …, in Jelöltek 1-részsorozatokra: <{i1}>, <{i2}>, <{i3}>, …, <{in}> Jelöltek 2-részsorozatokra: <{i1, i2}>, <{i1, i3}>, …, <{i1} {i1}>, <{i1} {i2}>, …, <{in-1} {in}> Jelöltek 3-részsorozatokra: <{i1, i2 , i3}>, <{i1, i2 , i4}>, …, <{i1, i2} {i1}>, <{i1, i2} {i2}>, …, <{i1} {i1 , i2}>, <{i1} {i1 , i3}>, …, <{i1} {i1} {i1}>, <{i1} {i1} {i2}>, …
36
Általánosított szekvenciális mintázat (GSP)
1. lépés: Fésüljük át először a D sorozat adatbázist az összes 1-elemű gyakori sorozat előállítására. 2. lépés: Ismételjük amíg nem találunk új gyakori sorozatot Jelölt generálás: Vonjuk össze a (k-1)-edik lépésben talált gyakori részsorozatok párjait, hogy k tételt tartalmazó sorozat jelölteket kapjunk. Jelölt tisztítás: Töröljük azokat a k-sorozat jelölteket, amelyek nem gyakori (k-1)- részsorozatot tartalmaznak. Támogatottság számlálás: Fésüljük át újra a D sorozat adatbázist, hogy ezen új jelöltek támogatottságát megkapjuk. Jelölt eliminálás: Elimináljuk azokat a k-sorozat jelölteket, amelyek aktuális támogatottsága kisebb mint minsup.
37
Jelölt generálás Alapeset (k=2): Általános eset (k>2):
Két 1-sorozat, <{i1}> és <{i2}>, összevonása két 2-sorozat jelöltet eredményez: <{i1} {i2}> és <{i1 i2}> Általános eset (k>2): Egy w1 gyakori (k-1)-sorozatot összevonunk egy másik w2 gyakori (k-1)-sorozattal, hogy egy k-sorozat jelöltet kapjunk, ha az a részsorozat, amelyet w1 első elemének törlésével kapunk megegyezik azzal a sorozattal, amelyet w2 utolsó elemének a törlésével kapunk. Az összevonás eredményéül kapott jelölt a w1 sorozat w2 utolsó eleme általi kiterjesztésével adódik. Ha w2 két utolsó eseménye ugyanahhoz az elemhez tartozik, akkor w2 utolsó eseménye w1 utolsó elemének része lesz, egyébként a w2 –beli utolsó esemény egy különálló eseményként fűzzük w1 végére.
38
Jelölt generálási példák
Vonjuk össze az alábbi sorozatokat w1=<{1} {2 3} {4}> és w2 =<{2 3} {4 5}> Eredményül a < {1} {2 3} {4 5}> sorozatot kapjuk, mivel w2 két utolsó eseménye, 4 és 5, ugyanahhoz az elemhez tartozik. Vonjuk össze az alábbi sorozatokat w1=<{1} {2 3} {4}> és w2 =<{2 3} {4} {5}> Eredményül a < {1} {2 3} {4} {5}> sorozatot kapjuk, mivel w2 két utolsó eseménye 4 és 5, nem ugyanahhoz az elemhez tartozik. Nem kell összevonnunk a w1 =<{1} {2 6} {4}> és w2 =<{1} {2} {4 5}> hogy a < {1} {2 6} {4 5}> jelöltet megkapjuk, mivel ha az utóbbi életképes jelölt, akkor megkapható w1 –nek a < {1} {2 6} {5}> sorozattal való összevonásával.
39
GSP példa
40
Időbeli kényszerek (I)
{A B} {C} {D E} xg: max-rés ng: min-rés ms: maximális fedés <= xg >ng <= ms xg = 2, ng = 0, ms= 4 Adatsorozat Részsorozat Tartalmazza-e? < {2,4} {3,5,6} {4,7} {4,5} {8} > < {6} {5} > Igen < {1} {2} {3} {4} {5}> < {1} {4} > Nem < {1} {2,3} {3,4} {4,5}> < {2} {3} {5} > < {1,2} {3} {2,3} {3,4} {2,4} {4,5}> < {1,2} {5} >
41
Szekvenciális mintázatok bányászata időbeli kényszerrel
1. megközelítés: Bányásszunk szekvenciális mintázatot időbeli kényszer nélkül. Dolgozzuk fel utólagosan a feltárt mintázatokat. 2. megközelítés: Módosítsuk a GSP módszert úgy, hogy közvetlenül tisztítjuk azokat a jelölteket, amelyek nem tesznek eleget az időbeli kényszernek. Kérdés: Érvényben marad-e még az Apriori elv?
42
Apriori elv szekvenciális adatokra
Tegyük fel: xg = 1 (max-rés) ng = 0 (min-rés) ms = 5 (maximális fedés) minsup = 60% <{2} {5}> támogatottság = 40% de <{2} {3} {5}> támogatottság = 60% Probléma merül fel a max-rés kényszer miatt. Nem merül fel ez a probléma ha a max-rés végtelen.
43
Folyamatos részsorozatok
s folyamatos részsorozata az alábbi sorozatnak w = <e1>< e2>…< ek> ha az alábbi feltételek egyike teljesül: s úgy adódik w-ből, hogy egy tételt törlünk e1 –ből vagy ek-ből s úgy adódik w -ből, hogy egy olyan tételt törlünk ei –ből, amely 2-nél több eseményt tartalmaz s folyamatos részsorozata s’-nek és s’ folyamatos részsorozata w-nek (recurzív definíció) Példák: s = < {1} {2} > folyamatos részsorozata az alábbiaknak < {1} {2 3}>, < {1 2} {2} {3}> és < {3 4} {1 2} {2 3} {4} > nem folyamatos részsorozata az alábbiaknak < {1} {3} {2}> és < {2} {1} {3} {2}>
44
Módosított jelölt metszési lépés
A max-rés kényszer nélkül: A k-sorozat jelöltet eltávolítjuk ha (k-1)-részsorozatai közül legalább az egyik nem gyakori. A max-rés kényszerrel: A k-sorozat jelöltet eltávolítjuk ha folyamatos (k-1)- részsorozatai közül legalább az egyik nem gyakori.
45
Időbeli kényszerek (II)
xg: max-rés ng: min-rés ws: ablak nagyság ms: maximális fedés {A B} {C} {D E} <= ms <= xg >ng <= ws xg = 2, ng = 0, ws = 1, ms= 5 Adatsorozat Részsorozat Tartalmazás? < {2,4} {3,5,6} {4,7} {4,6} {8} > < {3} {5} > Nem < {1} {2} {3} {4} {5}> < {1,2} {3} > Igen < {1,2} {2,3} {3,4} {4,5}> < {1,2} {3,4} >
46
Módosított támogatottság számlálás
Adott egy mintázat jelölt: <{a, c}> Az összes adatsorozat, amely tartalmazza a <… {a c} … >, <… {a} … {c}…> ( ahol idő({c}) – idő({a}) ≤ ws) <…{c} … {a} …> (ahol idő({a}) – idő({c}) ≤ ws) sorozatokat hozzájárul a mintázat jelölt támogatottsági számához.
47
Egy más modell Bizonyos területeken csak egy nagyon hosszú idősorunk van. Példa: hálózati forgalmi események monitorozása támadások miatt telekommunikációs riasztási jelek monitorozása A cél az, hogy események gyakori sorozatait találjuk meg az idősorban A feladat gyakori epizód bányászatként is ismert E1 E2 E3 E4 E1 E2 E1 E2 E2 E4 E3 E5 E1 E2 E2 E3 E5 E1 E2 E3 E4 E3 E1 Mintázat: <E1> <E3>
48
Altalános támogatottságot számoló eljárások
Tegyük fel: xg = 2 (max-rés) ng = 0 (min-rés) ws = 0 (ablak nagyság) ms = 2 (maximális fedés)
49
Gyakori részgráf bányászat
Terjesszük ki az asszociációs szabály bányászatot gyakori részgráfok keresésére. Hasznos a web-bányászatban, számítógépes ké- miában, bioinformatikában, térbeli adatoknál, stb.
50
Gráf definíciók
51
Tranzakciók gráf-reprezentációja
Minden tranzakció tételek egy klikkje
52
Tranzakciók gráf-reprezentációja
53
Kihívások Egy csúcs duplikált címkéket is tartalmazhat
Támogatottság és megbízhatóság Hogyan definiáljuk őket? További kényszerek fakadhatnak a mintázat szerkezetéből Támogatottság és megbízhatóság nem az egyetlen kényszer Feltevés: a gyakori részgráfok összefüggőek Apriori-szerű megközelítés: Használjuk a gyakori k-részgráfokat a gyakori (k+1)-részgráfok előállítására. Mi legyen k?
54
Kihívások Támogatottság: Az apriori elv még érvényben marad
Számos olyan gráf van, amely egy speciális részgráfot tartalmaz. Az apriori elv még érvényben marad Szintenkénti (Apriori-szerű) megközelítés: Csúcsnövelés: k a csúcsok száma Élnövelés: k az élek száma
55
Csúcsnövelés
56
Élnövelés
57
Apriori-szerű algoritmus
Keressük meg a gyakori 1-részgráfokat Ismételjük Jelölt generálás Használjuk a gyakori (k-1)-részgráfokat a k-részgráf jelöltek előállítására. Jelölt metszés Töröljük azokat a részgráf jelölteket, amelyeknek van nem gyakori (k-1)-részgráfja. Támogatottság számlálás Számoljuk össze a támogatottságát mindegyik megmaradt jelöltnek. Töröljük azokat a k-részgráf jelölteket, amelyek nem gyakoriak. A gyakorlatban ez nem könnyű. Sok más szempont is létezik.
58
Példa: adatállomány
59
Példa
60
Jelölt generálás Aprioriban:
Két gyakori k-tételcsoport összevonása eredményez egy (k+1)-tételcsoport jelöltet. Gyakori részgráf bányászatban (csúcs/él- növelés) Két gyakori k-részgráf összevonása eredményez egy (k+1)-részgráf jelöltet.
61
A jelöltek multiplicitása (csúcsnövelés)
62
A jelöltek multiplicitása (élnövelés)
1. eset: azonos csúcs címkék
63
A jelöltek multiplicitása (élnövelés)
2. eset: A mag azonos címkéjű csúcsokat tartalmaz Mag: Az a (k-1)-részgráf, amely közös a gráfokban
64
A jelöltek multiplicitása (élnövelés)
3. eset: Mag multiplicitás
65
Adjacencia mátrix reprezentáció
Ugyanaz a gráf sokféleképpen reprezentálható
66
Gráf izomorfizmus Egy gráf izomorf ha topológiailag ekvivalens egy másik gráffal.
67
Gráf izomorfizmus Próba szükséges a gráf izomorfizmus vizsgálatára:
A jelölt generálási lépés során határozzuk meg, hogy egy jelöltet korábban nem generáltunk-e már. A jelölt metszési lépés során ellenőrizzük, hogy egy jelölt (k-1)-részgráfjai gyakoriak-e. A támogatottság számlálás során ellenőrizzük, hogy egy jelölt nem része-e egy másik gráfnak.
68
Gráf izomorfizmus Használjunk kanonikus címkézést az izomorfizmus kezelésére. Képezzünk le minden gráfot egy rendezett stringgé úgy, hogy két izomorf gráfnak ugyanaz legyen a kanonikus kódolása. Példa: Lexicografikusan legnagyobb adjacencia mátrix Sztring: Kanonikus:
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.