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

Samankaltaiset tiedostot
Konsensusongelma hajautetuissa järjestelmissä

7.4 Sormenjälkitekniikka

9.5. Turingin kone. Turingin koneen ohjeet. Turingin kone on järjestetty seitsikko

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

Tarkastelemme ensin konkreettista esimerkkiä ja johdamme sitten yleisen säännön, joilla voidaan tietyissä tapauksissa todeta kielen ei-säännöllisyys.

Itsestabiloivabysanttilainen yhteisymmärrys. Timo Virkkala

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

Turingin koneen laajennuksia

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

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

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

Nollasummapelit ja bayesilaiset pelit

Itsestabilointi: perusmääritelmiä ja klassisia tuloksia

Jaetun muistin muuntaminen viestinvälitykseksi

f(n) = Ω(g(n)) jos ja vain jos g(n) = O(f(n))

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

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

MS-A0004/A0006 Matriisilaskenta

Täydentäviä muistiinpanoja Turingin koneiden vaihtoehdoista

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

Bayesin pelit. Kalle Siukola. MS-E2142 Optimointiopin seminaari: Peliteoria ja tekoäly

Kannan vektorit siis virittävät aliavaruuden, ja lisäksi kanta on vapaa. Lauseesta 7.6 saadaan seuraava hyvin käyttökelpoinen tulos:

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016

Testaa: Vertaa pinon merkkijono syötteeseen merkki kerrallaan. Jos löytyy ero, hylkää. Jos pino tyhjenee samaan aikaan, kun syöte loppuu, niin

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

Lisää pysähtymisaiheisia ongelmia

Algoritmit 1. Luento 13 Ti Timo Männikkö

Pinoautomaatit. TIEA241 Automaatit ja kieliopit, kesä Antti-Juhani Kaijanaho. 6. kesäkuuta 2013 TIETOTEKNIIKAN LAITOS. Pinoautomaatit.

6.4. Järjestyssuhteet

Miten osoitetaan joukot samoiksi?

ja λ 2 = 2x 1r 0 x 2 + 2x 1r 0 x 2

Verkon värittämistä hajautetuilla algoritmeilla

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

Kokonaislukuoptimointi

Harjoitustyön testaus. Juha Taina

Skedulointi, kuormituksen tasaus, robotin navigaatio

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

Kielenä ilmaisten Hilbertin kymmenes ongelma on D = { p p on polynomi, jolla on kokonaislukujuuri }

Matematiikan tukikurssi

Tehtävä 2: Tietoliikenneprotokolla

Diskreetin matematiikan perusteet Laskuharjoitus 2 / vko 9

Peliteorian soveltaminen hajautettujen järjestelmien protokollasuunnittelussa (valmiin työn esittely)

Algoritmit 2. Luento 13 Ti Timo Männikkö

Algoritmit 2. Luento 13 Ti Timo Männikkö

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

Kanta ja dimensio 1 / 23

Odotusarvoparien vertailu. Vilkkumaa / Kuusinen 1

Luonnollisen päättelyn luotettavuus

T : Max-flow / min-cut -ongelmat

Yhteydettömän kieliopin jäsennysongelma

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

Matemaatiikan tukikurssi

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

Ratkeavuus ja efektiivinen numeroituvuus

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

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

811120P Diskreetit rakenteet

Kertausta 1. kurssikokeeseen

2.1. Tehtävänä on osoittaa induktiolla, että kaikille n N pätee n = 1 n(n + 1). (1)

Tehtävä 8 : 1. Tehtävä 8 : 2

Vasen johto S AB ab ab esittää jäsennyspuun kasvattamista vasemmalta alkaen:

Pysähtymisongelman ratkeavuus [Sipser luku 4.2]

Yksisuuntainen varianssianalyysi (jatkoa) Heliövaara 1

vaihtoehtoja TIEA241 Automaatit ja kieliopit, syksy 2016 Antti-Juhani Kaijanaho 13. lokakuuta 2016 TIETOTEKNIIKAN LAITOS

Pinoautomaatit. Pois kontekstittomuudesta

