Esimerkki: Tietoliikennekytkin

Samankaltaiset tiedostot
Markov-kustannusmallit ja kulkuajat

Markov-ketjut pitkällä aikavälillä

Erilaisia Markov-ketjuja

Markov-kustannusmallit ja kulkuajat

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.

Markov-ketjut pitkällä aikavälillä

Jatkuva-aikaisia Markov-prosesseja

Markov-ketjuja suurilla tila-avaruuksilla

STOKASTISET PROSESSIT Peruskäsitteitä

1 p p P (X 0 = 0) P (X 0 = 1) =

Jatkuva-aikaisten Markov-prosessien aikakehitys

MS-A0004/MS-A0006 Matriisilaskenta Laskuharjoitus 6 / vko 42

Liikenneongelmien aikaskaalahierarkia

MS-A0004/A0006 Matriisilaskenta

Jatkuvan aikavälin stokastisia prosesseja

Moniulotteisia todennäköisyysjakaumia

Inversio-ongelmien laskennallinen peruskurssi Luento 2

Ilkka Mellin Todennäköisyyslaskenta Osa 3: Todennäköisyysjakaumia Moniulotteisia todennäköisyysjakaumia

Demonstraatiot Luento 7 D7/1 D7/2 D7/3

Ominaisarvo ja ominaisvektori

Generoivat funktiot, Poisson- ja eksponenttijakaumat

1 Matriisit ja lineaariset yhtälöryhmät

Kanta ja Kannan-vaihto

Numeeriset menetelmät

MS-A0003/A0005 Matriisilaskenta Laskuharjoitus 3 /

Harjoitus 2 -- Ratkaisut

Probabilistiset mallit (osa 2) Matemaattisen mallinnuksen kurssi Kevät 2002, luento 10, osa 2 Jorma Merikoski Tampereen yliopisto

Harjoitus 3 -- Ratkaisut

5 OMINAISARVOT JA OMINAISVEKTORIT

3 Lineaariset yhtälöryhmät ja Gaussin eliminointimenetelmä

Mallipohjainen klusterointi

3 Lineaariset yhtälöryhmät ja Gaussin eliminointimenetelmä

Johdatus todennäköisyyslaskentaan Moniulotteisia todennäköisyysjakaumia. TKK (c) Ilkka Mellin (2005) 1

Matematiikka ja teknologia, kevät 2011

Markov-ketjun hetkittäinen käyttäytyminen

Numeeriset menetelmät

ax + y + 2z = 0 2x + y + az = b 2. Kuvassa alla on esitetty nesteen virtaus eräässä putkistossa.

1 Ominaisarvot ja ominaisvektorit

Tilastotieteen kertaus. Vilkkumaa / Kuusinen 1

9. Tila-avaruusmallit

8. Muita stokastisia malleja 8.1 Epölineaariset mallit ARCH ja GARCH

MS-A0501 Todennäköisyyslaskennan ja tilastotieteen peruskurssi

Gaussin ja Jordanin eliminointimenetelmä

Neliömatriisit A ja B ovat similaareja toistensa suhteen, A B, jos on olemassa kääntyvä matriisi P, jolle pätee A = PBP 1.

Satunnaislukujen generointi

a) Sievennä lauseke 1+x , kun x 0jax 1. b) Aseta luvut 2, 5 suuruusjärjestykseen ja perustele vastauksesi. 3 3 ja

Ominaisarvo ja ominaisvektori

Ominaisvektoreiden lineaarinen riippumattomuus

Poisson-prosessien ominaisuuksia ja esimerkkilaskuja

Kuva 3.1: Näyte Gaussisesta valkoisest kohinasta ε t N(0, 1) Aika t

Moniulotteisia todennäköisyysjakaumia. Moniulotteisia todennäköisyysjakaumia. Moniulotteisia todennäköisyysjakaumia: Mitä opimme?

Lineaarinen yhtälöryhmä

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

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

Markov-ketjun hetkittäinen käyttäytyminen

