Tiedonlouhinta: Klusterointi ja pienimmän leikkauksen virittävät

Koko: px
Aloita esitys sivulta:

Download "Tiedonlouhinta: Klusterointi ja pienimmän leikkauksen virittävät"

Transkriptio

1 hyväksymispäivä arvosana arvostelija Tiedonlouhinta: Klusterointi ja pienimmän leikkauksen virittävät puut Hannu Maksimainen Helsinki Seminaari: Tiedonlouhinta HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

2 HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI Tiedekunta Fakultet Faculty Laitos Institution Department Matemaattis-luonnontieteellinen Tietojenkäsittelytieteen laitos Tekijä Författare Author Hannu Maksimainen Työn nimi Arbetets titel Title Tiedonlouhinta: Klusterointi ja pienimmän leikkauksen virittävät puut Oppiaine Läroämne Subject Tietojenkäsittelytiede Työn laji Arbetets art Level Aika Datum Month and year Sivumäärä Sidoantal Number of pages Seminaari: Tiedonlouhinta sivua Tiivistelmä Referat Abstract Klusterointi eli verkon solmujen luokitteleminen samankaltaisiin solmuihin on oleellinen osa verkkojen tutkimista. Hyvän klusteroinnin etuja ovat hyvien klustereiden löytäminen ja klusteroinnin suorittamisen nopeus. Tässä kirjoitelmassa esitellään hyvä verkkojen klusterointimenetelmä verkon pienimmän leikkauksen mukaan ja menetelmän laajentaminen erittäin nopeaksi muuttuvissa verkoissa toimivaksi klusterointitavaksi. Kirjoitelman lopuksi esitellään menetelmän käyttämistä kahdessa erityyppisessä verkossa. Avainsanat Nyckelord Keywords tiedonlouhinta, verkon pienin leikkaus, klusterointi Säilytyspaikka Förvaringsställe Where deposited Muita tietoja övriga uppgifter Additional information

3 Sisältö ii 1 Johdanto 1 2 Termit Verkko Verkon leikkaus Verkon pienin leikkaus Pienimmän leikkauksen virittävä puu Laajennos ja johtavuus Solmujoukon kutistaminen Klusteroinnin muodostaminen 5 4 Pienimmän leikkauksen algoritmi Keinotekoinen nielu ja klustereiden muodostaminen Klusterointi minimaalisen leikkauksen mukaan Klusteroinnin laatu Hierarkinen klusterointi 7 7 Ketterä pienimmän leikkauksen algoritmi Solmun sisäinen ja ulkoinen paino klusterissa Kaaren lisäys klusterin sisään Kaaren lisäys klustereiden välille Kaaren poistaminen klusterin sisältä

4 7.5 Kaaren poistaminen klustereiden väliltä Solmun poistaminen iii 8 Verkkoyhteisöt Verkkoyhteisöjen tunnistaminen käytännössä Käytännön esimerkkejä Citeseer Verkkosivujen klusterointi Tukivektorikoneen tutkijayhteisö The Internet Archive -yhteisö Yhteenveto 18 Lähteet 19

5 1 Johdanto 1 Verkkojen klusterointi on niin tietojenkäsittelyn kuin muidenkin tieteenalojen tärkeä tutkintamenetelmä. Verkkojen klusteroinnilla voidaan selvittää yhteyksiä laajojen tietokokonaisuuksien välillä sekä parantaa keskeisten solmujen tunnistamista verkoista. Tässä kirjoitelmassa esitellään verkon pienimmän leikkauksen käyttämistä verkon klusteroinnin apuna. Verkon pienin leikkaus jakaa verkon kahteen osaan niin, että osien välillä kulkevien kaarien painojen summa on mahdollisimman pieni. Klusterointimenetelmästä esitetään myös parannettu versio, joka pystyy ylläpitämään hyvän klusteroinnin myös muuttuvassa verkossa. Kirjoitelman lopussa esitellään käytännön tuloksia klusteroinnissa. Verkkoina käytetään Citeseerin tietokantaa tieteellisistä julkaisuista, ja toisena esimerkkinä on verkkosivujen luokitteleminen verkkoyhteisöihin. 2 Termit 2.1 Verkko Verkko on joukko solmuja ja kaaria. Kaaret yhdistävät solmuja. Kaaret voivat olla joko suuntaamattomia tai suunnattuja. Suunnatut kaaret ovat yksisuuntaisia, jotka yhdistävät kaksi solmua kaaren suunnan mukaisesti. Suuntaamattomat kaaret yhdistävät solmut kumpaankin suuntaan. Suuntaamaton kaari vastaa tilannetta, jossa kahden solmun välillä on suunnattu kaari molempiin suuntiin. Verkkoja merkitään merkillä G. Verkon solmujoukkoa merkitään V :llä ja verkon kaaria merkillä E. Erityisesti verkon solmuista ja kaarista V ja E muodostuvaa verkkoa merkitään G(V, E). Verkon solmujen määrästä käytetään merkintää V = n. Vastaavasti verkon kaarien määrä merkitään E = m. Verkon kaaria merkitään

6 2 e = (u, v), jossa kaari on kahden solmun u ja v välillä. Suuntaamattomassa verkossa kaari e = (u, v) vastaa kaarta e = (v, u). Verkon kaarilla voi olla paino. Painoa merkitään w(e) = w(u, v). Painoa ei erikseen merkitä, jos paino on kaikille verkon solmuille sama. Yleisesti siis kaarien paino on w(e) = 1, e E. Verkko voi koostua useasta eri solmujoukosta, joita ei yhdistä yksikään kaari. Tällöin verkko on epäyhtenäinen. Vastaavasti verkkoa sanotaan yhtenäiseksi, jos verkon kaikista solmuista on mahdollista kulkea kaikkiin muihin solmuihin verkon kaaria pitkin. Tässä kirjoitelmassa verkot ovat suuntaamattomia ja yhtenäisiä ellei toisin ole mainittu. 2.2 Verkon leikkaus Kaikki verkot on mahdollista jakaa kahteen osaan niin, että verkosta tulee epäyhtenäinen. Jako tehdään poistamalla verkosta kaaria. Verkon jakamista kahteen osaan sanotaan verkon leikkaukseksi. Leikkaus muodostuu kahdesta koko verkon solmujoukon osajoukosta. Leikkaus tehdään kahden verkkoon kuuluvan solmun suhteen. Verkon jako kahteen osaan ilmaistaan leikkauksena verkossa G solmujen s ja t välillä. Leikkaus verkossa G merkitään verkon solmujoukon V alijoukkoina. Näin ollen (A, B) on leikkaus verkossa G, kun A, B V, A B = V ja A B = Leikkauksen arvo eli c(a, B) määritellään leikkauksen ylittävien kaarien painona. Leikkauksen paino on mahdollista määritellä myös osajoukkojen A ja B välillä, kun A B V. Samoin merkitään s A, t B, jossa s, t V.

7 2.3 Verkon pienin leikkaus 3 Leikkauksien arvo määräytyy verkon leikkauksen ylittävien kaarien painon mukaan. Leikkauksia voidaan mitata niiden arvon mukaan. Erityisesti kiinnostavia leikkauksia ovat pienimmät leikkaukset eli verkon G osajoukot (A, B), jossa c(a, B) on mahdollisimman pieni. Verkon pienin leikkaus vastaa myös verkon suurinta vuota [FF62]. Verkon G pienin leikkaus solmujen s ja t välillä jakaa verkon kahteen osaan niin, että osajoukkojen välillä kulkevien kaarien painojen summa on pienin. 2.4 Pienimmän leikkauksen virittävä puu Verkon pienintä leikkausta on mahdollista etsiä puulla [GH61]. Puuta sanotaan joko Gomory-Hu-puuksi tai pienimmän leikkauksen virittäväksi puuksi. Puu sisältää kaikki alkuperäisen verkon G solmut. Solmut on yhdistetty toisiinsa kaarilla. Puussa ei ole syklejä. Pienimmän leikkauksen virittävästä puusta on mahdollista selvittää helposti solmujoukko, joka leikkaa verkon G kahden solmun välillä. Puu T muodostuu alkuperäisen verkon G solmuista V ja kaarista R, siis T = (V, R). Minkä tahansa kaaren (u, v) R poistaminen puusta T muodostaa erilliset solmujoukot A ja B, jotka muodostavat pienimmän leikkauksen alkuperäisessä verkossa G. Tässä kirjoitelmassa ei käsitellä pienimmän leikkauksen virittävän puun muodostamista. Puun muodostaminen käsitellään artikkelissa [GH61].

8 2.5 Laajennos ja johtavuus 4 Verkoille voidaan laskea laajennos ja johtavuus [KVV00]. Kaksi solmujoukkoa S ja S ovat leikkaus verkossa G. Laajennos kuvaa näiden kahden solmujoukon välillä kulkevien kaarien painoa jaettuna pienemmän solmujoukon koolla. Johtavuus kuvaa solmujoukkojen välillä kulkevien kaarien painoa jaettuna yhteiskaaripainoltaan pienemmän solmujoukon yhteiskaaripainolla. Laajennosta merkitään siten ψ(s) = i S,j S w ij) min{ S, S }, (1) jossa w ij on kaaren (i, j) paino. Johtavuutta merkitään siten jossa w(s) = w(s, V ) = i S φ(s) = j V w ij. i S,j S w ij min{w(s), w(s)}, (2) Verkon G laajennos on pienin kaikkien mahdollisten leikkauksien laajennoksista. Vastaavasti verkon G johtavuus on pienin kaikkien mahdollisten leikkauksien johtavuuksista. Laajennos ja johtavuus voidaan laskea myös alijoukoille eli klustereille verkossa G. Näin voidaan mitata arvo klusteroinnille CC verkossa G. Klusteroinnin CC laajennos on yksittäisten klustereiden pienimmän laajennoksen arvo. Vastaavasti johtavuus klusteroinnissa CC on yksittäisten klustereiden pienimmän johtavuuden arvo. Klusterin johtavuus on pienin klusterin sisällä olevien leikkauksien johtavuuksista. Olkoon verkossa G klusteri C V ja klusterin C sisällä klusteri (S, C \ S), missä S C. Tällöin johtavuus S:lle klusterissa C on φ(s, C) = i S,j C\S w ij min{w(s), w(c \ S)} (3)

