Seminaari: Hajautetut algoritmit syksy 2009

Samankaltaiset tiedostot
Verkon värittämistä hajautetuilla algoritmeilla

Itsestabilointi: perusmääritelmiä ja klassisia tuloksia

Esimerkkejä polynomisista ja ei-polynomisista ongelmista

Algoritmit 2. Luento 13 Ti Timo Männikkö

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

Algoritmit 1. Luento 1 Ti Timo Männikkö

Verkon värittäminen ja riippumattomat joukot: johdantoa ja sovelluksia

Parinmuodostuksesta tietojenkäsittelytieteen silmin. Petteri Kaski Tietojenkäsittelytieteen laitos Aalto-yliopisto

Turingin koneen laajennuksia

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

7.4 Sormenjälkitekniikka

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

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

Yhtenäisyydestä. Johdanto. Lähipisteavaruus. Tuomas Korppi

TKT20005 Laskennan mallit (syksy 2018) Kurssikoe, malliratkaisut

Stabilointi. Marja Hassinen. p.1/48

Harjoitus 3 (viikko 39)

Rekursiolause. Laskennan teorian opintopiiri. Sebastian Björkqvist. 23. helmikuuta Tiivistelmä

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

Datatähti 2019 loppu

System.out.printf("%d / %d = %.2f%n", ekaluku, tokaluku, osamaara);

VINKKEJÄ OPISKELUUN. Tampereen teknillinen lukio

Epädeterministisen Turingin koneen N laskentaa syötteellä x on usein hyödyllistä ajatella laskentapuuna

System.out.printf("%d / %d = %.2f%n", ekaluku, tokaluku, osamaara);

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

Algoritmit 1. Luento 2 Ke Timo Männikkö

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

= k 0 NTIME(n k + k) Siis polynomisessa ajassa epädeterministisellä Turingin koneella tunnistettavien kielten joukko

Hajautetut algoritmit. seminaari syksyllä 2007 vastuuhenkilö Jyrki Kivinen toinen vetäjä Timo Karvi

Algoritmit 2. Luento 13 Ti Timo Männikkö

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

Ongelma(t): Mikä on Turingin kone? Miten Turingin kone liittyy funktioihin ja algoritmeihin? Miten Turingin kone liittyy tietokoneisiin?

3. Laskennan vaativuusteoriaa

6. Approksimointialgoritmit

Sametime verkkoneuvottelu Puheenjohtajana tapaamisessa

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

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

Algoritmit 1. Luento 10 Ke Timo Männikkö

Laskennan mallit (syksy 2008) 2. kurssikoe , ratkaisuja

TEEMU ROOS (KALVOT MUOKATTU PATRIK HOYERIN LUENTOMATERIAALISTA)

7. Satunnaisalgoritmit (randomized algorithms)

Johdatus historiatieteeseen

Harjoitus 6 (viikko 42)

ASCII-taidetta. Intro: Python

Seuraavat kysymykset koskevat erilaisia tekijöitä, jotka liittyvät digitaaliseen mediaan ja digitaalisiin laitteisiin kuten pöytätietokoneet,

δ : (Q {q acc, q rej }) (Γ k {, }) Q (Γ k {, }) {L, R}.

Laskennan vaativuus ja NP-täydelliset ongelmat

Matematiikan peruskurssi 2

TIEY1 Opintojen ohjattu suunnittelu (2 op) eli LuK-vaiheen HOPS-ohjaus eli Opettajatuutorointi

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 16. marraskuuta 2015

Laskennan mallit (syksy 2010) 2. kurssikoe, ratkaisuja

Algoritmi on periaatteellisella tasolla seuraava:

ABI-INFO to , klo

Muita vaativuusluokkia

TIE Tietorakenteet ja algoritmit 1. TIE Tietorakenteet ja algoritmit

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

Algoritmit 1. Luento 10 Ke Timo Männikkö

Kertausta 1. kurssikokeeseen

Agenda. Läpäisyvaatimukset Henkilökunta Luennot ja aikataulu Kurssimateriaali Harjoitustyöt Demoharjoitus Tentti ja arvostelu Muuta?

Algoritmit 2. Luento 14 To Timo Männikkö

1. Universaaleja laskennan malleja

Harjoitus 5 (viikko 41)

Algoritmit 1. Luento 14 Ke Timo Männikkö

Johdantoa. Jokaisen matemaatikon olisi syytä osata edes alkeet jostakin perusohjelmistosta, Java MAPLE. Pascal MathCad

Stabilointi. arvosana. arvostelija. Marja Hassinen

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 30. marraskuuta 2015

