viral - cl.cam.ac.ukpv273/slides/viral-presentation.pdf · uvod teorija viral arhitektura...

49
Uvod Teorija Viral arhitektura Zaključci Viral Realne simulacije konkurentnih procesa nad multipleks mrežama Petar Veličković, Andrej Ivašković {pv273,ai294}@cam.ac.uk Faculty of Computer Science and Technology University of Cambridge 6. april 2016. Petar Veličković, Andrej Ivašković Viral

Upload: others

Post on 04-Mar-2020

32 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Viral - cl.cam.ac.ukpv273/slides/VIRAL-Presentation.pdf · Uvod Teorija Viral arhitektura Zaključci Viral Realnesimulacijekonkurentnihprocesanadmultipleksmrežama PetarVeličković,AndrejIvašković

UvodTeorija

Viral arhitekturaZaključci

ViralRealne simulacije konkurentnih procesa nad multipleks mrežama

Petar Veličković, Andrej Ivašković{pv273,ai294}@cam.ac.uk

Faculty of Computer Science and TechnologyUniversity of Cambridge

6. april 2016.

Petar Veličković, Andrej Ivašković Viral

Page 2: Viral - cl.cam.ac.ukpv273/slides/VIRAL-Presentation.pdf · Uvod Teorija Viral arhitektura Zaključci Viral Realnesimulacijekonkurentnihprocesanadmultipleksmrežama PetarVeličković,AndrejIvašković

UvodTeorija

Viral arhitekturaZaključci

AutoriPočeciMotivacija

O nama

Petar Veličković Andrej Ivašković Stella Lau Miloš Stanojević

Petar Veličković, Andrej Ivašković Viral

Page 3: Viral - cl.cam.ac.ukpv273/slides/VIRAL-Presentation.pdf · Uvod Teorija Viral arhitektura Zaključci Viral Realnesimulacijekonkurentnihprocesanadmultipleksmrežama PetarVeličković,AndrejIvašković

UvodTeorija

Viral arhitekturaZaključci

AutoriPočeciMotivacija

Hack Cambridge

Timsko 24-časovno takmičenje u razvijanju aplikacija(hackathon), pod pokroviteljstvom Univerziteta u Kembridžu iMajor League Hacking organizacije.

Sponzorisano od strane velikog broja firmi (Thales, GSACapital, Bloomberg, Morgan Stanley, Palantir, Jane Street,ARM, Amazon, Google, Merrill Lynch. . . ),

Učestvovalo oko 100 timova sa najvećih svetskih univerziteta(Cambridge, MIT, Oxford, Imperial, ETH. . . )

Viral je proglašen za jedan od najboljih sedam projekata.

Više informacija na https://www.hackcambridge.com.

Petar Veličković, Andrej Ivašković Viral

Page 4: Viral - cl.cam.ac.ukpv273/slides/VIRAL-Presentation.pdf · Uvod Teorija Viral arhitektura Zaključci Viral Realnesimulacijekonkurentnihprocesanadmultipleksmrežama PetarVeličković,AndrejIvašković

UvodTeorija

Viral arhitekturaZaključci

AutoriPočeciMotivacija

Hack Cambridge

Petar Veličković, Andrej Ivašković Viral

Page 5: Viral - cl.cam.ac.ukpv273/slides/VIRAL-Presentation.pdf · Uvod Teorija Viral arhitektura Zaključci Viral Realnesimulacijekonkurentnihprocesanadmultipleksmrežama PetarVeličković,AndrejIvašković

UvodTeorija

Viral arhitekturaZaključci

AutoriPočeciMotivacija

Motivacija

Tradicionalno, modeliranje širenja epidemija se radikorišćenjem jednoslojnih mreža.

U ovim mrežama, članovi populacije predstavljaju čvorove ugrafu, a zaraza se može širiti preko njegovih ivica.

Često korišćen SIR (susceptible-infected-recovered) model injemu srodni modeli, u kome svakom čvoru pripisujemotrenutno stanje.

Petar Veličković, Andrej Ivašković Viral

Page 6: Viral - cl.cam.ac.ukpv273/slides/VIRAL-Presentation.pdf · Uvod Teorija Viral arhitektura Zaključci Viral Realnesimulacijekonkurentnihprocesanadmultipleksmrežama PetarVeličković,AndrejIvašković

UvodTeorija

Viral arhitekturaZaključci

AutoriPočeciMotivacija

Nedostaci osnovnog pristupa

Glavni nedostatak pristupa problemu koristeći jednoslojnemreže je da je previše “kratkovid”.

U realnosti, nad populacijom može konkurentno da se širiveliki broj procesa, i ti procesi mogu uticati jedni na druge.

Ovo efektivno formira mrežu mreža!

Multipleks mreže (o kojima će biti reči uskoro) su popularannačin za predstavljanje ovih interakcija.

Petar Veličković, Andrej Ivašković Viral

Page 7: Viral - cl.cam.ac.ukpv273/slides/VIRAL-Presentation.pdf · Uvod Teorija Viral arhitektura Zaključci Viral Realnesimulacijekonkurentnihprocesanadmultipleksmrežama PetarVeličković,AndrejIvašković

