• Nem Talált Eredményt

3. Hálózati csoportkeresés k-klikkperkolációval 45

3.1.1. A csoportkeresési algoritmus

A k-klikkkeresés egy gráfban polinomiális komplexitású probléma, ezért egy algoritmus, mely megkeresi a vizsgált hálózat összes k-klikkjét, majd azokból felépíti a k-klikkperko-lációs klasztereket szintén garantáltan polinomiális komplexitású. Azonban ha a hálózat tartalmaz nagy méretű maximális klikkeket, akkor azokban exponenciálisan sok kis méretű k-klikk található, ezért a gyakorlatban az összes k-klikk egyenkénti feltárása, eltárolása sokszor nem kivitelezhető reális időkorált- és tárolókapacitás mellett. Szerencsére erre nincs is feltétlen szükség, hiszen amennyiben ismerjük a maximális klikkeket, azok alapján a k-klikkperkolációs klaszterek egyszerűen felépíthetők.

Ennek révén az általunk a [T5] publikáció kiegészítő anyagában közölt csoportkeresési algoritmus a maximális klikkeken alapszik. (Az algoritmust Derényi Imre és a disszertáció szerzője közösen dolgozták ki, a módszer implementálását teljes egészében a disszertáció szerzője végezte el). A maximális klikkek megkeresése egy közismerten NP-teljes prob-léma, ennélfogva ez a megközelítés egy exponenciális komplexitású algoritmust eredmé-nyez, ami elsőre nem tűnik előnyösnek gyakorlati szempontból. Szerencsére a heurisztikus maximálisklikk-kereső eljárások a legtöbb valós hálózaton meglehetősen gyorsak, ezért ez ritkán okoz tényleges problémát az alkalmazások terén.

A k-klikkperkolációs csoportok feltárásának első lépése tehát az adott hálózat összes maximális klikkjének megkeresése. Az általunk erre használt módszer lényegében a Bron–

Kerbosch-algoritmus [38] egy saját implementációjú verziója, mely nemcsak a maximális klikkeket, hanem azok egymással való átfedéseit is eltárolja. A csoportokat ezen

átfedé-5Egy lokális csoportdefiníció pontosan előírja, hogy egy adott részgráf milyen feltételek teljesülése mellett tekinthető csoportnak. Ezzel szemben a globális módszerek általában egy „globális” paramétert próbálnak optimalizálni, és amit az eljárás eredményeként kapunk, azok a csoportok (ilyen pl. a modularitásmaxima-lizálás). Ennek hátránya, hogy a hálózat kis lokális perturbációja (mint pl. egy él kivágása), akár a zavar környezetétől nagyon távol is megváltoztathatja a csoportokat (ami egy lokális módszer esetén viszont nem fordulhat elő).

3.1.A k-klikkperkoláció mint átfedő csoportkeresési módszer sek révén lehet felépíteni a következő módon: Adott k esetén minden legalább k méretű maximális klikk része egy (és csakis egy), k-klikkperkolációs klaszternek. Amennyiben két maximális klikk legalább k−1 csúcsban átfed egymással, úgy egyazon k-klikkperkolációs klaszterhez tartoznak, hiszen az átfedő részen át tudunk „gördülni” az egyik maximális klikkből a másikba ak-klikkszomszédság definíciója alapján. Ennek alapján a csoportokat megkaphatjuk úgy, hogy definiálunk egy hálózatot a maximális klikkek között, melyben akkor köt össze él két maximális klikket, ha átfedésük legalább k−1 csúcsot tartalmaz. A k-klikkperkolációs klaszterek ezen hálózat összefüggő komponenseinek felelnek meg.

3 4 2 1 1 1

2 2 3 2 1

1 1 2 3 0

3 1 1 0 4

1

5 3 2 1 3

4 1

2 1 2

1 1 2 2

0 0

1 1 0 0 1 0

1 0 0 0 0

0 0 0 0 0

0 0 0 0

1 0 0 0

0 0 0 0 0

1 0

0 1

1

k=4

3.1. ábra. Ak-klikkperkolációs csoportkeresési algoritmus szemléltetése. Az ábra bal felső részén látható, 10 csúcsból álló hálózat csoportjainak feltárását mutatjuk be k= 4 esetén.

A hálózat összesen 6 maximális klikket tartalmaz, melyeket a különböző színek jelölnek, a maximális klikkek átfedési mátrixa az ábra jobb felső részén látható. Ha töröljük belőle ak=