9 2.6 Solmujoukon kutistaminen 5 Verkon solmujoukkoja on mahdollista kutistaa tarvittaessa. Menetelmässä solmujoukko yhdistetään yhdeksi solmuksi, josta kulkee kaaret kaikkiin niihin solmuihin, joihin alkuperäisistä solmujoukon solmuista kulki kaaret. Kaarien painoksi asetetaan alkuperäisten kaarien painojen summa. Solmujoukon sisällä kulkevat kaaret poistetaan. Solmujoukon kutistaminen pienimmän leikkauksen virittävän puun oksan mukaan ei vaikuta pienimmän leikkauksen virittävään puuhun. Flake et al. [FTT] todistavat artikkelissaan kutistamisen vaikutuksen pienimmän leikkauksen virittävään puuhun. Olkoon T verkon G pienimmän leikkauksen virittävä puu ja A puun T alipuu eli oksa. Olkoon G verkko, jossa joukko A on kutistettu verkosta G, ja T verkon G pienimmän leikkauksen virittävä puu. Olkoon T puu, jossa A on kutistettu puusta T. Tällöin T ja T ovat yhteneväiset. 3 Klusteroinnin muodostaminen Flake et al. sekä aikaisemmat tutkimukset osoittavat [FTT] [KVV00], että laajennokseen ja johtavuuteen perustuvat klusteroinnit toimivat usein paremmin kuin pienimpiin leikkauksiin perustuvat klusteroinnit. Klusteroinnin tekeminen optimoimalla laajennosta ja johtavuutta on kuitenkin laskennallisesti vaativaa. Laskentavaatimukset kasvavat helposti NP-täydellisiksi, koska ongelma on lähellä harvimman leikkauksen ongelmaa. Flake et al. [FTT] sekä Kannan et al. [KVV00] ovat tutkineet optimointiin liittyviä ongelmia. Tutkimuksissa on päädytty arvioimaan tuloksia tietyillä raja-arvoilla. Tällöin ongelman aikavaatimus ei kasva NP-täydelliseksi.

10 6 Kannan et al. ovat määritelleet omassa tutkimuksessaan kaksi sääntöä, joiden mukaan klustereita muodostetaan. Säännöt ovat a) klustereiden laajennos tai johtavuus ylittää raja-arvon α ja b) klustereiden välisten kaarien painojen summa ei ylitä verkon kaikkien kaarien painojen summan murto-osaa ɛ Flake et al. esittävät omassa tutkimuksessaan samantyyppiset ehdot, joiden mukaan klusterointi suoritetaan. 4 Pienimmän leikkauksen algoritmi 4.1 Keinotekoinen nielu ja klustereiden muodostaminen Leikkauksilla on mahdollista klusteroida verkkoja. Hyvä klusterointi asettaa samanlaiset solmut samaan klusteriin ja erilaiset solmut eri klusteriin. Pelkällä verkon leikkaamisella verkkoon muodostuu aina vain kaksi klusteria: toisessa klusterissa on lähdesolmua s vastaavat solmut ja toisessa kohdesolmua t vastaavat solmut. Klusteroinnin avuksi verkkoihin lisätään keinoteknoinen nielu eli solmu, josta on kaari kaikkiin verkon solmuihin. Keinotekoinen nielu on apusolmu verkon klusterointiin. Solmua merkitään t:llä. Verkon muut solmut yhdistetään solmuun t kaarilla, joiden paino on α. Kaarien paino on määriteltävä parametri, joka vaikuttaa syntyvien klustereiden ominaisuuksiin ja kokoon. Keinotekoisen nielun määritelmä on muotoiltu tarkemmin artikkelissa [FTT]: Verkko G (V, E ) on keinotekoisen nielun sisältävä verkko, missä V = V t ja E = E e(t, v), v V. V = n + 1 ja E = m + n. Määritelmää voi tarkentaa lisäämällä kaaripainojen arvot eli w(t, v) = α v V.

11 7 Keinotekoisen nielun sisältävälle verkolle muodostetaan verkon pienimmän leikkauksen virittävä puu. Sitten puusta poistetaan keinotekoinen nielu. Puu jakautuu metsäksi, jossa jokainen erillinen puu on klusteri. Puihun kuuluvat solmut muodostavat klustereita alkuperäisessä verkossa. 5 Klusterointi minimaalisen leikkauksen mukaan 5.1 Klusteroinnin laatu Edellä esitetyn kuvauksen mukaan tehty klusteri S täyttää seuraavat ehdot [FTT02]. c(p, Q) min{ S, S } jossa P, Q S, kun P Q = S ja P S = α, (4) c(s, V S) V S α (5) Kaavoissa arvo α asettaa alarajan klustereiden sisäiselle laajennokselle ja ylärajan eri klustereiden väliselle laajennokselle. Kaavoja on mahdollista käyttää klusteroinnin laadun selvittämiseen, josta on hyötyä kappaleen 7 algoritmissa. 6 Hierarkinen klusterointi Klusterointi on mahdollista suorittaa useaan kertaan samalle verkolle pienemmällä arvolla α. Tällöin saadaan hierarkinen klusterointi verkkoon, josta on mahdollista nähdä erikokoisten klusterointien tulokset helposti. Hierarkisessa klusteroinnissa verkon alkuperäiset klusterit kutistetaan ennen uuden klusteroinnin suorittamista. Kutistamisen jälkeen klusterointi suoritetaan uudelleen, jolloin kutistetut

12 8 klusterit vastaavat tavallisia solmuja. Uuden klusteroinnin kanssa pitää kuitenkin käyttää pienempää arvoa α, jotta uusia klustereita syntyy. Ilman pienempää arvoa α klusterointi pysyy samana. Hierarkisella klusteroinnilla saatujen klustereiden laatu lasketaan samalla tavalla kuin tavallisen klusteroinnin tapauksessa. Hierarkinen klusterointi lopetetaan, kun klustereiden määrä vastaa haluttua tai klusterointi tuottaa vain yhden klusterin. Hierarkisen klusteroinnin yksi tärkeistä ominaisuuksista on klustereiden sisäkkäisyys eli alemman tason klusterit ovat ylemmän tason klustereiden osajoukkoja. 7 Ketterä pienimmän leikkauksen algoritmi Saha ja Mitra [SM06] esittelevät artikkelissaan menetelmän suurien verkkojen jatkuvaan klusteroimiseen. Menetelmä ylläpitää muuttuvassa verkossa hyvää klusterointia, joten se soveltuu eritoten dynaamisiin verkkoihin hyvin. Verkkoihin on mahdollista lisätä tai poistaa solmuja tai kaaria. Verkon klusterit mukautuvat verkon rakenteen muutoksiin nopeasti. Saha ja Mitra esittävät, että dynaamisen verkon klustereiden muodostamisessa ei tarvitse kiinnittää huomiota koko verkkoon, kun verkko muuttuu vain paikallisesti. Erityisesti jo muodostettujen klustereiden sisällä tapahtuvat muutokset melko epätodennäköisesti vaikuttavat muihin klustereihin. Varsinkin kaarien lisääminen tietyn klusteriden sisään tai kaarien poistaminen klustereiden väliltä vahvistaa klustereiden yhteenkuuluvuutta, joten tällöin koko verkkoa ei todennäköisesti tarvitse klusteroida uudelleen. Sahan ja Mitran algoritmi [SM06] on esitelty alla.

13 9 7.1 Solmun sisäinen ja ulkoinen paino klusterissa Solmun sisäinen paino (ICW, In Cluster Weight) on solmusta lähtevien kaarien paino toisiin solmuihin klusterin sisällä. Solmun ulkoinen paino (OCW, Out Cluster Weight) on solmusta lähtevien kaarien paino muiden klustereiden solmuihin. Määritelmät ovat verkossa G(V, E), jonka klusterit ovat C 1, C 2,..., C s, jossa s > 0: Sisäinen paino eli ICW (v) = w(v, u), (6) u C i jossa solmu v V ja v C i, 0 i s Ulkoinen paino eli OCW (v) = jossa solmu v V ja v C i, 0 i s w(v, u), (7) u C j,j i 7.2 Kaaren lisäys klusterin sisään Verkon solmuista ylläpidetään yleistä vieruslistaa A, jossa on kaarien painot solmujen välillä. Kaaren lisäys klusterin sisään on yksinkertainen. Kaaren molempien päiden solmujen tulee kuulua samaan klusteriin, jolloin lisäys voidaan tehdä yksinkertaisesti. Tällöin päivitetään vieruslistaa A ja lasketaan kaaren solmuille i ja j uudestaan arvo ICW (i) ja ICW (j). Toimenpiteen aikavaatimus on O(1). 7.3 Kaaren lisäys klustereiden välille Kaaren lisäys klustereiden välille on monimutkaisempi toimenpide kuin kaaren lisäys klusterin sisälle. Monimutkaisuus johtuu klustereiden välillä tapahtuvasta lähentymisestä kaaren lisäyksen johdosta. Klusterointi joudutaan tekemään uudestaan, jos klusteroinnin laatu muuttuu kaavan (4) mukaan.

14 10 Nopeaa uudelleenklusterointia varten tarvitaan kaksi menetelmää lisää, jolla klustereita voidaan hallita. Menetelmät ovat klustereiden yhdistäminen ja klusterin kutistaminen. Klustereiden yhdistäminen tehdään valitsemalla kaikki kaaret ja solmut klustereista C u ja C v, jonka jälkeen solmujen ICW ja OCW päivitetään. Klustereiden kutistaminen tehdään korvaamalla klusteri yhdellä solmulla x. Kutistetun klusterin sisäiset kaaret poistetaan kutistamisen yhteydessä. Muiden klusterien solmuista tulevien rinnakkaiset kaaret korvataan kaarella, jonka paino on alkuperäisten kaarien painojen summa. Klusterointia ei tarvitse tehdä, jos klusteroinnin laatu ei heikkene kaavan (4) mukaan. Jos klusteroinnin laatu heikkenee, mutta kaava (5) on voimassa kaaren lisäyksen jälkeen, niin kaaren yhdistämät klusterit C u ja C v yhdistetään edellä mainitulla tavalla. Jos myöskään kaava (5) ei ole voimassa, niin klusterointi joudutaan laskemaan uudelleen. Uudelleenklusteroinnissa voidaan kutistaa kaikki muut klusterit paitsi C u ja C v solmuksi x. Tällöin koko verkko pienenee C u + C v + 1 kokoiseksi. Verkkoon lisätään sitten keinotekoinen nielu t, joka yhdistetään kaarilla kaikkiin muihin verkon solmuihin. Kaaren (x, t) painoksi asetetaan V C u C v α ja muiden kaarien painoksi α. Syntyneestä verkosta mudoostetaan pienimmän leikkauksen virittävä puu. Puusta poistetaan solmu t, jonka jälkeen siitä etsitään yhtenäiset komponentit. Yhtenäiset komponentit sekä alkuperäisen verkon klusterit CC {C u, C v } muodostavat uuden klusteroinnin. Toimenpiteen aikavaatimus on Θ( C u + C v 3 ). 7.4 Kaaren poistaminen klusterin sisältä Kaaren poistaminen klusterin sisältä vastaa edellisen kappaleen tilannetta, jossa ehdot (4) ja (5) eivät täyty. Tällöin verkosta kutistetaan kaikki muut klusterit paitsi

