Június 2005
A háló tudománya – művészetek hálója

Vicsek Tamás

Hálózati  „közösségek”

a sejtektől a kutatócsoportokig

Bevezetés

Ma már közhely, hogy körbe vagyunk véve a legkülönfélébb hálózatokkal. Egyfelől tudatosan megéljük, hogy a monitor előtt ülve az internetet használjuk (sok millió összekapcsolt számítógép hálózatát), hogy webkeresőnk milliárdnyi egymásra mutató elektronikus oldalon kutat adatok után. Ugyanakkor talán sokan nem is tudják, hogy azokat a bonyolult biológiai, közgazdasági és egyéb rendszereket, amelyekbe ágyazva élünk (vagy amelyek testünk bugyraiban találhatók), leginkább úgy lehet megérteni, ha hálózatoknak tekintjük őket.

Sokféleképpen lehet egy elemekből (pontokból, csúcsokból) és az azokat összekötő kapcsolatokból (élekből) álló hálózatot (gráfot) jellemezni. Itt most  arra fogunk koncentrálni, hogy vannak-e az adott hálózatban csoportosulások (vagy másképpen közösségek), azaz az elemeknek olyan alhalmazai, amelyek egymás között az átlagosnál több kapcsolattal rendelkeznek. Az ilyen sűrűn összekapcsolt részek úgy is tekinthetők, mint a hálózat elemi egységeinek szintje felett megvalósuló, mintegy funkcionális egységei, ezért felkutatásuk segíthet az egész hálózat működését megérteni. Mielőtt azonban belemerülnénk a gráfelméleti aspektusok elemzésébe, visszatekintünk, és a hálózatok vizsgálatát elhelyezzük egy jóval tágabb jelenség- és gondolatkörben.

Motiváció
A komplex rendszerek felépítésének hierarchikus jellege

A természet egyik legnagyobb talánya, hogy sok, viszonylag egyszerűbb egység kölcsönhatásából valami sokkal bonyolultabb, az egységek tulajdonságait messze meghaladó viselkedést  mutató objektum jöhet létre.  Egy viszonylag közönséges példa erre az, ahogy az egyébként nem túl bonyolult vízmolekulák gyönyörű, komplikáltan ágas-bogas, mégis szimmetrikus hópelyheket tudnak felépíteni. Ez épp egy olyan rejtély, amelynek a megoldását ismerjük, azonban a világ – és elsősorban az élővilág – telis-tele van olyan példákkal, ahol nem értjük az ilyen önszerveződő módon megnyilvánuló bonyolult viselkedés kialakulásának mechanizmusát. Mielőbb továbblépnénk, megemlítjük a hópelyhekkel kapcsolatos folyamatok egyik nagyon fontos vonását: ez az érdekes mintázatképződés az anyag önszerveződésének adott szintjén jön létre. Valójában az „egységek” és a belőlük álló „szerveződési szintek” számos további lépcsője is jelen van ebben a jelenségkörben. A vízmolekula atomokból áll, az atomok elektronokból és atommagból, az atommagban levő részecskék meg további elemi részecskékből állnak, úgyhogy az egyes szinteken mérhető tulajdonságok nagyon eltérőek (egy kvark nagyon más jellemzőkkel bír, mint például egy oxigénatom). De több tucat szimmetrikus egyedi hópehelykristály rendszerint puha, szabálytalan geometriájú, nagyobb hópehellyé áll össze, és ezek milliárdjai fehér leplet képeznek a talajon.

Az élővilágban megfigyelhető jelenségekhez képest a fenti példa rendkívül egyszerű. Ugyanakkor már ez is mutatja az egyik legalapvetőbb törvényszerűséget: az egyszerűbb egységek hierarchikus, sok szinten át való önszerveződését, úgy, hogy a sor végén immár megjelenhet egy olyan rendkívül bonyolult szerkezet, amilyen akár a legegyszerűbb élőlény. A sor itt is az elemi részekkel kezdődik, de aztán – csak néhány fontos lépcsőt említve – olyan szinteken át folytatódik, mint az egyszerűbb biomolekulák, a DNS, az egyszerűbb sejtbeli szerkezetek (pl. ioncsatornák), a sejtszervecskék (pl. Golgi-apparátus), a sejtek, a sejtekből álló szervek (pl. idegrendszer), valamint az egész organizmus.

