Keskusaliverkkojen etsiminen kyselysolmujen välillä laajoista verkoista

Samankaltaiset tiedostot
arvostelija OSDA ja UDDI palveluhakemistoina.

58131 Tietorakenteet (kevät 2009) Harjoitus 11, ratkaisuja (Topi Musto)

Selainpelien pelimoottorit

Luku 7. Verkkoalgoritmit. 7.1 Määritelmiä

Algoritmit 1. Luento 8 Ke Timo Männikkö

V. V. Vazirani: Approximation Algorithms, luvut 3-4 Matti Kääriäinen

Algoritmit 1. Luento 9 Ti Timo Männikkö

A ja B pelaavat sarjan pelejä. Sarjan voittaja on se, joka ensin voittaa n peliä.

Datatähti 2019 loppu

Työn laji Arbetets art Level Aika Datum Month and year Sivumäärä Sidoantal Number of pages

Pro gradu -tutkielma Meteorologia SUOMESSA ESIINTYVIEN LÄMPÖTILAN ÄÄRIARVOJEN MALLINTAMINEN YKSIDIMENSIOISILLA ILMAKEHÄMALLEILLA. Karoliina Ljungberg

Olkoon seuraavaksi G 2 sellainen tasan n solmua sisältävä suunnattu verkko,

Algoritmit 2. Luento 11 Ti Timo Männikkö

Johdatus verkkoteoriaan 4. luento

isomeerejä yhteensä yhdeksän kappaletta.

Algoritmit 2. Luento 12 Ke Timo Männikkö

v 8 v 9 v 5 C v 3 v 4

Koht dialogia? Organisaation toimintaympäristön teemojen hallinta dynaamisessa julkisuudessa tarkastelussa toiminta sosiaalisessa mediassa

Department of Mathematics, Hypermedia Laboratory Tampere University of Technology. Roolit Verkostoissa: HITS. Idea.

Reiluus. Maxmin-reiluus. Tärkeä näkökohta best effort -tyyppisissä palveluissa. Reiluuden maxmin-määritelmä

Yhtälöryhmä matriisimuodossa. MS-A0004/A0006 Matriisilaskenta. Tarkastellaan esimerkkinä lineaarista yhtälöparia. 2x1 x 2 = 1 x 1 + x 2 = 5.

Yleinen paikallinen vakautuva synkronointialgoritmi

Johdatus graafiteoriaan

Aika/Datum Month and year Kesäkuu 2012

Etsintä verkosta (Searching from the Web) T Datasta tietoon Heikki Mannila, Jouni Seppänen

Kustannustehokkaat riskienhallintatoimenpiteet kuljetusverkostossa (Valmiin työn esittely)

Algoritmit 1. Luento 1 Ti Timo Männikkö

Harjoitus 3 ( )

Algoritmi on periaatteellisella tasolla seuraava:

Suunnatut, etumerkilliset ja arvotetut graafit Sosiaalisten verkostojen analysoinnin näkökulmalla

Konsensusongelma hajautetuissa järjestelmissä. Niko Välimäki Hajautetut algoritmit -seminaari

1 + b t (i, j). Olkoon b t (i, j) todennäköisyys, että B t (i, j) = 1. Siis operaation access(j) odotusarvoinen kustannus ajanhetkellä t olisi.

811312A Tietorakenteet ja algoritmit V Verkkojen algoritmeja Osa 2 : Kruskalin ja Dijkstran algoritmit

Luonnontieteiden popularisointi ja sen ideologia

Maailman muutosta tallentamassa Marko Vuokolan The Seventh Wave -valokuvasarja avauksena taidevalokuvan aikaan

58131 Tietorakenteet ja algoritmit (kevät 2014) Uusinta- ja erilliskoe, , vastauksia

Luku 8. Aluekyselyt. 8.1 Summataulukko

Königsbergin sillat. Königsberg 1700-luvulla. Leonhard Euler ( )

Graafit ja verkot. Joukko solmuja ja joukko järjestämättömiä solmupareja. eli haaroja. Joukko solmuja ja joukko järjestettyjä solmupareja eli kaaria

Relevanttien sivujen etsintä verkosta: satunnaiskulut verkossa Linkkikeskukset ja auktoriteetit (hubs and authorities) -algoritmi

Todellinen vuosikorko. Efektiivinen/sisäinen korkokanta. Huomioitavaa

1 Kannat ja kannanvaihto

Algoritmit 2. Luento 13 Ti Timo Männikkö

Yhtälöryhmä matriisimuodossa. MS-A0007 Matriisilaskenta. Tarkastellaan esimerkkinä lineaarista yhtälöparia. 2x1 x 2 = 1 x 1 + x 2 = 5.

verkkojen G ja H välinen isomorfismi. Nyt kuvaus f on bijektio, joka säilyttää kyseisissä verkoissa esiintyvät särmät, joten pari

Algoritmit 1. Luento 13 Ti Timo Männikkö

2. Seuraavassa kuvassa on verkon solmujen topologinen järjestys: x t v q z u s y w r. Kuva 1: Tehtävän 2 solmut järjestettynä topologisesti.

Johdatus graafiteoriaan

1. (a) Seuraava algoritmi tutkii, onko jokin luku taulukossa monta kertaa:

Algoritmit 1. Luento 13 Ma Timo Männikkö

Katsaus korruption vaikutuksesta Venäjän alueelliseen talouskasvuun ja suoriin ulkomaisiin investointeihin

Etsintä verkosta (Searching from the Web) T Datasta tietoon Jouni Seppänen

Malliratkaisut Demot

Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun

! #! %! & #!!!!! ()) +

Induktiotodistus: Tapaus n = 0 selvä; ol. väite pätee kun n < m.

PARITUS KAKSIJAKOISESSA

Joonas Haapala Ohjaaja: DI Heikki Puustinen Valvoja: Prof. Kai Virtanen