=4-nél kisebb diagonális, valamint ak−1=3-nál kisebb nemdiagonális elemeket, megkapjuk ak= 4-hez tartozó csoportokat megadó maximálisklikk-gráf szomszédsági mátrixát, ahogy azt az ábra bal alsó részen láthatjuk. Ennek összefüggő komponensei adják a keresett csoportokat, ami alapján két (egymással átfedő) csoportot kapunk, amint azt az ábra jobb alsó része mutatja. (Az ábra forrása a [T5] publikáció kiegészítő része.)

A fenti eljárást szemlélteti a 3.1. ábra, melyen egy kis méretű hálózatban tárjuk fel a csoportokat k= 4 esetén. A hálózatból először kinyerjük a maximális klikkek átfedési mátrixát, melyben a diagonális elemek az adott maximális klikk méretét adják meg, a nemdiagonális elemek pedig a maximális klikkek átfedésének méretét mutatják. (Ennélfog-va a mátrix szimmetrikus). Ebből egy adottk-hoz tartozó csoportokat úgy lehet megkapni, hogy ak-nál kisebb diagonális elemeket és a k−1-nél kisebb nemdiagonális elemeket töröl-jük, majd a megmaradó elemeket 1-gyel helyettesíttöröl-jük, és előáll azon maximálisklikk-gráf

szomszédsági mátrixa, melynek összefüggő komponensei kiadják a keresett csoportokat.

10−1

103 104 105

10−2

10−3

10−4 10−5

3 10−7M0.11ln M( ) cond−mat autonomous systems t

M 1

Cond. Matt. cikkarchívum Internet autonóm rendszerei

3.2. ábra. Ak-klikkperkolációs csoportkeresési algoritmus futási ideje. A futási időt órákban mértük és a vizsgált hálózat élszámának függvényében ábrázoltuk, az eredmények egy 2005-ben egy átlagosnak számító PC-n születtek. A fehér négyzetek az Internet autonóm rendszerei közötti hálózaton kapott futtatási időket jelölik, míg a sötét háromszögek a Cornell Egyetem könyvtárának internetes Condensed Matter cikkarchívum társzerzőségi hálózatára vonatkoznak. Ez utóbbi rendszer esetén az eredményekre egy t=aMbln(M) alakú függvényt illesztettünk (folytonos vonal), az illesztési paraméterekre a= 3·107 és b= 0.11 adódtak. (Az ábra forrása a [T5] publikáció kiegészítő része).

A 3.2. ábrán láthatjuk a csoportkeresési algoritmus futási idejét két valós hálózatra ab-ban az esetben, mikor a hálózatab-ban található élek száma fokozatosan növekedett. Mind a Cornell Egyetem könyvtárának internetes Condensed Matter cikkarchívumán [213] alapuló társszerzőségi hálózat esetén, mind az Internet autonóm rendszereit leíró hálózat6 esetén a növekvő élszám az adott rendszer időbeli fejlődésének következménye, azaz a különböző adatpontok az adott rendszer által különböző időpontokban mutatott hálózatokon kapott eredményeknek felelnek meg. A 3.2. ábrán a k= 6-osk-klikkméret esetén tapasztalt futási időket mutatja órában mérve. Látható, hogy a növekvő élszám növekvő futási időt eredmé-nyez és az adatokra viszonylag jól illeszkedik at=aMbln(M)függvény, aholta futási idő,M az élek száma, az aésb illesztési paraméterek. Megjegyezzük, hogy a teljes társszerzőségi hálózatra (kb. 127 000 él) minden lehetséges kérték figyelembevételével kevesebb, mint 2 óra alatt lefutott az algoritmus egy 2005-ben átlagosnak számító PC-n, illetve születtek eredményekk-klikkperkolációs csoportokról többmilliós méretű hálózatokban is, amint ezt a 4. fejezetben bemutatjuk.

Érdemes megemlíteni, hogy a kutatócsoport által közölt publikációk nyomán Jussi M.

Kumpula és munkatársai egy alternatív, a k-klikkek direkt feltárásán alapuló eljárást ja-vasoltak a k-klikkperkolációs csoportok megkeresésére [116]. Ennek a módszernek előnye,

6Az Internet autonóm rendszereit leíró időfejlődő hálózat adatait a

http ://www.cosin.org/extra/data/internet/nlanr.htmloldalról töltöttük le.

3.1.A k-klikkperkoláció mint átfedő csoportkeresési módszer hogy könnyűvé teszi a csoportok felépítéséhez használható k-klikkek szűrését valamilyen kritérium (pl. élsúly) szerint. A hátránya viszont az (amint azt az alfejezet elején is emlí-tettük), hogy a nagy maximális klikkek jelenléte a gyakorlati kivitelezést nagyon erőforrás-igényessé teheti.