arvostelija Assosiaatiosäännöt sekvensseissä Jarmo Hakala Vantaa HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Koko: px
Aloita esitys sivulta:

Download "arvostelija Assosiaatiosäännöt sekvensseissä Jarmo Hakala Vantaa 20.10.2005 HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos"

Transkriptio

1 hyväksymispäivä arvosana arvostelija Assosiaatiosäännöt sekvensseissä Jarmo Hakala Vantaa HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

2 Tiivistelmä Assosiaatiosäännöt sekvensseissä on Jarmo Hakalan Vantaalla syksyllä 2005 laatima kaksitoistasivuinen tutkielma, joka tarkastelee toistuvien sekvenssihahmojen löytämisongelmaa ja analysoi kahdentyyppisiä algoritmeja ongelman ratkaisemiseksi. Tutkielma kuuluu luokkaan H.3.3 Tiedonhaku ja jäljitys (Information Search and Retrieval ACM:n tietojenkäsittelytieteen luokitusjärjestelmässä ACM Computing Classication System (1998). Tutkielmassa vertailtavista algoritmeista SPADE-algoritmi päihittää Apriori-algoritmin johdokset etenkin siksi, että se pystyy löytämään kaikki pitkätkin sekvenssihahmot, kun taas Apriorialgoritmin johdokset soveltuvat ainoastaan lyhyiden hahmojen etsimiseen.

3 i Sisältö 1 Johdanto 1 2 Toistuvat sekvenssihahmot Määrälliset assosiaatiosäännöt Sekvenssihahmosääntöjen määritelmä Mihin sekvenssihahmoja tarvitaan? Hahmojen tunnistus Apriori-algoritmi SPADE-algoritmi Arviointia Yhteenveto 10

4 1 Johdanto Sekvenssihahmojen löytäminen suurista sekvenssitietokannoista on tärkeä tiedon löytämisen ja louhinnan ongelma. Monia eri toimialoja, kuten esimerkiksi vähittäiskauppaa ja telekommunikaatiosektoria, hyödyttävät sovellukset käyttävät toistuvia sekvenssihahmoja tiedon louhintaan. Kun esimerkiksi asiakkaan ostoskoritietoja sisältävissä tietokannoissa jokainen tietosekvenssi (sekvenssi = jono peräkkäisiä tapahtumia) vastaa asiakkaan tekemiä ostoksia, ovat sekvenssihahmot käyttökelpoisia tulevien asiakkaiden ostokäyttäytymisten ennustamisessa. Web-palvelimet generoivat suuria määriä lokitietoa päivittäin hankkimalla sivukäyntisekvenssejä jopa miljoonilta käyttäjiltä. Kun toistuvia sekvenssihahmoja pystytään löytämään Web-lokeista, on esimerkiksi mahdollista luoda paremmin hyperlinkitetty rakenne korreloivien sivujen välillä [GRS99]. Tämän tutkielman toisessa luvussa perehdytäänkin assosiaatiosääntöjen määritelmän kautta sekvenssihahmojen määritelmään ja edelleen sekvenssihahmojen käytön hyödyllisyyteen. Tutkielman kolmannessa luvussa tutustutaan kahteen erilaiseen algoritmiin, Apriori-algoritmiin sekä SPADE-algoritmiin. Sekvenssihahmoja pyrittiin löytämään vuoteen 1997 asti pääasiallisesti Apriori-algoritmiin perustuvilla algoritmijohdoksilla, kunnes Mohammed J. Zaki esitteli SPADE-algoritmin [Zak97]. SPADE-algoritmilla pystytään löytämään kaikki pitkätkin toistuvat hahmot - ja vielä hyvin tehokkaasti, mihin taas Apriori-algoritmin johdoksilla ei ole kyetty. 1

5 2 Toistuvat sekvenssihahmot Tässä luvussa paneudutaan toistuvien sekvenssihahmojen (frequent sequence patterns) maailmaan. Ensimmäisessä aliluvussa Määrälliset assosiaatiosäännöt annetaan määrällisen assosiaatiosäännön määritelmä sekä määritellään ongelma lyhyesti. Seuraavassa aliluvussa Sekvenssihahmosääntöjen määritelmä annetaan kattavat esimerkit sekvenssihahmosäännöistä, matemaattinen määritelmä sekä määritellään ongelma lyhyesti. Kolmas aliluku Mihin sekvenssihahmoja tarvitaan? perustelee sekvenssihahmojen tarpeen. 2.1 Määrälliset assosiaatiosäännöt Esimerkki määrällisestä assosiaatiosäännöstä (quantitative association rule): 30 % olutta sisältävistä ostoksista sisältää myös vaippoja, ja 2 % kaikista ostoksista sisältää näitä molempia artikkeleita. Esimerkki säännön tuesta (support): '2 leipää, 3 olutta, 1 pkt vaippoja' tukee alijoukkoa '1-3 leipää, 1-5 olutta'. Olkoon I = {i 1, i 2,, i m } attribuuttien joukko. Tarkoittakoon P positiivisten kokonaislukujen joukkoa ja I V joukkoa I P. Pari x, v I V tarkoittaa attribuuttia x, jolla on assosiaatioarvo (associated value) v. Olkoon I R joukko { x, l, u I P P l u, jos x on määrällinen attribuutti; l = u, jos x on luokitteleva attribuutti }. Kolmikko x, l, u I R tarkoittaa siis joko määrällistä attribuuttia x, jolla on intervallissa [l, u] arvo tai luokittelevaa attribuuttia x, jolla on arvo l. Kolmikkoa (triple) x, l, u I R kutsutaan yksiköksi (item). Millä tahansa X I R, attribuutit(x) tarkoittavat joukkoa {x x, l, u X}. [AgS96b] Olkoon D tietokantataulu, missä jokainen tietue R on attribuuttien arvo- 2

6 joukko siten, että R I V. Jokainen tietue sisältää kunkin attribuutin vain kerran. Tällöin tietue R tukee X I R, jos x, l, u X( x, q R siten, että l q u). Määrällinen assosiaatiosääntö on ilmaus X Y, missä X I R, Y I R, ja attribuutit(x) attribuutit(y )=. Sääntö X Y pitää tietuejoukossa D luottamuksella (condence) c jos c% tietueista joukossa D, jotka tukevat joukkoa X tukevat myös joukkoa Y. Säännöllä X Y on tuki s tietokantataulussa D, jos s% D:n tietueista tukee X Y. [AgS96b] Määrällisten assosiaatiosääntöjen louhintaongelma on löytää kaikki ne määrälliset assosiaatiosäännöt, joilla on tuki ja luottamus suurempi kuin käyttäjän määrittelemä minimituki (minsup) ja minimiluottamus (minconf ). 2.2 Sekvenssihahmosääntöjen määritelmä Esimerkkinä sekvenssihahmosta voidaan ajatella seuraavaa: 5 % asiakkaista osti vuoden sisään ensin kirjan 'Sormuksen ritarit', sitten kirjan 'Kaksi tornia' ja sitten kirjan 'Kuninkaan paluu'. Vaikka joku asiakas ostaisi muitakin kirjoja näiden kirjojen välissä, sisältää sen asiakkaan tietosekvenssi myös edellä mainitun sekvenssihahmon. Sekvenssihahmojen elementit saavat myös olla yksiköiden joukkoja, esimerkiksi Kirjaostotapahtumaa 'Sormuksen ritarit' ja 'Kaksi tornia' seurasi kirjaostotapahtuma 'Kuninkaan paluu' ja 'Hobitit'. Kuitenkin sekvenssihahmoelementin kaikkien yksiköiden on löydyttävä tietosekvenssin transaktioista, jotta hahmoa voidaan tukea [AgS96a]. Olkoon I = {i 1, i 2,, i m } eri attribuuttien joukko, jota myös kutsutaan yksiköksi. Yksikköjoukko (itemset) on epätyhjä järjestämätön yksiköiden kokoelma. Sekvenssi on kasvavassa järjestyksessä oleva lista yksikköjoukkoja. Yksikköjoukko i on {i 1, i 2,, i k }, missä i j on yksikkö. Yksikköjoukko, jossa on k yksikköä on k-yksikköjoukko. Sekvenssillä α tarkoitetaan jonoa (α 1 α 2 3

7 α n ), missä sekvenssielementti α j on yksikköjoukko. Sekvenssiä, jossa on k yksikköä (k = j α j ), kutsutaan k-sekvenssiksi. Esimerkiksi (B AC) on 3-sekvenssi. Yksikkö voi esiintyä ainoastaan kerran kussakin yksikköjoukossa, mutta se voi esiintyä useita kertoja sekvenssin eri yksikköjoukoissa [Zak97]. Sekvenssi α 1 = (α 1 α 2 α n ) on toisen sekvenssin β = (β 1 β 2 β m ) alisekvenssi (merkitään α β), jos kaikille x N (N = 1,..., n)on olemassa indeksi j x M siten, että a x b j x ja mille tahansa x, y N, jos x < y, niin j x < j y. Esimerkiksi sekvenssi (B AC D) on sekvenssin (AB E ACE BE DE) alisekvenssi, koska sekvenssielementit B AB, AC ACD ja D DE. Toisaalta sekvenssi (AB E) ei ole sekvenssin (ABE) alisekvenssi eikä päinvastoin [Zak97]. Oletetaan, että asiakkaalla C ei ole enempää kuin yksi transaktio (esimerkiksi ostotapahtuma), jolla on sama aikaleima. Tällöin transaktioaikaa voidaan käyttää transaktion tunnuksena. Oletetaan myös, että lista asiakastransaktioita lajitellaan transaktioajan mukaan. Täten asiakkaan transaktiolista on itsessään sekvenssi, ns. asiakassekvenssi. Tietokanta D koostuu useasta sellaisesta asiakassekvenssistä. Asiakassekvenssin C sanotaan sisältävän sekvenssin α, jos α on asiakassekvenssin C alisekvenssi. Sekvenssin α tuki (toistuvuus) on kaikkien niiden asiakkaiden osuus, jotka sisältävät tämän sekvenssin (Kaava 1). Sekvenssi on toistuva, jos fr(α, D) minsup. Toistuvien k-sekvenssien joukko merkitään F k1 [Zak97]. ja kaikkien toistuvien sekvenssien joukko F = k F k fr(α, D) = {C D C contains α} D Kaava 1. Sekvenssin toistuvuus [Zak97]. 4

8 Ajatellaan tietokantaa (Taulukko 1), jossa on kahdeksan yksikköä, yksiköstä A yksikköön H, neljä asiakasta ja kaiken kaikkiaan 10 transaktiota. Kahdella asiakkaalla eli 50 %:n minimituella saadaan seuraavat toistuvat sekvenssit (jokaisen sekvenssin tuki on hakasulkeissa): F 1 = {(A)[4], (B)[4], (D)[2], (F )[4]} F 2 = {(AB)[3], (AF )[3], (B A)[2], (BF )[4], (D A)[2], (D B)[2], (D F )[2], (F A)[2]} F 3 = {(ABF )[3], (BF A)[2], (D BF )[2], (D B A)[2], (D F A)[2]} F 4 = {(D BF A)[2]} Löydettyjä sekvenssejä voidaan käyttää sääntöjen löytämiseen ja eri sekvenssiyksiköiden suhteiden kuvaamiseen. Esimerkiksi sekvenssi (BF ) löytyy neljältä asiakkaalta, kun taas (ABF ) kolmelta asiakkaalta. Eli jos BF löytyy yhdessä, on 75 %:n todennäköisyys, että myös A löytyy. Tällöin säännöllä (BF ) (BF A) on 75 %:n luottamus. Yksinkertaisella algoritmilla (Algoritmi 1) voidaan luoda kaikki ne säännöt, kunhan tiedetään ne sekvenssit, joilla on tietty minimiluottamus [Zak97]. Asiakastunnus Transaktioaika Yksikot 1 10 CD 1 15 ABC 1 20 ABF 1 25 ACDF 2 15 ABF 2 20 E 3 10 ABF 4 10 DGH 4 20 BF 4 25 AGH Taulukko 1. Tietokantataulu [Zak97]. 5

9 1)RuleGen(F, minconf ): 2) for all frequent sequences β F do 3) for all subsequences α β do 4) conf = fr(β)/fr(α); 5) if (conf minconf ) then 6) output the rule α β, and conf Algoritmi 1. Algoritmi sääntöjen luomiseen [Zak97]. Kun tavalliset assosiaatiosäännöt kuvaavat pelkästään transaktion sisäisiä hahmoja (yksikköjoukkoja), sekvenssihahmojen kohdalla assosiaatiosäännöt merkitsevät myös transaktioiden välisten hahmojen eli sekvenssien löytämistä. Tällöin kaikkien toistuvien sekvenssien joukko on kaikkien toistuvien yksikköjoukkojen ylijoukko [Zak97]. Sekvenssihahmojen louhintaongelmana on löytää kaikki sekvenssihahmot, joilla on käyttäjän määrittelemä minimituki. Hahmon tuki on hahmon sisältävien tietosekvenssien prosenttiosuus tietokannassa [AgS96a]. 2.3 Mihin sekvenssihahmoja tarvitaan? Vähittäiskaupan asiakkaan tiettynä ajanjaksona tekemistä ostoksista voidaan muodostaa tietosekvenssi. Tietosekvenssistä saa irti mm. sen, minkä tuotteen B asiakkaat tyypillisesti ostavat ostettuaan ensin tuotteen A. Tällöin sekvenssihahmot ovat käyttökelpoisia tulevien asiakkaiden ostokäyttäytymisten ennustamisessa. Web-palvelimet generoivat suuria määriä lokitietoa päivittäin hankkimalla sivukäyntisekvenssejä jopa miljoonilta käyttäjiltä. Kun toistuvia sekvenssihahmoja pystytään löytämään Web-lokeista, on esimerkik- 6