Numeeriset menetelmät TIEA381. Luento 5. Kirsi Valjus. Jyväskylän yliopisto. Luento 5 () Numeeriset menetelmät / 28

6. Tietokoneharjoitukset

Dynaamisten systeemien teoriaa. Systeemianalyysilaboratorio II

1 Lineaariavaruus eli Vektoriavaruus

Derivaatat lasketaan komponenteittain, esimerkiksi E 1 E 2

Numeeriset menetelmät TIEA381. Luento 6. Kirsi Valjus. Jyväskylän yliopisto. Luento 6 () Numeeriset menetelmät / 33

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

Neliömatriisin adjungaatti, L24

802320A LINEAARIALGEBRA OSA I

Harjoitus 2 -- Ratkaisut

Lineaarikombinaatio, lineaarinen riippuvuus/riippumattomuus

(b) Onko hyvä idea laske pinta-alan odotusarvo lähetmällä oletuksesta, että keppi katkeaa katkaisukohdan odotusarvon kohdalla?

Talousmatematiikan perusteet: Luento 11. Lineaarikuvaus Matriisin aste Käänteismatriisi

Lineaarikuvauksen R n R m matriisi

Osa 2: Otokset, otosjakaumat ja estimointi

Tehtäväsarja I Seuraavat tehtävät liittyvät kurssimateriaalin lukuun 7 eli vapauden käsitteeseen ja homogeenisiin

Odotusarvoparien vertailu. Vilkkumaa / Kuusinen 1

Tilastollinen testaus. Vilkkumaa / Kuusinen 1

Jos nyt on saatu havaintoarvot Ü ½ Ü Ò niin suurimman uskottavuuden

l (φ; y) = l(θ(φ); y) Toinen derivaatta saadaan tulon derivaatan laskusäännöllä Uudelleenparametroidun mallin Fisherin informaatio on

Jos nollahypoteesi pitää paikkansa on F-testisuuren jakautunut Fisherin F-jakauman mukaan

Kevään 2011 pitkän matematiikan ylioppilastehtävien ratkaisut Mathematicalla Simo K. Kivelä /

P (X B) = f X (x)dx. xf X (x)dx. g(x)f X (x)dx.

Insinöörimatematiikka D

Matriisiteoria Harjoitus 1, kevät Olkoon. cos α sin α A(α) = . sin α cos α. Osoita, että A(α + β) = A(α)A(β). Mikä matriisi A(α)A( α) on?

Demonstraatiot Luento

Matriisit ovat matlabin perustietotyyppejä. Yksinkertaisimmillaan voimme esitellä ja tallentaa 1x1 vektorin seuraavasti: >> a = 9.81 a = 9.

Pienimmän Neliösumman menetelmä (PNS)

MS-A0207 Differentiaali- ja integraalilaskenta 2 (Chem) Yhteenveto, osa I

Aiheet. Kvadraattinen yhtälöryhmä. Kvadraattinen homogeeninen YR. Vapaa tai sidottu matriisi. Vapauden tutkiminen. Yhteenvetoa.

Pienimmän neliösumman menetelmä (PNS)

Numeeriset menetelmät TIEA381. Luento 8. Kirsi Valjus. Jyväskylän yliopisto. Luento 8 () Numeeriset menetelmät / 35

MS-A0501 Todennäköisyyslaskennan ja tilastotieteen peruskurssi

Matriisit, kertausta. Laskutoimitukset. Matriisikaavoja. Aiheet. Määritelmiä ja merkintöjä. Laskutoimitukset. Matriisikaavoja. Matriisin transpoosi

5 Lineaariset yhtälöryhmät

Ortogonaalisen kannan etsiminen

4. Lasketaan transienttivirrat ja -jännitteet kuvan piiristä. Piirielimien arvot ovat C =

Vektoreiden virittämä aliavaruus

Gripenberg. MS-A0502 Todennäköisyyslaskennan ja tilastotieteen peruskurssi Tentti ja välikoeuusinta

Tehtäväsarja I Seuraavat tehtävät liittyvät kurssimateriaalin lukuun 7 eli vapauden käsitteeseen ja homogeenisiin

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