15 11 C u, koska poistetun kaaren molemmat päät ovat klusterin C u sisällä. Uudelleenklusterointi suoritetaan kuten edellisessä kappaleessa. Toimenpiteen aikavaatimus on Θ( C u 3 ). 7.5 Kaaren poistaminen klustereiden väliltä Kaaren poistaminen klustereiden väliltä vähentää klustereiden välistä yhteenkuuluvuutta. Tämän takia klustereiden sisäinen yhteenkuuluvuus vahvenee, joten uudelleenklusterointia ei tarvitse tehdä. Klustereita ei tarvitse päivittää, mutta kaaren yhdistämien solmujen OCW -arvo ja solmujen välinen vieruslistaa A pitää päivittää. Solmujen OCW -arvosta vähennetään poistettavan kaaren paino ja vieruslistasta poistetaan poistettu kaari. Toimenpiteen aikavaatimus on O(1). 7.6 Solmun poistaminen Solmun poistaminen verkosta jakautuu kahteen tapaukseen. Solmu voi olla erillään muista solmuista, jolloin sen voi poistaa suoraan verkosta ja vieruslistalta. Jos solmusta lähtee kaaria, niin kaarien poisto tapahtuu edellä esitettyjen toimenpiteiden mukaan. Aluksi poistetaan toisiin klustereihin liittyvät kaaret. Sen jälkeen poistetaan solmun kanssa samaan klusteriin kulkevat kaaret. Kaarien poistamisen jälkeen solmu on erillään muista solmuista, jolloin sen voi poistaa verkosta ja vieruslistalta.

16 8 Verkkoyhteisöt 12 Artikkelissa [FLG00] Flake et al. tutkivat pienimmän leikkauksen käyttöä verkkoyhteisöjen klusteroimisessa. Pienimmällä leikkauksella voidaan tunnistaa verkkosivuista yhteisöjä. Artikkelissa esitetään kuinka verkkoyhteisö voidaan määritellä tarkasti, mutta jonka laskeminen kaikkien verkkosivujen suhteen on käytännössä mahdotonta. Tarkan verkkoyhteisöjen tunnistamisen lisäksi artikkelissa esitetään kuinka verkkoyhteisöjä voidaan tunnistaa tehokkaasti valitsemalla pieni joukko lähtösolmuja ja suorittamalla verkkoyhteisöjen etsintä lähtösolmuilta löytyvien linkkien perusteella. Verkkoyhteisöjen etsimistä varten on hyvä määritellä yhteisö. Flake et al. määrittelevät yhteisön artikkelissa [FLG00] seuraavalla tavalla. Yhteisö on solmujoukko C V, jonka kaikilla solmuilla v C on yhtä paljon tai enemmän kaaria joukkoon C kuin joukkoon (V C). Kuva 1: Yhteisö. Vasemmalla on joukko solmuja C, jotka ovat yhteydessä muuhun verkkoon V \ C kolmen kaaren kautta. Poistamalla kaaret verkko osittuu kahteen osaan. Kaarien paino c(c, V \ C) on leikkauksen arvo. Verkkoyhteisön tunnistamista varten Flake et al. määrittelevät myös lähtö- ja maalisolmulle laatuarvot, jotta yhteisöjen tunnistaminen on luotettavaa. Laadukkuus katsotaan solmujen kaarien määrästä yhteisön sisällä ja yhteisön ulkopuolella. Määritelmä on muotoiltu seuraavalla tavalla.

17 13 Lähtösolmun s kaarien määrä saman yhteisön (C s) sivuihin merkitään s #. Vastaavasti maalisolmun kaarien määrä muihin kuin yhteisön C solmuihin eli joukkoon (V C t) merkitään t #. Määritelmien avulla voidaan nyt esittää tapa, jolla verkkoyhteisöjä on mahdollista tunnistaa verkkosivuista. Verkon G pienin leikkaus solmujen s ja t välillä, kun s # ja t # ylittävät leikkauksen joukkojen koon, muodostaa yhteisön C. Asettamalla raja arvoille s # ja t # estetään triviaalit leikkaukset, jossa joko lähtötai maalisolmu eristetään muusta verkosta. 8.1 Verkkoyhteisöjen tunnistaminen käytännössä Käytännössä verkkoyhteisöjen etsiminen verkkosivujen joukosta vaatii kokonaiskuvan kaikkien verkkosivujen linkeistä. Tietojen kerääminen verkkosivujen linkeistä ja niiden ylläpitäminen tietokannassa vaatii erittäin paljon resursseja. Tämän takia Flake et al. esittävät tavan [FLG00], jolla verkkoyhteisöjä on mahdollista etsiä tehokkaasti tarkastelematta kaikkia verkkosivuja. Verkkoyhteisöjen tunnistaminen aloitetaan yhdestä tai useammasta oletettuun verkkoyhteisöön kuuluvasta verkkosivusta eli lähdesivusta. Lähdesivujen tarkoitus on pohjustaa joukko tarkasteltavia verkkosivuja, jotka saadaan seuraamalla linkkejä lähdesivuilta. Ulospäin lähtevät linkit löytyvät helposti sivujen lähdekoodista. Sivuille muualta linkitettyjen sivujen etsiminen on vaikeampaa. Flake et al. käyttävät omassa ratkaisussaan hakukoneiden ominaisuutta link, jolla voi hakea sivuja, jotka linkittävät tiettyyn toiseen sivuun. Link-ominaisuudella hakukone palauttaa hakusanaksi annettuun sivuun linkittävät toiset verkkosivut.

18 14 Flake et al. jakavat edellisellä menetelmällä löydetyt verkkosivut kolmeen eri joukkoon. Joukot ovat (a) lähdesivut, (b) yhden linkin päässä olevat sivut ja (c) muut sivut. Joukkojen lisäksi verkkoon lisätään erikoissolmu a lähdesivujen ja c lähdesivuista kaukaisimpien sivujen yhteyteen. Solmu a yhdistetään alkuperäisiin lähdesolmuihin kaarilla, joiden paino on ääretön. Lähdesolmuista kaukaisimmat sivut eli (c) yhdistetään keinotekoiseen nieluon c kaarilla, joiden paino on yksi. Kuva 2: Verkkosivujen luokitteleminen lähtösolmujen mukaan. Vasemmalla keinotekoinen lähtösivu a, josta on kaaret alkuperäiseen lähdesivujen joukkoon a. Joukko b on yhden linkin päässä lähdesivuista a. Joukko c on yli yhden linkin päässä lähtösivuista a. Joukko c yhdistetään kaarilla keinotekoiseen nieluon c. Verkon muodostamisen jälkeen Flake et al. muuttavat kaaret joukkojen a ja b välillä kaksisuuntaisiksi. Menettelyllä pyritään estämään yksinkertaiset leikkaukset, jossa pelkästään lähdesolmu tai lähdesolmut muodostavat leikkauksen. Toinen tapa estää yksinkertaisten leikkausten syntymistä on painottaa lähdesolmuihin liittyviä kaaria. Joukon (c) yhdistäminen kaarilla keinotekoiseen nieluon vastaa sopivan kohdesolmun valitsemista joukosta (c). Menetelmä perustuu verkkosivujen yleisluonteeseen, jossa yli kahden linkin päässä olevat sivut eivät yleensä kuulu samaan yhteisöön. Lähdesivujen valintaa voi parantaa käyttämällä parhaimman arvion (Expectation Maximization, EM) [DLR77] menetelmää. Flake et al. ehdottavat, että uusia lähde-

19 15 sivuja valitaan lisää kyseisellä menetelmällä. Menetelmässä toistetaan useaan kertaan kaksi vaihetta. Aluksi verkosta etsitään pienin leikkaus, jonka solmut ovat verkkoyhteisön osajoukko. Sitten solmujoukosta valitaan lähdesivujen joukkoon sellainen sivu tai sivut, joilla on eniten linkkejä muihin sivuihin. Näin lähdesivujen määrä kasvaa. Lähdesivujen määrän kasvaminen parantaa klusteroinnin tuloksia, koska leikkauksen arvo ei saa olla lähdesivujen ulospäin lähtevien linkkien määrää suurempi. Kun lähdesivuja on enemmän, niin leikkauksen arvo voi olla suurempi, joka mahdollistaa suuremmat klusterit. Testien [FLG00] mukaan noin neljällä toistolla lähdejoukon koko ei enää kasva. 9 Käytännön esimerkkejä Seuraavissa kappaleissa on esitetty verkon pienimmän leikkauksen käyttämistä erilaisten verkkojen klusterointiin. Käytännön esimerkkeinä tarkastellaan tieteellisten julkaisujen tietokantaa Citeseeriä sekä verkkosivuista muodostuvien verkkoyhteisöjen klusterointia. Citeseerin klusteroinnissa artikkelit ovat solmuja ja artikkeleiden viitteet kaaria solmujen välillä. Verkkosivujen kanssa solmut ja kaaret ovat loogisesti itse verkkosivut ja linkit sivujen kesken. 9.1 Citeseer Flake et al. ovat tutkineet [FTT] verkon pienimpään leikkaukseen perustuvaa kusterointimenetelmää Citeseerin [cit] tietokannassa. Tietokantaan on koottu tieteellisiä julkaisuja ja niiden välisiä viittauksia. Tällaisessa verkossa tieteelliset julkaisut ovat solmuja ja viittaukset toisiin julkaisuihin ovat kaaria solmujen välillä. Klusterointiin käytetyn verkon koko oli julkaisua ja viitettä. Viitteet