10 si mahdollista luoda paremmin hyperlinkitetty rakenne korreloivien sivujen välillä [GRS99]. Sekvenssihahmosovellukset ovat hyödyllisiä myös muilla toimialoilla, kuten telekommunikaatiosektorilla (esimerkiksi hälytysdiagnoosi) ja lääketiedesektorilla (esimerkiksi sairautta edeltävien oireiden tunnistaminen) [Zak97]. 3 Hahmojen tunnistus Tässä luvussa esitellään kaksi algoritmia, joita on vuosien saatossa käytetty hahmojen louhintaan. Ensimmäisessä aliluvussa Apriori-algoritmi annetaan pseudokoodi Apriori-algoritmille, josta on tehty useita muunnelmia erilaisten hahmojen louhintaongelmien ratkaisemiseksi. Toisessa aliluvussa SPADEalgoritmi esitellään algoritmi, joka pystyy tekemään tehokkaan sekvenssihaun ja lisäksi löytämään kaikki pitkätkin hahmot - toisin kuin Apriorialgoritmin johdokset. Viimeisessä aliluvussa Arviointia tutkielman tekijä pohtii ja vertailee esiteltyjä algoritmeja. 3.1 Apriori-algoritmi Monet hahmonlouhinta-algoritmit ovat Apriori-algoritmin (Algoritmi 2.) muunnoksia. Apriori-algoritmi löytää hahmot etsimällä toistuvia yksikköjoukkoja. Toistuva yksikköjoukko on niiden yksikköjen joukko, jotka löytyvät jostain tietokannan tietueesta ja jotka täyttävät tietyt käyttäjän määrittelemät ehdot. Apriori-algoritmi suorittaa alhaalta ylös etenevän haun, jossa jokainen yksittäinen toistuva yksikköjoukko luetellaan [AgS94]. 7