Hasonló megközelítés alkalmazható társadalmi jelenségek interpretálására is. Az alapegységek itt az emberek, akik számos egymásba ágyazott struktúrát alkothatnak: ha a termelés folyamatát tekintjük, egy vállalatnál vannak csoportok, osztályok, főosztályok, telephelyek stb. A vállalatok iparágakba rendeződnek, amelyek a nemzetgazdaságok részei, míg az utóbbiak alkotják a világgazdasági régiókat, végül pedig az egész világgazdaságot. A továbbiakban elsősorban a sejtbiológiai analógiát részletezzük, de a koncepció és módszer a társadalmi eredetű, valamint egyéb típusú hálózatok elemzésére is alkalmazható.

A több tízezer egyenlet problémája

A következőkben egyetlen élővilágbeli szint megértésének a nehézségeire és azok lehetséges megoldására fogunk koncentrálni. Ez egyrészt egy fontos szint (a sejtek), másrészt – mint cseppben a tenger – mutatni fogja, milyen nehézségekkel kell szembenéznie annak, aki az önszerveződés titkát meg akarja fejteni. A sejteket a fehérjék mint alacsonyabb szintű egységek kölcsönhatásai működtetik. A feladat ezért a következő: megérteni, hogyan áll össze a sok-sok fehérje értelmesen működő egésszé?

Tekintsünk tehát egy sejtet. Mint az elmúlt évek megaprojektjei alapján immár köztudott, egy tipikus (soksejtű) élőlény minden sejtjében néhányszor tízezer fehérje folyamatos kölcsönhatása határozza meg a benne lejátszódó folyamatokat. Tehát egy ilyen sejt működését – rendkívül leegyszerűsítve a tényleges helyzetet – úgy is megpróbálhatnánk megérteni, hogy felírunk egy több tízezer ismeretlenes differenciálegyenlet-rendszert, amelyik a fehérjék koncentrációjának időfüggését írná le egymás aktuális koncentrációjának és kölcsönhatásaik függvényében. Ez a megközelítés azonban több okból sem vezethet eredményre. Amellett, hogy nem ismerjük eléggé pontosan a szükséges adatokat, és hogy a probléma numerikusan is kezelhetetlen, a legfontosabb akadály: az egész megoldáshalmaz, ha sikerülne is kiszámítani, teljesen áttekinthetetlen lenne. Ha netán megoldásként rendelkezésre állna 35 ezer bonyolultan változó függvény, ki tudná ezeket értelmezni? Az átlagember talán átlát néhány függvényt, a képzett szakember észreveszi az összefüggéseket több tucat szimultán, de természetesen komplikált módon egymást befolyásoló függvény ingadozásai között, azonban lehet-e remény sok ezer, időben változó jel részletes, együttes áttekintésére? Ki tudja, talán egyszer igen. Mindenesetre, az elmúlt években a kutatások más irányt vettek, és a teljes egyenletrendszer direkt megoldása helyett annak egyszerűbb vetületeit kezdték vizsgálni.

Egyenletek helyett gráfok

Első közelítésben ugyanis elég azt tekintenünk, hogy melyek azok a fehérjék, amelyek kölcsönhatásban vannak. A fehérjék ugyanis nincsenek kölcsönhatásban az összes többivel: némelyikük csak néhány másik koncentrációjára van hatással, igaz, vannak olyanok is, amelyek több tucat – ritkán több száz – másik fehérje koncentrációját befolyásolják közvetlenül. Képzeljünk most el egy hálózatot, amelyikben a pontok a fehérjék, és két fehérje össze van kötve, ha van köztük kölcsönhatás. Ezzel az eljárással sokat nyerhetünk, hiszen sok ezer ismeretlenes differenciálegyenlet-rendszerünket egy pontokból és az őket összekötő élekből álló hálózattal vagy gráffal helyettesítettük. Sok részletet vesztünk, de az egész azért áttekinthetőbb, alkalmasabb az egyenletrendszer elemi struktúrájának az áttekintésére. Persze – és ez itt a fő nehézség, de ugyanakkor a probléma érdekessége is – a keletkező hálózat még mindig meglehetősen bonyolult szerkezetű: újfajta tulajdonságokat mutat, és analíziséhez is új módszerek szükségesek.