Department of Mathematics, Hypermedia Laboratory Tampere University of Technology. Arvostus Verkostoissa: PageRank. Idea.

Harjoitus 3 ( )

13 Lyhimmät painotetut polut

Algoritmit 2. Luento 12 To Timo Männikkö

Kombinatorinen optimointi

10.2. Säteenjäljitys ja radiositeettialgoritmi. Säteenjäljitys

Nollasummapelit ja bayesilaiset pelit

T Kevät 2003 Logiikka tietotekniikassa: erityiskysymyksiä I Laskuharjoitus 11 Ratkaisut

Valitaan alkio x 1 A B ja merkitään A 1 = A { x 1 }. Perinnöllisyyden nojalla A 1 I.

Tietorakenteet ja algoritmit

= 5! 2 2!3! = = 10. Edelleen tästä joukosta voidaan valita kolme särmää yhteensä = 10! 3 3!7! = = 120

Harjoitus 6 ( )

j(j 1) = n(n2 1) 3 + (k + 1)k = (k + 1)(k2 k + 3k) 3 = (k + 1)(k2 + 2k + 1 1)

Esimerkki: Tietoliikennekytkin

Ellipsoidimenetelmä. Samuli Leppänen Kokonaislukuoptimointi. S ysteemianalyysin Laboratorio

Martingaalit ja informaatioprosessit

Dominointianalyysi. Teppo Niinimäki. Helsinki Approksimointialgoritmit HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Liite 1. Laajennettu Eukleideen algoritmi suoraviivainen tapa

Tentissä on viisi tehtävää, jotka arvosteellaan asteikolla 0-6. Tehtävien alakohdat ovat keskenään samanarvoisia ellei toisin mainita.

Mat Lineaarinen ohjelmointi

Malliratkaisut Demot

Jäsenyysverkostot Kytkökset ja limittyneet aliryhmät sosiaalisten verkostojen analyysissä

MS-A0204 Differentiaali- ja integraalilaskenta 2 (ELEC2) Luento 7: Pienimmän neliösumman menetelmä ja Newtonin menetelmä.

Tietorakenteet, laskuharjoitus 7, ratkaisuja

T Luonnollisen kielen tilastollinen käsittely Vastaukset 3, ti , 8:30-10:00 Kollokaatiot, Versio 1.1

Algoritmit 1. Luento 12 Ke Timo Männikkö

2.2 Gaussin eliminaatio. 2.2 Gaussin eliminaatio. 2.2 Gaussin eliminaatio. 2.2 Gaussin eliminaatio

Algoritmit 1. Luento 12 Ti Timo Männikkö

Silmukkaoptimoinnista

Johdatus verkkoteoriaan luento Netspace

Monitavoitteiseen optimointiin soveltuvan evoluutioalgoritmin tarkastelu

Useaa tietolähdettä käyttävä klusterointi

T : Max-flow / min-cut -ongelmat

T Luonnollisten kielten tilastollinen käsittely Vastaukset 11, ke , 12:15 14:00 Puheentunnistus ja kielimallien evaluointi Versio 1.

Graafin 3-värittyvyyden tutkinta T Graafiteoria, projektityö (eksakti algoritmi), kevät 2005

1. Lineaarinen optimointi

14. Luennon sisältö. Kuljetustehtävä. Verkkoteoria ja optimointi. esimerkki. verkkoteorian optimointitehtäviä verkon virittävä puu lyhimmät polut

MS-A0207 Differentiaali- ja integraalilaskenta 2 (Chem) Yhteenveto, osa I

10. Painotetut graafit

j n j a b a c a d b c c d m j b a c a d a c b d c c j

Näytetään nyt relaatioon liittyvien ekvivalenssiluokkien olevan verkon G lohkojen särmäjoukkoja. Olkoon siis f verkon G jokin särmä.

Ympyrä 1/6 Sisältö ESITIEDOT: käyrä, kulma, piste, suora

Transkriptio:

hyväksymispäivä arvosana arvostelija Keskusaliverkkojen etsiminen kyselysolmujen välillä laajoista verkoista Pekka Maksimainen Helsinki 16.2.2009 Tiedon louhinnan seminaari HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI Tiedekunta Fakultet Faculty Laitos Institution Department Matemaattis-luonnontieteellinen tiedekunta Tekijä Författare Author Pekka Maksimainen Työn nimi Arbetets titel Title Tietojenkäsittelytieteen laitos Keskusaliverkkojen etsiminen kyselysolmujen välillä laajoista verkoista Oppiaine Läroämne Subject Tietojenkäsittelytiede Työn laji Arbetets art Level Aika Datum Month and year Sivumäärä Sidoantal Number of pages Tiedon louhinnan seminaari 16.2.2009 13 sivua Tiivistelmä Referat Abstract Sosiaaliset verkot muodostuvat ihmisten välisistä yhteyksistä. Ystäväpiirit, tiedeyhteisöt ja työntekijöiden hierarkiset suhteet muodostavat laajoja verkostoja ihmisten välille. Verkkoon kuulumista voidaan mitata useilla eri tavoilla. Perinteisesti tiedeyhteisöissä yhteistyönä tehtyjä tieteellisiä julkaisuja on käytetty tutkittavan sosiaalisen verkon rakentamisen pohjana. Monet tutkijat tekevät julkaisuja kymmenien muiden tutkijoiden kanssa, mistä voidaan päätellä paljon tutkijoiden keskinäisistä suhteista. Vastaavasti työntekijöiden välillä löydetään helposti yhteyksiä, kun tarkastellaan missä yrityksissä ja keiden kanssa henkilöt ovat työskennelleet. Ystäväpiirit jakavat usein keskenään puhelinnumeroita, sähköpostiosoitteita ja sosiaalisten verkkopalveluiden yhteystietojaan. Sosiaalinen verkosto ei ole siis yksiselitteisesti määriteltävissä vaan se on tehtävä tutkimusaluekohtaisesti. Verkostoihin sisältyy paljon piilossa olevaa informaatiota, jota ei voi välittömästi verkkoa katsoessa havaita. Usein verkoista löytyy ihmisiä, jotka syystä tai toisesta ovat suositumpia kuin keskimäärin muut verkon jäsenet. Suositut verkon jäsenet toimivat linkkeinä muiden verkon jäsenten välillä. Esitetyissä esimerkkiverkostoissa esimerkiksi paljon julkaisuja tekevä tutkija tai ystäväpiirin suosituin henkilö toimivat tärkeinä sosiaalisina linkkeinä. Tällaisten solmujen löytäminen verkoista on yksi kiinnostava tutkimusalue. Yksittäisten solmujen sijaan on yhteyksien etsiminen kahden verkon jäsenen välillä myös ilmeinen tutkimuskohde. Polun löytyminen jäsenten välillä kertoo, että henkilöt ovat jollakin tasolla yhteydessä toisiinsa. Verkon ominaisuuksien, esimerkiksi kaarien painon mukaan polkujen tärkeyttä voidaan arvioida. Tässä raportissa esitellään kaksi menetelmää, joilla voidaan etsiä verkosta henkilöitä yhdistävä keskusaliverkko. Keskusaliverkko on joukko polkuja haettavien solmujen välillä siis hakusolmut yhdistävä verkko. Hyvä hakumenetelmä pystyy tehokkaasti etsimään laajoistakin verkoista kyselyn avainsolmuihin liittyvät solmut. Faloutsos et al. esittää julkaisussaan [FMT04] hakumenetelmän sosiaalisiin verkkoihin. Menetelmä soveltuu tapauksiin, joissa hakusolmuja on kaksi. Monelle kyselysolmulle yleistetty menetelmä esitellään julkaisussa [TF06], joka pohjautuu vahvasti [FMT04]:ssa esitettyihin ideoihin. Menetelmä esittelee uudentyyppisen k_sof tan D-relaation ORja AND-relaatioiden väliin. Myös uusi relaatio esitellään tässä raportissa tarkasti. Julkaisussa esitetään myös menetelmä nopeuttaa aliverkkojen löytämistä kyselysolmujen sijaintiin perustuen osittamalla alkuperäinen verkko. Osittaminen ei takaa samaa tulosta kuin täydellä verkolla, mutta algoritmi suoriutuu nopeammassa ajassa. Lopuksi menetelmiä verrataan keskenään kokeellisesti DBLP-datajoukolla. Kokeelliset testitulokset käsitellään vain lyhyesti, sillä menetelmien arviointi riippuu paljon valittaasta verkosta ja kyselysolmujen valinnasta. Avainsanat Nyckelord Keywords Tiedon louhinta, sosiaaliset verkot Säilytyspaikka Förvaringsställe Where deposited Muita tietoja övriga uppgifter Additional information

1 Johdanto 2 Sosiaaliset verkot kuvaavat ihmisten välisiä yhteyksiä. Yhteyksiä syntyy, kun ihmiset ovat tekemisissä toistensa kanssa ystäväpiirit, tiedeyhteisöt ja työyhteisöt ovat hyviä esimerkkejä sosiaalisia verkkoja luovista ympäristöistä. Yksittäisillä verkon jäsenillä on useimmiten muutamasta kymmeniin kontakteja muihin verkon jäseniin. Enimmillään yhteyksiä on ehkäpä satoja, mutta usein kontakteista vain osa on sosiaalisessa mielessä vahvoja. Vahvoiksi yhteyksiksi voidaan laskea esimerkiksi ystävät, joihin pidetään yhteyttä jatkuvasti ja heikommiksi yhteyksiksi vanhat työtoverit. Tutkimuskohteen ja käytettävän menetelmän puitteissa on määriteltävä mikä lasketaan kahden ihmisen väliseksi yhteydeksi. Sosiaalisissa verkoissa on tavanomaista, että ihmiset muodostavat ryhmittymiä joissa yksittäisillä ihmisillä on yhteyksiä vain lähipiirin henkilöihin. Tuhansien tai miljoonien ihmisten verkossa suorat yhteydet kahden henkilön välillä ovat harvinaisia. Tavoitteena on löytää verkossa kahden tai useamman solmun välinen aliverkko, joka parhaiten yhdistäää solmut toisiinsa. Sosiaalisissa verkoissa solmuilla ei aina ole selkeää yhteyttä, jolloin aliverkko saattaa löytyä, mutta se ei ole vahva. Tällaisia yhteyksiä löytyy erityisesti ihmisryhmien välillä, jotka työskentelevät eri aloilla. Aliverkon paremmuuden arviointi onkin haastavaa. Ongelman yleisestä luonteesta huolimatta ongelman ratkaisemiseksi ei ole julkaistu aikaisemmin juurikaan menetelmiä. Tässä raportissa käymme läpi kaksi menetelmää yhtenäisen aliverkon löytämiseksi. Menetelmien tarkemmissa kuvauksissa esitetään myös tapa mitata yhdistävän verkon hyvyyttä. Jännitteenmaksimointimenetelmä [FMT04] löytää yhdistävän aliverkon kahden kyselysolmun tapauksessa. Menetelmässä alkuperäisen verkon kahdelle solmulle annetaan jännitteet +1 ja 0, jonka jälkeen simuloimalla sähköverkon toimintaa löydetään solmut yhdistävä aliverkko. Jännitteen maksimointi rajoittuu vain kahden kyselysolmun tapaukseen. Useamman kuin kahden kyselysolmun salliminen on ilmeinen tapa parantaa menetelmää. Yleistys usean kyselysolmun tapaukseen esitetään julkaisussa [FMT04]. Yleistäminen perustuu uudenlaiseen relaatio-kyselyyn k_sof tan D. Esitetyn k_sof tan D- relaation avulla verkoista voidaan etsiä relaatioita ehdolla k siten, että jokaisella kyselysolmulla on vähintään k-yhteyttä muihin kyselysolmuihin. Relaatio eroaa ANDja OR-relaatioista oleellisesti, sillä AND-relaatio vaatii yhteyttä kaikkiin muihin kyselysolmuihin ja OR-relaatio vähintään yhteen. Relaation k_sof tan D avulla relaatiossa ei kaikkien solmujen tarvitse liittyä toisiinsa, mutta kuitenkin vähintään annetun määrän k verran. Tarkempi kuvaus k_softand-relaatiosta esitetään kappaleessa 4. Relaatio on hyödyllinen, sillä parametria k muuttamalla voidaan tulosaliverkon rakenteeseen vaikuttaa merkittävästi. Kuvassa 1 on esitetty tapaus, jossa sosiaalisesta verkosta etsitään kyselysolmut Agrawal, Vapnik, Han ja Jordan yhdistävää verkkoa. Kaikki henkilöt ovat tutkijoita, mutta Agrawal ja Han ovat keskittyneet tietokantoihin Vapnikin ja Jordanin tutkiessa koneoppimista. Koska AND-relaatio vaatii polkua