20 16 muutettiin suuntaamattomiksi ja kaarien paino suhteutettiin julkaisun viitteiden kokonaismäärään. Julkaisusta löytyvien viitteiden eli kaarien yhteispaino on näin yksi. Menettelyllä tasoitetaan erot julkaisujen välillä, jotka viittaavat joko moneen tai vain muutamaan julkaisuun. Flake et al. suorittivat klusteroinnin hierarkisesti. Saadusta hierarkisesta klusteroinnista on mahdollista nähdä julkaisujen ryhmittyminen eri tasoilla. Matalimmilla tasoilla julkaisut ovat ryhmittyneet hyvin yksityiskohtaisiin aliryhmiin kuten rinnakkaislaskennan LogP-malli ja bayesialainen interpolointi. Korkeamman tason klusterit kasaavat yhteen alemman tason ryhmiä. Korkean tason klusterit muodostavat yleisen tason ryhmiä kuten verkot, tietokannat ja ohjelmointikielet. Klusteroinnin tulokset ovat hyviä. Flake et al. huomauttavat kuitenkin, että verkkoon jää myös yksittäisiä solmuja, jotka eivät kuulu mihinkään suurempaan klusteriin. Tämä johtuu klusterointialgoritmin tavasta asettaa klustereiden laajennokselle raja. Muodostuneet klusterit ovat kuitenkin hyvin laadukkaita, joten niitä voi käyttää esimerkiksi lähtöjoukkona muille klusterointialgoritmeille. 9.2 Verkkosivujen klusterointi Artikkelissa [FLG00] Flake et al. käyttävät verkon pienintä leikkausta klusteroimaan verkkosivuja. Klusteroinnin pohjana he käyttivät kolmea erityyppistä verkkoyhteisöä: tukivektorikone- (TVK) (Support Vector Machine), The Internet Archive (IA) [IA] ja Ronald Rivest -yhteisöä. Tukivektorikone on lineaarinen luokitinmalli, The Internet Archive säilyttää kopioita verkkosivuista ja Ronald Rivest on kuuluisa salausalgoritmien tutkija. Tässä kirjoitelmassa tarkastellaan tarkemmin tukivektorikone- ja IA-yhteisöjä.

21 9.3 Tukivektorikoneen tutkijayhteisö 17 TVK-yhteisön lähdesivuiksi Flake et al. [FLG00] asettavat joukon TVK-tutkimukseen suuntautuneiden tutkijaryhmien sivuja: Sivujen läpikäymisessä Flake et al. ohittivat kaikki saman verkkotunnuksen sisällä olevat linkit. Tällä tavalla sivujen sisäiset linkit eivät muodosta liian suurta sisäistä yhteyttä verkkoon. Muilta sivustoilta linkkejä seurattiin, joten minkä tahansa verkkotunnuksen alisivujen oli mahdollista päätyä tutkittavaan verkkoon. Etsinnän ja EMmenetelmän jälkeen verkkosivuja oli verkossa yhteensä yli , joista 252 kuuluu lähdesivujen joukkoon. Flake et al. järjestävät löydetyn yhteisön sivut tärkeysjärjestykseen yksinkertaisella algoritmilla. Sivuille annetaan pisteitä sen mukaan kuinka monta linkkiä niistä on toisiin yhteisön sivuihin tai kuinka paljon niihin linkitetään. Pistetyksen mukaan neljä ensimmäistä sivua olivat rajatapauksia ne kuuluvat TVK:ta vahvemmin neuroverkkoihin, tiedonlouhintaan ja hahmontunnistukseen. Yhteisön 252 sivusta vain muutama oli vääriä sivuja. Väärät sivut liittyivät neuroverkkoihin ja tiedonlouhinnan aihepiiriin. Mukana oli myös yksi ohjelmia listaava sivu, joka oli selkeästi väärin luokiteltu

22 9.4 The Internet Archive -yhteisö 18 IA-yhteisön tutkimista varten Flake et al. [FLG00] asettivat suuremman lähdesivujen joukon kuin TVK-yhteisön tutkimista varten. Lähdesivuja oli yksitoista, jotka oli poimittu IA:n kotisivujen kautta. Sivujen läpikäynti suoritettiin samalla tavalla kuin viimeksi eli sivuston sisäisiä linkkejä ei seurattu. EM-algoritmia toistettiin vain kaksi kertaa, josta tuloksena oli yli 7000 sivua. Sivuista 289 kuului IA-yhteisöön. Yhteisöön kuuluvien sivujen sisältö oli samanlainen IA:n kanssa. Yhteisöön kuului sivustoja, joiden aihepiirinä oli esimerkiksi erilaisia median tutkimussivuja, arkistointiin keskittyneitä järjestöjä, tieteellisiä kirjastoja, internet-tilastoja ja muita lähellä IA:n toimintaa olevia sivustoja. IA:n yhteisöönkään ei mahtunut monia virhesivustoja. Suurimpana virheenä oli ilmainen sähköpostisivu Sivu pääsi mukaan yhteisöön, koska Yahoo!:lla oli yhteisössä mukana kuusi muuta arkistointiin ja digitaalisiin kirjastoihin liittyvää sivustoa. Tutkijat arvelevat, että useampi kierros EM-algoritmia olisi voinut auttaa sivun tunnistamisessa vääräksi. 10 Yhteenveto Verkon klusteroinnilla on monia eri käyttökohteita eri tieteenaloilla. Tämän vuoksi on tärkeää, että klusterointialgoritmit tuottavat laadukkaita klustereita. Verkon pienimpään leikkaukseen perustuvassa klusteroinnissa klustereiden määrää on helppo säätää vaihtamalla parametrin α arvoa. Suorittamalla klusterointi useasti eri α:n arvoilla, on verkko mahdollista klusteroida hierarkisesti. Hierarkisen klusteroinnin klusterit ovat sisäkkäisiä, mikä tuottaa loogisesti ymmärrettäviä kokonaisuuksia verkkoon. Verkon pienin leikkaus mahdollistaa hyvän klusterointimenetelmän. Sahan ja Mi-

23 19 tran [SM06] ketterällä algoritmilla klusterointi on mahdollista tehdä erittäin nopeasti myös jatkuvasti muuttuvassa verkossa. Tämä mahdollistaa hyvän klusteroinnin ylläpitämisen ilman raskasta koko verkon uudelleenklusterointia. Käytännön tulokset osoittavat, että menetelmällä on mahdollista klusteroida eri tyyppisiä verkkoja hyvin. Tutkijoiden käyttämät verkot [FTT] [FLG00] ovat luonteeltaan erilaisia. Tulokset ovat kuitenkin hyviä kaikissa esitetyissä tutkituissa verkoissa, joten pienimmän leikkauksen klusterointimenetelmä näyttää sopivan verkon klusterointiin erinomaisesti. Lähteet cit DLR77 Dempster, A. P., Laird, N. M. ja Rubin, D. B., Maximum likelihood from incomplete data via the em algorithm. Journal of the Royal Statistical Society. Series B (Methodological), 39,1(1977), sivut 138. URL FF62 FLG00 FTT Ford, L. R. ja Fulkerson, D. R., Flows in Networks. Princeton University Press, Flake, G. W., Lawrence, S. ja Giles, C. L., Ecient identication of web communities. In Sixth ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. ACM Press, 2000, sivut Flake, G. W., Tarjan, R. E. ja Tsioutsiouliklis, K., Clustering methods based on minimum-cut trees. URL citeseer.comp.nus.edu.sg/ html.

24 20 FTT02 GH61 "Flake, G. W., Tarjan, R. E. ja Tsioutsiouliklis, K., Graph clustering and minimum cut trees. Internet Mathematics, 1,4(2002), sivut Gomory, R. E. ja Hu, T. C., Multi-terminal network ows. Journal of the Society for Industrial and Applied Mathematics, 9,4(1961), sivut URL IA KVV00 SM06 Kannan, R., Vempala, S. ja Vetta, A., On clusterings: good, bad and spectral. Journal of the ACM, 2000, sivut Saha, B. ja Mitra, P., Dynamic algorithm for graph clustering using minimum cut tree. ICDMW '06: Proceedings of the Sixth IEEE International Conference on Data Mining - Workshops, Washington, DC, USA, 2006, IEEE Computer Society, sivut

arvostelija OSDA ja UDDI palveluhakemistoina.

arvostelija OSDA ja UDDI palveluhakemistoina. Hyväksymispäivä Arvosana arvostelija OSDA ja UDDI palveluhakemistoina. HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI Tiedekunta/Osasto Fakultet/Sektion Faculty/Section Laitos Institution

Lisätiedot

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

V. V. Vazirani: Approximation Algorithms, luvut 3-4 Matti Kääriäinen V. V. Vazirani: Approximation Algorithms, luvut 3-4 Matti Kääriäinen Luento omatoimisen luennan tueksi algoritmiikan tutkimusseminaarissa 23.9.2002. 1 Sisältö Esitellään ongelmat Steiner-puu Kauppamatkustajan

Lisätiedot

Selainpelien pelimoottorit

Selainpelien pelimoottorit Selainpelien pelimoottorit Teemu Salminen Helsinki 28.10.2017 Seminaaritutkielma Helsingin yliopisto Tietojenkäsittelytiede ! 1 HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI Tiedekunta

Lisätiedot

Johdatus graafiteoriaan

Johdatus graafiteoriaan Johdatus graafiteoriaan Syksy 2017 Lauri Hella Tampereen yliopisto Luonnontieteiden tiedekunta 126 Luku 3 Puut 3.1 Puu 3.2 Virittävä puu 3.3 Virittävän puun konstruointi 3.4 Minimaalinen virittävä puu

Lisätiedot

Luku 7. Verkkoalgoritmit. 7.1 Määritelmiä

Luku 7. Verkkoalgoritmit. 7.1 Määritelmiä Luku 7 Verkkoalgoritmit Verkot soveltuvat monenlaisten ohjelmointiongelmien mallintamiseen. Tyypillinen esimerkki verkosta on tieverkosto, jonka rakenne muistuttaa luonnostaan verkkoa. Joskus taas verkko

