T Rinnakkaiset ja hajautetut digitaaliset järjestelmät Paikka siirtymä-verkot

Samankaltaiset tiedostot
T Rinnakkaiset ja hajautetut digitaaliset järjestelmät Saavutettavuusanalyysi

T Rinnakkaiset ja hajautetut digitaaliset järjestelmät Korkean tason verkot

T Rinnakkaiset ja hajautetut digitaaliset järjestelmät Stokastinen analyysi

T Rinnakkaiset ja hajautetut digitaaliset järjestelmät Stokastinen analyysi

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

Verkon värittämistä hajautetuilla algoritmeilla

Tietorakenteet, laskuharjoitus 7, ratkaisuja

Algoritmit 2. Luento 13 Ti Timo Männikkö

10. Painotetut graafit

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

Tarkennamme geneeristä painamiskorotusalgoritmia

13 Lyhimmät painotetut polut

Harjoitus 3 ( )

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

Esimerkkejä polynomisista ja ei-polynomisista ongelmista

Algoritmi on periaatteellisella tasolla seuraava:

Harjoitus 3 ( )

1. (a) Seuraava algoritmi tutkii, onko jokin luku taulukossa monta kertaa:

Algoritmit 1. Luento 9 Ti Timo Männikkö

6.4. Järjestyssuhteet

811120P Diskreetit rakenteet

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

Johdatus graafiteoriaan

811120P Diskreetit rakenteet

Algoritmit 1. Luento 1 Ti Timo Männikkö

TKT20001 Tietorakenteet ja algoritmit Erilliskoe , malliratkaisut (Jyrki Kivinen)

Oikeasta tosi-epätosi -väittämästä saa pisteen, ja hyvästä perustelusta toisen.

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

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

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

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:

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 19. syyskuuta 2016

Algoritmit 1. Luento 13 Ti Timo Männikkö

Itsestabilointi: perusmääritelmiä ja klassisia tuloksia

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

Algoritmit 2. Luento 11 Ti Timo Männikkö

3. Laskennan vaativuusteoriaa

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

Turingin koneen laajennuksia

Malliratkaisut Demot

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

10. Painotetut graafit

Algoritmit 1. Demot Timo Männikkö

MS-A0402 Diskreetin matematiikan perusteet

Algoritmit 1. Luento 2 Ke Timo Männikkö

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016

T Syksy 2004 Logiikka tietotekniikassa: perusteet Laskuharjoitus 7 (opetusmoniste, kappaleet )

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

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

Algoritmit 1. Demot Timo Männikkö

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

PARITUS KAKSIJAKOISESSA

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

811120P Diskreetit rakenteet

Kombinatorinen optimointi

Injektio (1/3) Funktio f on injektio, joss. f (x 1 ) = f (x 2 ) x 1 = x 2 x 1, x 2 D(f )

Luku 8. Aluekyselyt. 8.1 Summataulukko

Harjoitus 1 ( )

isomeerejä yhteensä yhdeksän kappaletta.

(a) L on listan tunnussolmu, joten se ei voi olla null. Algoritmi lisäämiselle loppuun:

Algoritmit 2. Luento 7 Ti Timo Männikkö

811120P Diskreetit rakenteet

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

Malliratkaisut Demot

T Rinnakkaiset ja hajautetut digitaaliset järjestelmät Aikalogiikka

Silmukkaoptimoinnista

Vaihtoehtoinen tapa määritellä funktioita f : N R on

Kynä-paperi -harjoitukset. Taina Lehtinen Taina I Lehtinen Helsingin yliopisto

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

Rekursio. Funktio f : N R määritellään yleensä antamalla lauseke funktion arvolle f (n). Vaihtoehtoinen tapa määritellä funktioita f : N R on

Algoritmit 1. Luento 8 Ke 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

Luku 7. Verkkoalgoritmit. 7.1 Määritelmiä

A TIETORAKENTEET JA ALGORITMIT

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

1. Primitiivirekursiiviset funktiot muodostetaan kolmesta perusfunktiosta käyttäen. succ(n) = n + 1

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

Tehtävä 1. Päättele resoluutiolla seuraavista klausuulijoukoista. a. 1 {p 3 } oletus. 4 {p 1, p 2, p 3 } oletus. 5 { p 1 } (1, 2) 7 (4, 6)

