Itsestabilointi: perusmääritelmiä ja klassisia tuloksia

Samankaltaiset tiedostot
Itsestabilointi: perusmääritelmiä ja klassisia tuloksia

Verkon värittämistä hajautetuilla algoritmeilla

Stabilointi. Marja Hassinen. p.1/48

Itsestabiloituva johtajan valinta vakiotilassa

Yleinen paikallinen vakautuva synkronointialgoritmi

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

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

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

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

Algoritmit 1. Luento 1 Ti Timo Männikkö

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

isomeerejä yhteensä yhdeksän kappaletta.

13 Lyhimmät painotetut polut

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

Turingin koneen laajennuksia

4.3. Matemaattinen induktio

Algoritmit 1. Luento 9 Ti Timo Männikkö

Jaetun muistin muuntaminen viestin välitykseksi. 15. lokakuuta 2007

7.4 Sormenjälkitekniikka

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

Stabilointi. arvosana. arvostelija. Marja Hassinen

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.

Seminaari: Hajautetut algoritmit syksy 2009

Algoritmit 2. Luento 4 To Timo Männikkö

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

Stabiloivat synkronoijat ja nimeäminen

Johdatus graafiteoriaan

Luku 7. Verkkoalgoritmit. 7.1 Määritelmiä

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

811312A Tietorakenteet ja algoritmit, , Harjoitus 6, Ratkaisu

Esimerkkejä polynomisista ja ei-polynomisista ongelmista

10. Painotetut graafit

Se mistä tilasta aloitetaan, merkitään tyhjästä tulevalla nuolella. Yllä olevassa esimerkissä aloitustila on A.

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

Luku 8. Aluekyselyt. 8.1 Summataulukko

Algoritmit 2. Luento 11 Ti Timo Männikkö

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

Algoritmit 2. Luento 13 Ti Timo Männikkö

10. Painotetut graafit

Algoritmit 1. Luento 13 Ma Timo Männikkö

Algoritmit 2. Luento 4 Ke Timo Männikkö

Eräs keskeinen algoritmien suunnittelutekniikka on. Palauta ongelma johonkin tunnettuun verkko-ongelmaan.

Algoritmi on periaatteellisella tasolla seuraava:

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

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

Stabiloivat synkronoijat ja nimeäminen

811312A Tietorakenteet ja algoritmit Kertausta jälkiosasta

Johdatus verkkoteoriaan 4. luento

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

2017 = = = = = = 26 1

Algoritmit 1. Luento 10 Ke Timo Männikkö

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

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

Algoritmit 1. Luento 14 Ke Timo Männikkö

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