kaikkien kyselysolmujen välillä, muodostuu tulosverkosta yhtenäinen komponentti. Hyödyntämällä esitettävää k_sof tan D-relaatiota on mahdollista vaatia tulosverkosta määriteltyä vahvuutta k. Kun k = 2, niin kuvan 2 tulosverkosta löydetään kaksi komponenttia. Tietokanta- ja koneoppimistutkijat muodostavat nyt omat komponenttinsa. Keskusaliverkkojen etsiminen liittyy läheisesti yhteisöjen löytämiseen verkoista. Yhteisöt muodostuvat vahvoista sosiaalisista suhteista pienen ryhmän kesken. Keskusaliverkot ovat juuri tällaisia verkkoja. Esitettäviä menetelmiä ei voida kuitenkaan suoraan hyödyntää yhteisöjen löytämiseen verkoista, sillä kyselysolmut voidaan valita verkosta vapaavalintaisesti. On mahdollista, että kyselysolmut kuuluvat eri yhteisöihin, jolloin keskusaliverkko ei kuvaa yhteisön rakennetta. Raportissa esitellään ratkaistavan ongelman yleinen luonne ja aiemmin tunnettujen menetelmien puutteita kappaleessa 2. Kappaleessa 3 ja 3 esitetään jännitteenmaksimointimenetelmä ja CEPS vastaavasti. Kappaleen 3 yhteydessä määritellään myös ratkaisumalli ja termistöä, jota käytetään myös kappaleen 3 CEPS-algoritmissa. Kappaleen 5 EXTRACT-algoritmi esittää tavan rakentaa etsittävä keskusaliverkko. CEPS-menetelmän optimointitapoja sekä tuloksia esitetään kappaleessa 6. Yhteenveto kappaleessa 7 esittää kertauksen esitettyihin menetelmiin ja esittää kolme menetelmillä tuotettua keskusaliverkkoa DBLP-verkosta. Myös pohdintaa jatkokehityksestä on esitetty lyhyesti. 3 Kuva 1: K_softAND-kysely, jossa k = 2 Kuva 2: AND-kysely

2 Ongelman määrittely 4 Ongelman määrittely on keskusaliverkon (Center-Piece Subgraph, CEPS) 1 löytäminen annettujen kyselysolmujen välillä. Keskusaliverkko on verkko, joka yhdistää kyselysolmut toisiinsa. Aikaisemmin ongelmaa on lähestetty etsimällä verkosta lyhintä polkua tai maksimoimalla vuo. Menetelmät eivät kuitenkaan tuota verkkoa, joka vastaa sosiaalista läheisyys-käsitettä. Menetelmien yleinen ongelma on huomioida solmut, joiden asteluku on suuri. Julkisuuden henkilöillä on usein yhteyksiä satoihin tai tuhansiin muihin ihmisiin. Sosiaalisessa verkossa kuuluisan ihmisen tunteminen ei kuitenkaan juurikaan lähennä henkilöä kuuluisuuden takana sijaitseviin ihmisiin. Lyhimmän polun ja vuon maksimoinnin haittapuolia on esitetty kuvan 3 verkossa. Verkon kaikkien kaarien paino on 1. Lyhin polku solmusta s solmuun t kulkee joko solmun 3 tai 4 kautta. Solmulla 4 on kuitenkin yhteyksiä yli sataan muuhun solmuun, joten sosiaalisesti yhteys solmun 3 kautta on vahvin. Lyhimmän polun menetelmä ei havaitse eroa polkujen välillä. Vuon maksimointi ei taas havaitse eroa polkujen s, 1, 2, t ja s, 3, t välillä. Kuva 3: Esimerkkiverkko, jossa lyhin polku ja vuon maksimointi -menetelmät eivät löydä intuitiivisesti vahvinta sosiaalista yhteyttä kyselysolmujen s ja t välillä. 3 Jännitteen maksimointi Jännitteen maksimoinnissa verkosta valitaan kaksi tutkittavaa solmua, joille annetaan jännitteet +1 ja 0. Simuloimalla sähköverkon toimintaa löydetään haluttu keskusaliverkko, joka yhdistää kyselysolmut. Syöte: Painotettu verkko W, kyselysolmut s ja t ja verkon maksimikoko b. Tulos: Aliverkko H joka a) sisältää kyselysolmut s ja t, b) enintään b muuta solmua ja c) maksimoi hyvyysfunktion g(h). 1 Faloutsos et al. käyttävät termiä yhdisteverkko (connection subgraph) julkaisussaan [FMT04] kuvailemaan kahta kyselysolmua yhdistävää tulosverkkoa. Yhdisteverkko on kuitenkin keskusaliverkon erikoistapaus, kun kyselysolmuja on vain kaksi.