Yhtälönratkaisusta. Johanna Rämö, Helsingin yliopisto. 22. syyskuuta 2014

T Privacy amplification

811312A Tietorakenteet ja algoritmit , Harjoitus 2 ratkaisu

Johdatus lukuteoriaan Harjoitus 2 syksy 2008 Eemeli Blåsten. Ratkaisuehdotelma

Yleinen paikallinen vakautuva synkronointialgoritmi

11. Javan toistorakenteet 11.1

Luento 9. June 2, Luento 9

Yksisuuntainen varianssianalyysi (jatkoa) Kuusinen/Heliövaara 1

811120P Diskreetit rakenteet

Ominaisvektoreiden lineaarinen riippumattomuus

Pinoautomaatit. TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 6. lokakuuta 2016 TIETOTEKNIIKAN LAITOS

isomeerejä yhteensä yhdeksän kappaletta.

Avaruuden R n aliavaruus

Esimerkki: Tietoliikennekytkin

MAT Todennäköisyyslaskenta Tentti / Kimmo Vattulainen

d ) m d (I n ) = 2 d n d. Koska tämä pätee kaikilla

Algoritmit 2. Luento 14 Ke Timo Männikkö

Sisällys. 11. Javan toistorakenteet. Laskurimuuttujat. Yleistä

Täydentäviä muistiinpanoja laskennan rajoista

Sovellettu todennäköisyyslaskenta B

Approbatur 3, demo 1, ratkaisut A sanoo: Vähintään yksi meistä on retku. Tehtävänä on päätellä, mitä tyyppiä A ja B ovat.

S BAB ABA A aas bba B bbs c

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

8.5. Järjestyssuhteet 1 / 19

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

Laskennan mallit (syksy 2010) Harjoitus 4, ratkaisuja

T Syksy 2002 Tietojenkäsittelyteorian perusteet Harjoitus 8 Demonstraatiotehtävien ratkaisut

UML -mallinnus TILAKAAVIO

Harjoitus 1 ( )

Epälineaaristen yhtälöiden ratkaisumenetelmät

1 Lineaariavaruus eli Vektoriavaruus

Todennäköisyyslaskenta I, kesä 2017 Helsingin yliopisto/avoin Yliopisto Harjoitus 1, ratkaisuehdotukset

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

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

7. Satunnaisalgoritmit (randomized algorithms)

Transkriptio:

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ä on epäluotettava Esimerkiksi: koordinoidun hyökkäyksen järjestäminen Kenraalit yrittävät nujertaa yhteisen vihollisen Taistelu on voitettavissa vain, jos kaikki hyökkäävät Jokaisen kenraalin tulisi päättää: hyökätä vai ei? Kenraali voi hyökätä vain, jos oma armeija on valmiina Aluksi tiedetään vain oman armeijan tilanne Kenraalien välinen yhteydenpito on epäluotettava

Konsensusongelma: tietojenkäsittelytieteessä Hajautettu tietokantajärjestelmä Kun tietokantaan tehdään muutoksia, prosessien tulee joko hyväksyä tai hylätä muutokset Muutokset tulisi hyväksyä aina, kun mahdollista...ja vastaavasti hylätä aina, jos jokin prosesseista ei hyväksy muutoksia Tietokantojen sisältö pysyy yhtenäisenä vain, jos lopputulos on yksimielinen

Konsensusongelma: hajautettu järjestelmä Täydellinen, suuntaamaton verkko, jossa n prosessia Toimii myös yleisemmässä tapauksessa Jokaisella prosessilla alkutila alku i {0,1} 1 hyväksyvä tila, 0 hylkäävä tila Suoritus etenee synkronisesti: jokaisella kierroksella suoritetaan seuraavat kaksi askelta 1. Jokainen prosessi lähettää viestinsä 2. Prosessit vastaanottavat saapuvat viestit ja muuttavat tarvittaessa nykyistä tilaansa Prosessien väliset viestit voivat kadota

Konsensusongelma: esitelmän rakenne Deterministinen algoritmi Ratkeamattomuustodistuksen idea Satunnaistettu algoritmi Lähes optimaalinen ratkaisu Teoreettinen alaraja