UvodTeorija

Viral arhitekturaZaključci

AutoriPočeciMotivacija

Primeri konkurentnih procesa

Zadržavajući se unutar okvira jedne konkretne bolesti,možemo dobiti preciznije rezultate razmatrajući paralelnorazličite puteve širenja te bolesti. . .

. . . npr. vazduhom, fizičkim kontaktom, . . .Svaki od ovih puteva predstavlja jedan odvojen sloj u mreži!

Možemo se, zatim, proširiti na posmatranje paralelnog širenjaviše zaraza—time modelirajući njihovu komorbidnost.

Ponovo, svaka zaraza dobija poseban sloj u mreži.

Konačno, možemo razmatrati jedan izuzetno važan širećiproces (pogotovo u modernom društvu) od koga zavisiefektivnost prevencije i imunizacije. . .

Petar Veličković, Andrej Ivašković Viral

Page 8: Viral - cl.cam.ac.ukpv273/slides/VIRAL-Presentation.pdf · Uvod Teorija Viral arhitektura Zaključci Viral Realnesimulacijekonkurentnihprocesanadmultipleksmrežama PetarVeličković,AndrejIvašković

UvodTeorija

Viral arhitekturaZaključci

AutoriPočeciMotivacija

Informisanost

Proces o kome je reč je širenje informisanosti o izbijanjuepidemije unutar društva.

Osobe koje su informisane o epidemiji mogu da sprovedupreventivne mere da bi smanjili verovatnoću infekcije (npr.ostajanje kod kuće, zaštitne maske, vakcinisanje. . . ).

U vreme nastanka SIR modela (Kermack & McKendrick,1927) ovaj proces je mogao da se ignoriše (jer je širenjeinformisanosti u većini slučajeva zahtevalo fizičku interakciju).Međutim, u modernom društvu, razvojem tehnologije(pogotovo društvenih mreža) je moguće širiti informacije bezikakvog fizičkog kontakta!

Očigledno, informisanost mora da dobije svoj sloj. . .

Petar Veličković, Andrej Ivašković Viral

Page 9: Viral - cl.cam.ac.ukpv273/slides/VIRAL-Presentation.pdf · Uvod Teorija Viral arhitektura Zaključci Viral Realnesimulacijekonkurentnihprocesanadmultipleksmrežama PetarVeličković,AndrejIvašković

UvodTeorija

Viral arhitekturaZaključci

Multipleks mrežeViral-ov interni modelNove ideje Viral-a

Počnimo sa grafovima!

Zamislimo da imamo četiri čvora, i zaključili smo da suodređeni parovi njih na neki način povezani.

0 1 2 3

Dobili smo uobičajen graf; u ovom kontekstu uglavnomnazivan monopleks mrežom.

Petar Veličković, Andrej Ivašković Viral

Page 10: Viral - cl.cam.ac.ukpv273/slides/VIRAL-Presentation.pdf · Uvod Teorija Viral arhitektura Zaključci Viral Realnesimulacijekonkurentnihprocesanadmultipleksmrežama PetarVeličković,AndrejIvašković

UvodTeorija

Viral arhitekturaZaključci

Multipleks mrežeViral-ov interni modelNove ideje Viral-a

Još neki grafovi

Sada primećujemo da, u nekim drugim “referentnimsistemima” (videćemo primere uskoro), ove čvorove možemopovezivati na druge načine.

0 1 2 3

0 1 2 3

Petar Veličković, Andrej Ivašković Viral

Page 11: Viral - cl.cam.ac.ukpv273/slides/VIRAL-Presentation.pdf · Uvod Teorija Viral arhitektura Zaključci Viral Realnesimulacijekonkurentnihprocesanadmultipleksmrežama PetarVeličković,AndrejIvašković

UvodTeorija

Viral arhitekturaZaključci

Multipleks mrežeViral-ov interni modelNove ideje Viral-a

Uticaj

Konačno, zaključili smo da ovi “slojevi interakcija” nisunezavisni jedan od drugog, nego mogu međusobnointeragovati na netrivijalne načine (formirajući tako prethodnospomenutu “mrežu mreža”).

Multipleks mreže nam daju relativno jednostavan način dapredstavimo ove interakcije—dodavanjem novih međuslojnihivica između čvorova i njihovih “slika” u drugim slojevima.

Ako se vratimo na prethodni primer. . .

Petar Veličković, Andrej Ivašković Viral

Page 12: Viral - cl.cam.ac.ukpv273/slides/VIRAL-Presentation.pdf · Uvod Teorija Viral arhitektura Zaključci Viral Realnesimulacijekonkurentnihprocesanadmultipleksmrežama PetarVeličković,AndrejIvašković

UvodTeorija

Viral arhitekturaZaključci

Multipleks mrežeViral-ov interni modelNove ideje Viral-a

Prethodni primer

0 1 2 3

0 1 2 3

0 1 2 3

Petar Veličković, Andrej Ivašković Viral