Hyvyysfunktio g on tulosverkon H hyvyyden mitta. Hyvyyden mitaksi valitaan välitetty virta solmusta s solmuun t. Virran johtuminen verkossa määritellään Ohmin ja Kirchon laeilla: 5 ja u, v : I(u, v) = C(u, v)(v (u) V (v)) v s, t : u I(u, v) = 0. I(u, v) on sähkövirran määrä solmujen u ja v välillä, C(u, v) on konduktanssi (siis johtavuus) ja V (u, v) jännite. Solmujen välinen johtavuus voidaan ajatella kaarien painona, mikä tiedetään verkosta. Lakien avulla voidaan laskea kaikkien verkon solmujen jännitteet V (u) = v V (v)c(u, v)/c(u) u s, t, missä C(u) on solmun u kaikkien kaarten konduktanssien summa v C(u, v). Solmusta u lähtevän kaaren e johtavuus on analoginen todennäköisyyteen siirtyä solmusta u pitkin kaarta e. CEPS-menetelmän tarkemmassa kuvauksessa huomaamme, että sähköverkon simulointi voidaan yhtä hyvin ajatella satunnaiskävelynä solmusta t. Esitetyt lait eivät vielä takaa toivottuja ominaisuuksia tulosverkolle H. Kuvassa 3 polut s 3 t ja s 4 t välittävät yhtä paljon virtaa ja siten ne olisivat yhtäläisiä algoritmin kannalta. Ratkaisu on lisätä verkkoon yksi maadoitettu nielu (V (z) = 0), josta on kaari kaikkiin verkon muihin solmuihin. Kaarien konduktanssiksi valitaan C(u, z) = α w z C(u, w) jollakin painolla α > 0. Nielusolmu painottaa kaikkia verkon solmuja niiden asteluvun mukaan. Suuren asteluvun solmut siis menettävät johtavuuttaan, sillä osa virrasta ohjautuu nieluun. Myös pitkät polut tulevat epätodennäköisemmiksi, sillä jokaisella polun solmulla on kaari nieluun ja siten pitkällä polulla johtavuus pienenee jokaisella solmulla. Sähköverkon jännitteiden laskemisen jälkeen verkosta on mahdollista etsiä polkuja, joissa johtavuus on paras lähde- ja kohdesolmujen välillä. Tavoitteena on esittää rajallisen kokoinen aliverkko (rajoitus b tulosverkon H koolle), jossa johtavuus on paras mahdollinen. Verkon H sopiva koko testiaineistossa on noin 20-30 solmua. Kasvattamalla b suuremmaksi kuin 30 ei vaikuta huomattavasti tulosverkon H johtavuuteen. Määritellään käsitteitä, joita tarvitaan tulosverkon H rakentamiseksi. SALLITTU ETENEMISSOLMU: Solmu v on sallittu etenemissolmu solmusta u, jos V (u) > V (v), siis I(u, v) > 0.