11 1) L={large 1-itemsets}: 2) for (k = 2; L k 1 ; k + +) do begin 3) C k = apriori-gen (L k 1 ); // New candidates 4) forall transactions t D do begin 5) C t = subset (C k, l); //Candidates contained in l 6) forall candidates c C t do 7) c.count++; 8) end 9) L k = (c C k c.count minsup) 10) end 11) Answer = k L k; Algoritmi 2. Apriori-algoritmi (määrällisten hahmojen löytämiseen) [AgS94]. Apriori-algoritmista on sen esittelyn jälkeen tehty useita eri muunnelmia. Aprioriin perustuvat hahmonlouhinta-algoritmit on suurimmaksi osaksi luotu toimimaan tietokannoissa, joissa pisimmät hahmot ovat kuitenkin suhteellisen lyhyitä. Pitkiä hahmoja voivat olla esimerkiksi eri kyselyjen tulokset, kanta-asiakkaan pitkän aikavälin ostoksia kuvaavat myyntitapahtumat sekä DNA:n ja proteiinianalyysin biologiset tiedot. Monilla luokitelluilla tietojoukoilla saattaa olla pitkiä hahmoja, koska ne sisältävät useita toistuvia yksiköitä, ja tietueiden pituudet ovat keskiarvoiltaan suuria. Koska tutkimukset ovat osoittaneet, että Aprioriin perustuvat algoritmit ovat riittämättömiä pitkien hahmojen tietojoukoille [Bay98], on niille alettu kehittää parempia algoritmeja. Apriori-algoritmi perustuu siihen, että toistuvien yksikköjoukkojen kaikki alijoukot ovat myös toistuvia. Eli jos halutaan tuottaa toistuva yksikköjouk- 8

12 ko, jonka pituus on l, pitää myös tuottaa kaikki 2 l alijoukkoa. Tällainen eksponentiaalinen monimutkaisuus rajoittaa Apriori-tyyppisten algoritmien käytön ainoastaa lyhyisiin hahmoihin [Bay98]. 3.2 SPADE-algoritmi SPADE-algoritmissa (Sequential Pattern Discovery using Equivalence classes) käytetään tietokantaformaattina vertikaalista listaa. Siinä jokaiseen sekvenssiin liitetään lista objekteista sekä aikaleimoista. Kaikki toistuvat sekvenssit pystytään luettelemaan yksinkertaisilla tilapäisillä listojen liitoksilla (tai leikkauksilla). Verkkotietorakennetta käytetään alkuperäisen hakutilan (verkon) hajottamiseksi pienempiin palasiin (aliverkkoihin). Aliverkot voidaan prosessoida itsenäisesti keskusmuistissa. Tällainen lähestymistapa vaatii tavallisesti vain kolme tietokannan läpikäyntiä; tai vain yhden läpikäynnin, jos informaatiota on esiprosessoitu (tämä minimoi I/O-kustannuksia). Jokaisen aliverkon toistuvien sekvenssien luettelemiseksi on olemassa kaksi erilaista hakustrategiaa, leveyssuuntainen (breadth-rst) tai syvyyssuuntainen haku (depth-rst) [Zak01]. SPADE-algoritmi on melko monimutkainen, joten tässä tutkimuksessa sivuutetaan sen perusteellisempi esittely. Tarkemmat vaiheet on selvitetty M.J. Zakin artikkelissa [Zak01]. SPADE-algoritmilla löydetään kaikki toistuvat sekvenssit tavallisesti vain kolmella tietokannan läpikäymisellä. Lisäksi SPADE-algoritmilla on erinomaiset skaalautuvuusominaisuudet suhteessa asiakkaiden määriin, transaktioiden määriin per asiakas, transaktion kokoon ja mahdollisiin maksimaalisen kokoisiin toistuviin sekvensseihin [Zak97]. SPADE ei ainoastaan minimoi I/O-kustannuksia vähentämällä tietokannan läpikäyntejä, vaan myös mini- 9

13 moi laskentakustannuksia käyttämällä tehokasta hakukaavaa [Zak01]. Tutkimusten mukaan SPADE-algoritmi löi ilmestyessään edellä mainittujen ominaisuuksiensa ansiosta kaikki siihen mennessä ilmestyneet Apriori-algoritmiin perustuneet algoritmit [Zak97]. 3.3 Arviointia Apriori-algoritmiin perustuvat hahmonlouhinta-algoritmit, kuten esimerkiksi Agrawalin ja Srikantin kehittämä GSP-algoritmi, ovat käyttökelpoisia silloin, kun tietokannan hahmot ovat lyhyitä eikä algoritmin tehokkuus näyttele tärkeää roolia louhintatyössä. Nykyisin kuitenkin tarvitaan tehokkaita algoritmeja laajojen tietokantojen läpikäyntiin sekä sitä, että algoritmin pitää pystyä luomaan analysoitavat tietosekvenssit pitkistäkin hahmoista, esimerkiksi biotekniikan alueella. Näihin vaatimuksiin ei Apriori-algoritmin johdoksilla ole kyetty vastaamaan, mutta kylläkin SPADE-algoritmilla. SPADEalgoritmilla pystytään käymään läpi suuria tietokantoja hyvin tehokkaasti ja lisäksi se kykenee käsittelemään kaikenkokoiset hahmot. 4 Yhteenveto Esimerkki sekvenssihahmosta on: 0.5 % Akateemisen kirjakaupan asiakkaista osti vuosina ensin kirjan 'Sormuksen ritarit', sitten sekä kirjan 'Kaksi tornia' että 'Kuninkaan paluu'. Tällaisen sekvenssihahmon löytäminen edesauttaa kirjakaupan markkinointikampanjoita ja on apuna myös tilausten suunnittelussa. Kun sekvenssihahmojen pituudet muodostuvat pitkiksi, ei niitä pystytä löytämään Apriori-algoritmin avulla. SPADE-algoritmilla pystytään kaikki tois- 10

14 tuvat tietosekvenssit löytämään tavallisesti kolmella tietokannan läpikäymisellä. Tässä suhteessa se on ylivoimainen Apriori-algoritmin johdoksiin verrattuna. Tulevaisuuteen jää sen asian tutkiminen, löytyisikö SPADE-algoritmiin tehokkaita muunnelmia, joilla toistuvien tietosekvenssien löytämiseen vaadittaisiin vain kaksi tietokannan läpikäyntiä. 11

15 Viitteet [AgS94] Agrawal, R., Srikant, R., Fast Algorithms for Mining Association Rules. Proceedings of the twentieth International Conference on Very Large Data Bases (VLDB) [AgS96a] Agrawal, R., Srikant, R., Mining Sequential Patterns: Generalizations and Performance Improvements. Proceedings of the fth International Conference on Extending Database Technology: Advances in Database Technology table of contents [AgS96b] Agrawal, R., Srikant, R., Mining Quantitative Association Rules in Large Relational Tables. SIGMOD '96 6/96, Montreal, Canada. [Bay98] Bayardo Jr., R.,.Eciently Mining Long Patterns from Database. Proceedings of the 1998 ACM-SIGMOD International Conference on Management of Data, [GRS99] Garofalakis, M., Rastogi, R., Shim, K., SPIRIT: Sequential Pattern Mining with Regular Expression Constraints. Conference on Information and Knowledge Management. Proceedings of the eleventh international conference on Information and knowledge management [Zak97] Zaki, M., Fast Mining of Sequential Patterns in Very Large Databases. Techical Report 668. The University of Rochester, New York, November [Zak01] Zaki, M., SPADE: An Ecient Algorithm for Mining Frequent Sequences. Machine Learning vol 42, 31-60,

Tietokannan eheysrajoitteet ja niiden määrittäminen SQL-kielellä