Page 13: Viral - cl.cam.ac.ukpv273/slides/VIRAL-Presentation.pdf · Uvod Teorija Viral arhitektura Zaključci Viral Realnesimulacijekonkurentnihprocesanadmultipleksmrežama PetarVeličković,AndrejIvašković

UvodTeorija

Viral arhitekturaZaključci

Multipleks mrežeViral-ov interni modelNove ideje Viral-a

Prethodni primer

(0, G3) (1, G3) (2, G3) (3, G3)

(0, G2) (1, G2) (2, G2) (3, G2)

(0, G1) (1, G1) (2, G1) (3, G1)

Petar Veličković, Andrej Ivašković Viral

Page 14: Viral - cl.cam.ac.ukpv273/slides/VIRAL-Presentation.pdf · Uvod Teorija Viral arhitektura Zaključci Viral Realnesimulacijekonkurentnihprocesanadmultipleksmrežama PetarVeličković,AndrejIvašković

UvodTeorija

Viral arhitekturaZaključci

Multipleks mrežeViral-ov interni modelNove ideje Viral-a

Napravili smo multipleks mrežu!

Petar Veličković, Andrej Ivašković Viral

Page 15: Viral - cl.cam.ac.ukpv273/slides/VIRAL-Presentation.pdf · Uvod Teorija Viral arhitektura Zaključci Viral Realnesimulacijekonkurentnihprocesanadmultipleksmrežama PetarVeličković,AndrejIvašković

UvodTeorija

Viral arhitekturaZaključci

Multipleks mrežeViral-ov interni modelNove ideje Viral-a

Primene na modeliranje epidemija

Ovaj model je posebno podesan za modeliranje epidemija,pošto očekujemo da u svakom sloju posmatramo interakcijenad istim čvorovima (članovima populacije).

Takođe, menjanje stanja čvora u jednom sloju potencijalnodirektno utiče na njegova stanja u ostalim slojevima (štoopravdava predloženi model međuslojnih ivica).Potencijal ovog modela je prepoznat u mnogobrojnim nedavnoobjavljenim radovima. . .

Granell et al., 2013/2014.Buono et al., 2014.Zhao et al., 2014.Azimi-Tafreshi, 2015.Zuzek et al., 2015.

Petar Veličković, Andrej Ivašković Viral

Page 16: Viral - cl.cam.ac.ukpv273/slides/VIRAL-Presentation.pdf · Uvod Teorija Viral arhitektura Zaključci Viral Realnesimulacijekonkurentnihprocesanadmultipleksmrežama PetarVeličković,AndrejIvašković

UvodTeorija

Viral arhitekturaZaključci

Multipleks mrežeViral-ov interni modelNove ideje Viral-a

Svrha Viral sistema

Praktično svi istraživački napori vezani za modeliranjeepidemija nad multipleks mrežama do sada vrše evaluaciju nagenerisanim mrežama (Erdős-Rényi, Barabási-Albert).

Takođe, neretko se prave pretpostavke nad slojevima koje nemoraju odgovarati ljudskoj psihologiji.Viral je napravljen sa ciljem da to promeni, i omogućiistraživačima da:

Vrše kontrolisane eksperimente ove prirode sa stvarnim ljudima.Izvuku detaljne informacije o stanju modela u svakommomentu simulacije, uz automatski generisane,publication-ready vizuelizacije;Sve ovo pruži bez da bude zahtevan za uspostavljanje idetaljno konfigurisanje.

Petar Veličković, Andrej Ivašković Viral

Page 17: Viral - cl.cam.ac.ukpv273/slides/VIRAL-Presentation.pdf · Uvod Teorija Viral arhitektura Zaključci Viral Realnesimulacijekonkurentnihprocesanadmultipleksmrežama PetarVeličković,AndrejIvašković

UvodTeorija

Viral arhitekturaZaključci

Multipleks mrežeViral-ov interni modelNove ideje Viral-a

Interni model

Razmatramo dvoslojnu multipleks mrežu, kojom modeliramoprocese širenja epidemije i informisanosti, respektivno.

Za epidemijski sloj, pretpostavljamo SIS(susceptible-infected-susceptible) proces u kome se epidemijaširi putem vazduha; svaki čvor odašilje svoje geografskekoordinate, na osnovu čega se određuju verovatnoće prenosabolesti između svaka dva čvora.

Za informacioni sloj, pretpostavljamo UAU(unaware-aware-unaware) proces, u kome informisanost možeda se širi između čvorova koji razmenjuju informacije.

Petar Veličković, Andrej Ivašković Viral

Page 18: Viral - cl.cam.ac.ukpv273/slides/VIRAL-Presentation.pdf · Uvod Teorija Viral arhitektura Zaključci Viral Realnesimulacijekonkurentnihprocesanadmultipleksmrežama PetarVeličković,AndrejIvašković

UvodTeorija

Viral arhitekturaZaključci

Multipleks mrežeViral-ov interni modelNove ideje Viral-a

Interakcije između slojeva

Ova dva sloja utiču jedan na drugi na dva kritična načina.