Malliratkaisut Demot

Vapaus. Määritelmä. jos c 1 v 1 + c 2 v c k v k = 0 joillakin c 1,..., c k R, niin c 1 = 0, c 2 = 0,..., c k = 0.

Lineaarinen optimointi. Harjoitus 6-7, Olkoon A R m n, x, c R ja b R m. Osoita, että LP-tehtävän. c T x = min!

Transkriptio:

Esimerkki: Tietoliikennekytkin Tämä Mathematica - notebook sisältää luennolla 2A (2..26) käsitellyn esimerkin laskut. Esimerkin kuvailu Tarkastellaan yksinkertaista mallia tietoliikennekytkimelle. Kytkimeen saapuu datapaketteja, kytkin tallentaa ne väliaikaisesti puskuriinsa, ja lähettää ne sitten eteenpäin. Pidämme kirjaaerityisesti puskurissa olevien datapakettien määrästä ajan funktiona, jota mallinnetaan Markov-prosessilla. Kullakin ajanhetkellä (esim. -6 s pituisilla ajanjaksoilla) kytkin lähettää puskuristaan yhden paketin eteenpäin, paitsi puskurin ollessa tyhjä, jolloin kytkin ei lähetä mitään. Kytkimeen saapuu vielä ennen seuraavaa ajanhetkeä Poisson ()-jakautunut määrä datapaketteja, riippumattomasti eri aikaväleillä. Saapuvat datapaketit tallennetaan puskuriin, mikäli puskurissa on tilaa. Puskuriin voi kerrallaan olla tallennettuna enintään M datapakettia. Paketit, joita ei voida tallentaa, hylätään. Jos X t on ajanhetkellä t puskurissa olevien datapakettien lukumäärä, on ylläolevilla oletuksilla prosessi X = (X t ) t Z+ Markov ketju äärellisellä tilajoukolla S = {,, 2,..., M -, M}. Parametrit ja M pitäisi realistisemmissa tietoliikennesovelluksissa selvittää kytkimen ja verkon ominaisuuksien ja käyttötarkoituksen perusteella. Parametri kuvaa pakettien tulointensiteettiä tietoliikenneverkossa, ja se liittyy siten verkon kuormitukseen kyseisen kytkimen kohdalla. Parametri M on puskurin muistikapasiteetti, ja siis kytkimen ominaisuus. Tässä esimerkissä oletamme parametreille arvot M = 8 (enintään kahdeksan datapakettia puskurissa) ja =.95 (odotusarvoisesti.95 saapuvaa pakettia per aikayksikkö). Poisson-jakauman pistemassafunktio In[]:= PoissonPMF k_ := Exp[-]*^k k! Vaihteen siirtymämatriisi Alustetaan oikean kokoinen matriisi P ensin pelkillä nollilla In[2]:= P = Table, i,, 8, j,, 8 ; Käydään läpi rivit, ja lasketaan siirtymätodennäköisyydet Poisson-jakaumasta

