Tässä harjoituksessa tarkastellaan Reedin–Frostin epidemiamallia verkossa numeerista simulointia käyttäen. Kirjoita tekemiesi havaintojen pohjalta lyhyt kirjallinen raportti (kuvineen max 3 sivua; koodit erillisenä liitteenä), jossa esitetään vastaukset allaoleviin kysymyksiin. Huomaa, että:
S(2) = (1, 3, 6)tarkoittaa, että toisen vaiheen alussa alttiit verkon solmut ovat 1, 3 ja 6, ja tila
R(1) = (tyhjä vektori)tarkoittaa, että ensimmäisen vaiheessa mikään solmu ei ole parantunut.
Tehtävä 1. Perustele miksi epidemian leviäminen pysähtyy äärellisen ajan kuluttua, ja että epidemian lopputila on hyvin määritelty.
Tutustu tiedoston SquareLatticeGraph.R koodiin ja kokeile ajaa se omassa tietokoneessasi.
Tehtävä 2. Selitä miten kyseinen funktio toimii ja mitä se palauttaa tuloksenaan.
Tehtävä 3. Kirjoita funktio, joka ottaa syötteeksi naapuruusmatriisin ja palauttaa vektorin, jonka alkioina ovat syötettyä naapuruusmatriisia vastaavan verkon solmujen asteluvut.
Tehtävä 4. Mikä on tiedoston SquareLatticeGraph.R tuottaman verkon keskimääräinen asteluku? Entä histogrammi?
Tutustu tiedoston EpidemicExample.R koodiin ja kokeile ajaa se omassa tietokoneessasi.
Tehtävä 5. Selitä tarkasti, miten kyseinen skripti laskee satunnaisen otoksen t:nnen vaiheen aikana tartunnan saavista solmuista. Mikä on muuttujan N sisältö heti sen päivittämisen jälkeen? Miksi skriptissä kutsutaan funktiota rbinom?
Tehtävä 6. Muokkaa kyseistä skriptiä siten, että saat laskettua verkon alttiiden, tartuttavien ja parantuneiden solmujen lukumäärät ajan funktiona. Piirrä muutama kuva kyseisistä otospoluista ajan funktiona.
Tehtävä 7. Kirjoita tiedoston EpidemicExample.R pohjalta funktio, joka ottaa syötteekseen parametrit S0, I0, R0, L, p (eli systeemin alkutila, verkon naapuruusmatriisi ja epidemian tartunta-tn) ja palauttaa tuloksena vektorin, jonka alkioina ovat niiden solmujen indeksit, jotka saavat infektion jonain hetkenä epidemian edetessä.
Tehtävä 8. Kirjoita tehtävän 7. funktiota kutsuva skripti, joka tuottaa 100 satunnaista otosta tartunnan lopulta saaneiden solmujen lukumäärästä. Piirrä näiden histogrammi jollekin parametrin p arvolle.
Tehtävä 9. Aja tehtävän 8. skriptiä eri parametrin p arvoilla ja yritä selvittää kriittinen tartuntatodennäköisyys pc, jolle pätee:
Tutustu tiedoston CycleGraph.R koodiin ja kokeile ajaa se omassa tietokoneessasi.
Tehtävä 10. Selitä miten kyseinen funktio toimii ja mitä se palauttaa tuloksenaan. Millaiset asteluvut verkon solmuilla on?
Tehtävä 11. Yritä selvittää epidemiamallin kriittinen tartuntatodennäköisyys pc tälle verkolle.
Tutustu tiedoston ERGraph.R koodiin ja kokeile ajaa se omassa tietokoneessasi.
Tehtävä 12. Selitä, mitä kyseinen funktio tarkalleen ottaen palauttaa tuloksenaan. Piirrä kuva näin generoidun verkon solmujen astelukujen histogrammista, kun r = 10/(n-1).
Tehtävä 13. Yritä selvittää kriittinen tartunatodennäköisyys pc tälle verkolle, kun parametrit valitaan siten, että verkon solmujen keskimääräinen asteluku on 10.
Vertaile muutamalla sanalla, miten epidemiamalli käyttäytyy yllämainituissa kolmessa verkkorakenteessa.