ULOSVIRTAUS: Solmu u johtaa virtaa ulos määrällä I out (u) = v u v I(u, v). MÄÄRÄTTY POLKU: Määrätty polku P (s, u) on sallittuja etenemissolmuja pitkin kulkeva polku, joka alkaa kyselysolmusta s ja päättyy solmuun u. POLUN VIRTA: Polun P välittämä virta lasketaan induktiivisesti: 1. Î(s, u) = I(s, u), jos kaari (s, u) on olemassa 2. Î(s,..., u i ) = Î(s,..., u i 1) I(u i 1,u i I out (u i 1 ) KOKONAISVIRTA: Saavutettu virta on aliverkon H kaikkien polkujen yhteenlaskettu virtaus CF (H) = g(h) = P ={s,...,t} H Î(P ). Näytettävä tulosverkko H alustetaan ensin tyhjäksi. Verkkoon lisätään iteratiivisesti polkuja solmusta s solmuun t, jotka kulkevat sallittuja etenemissolmuja pitkin. Uutta polkua lisättäessä on mahdollista, että osa uuden polun solmuista on jo lisätty aikaisempien polkujen yhteydessä. Algoritmi suosii tällaisia polkuja, sillä verkon koko ei kasva jos uusi polku voidaan lisätä käyttäen hyväksi jo olemassa olevia solmuja. Lisättävä polku on siis se, jolla on paras johtavuus lisättäviä solmuja kohden. Mentelmän huonona puolena on sen riippuvuus kyselysolmujen järjestyksestä. Löydetty keskusaliverkko ei välttämättä ole sama, kun kyselysolmujen jännitteiden +1 ja 0 järjestystä vaihdetaan. 6 4 CEPS CEPS-algoritmi on jännitteen maksimoinnin usealle kyselysolmulle yleistetty menetelmä. Yhtäläisyydet menetelmien välillä ovat siten huomattavat. Ratkaistava ongelma määritellään nyt yleisemmin. Verkosta valitaan kaksi tai useampia solmuja, joita yhdistävä ja hyvyysfunktion maksimoiva aliverkko halutaan löytää. Jännitteen maksimoinnissa verkon toimintaa simuloitiin sähköverkon tavoin, kun kaksi verkon solmua on aluksi kiinnitetty jännitteisiin +1 ja 0. Sähköverkossa kukin kaari saa painoarvon kaaren johtavuuden mukaan. Jännitteiden kiinnitys vain arvoihin +1 ja 0 voidaan kuitenkin kiertää, jolloin menetelmä soveltuu useille kyselysolmulle. Jokaisen kyselysolmun voidaan ajatella säteilevän vierussolmuihin kaarien painoarvojen mukaisesti. Säteily jatkuu vierussolmuista jälleen eteenpäin, mitä jatkamalla verkon kaikille kaarille saadaan laskettua todennäköisyys tulla käytetyksi kuljettaessa lähtösolmusta j. Samoin kuin sähköverkon simulointi on säteilyn simulointi paremmin tunnettu satunnaiskävelynä. Annetut esimerkit sähköverkosta ja säteilystä kuvaavat molemmat satunnaiskävelymenetelmää.

7 Aikaisemmin tulosverkon hyvyyttä arvioitiin sen sisältämien polkujen välittämästä virrasta. Nyt määrittelemme yleisemmin hyvyysfunktiot, joilla mitataan alkuperäisen verkon W solmujen hyvyyttä joko suhteessa kyselysolmuun q i tai koko kyselyjoukon Q solmuihin. Jokaiselle verkon solmulle j {1,..., N} voidaan laskea kaksi hyvyysarvoa: Solmun j hyvyys r(i, j) suhteessa kyselysolmuun q i Solmun j hyvyys r(q, j) suhteessa kyselyjoukon kaikkiin solmuihin Q Verkon W kunkin solmun hyvyys määräytyy sen esiintymistiheydestä toistetuilla satunnaiskävelypoluilla kyselysolmuista (q i {i = 1,..., Q = Q }) Q. Satunnaiskävely on solmusta lähtevä satunnainen reitti, joka palaa lähtösolmuun todennäköisyydellä c. Kävely etenee seuraavaan solmuun seuraamalla jotakin kaarta suhteessa kaaren painoon. Toistamalla kävelyä saadaan konvergoitua todennäköisyys r(i, j) päätyä solmuun j kyselysolmusta q i. Nämä todennäköisyydet voidaan laskea ja tallentaa matriisiin R. Kohtaamistilan todennäköisyys tarkoittaa k:n satunnaiskävelyn kyselyjoukosta Q päätyvän samaan solmuun j. R:n alkiot edustavat satunnaiskävelyjen todennäköisyyksiä kyselysolmuista Q kaikkiin verkon W solmuihin. Satunnaiskävelyjen todennäköisyydet päätyä verkon W solmuihin voidaan laskea kaavalla 1 rekursiivisesti. R T = cr T W + (1 c)e, (1) missä E = [ e i ](i = 1,..., Q) on N Q ykkösmatriisi, (1 c) on etenemistodennäköisyys ja W on vierekkäisyysmatriisi W normalisoituna. Normalisointi tehdään asteluvun mukaan W = W D 1, missä D on W :n astelukumatriisi. Iteroimalla yhtälöä 1 matriisin R alkiot suppenevat kohti hyvyysarvoja. Yksittäisten solmujen hyvyysarvojen r(i, j) yhdistämisellä voidaan laskea yksittäisen solmun j hyvyysarvo r(q, j) kyselyjoukossa Q. Solmun j hyvyysarvoksi joukossa Q voidaan valita kohtaamistodennäköisyys, jossa k satunnaiskävelyä kyselysolmuista Q päätyy solmuun j. Jälleen hyvyysarvo olisi mahdollista määritellä eri tavoin, jos verkon rakenteesta tai tutkimuskohteesta pystyttäisiin tekemään hyvyysfunktioon vaikuttavia oletuksia. Nyt esitettävässä sosiaalisen verkon tapauksessa hyvyysfunktion mitaksi käy hyvin kohtaamistodennäköisyys. Valitsemalla k eri tavoin pystytään vaikuttamaan tulosjoukkoon valittuihin solmuihin. Aliverkon H hyvyyttä arvioidaan sen sisältämien solmujen hyvyydellä. Mitä enemmän tärkeitä solmuja aliverkossa on sitä parempi valittu aliverkko H on. Aliverkon H hyvyys määritellään siis g(h) = j H r(q, j) Paras aliverkko on se, joka maksimoi hyvyysfunktion

8 H = argmax H g(h) Hyvyyden maksimointi ei takaa verkon yhtenäisyyttä. Valitut solmut voivat muodostaa verkon, jossa solmut eivät kuulu samaan yhtenäiseen komponenttiin. Solmut pitää siis valita siten, että verkon H rakenne säilyy yhtenäisenä maksimoiden hyvyysfunktion. Jännitteen maksimoinnista täysin poiketen CEPS-menetelmässä määritellään myös parametri k johdannossa mainittua relaatiota k_sof tan D varten. K_sof tan D- relaatio on intuitiivisesti AND- ja OR-relaatioiden välissä oleva relaatio. Relaatiossa valitaan muuttuja k välillä 1... Q, jossa k määrittelee kuinka moneen kyselysolmuun haun tulossolmujen pitää vähintään liittyä ja Q on kyselysolmujen määrä. Relaatiolla voidaan määritellä AND ja OR valitsemalla k sopivasti. AND-relaatio k_sof tan D-relaatiolla toteutuu silloin, kun vaaditaan k:n olevan yhtä suuri kuin kyselyjoukon koko tällöin tulosjoukon jokaisen solmun pitää liittyä kaikkiin kyselyjoukon solmuihin. Q AND r(q, j) r(q, j, Q) = r(i, j). i=1 OR-relaatio saadaan määrittelemällä k = 1, jolloin relaatiossa riittää, että tulosverkon solmu liittyy yhteen tai useampaan kyselyjoukon solmuun. Q OR r(q, j) r(q, j, 1) = 1 (1 r(i, j)). i=1 AND- ja OR-relaatioiden välissä, jolloin 1 < k < Q, on k_softand-relaatio. Tätä hyvyysarvoa kutsutaan kohtaamistodennäköisyydeksi. Tällöin tulosjoukon solmut liittyvät vähintään k:hon kyselyjoukon solmuun. Kaikki relaatiot voidaan siis laskea rekursiivisesti kaavalla 2. r(q, j, k) = r( Q, j, k 1) r(q, j) + r( Q, j, k), (2) missä Q = {q i }, (i = 1,..., (Q 1)) ja r(, j, 0) = 1(j = 1,..., Q). Rekursio johtaa lopulta siihen, että Q =. Tällöin hyvyysarvofunktion arvo on määritelty ja koko rekursion arvo voidaan laskea. Menetelmän syöte ja tulosverkko voidaan nyt määritellä jännitteen maksimointia vastaavalla tavalla, mutta lisäparametrina välitetään k_sof tan D-relaation parametri k. Syöte: Painotettu verkko W, Q:n kyselysolmun joukko Q = q i (i = 1,..., Q), softand-kerroin k ja verkon maksimikoko b. Tulos: Aliverkko H joka a) sisältää kaikki kyselysolmut q i, b) enintään b muuta solmua ja c) maksimoi hyvyysfunktion g(h).