M =(K, Σ, Γ,, s, F ) Σ ={a, b} Γ ={c, d} = {( (s, a, e), (s, cd) ), ( (s, e, e), (f, e) ), (f, e, d), (f, e)

811312A Tietorakenteet ja algoritmit V Verkkojen algoritmeja Osa1 : Leveys- ja syvyyshaku

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

Yleinen vakautuva paikallinen synkronointialgoritmi

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

Algoritmit 1. Luento 13 Ti Timo Männikkö

Sovellettu todennäköisyyslaskenta B

Algoritmit 1. Luento 8 Ke Timo Männikkö

Tehtävä 4 : 2. b a+1 (mod 3)

TKT20001 Tietorakenteet ja algoritmit Erilliskoe , malliratkaisut (Jyrki Kivinen)

6. Approksimointialgoritmit

58131 Tietorakenteet ja algoritmit Uusinta- ja erilliskoe malliratkaisut ja arvosteluperusteet

Johdatus graafiteoriaan

TIE448 Kääntäjätekniikka, syksy Antti-Juhani Kaijanaho. 9. marraskuuta 2009

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

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

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

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

UML -mallinnus TILAKAAVIO

Algoritmit 1. Luento 10 Ke Timo Männikkö

Konsensusongelma hajautetuissa järjestelmissä

Verkko-optimointiin perustuva torjuntatasan laskenta mellakkapoliisin resurssien kohdentamisessa (valmiin työn esittely) Paavo Kivistö

Algoritmit 2. Luento 7 Ti Timo Männikkö

Laskennan vaativuus ja NP-täydelliset ongelmat

Valitse kuusi tehtävää! Kaikki tehtävät ovat 6 pisteen arvoisia.

Ongelma 1: Ovatko kaikki tehtävät/ongelmat deterministisiä?

Paikallinen stabilointi

Ongelma 1: Ovatko kaikki tehtävät/ongelmat deterministisiä?

7. Aikavaativuus. Ohjelmistotekniikan laitos OHJ-2300 Johdatus tietojenkäsittelyteoriaan, syksy

Algoritmit 2. Luento 6 Ke Timo Männikkö

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

Algoritmit 1. Luento 6 Ke Timo Männikkö

Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun

811312A Tietorakenteet ja algoritmit, , Harjoitus 6, Ratkaisu

Lukuteorian kertausta

v 8 v 9 v 5 C v 3 v 4

Tietotekniikan valintakoe

Tekijä Pitkä Matematiikka 11 ratkaisut luku 2

Kurssikoe on maanantaina Muista ilmoittautua kokeeseen viimeistään 10 päivää ennen koetta! Ilmoittautumisohjeet löytyvät kurssin kotisivuilla.

811120P Diskreetit rakenteet

Johdatus verkkoteoriaan luento Netspace

Verkot ja todennäköisyyslaskenta. Verkot ja todennäköisyyslaskenta. Verkot ja todennäköisyyslaskenta: Esitiedot

Algoritmit 2. Luento 12 Ke Timo Männikkö


Tarkennamme geneeristä painamiskorotusalgoritmia

Transkriptio:

Itsestabilointi: perusmääritelmiä ja klassisia tuloksia Jukka Suomela Hajautettujen algoritmien seminaari 12.10.2007

Hajautetut järjestelmät Ei enää voida lähteä oletuksesta, että kaikki toimii ja mikään ei muutu: suuri määrä laitteita tietoliikenneyhteydet Ei varsinkaan, jos kannettavia laitteita: akku- tai paristokäyttöisiä laitteita radioyhteys ja ympäristön muutokset, laitteiden liike Lähtökohta: Vikatilanteita ja kokoonpanon muutoksia on odotettavissa 2 / 18

Varautuminen vikoihin ja muutoksiin 1. Kartoitetaan mahdolliset tilanteet, suunnitellaan niistä toipuminen 2. Itsestabiloivuus: vaaditaan toipuminen mielivaltaisesta alkutilasta varaudutaan kaikkiin alkutiloihin, ei pelkästään niihin, joihin viat voivat johtaa liiankin karkea lähestymistapa? itsestabiloivia algoritmeja on olemassa tässä esimerkkinä mm. keskinäinen poissulkeminen 3 / 18

Hajautetun laskennan malli Verkko G: solmu laite kaari tietoliikenneyhteys suuntaamaton G: yhtenäinen Usein tarkastellaan erikoistapauksia, esim. renkaita 4 / 18

Hajautetun laskennan malli Jokainen laite on tilakone: siirtymäehtoja (- - - -) ja tilasiirtymiä ( ) syötteenä solmun oma tila ja naapurisolmujen tila Esimerkki siirtymäehdoista ja tilasiirtymistä, s(v) {0, 1, 2}: v 1: 0 1 2 v: 0 1 2 (s(v) + 1) mod 3 = s(v 1) : s(v) (s(v) 1) mod 3, s(v) = s(v 1) : s(v) (s(v) + 1) mod 3 5 / 18

Hajautetun laskennan malli Keskusajastin: valitsee jonkin laitteen ja jonkin siirtymäehdon, joka on tosi laite suorittaa tilasiirtymän Oletetaan siis, ettei rinnakkaisuutta! Deterministinen, jos vain yksi ehto tosi Suoritus: jokin mahdollinen jono koko järjestelmän tiloja 0 2 1 4 0 3 2 0 1 2 1 4 0 0 2 0 2 2 1 4 4 0 2 0 3 2 2 4 4 0 2 0 4 2 2 4 4 0 2 2 5 3 2 4 4 0 2 2 6 3 2 4 4 0 0 2 7 3 2 2 4 0 0 2 8 3 3 2 4 0 0 2 9 3 3 2 2 0 0 2 10 3 3 3 2 0 0 2 11 3 3 3 2 0 0 0 12 3 3 3 2 2 0 0 13 3 3 3 3 2 0 0 14 3 3 3 3 3 0 0 15 3 3 3 3 3 3 0 16 3 3 3 3 3 3 3 17 4 3 3 3 3 3 3 18 4 4 3 3 3 3 3 19 4 4 4 3 3 3 3 20 4 4 4 4 3 3 3 21 4 4 4 4 4 3 3 22 4 4 4 4 4 4 3 23 4 4 4 4 4 4 4 24 5 4 4 4 4 4 4 25 5 5 4 4 4 4 4 26 5 5 5 4 4 4 4 27 5 5 5 5 4 4 4 28 5 5 5 5 5 4 4 29 5 5 5 5 5 5 4 30 5 5 5 5 5 5 5 6 / 18

Itsestabiloivuus Kiinnitetään: 1. verkkojen perhe G: esim. tarkastellaan renkaita 2. solmukohtaiset lisätiedot johtaja valmiiksi valittu johtajasolmu? yksilöllinen tunniste joka solmulla? 3. toteutus eli tilakoneet 4. tehtävä esim. keskinäinen poissulkeminen 7 / 18

Itsestabiloivuus Esimerkki tehtävästä: keskinäinen poissulkeminen tulkitsemme tietyn siirtymäehdon vuoromerkiksi kullakin ajanhetkellä täsmälleen yhdellä laitteella on vuoromerkki äärettömässä suorituksessa kukin laite saa vuoromerkin äärettömän monesti vuoromerkki 8 / 18

Itsestabiloivuus Turvallinen tila: kyseisestä tilasta alkava suoritus on kelvollinen Turvallinen tila olisi hyvä alkutila, jos voisimme valita, missä alkutilassa järjestelmä laitetaan käyntiin esim. kuvan järjestelmässä eräs turvallinen tila on,,..., mikä tahansa tästä alkava suoritus on aina kelvollinen 9 / 18

Itsestabiloivuus Itsestabiloiva järjestelmä: Mikä tahansa äärettömän pituinen suoritus saavuttaa jossain vaiheessa jonkin turvallisen tilan Siitä eteenpäin suoritus onkin kelvollinen Pahimman tapauksen tarkastelua yli kaikkien mahdollisten: alkutilojen keskusajastimen tekemien valintojen 10 / 18

Keskinäinen poissulkeminen Rengas, jossa yksi erityinen solmu (Dijkstra 1974) Johtajasolmu: s(v) = s(v 1): s(v) (s(v) + 1) mod n Muut solmut: s(v) s(v 1): s(v) s(v 1) Vähintään n tilaa per solmu Vaaditaan siis etukäteistietoa n:stä Parempaankin päästään: 4 tai 3 tilaa per solmu vuoromerkki 11 / 18

0 2 1 4 0 3 2 0 1 2 1 4 0 0 2 0 2 2 1 4 4 0 2 0 3 2 2 4 4 0 2 0 4 2 2 4 4 0 2 2 5 3 2 4 4 0 2 2 6 3 2 4 4 0 0 2 7 3 2 2 4 0 0 2 8 3 3 2 4 0 0 2 9 3 3 2 2 0 0 2 10 3 3 3 2 0 0 2 11 3 3 3 2 0 0 0 12 3 3 3 2 2 0 0 13 3 3 3 3 2 0 0 14 3 3 3 3 3 0 0 15 3 3 3 3 3 3 0 16 3 3 3 3 3 3 3 17 4 3 3 3 3 3 3 18 4 4 3 3 3 3 3 19 4 4 4 3 3 3 3 20 4 4 4 4 3 3 3 21 4 4 4 4 4 3 3 22 4 4 4 4 4 4 3 23 4 4 4 4 4 4 4 24 5 4 4 4 4 4 4 25 5 5 4 4 4 4 4 26 5 5 5 4 4 4 4 27 5 5 5 5 4 4 4 28 5 5 5 5 5 4 4 29 5 5 5 5 5 5 4 30 5 5 5 5 5 5 5 12 / 18

Keskinäinen poissulkeminen Tasalaatuinen rengas Onnistuu, jos n = 2, ks. kuva Onnistuu, jos n alkuluku (Burns Pachl 1989) Ei mahdollista, jos n yhdistetty luku Esim. n = 12 = 3 4 Joka 4. solmu on samassa tilassa 1, 3, 5, 6, 1, 3, 5, 6, 1, 3, 5, 6 1, 3, 5, 0, 1, 3, 5, 6, 1, 3, 5, 6 1, 3, 5, 0, 1, 3, 5, 6, 1, 3, 5, 0 1, 3, 5, 0, 1, 3, 5, 0, 1, 3, 5, 0 13 / 18

Keskinäinen poissulkeminen Johtajan valinta Etukäteen valittu johtaja epärealistinen Tasalaatuisessa renkaassa ei voi ratkaista kaikilla n Lievempi oletus: solmuilla yksilöllinen tunniste (esim. MAC-osoite) Valitaan ensin näiden avulla johtaja, esim. solmu, jonka tunniste suurin 14 89 57 12 johtaja 34 15 29 14 / 18

Keskinäinen poissulkeminen Johtajan valinta (Arora Gouda 1994) Muodostetaan juurisolmuista lähteviä lyhimpiä polkuja verkkoon Jokainen solmu oppii juurisolmun tunnisteen, etäisyyden ja suunnan Polkuja useaan eri juurisolmuun: valitaan tunnisteeltaan suurin Solmu julistautuu itse juurisolmuksi, jos ei paremmasta tällä hetkellä tietoa Tarvitaan tietoa verkon koosta 14 89 57 12 johtaja 34 15 29 15 / 18

Keskinäinen poissulkeminen Reilu koostaminen fair protocol combination, fair composition, transitivity, layering (Dolev Israeli Moran 1993, Schneider 1993,... ) Osaamme ratkaista keskinäisen poissulkemisen itsestabiloivasti renkaassa, jossa on valittu johtaja Osaamme valita johtajan itsestabiloivasti, jos solmuilla yksilölliset tunnisteet Näistä voidaan koostaa uusi algoritmi keskinäiseen poissulkemiseen 14 89 57 12 johtaja 34 15 29 16 / 18

Keskinäinen poissulkeminen Reilu koostaminen Idea: ajetaan molempia rinnan Kun keskinäisen poissulkemisen tarvitsee tietää, onko solmu johtaja, kysytään johtajanvalinta-algoritmilta Johtajanvalinnan valmistumishetki tulkitaan keskinäisen poissulkemisen kannalta alkutilaksi Pidettävä huolta siitä, että molemmat algoritmit saavat ajoaikaa! 14 89 57 12 johtaja 34 15 29 17 / 18

Keskinäinen poissulkeminen: yleiset verkot (a) 89 (b) 12 29 57 34 (c) Reilua koostamista: 1. Johtajan valinta ja virittävän puun luonti 2. Renkaan muodostaminen 3. Keskinäinen poissulkeminen renkaassa 18 / 18

Paikallisuus Paikallinen algoritmi Hajautettu algoritmi Solmun tekemä päätös on funktio syötteestä, joka oli alkutilanteessa solmun lähiympäristössä enintään etäisyydellä R Kuvassa R = 2 19 / 18

Paikallisuus Paikallisesta itsestabiloivaksi 1. Lähetä naapureille viesti: (tunniste, syöte, naapurit, etäisyys = 0) 2. Välitä viestit eteenpäin, jos etäisyys < R; päivitä kirjanpitoa 3. Kokoa oma kuva R-säteisestä ympäristöstä, solmusta itsestään alkaen 4. Suorita alkuperäinen paikallinen algoritmi 20 / 18