Tietokannan eheysrajoitteet ja niiden määrittäminen SQL-kielellä hyväksymispäivä arvosana arvostelija Tietokannan eheysrajoitteet ja niiden määrittäminen SQL-kielellä Tuomas Husu Helsinki 20.2.2010 HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos Sisältö i 1 Johdanto

Lisätiedot

Tutorial on Assignment 3 in Data Mining 2008 Association Rule Mining. Gyozo Gidofalvi Uppsala Database Laboratory

Tutorial on Assignment 3 in Data Mining 2008 Association Rule Mining. Gyozo Gidofalvi Uppsala Database Laboratory Tutorial on Assignment 3 in Data Mining 2008 Association Rule Mining Gyozo Gidofalvi Uppsala Database Laboratory Announcements Monday the 15 th of December, has been added as a possible date for examination

Lisätiedot

Assosiaatiosäännöt ja niiden etsintä datasta

Assosiaatiosäännöt ja niiden etsintä datasta Assosiaatiosäännöt ja niiden etsintä datasta Wilhelmiina Hämäläinen 6. helmikuuta 2007 1 Mitä on tiedon louhinta? Tiedonlouhinnan (Data mining) tavoitteena on löytää kiinnostavia hahmoja datasta. hahmo=osittaismalli

Lisätiedot

Assosiaatiosääntöjen louhinnan tehostaminen

Assosiaatiosääntöjen louhinnan tehostaminen hyväksymispäivä arvosana arvostelija Assosiaatiosääntöjen louhinnan tehostaminen Tuomas Tanner Helsinki 27.03.2008 Tiedon louhinnan seminaari, kevät 2008 HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

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

SQL-perusteet, SELECT-, INSERT-, CREATE-lauseet

SQL-perusteet, SELECT-, INSERT-, CREATE-lauseet SQL-perusteet, SELECT-, INSERT-, CREATE-lauseet A271117, Tietokannat Teemu Saarelainen teemu.saarelainen@kyamk.fi Lähteet: Leon Atkinson: core MySQL Ari Hovi: SQL-opas TTY:n tietokantojen perusteet-kurssin

Lisätiedot

Esimerkkejä vaativuusluokista

Esimerkkejä vaativuusluokista Esimerkkejä vaativuusluokista Seuraaville kalvoille on poimittu joitain esimerkkejä havainnollistamaan algoritmien aikavaativuusluokkia. Esimerkit on valittu melko mielivaltaisesti laitoksella tehtävään

Lisätiedot

ECDL Tietokannat. Copyright 2015 ECDL Foundation ECDL Tietokannat Sivu 1 / 7

ECDL Tietokannat. Copyright 2015 ECDL Foundation ECDL Tietokannat Sivu 1 / 7 ECDL Tietokannat Copyright 2015 ECDL Foundation ECDL Tietokannat Sivu 1 / 7 Tavoite Tässä esitellään tutkintovaatimukset moduulille ECDL Tietokannat, joka määrittelee tarvittavat tiedot ja taidot näyttökokeen

Lisätiedot

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

A ja B pelaavat sarjan pelejä. Sarjan voittaja on se, joka ensin voittaa n peliä. Esimerkki otteluvoiton todennäköisyys A ja B pelaavat sarjan pelejä. Sarjan voittaja on se, joka ensin voittaa n peliä. Yksittäisessä pelissä A voittaa todennäköisyydellä p ja B todennäköisyydellä q =

Lisätiedot

Data Mining - The Diary

Data Mining - The Diary Data Mining - The Diary Rodion rodde Efremov March 31, 2015 Introduction This document is my learning diary written on behalf of Data Mining course led at spring term 2015 at University of Helsinki. 1

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

FYYSINEN SUUNNITTELU

FYYSINEN SUUNNITTELU IIO30120 DATABASE DESIGN / TIETOKANTOJEN SUUNNITTELU JA IIO30220 DATABASE MANAGEMENT / TIETOKANNAN HALLINTA FYYSINEN SUUNNITTELU KIRJAN HOVI, HUOTARI, LAHDENMÄKI: TIETOKANTOJEN SUUNNITTELU & INDEKSOINTI,

Lisätiedot

Monihaku ja sähköiset aineistot tutuksi. Jyväskylän kaupunginkirjaston tiedonhaun koulutus

Monihaku ja sähköiset aineistot tutuksi. Jyväskylän kaupunginkirjaston tiedonhaun koulutus Monihaku ja sähköiset aineistot tutuksi Jyväskylän kaupunginkirjaston tiedonhaun koulutus Miksi monihaku? Sähköistä aineistoa valtavat määrät Laadukasta ja ei-niin-laadukasta Ilmaista ja maksullista Monihakuun

Lisätiedot

TIETOKANTOJEN PERUSTEET MARKKU SUNI

TIETOKANTOJEN PERUSTEET MARKKU SUNI TIETOKANTOJEN PERUSTEET MARKKU SUNI OSIO 01 Peruskäsitteitä Kurssin tavoite: antaa osallistujille valmiudet ymmärtää tietokantojen periaatteet ymmärtää tietokantojen suunnittelunäkökohtia osallistua tietokantojen

Lisätiedot

Action Request System

Action Request System Action Request System Manu Karjalainen Ohjelmistotuotantovälineet seminaari HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos 25.10.2000 Action Request System (ARS) Manu Karjalainen Ohjelmistotuotantovälineet

Lisätiedot

Cantorin joukon suoristuvuus tasossa

Cantorin joukon suoristuvuus tasossa Cantorin joukon suoristuvuus tasossa LuK-tutkielma Miika Savolainen 2380207 Matemaattisten tieteiden laitos Oulun yliopisto Syksy 2016 Sisältö Johdanto 2 1 Cantorin joukon esittely 2 2 Suoristuvuus ja

Lisätiedot

Dynaaminen ohjelmointi ja vaikutuskaaviot

Dynaaminen ohjelmointi ja vaikutuskaaviot Dynaaminen ohjelmointi ja vaikutuskaaviot. Taustaa 2. Vaikutuskaaviot ja superarvosolmut 3. Vaikutuskaavion ratkaiseminen 4. Vaikutuskaavio ja dynaaminen ohjelmointi: 5. Yhteenveto Esitelmän sisältö Optimointiopin

Lisätiedot

33. pohjoismainen matematiikkakilpailu 2019 Ratkaisut

33. pohjoismainen matematiikkakilpailu 2019 Ratkaisut 33. pohjoismainen matematiikkakilpailu 2019 Ratkaisut 1. Kutsutaan (eri) positiivisten kokonaislukujen joukkoa merkitykselliseksi, jos sen jokaisen äärellisen epätyhjän osajoukon aritmeettinen ja geometrinen

Lisätiedot

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

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

Liitosesimerkki Tietokannan hallinta, kevät 2006, J.Li 1

Liitosesimerkki Tietokannan hallinta, kevät 2006, J.Li 1 Liitosesimerkki 16.02.06 Tietokannan hallinta, kevät 2006, J.Li 1 Esim R1 R2 yhteinen attribuutti C T(R1) = 10,000 riviä T(R2) = 5,000 riviä S(R1) = S(R2) = 1/10 lohkoa Puskuritilaa = 101 lohkoa 16.02.06

Lisätiedot

monitavoitteisissa päätöspuissa (Valmiin työn esittely) Mio Parmi Ohjaaja: Prof. Kai Virtanen Valvoja: Prof.

monitavoitteisissa päätöspuissa (Valmiin työn esittely) Mio Parmi Ohjaaja: Prof. Kai Virtanen Valvoja: Prof. Epätäydellisen preferenssiinformaation hyödyntäminen monitavoitteisissa päätöspuissa (Valmiin työn esittely) Mio Parmi 15.1.2018 Ohjaaja: Prof. Kai Virtanen Valvoja: Prof. Kai Virtanen Tausta Päätöspuu

Lisätiedot

Tutki ja kirjoita -kurssi, s-2005