Laskennan teoria (kevät 2006) Harjoitus 3, ratkaisuja

9. Matemaattisista koneista.

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

Diskreetit rakenteet

Pysähtymisongelman ratkeavuus [Sipser luku 4.2]

Taulun avoimista haaroista saadaan kelvolliset lausejoukot

Harjoitus 6 ( )

T : Max-flow / min-cut -ongelmat

Algoritmit 2. Luento 14 Ke Timo Männikkö

TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho. 19. tammikuuta 2012

Miten osoitetaan joukot samoiksi?

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

Johdatus matemaattiseen päättelyyn

Matriisilaskenta (TFM) MS-A0001 Hakula/Vuojamo Ratkaisut, Viikko 47, 2017

Lukuteorian kertausta

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

Yhteydettömän kieliopin jäsennysongelma

TIE448 Kääntäjätekniikka, syksy Antti-Juhani Kaijanaho. 7. joulukuuta 2009

4.3. Matemaattinen induktio

Liikenneongelmien aikaskaalahierarkia

811312A Tietorakenteet ja algoritmit I Johdanto

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

Transkriptio:

T-79.179 Rinnakkaiset ja hajautetut digitaaliset järjestelmät Paikka siirtymä-verkot 27. tammikuuta 2003

T-79.179: Paikka siirtymä-verkot 2-1 Paikka siirtymä-verkot Yleistetään edellisellä luennolla esitetyn merkkipelin sääntöjä: Paikassa voi olla useita merkkejä, jotka voidaan tulkita resursseiksi. Paikan ja siirtymän välillä voi olla useita syöttö- ja lähtökaaria. lukumäärä esitetään yksittäisen kaaren painona. Näiden kaarten Siirtymä on virittynyt, jos kussakin siihen kytketyssä esipaikassa on vähintään syöttökaaren painon verran merkkejä. Kun virittynyt siirtymä laukeaa, sen esipaikoista poistetaan syöttökaarten ja jälkipaikkoihin lisätään lähtökaarten painon verran merkkejä.

T-79.179: Paikka siirtymä-verkot 2-2 Verkko Kolmikkoa N = S, T, F kutsutaan verkoksi, jos paikkojen joukko S ja siirtymien joukko T ovat erilliset (S T = /0) ja vuorelaatio F toteuttaa ehdon F (S T ) (T S). Huomattakoon, että verkon N siirtymälle t T pätee s,t F, jos s on t:n esipaikka, ja t,s F, jos s on t:n jälkipaikka. Olkoon a S T. Joukkoa a = {a a,a F} kutsutaan alkion a esijoukoksi ja joukkoa a = {a a,a F} jälkijoukoksi.

T-79.179: Paikka siirtymä-verkot 2-3 Paikka siirtymä-verkko Nelikko S, T, F,W on paikka siirtymä-verkko (Stellen/Transition-Netz, Place/Transition Net ), jos S, T, F on äärellinen verkko ja kuvaus W : F (N \ {0}) määrää siirtymien kaaripainot. Vastaava viisikko S,T,F,W,M 0 on paikka siirtymä-järjestelmä, jossa M 0 : S N on järjestelmän alkumerkintä.

T-79.179: Paikka siirtymä-verkot 2-4 Paikka siirtymä-verkko: esimerkki p 1 p 2 2 t p 3 2 Kuva esittää paikka siirtymä-järjestelmää S,T,F,W,M 0, jolle on määritelty: S,T,F = {p 1, p 2, p 3 },{t},{ p 1,t, p 2,t, t, p 3 }, W = { p 1,t 2, p 2,t 1, t, p 3 2} ja M 0 = {p 1 2, p 2 5, p 3 0} = 2,5,0.