2 StokPros-network_switch_example.nb In[3]:= (* Lasketaan ensin siirtymätodennäköisyydet tyhjästä puskurista: nämä ovat viimeistä lukuunottamatta suoraan Poisson-jakauman pistetodennäköisyyksiä, viimeinen on todennäköisyys, että saapuvien pakettien lukumäärä on kahdeksan tai enemmän *) For in=, in< 8, in++, P, in+ = PoissonPMF in ; P[[, 8+]] = -Sum [P[[, y+]], {y,, 8}]; (* Lasketaan sitten siirtymätodennäköisyydet puskurista, jossa on buf> pakettia: nämä ovat jälleen viimeistä lukuunottamatta suoraan Poisson-jakauman pistetodennäköisyyksiä, viimeinen on todennäköisyys, että saapuvien pakettien lukumäärä riittää täyttämään puskurin ja mahdollisesti enemmänkin *) For buf =, buf 8, buf++, For in=, buf-+in< 8, in++, ; P buf+, buf-+in+ = PoissonPMF in ; P buf+, 8+ = -Sum P buf+, y+, {y,, 8} ; Näytetään siirtymämatriisi yleisellä : n arvolla In[6]:= P // MatrixForm Out[6]//MatrixForm= e - e - 2 e- 2 6 e- 3 24 e- 4 2 e- 5 72 e- 6 e - 7 54 -e - -e - - 2 e- 2-6 e- e - e - 2 e- 2 6 e- 3 24 e- 4 2 e- 5 72 e- 6 e - 7 54 -e - -e - - 2 e- 2-6 e- e - e - 2 e- 2 6 e- 3 24 e- 4 2 e- 5 72 e- 6 -e - -e - - 2 e- 2 - e 6 e - e - 2 e- 2 6 e- 3 24 e- 4 2 e- 5 -e - -e - - 2 e- e - e - 2 e- 2 6 e- 3 24 e- 4 -e - -e - - 2 e - e - 2 e- 2 6 e- 3 -e - -e - e - e - 2 e- 2 -e - e - e - e - Asetetaan : n arvo In[7]:= =.95; Näytetään siirtymämatriisi kiinnitetyllä : n arvolla In[8]:= P // MatrixForm Out[8]//MatrixForm=.38674.36744.7457.552637.325.249377.394847.53.38674.36744.7457.552637.325.249377.394847.53.38674.36744.7457.552637.325.249377.39.38674.36744.7457.552637.325.249.38674.36744.7457.552637.3.38674.36744.7457.552.38674.36744.745.38674.3674.3867 Lasketaan tilajakauma hetkellä lähtien tyhjästä puskurista

StokPros-network_switch_example.nb 3 In[9]:= ({{,,,,,,,, }}.P) // MatrixForm Out[9]//MatrixForm=.38674.36744.7457.552637.325.249377.394847.53 Lasketaan tilajakauma hetkellä 2 lähtien tyhjästä puskurista In[]:= ({{,,,,,,,, }}.P.P) // MatrixForm Out[]//MatrixForm= (.29659.344569.272.9753.349738.5848.278466.64856 Stationaarinen jakauma Puskurin tilaa kuvaava Markov-ketju on yhtenäinen, koska esimerkiksi siirtymät 8 7 6 5 4 3 2 tapahtuvat positiivisillä todennäköisyyksillä. Siten sillä on Lauseen 3.8 mukaan yksikäsitteinen stationaarinen jakauma. Tämä voidaan ratkaista siirtymämatriisin ominaisarvoa vastaavana vasempana ominaisvektorina, jonka komponenttien summa pitää muistaa normittaa ykköseksi (jotta se olisi todennäköisyysjakauma). Matriisin P ominaisarvot In[]:= Eigenvalues[P] Out[]=.,.929695,.744848,.5684,.269838,.3573,.23233,.86628, -4.543-3 Stationaarinen jakauma π on ominaisarvoa vastaava vasen ominaisvektori todennäköisyysjakaumaksi normalisoituna (ja koska vasen ominaisvektori on transpoosin oikea ominaisvektori, voidaan Mathematicaa pyytää laskemaan se komennolla Eigenvectors[Transpose[P]] ) In[2]:= Π = Eigenvectors[Transpose[P], ] Apply Plus, Flatten Eigenvectors[Transpose[P], ] ; Π // MatrixForm Out[3]//MatrixForm= (.874736.3878.43786.3327.2554.8895.983592.888454. Stationaarisen jakauman tulkintaa Puskurin tilaa kuvaava Markov-ketju on myös jaksoton, koska vaikkapa mistä tahansa tilasta voidaan yhdellä aika-askeleella päästä itseensä. Lauseen 3. perusteella yhtenäisen jaksottoman Markov ketjun hetkittäiset tilajakaumat μ t suppenevat kun t kohti stationaarista jakaumaa π, eli ketju asettuu pitkällä aikavälillä stationaarisen jakauman kuvaamaan tilastolliseen tasapainoon. Stationaarisessa jakaumassa (johon ketju pitkällä aikavälillä asettuu) puskuri on annetulla ajanhetkellä tyhjänä noin 8.7 % todennäköisyydellä, täynnä noin 8. % todennäköisyydellä, ja tyypillisimmin puskurissa on kaksi pakettia, noin 4.4 % todennäköisyydellä. Pitkän aikavälin kustannuskertymiä Puskurin käyttöaste Käyttöastetta kuvaava kustannusfunktio c : S R on yksinkertaisesti c(x) = x, missä x S = {,, 2, 3, 4, 5, 6, 7, 8} on puskurissa olevien pakettien lukumäärä. Funktio tulkitaan tilajoukon S indeksoimana pystyvektorina.