Lisätiedot

Algoritmit 1. Luento 8 Ke Timo Männikkö

Algoritmit 1. Luento 8 Ke Timo Männikkö Algoritmit 1 Luento 8 Ke 1.2.2017 Timo Männikkö Luento 8 Järjestetty binääripuu Solmujen läpikäynti Binääripuun korkeus Binääripuun tasapainottaminen Graafit ja verkot Verkon lyhimmät polut Fordin ja Fulkersonin

Lisätiedot

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

Olkoon seuraavaksi G 2 sellainen tasan n solmua sisältävä suunnattu verkko, Tehtävä 1 : 1 a) Olkoon G heikosti yhtenäinen suunnattu verkko, jossa on yhteensä n solmua. Määritelmän nojalla verkko G S on yhtenäinen, jolloin verkoksi T voidaan valita jokin verkon G S virittävä alipuu.

Lisätiedot

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

Department of Mathematics, Hypermedia Laboratory Tampere University of Technology. Roolit Verkostoissa: HITS. Idea. Roolit Tommi Perälä Department of Mathematics, Hypermedia Laboratory Tampere University of Technology 25.3.2011 J. Kleinberg kehitti -algoritmin (Hypertext Induced Topic Search) hakukoneen osaksi. n taustalla

Lisätiedot

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.

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. Tietorakenteet, laskuharjoitus 11, ratkaisuja 1. Leveyssuuntaisen läpikäynnin voi toteuttaa rekursiivisesti käsittelemällä jokaisella rekursiivisella kutsulla kaikki tietyllä tasolla olevat solmut. Rekursiivinen

Lisätiedot

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

Pro gradu -tutkielma Meteorologia SUOMESSA ESIINTYVIEN LÄMPÖTILAN ÄÄRIARVOJEN MALLINTAMINEN YKSIDIMENSIOISILLA ILMAKEHÄMALLEILLA. Karoliina Ljungberg Pro gradu -tutkielma Meteorologia SUOMESSA ESIINTYVIEN LÄMPÖTILAN ÄÄRIARVOJEN MALLINTAMINEN YKSIDIMENSIOISILLA ILMAKEHÄMALLEILLA Karoliina Ljungberg 16.04.2009 Ohjaajat: Ari Venäläinen, Jouni Räisänen

Lisätiedot

Algoritmit 1. Luento 7 Ti Timo Männikkö

Algoritmit 1. Luento 7 Ti Timo Männikkö Algoritmit 1 Luento 7 Ti 31.1.2017 Timo Männikkö Luento 7 Järjestetty binääripuu Binääripuiden termejä Binääripuiden operaatiot Solmun haku, lisäys, poisto Algoritmit 1 Kevät 2017 Luento 7 Ti 31.1.2017

Lisätiedot

T : Max-flow / min-cut -ongelmat

T : Max-flow / min-cut -ongelmat T-61.152: -ongelmat 4.3.2008 Sisältö 1 Määritelmät Esimerkki 2 Max-flow Graafin leikkaus Min-cut Max-flow:n ja min-cut:n yhteys 3 Perusajatus Pseudokoodi Tarkastelu 4 T-61.152: -ongelmat Virtausverkko

Lisätiedot

v 8 v 9 v 5 C v 3 v 4

v 8 v 9 v 5 C v 3 v 4 Verkot Verkko on (äärellinen) matemaattinen malli, joka koostuu pisteistä ja pisteitä toisiinsa yhdistävistä viivoista. Jokainen viiva yhdistää kaksi pistettä, jotka ovat viivan päätepisteitä. Esimerkiksi

Lisätiedot

Algoritmit 1. Luento 9 Ti Timo Männikkö

Algoritmit 1. Luento 9 Ti Timo Männikkö Algoritmit 1 Luento 9 Ti 7.2.2017 Timo Männikkö Luento 9 Graafit ja verkot Kaaritaulukko, bittimatriisi, pituusmatriisi Verkon lyhimmät polut Floydin menetelmä Lähtevien ja tulevien kaarien listat Forward

Lisätiedot

13 Lyhimmät painotetut polut

13 Lyhimmät painotetut polut TIE-20100 Tietorakenteet ja algoritmit 297 13 Lyhimmät painotetut polut BFS löytää lyhimmän polun lähtösolmusta graafin saavutettaviin solmuihin. Se ei kuitenkaan enää suoriudu tehtävästä, jos kaarien

Lisätiedot

Algoritmit 2. Luento 11 Ti Timo Männikkö

Algoritmit 2. Luento 11 Ti Timo Männikkö Algoritmit 2 Luento 11 Ti 24.4.2018 Timo Männikkö Luento 11 Rajoitehaku Kapsäkkiongelma Kauppamatkustajan ongelma Paikallinen etsintä Lyhin virittävä puu Vaihtoalgoritmit Algoritmit 2 Kevät 2018 Luento

Lisätiedot

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

Työn laji Arbetets art Level Aika Datum Month and year Sivumäärä Sidoantal Number of pages Tiedekunta/Osasto Fakultet/Sektion Faculty Laitos Institution Department Tekijä Författare Author Työn nimi Arbetets titel Title Oppiaine Läroämne Subject Työn laji Arbetets art Level Aika Datum Month

Lisätiedot

TKT20001 Tietorakenteet ja algoritmit Erilliskoe , malliratkaisut (Jyrki Kivinen)

TKT20001 Tietorakenteet ja algoritmit Erilliskoe , malliratkaisut (Jyrki Kivinen) TKT0001 Tietorakenteet ja algoritmit Erilliskoe 5.1.01, malliratkaisut (Jyrki Kivinen) 1. [1 pistettä] (a) Esitä algoritmi, joka poistaa kahteen suuntaan linkitetystä järjestämättömästä tunnussolmullisesta

Lisätiedot

58131 Tietorakenteet ja algoritmit (syksy 2015) Toinen välikoe, malliratkaisut

58131 Tietorakenteet ja algoritmit (syksy 2015) Toinen välikoe, malliratkaisut Tietorakenteet ja algoritmit (syksy 0) Toinen välikoe, malliratkaisut. (a) Alussa puu näyttää tältä: Lisätään 4: 4 Tasapaino rikkoutuu solmussa. Tehdään kaksoiskierto ensin oikealle solmusta ja sitten

Lisätiedot

Aika/Datum Month and year Kesäkuu 2012

Aika/Datum Month and year Kesäkuu 2012 Tiedekunta/Osasto Fakultet/Sektion Faculty Laitos/Institution Department Filosofian, historian, kulttuurin ja taiteiden tutkimuksen laitos Humanistinen tiedekunta Tekijä/Författare Author Veera Lahtinen

Lisätiedot

Tiedonlouhinta rakenteisista dokumenteista (seminaarityö)

Tiedonlouhinta rakenteisista dokumenteista (seminaarityö) Tiedonlouhinta rakenteisista dokumenteista (seminaarityö) Miika Nurminen (minurmin@jyu.fi) Jyväskylän yliopisto Tietotekniikan laitos Kalvot ja seminaarityö verkossa: http://users.jyu.fi/~minurmin/gradusem/

Lisätiedot

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

Koht dialogia? Organisaation toimintaympäristön teemojen hallinta dynaamisessa julkisuudessa tarkastelussa toiminta sosiaalisessa mediassa Kohtdialogia? Organisaationtoimintaympäristönteemojenhallinta dynaamisessajulkisuudessatarkastelussatoiminta sosiaalisessamediassa SatuMariaPusa Helsinginyliopisto Valtiotieteellinentiedekunta Sosiaalitieteidenlaitos

Lisätiedot

Luonnontieteiden popularisointi ja sen ideologia

Luonnontieteiden popularisointi ja sen ideologia Luonnontieteiden popularisointi ja sen ideologia Tapauksina Reino Tuokko ja Helsingin Sanomat 1960-luvulla Ahto Apajalahti Helsingin yliopisto Humanistinen tiedekunta Suomen ja Pohjoismaiden historia Pro

Lisätiedot

58131 Tietorakenteet ja algoritmit Uusinta- ja erilliskoe ratkaisuja (Jyrki Kivinen)

58131 Tietorakenteet ja algoritmit Uusinta- ja erilliskoe ratkaisuja (Jyrki Kivinen) 58131 Tietorakenteet ja algoritmit Uusinta- ja erilliskoe 12.9.2018 ratkaisuja (Jyrki Kivinen) 1. [10 pistettä] Iso-O-merkintä. (a) Pitääkö paikkansa, että n 3 + 5 = O(n 3 )? Ratkaisu: Pitää paikkansa.

Lisätiedot

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

verkkojen G ja H välinen isomorfismi. Nyt kuvaus f on bijektio, joka säilyttää kyseisissä verkoissa esiintyvät särmät, joten pari Tehtävä 9 : 1 Merkitään kirjaimella G tehtäväpaperin kuvan vasemmanpuoleista verkkoa sekä kirjaimella H tehtäväpaperin kuvan oikeanpuoleista verkkoa. Kuvan perusteella voidaan havaita, että verkko G on

Lisätiedot

Algoritmit 2. Luento 2 Ke Timo Männikkö

Algoritmit 2. Luento 2 Ke Timo Männikkö Algoritmit 2 Luento 2 Ke 15.3.2017 Timo Männikkö Luento 2 Tietorakenteet Lineaarinen lista, binääripuu Prioriteettijono Kekorakenne Keko-operaatiot Keon toteutus taulukolla Algoritmit 2 Kevät 2017 Luento

Lisätiedot

Algoritmit 2. Luento 2 To Timo Männikkö

Algoritmit 2. Luento 2 To Timo Männikkö Algoritmit 2 Luento 2 To 14.3.2019 Timo Männikkö Luento 2 Tietorakenteet Lineaarinen lista, binääripuu Prioriteettijono Kekorakenne Keko-operaatiot Keon toteutus taulukolla Algoritmit 2 Kevät 2019 Luento

Lisätiedot

Algoritmi on periaatteellisella tasolla seuraava:

Algoritmi on periaatteellisella tasolla seuraava: Algoritmi on periaatteellisella tasolla seuraava: Dijkstra(V, E, l, v 0 ): S := { v 0 } D[v 0 ] := 0 for v V S do D[v] := l(v 0, v) end for while S V do valitse v V S jolle D[v] on minimaalinen S := S