T-79.179: Paikka siirtymä-verkot 2-5 Paikka siirtymä-verkon laukeamissääntö Olkoon S,T,F,W paikka siirtymä-verkko ja M sen merkintä, M : S N. 1. Siirtymä t T on M-virittynyt, M[t, jos s t : M(s) W(s,t). (Laukeamisehto) 2. M-virittynyt siirtymä t voi laueta tuottaen seuraajamerkinnän M := [M t, M (s) = M(s) W (s,t) +W (t,s), missä W : (S T ) (T S) N: { W ( f ) = W( f ) f F W (Laukeamissääntö) ( f ) = 0 muulloin. 3. Joukon M seuraajamerkinnät ovat M [ := M M t T { {[M t} M[t }. 4. M :stä saavutettavat merkinnät ovat [M := M [ = M M [ M [ [...

T-79.179: Paikka siirtymä-verkot 2-6 Paikka siirtymä-verkon laukeamissääntö: esimerkki p 1 p 2 2 t p 3 2 Merkintä M M[t {M}[ { {p 1 2, p 2 5, p 3 0} virittynyt {p1 0, p 2 4, p 3 2} } {p 1 0, p 2 4, p 3 2} epävireessä /0 {p 1 1, p 2 5, p 3 0} epävireessä /0

T-79.179: Paikka siirtymä-verkot 2-7 Esimerkki: monisuoritinjärjestelmä (1/4) Mallinnetaan karkeasti järjestelmää, jossa on 5 suoritinta, 3 yhteistä muistia ja 2 väylää. Suoritinten tilat kuvataan paikoiksi, joissa on aina yhteensä 5 merkkiä: p 1 : valmis suorittamaan käskyä p 2 : odottaa väylän vapautumista p 3 : odottaa muistin vapautumista p 4 : väylällä Paikka p 5 pitää kirjaa muistien ja väylien tilasta.

T-79.179: Paikka siirtymä-verkot 2-8 Esimerkki: monisuoritinjärjestelmä (2/4) t 2 p 4 p 5 t 4 2 p 1 5 p 2 p 3 t 1 t 3 t 5 t 1 t 2 t 3 t 4 t 5 saantipyyntö (uuden käskyn suoritus) haluttu muisti on vapaana haluttu muisti on varattuna; jonotus vapaana olevan muistin käsittely ja paluu varattuna olleen muistin käsittely ja paluu

T-79.179: Paikka siirtymä-verkot 2-9 Esimerkki: monisuoritinjärjestelmä (3/4) Mallista nähdään muun muassa seuraavat asiat: Vaikka yksi suoritin on varannut muistin, toista väylää pitkin voidaan viedä saantipyyntöjä jonottamaan. Jos kaksi suoritinta valitsee vapaan muistin, muut suorittimet jäävät odottamaan. Kaikille verkon saavutettaville merkinnöille M {M 0 }[ pätevät seuraavat invariantit: M(p 1 ) + M(p 2 ) + M(p 3 ) + M(p 4 ) = M 0 (p 1 ) + M 0 (p 2 ) + M 0 (p 3 ) + M 0 (p 4 ) M(p 4 ) + M(p 5 ) = M 0 (p 4 ) + M 0 (p 5 )

T-79.179: Paikka siirtymä-verkot 2-10 Esimerkki: monisuoritinjärjestelmä (4/4): huomioita Suorittimia, väyliä ja muisteja ei ole yksilöity (niillä ei ole identiteettiä). Voidaan tutkia mielivaltaista suoritinmäärää pelkkää alkumerkintää muuttamalla. Voidaanko väyliä lisätä yhtä helposti? Muistien määrään malli ei ota kantaa. Määrittelemällä siirtymille laukeamistodennäköisyydet tai -ajat voidaan tarkastella järjestelmän suorituskykyä, kuten sitä, montako suoritinta keskimäärin odottaa väylän vapautumista tai kauanko yhden pyynnön palveleminen kuluttaa aikaa.

T-79.179: Paikka siirtymä-verkot 2-11 Saavutettavuusgraafi Paikka siirtymäjärjestelmän S,T,F,W,M 0 saavutettavuusgraafi (reachability graph) on juurellinen, suunnattu ja kaarimerkitty graafi G = V,E V T V,v 0 V, jossa V = [{M 0 } on graafin solmujen joukko, v 0 = M 0 on graafin juurisolmu ja E = { M,t,M M V M = [M t } on graafin kaarten joukko. Merkinnästä toiseen johtavat kaaret on merkitty kulloinkin laukeavan siirtymän nimellä. Käytännössä kaikki analysointityökalut ja -menetelmät edellyttävät saavutettavuusgraafin laskentaa. Graafi esittää rinnakkaisen ja hajautetun järjestelmän tavallisena tilakoneena. Siitä ei voi suoraan erottaa toisistaan riippumattomia ja rinnakkaisia toimintoja.

T-79.179: Paikka siirtymä-verkot 2-12 p 2 t 2 p 4 Saavutettavuusgraafi: esimerkki p 1 t 1 p 3 t 3 p 5 Kunkin kaaren paino on 1. 0,0,1,1,0 0,0,0,0,1 t 1 t 2 t 3 1,0,0,1,0 0,1,1,0,0 t 2 t 1 1,1,0,0,0 Usein kirjoitetaan {p 1, p 2 } tarkoitettaessa merkintää 1,1,0,0,0. Toisistaan riippumattomien siirtymien t 1 ja t 2 kaikki lomitukset esiintyvät graafissa. Jos tarkasteltaisiin myös samanaikaisia siirtymiä, graafiin merkittäisiin myös kaari {p 1, p 2 } t 1,t 2 {p 3, p 4 }.

T-79.179: Paikka siirtymä-verkot 2-13 Saavutettavuusgraafin laskeminen SAAVUTETTAVUUSGRAAFI( S,T,F,W,M 0 ) 1 G : V,E,v 0 {M 0 }, /0,M 0 ; 2 Markings : stack M 0 ; 3 while Markings 4 do M Markings.pop(); 5 for t enabled(m) 6 do M fire(m,t); 7 if M V 8 then V V {M } 9 Markings.push(M ); 10 E E { M,t,M }; 11 return G; Algoritmi käyttää kahta funktiota: enabled(m) := {t M[t } fire(m,t) := [M t Vaihtamalla hakupino hakujonoksi syvyyshaku muuttuu leveyshauksi. Leveyshaku löytää lyhimmän siirtymäpolun alkumerkinnästä virheelliseen merkintään. Joissakin sovelluksissa tarvitaan syvyyshakua.

T-79.179: Paikka siirtymä-verkot 2-14 Saavutettavuusgraafin koko Montako solmua paikka siirtymä-järjestelmän saavutettavuusgraafissa voi olla? Ehdoton yläraja on järjestelmän mahdollisten merkintöjen määrä. Jos järjestelmän tiedetään olevan sellainen, että paikassa p i voi olla enintään m i merkkiä, n erilaisia merkintöjä (ja graafin solmuja) voi olla enintään i=1 m i = m 1 m 2... m n. Saavutettavuusgraafissa voi olla enintään E V T V kaarta, yksi kutakin tilaparin ja siirtymän yhdistelmää kohden. Yleisessä tapauksessa järjestelmän paikoilla ei välttämättä ole luontaista enimmäismerkkimäärää, ja saavutettavia merkintöjä voi olla äärettömän monta, kuten alla:

T-79.179: Paikka siirtymä-verkot 2-15 Saavutettavuusgraafin äärellisyys Jos paikka siirtymä-järjestelmän saavutettavissa merkinnöissä paikoissa voi esiintyä enintään k merkkiä, järjestelmän sanotaan olevan k-turvallinen. k-turvallisella järjestelmällä on enintään (k + 1) n merkintää; 1-turvallisella 2 n. Järjestelmän saavutettavuusgraafi voidaan todeta äärettömäksi ottamalla käyttöön peittävyyden käsite (M M jos s S : M(s) M (s)) ja muuttamalla esitettyä laskentaalgoritmia siten, että jos laskettu seuraajamerkintä peittää jonkin siihen johtavalla siirtymäpolulla olevan merkinnän, graafi todetaan äärettömäksi.

T-79.179: Paikka siirtymä-verkot 2-16 Laskennallinen vaativuus Vaikka paikka siirtymä-järjestelmällä voi olla äärettömän monta saavutettavaa merkintää, saavutettavuusongelma (se, onko annetun ehdon mukainen merkintä saavutettavissa alkumerkinnästä) on ratkeava (1-turvallisille järjestelmille PSPACE-täydellinen ja muille EXPSPACE-kova). Eräs paikka siirtymä-verkkojen laajennus sisältää estokaaret. Paikasta siirtymään johtava estokaari estää siirtymän virittymisen, jos kyseisessä paikassa on vähintään estokaaren painon verran merkkejä. Tällä tavalla laajennettu järjestelmä kykenee simuloimaan Turingin konetta, joten sen saavutettavuusongelma on ratkeamaton. Saavutettavuusongelman yleisellä ratkeavuudella on enemmän teoreettista kuin käytännön merkitystä. Käytännössä tulee ongelmia, jos saavutettavien merkintöjen tai tilojen tarkistus kestää päiviä tai jos muisti tai levytila loppuvat kesken. Joitakin ongelmia voidaan ratkaista tehokkaammin, jos järjestelmä on kuvattu teorian kannalta "helpommin".

T-79.179: Paikka siirtymä-verkot 2-17 Komplementtipaikat Joskus on tarvetta rajoittaa paikka siirtymä-järjestelmän paikkoihin tulevien merkkien määrää. Voidaan esimerkiksi rajoittaa tarkastelu sellaisiin tapauksiin, joissa järjestelmä voi ottaa palveltavakseen enintään k asiakasta kerrallaan. Luontevinta on määritellä merkeille "suljettu kierto" erityisen komplementtipaikan avulla. t 2 p 4 p 5 t 4 2 t 5 t 1 t 3 p 2 p 3 Siirtymä t 1 kuvaa palveltavien asiakkaiden saapumista ja siirtymät t 4 ja t 5 niiden poistumista. t 1 :n laukeamista voidaan rajoittaa lisäämällä sille esipaikka, joka on t 4 :n ja t 5 :n jälkipaikka. Esipaikan alkumerkintä määrää kierrossa olevien asiakkaiden määrän.

T-79.179: Paikka siirtymä-verkot 2-18 Kilpatilanne ja sekaannus Siirtymät ovat riippumattomia jos ja vain jos niillä ei ole yhteisiä esi- eikä jälkipaikkoja. Tällöin ne voivat laueta mielivaltaisessa järjestyksessä tai rinnakkain. Siirtymät ovat samanaikaiset (concurrent). Yhteisiä esipaikkoja jakavien siirtymien välillä voi syntyä kilpatilanne (conflict): Vain toinen siirtymistä voi laueta. Kilpatilanne kuvaa järjestelmän epädeterministisyyttä. Sellaista tilannetta, jossa samanaikaisten siirtymien laukeaminen voi vaikuttaa ilmenevien kilpatilanteiden määrään, kutsutaan sekaannukseksi (confusion).

T-79.179: Paikka siirtymä-verkot 2-19 Sekaannus: esimerkki Oletetaan, että järjestelmää tarkkailee kaksi havainnoitsijaa (H 1 ja H 2 ), jotka havaitsevat yhden siirtymän laukeamisen kerrallaan. p 2 t 2 p 4 p 1 t 1 p 3 t 3 p 5 H 1 havaitsee t 1 :n ja t 2 :n laukeavan tässä järjestyksessä. H 2 havaitsee t 2 :n ja t 1 :n laukeavan tässä järjestyksessä. H 1 havaitsee t 2 :n kilpailevan t 3 :n kanssa, mutta H 2 ei havaitse kilpatilannetta.

T-79.179: Paikka siirtymä-verkot 2-20 Loppukevennys: pähkinöiden ratkaiseminen Paikka siirtymä-järjestelmillä voidaan kuvata muitakin kuin rinnakkaisia järjestelmiä. Eräs vanha ongelma on kaalinpään, vuohen ja suden siirtäminen vesistön yli. Vene kantaa soutajan ja yhden matkustajan. Ollessaan vartijatta syö kaalinpään ja susi vuohen. Tehdään malli, joka kuvaa mahdolliset toimenpiteet (vesistön ylittäminen kuorman kanssa tai ilman) ja kielletyt tilat (joissa syöminen on mahdollista). Mallin saavutettavuusgraafi sisältää ratkaisupolun, jos ratkaisu on olemassa. kaali,susi kaali kaali,,susi susi kaali, susi kaali,susi kaali,susi kaali kaali susi kaali, susi kaali,,susi kaali susi susi susi susi kaali,susi kaali kaali kaali, susi kaali,susi kaali,susi kaali,,susi kaali,susi