Teemu Kerola Kandidaatintutkielma Kevät 2017 (Tieteellisen kirjoittamisen kurssi, tiki)

Kandidaatintutkielma, ryhmän ohjaus Teemu Kerola. Referaatti

Abstraktiot ja analyysi algoritmit ja informaation esitykset

Harjoitus 6. Käytä String-luokasta vain charat- ja length-operaatioita.

Ohjelmoinnin perusteet, syksy 2006

Diskreetin matematiikan perusteet Esimerkkiratkaisut 3 / vko 10

// Tulostetaan double-tyyppiseen muuttujaan "hinta" tallennettu // kertalipun hinta ja vaihdetaan riviä. System.out.printf("%.1f euros.

811120P Diskreetit rakenteet

Matriisit ja vektorit Matriisin käsite Matriisialgebra. Olkoon A = , B = Laske A + B, , 1 3 3

Etäkoulu Kulkurin tieto- ja viestintätekniikan opetussuunnitelma

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016

58131 Tietorakenteet ja algoritmit (kevät 2016) Ensimmäinen välikoe, malliratkaisut

C C. x 2. x 3 x 3. Lause 3SAT p m VC Todistus. Olk. φ = C 1 C 2 C m 3-cnf-kaava, jossa esiintyvät muuttujat. φ toteutuva:

Maaseutu.fi uudistuu - tule mukaan! Riika Isola ja Hanna Lilja

2017 = = = = = = 26 1

4.3. Matemaattinen induktio

Eläinlääketieteen lisensiaatin tutkielma Seminaarityöskentelyohjeet

TIEA241 Automaatit ja kieliopit, kesä Antti-Juhani Kaijanaho. 29. toukokuuta 2013

Galactor and the Codebreakers: - oppimispeli online maailman sudenkuopista

Tieteellisen kirjoittamisen kurssi, kevät Teemu Kerola. Referaatti. Valitse tutkielman aihepiiriin sopiva artikkeli

Jatkuvat satunnaismuuttujat

Tulevaisuuden sisällöt ja joustava printtikonsepti

Diskreetin matematiikan perusteet Laskuharjoitus 1 / vko 8

811120P Diskreetit rakenteet

Palveluverkkotyöryhmä. Viestintä

Lausekielinen ohjelmointi II Ensimmäinen harjoitustyö

Diskreetin matematiikan perusteet Malliratkaisut 2 / vko 38

OPISKELUOPAS MALLI LAPIN YLIOPISTO, OIKEUSTIEDE

Internetin hyödyt ja vaarat. Miten nettiä käytetään tehokkaasti hyväksi?

PARITUS KAKSIJAKOISESSA

Eloisuusanalyysi. TIE448 Kääntäjätekniikka, syksy Antti-Juhani Kaijanaho. 16. marraskuuta 2009 TIETOTEKNIIKAN LAITOS. Eloisuusanalyysi.

Lausekielinen ohjelmointi II Ensimmäinen harjoitustyö

TIEA241 Automaatit ja kieliopit, kevät Antti-Juhani Kaijanaho. 26. tammikuuta 2012

TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho. 31. maaliskuuta 2011

Transkriptio:

Seminaari: Hajautetut algoritmit syksy 2009 http://www.cs.helsinki.fi/u/josuomel/sem-2009s/ Jukka Suomela 10.9.2009

Seminaari: Hajautetut algoritmit syksy 2009 Seminaarin työmuodot 2 / 38

Aikataulu ja tiedottaminen Lue aikataulu ja ohjeet seminaarin verkkosivulta! http://www.cs.helsinki.fi/u/josuomel/sem-2009s/ I periodi: 2 tapaamista, 2 viikon tauko, 2 tapaamista II periodi: 6 tapaamista Laita kaikki päivämäärät kalenteriin saman tien (en aio spämmätä niistä jokaisesta erikseen) Aikarajat tiukkoja (hyväksyttävä syy sairaus tms.) 3 / 38

Esitelmistä Esiintyjä itse huolehtii, että tekniikka on kunnossa ja esitelmä saadaan alkamaan ajallaan! Tarkista kaikki etukäteen mieluiten sillä koneella ja tykillä, jota aiot käyttää Tule ajoissa paikalle Kysy ajoissa, jos jokin on epäselvää Harjoittele esitys; muuten on mahdoton arvioida, onko esitelmä sopivan pituinen 4 / 38

Ohjaus Sähköpostia saa laittaa mistä tahansa aiheesta: työmuodot, aikataulu ym. lähteiden ymmärtäminen lähteiden löytäminen luonnoksen tarjoaminen kommentoitavaksi tapaamisesta sopiminen... 5 / 38