Hálózati közösségek

A továbbiakban arról lesz szó, hogy egy nagy – biológiai vagy szociológiai eredetű – hálózat belső szerkezete hogyan jellemezhető a benne sűrűbben összekapcsolt részek (közösségek) feltárása segítségével.

A témakör lényegét legjobban egy konkrét példán lehet bemutatni. A szemléltetéshez alkalmasabb a szociológiai ihletésű megközelítés, mert ez az olvasóhoz valószínűleg közelebb áll. A gráf pontjai itt az egyének. És akkor van köztük él, ha két egyén valamilyen kapcsolatban van egymással. Tekintsük tehát egy embertársunkat, illetve a konkrétság kedvéért egy kutatót, aki – hozzám hasonlóan – biológiai-fizikai kutatásokkal foglalkozik.  Ennek a személynek a kapcsolatrendszere jól meghatározott csoportokból áll, azaz olyan emberekből, akik nagy valószínűséggel egymás ismerősei is. Ilyen csoportok – vagy másképpen közösségek – a család, a barátok, a kollégák, az iskolatársak stb. Ezek a közösségek egyszerre különállóak és ugyanakkor át is fedik egymást, valamint több szállal kötődhetnek a hálózat fennmaradó részéhez. Átfedés az, hogy a volt iskolatárs lehet kolléga, sőt barát is, de egy kollégának nyilván vannak további, más közösségekkel is kapcsolatai. A szociális kapcsolati háló tehát rendkívül összetett, egymással átfedő, izolált vagy éppen egymásba ágyazott csoportosulások együttes halmaza, és az egész társadalom működésének megértéséhez ezt a komplex hálózatot is át kell tudnunk tekinteni.

Fontos hangsúlyozni azt a nem teljesen nyilvánvaló tényt, hogy hasonló állítások igazak a fehérjék hálózataira is. Ebben az esetben a fehérje kölcsönhatási hálózatának sűrűbben összekapcsolt részei megfelelhetnek egy adott sejtfunkció (pl. mozgás) megvalósításában szerepet játszó fehérjék csoportjának.

Amit tennünk kell tehát, az, hogy a felkutatott adatok alapján megalkotjuk a kölcsönható egységek hálózatát, majd ebben a hálózatban meghatározzuk a közösségek szerkezetét (más olyan fontos jellemzők mellett, mint például a kapcsolatok számának eloszlása, a hálózat növekedésének szabályai stb.).

Hálózati közösségek felkutatása és jellemzése

Azt az igényt, hogy keressük meg egy gráf sűrűbben összekötött részeit, sokkal egyszerűbb megfogalmazni, mint ténylegesen teljesíteni. Már maga a közösség fogalma sem egyértelműen definiált, hiszen a „sűrűbb összekötöttség” kritériuma többféleképpen is teljesülhet. Csak példaként említem, lehet a kritérium olyan, hogy a közösségen belüli (egy pontra jutó) élek száma valahányszorosa a közösségből a közösségen kívüli pontokhoz vezető (egy pontra jutó) élek számának. De megszabhatjuk azt a feltételt is, hogy egy adott közösségen belül levő pontok mindegyike legalább adott számú éllel kapcsolódjon a többihez. További kritériumok/definiciók is lehetségesek. Mivel mi most elsősorban az egymással átfedő közösségek feltárására koncentrálunk, olyan definíciót fogunk használni, amelyik erre a célra a legmegfelelőbb.

Definíciók