Deterministinen algoritmi: ehdot Määritellään seuraavat ehdot, joiden tulee täyttyä: (a) Prosessit tekevät lopullisen päätöksen, tulos i {0,1}, äärellisen monen kierroksen kuluessa (b) Kaikki prosessit päätyvät samaan lopputulokseen tulos i (c) Kaikkien alkutilojen ollessa 0 myös kaikki tulos i = 0 (d) Kaikkien alkutilojen ollessa 1 myös kaikki tulos i, jos kaikki viestit on toimitettu onnistuneesti Triviaalit ratkaisut, joissa tulos i on aina joko 1 tai 0, poissuljetaan ehdoilla (c) ja (d)

Ratkeamattomuustodistus: vastaoletus On olemassa algoritmi A, joka ratkaisee konsensusongelman Tarkastellaan kahden prosessin verkkoa Prosessien alkutilat: alku 1 = alku 2 Suoritus on jono järjestelmän tiloja (algoritmilla A) Riippuu alkutiloista ja järjestelmässä toimitetuista viesteistä Olkoon suoritus α sellainen, että kaikki prosessien väliset viestit toimitetaan onnistuneesti Vastaoletuksen ja ehdon (d) perusteella tulos 1 = tulos 2

Ratkeamattomuustodistus: suoritus α Prosessi 1 alku 1 tulos 1... Prosessi 2 alku 2 tulos 2 Suoritus etenee kuvassa vasemmalta oikealle Nuolet kuvaavat onnistuneesti toimitettuja viestejä

Ratkeamattomuustodistus: suoritus α Prosessi 1 alku 1 tulos 1... Prosessi 2 alku 2 tulos 2 Kierros r Kiinnitetään r siten, että molemmat prosessit päättävät r kierroksen kuluessa Vastaoletuksen ja ehdon (a) mukaan r on olemassa

Ratkeamattomuustodistus: suoritus α 1 Prosessi 1 alku 1 tulos 1... Prosessi 2 alku 2 tulos 2 Kierros r Olkoon suoritus α 1 muuten sama kuin suoritus α, mutta kierroksen r jälkeen kaikki viestit katoavat Tulokset eivät muutu, koska päätökset tehtiin r kierroksen aikana

Ratkeamattomuustodistus: suoritus α 2 Prosessi 1 alku 1 tulos 1... Prosessi 2 alku 2 tulos 2 =? Kierros r Olkoon suoritus α 2 muuten sama kuin suoritus α 1, mutta prosessin 1 kierroksella r lähettämä viesti katoaa tulos 1 ei muutu, koska prosessi 1 ei tiedä viestinsä kadonneen Suoritukset α 1 ja α 2 ovat prosessin 1 kannalta samat!

Ratkeamattomuustodistus: suoritus α 2 Prosessi 1 alku 1 tulos 1... Prosessi 2 alku 2 tulos 2 Kierros r Prosessin 2 kannalta suoritukset α 2 ja α 1 ovat erilaisia Prosessi 2 ei vastaanota kierroksen r viestiä Vastaoletuksen ja ehdon (b) perusteella kuitenkin tulos 2

Ratkeamattomuustodistus: suoritus α 3 Prosessi 1 alku 1 tulos 1... Prosessi 2 alku 2 tulos 2 Kierros r Olkoon suoritus α 3 muuten sama kuin suoritus α 2, mutta prosessin 2 kierroksella r lähettämä viesti katoaa tulos 2, koska prosessi 2 ei tiedä viestinsä kadonneen tulos 1 vastaoletuksen ja ehdon (b) perusteella

Ratkeamattomuustodistus: suoritus α 3 vs. α 1 Ainoa ero suoritusten α 3 ja α 1 välillä on viestien katoaminen kierroksella r Ei vaikuta lopputulokseen: molemmissa tulos 1 = tulos 2 Jatkamalla edellä kuvatulla tavalla prosessien väliset viestit voidaan kadottaa jokaisella kierroksella r 1, r 2,... Päädytään suoritukseen α', jossa prosessit eivät vastaanota yhtäkään viestiä Vastaoletuksen ja ehtojen mukaan edelleen tulos 1 = tulos 2

