Eötvös Loránd Tudományegyetem Természettudományi Kar Schneider Tímea Információterjedés hálózatokon Voter modell BSc Szakdolgozat Témavezet : Simon L. Péter Alkalmazott Analízis és Számításmatematikai Tanszék Budapest, 2016
Köszönetnyilvánítás Els sorban szeretném megköszönni témavezet mnek, Simon Péter tanár úrnak, aki el ször élvezetes el adásaival megszerettette velem a dierenciálegyenleteket, és kés bb igent mondott, amikor megkérdeztem, lenne-e a konzulensem. Mindig bizalommal fordulhattam hozzá, bármilyen kérdésem is volt. Nem lehetek elég hálás tanácsaiért, véleményéért és segítségéért. Köszönöm továbbá matematika tanáraimnak, Szendr iné Szabó Andrea néninek és Szentmiklósi Kinga tanárn nek. Nélkülük biztosan nem szeretném ennyire a matematikát. Köszönet illeti a családomat és a barátaimat is, akik mindig biztattak és támogattak. 2
Tartalomjegyzék 1. Bevezetés 4 2. A szimuláció 6 2.1. A szomszédsági mátrix.......................... 8 2.2. Tesztelés.................................. 8 3. Dierenciálegyenletek felírása 12 3.1. Két csúcsú teljes gráf........................... 13 3.2. Kett hosszú út.............................. 15 3.3. Három csúcsú teljes gráf......................... 18 3.4. Dierenciálegyenletek általánosítása a négy csúcsú teljes gráfból... 23 4. A dierenciálegyenletek és a szimuláció összehasonlítása 27 5. Összefoglalás 31 3
1. fejezet Bevezetés A hálózat kifejezés napjainkban már szorosan kapcsolódik a számítógép fogalmához. Talán ennek is köszönhet, hogy amikor meghalljuk a szót, rögtön az internet jut eszünkbe. Ez nem is csoda, hiszen a világon ez a legnagyobb és legismertebb hálózat. De nem csupán az internet lehet hálózat, hanem maga a társadalom, az emberiség is az. A csúcsok legyenek maguk az emberek, köztük pedig akkor vezessen él, ha ismerik egymást, munkakapcsolatban állnak stb. Ezen a hálózaton terjedhet fert zés vagy információ. Az ehhez kapcsolódó modellek közül a legismertebb a SIS járványterjedési modell, amelynél a csúcsok az alábbi két állapotban lehetnek: S (fert z ) és I (egészséges). Egy adott kezdeti állapotból kiindulva kétféle változás mehet végbe: (i) egy egészséges csúcs valamelyik szomszédja által fert zött lesz, (ii) egy beteg csúcs a szomszédaitól függetlenül meggyógyul. Egy másik hasonló modell a SIR-modell, amely annyiban különbözik az el bbit l, hogy itt egy csúcs három különböz állapotban lehet. Miután egy csúcs fert z b l egészséges lesz, nem S címkét kap, hanem R-et, ami az immunitást jelenti [8]. Ezt a modellt W. O. Kermack és A. G. McKendrick dolgozták ki 1927-ben, dierenciálegyenleteket írtak fel az S, I és R típusú egyedek számának változására. A szavazó modell (a kés bbiekben az angol elnevezés miatt voter modell) egy sztochasztikus modell véleményterjedés leírására. Úgy lehet leginkább elképzelni, mint egymásra ható részecskék rendszere. Nevét onnan kapta, hogy politikai választások végkifejletét szeretnénk vele megjósolni. Leginkább a politikai gazdaságban, állami kiadásokban, az államadósság alakulásának gyelésében, a tömegkommunikáció hatásának mérésében, szociális biztonsági rendszerekben és az adózásban használják. 4
A valószín ségi voter modell egy szavazó modell, amelyet Assar Lindbeck és Jörgen Weibull professzorok dolgoztak ki 1987-ben megjelent cikkükben [1]. Kétféle vélemény terjedésének leírását vezették be. A hálózat csúcsai A és B típusúak lehetnek, és azt vizsgálták, hogy szomszédaik hatására a csúcsok állapota hogyan változik. A valószín ségi voter modelleket gyakran el nyben részesítik a hagyományos medián szavazó modellekkel szemben, mivel az el bbiben minden egyes szavazónak befolyása van a politikai eredményre, míg az utóbbi elméletben minden hatalom a dönt szavazó vagy szavazócsoport kezében van. Például olyan modellekben, ahol id s és atal (vagy szegény és gazdag) szavazók érdekei állnak egymással szemben, a valószín ségi szavazó modellek azt jósolják, hogy a nyertes jelölt egyensúlyt biztosít politikai programjában a különböz érdekek között. Köszönhet en annak, hogy a szavazás eredményének és a politikai preferenciák leképezésének eloszlása sima, ez a modell dinamikus rendszereknél jól közelít nek bizonyult[7]. Szakdolgozatomban a modell m ködését fogom szemléltetni saját Matlab szimuláció, valamint dierenciálegyenletek segítségével. 5
2. fejezet A szimuláció Ahhoz, hogy megértsük a dolgozatban szemléltetett modellt, néhány fogalmat be kell vezetni. Munkám során sztochasztikus folyamatokkal és ezeket leíró dierenciálegyenletekkel dolgoztam. Az el bbi alatt id ben végbemen véletlen folyamatot értünk, más szóval id szerint indexelt valószín ségi változók sorozatát[10]. A mi esetünkben ez a folyamat folytonos idej és diszkrét állapotter Markov-lánc, mely annyit jelent, hogy a rendszer jöv beli állapota nem függ a múltbeli állapotaitól. Ezt szokás Markov-tulajdonságnak is nevezni [3]. Ezt a folyamatot alkalmasan megválasztott t segítségével egy általam megírt, diszkrét idej szimulációval fogjuk közelíteni. Adott egy N csúcsú gráf és egy véges állapothalmaz {A, B} N, amely megadja, hogy az egyes csúcsok milyen állapotban lehetnek. A modellben minden egyes csúcsnak (szavazónak) van egy kezdeti állapota (A vagy B). A változás a következ kb l áll: (i) egy random csúcs kiválasztása, (ii) a választott szavazó átvált egy véletlenszer en választott szomszédja állapotára. És ez ismétl dik egészen addig, amíg a gráf nem lesz vagy csupa A vagy csupa B. Emellett adott két paraméter: τ, amely megadja egy A csúcs B-re történ váltásának rátáját, és γ, ami a B-b l A-ra váltás rátája. 2.1. ábra. Az állapotváltozások rátái. 6
Alkalmazzuk a következ megfeleltetéseket. Ha egy csúcs A, akkor kapjon 0-ás, ha pedig B, akkor 1-es címkét. Legyen a szavazókat tartalmazó gráf G, a csúcsokat jelölje, i = 1... N. Az i. csúcs A szomszédainak számát jelölje i A, B szomszédaiét i B, attól függ en, hogy az adott szomszédnak mi a véleménye. A csúcsokhoz a következ képpen hozzárendelünk egy-egy d i, i = 1... N értéket: i B d i = τ, ha az i. csúcs A típusú, és i B + i A (2.1) d i = i B γ, ha az i. csúcs B típusú. i B + i A (2.2) Tehát a program összeszámolja az ellenkez nézeteket valló szomszédokat, elosztja az összes szomszéd számával, majd ezt az értéket megszorozza a megfelel rátával. A t-vel való szorzás garantálja, hogy ez az érték kisebb legyen, mint 1. Ha az i-edik csúcs A típusú, akkor d i t valószín séggel vált B típusúra egy rövid t id alatt. A t nagyságát kell en kicsire kell választani, hogy a diszkrét idej folyamat jól közelítse a folytonos idej valódi folyamatot. Mikor történik változás? Legyen r egy N hosszú vektor, melynek elemei a (0, 1) intervallumból vett véletlen számok. Változás akkor következik be, ha r i < d i t, vagyis 0-ás csúcsból 1-es lesz, 1-esb l pedig 0-ás. A t-vel való szorzás garantálja, hogy a szám mindenképpen 0 és 1 közé essen, így a fenti összehasonlítás értelmes legyen. Azzal, hogy a d i -k kiszámításánál leosztunk a szomszédok számával, sokkal életszer bb, árnyaltabb eredményt kapunk, hiszen véleményünket nem csak a velünk ellentétes nézeteket valló ismer seink befolyásolják. Egyetlen id lépés alatt nagyon kicsi annak a valószín sége, hogy a gráfban bármilyen változás történjen, csakúgy, mint ahogyan a való életben sem egy nap alatt változik meg valakinek gyökeresen a véleménye. A szimulációban az számít egy id lépésnek, amikor a program a gráf minden csúcsán végigmegy. Eredményként egy vektort kapunk, amelynek i. eleme az i. id pillanatban a B csúcsok száma. A program a fent leírt algoritmust ismétli egy általunk megadott t max ideig. Ezután az egészet végrehajtja K-szor (K N + ), majd ennek veszi az átlagát. Ekkor a nagy számok törvénye értelmében a szimuláció eredménye tartani fog a B csúcsok számának várható értékéhez. A tesztelés során ezeket láthatjuk majd az ábrákon. 7
2.1. A szomszédsági mátrix A könnyebb átláthatóság érdekében érdemes elkészíteni a gráf szomszédsági mátrixát, melyet már a Matlab is tud kezelni. Szakdolgozatomban háromféle hálózaton tesztelem a modellt: 1. Teljes gráf (a mátrix f átlója csupa 0, a többi 1-es), ezt jelölje K N. 2. Két teljes részgráf véletlenszer en összekötve. A két teljes gráf csúcsszámát jelölje N 1 és N 2. Random kiválasztunk m darab csúcsot mindkét részgráfból, és ezeket véletlenszer en összekötjük. Ez a típusú hálózat jól modellezi például két közeli település lakóit, akik közül néhányan ismernek valakit a szomszédos faluból. Vagy éppen a atalok és id sek kapcsolatát; mindketten leginkább egymás társaságát ismerik, mégis van néhány atal, aki ismer id s embereket is. Ezeket a típusú gráfokat jelölje K N1,N 2,m. A szimuláció során ennek két változatát vizsgáltam: K 30,70,30 és K 50,50,50. Ez azt jelenti, hogy a 30-as és 50- es teljes gráfokban minden csúcsnak választunk még egy szomszédot a másik teljes gráfból. 3. Véletlen gráf: ezt a kongurációs véletlen gráfmodell alapján állítjuk el. Adott egy n érték, ez lesz a hálózatban szerepl csúcsok fokszáma, majd eszerint véletlenszer en összekötjük egymással a pontokat. Ezt a gráfot jelölje R N,n. A szimuláció során több tesztelés alapján az n = 4 értéket választottam. Természetesen minden az el bbi három gráfhoz tartozó szomszédsági mátrix f átlójában végig 0 szerepel, hiszen a gráfban nincsenek hurokélek. Tegyük fel továbbá, hogy nincsenek többszörös élek sem, vagyis nem teszünk különbséget az ismeretségek között (családtag vagy távoli ismer s). 2.2. Tesztelés A teszteléseket 100 csúcsú gráfokon végeztem, melynek során a τ > γ és a τ = γ esetekben három darab B csúcsot helyeztem el a gráfokban, a τ < γ szimulációjánál pedig 20-at, a többi mind A. Ezeket a kezdeti értékeket is több tesztelés alapján választottam. A fenti kettes ponthoz tartozó hálózatban ez a három illetve húsz B 8
csúcs minden esetben a 30-as teljes, illetve az egyik 50-es teljes gráfban van. Mivel a két teljes gráf véletlenszer en van összekötve néhány éllel, így meggyelhet, hogy mennyi id alatt terjed át a B vélemény a másik teljes hálózatra, valamint hogy milyen hatással van ez az elhelyezés a B csúcsok számának növekedésére vagy csökkenésére (az ábrákon ezt az értéket gyelhetjük meg az id függvényében). Ha mindkét teljes részgráfban egyenl arányban helyeznénk el kezdetben az A és B csúcsokat, akkor semmilyen különbséget sem lehetne meggyelni a teljes gráfhoz képest, hiszen egymástól függetlenül kezdhetnének terjedni az egyes teljes hálózatokon. El ször is nézzük meg, mi történik, ha a két ráta megegyezik, vagyis τ = γ. Ez azt jelenti, hogy a csúcsok azonos eséllyel váltanak A-ról B-re és B-r l A-ra. 2.2. ábra. A B csúcsok számának változása az id függvényében különböz gráfokon γ = τ = 1 esetben. K 100 : kék, K 30,70,30 : rózsaszín, K 50,50,50 : zöld, R 100,4 : piros. Éppen az történik, amit vártunk, vagyis a rendszer a kezdeti állapot körül mozog. Mivel ez egy sztochasztikus folyamat, amelynek van véletlen ingadozása, a megoldás rezeg, ezzel szemléltetve a véletlen hatást. Az ábrán 300 szimuláció átlagát láthatjuk, t max = 30, t = 0.0005. A τ < γ esethez tartozó 2.3. Ábra már valamivel több információt hordoz magában a hálózatokról, amelyeken futtattuk a szimulációt. Ebben az esetben 20 darab B csúcsot helyeztem el a gráfokban, a többi A. A leggyorsabban a kék, vagyis a teljes gráfhoz tartozó görbe kezd el csökkenni, hiszen ezen a hálózaton semmi sem 9
gátolja az információ terjedését. Ahol viszont ez a leginkább akadályozva van, az a K 30,70,30 -as gráf (rózsaszín). Ez a leglassabban csökken görbe, hiszen mind a 20 darab B csúcs a 30-as teljes gráfban van, ezeknek pedig átlagosan 11 darab A szomszédja van (a hálózat felépítése miatt) szemben a teljes gráal, ahol a B csúcsok A szomszédainak száma pontosan 80. Az K 50,50,50 -es hálózatban valamivel kiegyenlítettebb az A szomszédok száma, mint a K 30,70,30 -as gráf esetében, itt ez a szám átlagosan 31. 2.3. ábra. A B csúcsok számának változása az id függvényében különböz gráfokon γ = 1.5 és τ = 1 esetben. K 100 : kék, K 30,70,30 : rózsaszín, K 50,50,50 : zöld, R 100,4 : piros. A τ > γ esetben, a 2.4. Ábrán is jól meggyelhet, hogy a teljes gráfon terjed leggyorsabban a B típusú csúcsok száma, hiszen minden csúcs össze van kötve mindegyikkel, így akadály nélkül terjedhet az információ. Ez leglassabban a K 30,70,30 - as gráfon történik, itt ugyanis a 30-as teljes gráfban van mindhárom B vélemény csúcs, és mivel csupán néhány éllel van összekötve a 70-es teljes gráal, nehezen tud ott is növekedni a B csúcsok száma. 10
2.4. ábra. A B csúcsok számának változása az id függvényében különböz gráfokon γ = 1 és τ = 1.5 esetben. K 100 : kék, K 30,70,30 : rózsaszín, K 50,50,50 : zöld, R 100,4 : piros. Láttuk tehát, hogy elég nagy hálózatokon a két ráta változtatásával hogyan viselkedik a modell. Meggyelhet, hogy a különböz gráfok mennyiben befolyásolják az információ terjedését. Felmerülhet bennünk, hogy ennél pontosabb képet szeretnénk kapni arról, hogy valójában hogyan is zajlik ez a folyamat. A következ fejezetben megmutatjuk, mi is történik a rendszerrel az id függvényében, vagyis felírjuk a dierenciálegyenleteket. 11
3. fejezet Dierenciálegyenletek felírása El ször egy számunkra is átlátható rendszerben kell vizsgálódnunk, hogy megérthessük a modell m ködését. Ezért nézzük meg, hogyan viselkedik a modell a kett, illetve három csúcsú gráfokon. Az izolált csúcsot tartalmazó rendszerek nem hordoznak túl sok információt a dierenciálegyenletek szempontjából, ugyanis ez három csúcsú gráfnál egy két csúcsú teljesnek felelne meg. Most bemutatjuk, hogy egy folytonos idej, diszkrét állapotter Markov-folyamat Kolmogorov-féle dierenciálegyenleteinek felírása hogyan történik. A továbbiakban legyen N a gráf csúcsainak száma, S = {a 0, a 1,..., a n } pedig a rendszer állapottere. Legyen p ij annak a valószín sége, hogy a rendszer a j állapotból az i-be megy. Tegyük fel, hogy a folytonos idej Markov-lánc {X(t), t 0} kielégíti a következ feltevést: j i = p ij > 0. Ekkor a rendszer Kolmogorov-egyenlete a következ alakban adható meg [9] (140 145, 162 164): ṗ ij (t) = q kj p ik (t) ν j p ij (t), j S és t > 0 (3.1) k j A továbbiakban a következ megfeleltetéseket fogom használni: y i (t) = p ij (t), ugyanis j rögzített állapot, valamint nem különböztetem meg egy-egy csúcs ki- illetve bemen éleit, így a szakdolgozatban szerepl dierenciálegyenleteket a következ általános alakban írom fel: ẏ(t) = Qy(t), (3.2) ahol Q R (N+1) (N+1) egy, még egyel re ismeretlen átmenetvalószín ség-mátrix. 12
3.1. Két csúcsú teljes gráf A dierenciálegyenleteket ebben az esetben a legkönnyebb felírni, melyet az egyes állapotokba való be- illetve kimen élek alapján fogunk megtenni. Az állapottér egy 2 N elem halmaz, S = {AA, AB, BA, BB}. Jelölje ezen állapotok valószín ségét a t id pontban (x 0 (t), x 1 (t), x 2 (t), x 3 (t)). 3.1. ábra. Lehetséges állapotok és állapotváltozások a két csúcsú teljes gráf esetében. Az ábrán látható rátákat a (2.1) és (2.2) képletek alapján lehet kiszámítani. Az AB AA ráta: egy B csúcsból A lesz, tehát a paraméter γ. Ennek együtthatója pedig 1, hiszen a B csúcsnak egyetlen más vélemény szomszédja van, ami megegyezik az összes szomszédjának számával ( 1 = 1). A BA BB rátát is hasonlóképpen 1 számoljuk, itt egy A csúcsból lesz B, amely változáshoz tartozó paraméter τ, és ugyanúgy indokolható, hogy ennek is 1 lesz az együtthatója, mint az el z esetben. Nézzük tehát a dierenciálegyenleteket, amelyeket a (3.1) képlet alapján írtam fel. ẋ 0 (t) = γ(x 1 (t) + x 2 (t)) (3.3) ẋ 1 (t) = (γ + τ)x 1 (t) (3.4) ẋ 2 (t) = (γ + τ)x 1 (t) (3.5) ẋ 3 (t) = τ(x 1 (t) + x 2 (t)) (3.6) A 3.1 Ábrán és az egyenleteken is észrevehet a szimmetria. Bevezetve az x 0 = y 0, x 1 + x 2 = y 1 és y 2 = x 3 függvényeket, a dierenciálegyenleteket a következ, egysze- 13
r bb alakban írhatjuk fel: ẏ 0 (t) = γy 1 (t) (3.7) ẏ 1 (t) = (γ + τ)y 1 (t) (3.8) ẏ 2 (t) = τy 1 (t) (3.9) Ezt az egyenletrendszert egyszer sége miatt könny megoldani. A második egyenletb l kapjuk, hogy y 1 (t) = e t(τ+γ) c 1, ebb l pedig következik, hogy y 0 (t) = γ τ+γ e t(τ+γ) c 0 és y 2 (t) = τ τ+γ e t(τ+γ) c 2, ahol c 0 = 0, c 1 = 1 és c 2 = 0 a kezdeti feltételek. Ez azt jelenti, hogy az egy A és egy B kezdeti állapotból indítottuk a megoldásokat. A 3.2 Ábrán az egyenletek megoldásait láthatjuk. 3.2. ábra. A (3.7) (3.9) dierenciálegyenletek megoldása két csúcsú teljes gráfon, különböz paraméterek esetén. y 0 piros, y 1 zöld, y 2 kék. A két fels képen a görbék ugyanúgy helyezkednek el, ám az egyik ábrán a piros, a másikon pedig a kék van felül. Ennek oka, hogy a két rátát megcseréltük, így az 14
els grakonon nagyobb eséllyel nyer a B vélemény, míg a másodikon az A. Az alsó képen a két ráta megegyezik, ezért a kék és a piros görbe ugyanazt az ívet járja be (az ábrán piros vonallal jelölve). Mindhárom esetben a zöld görbe ábrázolja az AB állapot valószín ségének változását az id függvényében. 3.2. Kett hosszú út Tekintsünk egy N = 3 csúcsú vonalgráfot, amelyben a középs csúcs van összekötve a két mellette lév vel. A rendszer állapottere, vagyis a lehetséges el forduló állapotok halmaza a következ : S = {AAA, BAA, ABA, AAB, BBA, BAB, ABB, BBB}. Ezek valószín ségét a t id pontban jelölje (x 0 (t), x 1 (t), x 2 (t), x 3 (t), x 4 (t), x 5 (t), x 6 (t), x 7 (t)). A 3.3 Ábra az átmeneti rátákat adja meg az egyes állapotok között: 3.3. ábra. Az állapottér és a lehetséges állapotváltozások a három csúcsú vonalgráf esetében. Nézzük meg, hogy a 3.3 Ábrán például a BAB BAA változás rátáját hogyan lehet kiszámítani. Egy B csúcs A-ra vált, tehát a paraméter γ lesz, melynek együtthatója a (2.2) képlet szerint 1, így jön ki a γ. A BAA BBA váltásnál a 1 (2.1) képletet kell alkalmaznunk, hiszen egy A csúcs vált B-re. Ennek az A csúcsnak egy-egy eltér és azonos vélemény szomszédja van, tehát a ráta 1 2 τ. 15
A (3.1) képlet és a 3.3 Ábra alapján tekintsük a rendszerhez tartozó egyenleteket: ẋ 0 (t) = γ(x 1 (t) + x 2 (t) + x 3 (t)) (3.10) ẋ 1 (t) = 1 2 γx 4(t) + γx 5 (t) ( 1 2 τ + γ)x 1(t) (3.11) ẋ 2 (t) = (2τ + γ)x 2 (t) (3.12) ẋ 3 (t) = γx 5 (t) + 1 2 γx 6(t) ( 1 2 τ + γ)x 3(t) (3.13) ẋ 4 (t) = 1 2 τx 1(t) + τx 2 (t) ( 1 2 γ + τ)x 4(t) (3.14) ẋ 5 (t) = (2γ + τ)x 5 (t) (3.15) ẋ 6 (t) = τx 2 (t) + 1 2 τx 3(t) ( 1 2 γ + τ)x 6(t) (3.16) ẋ 7 (t) = τ(x 4 (t) + x 5 (t) + x 6 (t)) (3.17) Az egyenletrendszer numerikus megoldását a Matlab ode45 függvényével állítottam el. Az eredményeket a következ néhány ábra mutatja be. 3.4. ábra. A (3.10) (3.17) egyenletrendszer megoldása a γ = τ esetben. Baloldalon: x 1 (0) = 1, x k = 0, ha k 1 kezdeti állapot, x 0 fels kék, x 1 zöld, x 4 lila, x 7 alsó kék. Jobboldalon: x 5 (0) = 1, x k = 0, ha k 5 kezdeti feltétel, x 0 alsó kék, x 1 = x 3 világoskék, x 4 = x 6 fekete, x 5 zöld, x 7 fels kék. 16
3.5. ábra. A (3.10) (3.17) egyenletrendszer megoldása a γ < τ esetben. Baloldalon: x 1 (0) = 1, x k = 0, ha k 1 kezdeti állapot, x 0 fels kék, x 1 zöld, x 4 lila, x 7 alsó kék. Jobboldalon: x 5 (0) = 1, x k = 0, ha k 5 kezdeti feltétel, x 0 alsó kék, x 1 = x 3 világoskék, x 4 = x 6 fekete, x 5 zöld, x 7 fels kék. 3.6. ábra. A (3.10) (3.17) egyenletrendszer megoldása a γ > τ esetben. Baloldalon: x 1 (0) = 1, x k = 0, ha k 1 kezdeti állapot, x 0 fels kék, x 1 zöld, x 4 lila, x 7 alsó kék. Jobboldalon: x 5 (0) = 1, x k = 0, ha k 5 kezdeti feltétel, x 0 fels kék, x 1 = x 3 világoskék, x 4 = x 6 fekete, x 5 zöld, x 7 alsó kék. Mindhárom baloldali ábrán a megoldáskor az x 1 (0) = 1, x k = 0, ha k 1 kezdeti feltétellel indítottam a modellt, azaz a BAA állapotból. A 3.3 Ábra alapján könny belátni, miért csak négy görbét látunk. Ebb l az állapotból nem tudunk 17
eljutni ABA, BAB, AAB és ABB egyikébe sem, így azok azonosan nullák lesznek. Tehát annak a valószín sége, hogy a rendszer ezekben az állapotokban ér véget, 0. Mindegyik képen (a baloldaliakon) a két kék görbe tartozik a két végállapothoz. A 3.4 Ábrán ahol τ = γ a két kék görbe közti különbség nem meglep, hiszen annak nagyobb az esélye, hogy egyetlen B csúcsból A lesz, mint hogy két A csúcs vált B-re. A 3.5 Ábrán a baloldali grakonon τ hiába nagyobb, mint γ, mégis az AAA végállapotnak lesz nagyobb a valószín sége, hiszen a rendszer nagyobb eséllyel mozdul el AAA felé, mint a BBA állapothoz. Ezzel magyarázható a 3.6 Ábrán az x 0 és x 7 görbék közötti nagy távolság. A jobboldali képeken az x 5 (0) = 1, x k = 0, ha k 5 állapotból indítottam a modellt, azaz a BAB állapotból. Szintén a két kék görbe a két végállapot, hiszen a rendszer törekszik az egyensúlyi helyzetre. Mindhárom jobboldali ábrán már hét görbének kellene lennie, hiszen csak a ABA állapotba nem tud eljutni a rendszer. Mégis csupán öt görbe látszik mindenhol, aminek oka a lehetséges állapotváltozásokat bemutató 3.3 Ábra szimmetrikussága miatt könnyen belátható. Az x 1 és x 3, valamint az x 4 és x 6 állapotokhoz tartozó valószín ségek megegyeznek, hiszen láthatjuk, hogy a BAB állapotból ugyanakkora valószín séggel mozdul el a rendszer a BBA és az ABB irányába. Ugyancsak a szimmetriával magyarázható a BBA és ABB állapotok valószín ségének egyezése is. A három jobboldali kép közül talán a legérdekesebb a γ = τ eset (3.4 Ábra), ahol a két végállapot valószín sége megegyezik. Itt is a 3.3 Ábra alapján végiggondolható, hogy ha a rendszer az ABB vagy a BBA állapotba jut, és onnan BAA vagy AAB valamelyikébe, akkor a két el bb említett állapotból BBB-be és a két utóbbiból AAA-ba az eljutások valószín sége megegyezik. 3.3. Három csúcsú teljes gráf Ebben a fejezetben az N = 3 csúcsú teljes gráf lehetséges állapotváltozásainak dierenciálegyenleteit fogjuk vizsgálni. Itt is 2 3 állapot lehetséges, az állapottér S = {AAA, BAA, ABA, AAB, BBA, BAB, ABB, BBB}, melyet a 3.7 Ábra szemléltet. Az egyes állapotok valószín ségét a t id pontban jelölje (x 0 (t), x 1 (t), x 2 (t), x 3 (t), x 4 (t), x 5 (t), x 6 (t), x 7 (t)). 18
3.7. ábra. A három csúcsú teljes gráf lehetséges állapotai és állapotváltozásai. A 3.7 Ábrán a középs sávban a felfelé mutató nyilak γ, a lefelé mutató nyilak 2 pedig τ rátákat jelentenek. A két végállapot kivételével minden csúcsból eljuthatunk 2 mindenhova, az állapotváltozásokat szemléltet ábra szimmetrikus. Nézzük meg, hogyan történik az x 1 x 4 ráta kiszámítása. Egy B csúcsból lesz A, ebb l adódik a γ paraméter, tehát a (2.2) képletet kell alkalmaznunk. A változó csúcsnak egy eltér és egy azonos nézeteket valló szomszédja van, így γ együtthatója 1. Az x 2 5 x 7 változás rátája is hasonlóképpen számítható, itt azonban egy A csúcsból lesz B, így a (2.2) képletet kell használnunk. Mivel mindkét szomszédja t le eltér vélemény, így τ együtthatója 1 1 = 1 lesz. A (3.1) képlet és a 3.7 Ábra alapján írjuk fel a dierenciálegyenleteket. ẋ 0 (t) = γ(x 1 (t) + x 2 (t) + x 3 (t)) (3.18) ẋ 1 (t) = γ 2 (x 4(t) + x 5 (t)) (γ + τ)x 1 (t) (3.19) ẋ 2 (t) = γ 2 (x 5(t) + x 6 (t)) (γ + τ)x 2 (t) (3.20) ẋ 3 (t) = γ 2 (x 4(t) + x 6 (t)) (γ + τ)x 3 (t) (3.21) 19
ẋ 4 (t) = τ 2 (x 1(t) + x 3 (t)) (γ + τ)x 4 (t) (3.22) ẋ 5 (t) = τ 2 (x 1(t) + x 2 (t)) (γ + τ)x 5 (t) (3.23) ẋ 6 (t) = τ 2 (x 2(t) + x 3 (t)) (γ + τ)x 6 (t) (3.24) ẋ 7 (t) = τ(x 4 (t) + x 5 (t) + x 6 (t)) (3.25) Ahogyan a két csúcsú teljes gráfnál, itt is szimmetrikus a dierenciálegyenletrendszer. Vonjuk össze a (3.18) (3.25) egyenleteket a következ képpen: legyen y 1 = x 1 + x 2 + x 3 és y 2 = x 4 + x 5 + x 6. Nézzük meg, hogyan alakul a rendszer az egyesítés közben. Az els és utolsó egyenlettel könny dolgunk van, ezek a következ k: ẏ 0 = γy 1, ẏ 3 = τy 2. Most vizsgáljuk meg a (3.19) (3.21) és (3.22) (3.24) egyenleteket. Ezeket összeadva kapjuk, hogy ẋ 1 + ẋ 2 + ẋ 3 = γ(2 x 4 + 2 x 5 + 2 x 6 ) 2 ẋ 4 + ẋ 5 + ẋ 6 = τ(2 x 1 + 2 x 2 + 2 x 3 ) 2 (γ + τ) (x 1 + x 2 + x 3 ), valamint (γ + τ) (x 4 + x 5 + x 6 ). Elvégezve az egyszer sítést és alkalmazva a fent megadott megfeleltetéseket kapjuk az alábbi lehetséges állapotváltozásokat és egyenletrendszert. 3.8. ábra. Lehetséges állapotváltozások három csúcsú teljes gráf esetén. A középs két állapotnál az összevonás miatt nem vesszük gyelembe az A illetve B csúcsok sorrendjét. ẏ 0 (t) = γy 1 (t) (3.26) ẏ 1 (t) = γy 2 (t) (γ + τ)y 1 (t) (3.27) ẏ 2 (t) = τy 1 (t) (γ + τ)y 2 (t) (3.28) ẏ 3 (t) = τy 2 (t) (3.29) A dierenciálegyenlet-rendszer egyszer sége miatt ez könnyen megoldható, ám már N = 4-re is sokkal nehezebb dolgunk lenne. Az egyszer sítéssel viszont sikerült lecsökkenteni az egyenletek számát N + 1-re, ami lényegesen kevesebb, mint a fent 20
említett 2 N. Fontos megjegyezni, hogy összevonni csak teljes gráfoknál lehet, a kett hosszú útnál ezért nem tudtuk leegyszer síteni az egyenletrendszert. Most nézzük meg, hogyan viselkednek a megoldások az id függvényében, és a két paraméter (τ és γ) különböz megválasztásai esetén. A rendszert az y 1 (0) = 1, y k = 0, ha k 1 (AAB állapot), illetve y 2 (0) = 1, y k = 0, ha k 2 (ABB állapot) kezdeti feltételek mellett érdemes indítani, hiszen ha a két végállapot valamelyikéb l tennénk ezt, akkor nem tudna kimozdulni onnan. Az alábbi három ábra mindegyikén annak valószín ségét, hogy a rendszer az adott állapotban van, a következ megfeleltetések jelölik: y 0 sötétkék, y 1 zöld, y 2 piros és y 3 világoskék. Legyen τ = γ = 1. Vizsgáljuk meg, hogy mi történik, amikor az y 1 illetve az y 2 kezdeti állapotokból indítjuk a dierenciálegyenleteket. 3.9. ábra. A (3.26) (3.29) dierenciálegyenlet-rendszer megoldása τ = γ esetén, bal oldalon y 1 -b l, jobb oldalon y 2 -b l indítva a modellt. (y 0 sötétkék, y 1 zöld, y 2 piros és y 3 világoskék) A két ábra látszólag ugyanaz, ám ha jobban megvizsgáljuk, a világoskék és sötétkék, valamint a piros és zöld görbék felcserél dtek. Mindkét grakonon a sötétkék függvény mutatja az AAA, a világoskék pedig BBB végállapot valószín ségét. Felcserél désük nem meglep, hiszen ha a kezdeti állapotban két A és egy B csúcs van, akkor τ = γ esetén a csupa A gráfnak nagyobb az esélye. Tekintsük a τ = 1.5 és γ = 1 esetet. A 3.10 Ábrákon a sötétebb kék görbe tartozik a csupa A végállapothoz, a világoskék pedig a csupa B-hez. Amikor az AAB 21
állapotból indítjuk a feladatot, annak ellenére, hogy az A-ról B-re történ váltás valószín bb, mégis a csupa A végállapot esélye a nagyobb. Ez azzal magyarázható, hogy egy B csúcs könnyebben vált A-ra (mivel mindkét szomszédja hat rá), mint a két A csúcs B-re. Hasonlóképpen magyarázható az ABB állapotból indított dierenciálegyenlet-rendszer megoldásának grakonja. Itt éppen amiatt, hogy a τ > γ, a csupa B végállapot valószín sége sokkal nagyobb, mint a másiké. 3.10. ábra. A (3.26) (3.29) dierenciálegyenlet-rendszer megoldása τ = 1.5 és γ = 1 esetén, bal oldalon y 1 -b l, jobb oldalon y 2 -b l indítva a modellt. (y 0 sötétkék, y 1 zöld, y 2 piros és y 3 világoskék) Nézzük meg, mi történik τ = 1, illetve γ = 1.5 esetén. Logikusan végiggondolva azt várhatjuk, hogy ugyanaz fog történni, mint a 3.10 Ábrán, csak éppen fordítva. 22
3.11. ábra. A (3.26) (3.29) dierenciálegyenlet-rendszer megoldása τ = 1 és γ = 1.5 esetén, bal oldalon y 1 -b l, jobb oldalon y 2 -b l indítva a modellt. (y 0 sötétkék, y 1 zöld, y 2 piros és y 3 világoskék) Ha összehasonlítjuk a 3.10 és 3.11 ábrákat, minden görbe felcserél dött. 3.4. Dierenciálegyenletek általánosítása a négy csúcsú teljes gráfból A három csúcsú teljes gráf lehetséges állapotváltozásainak dierenciálegyenlet-rendszerének felírása ((3.26) (3.29)) még közel sem olyan bonyolult, hogy ne lehetne akár papíron is megoldani. Ám ez már a négy csúcsú gráfnál is sokkal id igényesebb. Felmerülhet bennünk, hogy általánosítani kellene a dierenciálegyenleteket. A 3.12 Ábrán a 4 csúcsú teljes gráf lehetséges állapotváltozásait gyelhetjük meg az összevonás után: 3.12. ábra. A 4 csúcsú teljes gráf lehetséges állapotai és állapotváltozásai. Hosszas számolás után a négy csúcsú teljes gráfhoz tartozó egyenletek a (3.1) 23
képlet alapján a következ k: y 0 (t) = γy 1 (t) (3.30) y 1 (t) = 4 3 γy 2(t) (γ + τ)y 1 (t) (3.31) y 2 (t) = τy 1 + γy 3 (t) 4 3 (γ + τ)y 2(t) (3.32) y 3 (t) = 4 3 τy 2(t) (γ + τ)y 3 (t) (3.33) y 4 (t) = τy 3 (t) (3.34) Egy-egy állapot csak az eggyel el tte, illetve eggyel utána lév t l, valamint önmagától függhet. Tehát ha az éppen aktuális gráfban két A és két B csúcs van, akkor az nem függhet például a csupa A állapottól, vagyis az egyes dierenciálegyenletek változói adottak. A kérdés az, hogy milyen együtthatóval fognak szerepelni az egyenletben. Mind a három, mind a négy csúcsú teljes gráfokhoz tartozó egyenleteken észrevehet a szimmetria, tehát egy Q R (N+1) (N+1) tridiagonális mátrixot keresünk, amelyet jobbról megszorozva y = (y 0, y 2,..., y N ) vektorral megkapjuk a dierenciálegyenletrendszert. Feladatunk tehát Q meghatározása. Vegyük észre, hogy ẏ 0 mindig csak y 1 -t l, ẏ N pedig csak y N 1 -t l függ, természetesen a megfelel rátákkal megszorozva. Az együttható mindig 1 lesz. Nézzük a B A A A A A A A állapotváltozást. Itt egy B csúcsból lesz A, így a ráta γ. A B csúcshoz tartozó d érték ebben az esetben 3 = 1, mivel három darab t le eltér érdekeltség szomszédja 3 van, ami éppen megegyezik az összes szomszédjának számával. Ugyanígy belátható a változás is. Most tekintsük a A B B B B B B B B A A A B B A A változást. Mivel A csúcsból lesz B, a ráta τ. A megváltozott A csúcshoz tartozó d 24
érték 1, ugyanis a három szomszédja közül egyetlen olyan van, amelyik vele ellentétes 3 típusú. A négy csúcsú teljes gráfhoz tartozó Q mátrix tehát a (3.1) Kolmogorov dierenciálegyenletének képlete és a (3.2) képlet alapján 0 γ 0 0 0 4 0 (τ + γ) τ 0 0 3 Q = 0 τ 4 (τ + γ) γ 0 3 4 0 0 τ (τ + γ) 0 3 0 0 0 τ 0 alakban írható fel. (Ennek meghatározásához még az összevonás el tti összes lehetséges állapotot tartalmazó ábrát használtam, amelyet bonyolultsága és átláthatatlansága miatt nem tettem bele a szakdolgozatba.) Ezt a mátrixot jobbról megszorozva y(t) = (y 0 (t), y 2 (t), y 3 (t), y 4 (t)) vektorral megkapjuk a dierenciálegyenlet-rendszert az ẏ(t) baloldallal. A továbbiakban rátérünk az általános, N csúcsú teljes gráfokhoz tartozó folyamat dierenciálegyenleteinek felírására. Jelölje k a B csúcsok számát az adott állapotban, valamint N továbbra is az összes csúcs számát. Ekkor az általános képlet a dierenciálegyenletre: y k = τy k 1 + γy k+1 (γ + τ)y k, ahol -gal jelöltem az egyel re ismeretlen együtthatókat. Vizsgáljuk meg a k = 2, N = 4 esetet, vagyis y 2 = τy 1 + γy 3 4(γ + τ)y 3 2. 1. y 1 együtthatója: ez jelen esetben 1. Nézzük meg, mib l adódik ez a szám. Az y 1 y 2 változásnál egy A csúcsból B lesz (ebb l kapjuk a τ szorzót). Az y 1 állapotnál 3 darab A van, melyek mindegyike 1 valószín séggel átválthat B-re. 3 Általánosan: 1 = k 1. A 3 pedig a vele ellentétes típusú szomszédok számából 3 N 1 jön ki, ami N (k 1). 2. y 3 együtthatója: ez szintén 1, a változás pedig y 3 y 2. Itt, az el z ekt l eltér en egy B csúcsból lesz A, tehát a ráta γ. Az y 3 állapotban 3 darab B van, melyek valamelyike vált, mindegyik 1 3 eséllyel. Általánosan: 1 3 = N (k+1) N 1 és 3 = k + 1, hiszen mindhárom B csúcs válthat. 3. y 2 együtthatója: itt az y 2 állapotból kifelé vezet nyilakat kell megvizsgálni. Ezekb l kétféle lehet: y 1 és y 3 felé mutatók. y 2 y 1 állapotváltozás: egy B 25
csúcsból A lesz, így a ráta γ. A váltás valószín sége 2, hiszen két eltér preferenciájú és összesen három szomszédja van mindkét B-nek, és mivel két 3 csúcs válthat, az együtthatót meg kell szorozni még 2-vel. Az y 2 y 3 állapotváltozásnál ugyanez a levezetés és az együttható, csak ott a ráta τ. Általánosan: k, és ez szorozva annyival, ahány csúcs válthat, vagyis (N k)-val. N 1 Összefoglalva: legyen N (k 1) a k = (k 1)τ, k = 1, 2,..., N, N 1 (3.35) b k = N k k(τ + γ), k = 0, 1,..., N és N 1 (3.36) N (k + 1) c k = (k + 1)γ, k = 0, 1,..., N 1 N 1 (3.37) Ekkor az Q mátrix a következ : b 0 c 0 0 0 a 1 b 1 c 1 0 Q = 0 a 2 b 2 c 2..... 0 0 a N b N Ez a mátrix éppen a megfelel helyeken fogja beszorozni az y(t) vektort. Vegyük észre, hogy a Q mátrix oszlopösszege minden esetben nulla: N k N 1 kτ + N k N 1 kγ N k k(τ + γ) = 0, N 1 azaz b k = a k+1 + c k 1. Ezt és a fenti a k, b k és c k együtthatókat felhasználva kapjuk, hogy ẏ(t) = Qy(t) egyenletrendszer az alábbi általános alakban írható fel: ẏ 0 = c 0 y 1 (t) ẏ k = a k y k 1 (a k+1 + c k 1 ) y k + c k y k+1 ẏ N = a N y N 1. 26
4. fejezet A dierenciálegyenletek és a szimuláció összehasonlítása Az el z két fejezetben külön-külön foglalkoztam a szimulációval és a dierenciálegyenletekkel. Most vizsgáljuk meg, hogyan is tudnánk összehasonlítani ezeket. A dierenciálegyenletek valószín ségeket határoznak meg, a szimuláció pedig a B csúcsok számát, mindkett az id függvényében. Alakítsuk át tehát az egyenleteket úgy, hogy immár használható információt kapjunk a B csúcsok számáról. Mint azt már említettem, a dierenciálegyenleteket Matlab segítségével oldottam meg (ode45). A megoldó eredménye egy A R m (N+1) mátrix, ahol N a gráf csúcsszáma, m = tmax pedig a numerikus módszer lépésszáma. a h ij annak a valószín sége, hogy a rendszer az i. id pillanatban a j. állapotban van, vagyis j darab B csúcs van a gráfban (a többi A). Ha ezt a mátrixot megszorozzuk jobbról egy q = (0, 1,..., N) oszlopvektorral, akkor megkapjuk a B csúcsok számának várható értékét. És éppen ez volt a célunk, most már össze tudjuk hasonlítani a pontos megoldást a szimuláció eredményével. A dierenciálegyenleteket teljes gráfokra tudjuk csak általánosítani, így az összehasonlításban a szimulációt is erre kell futtatnunk. A 4.1 Ábrán a τ > γ illetve a τ < γ eseteket fogjuk látni, feketével a pontos megoldást, szürkével pedig a szimulációt. El ször nézzük meg a 3.3. Fejezetben szerepl három csúcsú teljes gráfot. 27
4.1. ábra. A szimuláció és a dierenciálegyenlet-rendszer összehasonlítása három csúcsú gráf esetén. A baloldali ábrán τ = 1.5, γ = 1, a jobboldalin τ = 1 és γ = 1.5 A tesztelés során 300 szimuláció átlagát ábrázoltam, t max = 6, t = 0.00001. A kezd állapot AAB, y 1 (0) = 1, y 0 (0) = y 2 (0) = y 3 (0) = 0. Szimuláció: szürke, dierenciálegyenlet: fekete. Mindkét ábrán látszik, hogy a szimuláció és a dierenciálegyenlet megoldása közötti eltérés nagyon kicsi (a legnagyobb is körülbelül 0.1). Most tekintsük meg a 100 csúcsú teljes gráfon, hogy mennyiben tér el egymástól a szimuláció és a dierenciálegyenlet. A 4.2 Ábrán látszik, hogy kezdetben csupán három darab B csúcs volt. 4.2. ábra. A szimuláció és a dierenciálegyenlet-rendszer összehasonlítása 100 csúcsú teljes gráfon τ = 1.5 és γ = 1 esetben. Kezdeti állapot: 3 darab B csúcs, 97 darab A. A szürke vastag görbe a szimuláció, a fekete pedig a dierenciálegyenlet megoldása. A szürke, szimulációhoz tartozó görbe szépen követi a dierenciálegyenlet fekete görbéjét, amely beáll a B csúcsok számának várható értékére. A modellt t max = 28
30, t = 0.0001 valamint a fent említett γ és τ paraméterekkel futtattam, 300 szimulációt átlagoltam. A 4.3 Ábrán a ráták felcserél dése, vagyis τ < γ miatt azt várjuk, hogy a kezdetben megadott B csúcsok száma csökkenni fog, így érdemes nagyobb értéket adni neki. Itt 97 darab B csúcs a kezdeti érték. 4.3. ábra. A szimuláció és a dierenciálegyenlet-rendszer összehasonlítása 100 csúcsú teljes gráfon τ = 1 és γ = 1.5 esetben. Kezd állapot: 97 darab B és 3 darab A csúcs. A szürke vastag görbe a szimuláció, a fekete pedig a dierenciálegyenlet megoldása. A B csúcsok száma csökken, és szintén a várható értékre áll be végül. A szimulációt ebben az összehasonlításban is a fenti paraméterek mellett teszteltem. Mindkét esetben közel van egymáshoz a szimuláció és a pontos megoldás görbéje. Az 4.4 Ábrán a két ráta egyenl, τ = γ. Ekkor a szimuláció grakonja rezeg, mivel egy sztochasztikus folyamatot ábrázolunk, amelynek van ingadozása. 29
4.4. ábra. A szimuláció és a dierenciálegyenlet-rendszer összehasonlítása a τ = γ = 1 esetben. A kitérése mégsem számottev, 2.5 és 3.3 között mozog, ami igen jó eredménynek mondható. 30
5. fejezet Összefoglalás Szakdolgozatom célja az volt, hogy bemutassam, hogyan terjed az információ különböz hálózatokon, és ezek hogyan befolyásolják a rendszer lefolyását. Ezt a voter modellel tettem, mely kétféle vélemény terjedését vizsgálja. Erre írt szimulációmmal közelít eredményeket kaptunk. Ezeket négy különböz gráfon teszteltem, és megvizsgáltam, hogy a hálózat szerkezete hogyan befolyásolja az információ vagy vélemény terjedését. A dierenciálegyenletek felírásával, amelyek az id függvényében mutatják be a modellt, pontos eredményeket kaptunk. A sok ismeretlenes rendszerek kiküszöbölésére a hálózat szimmetrikusságát kihasználva a teljes gráfokon alkalmazott összevonásokkal egyszer bb alakra hoztuk az egyenletrendszereket, amely állapotterének elemszáma így 2 N -r l N + 1-re csökkent. Ez persze csupán teljes gráfokon tehet meg. Ezek átalakítása után már össze tudtuk hasonlítani az egyenletek numerikus megoldását a szimulációval. Láttuk, hogy egy alkalmas t megválasztással a szimulációval is közel pontos eredményt érhetünk el. Következ célnak megfogalmazható, hogy valahogyan a véletlen gráfokon is csökkenteni lehessen a rendszerben szerepl dierenciálegyenletek számát. 31
Irodalomjegyzék [1] Assar Lindbeck, Jörgen Weibull, "Balanced-budget redistribution as the outcome of political competition", Public Choice 52.3, 1987, 273-297 [2] Samuel Karlin, Howard M. Taylor, Sztochasztikus folyamatok, Gondolat Kiadó, Budapest, 1985 (1., 2. és 4. fejezet) [3] Csiszár Vill, Diszkrét és folytonos paraméter Markov láncok (http://www.cs.elte.hu/ villo/ml/ml.pdf) [4] Michelberger Pál, Szeidl László, Várlaki Péter, Alkalmazott folyamatstatisztika és id sor-analízis, Typotex Kiadó, Budapest, 2001 [5] Krzysztof Suchecki, Víctor M. Eguíluz, Maxi San Miguel, "Voter model dynamics in complex networks: Role of dimensionality, disorder, and degree distribution." Physical Review E 72.3 (2005): 036132. [6] Vishal Sood, Sidney Redner, "Voter model on heterogeneous graphs." Physical Review Letters 94.17 (2005): 178701. [7] https://en.wikipedia.org/wiki/probabilistic_voting_model [8] David Easley and Jon Kleinberg, Networks, crowds, and markets: Reasoning about a highly connected world, Cambridge University Press, 2010, 650-658 [9] Henk C.Tijms, A First Course In Stochastic Models, Wiley 2003 [10] http://www.cs.elte.hu/ aaadrian/notes/stochproc.pdf 32