Algoritmi keskusaliverkon laskemiseksi on esitetty algoritmissa 3. Askeleessa 3 esitetty EXT RACT -algoritmi on tulosverkon rakentamisalgoritmi. Jännitteen maksimoinnissa tulosverkko rakennettiin iteratiivisesti etsimällä polkuja lähdesolmusta s kohdesolmuun t. Usean solmun tapauksessa vastaava rakennusmenetelmä ei toimi. EXT RACT -algoritmin tarkka kuvaus esitetään kappaleessa 5. Algoritmi 1 CEP S Syöte: Painotettu verkko W, kyselysolmut Q, k_sof tan D-kerroin k ja verkon maksimikoko b Tulos: Aliverkko H Askel 1: Yksittäisten solmujen hyvyysarvot. Laske kaikille solmuille j hyvyysarvo r(i, j) suhteessa kyselysolmuun q i Askel 2: Yksittäisten hyvyysarvojen yhdistäminen. Laske kaikille solmuille j yhdistetyt hyvyysarvot r(q, j) suhteessa koko kyselyjoukkoon Q Askel 3: "EXTRACT". Erota koko verkosta W haluttu enintään b:n kokoinen aliverkko H, joka maksimoi hyvyyskriteerin g(h) 9 5 EXTRACT EXT RACT -algoritmi etsii alkuperäisestä verkosta W kyselysolmujen Q keskusaliverkon. Optimaalisen ratkaisun löytämiseksi yhdistäviä polkuja ei rakenneta jännitteen maksimoinnin tapaan suoraan kyselysolmujen välille. Sen sijaan kyselysolmuista rakennetaan polkuja lupaavaan solmuun pd, jolloin kyselysolmut yhdistyvät solmun pd kautta. Polkuja lupaaviin solmuihin lisätään kunnes verkon kokorajoitus b tulee vastaan. Lupaava solmu valitaan verkosta W siten, että se maksimoi hyvyysfunktion suhteessa kyselyyn Q : pd = argmax j / H r(q, j), missä H on senhetkinen tulosverkko. Jännitteen maksimoinnista tutulla tavalla määrittelemme joukon ehtoja. Osa ehdoista on samoja kuin jännitteen maksimoinnissa, mutta esitystapaa on yleistetty. Uusia määrittelyjä ovat osittainen polkumatriisi ja aktiivinen kyselysolmu. SALLITTU ETENEMISSOLMU: Solmu u on etenemissolmu solmusta v suhteessa kyselyyn q i jos r(i, v) > r(i, u). MÄÄRÄTTY POLKU: Määrätty polku P (i, u) on polku sallittuja etenemissolmuja pitkin, joka alkaa kyselysolmusta q i ja päättyy solmuun u. OSITTAINEN HYVYYS: Osittainen hyvyys on aliverkon H kaikkien solmujen kokonaishyvyys CF (H) = j H r(q, j). OSITTAINEN POLKUMATRIISI: C s (i, u) on osittainen hyvyysarvo kyselysolmusta q i solmuun u määrättyä polkua P (i, u) pitkin siten, että: 1. Polussa P (i, u) on s solmua, jotka eivät ole rakennetussa aliverkossa H.

2. Polku P (i, u) tuottaa suurimman hyvyysarvon kaikista niistä poluista, jotka alkavat q i :stä ja päättyvät solmuun u. AKTIIVINEN KYSELYSOLMU: Kyselysolmu q i on aktiivinen suhteessa lupaavimpaan solmuun pd jos r(i, pd) r (k) (i, pd), missä r (k) (i, pd) on k:nneksi suurin arvo kaikista r(i, pd), (i = 1,..., Q). Tulosverkko H alustetaan aluksi tyhjäksi. Sitten verkosta valitaan lupaava solmu pd, johon etsitään jokaisesta aktiivisesta kyselysolmusta q i polku, joka täyttää osittaisen polkumatriisin ehdon C s (i, pd). Nämä polut lisätään tulosverkkoon H, minkä jälkeen valitaan uusi lupaava solmu ja suoritusta toistetaan kunnes tulosverkossa H on b solmua. Lisäysvaiheessa ei välttämättä lisätä polkua kaikista kyselysolmuista verkkoon H, jos relaation k_sof tan D ehto k on jo täyttynyt. Verkkoon lisätään siis vain polut aktiivisista kyselysolmuista. Ehdon myötä heikoimmat polut jäävät lisäämättä. 10 6 CEPSin optimointi Verkon W ollessa suuri tulee hyvyysarvomatriisista R suuri, sillä N:n solmun verkossa hyvyysarvomatriisin koko on N Q. Suurin osa hyvyysarvoista on kuitenkin lähellä nollaa, koska oletettavasti vain pieni osa verkon W solmuista liittyy oleellisesti kyselysolmuihin Q. Siten alkuperäinen verkko on mahdollista osittaa pienempiin aliverkkoihin ja valita tutkittavaksi vain ne aliverkot, joissa kyselyjoukon Q solmut esiintyvät. Verkkojen osittamiseen on kehitetty useita algoritmeja. Jonkin tietyn osiointimenetelmän kuvaus sivuutetaan ja toteamme vain, että alkuperäinen verkko W voidaan osittaa pienempiin aliverkkoihin käyttämällä jo tunnettuja menetelmiä. Optimointimenetelmien mittaamiseksi tarvitsemme hyvyysmitan. Eräs tapa mitata tulosverkon H hyvyyttä on laskea verkon solmujen ja kaarien hyvyysarvojen summa erikseen. Mitä lähempänä hyvyysarvojen summa on verkon W hyvyyttä sitä paremmin tulosverkko kuvaa tärkeimpiä liitoksia. Hyvyysmitta solmuille: Tulosverkon H hyvyyttä voidaan arvioida tärkeiden solmujen määrällä suhteessa koko tulosverkkoon. Hyvyys määritellään siis NRatio = j H r(q, j) j W r(q, j). Vastaavasti voidaan tarkastella hyvien kaarien määrää H:ssa, ERatio = (j,l) H r(q, (j, l)) (j,l) W r(q, (j, l)). Kaaren (j, l) hyvyys määritellään vastaavasti kuin solmun hyvyys mitä todennäköisemmin kaari esiintyy kyselyjen Q poluissa sitä tärkeämpi kaari on. Kaaren tärkeys r(i, (j, l)) suhteessa kyselysolmuun q i määritellään