Podložan (susceptible) čvor koji je informisan o epidemiji(aware) može da se vakciniše1, čime potencijalno smanjujeverovatnoću zaraze.

Podložan čvor koji postane inficiran (infected) će, saodređenom (fiksnom) verovatnoćom, postati svestan da serazboleo, čime može postati informisan o epidemiji (ukolikoveć nije) i početi da širi informacije ostalim čvorovima.

1N.B. pojmom vakcinacije ovde obuhvatamo sve moguće preventivne mere.Petar Veličković, Andrej Ivašković Viral

Page 19: Viral - cl.cam.ac.ukpv273/slides/VIRAL-Presentation.pdf · Uvod Teorija Viral arhitektura Zaključci Viral Realnesimulacijekonkurentnihprocesanadmultipleksmrežama PetarVeličković,AndrejIvašković

UvodTeorija

Viral arhitekturaZaključci

Multipleks mrežeViral-ov interni modelNove ideje Viral-a

Izgled internog modela

S

I

V

S

I

S

U

A

A

U

U

A

V

I

A

U

samospoznaja

imuniza

cija

epidemijski sloj

informacioni sloj

Petar Veličković, Andrej Ivašković Viral

Page 20: Viral - cl.cam.ac.ukpv273/slides/VIRAL-Presentation.pdf · Uvod Teorija Viral arhitektura Zaključci Viral Realnesimulacijekonkurentnihprocesanadmultipleksmrežama PetarVeličković,AndrejIvašković

UvodTeorija

Viral arhitekturaZaključci

Multipleks mrežeViral-ov interni modelNove ideje Viral-a

Nove ideje

Iako je Viral većinski implementaciono zasnovan naustanovljenim metodama za modeliranje, tokom planiranja irazvoja aplikacije doneseno je nekoliko odluka u dizajnu kojipredstavljaju potpuno nove ideje.

Ove ideje su uglavnom implementirane sa svrhom da bi se:Otklanjale bespotrebne apstrakcije;Približavali realnom ljudskom ponašanju;Smanjivala količina stanja koja mora da se pamti u modelu.

Iako su ovo pretežno rešenja za probleme praktične prirode,verujemo da bi njihovo razmatranje potencijalno bilo korisno iu potpuno teoretskom kontekstu.

Petar Veličković, Andrej Ivašković Viral

Page 21: Viral - cl.cam.ac.ukpv273/slides/VIRAL-Presentation.pdf · Uvod Teorija Viral arhitektura Zaključci Viral Realnesimulacijekonkurentnihprocesanadmultipleksmrežama PetarVeličković,AndrejIvašković

UvodTeorija

Viral arhitekturaZaključci

Multipleks mrežeViral-ov interni modelNove ideje Viral-a

Implicitan informacioni sloj

Problem: direktno modeliranje informacionog sloja bizahtevalo u najmanju ruku izgradnju neke vrste veštačkedruštvene mreže unutar naše aplikacije.Ovo je problematično i sa stanovišta preciznosti modeliranja isloženosti implementacije:

Još jedna društvena mreža. . . nije za očekivati da će korisnicihteti da se potpuno angažuju u njenu izgradnju; samim tim,dobijamo nepotpune informacije o društvenim interakcijamanad datom populacijom.Uređaji koje bi ljudi koristili u eksperimentu bi morali da budu,u najmanju ruku, potpuno informisani o svim ostalimuređajima, što predstavlja rast neophodnog stanja koje morada se održava u njima.

Rešenje: Simulirati ovaj sloj implicitno!

Petar Veličković, Andrej Ivašković Viral

Page 22: Viral - cl.cam.ac.ukpv273/slides/VIRAL-Presentation.pdf · Uvod Teorija Viral arhitektura Zaključci Viral Realnesimulacijekonkurentnihprocesanadmultipleksmrežama PetarVeličković,AndrejIvašković

UvodTeorija

Viral arhitekturaZaključci

Multipleks mrežeViral-ov interni modelNove ideje Viral-a

Implicitan informacioni sloj

Implicitno simuliranje podrazumeva da, interno, model uopštene održava sloj informacija, nego na početku određenomprocentu populacije da neophodnu informaciju, koja ondamože da se širi putem već postojećih društvenih mreža(Facebook, Twitter. . . ), verbalno, itd.

Konkretno, informacija u našem sistemu predstavljajedinstveni kod za tekuću simulaciju. Unošenjem koda,podložni uređaji mogu postati vakcinisani.

Ovim ne samo da smo se potpuno približili direktnommodeliranju ljudske psihologije u modernom društvu, nego iznatno umanjujemo neophodno stanje koje mora da se čuvana uređajima (mogu biti i daleko jednostavniji od telefona. . . ).

Petar Veličković, Andrej Ivašković Viral

Page 23: Viral - cl.cam.ac.ukpv273/slides/VIRAL-Presentation.pdf · Uvod Teorija Viral arhitektura Zaključci Viral Realnesimulacijekonkurentnihprocesanadmultipleksmrežama PetarVeličković,AndrejIvašković

UvodTeorija

Viral arhitekturaZaključci

Multipleks mrežeViral-ov interni modelNove ideje Viral-a