Előzőleg azonban még egy kis előkészületre, néhány egyszerű gráfelméleti fogalom áttekintésére van szükségünk. Ha egy adott hálózaton belül van k darab olyan pontunk, amelyek egymással páronként mind össze vannak kötve, akkor ez a ponthalmaz, úgy mondjuk, egy k-klikket képez. Két k-klikk pedig akkor szomszédos, ha van egy közös k-1 pontot tartalmazó alhalmazuk (amely szintén klikk). Definíció: két elem akkor tartozik ugyanahhoz a közösséghez, ha össze lehet kötni őket szomszédos k-klikkeken keresztül. A k-klikk-közösség tehát az összes olyan egyed halmaza, amelyek ily módon egymással összeköthetők.

A fenti definíció azt az egyszerű megfigyelést akarja reprezentálni, hogy egy közösség (esetleg egyébként egymással kevésbé szorosan összekapcsolt) tagjai rendszerint jól elérhetők a közösség olyan más tagjain keresztül, akik egymással viszont szoros kapcsolatban állnak. A helyzet egy általános hálózatban általában elég összetett lehet: egy adott k-klikkből kiindulva a hálózat teljes további része tipikusan nem elérhető, viszont a hálózatban sok különálló k-klikk-közösség lehet. Továbbá  – és talán ez a legérdekesebb aspektusa ennek a definíciónak – ugyanazokból a kiindulási k-klikkekből különböző közösségek is elérhetők. Ezek olyan halmazok lesznek, amelyek átfednek az adott k-klikkel, többnyire egymással is, de nem fednek át egymással olyan mértékig, hogy egy közös k-l klikkjük lenne. Ezt a 2. ábra szemlélteti, ahol egy 4 csúcsot tartalmazó klikk görgetésével kapott közösségeket (szaggatott vonallal és árnyékolással jelzett alhalmazokat) látjuk egy mintahálózat példáján. Vannak nem szomszédos, egymással egy elemben és egymással egy élben (a hozzá tartozó két végponttal együtt) átfedő közösségek.

Módszer

A fenti típusú közösségek megkeresése egy trükkös algoritmus alapján történik. A vonatkozó számítógépes program kihasználja, hogy a gyakorlatban előforduló gráfok rendszerint „ritkák”, vagyis átlagosan kevés élt tartalmaznak ahhoz képest, amekkora az összes potenciálisan lehetséges élek (kapcsolatok) száma. Továbbá: a gráfoknak vannak olyan globális tulajdonságaik, amelyek hatékony meghatározása után a k-klikk-közösségek már viszonylag egyszerűen megkaphatóak. Konkrétabban: először is meg kell keresni a gráf összes maximális teljes algráfját, és fel kell írni azt a mátrixot, amelyik ezen algráfok méretét és a közöttük való átfedések számát tartalmazza. Ezt követően – egy adott k-klikk-méretre vonatkozó közösségek meghatározásakor – megtartjuk ebben a mátrixban az összes olyan elemet, amelyik nagyobb, mint k-1, míg a többi elem értékét 0-val tesszük egyenlővé. Ezt az új, transzformált mátrixot mint egy gráf szomszédsági mátrixát tekintjük, és rajta ún. komponens analízist végzünk. Az így meghatározott komponensek felelnek meg a fenti definíció szerinti k-klikk-közösségeknek. Ez a leírás természetesen túl szűkszavú lenne abból a célból, hogy ennek alapján az algoritmus reprodukálható legyen. Itt most pusztán az volt a cél, hogy érzékeltessük a procedúra jellegét.

Eredmények