Lisätiedot

Ratkaisu. Tulkitaan de Bruijnin jonon etsimiseksi aakkostossa S := {0, 1} sanapituudelle n = 4. Neljän pituisia sanoja on N = 2 n = 16 kpl.

Ratkaisu. Tulkitaan de Bruijnin jonon etsimiseksi aakkostossa S := {0, 1} sanapituudelle n = 4. Neljän pituisia sanoja on N = 2 n = 16 kpl. iskreetti matematiikka, syksy 00 arjoitus, ratkaisuista. seta 8 nollaa ja 8 ykköstä renkaaksi niin, että jokainen yhdistelmä 0000, 000,..., esiintyy täsmälleen kerran. Vihje: Tulkitse de ruijnin jonon

Lisätiedot

AVL-puut. eräs tapa tasapainottaa binäärihakupuu siten, että korkeus on O(log n) kun puussa on n avainta

AVL-puut. eräs tapa tasapainottaa binäärihakupuu siten, että korkeus on O(log n) kun puussa on n avainta AVL-puut eräs tapa tasapainottaa binäärihakupuu siten, että korkeus on O(log n) kun puussa on n avainta pohjana jo esitetyt binäärihakupuiden operaatiot tasapainotus vie pahimmillaan lisäajan lisäys- ja

Lisätiedot

Mat Lineaarinen ohjelmointi

Mat Lineaarinen ohjelmointi Mat-.40 Lineaarinen ohjelmointi 5..007 Luento 9 Verkkotehtävän erikoistapauksia (kirja 7., 7.5, 7.9, 7.0) Lineaarinen ohjelmointi - Syksy 007 / Luentorunko (/) Verkkotehtävän ominaisuuksia Kuljetustehtävä

Lisätiedot

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

Konsensusongelma hajautetuissa järjestelmissä. Niko Välimäki Hajautetut algoritmit -seminaari Konsensusongelma hajautetuissa järjestelmissä Niko Välimäki 30.11.2007 Hajautetut algoritmit -seminaari Konsensusongelma Päätöksen muodostaminen hajautetussa järjestelmässä Prosessien välinen viestintä

Lisätiedot

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

58131 Tietorakenteet (kevät 2009) Harjoitus 11, ratkaisuja (Topi Musto) 811 Tietorakenteet (kevät 9) Harjoitus 11, ratkaisuja (Topi Musto) 1. Bellmanin-Fordin algoritmin alustusvaiheen jälkeen aloitussolmussa on arvo ja muissa solmuissa on arvo ääretön. Kunkin solmun arvo

Lisätiedot

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

! #! %! & #!!!!! ()) + ! #! %! & #!!!!! ()) + Tiedekunta/Osasto Fakultet/Sektion Faculty Humanistinen tiedekunta Laitos Institution Department Taiteiden tutkimuksen laitos Tekijä Författare Author Matti Pesonen Työn nimi Arbetets

Lisätiedot

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

Maailman muutosta tallentamassa Marko Vuokolan The Seventh Wave -valokuvasarja avauksena taidevalokuvan aikaan Maailman muutosta tallentamassa Marko Vuokolan The Seventh Wave -valokuvasarja avauksena taidevalokuvan aikaan Pro gradu -tutkielma 31.1.2012 Helsingin yliopisto Humanistinen tiedekunta Filosofian, historian,

Lisätiedot

Algoritmit 2. Luento 6 Ke Timo Männikkö

Algoritmit 2. Luento 6 Ke Timo Männikkö Algoritmit 2 Luento 6 Ke 29.3.2017 Timo Männikkö Luento 6 B-puun operaatiot B-puun muunnelmia Nelipuu Trie-rakenteet Standarditrie Pakattu trie Algoritmit 2 Kevät 2017 Luento 6 Ke 29.3.2017 2/31 B-puu

Lisätiedot

Algoritmit 2. Luento 6 To Timo Männikkö

Algoritmit 2. Luento 6 To Timo Männikkö Algoritmit 2 Luento 6 To 28.3.2019 Timo Männikkö Luento 6 B-puun operaatiot Nelipuu Trie-rakenteet Standarditrie Pakattu trie Algoritmit 2 Kevät 2019 Luento 6 To 28.3.2019 2/30 B-puu 40 60 80 130 90 100

Lisätiedot

811312A Tietorakenteet ja algoritmit 2015-2016. V Verkkojen algoritmeja Osa 2 : Kruskalin ja Dijkstran algoritmit

811312A Tietorakenteet ja algoritmit 2015-2016. V Verkkojen algoritmeja Osa 2 : Kruskalin ja Dijkstran algoritmit 811312A Tietorakenteet ja algoritmit 2015-2016 V Verkkojen algoritmeja Osa 2 : Kruskalin ja Dijkstran algoritmit Sisältö 1. Johdanto 2. Leveyshaku 3. Syvyyshaku 4. Kruskalin algoritmi 5. Dijkstran algoritmi

Lisätiedot

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

Induktiotodistus: Tapaus n = 0 selvä; ol. väite pätee kun n < m. Väite: T (n) (a + b)n 2 + a. Induktiotodistus: Tapaus n = 0 selvä; ol. väite pätee kun n < m. Huomaa että funktion x x 2 + (m 1 x) 2 kuvaaja on ylöspäin aukeava paraabeli, joten funktio saavuttaa suurimman

Lisätiedot

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

Katsaus korruption vaikutuksesta Venäjän alueelliseen talouskasvuun ja suoriin ulkomaisiin investointeihin INSTITUUTIOTTALOUSKASVUNEDELLYTYKSENÄ KatsauskorruptionvaikutuksestaVenäjänalueelliseentalouskasvuunjasuoriin ulkomaisiininvestointeihin2000 2010 AshekMohamedTarikHossain HelsinginYliopisto Valtiotieteellinentiedekunta

Lisätiedot

Rakenteellinen tasapaino ja transitiivisyys

Rakenteellinen tasapaino ja transitiivisyys 1 Hypermedian jatko-opintoseminaari 2008-2009 Rakenteellinen tasapaino ja transitiivisyys 20.2.2009 Seppo Pohjolainen 2 Rakenteellinen tasapaino Käsitteitä: Arvotettu graafi (signed graph) (+ tai - ) Suuntaamaton

Lisätiedot

isomeerejä yhteensä yhdeksän kappaletta.

isomeerejä yhteensä yhdeksän kappaletta. Tehtävä 2 : 1 Esitetään aluksi eräitä havaintoja. Jokaisella n Z + symbolilla H (n) merkitään kaikkien niiden verkkojen joukkoa, jotka vastaavat jotakin tehtävänannon ehtojen mukaista alkaanin hiiliketjua

Lisätiedot

Luku 8. Aluekyselyt. 8.1 Summataulukko

Luku 8. Aluekyselyt. 8.1 Summataulukko Luku 8 Aluekyselyt Aluekysely on tiettyä taulukon väliä koskeva kysely. Tyypillisiä aluekyselyitä ovat, mikä on taulukon välin lukujen summa tai pienin luku välillä. Esimerkiksi seuraavassa taulukossa

Lisätiedot

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

Graafit ja verkot. Joukko solmuja ja joukko järjestämättömiä solmupareja. eli haaroja. Joukko solmuja ja joukko järjestettyjä solmupareja eli kaaria Graafit ja verkot Suuntamaton graafi: eli haaroja Joukko solmuja ja joukko järjestämättömiä solmupareja Suunnattu graafi: Joukko solmuja ja joukko järjestettyjä solmupareja eli kaaria Haaran päätesolmut:

Lisätiedot

58131 Tietorakenteet (kevät 2009) Harjoitus 6, ratkaisuja (Antti Laaksonen)

58131 Tietorakenteet (kevät 2009) Harjoitus 6, ratkaisuja (Antti Laaksonen) 58131 Tietorakenteet (kevät 2009) Harjoitus 6, ratkaisuja (Antti Laaksonen) 1. Avaimet 1, 2, 3 ja 4 mahtuvat samaan lehtisolmuun. Tässä tapauksessa puussa on vain yksi solmu, joka on samaan aikaan juurisolmu

Lisätiedot

Johdatus graafiteoriaan

Johdatus graafiteoriaan Johdatus graafiteoriaan Syksy 2017 Lauri Hella Tampereen yliopisto Luonnontieteiden tiedekunta 62 Luku 2 Yhtenäisyys 2.1 Polku 2.2 Lyhin painotettu polku 2.3 Yhtenäinen graafi 2.4 Komponentti 2.5 Aste

Lisätiedot

Kysymys: Voidaanko graafi piirtää tasoon niin, että sen viivat eivät risteä muualla kuin pisteiden kohdalla?

Kysymys: Voidaanko graafi piirtää tasoon niin, että sen viivat eivät risteä muualla kuin pisteiden kohdalla? 7.7. Tasograafit Graafi voidaan piirtää mielivaltaisen monella tavalla. Graafin ominaisuudet voivat näkyä selkeästi jossain piirtämistavoissa, mutta ei toisessa. Eräs tärkeä graafiryhmä, pintagraafit,

Lisätiedot

Algoritmit 1. Luento 13 Ma Timo Männikkö

Algoritmit 1. Luento 13 Ma Timo Männikkö Algoritmit 1 Luento 13 Ma 26.2.2018 Timo Männikkö Luento 13 Suunnittelumenetelmät Taulukointi Kapsäkkiongelma Ahne menetelmä Verkon lyhimmät polut Dijkstran menetelmä Verkon lyhin virittävä puu Kruskalin

Lisätiedot

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

Dominointianalyysi. Teppo Niinimäki. Helsinki Approksimointialgoritmit HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Dominointianalyysi Teppo Niinimäki Helsinki 10.5.2010 Approksimointialgoritmit HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI Tiedekunta

Lisätiedot

Pienin virittävä puu (minimum spanning tree)

Pienin virittävä puu (minimum spanning tree) Pienin virittävä puu (minimum spanning tree) Jatkossa puu tarkoittaa vapaata puuta (ks. s. 11) eli suuntaamatonta verkkoa, joka on yhtenäinen: minkä tahansa kahden solmun välillä on polku syklitön: minkä

Lisätiedot

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