Uloge

Problem: Jedan vrlo očekivan način učešća ljudi u ovoj igri jekonvergencija ka “čoporskom ponašanju”, u kome seinformacije odmah maksimalno rašire i celokupna populacijase ubrzo vakciniše.Ovo ne odgovara očekivanom ponašanju ljudi u stvarnom svetu!

Rešenje: Direktno ohrabriti određen procenat populacije da setokom eksperimenta ponaša nesmotreno, dodeljujući im jednuod dve uloge:

Čovek (human) ima cilj da ostane zdrav do krajaeksperimenta;Infektor (infector) ima cilj da se do kraja eksperimenta inficirabar 50% populacije.

Petar Veličković, Andrej Ivašković Viral

Page 24: Viral - cl.cam.ac.ukpv273/slides/VIRAL-Presentation.pdf · Uvod Teorija Viral arhitektura Zaključci Viral Realnesimulacijekonkurentnihprocesanadmultipleksmrežama PetarVeličković,AndrejIvašković

UvodTeorija

Viral arhitekturaZaključci

Multipleks mrežeViral-ov interni modelNove ideje Viral-a

Uloge

Ovim ponovo nismo ni na koji način učinili složenijim količinustanja koja mora da se pamti na uređajima u sistemu.

Takođe, rezultati koje smo dobili u eksperimentima sasintetičkim akterima ukazuju da dodeljivanje uloga ne izazivapojavu neočekivanih izlaza za karakteristične scenarije.

Više o tome (i o konkretnoj implementaciji Viral sistema) unarednim sekcijama. . .

Petar Veličković, Andrej Ivašković Viral

Page 25: Viral - cl.cam.ac.ukpv273/slides/VIRAL-Presentation.pdf · Uvod Teorija Viral arhitektura Zaključci Viral Realnesimulacijekonkurentnihprocesanadmultipleksmrežama PetarVeličković,AndrejIvašković

UvodTeorija

Viral arhitekturaZaključci

PregledServerKlijentiKorišćenje Viral

Pregled komponenti aplikacije

Viral je zasnovan na jednostavnom klijent-serverdistribuiranom modelu:

Server je zadužen za pokretanje rundi, praćenje stanja svihklijenata i komunikaciju sa klijentima.Klijenti (uglavnom telefoni) su dostupni korisnicima i jedinoimaju ulogu razmene poruka sa serverom.

Server

Klijent

KlijentChangeMessage

PositionMessage

Petar Veličković, Andrej Ivašković Viral

Page 26: Viral - cl.cam.ac.ukpv273/slides/VIRAL-Presentation.pdf · Uvod Teorija Viral arhitektura Zaključci Viral Realnesimulacijekonkurentnihprocesanadmultipleksmrežama PetarVeličković,AndrejIvašković

UvodTeorija

Viral arhitekturaZaključci

PregledServerKlijentiKorišćenje Viral

Zadaci servera

Server čuva stanja svih klijenata: koordinate, fizičko stanje,informisanost (uslovno rečeno), ulogu.

Server potencijalno ažurira stanja klijenata na osnovu zadatihparametara.

Server razmenjuje poruke sa svim klijentima.

Server pokreće i završava runde.

Server beleži stanja u kojima se multipleks mreža nalazila.

Server proizvodi kvalitetnu vizuelizaciju multipleks mreže.

Petar Veličković, Andrej Ivašković Viral

Page 27: Viral - cl.cam.ac.ukpv273/slides/VIRAL-Presentation.pdf · Uvod Teorija Viral arhitektura Zaključci Viral Realnesimulacijekonkurentnihprocesanadmultipleksmrežama PetarVeličković,AndrejIvašković

UvodTeorija

Viral arhitekturaZaključci

PregledServerKlijentiKorišćenje Viral

Ažuriranje mreže

Server povremeno ažurira matricu M čija polja zavise oduzajamnih udaljenosti čvorova (matrica d):

Mij = ke−λdij

gde su k, λ > 0 parametri mreže.

U svakom diskretnom koraku se bira ivica a → b za aktivacijuu tom koraku, čime dolazi do interakcije između čvorova a i b.

Odabir ivice se vrši po raspodeli verovatnoća. Konkretno,verovatnoća za odabir ivice a → b je:

Pab = Mab∑i,j Mij

Petar Veličković, Andrej Ivašković Viral

Page 28: Viral - cl.cam.ac.ukpv273/slides/VIRAL-Presentation.pdf · Uvod Teorija Viral arhitektura Zaključci Viral Realnesimulacijekonkurentnihprocesanadmultipleksmrežama PetarVeličković,AndrejIvašković

UvodTeorija

Viral arhitekturaZaključci

PregledServerKlijentiKorišćenje Viral

Interakcija između čvorova

Kada se aktivira ivica između carrier/infected isusceptible čvora, na osnovu parametrainitialSymptomaticProbability se određuje verovatnoćada se susceptible čvor pretvara u carrier ili infectedčvor.