Tutki ja kirjoita -kurssi, s-2005 Teoreettisen tutkimuksen raportoinnista Tutki ja kirjoita -kurssi, s-2005 Pekka Kilpeläinen Kuopion yliopisto Tietojenkäsittelytieteen laitos Teoreettisen tutkimuksen raportoinnista p.1/14 Sisältö Algoritmisten

Lisätiedot

FinFamily PostgreSQL installation ( ) FinFamily PostgreSQL

FinFamily PostgreSQL installation ( ) FinFamily PostgreSQL FinFamily PostgreSQL 1 Sisällys / Contents FinFamily PostgreSQL... 1 1. Asenna PostgreSQL tietokanta / Install PostgreSQL database... 3 1.1. PostgreSQL tietokannasta / About the PostgreSQL database...

Lisätiedot

Kirjoja vai kirjallisuutta etsimässä? Kaunokirjallisuuden haku Melindasta käyttäjän näkökulma

Kirjoja vai kirjallisuutta etsimässä? Kaunokirjallisuuden haku Melindasta käyttäjän näkökulma Jarmo Saarti Kaunokirjallisuuden sisällönkuvailupäivä 22.5.2013 Helsinki Kirjoja vai kirjallisuutta etsimässä? Kaunokirjallisuuden haku Melindasta käyttäjän näkökulma Sisältö Kirjallisuuden hakustrategiat

Lisätiedot

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

Relevanttien sivujen etsintä verkosta: satunnaiskulut verkossa Linkkikeskukset ja auktoriteetit (hubs and authorities) -algoritmi Kurssin loppuosa Diskreettejä menetelmiä laajojen 0-1 datajoukkojen analyysiin Kattavat joukot ja niiden etsintä tasoittaisella algoritmilla Relevanttien sivujen etsintä verkosta: satunnaiskulut verkossa

Lisätiedot

Paikkatieto ja assosiaatiosäännöt

Paikkatieto ja assosiaatiosäännöt Paikkatieto ja assosiaatiosäännöt voisiko assosiaatiosääntöjä soveltaa myös paikkatietoon? kömpelö tapa: jaetaan maantieteellinen alue ruutuihin, tehdään attribuuttien arvoista ruudussa rivi ja etsitään

Lisätiedot

Paikkatieto ja assosiaatiosäännöt. Referenssipiirre. Spatiaaliset assosiaatiosäännöt

Paikkatieto ja assosiaatiosäännöt. Referenssipiirre. Spatiaaliset assosiaatiosäännöt Paikkatieto ja assosiaatiosäännöt Spatiaaliset assosiaatiosäännöt voisiko assosiaatiosääntöjä soveltaa myös paikkatietoon? kömpelö tapa: jaetaan maantieteellinen alue ruutuihin, tehdään attribuuttien arvoista

Lisätiedot

Sekvenssihahmojen louhinta XML-dokumenteista

Sekvenssihahmojen louhinta XML-dokumenteista Sekvenssihahmojen louhinta XML-dokumenteista Harri Härkönen 25.05.2008 Joensuun yliopisto Tietojenkäsittelytiede Pro gradu -tutkielma TIIVISTELMÄ Tiedonlouhintamenetelmillä pyritään löytämään a priori

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

a b c d + + + + + + + + +

a b c d + + + + + + + + + 28. 10. 2010!"$#&%(')'+*(#-,.*/1032/465$*784 /(9:*;9."$ *;5> *@9 a b c d 1. + + + 2. 3. 4. 5. 6. + + + + + + + + + + P1. Valitaan kannaksi sivu, jonka pituus on 4. Koska toinen jäljelle jäävistä sivuista

Lisätiedot

Suunnittelumallien käyttö ja web-navimallit

Suunnittelumallien käyttö ja web-navimallit Käyttöliittymät II Luento 7 Suunnittelumallien käyttö ja web-navimallit Harjoitus 1: Asuntohaku-sovellus Harjoitus 2: Groups and Items Esimerkkejä muista kälisuunnittelumalleista Web-navigoinnin suunnittelumallit

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

Ohjelmoinnin peruskurssi Y1

Ohjelmoinnin peruskurssi Y1 Ohjelmoinnin peruskurssi Y1 CSE-A1111 30.9.2015 CSE-A1111 Ohjelmoinnin peruskurssi Y1 30.9.2015 1 / 27 Mahdollisuus antaa luentopalautetta Goblinissa vasemmassa reunassa olevassa valikossa on valinta Luentopalaute.

Lisätiedot

XML-tutkimus Jyväskylän yliopistossa

XML-tutkimus Jyväskylän yliopistossa XML-tutkimus Jyväskylän yliopistossa Airi Salminen Jyväskylän yliopisto Tietojenkäsittelytieteiden laitos airi.salminen@jyu.fi http://www.cs.jyu.fi/~airi/ Airi Salminen, XML-tutkimus Jyväskylän yliopistossa

Lisätiedot

Algoritmit 1. Luento 10 Ke 11.2.2015. Timo Männikkö

Algoritmit 1. Luento 10 Ke 11.2.2015. Timo Männikkö Algoritmit 1 Luento 10 Ke 11.2.2015 Timo Männikkö Luento 10 Algoritminen ongelman ratkaisu Suunnittelumenetelmät Raaka voima Järjestäminen eli lajittelu Kuplalajittelu Väliinsijoituslajittelu Valintalajittelu

Lisätiedot

Pohjoismaisen geenipankin informaatiojärjestelmä on nimeltään SESTO (=Seed store) ja se sisältää tietoja lähes kaikista geenipankin omista

Pohjoismaisen geenipankin informaatiojärjestelmä on nimeltään SESTO (=Seed store) ja se sisältää tietoja lähes kaikista geenipankin omista Pohjoismaisen geenipankin informaatiojärjestelmä on nimeltään SESTO (=Seed store) ja se sisältää tietoja lähes kaikista geenipankin omista siemennäytteistä ja jossain tapauksissa myös suvullisesti lisättävien

Lisätiedot

Relaatiomalli ja -tietokanta

Relaatiomalli ja -tietokanta Relaatiomalli ja -tietokanta > Edgar. F. (Ted) Codd, IBM, 1969 < A Relational Model of Data for Large Shared Data Banks Communications of the ACM, Vol. 13, No. 6, June 1970, pp. 377-387. > 70-luvun lopulla

Lisätiedot

Tehtävä 2: Säännölliset lausekkeet