58131 Tietorakenteet ja algoritmit (kevät 2014) Uusinta- ja erilliskoe, , vastauksia 58131 Tietorakenteet ja algoritmit (kevät 2014) Uusinta- ja erilliskoe, 10..2014, vastauksia 1. [9 pistettä] (a) Todistetaan 2n 2 + n + 5 = O(n 2 ): Kun n 1 on 2n 2 + n + 5 2n 2 + n 2 +5n 2 = 8n 2. Eli

Lisätiedot

Algoritmit 2. Luento 12 Ke Timo Männikkö

Algoritmit 2. Luento 12 Ke Timo Männikkö Algoritmit 2 Luento 12 Ke 26.4.2017 Timo Männikkö Luento 12 Rajoitehaku Kauppamatkustajan ongelma Lyhin virittävä puu Paikallinen etsintä Vaihtoalgoritmit Geneettiset algoritmit Simuloitu jäähdytys Algoritmit

Lisätiedot

Algoritmi III Vierekkäisten kuvioiden käsittely. Metsätehon tuloskalvosarja 7a/2018 LIITE 3 Timo Melkas Kirsi Riekki Metsäteho Oy

Algoritmi III Vierekkäisten kuvioiden käsittely. Metsätehon tuloskalvosarja 7a/2018 LIITE 3 Timo Melkas Kirsi Riekki Metsäteho Oy Algoritmi III Vierekkäisten kuvioiden käsittely Metsätehon tuloskalvosarja 7a/2018 LIITE 3 Timo Melkas Kirsi Riekki Metsäteho Oy Algoritmi III vierekkäisten kuvioiden käsittely Lähtötietoina algoritmista

Lisätiedot

58131 Tietorakenteet Erilliskoe , ratkaisuja (Jyrki Kivinen)

58131 Tietorakenteet Erilliskoe , ratkaisuja (Jyrki Kivinen) 58131 Tietorakenteet Erilliskoe 11.11.2008, ratkaisuja (Jyrki Kivinen) 1. (a) Koska halutaan DELETEMAX mahdollisimman nopeaksi, käytetään järjestettyä linkitettyä listaa, jossa suurin alkio on listan kärjessä.

Lisätiedot

58131 Tietorakenteet ja algoritmit (kevät 2013) Kurssikoe 2, , vastauksia

58131 Tietorakenteet ja algoritmit (kevät 2013) Kurssikoe 2, , vastauksia 58131 Tietorakenteet ja algoritmit (kevät 2013) Kurssikoe 2, 652013, vastauksia 1 [6 pistettä] Vastaa jokaisesta alla olevasta väittämästä onko se tosi vai epätosi ja anna lyhyt perustelu Jokaisesta kohdasta

Lisätiedot

Algoritmit 2. Luento 4 To Timo Männikkö

Algoritmit 2. Luento 4 To Timo Männikkö Algoritmit 2 Luento 4 To 21.3.2019 Timo Männikkö Luento 4 Hajautus Yhteentörmäysten käsittely Avoin osoitteenmuodostus Hajautusfunktiot Puurakenteet Solmujen läpikäynti Algoritmit 2 Kevät 2019 Luento 4

Lisätiedot

1. OHJAAMATON OPPIMINEN JA KLUSTEROINTI

1. OHJAAMATON OPPIMINEN JA KLUSTEROINTI 1. OHJAAMATON OPPIMINEN JA KLUSTEROINTI Ohjaamattomassa oppimisessa on tavoitteena muodostaa hahmoista ryhmiä, klustereita, joiden sisällä hahmot ovat jossain mielessä samankaltaisia ja joiden välillä

Lisätiedot

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

Etsintä verkosta (Searching from the Web) T Datasta tietoon Heikki Mannila, Jouni Seppänen Etsintä verkosta (Searching from the Web) T-61.2010 Datasta tietoon Heikki Mannila, Jouni Seppänen 12.12.2007 Webin lyhyt historia http://info.cern.ch/proposal.html http://browser.arachne.cz/screen/

Lisätiedot

Laskennallinen yhteiskuntatiede

Laskennallinen yhteiskuntatiede Laskennallinen yhteiskuntatiede Matti Nelimarkka Helsinki 5.5.2011 LuK tutkielma HELSINGIN YLIOPISTO Tietojenkasittelytieteen laitos HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI Tiedekunta

Lisätiedot

b) Olkoon G vähintään kaksi solmua sisältävä puu. Sallitaan verkon G olevan

b) Olkoon G vähintään kaksi solmua sisältävä puu. Sallitaan verkon G olevan Tehtävä 7 : 1 a) Olkoon G jokin epäyhtenäinen verkko. Tällöin väittämä V (G) 2 pätee jo epäyhtenäisyyden nojalla. Jokaisella joukolla X on ehto X 0 voimassa, joten ehdot A < 0 ja F < 0 toteuttavilla joukoilla

Lisätiedot

Keskusaliverkkojen etsiminen kyselysolmujen välillä laajoista verkoista

Keskusaliverkkojen etsiminen kyselysolmujen välillä laajoista verkoista 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

Lisätiedot

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