Kada se aktivira ivica između carrier/infected ivaccinated čvora, na osnovu parametrainfectedIfVaccinatedProbability se određujeverovatnoća da se vaccinated čvor pretvara u carrier iliinfected čvor.

Petar Veličković, Andrej Ivašković Viral

Page 29: Viral - cl.cam.ac.ukpv273/slides/VIRAL-Presentation.pdf · Uvod Teorija Viral arhitektura Zaključci Viral Realnesimulacijekonkurentnihprocesanadmultipleksmrežama PetarVeličković,AndrejIvašković

UvodTeorija

Viral arhitekturaZaključci

PregledServerKlijentiKorišćenje Viral

Parametrizacija servera

U modelovanju epimedija postoje različiti nivoi intenzitetanekih efekata.

Zato je server skoro u potpunosti konfigurabilan: parametripoput verovatnoće prenosa infekcija, početne informisanosti. . .zavise od vrednosti koje se mreži zadaju. Ovo uključuje i sveparametre pomenute u diskusiji o modelu.

Ovo omogućava modeliranje raznih scenarija!

Petar Veličković, Andrej Ivašković Viral

Page 30: Viral - cl.cam.ac.ukpv273/slides/VIRAL-Presentation.pdf · Uvod Teorija Viral arhitektura Zaključci Viral Realnesimulacijekonkurentnihprocesanadmultipleksmrežama PetarVeličković,AndrejIvašković

UvodTeorija

Viral arhitekturaZaključci

PregledServerKlijentiKorišćenje Viral

Primer rada servera

Petar Veličković, Andrej Ivašković Viral

Page 31: Viral - cl.cam.ac.ukpv273/slides/VIRAL-Presentation.pdf · Uvod Teorija Viral arhitektura Zaključci Viral Realnesimulacijekonkurentnihprocesanadmultipleksmrežama PetarVeličković,AndrejIvašković

UvodTeorija

Viral arhitekturaZaključci

PregledServerKlijentiKorišćenje Viral

Vrste poruka

HelloNewMessage Klijent se po prvi put obraća serveru itraži identifikacioni broj.

HelloMessage Klijent se obraća serveru nakonponovnog uspostavljanja konekcija,kada već poseduje identifikacioni broj.

StartMessage Server informiše klijenta da može daučestvuje u rundi, zadaje identifika-cioni broj, uz početno fizičko stanje, in-formisanost, ulogu.

StopMessage Server informiše klijenta da je runda go-tova, kao i o tome da li je ispunio svojzadatak u ovoj rundi, na osnovu uloge.

. . . . . .

Petar Veličković, Andrej Ivašković Viral

Page 32: Viral - cl.cam.ac.ukpv273/slides/VIRAL-Presentation.pdf · Uvod Teorija Viral arhitektura Zaključci Viral Realnesimulacijekonkurentnihprocesanadmultipleksmrežama PetarVeličković,AndrejIvašković

UvodTeorija

Viral arhitekturaZaključci

PregledServerKlijentiKorišćenje Viral

Vrste poruka

. . . . . .PositionMessage Klijent šalje podatke o svom položaju

(preko GPS ili mrežnih podataka).ChangeMessage Server informiše klijenta o promeni fiz-

ičkog stanja.CodeMessage Klijent šalje serveru kod za vakcinu (ne

nužno tačan).

Petar Veličković, Andrej Ivašković Viral

Page 33: Viral - cl.cam.ac.ukpv273/slides/VIRAL-Presentation.pdf · Uvod Teorija Viral arhitektura Zaključci Viral Realnesimulacijekonkurentnihprocesanadmultipleksmrežama PetarVeličković,AndrejIvašković

UvodTeorija

Viral arhitekturaZaključci

PregledServerKlijentiKorišćenje Viral

Loger i TikZer

Istraživačima su od velike koristi faze kroz koje je mrežaprolazila.

Zbog toga loger kreira veliki tekstualni fajl, u kom se nalaziaktuelno stanje mreže. Za strukturu log fajlova pročitatiREADME.md (više o tome kasnije).

Poseban modul u okviru servera je TikZer, koji periodičnoproizvodi dijagrame koji predstavljaju trenutno stanjemultipleks mreže.

Dijagram predstavlja potpun graf, s tim što intenzitet ivicaodražava blizinu čvorova (u kontekstu epidemijskog sloja).

Petar Veličković, Andrej Ivašković Viral

Page 34: Viral - cl.cam.ac.ukpv273/slides/VIRAL-Presentation.pdf · Uvod Teorija Viral arhitektura Zaključci Viral Realnesimulacijekonkurentnihprocesanadmultipleksmrežama PetarVeličković,AndrejIvašković

UvodTeorija

Viral arhitekturaZaključci

PregledServerKlijentiKorišćenje Viral

Izlaz TikZera

A

A

U

A

U

U

U

Petar Veličković, Andrej Ivašković Viral

Page 35: Viral - cl.cam.ac.ukpv273/slides/VIRAL-Presentation.pdf · Uvod Teorija Viral arhitektura Zaključci Viral Realnesimulacijekonkurentnihprocesanadmultipleksmrežama PetarVeličković,AndrejIvašković