Tehtävä 2: Säännölliset lausekkeet Tehtävä 2: Säännölliset lausekkeet Kun tietokoneohjelmalla luetaan käyttäjän syötettä, olisi syöte aina syytä tarkistaa. Syötteessä voi olla vääriä merkkejä tai merkkejä väärillä paikoilla (syntaktinen

Lisätiedot

Peräkkäishahmojen tunnistaminen webin käytön louhinnassa

Peräkkäishahmojen tunnistaminen webin käytön louhinnassa Peräkkäishahmojen tunnistaminen webin käytön louhinnassa Sami Yläkäs Helsinki 7.4.2008 Tiedon louhinnan seminaari, kevät 2008 Seminaaritutkielma HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos HELSINGIN

Lisätiedot

Assosiaatiosääntöjen johtaminen epäyhtenäisellä minimituella

Assosiaatiosääntöjen johtaminen epäyhtenäisellä minimituella Assosiaatiosääntöjen johtaminen epäyhtenäisellä minimituella Tina Willner 19.12.2003 Joensuun yliopisto Tietojenkäsittelytiede Pro gradu -tutkielma TIIVISTELMÄ Tietämyksen etsimisellä tarkoitetaan monivaiheista

Lisätiedot

Käsiteanalyysi prosessina ja tarveanalyysi

Käsiteanalyysi prosessina ja tarveanalyysi Informaatioteknologian instituutti IIO30100 Tietokantojen suunnittelu Käsiteanalyysi prosessina ja tarveanalyysi kirjan Hovi, Huotari, Lahdenmäki: Tietokantojen suunnittelu & indeksointi, Docendo (2003,

Lisätiedot

2. Käsiteanalyysi ja relaatiomalli

2. Käsiteanalyysi ja relaatiomalli 2. Käsiteanalyysi ja relaatiomalli lehtori Pasi Ranne Metropolia ammattikorkeakoulu E-mail: pasi.ranne@metropolia.fi sivu 1 Tietokannan suunnitteluprosessin osat sivu 2 Käsiteanalyysi ER-mallinnus, tietomallinnus

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

KÄSITEANALYYSI PROSESSINA JA TARVEANALYYSI

KÄSITEANALYYSI PROSESSINA JA TARVEANALYYSI TIETOJEN MALLINNUS KÄSITEANALYYSI PROSESSINA JA TARVEANALYYSI HOVI, HUOTARI, LAHDENMÄKI: TIETOKANTOJEN SUUNNITTELU & INDEKSOINTI DOCENDO (2003, 2005) LUKU 3 S. 68 73 JA LUKU 4 (S. 79 84) JOUNI HUOTARI

Lisätiedot

Liitosesimerkki. Esim R1 R2 yhteinen attribuutti C. Vaihtoehdot

Liitosesimerkki. Esim R1 R2 yhteinen attribuutti C. Vaihtoehdot Esim yhteinen attribuutti C Liitosesimerkki T() = 10,000 riviä T() = 5,000 riviä S() = S() = 1/10 lohkoa Puskuritilaa = 101 lohkoa 1 2 Vaihtoehdot Sisäkkäiset silmukat Liitosjärjestys:, Liitosalgoritmit:

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

Fiction searching from an enriched library web service

Fiction searching from an enriched library web service Fiction searching from an enriched library web service Anna Mikkonen, Tohtoriopiskelija, Tampereen yliopisto Memornetin syysseminaari 10. 11.10.2013/Tampere Esityksen sisältö Väitöstutkimuksen tausta ja

Lisätiedot

13.11. Tulosten arviointi. tulosten arviointi. voimmeko luottaa saamiimme tuloksiin?

13.11. Tulosten arviointi. tulosten arviointi. voimmeko luottaa saamiimme tuloksiin? 13.11. tulosten arviointi Tulosten arviointi voimmeko luottaa saamiimme tuloksiin? onko osa saaduista tuloksista sattumanvaraisia? mitkä OSAT puusta ovat luotettavimpia? 1 KONSENSUSDIAGRAMMI Useita yhtä

Lisätiedot

FUNKTIONAALIANALYYSIN PERUSKURSSI 1. 0. Johdanto

FUNKTIONAALIANALYYSIN PERUSKURSSI 1. 0. Johdanto FUNKTIONAALIANALYYSIN PERUSKURSSI 1. Johdanto Funktionaalianalyysissa tutkitaan muun muassa ääretönulotteisten vektoriavaruuksien, ja erityisesti täydellisten normiavaruuksien eli Banach avaruuksien ominaisuuksia.

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

Määrittelydokumentti

Määrittelydokumentti Määrittelydokumentti Aineopintojen harjoitustyö: Tietorakenteet ja algoritmit (alkukesä) Sami Korhonen 014021868 sami.korhonen@helsinki. Tietojenkäsittelytieteen laitos Helsingin yliopisto 23. kesäkuuta

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

Tietotekniikka ei riitä palvelujen tuottavuus ratkaisee. Olli Martikainen 19.3.2013

Tietotekniikka ei riitä palvelujen tuottavuus ratkaisee. Olli Martikainen 19.3.2013 Tietotekniikka ei riitä palvelujen tuottavuus ratkaisee Olli Martikainen 19.3.2013 Miten tuottavuus syntyy? 1. Miten tuottavuus syntyy? Tuotanto voidaan kuvata työhön vaadittavien investointien ja itse

Lisätiedot

Luku 3. Listankäsittelyä. 3.1 Listat

Luku 3. Listankäsittelyä. 3.1 Listat Luku 3 Listankäsittelyä Funktio-ohjelmoinnin tärkein yksittäinen tietorakenne on lista. Listankäsittely on paitsi käytännöllisesti oleellinen aihe, se myös valaisee funktio-ohjelmoinnin ideaa. 3.1 Listat

Lisätiedot

Datatähti 2019 alku. task type time limit memory limit. A Kolikot standard 1.00 s 512 MB. B Leimasin standard 1.00 s 512 MB

Datatähti 2019 alku. task type time limit memory limit. A Kolikot standard 1.00 s 512 MB. B Leimasin standard 1.00 s 512 MB Datatähti 2019 alku task type time limit memory limit A Kolikot standard 1.00 s 512 MB B Leimasin standard 1.00 s 512 MB C Taulukko standard 1.00 s 512 MB D Ruudukko standard 1.00 s 512 MB E Sanalista

Lisätiedot

ProQuest Dissertations & Thesis: The Humanities and Social Sciences Collection

ProQuest Dissertations & Thesis: The Humanities and Social Sciences Collection Kuukauden tietokanta tammikuu 2013 ProQuest databases ARTBibliographies Modern (ABM) Modern and contemporary art journal articles and books British Humanities Index (BHI) Humanities - journals, weekly

Lisätiedot

A* Reitinhaku Aloittelijoille

A* Reitinhaku Aloittelijoille A* Reitinhaku Aloittelijoille Alkuperäisen artikkelin kirjoittanut Patrick Lester, suomentanut Antti Veräjänkorva. Suom. huom. Tätä kääntäessäni olen pyrkinyt pitämään saman alkuperäisen tyylin ja kerronnan.

Lisätiedot

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python Ohjelmoinnin perusteet Y Python T-106.1208 15.3.2010 T-106.1208 Ohjelmoinnin perusteet Y 15.3.2010 1 / 56 Tiedostoista: tietojen tallentaminen ohjelman suorituskertojen välillä Monissa sovelluksissa ohjelman

Lisätiedot

Projektisuunnitelma. Projektin tavoitteet

Projektisuunnitelma. Projektin tavoitteet Projektisuunnitelma Projektin tavoitteet Projektin tarkoituksena on tunnistaa erilaisia esineitä Kinect-kameran avulla. Kinect-kamera on kytkettynä tietokoneeseen, johon projektissa tehdään tunnistuksen

Lisätiedot

Luonnolliset vs. muodolliset kielet

Luonnolliset vs. muodolliset kielet Luonnolliset vs. muodolliset kielet Luonnollisia kieliä ovat esim. 1. englanti, 2. suomi, 3. ranska. Muodollisia kieliä ovat esim. 1. lauselogiikan kieli (ilmaisut p, p q jne.), 2. C++, FORTRAN, 3. bittijonokokoelma

Lisätiedot

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

Reiluus. Maxmin-reiluus. Tärkeä näkökohta best effort -tyyppisissä palveluissa. Reiluuden maxmin-määritelmä J. Virtamo 38.3141 Teleliikenneteoria / Reiluus 1 Reiluus Maxmin-reiluus Tärkeä näkökohta best effort -tyyppisissä palveluissa kenellekään ei anneta kvantitatiivisia QoS-takuita kaikkien pitää saada palvelua

Lisätiedot

COCHRANE LIBRARY tietokannat. Merja Jauhiainen Työterveyslaitos Tietopalvelukeskus

COCHRANE LIBRARY tietokannat. Merja Jauhiainen Työterveyslaitos Tietopalvelukeskus COCHRANE LIBRARY tietokannat Merja Jauhiainen Työterveyslaitos Tietopalvelukeskus The Cochrane Collaboration - Cochrane yhteistyö Archie Cochrane, skotlantilainen epidemiologi 1972 "Effectiveness and Epidemiology:

Lisätiedot

Mohrin-Mascheronin lause kolmiulotteisessa harppi-viivaingeometriassa

Mohrin-Mascheronin lause kolmiulotteisessa harppi-viivaingeometriassa Mohrin-Mascheronin lause kolmiulotteisessa harppi-viivaingeometriassa Matematiikka Sakke Suomalainen Helsingin matematiikkalukio Ohjaaja: Ville Tilvis 29. marraskuuta 2010 Tiivistelmä Harppi ja viivain

Lisätiedot

Stabiloivat synkronoijat ja nimeäminen

Stabiloivat synkronoijat ja nimeäminen Stabiloivat synkronoijat ja nimeäminen Mikko Ajoviita 2.11.2007 Synkronoija Synkronoija on algoritmi, joka muuntaa synkronoidun algoritmin siten, että se voidaan suorittaa synkronoimattomassa järjestelmässä.

Lisätiedot

Ontologiakirjasto ONKI-Paikka

Ontologiakirjasto ONKI-Paikka Ontologiakirjasto ONKI-Paikka Tomi Kauppinen, Robin Lindroos, Riikka Henriksson, Eero Hyvönen Semantic Computing Research Group (SeCo) and University of Helsinki and Helsinki University of Technology (TKK)

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

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

Kirjoita kuhunkin erilliseen vastauspaperiin kurssin nimi, tentin päiväys, oma nimesi, syntymäaikasi ja nimikirjoituksesi.

Kirjoita kuhunkin erilliseen vastauspaperiin kurssin nimi, tentin päiväys, oma nimesi, syntymäaikasi ja nimikirjoituksesi. Helsingin yliopisto, Tietojenkäsittelytieteen laitos Tietokantojen perusteet, kurssikoe 4.3.2015, H. Laine Tehtävien mukana jaetaan sql-syntaksin tiivistelmä. Kirjoita kuhunkin erilliseen vastauspaperiin

Lisätiedot

eage maisterivalinnan hakukohteen akateemisen arvioijan koulutus

eage maisterivalinnan hakukohteen akateemisen arvioijan koulutus eage maisterivalinnan hakukohteen akateemisen arvioijan koulutus Page 1 Mari Riihiaho 16.3.2011 Kirjautuminen ja käyttöoikeudet Järjestelmään kirjaudutaan Aalto tunnuksella (käyttäjätunnus ja salasana)

Lisätiedot

811312A Tietorakenteet ja algoritmit Kertausta kurssin alkuosasta

811312A Tietorakenteet ja algoritmit Kertausta kurssin alkuosasta 811312A Tietorakenteet ja algoritmit 2017-2018 Kertausta kurssin alkuosasta II Perustietorakenteet Pino, jono ja listat tunnettava Osattava soveltaa rakenteita algoritmeissa Osattava päätellä operaatioiden

Lisätiedot

Harjoitustehtävät, syys lokakuu 2010. Helpommat

Harjoitustehtävät, syys lokakuu 2010. Helpommat Harjoitustehtävät, syys lokakuu 010. Helpommat Ratkaisuja 1. Kellon minuutti- ja tuntiosoittimet ovat tasan suorassa kulmassa kello 9.00. Milloin ne ovat seuraavan kerran tasan suorassa kulmassa? Ratkaisu.

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

JOHDATUS TEKOÄLYYN TEEMU ROOS

JOHDATUS TEKOÄLYYN TEEMU ROOS JOHDATUS TEKOÄLYYN TEEMU ROOS KURSSIN PERUSTIEDOT VALINNAINEN AINEOPINTOTASOINEN KURSSI, 5 OP PERIODI 3: 18.1.2016-6.3.2016 (7 VIIKKOA+KOE) LUENNOT (CK112): MA 14-16, TI 14-16 LASKUHARJOITUKSET: RYHMÄ

Lisätiedot

FETAL FIBROBLASTS, PASSAGE 10

FETAL FIBROBLASTS, PASSAGE 10 Double-stranded methylation patterns of a 104-bp L1 promoter in DNAs from fetal fibroblast passages 10, 14, 17, and 22 using barcoded hairpinbisulfite PCR. Fifteen L1 sequences were analyzed for passages

Lisätiedot

Algoritmit 2. Luento 8 To Timo Männikkö

Algoritmit 2. Luento 8 To Timo Männikkö Algoritmit 2 Luento 8 To 4.4.2019 Timo Männikkö Luento 8 Algoritmien analysointi Algoritmien suunnittelu Rekursio Osittaminen Rekursioyhtälöt Rekursioyhtälön ratkaiseminen Master-lause Algoritmit 2 Kevät

Lisätiedot

Hankintaesityksen tekeminen EBSCOhost Collection Managerissa

Hankintaesityksen tekeminen EBSCOhost Collection Managerissa Hankintaesityksen tekeminen EBSCOhost Collection Managerissa Päivitetty 7.4.2016 Kaarina Meriläinen EBSCOn e-kirjanhankintaohjelmassa (ECM) on yliopiston henkilökunnan jäsenten mahdollista tehdä hankintaesityksiä,

Lisätiedot

Yleistä. Nyt käsitellään vain taulukko (array), joka on saman tyyppisten muuttujien eli alkioiden (element) kokoelma.

Yleistä. Nyt käsitellään vain taulukko (array), joka on saman tyyppisten muuttujien eli alkioiden (element) kokoelma. 2. Taulukot 2.1 Sisältö Yleistä. Esittely ja luominen. Alkioiden käsittely. Kaksiulotteinen taulukko. Taulukko operaation parametrina. Taulukko ja HelloWorld-ohjelma. Taulukko paluuarvona. 2.2 Yleistä

Lisätiedot

Samanaikaisuuden hallinta Snapshot Isolationin avulla

Samanaikaisuuden hallinta Snapshot Isolationin avulla hyväksymispäivä arvosana arvostelija Samanaikaisuuden hallinta Snapshot Isolationin avulla Olli Korhonen Helsinki 4.3.2009 Seminaarityö HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos HELSINGIN YLIOPISTO

Lisätiedot

Written by Administrator Monday, 05 September 2011 15:14 - Last Updated Thursday, 23 February 2012 13:36

Written by Administrator Monday, 05 September 2011 15:14 - Last Updated Thursday, 23 February 2012 13:36 !!!!! Relaatiotietokannat ovat vallanneet markkinat tietokantojen osalta. Flat file on jäänyt siinä kehityksessä jalkoihin. Mutta sillä on kuitenkin tiettyjä etuja, joten ei se ole täysin kuollut. Flat

Lisätiedot

203 Asetetaan neliöt tasoon niin, että niiden keskipisteet yhtyvät ja eräiden sivujen välille muodostuu 45 kulma.

203 Asetetaan neliöt tasoon niin, että niiden keskipisteet yhtyvät ja eräiden sivujen välille muodostuu 45 kulma. Pyramidi 3 Geometria tehtävien ratkaisut sivu 1 201 202 Saadaan tapaukset 1) Tason suorat l ja m voivat olla yhdensuuntaiset, mutta eri suorat, jolloin niillä ei ole yhteisiä pisteitä. l a) A B C A B C