11 r(i, (j, l)) = 1 2 (r(i, j) W l,j + r(i, l) W j,l ). Verkon kaarien painokertointen painotus edelleen solmujen asteluvun d j mukaan parantaa tärkeiden solmujen ja kaarien löytämistä kappaleen 5 EXTRACTalgoritmilla. Verkon W siirtymille lasketaan siten uusi normalisoitu painokerroin w j,l w j,l /d α j, j, l = 1,... N. Solmut joiden asteluku on suuri ovat yhteydessä useisiin verkon muihin solmuihin. Tällaiset solmut varastavat muilta solmuilta esiintymistodennäköisyyttä tulosjoukossa. Ongelma pystytään ratkaisemaan ottamalla verkon kaarien painotuksessa huomioon myös solmujen asteluku. Korkean asteluvun solmujen kaarille annetaan pienempi paino, joten niiden esiintyminen tulosjoukossa ei ole yhtä todennäköistä. Vastaavasti pienen asteluvun solmut saavat suhteessa korkeamman painokertoimen, joten kyselyn osuessa tällaiseen solmuun todennäköisyys esiintyä myös tulosjoukossa on suurempi. Painotuskertoimen α vaikutus tärkeiden kaarien esiintymiseen tulosverkossa on esitetty kuvassa 4. Sopivin arvo painolle α testiverkossa on 0.5, koska tällöin verkossa esiintyy suurin määrä tärkeitä kaaria. Toisaalta tulos on kiinnitetty DBLP-joukkoon sekä neljään kyselysolmuun. Eri datajoukolla ja suuremmalla kyselysolmujen määrällä α:n valinta voi olla perusteltua tehdä toisin. Tong et al. eivät esitä kattavia testituloksia tai vertailuja muihin menetelmiin vain valikoidut esimerkkikyselyt DBLP-verkkoon. Kuva 4: Löydettyjen kaarien tärkeys normalisointikertoimen α funktiona

7 Yhteenveto 12 Sosiaalisten verkostojen louhiminen aiemmin tunnetuilla ja yleisesti käytetyillä menetelmillä (mm. lyhin polku, vuon maksimointi) ei tuota intuitiivisesti odotettuja tuloksia. Määrittelemällä ongelma ja esittämällä siihen kaksi ratkaisumallia on sosiaalisten verkkojen louhinnalle perustettu selkeä pohja. Jännitteen maksimointi ja CEPS ratkaisevat saman ongelman, jossa CEPS esitetyillä hyvyyskriteereillä löytää aina vähintään yhtä vahvan keskusaliverkon kuin jännitteenmaksimointimenetelmä. CEPS on myös riippumaton kyselysolmujen järjestyksestä, mikä on usein toivottu ominaisuus. Menetelmien vertailuna voidaan esittää kysely DBLP-tietokantaan, jossa etsitään tutkijoiden S. Chakrabarti ja R. Ng yhdistävä keskusaliverkko. Jännitteenmaksimoinnissa kyselysolmujen järjestyksellä siis jännitteen alkuarvoilla on merkitystä. Kuvien 5 ja 6 verkot ovat merkittävästi poikkeavia, kun kyselysolmujen järjestys on vaihdettu. CEPS-menetelmä löytää parhaan keskusaliverkon (kuva 7): kaarien yhteenlasketut painot ovat suurimmat CEPS-verkossa. Erona verkkoon 6 on solmu H. V. Jagadish, joka sekin yhdistyy muihin keskusverkon solmuihin useammalla yhteydellä sekä suuremmilla painoilla kuin verkossa 6. Kuva 5: Jännitteen maksimointi (+1-jännite Chakrabartilla ja 0 Ng:llä) Kuva 6: Jännitteen maksimointi (0-jännite Chakrabartilla ja +1 Ng:llä) Kuva 7: CEPS-menetelmän löytämä keskusaliverkko kyselysolmujen Chakrabarti ja Ng välillä

Alkuperäisen verkon rakenne oli nyt vain yksiulotteinen (ts. kukin solmu voi yhdistyä korkeintaan yhdellä kaarella toiseen verkon solmuun) suuntaamaton verkko. Sallimalla useita erilaisia yhteystyyppejä, kuten sähköposti- tai puhelinyhteydet olisi verkossa helpompi esittää todellisia sosiaalisen verkon yhteyksiä. Toisaalta sosiaalisessa verkossa suhteet eivät useinkaan ole suuntaamattomia, vaan yhdelle tärkeä kontakti on toiselle yhdentekevä. Lähteet 13 FMT04 TF06 Faloutsos, C., Mccurley, K. S. ja Tomkins, A., Fast discovery of connection subgraphs. KDD '04: Proceedings of the 2004 ACM SIGKDD international conference on Knowledge discovery and data mining, New York, NY, USA, 2004, ACM Press, sivut 118127. Tong, H. ja Faloutsos, C., Center-piece subgraphs: problem denition and fast solutions. KDD '06: Proceedings of the 12th ACM SIGKDD international conference on Knowledge discovery and data mining, New York, NY, USA, 2006, ACM Press, sivut 404413.