UvodTeorija

Viral arhitekturaZaključci

PregledServerKlijentiKorišćenje Viral

Zadaci klijenta

Aplikacija na Android telefonu pruža korisniku okruženje ukom je:

prisutna informacija o fizičkom stanju;potencijalno prisutan kod za vakcinu;prisutna informacija o ulozi igrača;omogućeno slanje koda za vakcinu.

Periodično se automatski šalju poruke serveru. Ključne porukese tiču promene položaja, koje se šalju svaki put kada sistemgeolokacije na telefonu promeni ove podatke (bilo preko GPSili mreže).Procesiraju se poruke koje stižu od servera.Aplikacija je pozadinska, te ne zahteva preveliku pažnjukorisnika.

Petar Veličković, Andrej Ivašković Viral

Page 36: Viral - cl.cam.ac.ukpv273/slides/VIRAL-Presentation.pdf · Uvod Teorija Viral arhitektura Zaključci Viral Realnesimulacijekonkurentnihprocesanadmultipleksmrežama PetarVeličković,AndrejIvašković

UvodTeorija

Viral arhitekturaZaključci

PregledServerKlijentiKorišćenje Viral

Slike aplikacije

Petar Veličković, Andrej Ivašković Viral

Page 37: Viral - cl.cam.ac.ukpv273/slides/VIRAL-Presentation.pdf · Uvod Teorija Viral arhitektura Zaključci Viral Realnesimulacijekonkurentnihprocesanadmultipleksmrežama PetarVeličković,AndrejIvašković

UvodTeorija

Viral arhitekturaZaključci

PregledServerKlijentiKorišćenje Viral

Slike aplikacije

Petar Veličković, Andrej Ivašković Viral

Page 38: Viral - cl.cam.ac.ukpv273/slides/VIRAL-Presentation.pdf · Uvod Teorija Viral arhitektura Zaključci Viral Realnesimulacijekonkurentnihprocesanadmultipleksmrežama PetarVeličković,AndrejIvašković

UvodTeorija

Viral arhitekturaZaključci

PregledServerKlijentiKorišćenje Viral

Slike aplikacije

Petar Veličković, Andrej Ivašković Viral

Page 39: Viral - cl.cam.ac.ukpv273/slides/VIRAL-Presentation.pdf · Uvod Teorija Viral arhitektura Zaključci Viral Realnesimulacijekonkurentnihprocesanadmultipleksmrežama PetarVeličković,AndrejIvašković

UvodTeorija

Viral arhitekturaZaključci

PregledServerKlijentiKorišćenje Viral

Slike aplikacije

Petar Veličković, Andrej Ivašković Viral

Page 40: Viral - cl.cam.ac.ukpv273/slides/VIRAL-Presentation.pdf · Uvod Teorija Viral arhitektura Zaključci Viral Realnesimulacijekonkurentnihprocesanadmultipleksmrežama PetarVeličković,AndrejIvašković

UvodTeorija

Viral arhitekturaZaključci

PregledServerKlijentiKorišćenje Viral

Vakcine i kodovi

Na početku runde, biraju se informisani korisnici koji dobijajutačan kod za vakcinu (svako nezavisno postaje informisan sanekom malom, određenom verovatnoćom).

Očekuje se da korisnici informišu druge korisnike koje poznajuo ovom kodu, bilo preko društvenih mreža, bilo direktniminformisanjem.

Ne očekujemo da će svi korisnici biti "odgovorni" i "ažurni"nakon notifikacije o početku runde!

Petar Veličković, Andrej Ivašković Viral

Page 41: Viral - cl.cam.ac.ukpv273/slides/VIRAL-Presentation.pdf · Uvod Teorija Viral arhitektura Zaključci Viral Realnesimulacijekonkurentnihprocesanadmultipleksmrežama PetarVeličković,AndrejIvašković

UvodTeorija

Viral arhitekturaZaključci

PregledServerKlijentiKorišćenje Viral

Funkcionisanje botova

U svrhu preliminarnih sintetičkih eksperimenata, kao iomogućavanja veštačkog povećanja veličine populacije,implementirali smo botove.

Botovi su virtuelni klijenti koji šalju serveru "simulirane"podatke o položaju.

Moguće je podešavanje nekih svojstava botova i uticati nanjihovo ponašanje.

Služe da modeluju "slučajne prolaznike" ili "gužvu na trgu".

Ne postoji način sticanja informacija, sem od servera!

Petar Veličković, Andrej Ivašković Viral

Page 42: Viral - cl.cam.ac.ukpv273/slides/VIRAL-Presentation.pdf · Uvod Teorija Viral arhitektura Zaključci Viral Realnesimulacijekonkurentnihprocesanadmultipleksmrežama PetarVeličković,AndrejIvašković

UvodTeorija

Viral arhitekturaZaključci

PregledServerKlijentiKorišćenje Viral

Modelovanje ponašanja botova

Svi botovi koriste model slučajnog lutanja po dve koordinate:geografskoj širini i geografskoj dužini.

Ako bot nije dobio ulogu infektora, vakcinisaće se ukoliko je tomoguće.