Lisätiedot

Algoritmit 1. Luento 5 Ti Timo Männikkö

Algoritmit 1. Luento 5 Ti Timo Männikkö Algoritmit 1 Luento 5 Ti 24.1.2017 Timo Männikkö Luento 5 Järjestetty lista Järjestetyn listan operaatiot Listan toteutus taulukolla Binäärihaku Binäärihaun vaativuus Algoritmit 1 Kevät 2017 Luento 5 Ti

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

Helsingin seitsemäsluokkalaisten matematiikkakilpailu 7.2.2013 Ratkaisuita

Helsingin seitsemäsluokkalaisten matematiikkakilpailu 7.2.2013 Ratkaisuita Helsingin seitsemäsluokkalaisten matematiikkakilpailu..013 Ratkaisuita 1. Eräs kirjakauppa myy pokkareita yhdeksällä eurolla kappale, ja siellä on meneillään mainoskampanja, jossa seitsemän sellaista ostettuaan

Lisätiedot

1.3Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä

1.3Lohkorakenne muodostetaan käyttämällä a) puolipistettä b) aaltosulkeita c) BEGIN ja END lausekkeita d) sisennystä OULUN YLIOPISTO Tietojenkäsittelytieteiden laitos Johdatus ohjelmointiin 81122P (4 ov.) 30.5.2005 Ohjelmointikieli on Java. Tentissä saa olla materiaali mukana. Tenttitulokset julkaistaan aikaisintaan