Arvostelusta Arvosteluun vaikuttavat kaikki osasuoritukset: kirjoitelma esitelmä keskustelut vertaisarviointi kirjoitelman viimeistelty versio (palautteen vastaanottaminen!) Pääpaino kirjoitelmalla ja esitelmällä 6 / 38

Tavoitteet: esitelmä Pidä sellainen oppitunti, josta itse nauttisit! Esittele perusasiat erittäin huolella: mikä ongelma, mikä laskennan malli,... Pidä huolta, että kuulijat oppivat jotain uutta Yritä kertoa jotain siistiä: esim. hieno algoritminen kikka tai nerokas todistustekniikka Unohda tylsät matemaattiset detaljit, keskity oleelliseen, paljon kuvia ja kiva tarina 7 / 38

Tavoitteet: kirjoitelma Osoita, että olet tosissasi perehtynyt aihepiiriin! Kuten esitelmässäkin, esittele perusasiat erittäin huolella ja pidä huolta, että laiskakin lukija oppii jotain uutta Mutta yksityiskohdissa tulisi olla huomattavasti huolellisempi ja täsmällisempi: määritelmät, faktat, lähdeviitteet, todistukset,... Yllätä minut positiivisesti, näytä omaa ajattelua 8 / 38

Seminaarijärjestelyt Kysyttävää käytännön järjestelyistä? Parannusehdotuksia? Aina voi laittaa sähköpostia: jukka.suomela@cs.helsinki.fi 9 / 38

Seminaari: Hajautetut algoritmit syksy 2009 Johdantoa aihepiiriin 10 / 38

Johdantoa aihepiiriin Yksi keskeisiä hajautettuihin algoritmeihin liittyviä tutkimuskysymyksiä on vikasietoisuus A distributed system is one in which the failure of a computer you didn t even know existed can render your own computer unusable. L. Lamport (1987) Tällä kertaa kuitenkin unohdetaan vikasietoisuus ja katsotaan, mitä voidaan laskea ehjällä järjestelmällä 11 / 38

Johdantoa aihepiiriin Seminaarissa keskitytään lähinnä hajautettuihin algoritmeihin, jotka ratkaisevat verkko-ongelmia Mitä ovat verkko-ongelmat? Mitä tarkoittaa, että verkko-ongelman ratkaisemiseen on olemassa hajautettu algoritmi? 12 / 38

Verkko-ongelmat Syötteenä verkko G = (V, E) Etsittävä esim. solmujen joukko, kaarien joukko tai solmujen ositus, joka täyttää annetut ehdot Yleensä optimointiongelmia Osa NP-kovia ja osa ratkeaa polynomisessa ajassa Suurin osa toivottavasti tuttuja tietojenkäsittelytieteen tai matematiikan kursseilta 13 / 38

Esimerkkejä peitto-ongelmista Etsi annetusta verkosta G (pieni tai minimaalinen) solmupeite joka kaaresta ainakin yksi päätepiste dominoiva joukko jos solmu ei ole mukana, ainakin yksi sen naapuri on 14 / 38

Esimerkkejä pakkausongelmista Etsi annetusta verkosta G (suuri tai maksimaalinen) riippumaton joukko joka kaaresta enintään yksi päätepiste pariutus joka solmuun enintään yksi kaari 15 / 38

Esimerkkejä ositusongelmista Etsi annetusta verkosta G (pieni) väritys ositus riippumattomiin joukkoihin (suuri) domaattinen ositus ositus dominoiviin joukkoihin 16 / 38

Algoritmeja verkko-ongelmiin Perinteisesti tietojenkäsittelytieteessä verkko-ongelman ratkaiseva algoritmi tarkoittaa tätä: Syöteverkko G koodataan merkkijonoksi Merkkijono annetaan tietokoneelle Tietokone laskee aikansa ja tulostaa merkkijonon, johon on koodattu verkko-ongelman ratkaisu Verkko-ongelman ratkaiseva hajautettu algoritmi tarkoittaa jotain aivan muuta! 17 / 38

Hajautettujen algoritmien malli Tietokone... 18 / 38

Hajautettujen algoritmien malli Tietokone, jossa on tietoliikenneportteja... 1 2 3 4 5 19 / 38

Hajautettujen algoritmien malli Tietokone, jossa on tietoliikenneportteja ja näyttö Hello world 1 2 3 4 5 20 / 38

Hajautettujen algoritmien malli Kirjoitetaan tietokoneohjelma, laskennan lisäksi komentoja: Lähetä viesti m porttiin i Vastaanota viesti portista i Tulosta x ja lopeta 1 2 3 4 5 21 / 38