4 StokPros-network_switch_example.nb In[4]:= c = Transpose[{{,, 2, 3, 4, 5, 6, 7, 8}}]; c // MatrixForm Out[5]//MatrixForm= 2 3 4 5 6 7 8 In[6]:= Pitkän aikavälin kustannusvauhti lasketaan stationaarisen jakauman ja kustannusfunktion pistetulona Π.c Out[6]= {{3.7644}} Tämä on toki sama asia kuin summa vektorien komponenttien yli In[7]:= Sum Π, i *c i,, i,, 9 Out[7]= 3.7644 In[8]:= Hylättyjen pakettien odotettu määrä per aikayksikkö Hylättyjen pakettien odotettua määrää kuvaava kustannusfunktio c : S R saa tilassa x S arvon, joka on odotusarvo sille, kuinka paljon Poisson-jakautunut saapuvien pakettien lukumäärä ylittää puskurissa sillä hetkellä käytettävissä olevan kapasiteetin 8 - max {, x - } (tässä huomioidaan, että ajanhetken aluksi on jo lähetetty puskurista eteenpäin yksi paketti). Funktio tulkitaan jälleen tilajoukon S indeksoimana pystyvektorina, ja se lasketaan seuraavasti. c = Transpose Table Sum PoissonPMF in *Max, in-(8-max[, (x-)]), c // MatrixForm Out[9]//MatrixForm= 8.7764-7 In[2]:= 8.7764-7 7.92264-6.6864.52453.347347.95479.9886.33674 Π.c Out[2]= {{.374736}} In[2]:= in, 8-Max[, x-], Infinity, {x,, 8} ; Tämä on jälleen toki sama asia kuin summa vektorien komponenttien yli Sum Π, i *c i,, i,, 9 Out[2]=.374736 Kulkuaikoja Odotetut ajat puskurin ensimmäiseen tyhjenemiseen