Van tehát egy módszerünk, most kipróbálhatjuk, milyen eredményeket ad valós adatokra. Sokféle adathalmaz lehetséges, azonban a koncepció első alkalmazásaikor érdemes olyanokat választani, amelyekről van kielégítő háttérinformációnk ahhoz, hogy az eredményeket értelmezni tudjuk. A fizikusok működtetnek egy elektronikus cikkarchívumot, amelyben több tízezer cikk teljes adatsora megtalálható, tehát a cikkek szerzői is. Ez az adathalmaz egy gráfnak tekinthető: a szerzők a pontok, és két szerző akkor van összekapcsolva, ha van közös cikkük. Ha most erre a gráfra lefuttatjuk a közösségdetektáló algoritmusunkat, azt várjuk, hogy eredményképpen feltérképeződnek a szerzők kutatókollektívái. Ez azért érdekes, mert az adatok önmagukban nem tartalmazzák a közösségekre vonatkozó információkat, tehát ez egyfajta intelligens adatbányászat. Minthogy bizonyos szerzők csoportjai személyes kapcsolatok és egyéb források alapján ismertek, ellenőrizhető, hogy működik-e a módszer. És valóban, érdekes volt látni, ahogy a hatalmas adattömegből egy-egy konkrét szerzőre rákérdezve felrajzolódtak a képernyőn például Barabási Albert-László, Kertész János vagy éppen a saját együttműködési hálózataim, beleértve ezek egymással (és más, további kutatócsoportokkal való) átfedését.

Két másik érdekes adatrendszerre is kipróbáltuk a módszerünket. Amerikában készítettek egy szóasszociációs hálózatot a következő módon: sok embert megkérdeztek arról, hogy milyen szavak jutnak spontánul eszükbe egy előre rögzített listán található szavakról. Itt két szó (két csúcs) akkor van összekötve, ha az egyikről a másik jutott legalább bizonyos számú ember eszébe. De melyek itt a közösségek? Nos, amikor az ember ábrázolja az eredményeket, kiderül, hogy az egyes szavak különböző jelentései mint átfedő csoportosulások jelennek meg. Például a „play” (játék) szó esetében három szócsoportot talál az eljárás. Az egyik a zenéléssel kapcsolatos (hangszeren lehet játszani), a másik a gyermekek játszásával, a harmadik pedig a színházi darabokra vonatkozik.

A „bright” (fényes, világos) szó esetében külön szócsoportokat találunk, amelyek a világos színekre, a világos (okos) gondolkodásra, fénylő égitestekre vagy csak egyszerűen a fényerőre vonatkoznak.

A legfontosabb alkalmazás azonban valószínűleg a biológiai hálózatok terén várható. Amint arról a fentiekben részletesebben is írtam, legfontosabb építőköveink, a sejtjeink működéséről egyelőre a legtöbbet éppen a bennük található fehérjék kölcsönhatási hálózatainak megismerése útján tudhatunk meg. Ezek a hálózatok egyelőre még magasabb rendű élőlényekre túl hiányosak, nem eléggé ismertek, de például az élesztőgomba fehérjéinek egymáshoz való viszonyáról már sokkal többet (nem eleget) tudunk. A fehérjék közösségeinek feltérképezésétől itt sokat várunk: az egyes csoportosulások feltárása segíthet a még nem ismert funkciójú fehérjék szerepének tisztázásában. Többek között megvizsgálható, hogy egy adott F fehérje milyen közösségek tagja. Ha F benne van egy olyan csoportosulásban, amelyben a többi fehérje – mondjuk – épp a sejtosztódás egy bizonyos folyamatában játszik fontos szerepet, akkor sikerült kimutatnunk, hogy az F valószínűleg szintén fontos ennek a sejtosztódási folyamatnak a szempontjából. Amennyiben ezt nem tudtuk erről a fehérjéről valamilyen más forrásból (és ez ma még gyakori), akkor máris kiderül, hogy a módszert használni tudtuk annak a megjóslására, hogy mi lehet a fehérje szerepe a sejtben. Egy ilyen predikció fontossága későbbi gyógyszertervezési, illetve gyó-    gyászati szempontból abszolút nyilvánvaló.

Összefoglalva: a hálózatokon belüli csoportosulások vizsgálata egyszerre izgalmas mind alapkutatási, mind gyakorlati szempontból. Kiderült, hogy a legkülönbözőbb, életből vett gráfok rendkívül gazdag, egymással átfedő, sokféle méretű közösségeket tartalmaznak, és hogy ezek hatékony feltérképezése minőségileg új, fontos információt nyújt a hálózatok belső szerkezetéről és működéséről.