Hajautettujen algoritmien malli Vastustaja tekee n kloonia tästä tietokoneesta (kaikissa klooneissa sama ohjelma!)... 22 / 38

Hajautettujen algoritmien malli Vastustaja tekee n kloonia tästä tietokoneesta ja kytkee ne yhteen tietoliikenneverkoksi 1 2 3 4 5 1 2 3 4 5 23 / 38

Hajautettujen algoritmien malli Käynnistetään tietokoneet... 1 2 3 4 5 1 2 3 4 5 24 / 38

Hajautettujen algoritmien malli Käynnistetään tietokoneet ja katsotaan, mitä ne tulostavat ohjelman päätyttyä xyzzy foo bar baz 1 2 3 4 5 1 2 3 4 5 25 / 38

Hajautettujen algoritmien malli Tietoliikenneverkkoa vastaa matemaattinen verkko G G 26 / 38

Hajautettujen algoritmien malli Tietokoneiden tulosteet vastaavat esim. verkon G solmujen osajoukkoja kyllä kyllä G ei ei 1 2 3 4 5 1 2 3 4 5 27 / 38

Hajautettujen algoritmien malli... tai verkon G kaarien osajoukkoja portti 1 portti 2 G portit 1,2-1 2 3 4 5 1 2 3 4 5 28 / 38

Hajautettujen algoritmien malli Hajautettu algoritmi ratkaisee verkko-ongelman, jos se tuottaa oikean tulosteen kaikissa verkoissa kyllä kyllä G ei ei 1 2 3 4 5 1 2 3 4 5 29 / 38

Hajautettujen algoritmien malli Yhteenvetona: Kaikki tietokoneet suorittavat samaa ohjelmaa Ohjelmaan voi vaikuttaa, verkkoon ei Ohjelman toimittava missä tahansa verkossa Siis ohjelman olisi kiva toimia todellisessa, tämänhetkisessä Internetissä (eikä vain sellaisessa Internetissä, joka on ohjelmoijan mielestä mukava) 30 / 38

Hajautettujen algoritmien malli Yhteenvetona: Kaikki tietokoneet suorittavat samaa ohjelmaa Ohjelmaan voi vaikuttaa, verkkoon ei Ohjelman toimittava missä tahansa verkossa Verkko-ongelmissa (yleensä) hajautetun algoritmin syöte G on hajautettu järjestelmä itse! 31 / 38

Synkroniset algoritmit Keskitymme lähinnä synkronisiin hajautettuihin algoritmeihin: Kaikki verkon tietokoneet käynnistetään samaan aikaan Toimivat ikään kuin yhteisen kellopulssin tahdittamina 32 / 38

Synkroniset algoritmit Jokaisella kommunikointikierroksella kukin solmu 1. suorittaa paikallista laskentaa. 2. lähettää viestin kullekin naapurille 3. lukee samaansa viestit 33 / 38

Synkroniset algoritmit Synkronisuus helpottaa algoritmien suunnittelua, muttei kuitenkaan ole epärealistinen oletus: Usein itseasiassa algoritmisuunnittelun näkökulmasta pahin tapaus on juuri täysin synkroninen järjestelmä symmetriaa ei saa rikottua! Synkronista algoritmia voi aina simuloida asynkronisessa järjestelmässä (C2) 34 / 38

Hajautetun algoritmin tehokkuus Hajautetun algoritmin tehokkuus: Vähän kommunikointikierroksia Lisäksi mielellään pienikokoisia viestejä Yleensä aikavaativuus = synkronisten kommunikointikierrosten määrä Paikallinen laskenta on ilmaista, kiinnitetään huomiota nimenomaan verkkoliikenteeseen 35 / 38

Kaksi keskeistä haastetta Symmetrian rikkominen: Jos verkon alkutilanne on symmetrinen, kaikki tietokoneet identtisiä ja laskenta on determinististä, miten saadaan symmetria rikki? Rinnakkaisuus: Kaikkien koneiden pitäisi alkaa laskea heti; ei ole aikaa odotella, että laskentavuoro vähitellen etenee verkon laidalta toiselle 36 / 38

Kaksi keskeistä haastetta: lähestymistapoja Symmetrian rikkominen: Oletetaan lisätietoa, esim. yksilölliset tunnisteet Hyödynnetään satunnaisuutta Ehkä käsillä olevan ongelman ratkaiseminen ei vaadikaan symmetrian rikkomista! Rinnakkaisuus: Paljon erilaisia esimerkkejä tässä seminaarissa... 37 / 38

Seminaari: Hajautetut algoritmit syksy 2009 Tulevaa: esimerkkejä hajautetuista algoritmeista 38 / 38