StokPros-network_switch_example.nb 5 Oletetaan, että puskurissa on aluksi X = x dakettia. Tarkastellaan satunnaista hetkeä T {} = min {t X t = }, jolloin puskuri on ensimmäistä kertaa tyhjillään. Lasketaan, miten odotettu kulkuaika k(x) = Ε x [T {} ] riippuu alkutilasta x. Muodostetaan tuntemattomista odotetuista kulkuajoista pystyvektori (k(x)) x {,,...,8}. In[22]:= kvec = Transpose Map k[#] &, Range[, 8] ; kvec // MatrixForm Out[23]//MatrixForm= k[] k[] k[2] k[3] k[4] k[5] k[6] k[7] k[8] Käytetään ensin ilmeistä havaintoa k() =. In[24]:= k[] = kvec // MatrixForm Out[24]= Out[25]//MatrixForm= k[] k[2] k[3] k[4] k[5] k[6] k[7] k[8] Muodostetaan myös vektori, jonka kaikki komponentit ovat ykkösiä. In[26]:= onevec = Transpose Table[, {x,, 8}] ; onevec // MatrixForm Out[27]//MatrixForm= Odotetut kulkuajat saadaan sitten vaatimalla allaolevan vektorin komponentit (tilaa x = vastaavaa komponenttia lukuunottamatta) nolliksi. In[28]:= P-IdentityMatrix[9].kvec+onevec // MatrixForm Out[28]//MatrixForm=. +.36744 k[]+.7457 k[2]+.552637 k[3]+.325 k[4]+.249377 k[5]+.. -.632596 k[]+.7457 k[2]+.552637 k[3]+.325 k[4]+.249377 k[5]+. +.38674 k[]-.632596 k[2]+.7457 k[3]+.552637 k[4]+.325 k[5]+.2 +.38674 k[2]-.632596 k[3]+.7457 k[4]+.552637 k[5]+.325 k +.38674 k[3]-.632596 k[4]+.7457 k[5]+.552637 k[6]+. +.38674 k[4]-.632596 k[5]+.7457 k[6]+.552637 +.38674 k[5]-.632596 k[6]+.7457 k[7]+. +.38674 k[6]-.632596 k[7]+.245855 +.38674 k[7]-.38674 k[8]

6 StokPros-network_switch_example.nb In[29]:= Ratkaistaan tämä lineaarinen yhtälöryhmä. Solve Table P-IdentityMatrix[9].kvec+onevec j, j, 2, 9 Out[29]= {{k[].432, k[2] 2.9466, k[3] 3.4455, k[4] 39.899, k[5] 46.9495, k[6] 52.79, k[7] 56.934, k[8] 59.56}} Vektorimuodossa ratkaisu on seuraava : In[3]:= kvecsol = kvec /. %[[]] ; kvecsol // MatrixForm Out[3]//MatrixForm=.432 2.9466 3.4455 39.899 46.9495 52.79 56.934 59.56 In[32]:= Odotetut ajat puskurin ensimmäiseen täyttymiseen Oletetaan jälleen, että puskurissa on aluksi X = x dakettia. Tarkastellaan satunnaista hetkeä T {8} = min {t X t = 8}, jolloin puskuri on ensimmäistä kertaa täynnä. Lasketaan, miten odotettu kulkuaika k(x) = Ε x [T {} ] riippuu alkutilasta x. Muodostetaan tuntemattomista odotetuista kulkuajoista pystyvektori (k(x)) x {,,...,8} ja käytetään ilmeistä havaintoa k(8) =. k8vec = Transpose Map k8[#] &, Range[, 8] ; k8[8] = ; k8vec // MatrixForm Out[34]//MatrixForm= k8[] k8[] k8[2] k8[3] k8[4] k8[5] k8[6] k8[7] Odotetut kulkuajat saadaan sitten vaatimalla allaolevan vektorin komponentit (tilaa x = 8 vastaavaa komponenttia lukuunottamatta) nolliksi. In[35]:= P-IdentityMatrix[9].k8vec+onevec // MatrixForm Out[35]//MatrixForm=. -.63259 k8[]+.36744 k8[]+.7457 k8[2]+.552637 k8[3]+.325 k8[4]+.. +.38674 k8[]-.632596 k8[]+.7457 k8[2]+.552637 k8[3]+.325 k8[4]+.. +.38674 k8[]-.632596 k8[2]+.7457 k8[3]+.552637 k8[4]+.325. +.38674 k8[2]-.632596 k8[3]+.7457 k8[4]+.552637 k8[5]. +.38674 k8[3]-.632596 k8[4]+.7457 k8[5]+.552. +.38674 k8[4]-.632596 k8[5]+.7457 k8[6]. +.38674 k8[5]-.632596 k8[6]+.74. +.38674 k8[6]-.632596 k8[7. +.38674 k8[7] Ratkaistaan tämä lineaarinen yhtälöryhmä.

StokPros-network_switch_example.nb 7 In[36]:= Solve Table P-IdentityMatrix[9].k8vec+onevec j, j,, 8 Out[36]= {{k8[] 82.9352, k8[] 82.9352, k8[2] 8.7936, k8[3] 76.28, k8[4] 69.433, k8[5] 59.998, k8[6] 45.887, k8[7] 29.634}} Vektorimuodossa ratkaisu on seuraava : In[37]:= k8vecsol = k8vec /. %[[]] ; k8vecsol // MatrixForm Out[38]//MatrixForm= 82.9352 82.9352 8.7936 76.28 69.433 59.998 45.887 29.634