Lisätiedot

A-osio. Ilman laskinta. MAOL-taulukkokirja saa olla käytössä. Maksimissaan tunti aikaa. Laske kaikki tehtävät:

A-osio. Ilman laskinta. MAOL-taulukkokirja saa olla käytössä. Maksimissaan tunti aikaa. Laske kaikki tehtävät: MAA3 Geometria Koe 5.2.2016 Jussi Tyni Lue ohjeet ja tee tehtävät huolellisesti! Tee tarvittavat välivaiheet, vaikka laskimesta voikin ottaa tuloksia. Välivaiheet perustelevat vastauksesi. Tee pisteytysruudukko

Lisätiedot

Metatieto mihin ja miten? Juha Hakala Helsingin yliopiston kirjasto juha.hakala@helsinki.fi

Metatieto mihin ja miten? Juha Hakala Helsingin yliopiston kirjasto juha.hakala@helsinki.fi Metatieto mihin ja miten? Juha Hakala Helsingin yliopiston kirjasto juha.hakala@helsinki.fi Sisältö Metatiedon määrittely Metatiedon käytöstä Metatietoformaatit MARC, Dublin Core, IEEE LOM Elektronisten

Lisätiedot

Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 4: Ohjelmointi, skriptaus ja Python

Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 4: Ohjelmointi, skriptaus ja Python Tähtitieteen käytännön menetelmiä Kevät 2009 Luento 4: Ohjelmointi, skriptaus ja Python 31. tammikuuta 2009 Ohjelmointi Perusteet Pythonin alkeet Esittely Esimerkkejä Muuttujat Peruskäsitteitä Käsittely

Lisätiedot

0. 10. 017 a b c d 1. + +. + +. + + 4. + + + 5. + 6. + P1. Lehtipuiden lukumäärä olkoon aluksi n, jolloin havupuiden määrä on 1,4n. Hakkuiden jälkeen lehtipuiden määrä putoaa lukuun n 0,1n = 0,88n ja havupuiden

Lisätiedot

EU-rikollisia koskevien tietojen laadun parantaminen

EU-rikollisia koskevien tietojen laadun parantaminen EU-rikollisia koskevien tietojen laadun parantaminen VIITETYÖKALUN KÄYTTÖOPAS ERIC (European Request Information Capture) on viitetyökalu, joka on suunniteltu koko Euroopan lainvalvonnan avuksi ja tueksi.

Lisätiedot

Johdatus rakenteisiin dokumentteihin

Johdatus rakenteisiin dokumentteihin -RKGDWXVUDNHQWHLVLLQGRNXPHQWWHLKLQ 5DNHQWHLQHQGRNXPHQWWL= rakenteellinen dokumentti dokumentti, jossa erotetaan toisistaan dokumentin 1)VLVlOW, 2) UDNHQQHja 3) XONRDVX(tai esitystapa) jotakin systemaattista

Lisätiedot

Luento 2: Tiedostot ja tiedon varastointi

Luento 2: Tiedostot ja tiedon varastointi HELIA 1 (19) Luento 2: Tiedostot ja tiedon varastointi Muistit... 2 Päämuisti (Primary storage)... 2 Apumuisti (Secondary storage)... 2 Tiedon tallennuksen yksiköitä... 3 Looginen taso... 3 Fyysinen taso...

Lisätiedot

Hieman linkkejä: http://cs.stadia.fi/~kuivanen/linux/kom.php, lyhyt ohje komentoriviohjelmointiin.

Hieman linkkejä: http://cs.stadia.fi/~kuivanen/linux/kom.php, lyhyt ohje komentoriviohjelmointiin. Linux-harjoitus 9 Linuxin mukana tulevat komentotulkit (mm. bash, tcsh, ksh, jne ) sisältävät ohjelmointikielen, joka on varsin tehokas ja ilmaisuvoimainen. Tähän yhdistettynä unix-maailmasta tutut tehokkaat

Lisätiedot

Avoimen lähdekoodin kaksitasokielioppikääntäjä

Avoimen lähdekoodin kaksitasokielioppikääntäjä Avoimen lähdekoodin kaksitasokielioppikääntäjä Miikka Silfverberg miikka piste silfverberg at helsinki piste fi Kieliteknologia Helsingin yliopisto Avoimen lähdekoodin kaksitasokielioppikääntäjä p.1/23

Lisätiedot

110. 111. 112. 113. 114. 4. Matriisit ja vektorit. 4.1. Matriisin käsite. 4.2. Matriisialgebra. Olkoon A = , B = Laske A + B, 5 14 9, 1 3 3

110. 111. 112. 113. 114. 4. Matriisit ja vektorit. 4.1. Matriisin käsite. 4.2. Matriisialgebra. Olkoon A = , B = Laske A + B, 5 14 9, 1 3 3 4 Matriisit ja vektorit 4 Matriisin käsite 42 Matriisialgebra 0 2 2 0, B = 2 2 4 6 2 Laske A + B, 2 A + B, AB ja BA A + B = 2 4 6 5, 2 A + B = 5 9 6 5 4 9, 4 7 6 AB = 0 0 0 6 0 0 0, B 22 2 2 0 0 0 6 5

Lisätiedot

811120P Diskreetit rakenteet

811120P Diskreetit rakenteet 811120P Diskreetit rakenteet 2016-2017 1. Algoritmeista 1.1 Algoritmin käsite Algoritmi keskeinen laskennassa Määrittelee prosessin, joka suorittaa annetun tehtävän Esimerkiksi Nimien järjestäminen aakkosjärjestykseen

Lisätiedot

Luento 7. June 3, 2014

Luento 7. June 3, 2014 June 3, 2014 Peli, jossa on kaksi Nash-tasapainoa. Yksi tasapaino on (1; 2) ja toinen (2; 1); P1:n valinta on ilmoitettu ensin. Ensimmäinen tasapaino ei vaikuta hyvältä; se perustuu epäuskottavaan uhkaukseen.

Lisätiedot

proc glm data = ex61; Title2 "Aliasing Structure of the 2_IV^(5-1) design"; model y = A B C D E /Aliasing; run; quit;

proc glm data = ex61; Title2 Aliasing Structure of the 2_IV^(5-1) design; model y = A B C D E /Aliasing; run; quit; Title "Exercises 6"; Data ex61; input A B C D E y @@; Label A = "Furnance Temperature" B = "Heating Time" C = "Transfer Time" D = "Hold Down Time" E = "Quench of Oil Temperature" y = "Free Height of Leaf

Lisätiedot

8 Joukoista. 8.1 Määritelmiä

8 Joukoista. 8.1 Määritelmiä 1 8 Joukoista Joukko on alkoidensa kokoelma. Valitsemalla sopivat alkiot joudutaan tämän määritelmän kanssa vaikeuksiin, jotka voidaan välttää rakentamalla joukkooppi aksiomaattisesti. Näin ei tässä tehdä

Lisätiedot

1. a) Laadi suoraviivaisesti kyselyä vastaava optimoimaton kyselypuu.

1. a) Laadi suoraviivaisesti kyselyä vastaava optimoimaton kyselypuu. Helsingin yliopisto, Tietojenkäsittelytieteen laitos Kyselykielet, s 2006, Harjoitus 5 (7.12.2006) Tietokannassa on tietoa tavaroista ja niiden toimittajista: Supplier(sid,sname,city,address,phone,etc);

Lisätiedot