Botovi ne stupaju ni u kakvu interakciju sa drugim botovima.

Petar Veličković, Andrej Ivašković Viral

Page 43: Viral - cl.cam.ac.ukpv273/slides/VIRAL-Presentation.pdf · Uvod Teorija Viral arhitektura Zaključci Viral Realnesimulacijekonkurentnihprocesanadmultipleksmrežama PetarVeličković,AndrejIvašković

UvodTeorija

Viral arhitekturaZaključci

PregledServerKlijentiKorišćenje Viral

Slanje podataka

Botovi šalju periodično i podatke o svom stanju, kao i sviklijenti.

Na telefonima nije predvidljiva učestanost promene koordinata.

Pretpostavka: slanje podataka je slučajan Puasonov proces,te je vreme T (u ms) između slanja podataka slučajnapromenljiva sa eksponencijalnom raspodelom:

fT (t) = λe−λt

Za svakog bota se zadaje očekivano vreme između slanjapodataka E (T ), odnosno 1

λ .

Petar Veličković, Andrej Ivašković Viral

Page 44: Viral - cl.cam.ac.ukpv273/slides/VIRAL-Presentation.pdf · Uvod Teorija Viral arhitektura Zaključci Viral Realnesimulacijekonkurentnihprocesanadmultipleksmrežama PetarVeličković,AndrejIvašković

UvodTeorija

Viral arhitekturaZaključci

PregledServerKlijentiKorišćenje Viral

Rezultati sintetičkih eksperimenata

Botovi nam omogućavaju i da napravimo preliminarnesintetičke eksperimente.

Slede rezultati eksperimenata (odnosno izlaz TikZer modula),nakon variranja parametara mreže. . .

Petar Veličković, Andrej Ivašković Viral

Page 45: Viral - cl.cam.ac.ukpv273/slides/VIRAL-Presentation.pdf · Uvod Teorija Viral arhitektura Zaključci Viral Realnesimulacijekonkurentnihprocesanadmultipleksmrežama PetarVeličković,AndrejIvašković

UvodTeorija

Viral arhitekturaZaključci

PregledServerKlijentiKorišćenje Viral

Rezultati sintetičkih eksperimenata

U

U

A

AU

A

U

U

U

A

A

UU

U

U

Petar Veličković, Andrej Ivašković Viral

Page 46: Viral - cl.cam.ac.ukpv273/slides/VIRAL-Presentation.pdf · Uvod Teorija Viral arhitektura Zaključci Viral Realnesimulacijekonkurentnihprocesanadmultipleksmrežama PetarVeličković,AndrejIvašković

UvodTeorija

Viral arhitekturaZaključci

PregledServerKlijentiKorišćenje Viral

Rezultati sintetičkih eksperimenata

A

U

A

UA

U

A

A

U

U

U

AU

U

U

Petar Veličković, Andrej Ivašković Viral

Page 47: Viral - cl.cam.ac.ukpv273/slides/VIRAL-Presentation.pdf · Uvod Teorija Viral arhitektura Zaključci Viral Realnesimulacijekonkurentnihprocesanadmultipleksmrežama PetarVeličković,AndrejIvašković

UvodTeorija

Viral arhitekturaZaključci

PregledServerKlijentiKorišćenje Viral

Rezultati sintetičkih eksperimenata

U

U

U

AA

U

U

A

U

A

U

AU

U

U

Petar Veličković, Andrej Ivašković Viral

Page 48: Viral - cl.cam.ac.ukpv273/slides/VIRAL-Presentation.pdf · Uvod Teorija Viral arhitektura Zaključci Viral Realnesimulacijekonkurentnihprocesanadmultipleksmrežama PetarVeličković,AndrejIvašković

UvodTeorija

Viral arhitekturaZaključci

PregledServerKlijentiKorišćenje Viral

Uputstva za korišćenje

Ceo izvorni kod se nalazi na GitHub-u.

Za preuzimanje repozitorijuma izvršiti narednu instrukciju ushell-u:$ git clone https://github.com/PetarV-/viral.git

Pogledati README.md (i dalje u izradi) za detaljna uputstva zakorišćenje servera, podešavanja botova, strukturu logfajlova. . .

Petar Veličković, Andrej Ivašković Viral

Page 49: Viral - cl.cam.ac.ukpv273/slides/VIRAL-Presentation.pdf · Uvod Teorija Viral arhitektura Zaključci Viral Realnesimulacijekonkurentnihprocesanadmultipleksmrežama PetarVeličković,AndrejIvašković

UvodTeorija

Viral arhitekturaZaključci

Kraj

Zaključci

Viral je jedna potpuna open-source implementacija modelaširenja epidemija.

Model je zasnovan na multipleks mrežama, sa epidemijskim iinformacionim slojem, pri čemu se informacioni sloj modelujeimplicitno.

Predviđen, pre svega, za kontrolisane eksperimente.

Korišćenje i podešavanja su vrlo jednostavni.

Nadamo se da će biti od koristi istraživačima u poljubioinformatike!

Petar Veličković, Andrej Ivašković Viral