Ratkeamattomuustodistus: suoritus α' Prosessi 1 alku 1 tulos 1... Prosessi 2 alku 2 tulos 2 Kierros r Prosessit eivät vastaanota yhtäkään viestiä Prosessien alkutilat edelleen alku 1 = alku 2

Ratkeamattomuustodistus: suoritus α'' Prosessi 1 alku 1 tulos 1... Prosessi 2 alku 2 = 0 tulos 2 Kierros r Olkoon suoritus α'' muuten sama kuin suoritus α', mutta prosessin 2 alkutila on alku 2 = 0 tulos 1, koska prosessin 1 kannalta α'' ja α' ovat samat tulos 2 vastaoletuksen ja ehdon (b) perusteella

Ratkeamattomuustodistus: suoritus α''' Prosessi 1 alku 1 = 0 tulos 1... Prosessi 2 alku 2 = 0 tulos 2 Kierros r Olkoon suoritus α''' muuten sama kuin suoritus α'', mutta prosessin 1 alkutila on alku 1 = 0 tulos 2, koska prosessin 2 kannalta α''' ja α'' ovat samat tulos 1 vastaoletuksen ja ehdon (b) perusteella

Ratkeamattomuustodistus: suoritus α''' Prosessi 1 alku 1 = 0 tulos 1... Prosessi 2 alku 2 = 0 tulos 2 Kierros r Suorituksesta α''' seuraa ristiriita ehdon (c) kanssa: alku 1 = alku 2 = 0, mutta silti tulos 1 = tulos 2 Konsensusongelma ei ratkea deterministisellä algoritmilla

Satunnaistettu algoritmi Ratkaisee konsensusongelman, kun sallitaan virhetilanne todennäköisyydellä ε Virhetilanne: päätös ei ole yksimielinen ( tulos i tulos j ) Algoritmin parametrina kierrosten lukumäärä r Prosessit tekevät päätöksen kierroksella r Todennäköisyys ε riippuu r :n valinnasta Vastustaja (adversary) yrittää hankaloittaa tilannetta valitsemalla Alkutilat alku i jokaiselle i Prosessien välillä onnistuneesti toimitetut viestit

Satunnaistettu algoritmi: ehdot Määritellään seuraavat ehdot, joiden tulee täyttyä: (a) Pr B [ i, j [ 1, n ] : tulos i =0 tulos j =1 ] (b) Kaikkien alkutilojen ollessa 0 myös kaikki tulos i = 0 (c) Kaikkien alkutilojen ollessa 1 myös kaikki tulos i, jos kaikki viestit on toimitettu onnistuneesti Pr B on todennäköisyys vastustajalla B Ehto (a) tulee olla voimassa mille tahansa vastustajalle B

Satunnaistettu algoritmi: määritelmiä Viestinvälitystä (communication pattern) kuvaa osajoukko γ { i, j, k i, j [ 1, n ] 1 k r } i, j, k γ, jos ja vain jos prosessi j vastaanotti prosessin i kierroksella k lähettämän viestin Esimerkiksi: γ = { (1, 2, 1), (1, 2, 2), (2, 1, 2) } Prosessi 1 Prosessi 2 Kierros 2

Satunnaistettu algoritmi: informaation virtaus Määritellään järjestys γ seuraavasti 1. i, k γ i, k ' kaikille i [1, n] ja kaikille 0 k k ' 2. Jos i, j, k γ, niin i, k 1 γ j, k 3. Jos i, k γ i ', k ' ja i ', k ' γ i ' ', k ' ', niin myös i, k γ i ' ', k ' ' Järjestys on refleksiivinen ja transitiivinen (kohdat 1 ja 3) Kohta 2 kuvaa informaation kulkua: Prosessi j vastaanottaa prosessin i kierroksen k viestin

Satunnaistettu algoritmi: informaatiomäärä Informaatiomäärä (information level) prosessille i kierroksella 0 k r on taso γ (i, k): 1. Jos k =0, niin taso γ i, k =0 2. Jos k 0 ja on olemassa j i s.e. j, 0 γ i, k, niin taso γ i, k =0 Prosessin informaatiomäärä on aluksi nolla Kohdan 2 mukaan prosessin informaatiomäärä on nolla kunnes se saa tiedon kaikista muista prosesseista Informaatio voi kulkeutua useamman prosessin läpi, koska järjestys γ on transitiivinen

Satunnaistettu algoritmi: informaatiomäärä Informaatiomäärä (information level) prosessille i kierroksella 0 k r on taso γ (i, k): 3. Jos k 0 ja j, 0 γ i, k kaikille j i, niin taso γ i, k =1 min { l j j i }, missä l j =max {taso γ j, k ' j, k ' γ i, k } l j on suurin informaatiomäärä, jonka prosessi i tietää prosessin j saavuttaneen Toisin sanoen: Kun prosessi i saa tietää, että kaikki muut prosessit ovat saavuttaneen informaatiomäärän t, prosessin i informaatiomäärä on t + 1

Satunnaistettu algoritmi: informaatiomäärä Esimerkki: γ = { (2, 1, 1), (2, 1, 2), (1, 2, 3), (2, 1, 3), (1, 2, 4), (2, 1, 4), (2, 1, 5), (1, 2, 6) } Prosessi 1 0 1 Prosessi 2 0 0 Kierros 1

Satunnaistettu algoritmi: informaatiomäärä Esimerkki: γ = { (2, 1, 1), (2, 1, 2), (1, 2, 3), (2, 1, 3), (1, 2, 4), (2, 1, 4), (2, 1, 5), (1, 2, 6) } Prosessi 1 0 1 1 Prosessi 2 0 0 0 Kierros 2

Satunnaistettu algoritmi: informaatiomäärä Esimerkki: γ = { (2, 1, 1), (2, 1, 2), (1, 2, 3), (2, 1, 3), (1, 2, 4), (2, 1, 4), (2, 1, 5), (1, 2, 6) } Prosessi 1 0 1 1 1 Prosessi 2 0 0 0 2 Kierros 3

Satunnaistettu algoritmi: informaatiomäärä Esimerkki: γ = { (2, 1, 1), (2, 1, 2), (1, 2, 3), (2, 1, 3), (1, 2, 4), (2, 1, 4), (2, 1, 5), (1, 2, 6) } Prosessi 1 0 1 1 1 3 3 3 Prosessi 2 0 0 0 2 2 2 4 Kierros 6

Satunnaistettu algoritmi Informaatiomäärän avulla voidaan vihdoin määritellä satunnaistettu algoritmi konsensusongelmaan: Kiinnitetään kierrosten lukumäärä r Prosessi 1 arpoo raja-arvon väliltä [1, r ] Aluksi raja-arvo on vain prosessin 1 tiedossa Jokainen prosessi pitää kirjaa omasta informaatiomäärästään r kierroksen ajan Vaatii, että seurataan kaikkien prosessien informaatiomääriä...sekä tiedossa olevista alkutiloista alku j, kaikille j

Satunnaistettu algoritmi: viestien sisältö Prosessien lähettämät viestit sisältävät: Oman, edellisen kierroksen informaatiomäärän taso γ (i, k - 1) Kaikkien muiden prosessien suurimman tiedossa olevan informaatiomäärän Kaikki tiedossa olevat alkutilat alku i Raja-arvon, jos se on prosessin tiedossa Viesti lähetetään verkon kaikille muille prosesseille jokaisella kierroksella 0 k r

Satunnaistettu algoritmi: päätöksen tekeminen Kierroksen r lopuksi valitaan tulos i {0,1} Jos taso γ (i, r) = 0, valitaan aina tulos i = 0 Jos taso γ (i, r) > 0, niin kaikki alkutilat alku j ja raja-arvo ovat prosessin i tiedossa Tarkistetaan ylittääkö oma informaatiomäärä taso γ (i, r) prosessin 1 arpoman raja-arvon väliltä [1, r ] Jos ylittää ja kaikki alku j, niin valitaan tulos i Muutoin aina tulos i = 0 Toisin sanoen: Jos yksikin alku j = 0, valitaan aina tulos i = 0

Satunnaistettu algoritmi: viestin vastaanotto Algoritmi saapuva i (L, V, k) Aluksi taso i [j] = -1 kaikilla j i 1 if k tuntematon then raja i k 2 for all j i do 3 if V[ j] tuntematon then alku i [ j] V[ j] 4 if L[ j] > taso i [ j] then taso i [ j] L[ j] 5 taso i 1 + min { taso i [ j] j i } 6 if kierros = r then 7 if taso i raja i and alku i [ j] kaikille j then tulos i 1 8 else tulos i 0

Satunnaistettu algoritmi: yhteenveto Prosessi 1 arpoo raja-arvon väliltä [1, r ] Ainut epädeterministinen osa algoritmissa! Muu suoritus riippuu vastustajasta B Kierroksella r tarkistetaan onko prosessin informaatiomäärä vähintään yhtäsuuri kuin raja-arvo Jos lisäksi kaikki alku j, niin valitaan tulos i Muutoin aina tulos i = 0 Osoittautuu, että konsensusehto rikkoutuu korkeintaan todennäköisyydellä r Pätee kaikille vastustajille B

Satunnaistettu algoritmi: esimerkki Tarkastellaan tilannetta kierroksen r = 6 päättyessä Jos raja-arvo on pienempi kuin 4, niin tulos 1 = tulos 2 alku 1 Prosessi 1 0 1 1 1 3 3 3 Prosessi 2 0 alku 2 0 0 2 2 2 4 Kierros 6

Satunnaistettu algoritmi: esimerkki Tarkastellaan tilannetta kierroksen r = 6 päättyessä Jos raja-arvo on pienempi kuin 4, niin tulos 1 = tulos 2 Jos raja-arvo on suurempi kuin 4, niin tulos 1 = tulos 2 = 0 alku 1 Prosessi 1 0 1 1 1 3 3 3 Prosessi 2 0 alku 2 0 0 2 2 2 4 Kierros 6

Satunnaistettu algoritmi: esimerkki Tarkastellaan tilannetta kierroksen r = 6 päättyessä Jos raja-arvo on pienempi kuin 4, niin tulos 1 = tulos 2 Jos raja-arvo on suurempi kuin 4, niin tulos 1 = tulos 2 = 0 Jos raja-arvo on 4, niin tulos 1 = 0 ja tulos 2 X - Todennäköisyys, muilla alkutiloilla todennäköisyys 0 6 alku 1 0 1 1 1 3 3 Prosessi 1 3 Prosessi 2 0 alku 2 0 0 2 2 2 4 Kierros 6

Satunnaistettu algoritmi: teoreettinen alaraja Kuinka hyvä tulos on kyseessä? Pr B [ i, j [ 1, n ] : tulos i =0 tulos j =1 ] 1 r Mikä tahansa r kierrosta toimiva satunnaistettu algoritmi rikkoo konsensusehtoa vähintään todennäköisyydellä 1 r 1

Satunnaistettu algoritmi: tiukennetut ehdot Myös seuraavat, tiukemmat ehdot pätevät: (a) Jos jokin alkutiloista on 0, kaikki prosessit valitsevat tulos i = 0 (b) Kaikkien alkutilojen ollessa 1 pätee kaikilla B Pr B [ kaikki prosessit valitsevat tulos i ] l r missä l on pienin informaatiomäärä kierroksella r Esimerkiksi yhden viestin kadotessa todennäköisyys Pr B on vähintään r 1 r

Konsensusongelma: yhteenveto Konsensusongelma hajautetussa järjestelmässä Useita variaatioita Tarkasteltiin tilannetta, jossa alku i, tulos i {0,1} ja prosessien välinen viestintä on epäluotettava Deterministinen lähestymistapa ei toimi! Satunnaistetulla algoritmilla Virheen todennäköisyys on mahdollista saada lähelle teoreettista alarajaa Kiitos!