Yhtälöryhmä matriisimuodossa. MS-A0004/A0006 Matriisilaskenta. Tarkastellaan esimerkkinä lineaarista yhtälöparia. 2x1 x 2 = 1 x 1 + x 2 = 5. 2. MS-A4/A6 Matriisilaskenta 2. Nuutti Hyvönen, c Riikka Kangaslampi Matematiikan ja systeemianalyysin laitos Aalto-yliopisto 5.9.25 Tarkastellaan esimerkkinä lineaarista yhtälöparia { 2x x 2 = x + x 2

Lisätiedot

Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun

Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun Sami Hokuni 12 Syyskuuta, 2012 1/ 54 Sami Hokuni Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun Turun Yliopisto. Gradu tehty 2012 kevään

Lisätiedot

Harjoitus 3 (31.3.2015)

Harjoitus 3 (31.3.2015) Harjoitus (..05) Tehtävä Olkoon kaaren paino c ij suurin sallittu korkeus tieosuudella (i,j). Etsitään reitti solmusta s solmuun t siten, että reitin suurin sallittu korkeus pienimmillään olisi mahdollisimman

Lisätiedot

Verkkoalgoritmeja. Henry Niveri. hniveri(at)cc.hut.fi

Verkkoalgoritmeja. Henry Niveri. hniveri(at)cc.hut.fi Verkkoalgoritmeja Henry Niveri hniveri(at)cc.hut.fi Seminaariesitelmä 16.4.008 T-106.5800 Satunnaisalgoritmit Tietotekniikan laitos Teknillinen korkeakoulu Tiivistelmä Tässä esityksessä käsitellään satunnaisalgoritmien

Lisätiedot

5.1 Semanttisten puiden muodostaminen

5.1 Semanttisten puiden muodostaminen Luku 5 SEMNTTISET PUUT 51 Semanttisten puiden muodostaminen Esimerkki 80 Tarkastellaan kysymystä, onko kaava = (( p 0 p 1 ) (p 1 p 2 )) toteutuva Tätä voidaan tutkia päättelemällä semanttisesti seuraavaan

Lisätiedot

Tietorakenteet, laskuharjoitus 7, ratkaisuja

Tietorakenteet, laskuharjoitus 7, ratkaisuja Tietorakenteet, laskuharjoitus, ratkaisuja. Seuraava kuvasarja näyttää B + -puun muutokset lisäysten jälkeen. Avaimet ja 5 mahtuvat lehtisolmuihin, joten niiden lisäys ei muuta puun rakennetta. Avain 9

Lisätiedot

Algoritmit 1. Luento 6 Ke Timo Männikkö

Algoritmit 1. Luento 6 Ke Timo Männikkö Algoritmit 1 Luento 6 Ke 25.1.2017 Timo Männikkö Luento 6 Järjestetty lista Listan toteutus dynaamisesti Linkitetyn listan operaatiot Vaihtoehtoisia listarakenteita Puurakenteet Binääripuu Järjestetty

Lisätiedot

Silmukkaoptimoinnista

Silmukkaoptimoinnista sta TIE448 Kääntäjätekniikka, syksy 2009 Antti-Juhani Kaijanaho TIETOTEKNIIKAN LAITOS 8. joulukuuta 2009 Sisällys Sisällys Seuraava deadline Vaihe F maanantai 14.12. klo 12 rekisteriallokaatio Arvostelukappale

Lisätiedot

Arkkitehtuurinen reflektio

Arkkitehtuurinen reflektio Arkkitehtuurinen reflektio Toni Ruokolainen Toni.Ruokolainen@cs.helsinki.fi Helsinki 6.10.2003 Tiivistelmä HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET

Lisätiedot

Algoritmit 2. Luento 5 Ti Timo Männikkö

Algoritmit 2. Luento 5 Ti Timo Männikkö Algoritmit 2 Luento 5 Ti 26.3.2019 Timo Männikkö Luento 5 Puurakenteet B-puu B-puun korkeus B-puun operaatiot B-puun muunnelmia Algoritmit 2 Kevät 2019 Luento 5 Ti 26.3.2019 2/34 B-puu B-puut ovat tasapainoisia

Lisätiedot

PN-puu. Helsinki Seminaari: Tietokannat nyt HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

PN-puu. Helsinki Seminaari: Tietokannat nyt HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos PN-puu Erno Härkönen Helsinki 24.10.2006 Seminaari: Tietokannat nyt HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI Tiedekunta/Osasto

Lisätiedot

B U S I N E S S O U L U

B U S I N E S S O U L U S I S Ä L L Ö N T U O T T A M I N E N, T Y Ö K A L U T J A V I N K I T 8. 1 0. 2 0 1 9 V E R K K O J A L A N J Ä L K I B U S I N E S S O U L U K I R S I M I K KO L A & I L K K A K A U P P I N E N 8.10.2019

Lisätiedot

Algoritmit 1. Luento 13 Ti 23.2.2016. Timo Männikkö

Algoritmit 1. Luento 13 Ti 23.2.2016. Timo Männikkö Algoritmit 1 Luento 13 Ti 23.2.2016 Timo Männikkö Luento 13 Suunnittelumenetelmät Taulukointi Kapsäkkiongelma Ahne menetelmä Verkon lyhimmät polut Dijkstran menetelmä Verkon lyhin virittävä puu Kruskalin

Lisätiedot

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

Valitaan alkio x 1 A B ja merkitään A 1 = A { x 1 }. Perinnöllisyyden nojalla A 1 I. Vaihto-ominaisuudella on seuraava intuition kannalta keskeinen seuraus: Olkoot A I ja B I samankokoisia riippumattomia joukkoja: A = B = m jollain m > 0. Olkoon vielä n = m A B, jolloin A B = B A = n.

Lisätiedot

Oppimateriaalin kokoaminen ja paketointi

Oppimateriaalin kokoaminen ja paketointi Oppimateriaalin kokoaminen ja paketointi Pekka Simola Helsinki 14.4.2004 HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY OF HELSINKI Tiedekunta/Osasto

Lisätiedot

Puiden karakterisointi

Puiden karakterisointi Puiden karakterisointi LuK-tutkielma Airta Ella 2502661 Matemaattisten tieteiden laitos Oulun yliopisto Syksy 2018 Sisältö Johdanto 2 1 Johdatus verkkoteoriaan 3 1.1 Verkko käsitteenä.........................

Lisätiedot

Harjoitus 3 (3.4.2014)

Harjoitus 3 (3.4.2014) Harjoitus 3 (3..) Tehtävä Olkoon kaaren paino c ij suurin sallittu korkeus tieosuudella (i, j). Etsitään reitti solmusta s solmuun t siten, että reitin suurin sallittu korkeus pienimmillään olisi mahdollisimman

Lisätiedot

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

Graafin 3-värittyvyyden tutkinta T Graafiteoria, projektityö (eksakti algoritmi), kevät 2005 Graafin 3-värittyvyyden tutkinta T-79.165 Graafiteoria, projektityö (eksakti algoritmi), kevät 2005 Mikko Malinen, 36474R 29. maaliskuuta, 2005 Tiivistelmä Artikkelissa käydään läpi teoriaa, jonka avulla

Lisätiedot

Yleinen paikallinen vakautuva synkronointialgoritmi

Yleinen paikallinen vakautuva synkronointialgoritmi Yleinen paikallinen vakautuva synkronointialgoritmi Panu Luosto 23. marraskuuta 2007 3 4 putki 1 2 α α+1 α+2 α+3 0 K 1 kehä K 2 K 3 K 4 Lähdeartikkeli Boulinier, C., Petit, F. ja Villain, V., When graph

Lisätiedot

Verkon virittävät puut

Verkon virittävät puut Verkon virittävät puut Olkoon G = (V, E) suuntaamaton yhtenäinen verkko verkon yhtenäisyydellä tarkoitamme että kaikki verkon solmut ovat saavutettavissa toisistaan, eli verkossa ei ole erillisiä osia

Lisätiedot

Luonnollisen päättelyn luotettavuus

Luonnollisen päättelyn luotettavuus Luonnollisen päättelyn luotettavuus Luotettavuuden todistamiseksi määrittelemme täsmällisesti, milloin merkkijono on deduktio. Tässä ei ole sisällytetty päättelysääntöihin iteraatiosääntöä, koska sitä

Lisätiedot

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

Useaa tietolähdettä käyttävä klusterointi Useaa tietolähdettä käyttävä klusterointi Mikko Heinonen Tiedon louhinnan seminaari, kevät 2008 HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos 1 HELSINGIN YLIOPISTO HELSINGFORS UNIVERSITET UNIVERSITY

Lisätiedot

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

14. Luennon sisältö. Kuljetustehtävä. Verkkoteoria ja optimointi. esimerkki. verkkoteorian optimointitehtäviä verkon virittävä puu lyhimmät polut JYVÄSKYLÄN YLIOPISTO 14. Luennon sisältö Kuljetustehtävä esimerkki Verkkoteoria ja optimointi verkkoteorian optimointitehtäviä verkon virittävä puu lyhimmät polut kevät 2012 TIEA382 Lineaarinen ja diskreetti

Lisätiedot

10. Painotetut graafit

10. Painotetut graafit 10. Painotetut graafit Esiintyy monesti sovelluksia, joita on kätevä esittää graafeina. Tällaisia ovat esim. tietoverkko tai maantieverkko. Näihin liittyy erinäisiä tekijöitä. Tietoverkkoja käytettäessä

Lisätiedot

Algoritmit 2. Luento 9 Ti Timo Männikkö

Algoritmit 2. Luento 9 Ti Timo Männikkö Algoritmit 2 Luento 9 Ti 17.4.2018 Timo Männikkö Luento 9 Merkkitiedon tiivistäminen Huffmanin koodi LZW-menetelmä Taulukointi Editointietäisyys Algoritmit 2 Kevät 2018 Luento 9 Ti 17.4.2018 2/29 Merkkitiedon

Lisätiedot

Tiedekunta/Osasto Fakultet/Sektion Faculty Valtiotieteellinen tiedekunta

Tiedekunta/Osasto Fakultet/Sektion Faculty Valtiotieteellinen tiedekunta Tiedekunta/Osasto Fakultet/Sektion Faculty Valtiotieteellinen tiedekunta Laitos Institution Department Politiikan ja talouden tutkimuksen laitos Tekijä Författare Author Virta, Mikko Antero Työn nimi Arbetets

Lisätiedot

Lyhin kahden solmun välinen polku

Lyhin kahden solmun välinen polku Lyhin kahden solmun välinen polku Haluamme etsiä lyhimmän polun alla olevan ruudukon kohdasta a kohtaan b vierekkäisten (toistensa sivuilla, ylä- ja alapuolella olevien) valkoisten ruutujen välinen etäisyys

Lisätiedot

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

Yhtälöryhmä matriisimuodossa. MS-A0007 Matriisilaskenta. Tarkastellaan esimerkkinä lineaarista yhtälöparia. 2x1 x 2 = 1 x 1 + x 2 = 5. 2. MS-A000 Matriisilaskenta 2. Nuutti Hyvönen, c Riikka Kangaslampi Matematiikan ja systeemianalyysin laitos Aalto-yliopisto 2..205 Tarkastellaan esimerkkinä lineaarista yhtälöparia { 2x x 2 = x x 2 =

Lisätiedot

Kielitieteellisten aineistojen käsittely

Kielitieteellisten aineistojen käsittely Kielitieteellisten aineistojen käsittely 1 Johdanto...1 2 Aineistojen kommentointi, metadatan tyypit...1 3 Aineistojen käsittely...2 3.1 Rakenteisten kieliaineistojen kyselykielet...2 3.2 Tiedonlouhinta

Lisätiedot

Liite: Verkot. TKK (c) Ilkka Mellin (2004) 1

Liite: Verkot. TKK (c) Ilkka Mellin (2004) 1 Liite: Verkot TKK (c) Ilkka Mellin (2004) 1 : Mitä opimme? Verkkoteoria on hyödyllinen sovelletun matematiikan osa-alue, jolla on sovelluksia esimerkiksi logiikassa, operaatiotutkimuksessa, peli-ja päätösteoriassa

Lisätiedot

Algoritmit 1. Luento 10 Ke Timo Männikkö

Algoritmit 1. Luento 10 Ke Timo Männikkö Algoritmit 1 Luento 10 Ke 14.2.2018 Timo Männikkö Luento 10 Algoritminen ongelmanratkaisu Suunnittelumenetelmät Raaka voima Järjestäminen eli lajittelu Kuplalajittelu Lisäyslajittelu Valintalajittelu Permutaatiot

Lisätiedot

Mat Lineaarinen ohjelmointi

Mat Lineaarinen ohjelmointi Mat-.4 Lineaarinen ohjelmointi 8..7 Luento 8 Verkkotehtävät, simlex ja duaalisuus (kirja 7.-7., 7.6) Lineaarinen ohjelmointi - Syksy 7 / Motivointi Käsitteitä Verkkotehtävä Verkkosimlex Duaalitehtävä Yhteenveto

Lisätiedot

Mat Lineaarinen ohjelmointi

Mat Lineaarinen ohjelmointi Mat-.34 Lineaarinen ohjelmointi 5..7 Luento Kertausta Lineaarinen ohjelmointi - Syksy 7 / LP ja Simplex Kurssin rakenne Duaalisuus ja herkkyysanalyysi Verkkotehtävät Kokonaislukutehtävät Lineaarinen ohjelmointi

Lisätiedot

Malliratkaisut Demot

Malliratkaisut Demot Malliratkaisut Demot 4 3.4.017 Tehtävä 1 Tarkastellaan harjoituksen 1 nopeimman reitin ongelmaa ja etsitään sille lyhin virittävä puu käyttämällä kahta eri algoritmia. a) (Primin algoritmi) Lähtemällä

Lisätiedot

Satunnaisalgoritmit. Topi Paavilainen. Laskennan teorian opintopiiri HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Satunnaisalgoritmit. Topi Paavilainen. Laskennan teorian opintopiiri HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Satunnaisalgoritmit Topi Paavilainen Laskennan teorian opintopiiri HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Helsinki, 23. helmikuuta 2014 1 Johdanto Satunnaisalgoritmit ovat algoritmeja, joiden

Lisätiedot

Asuntojen neliöhinnan vaihtelu Helsingissä (1997-2010)

Asuntojen neliöhinnan vaihtelu Helsingissä (1997-2010) hyväksymispäivä arvosana arvostelija Asuntojen neliöhinnan vaihtelu Helsingissä (1997-2010) Tuomas Puikkonen Helsinki 8.1.2010 Geoinformatiikan menetelmät ja kirjallisuus -kurssin harjoitustyö HELSINGIN

Lisätiedot

Algoritmit 2. Luento 10 To Timo Männikkö

Algoritmit 2. Luento 10 To Timo Männikkö Algoritmit 2 Luento 10 To 19.4.2018 Timo Männikkö Luento 10 Peruutusmenetelmä Osajoukon summa Verkon 3-väritys Pelipuut Pelipuun läpikäynti Algoritmit 2 Kevät 2018 Luento 10 To 19.4.2018 2/34 Algoritmien

Lisätiedot

Sovellettu todennäköisyyslaskenta B

Sovellettu todennäköisyyslaskenta B Sovellettu todennäköisyyslaskenta B Antti Rasila 14. syyskuuta 2007 Antti Rasila () TodB 14. syyskuuta 2007 1 / 21 1 Kokonaistodennäköisyys ja Bayesin kaava Otosavaruuden ositus Kokonaistodennäköisyyden

Lisätiedot