Összetett hálózatok a híradástechnikában Horváth Árpád <horvath.arpad@arek.uni-obuda.hu> 03. december 4.. Híradástechnikai példák. példa: A telefonhálózat El ször minden telefont összekötöttek. Kés bb telefontközpontok (Puskás Tivadar, Bell), majd azok hierarchikus rendszere. Telefonvonalak terheltsége A telefonvonalak terheltségében egy másik hálózatnak van szerepe, a telefonálók hálózatának, ki kivel milyen gyakran telefonál. A tarifák meghatározásánál ezt is érdemes gyelembe venni.. példa: Internet 950-es évek, hidegháború, amerikai védelmi minisztérium (DoD) igény atombombát túlélni képes irányítási hálózatra Paul Baran javaslata, csomagkapcsolat megoldás a h b c d e f AT&T javaslatára elvetették, csak 968-ban alkottak ilyet. Az Internet fejl dése már nem központilag irányított. g
Internet: autonóm rendszerek Az Internet sok független hálózat által alkotott nagyobb hálózat. Ezek a független hálózatok saját maguk határozzák meg, hogy belül hogyan juttatják célba a csomagokat az útválasztóik (router). A teljes Interneten egy azonosítóval rendelkeznek, ezalapján történik a csomagokat. Szabványos protokoll írja le, hogyan történik a megállapodás a csomagok továbbítási irányáról. Egy üzenet egyes csomagjai külön-külön útvonalon is utazhatnak. Az Internetet autonóm-rendszerek szintjén fogjuk vizsgálni laboron: egy csúcs egy autonóm rendszer. Az Internet kialakulásáról és az autonóm rendszerekr l b vebben például Tanenbaum-Whetherall: Számítógép-hálózatok könyvében olvashatnak. 3. példa: Web A Világháló az Internet egyik alkalmazása. Az eddig említett hálózatokkal szemben irányított: a hivatkozott és a hivatkozó oldal szerepe eltér a kapcsolatban. Az európai részecskezikai kutatóközpontban, a CERN-ben fejlesztette ki Tim-Berners Lee 989- ben. 999-ben Barabási Albert-Lászlóék vizsgálták a szerkezetét, és megállapították annak skálafüggetlen (nemsokára lesz) jellegét. Laborgyakorlat A laboron a Python nyelv igraph és cxnet moduljával fogunk vizsgálni hálózatokat. Most csak az elméletét érintjük kisebb hálózatok példáján. Ugyancsak a Python nyelv felhasználásával fogunk megismerkedni a digitális információátviteli lánccal (tömörítés, hibajelzés/hibajavítás), harmonikus függvények összetételével, és a jelek spektrumával. Érdemes lehet otthon a Pythonnal ismerkedni. 3-as verzióval. (pl. 3.3.3-as) python.org. Alapfogalmak.. Hálózatok, távolság, átmér, komponens Összetett hálózatok Nagyobb gráfok összetett tulajdonságokkal. csúcs él 5 fokszámú csúcs csomópont (nagy fokszám)
Összetett hálózatok (complex networks) Hálózatok gráfok, vagy azok id ben változó sorozata Összetett hálózatok: szerkezetük nem írható le egyszer en. Példák hálózatokra hálózat csúcsok él van ha... ir. ismeretségi h. személyek találkoztak Világháló weboldalak van köztük link Internet routerek van vezeték közöttük cikkek h. cikkek hivatkozik a másikra fehérjeh. fehérjék közös kölcsönhatásban részt vesznek szavak h. szavak ha szerepelnek együtt a szinonímaszótárban színészek h. színészek szerepeltek közös lmben Átmér Útvonal hossza, a benne szerepl élek száma. Az 04 53 út hossza. Két csúcs távolsága: a közöttük vezet legrövidebb út hossza. d(, 3) = mert van közöttük három hosszúságú út, de rövidebb nincsen. 0 3 4. deníció. Hálózat átmér je Határozzuk meg az összes csúcspár esetén a köztük lév távolságot. Ezeknek a távolságoknak a maximuma a hálózat átmér je. D = max d(i, j) i j 5 Átmér b b c c a a d e d e f D =. Bármelyik kett távolsága legfeljebb 4, és az alsó és fels között pontosan annyi. f D =. Bármelyik kett között mehetünk a középen lév n keresztül kett hosszúságún, de egy hosszúságú út nincsen például az alsó és a fels között. Átmér 3
a h b c d e D =. f g Komponensek Irányítatlan hálózaté 6 3 8 4 5 7 A hálózat három (összefügg ) komponenst tartalmaz: egy komponensbe tartoznak azok a csúcsok, amelyek között van útvonal. Komponensek Irányított hálózaté 6 3 8 4 5 7 A hálózat három gyengén összefügg komponenst tartalmaz: ennél nem vesszük gyelembe a csúcsok irányát. Az azonosan színezett csúcsok egy er sen összefügg komponensbe tartoznak: itt bármely csúcsból a nyilak irányában el kell tudni érni bármelyik másikat... A fokszámok, skálafüggetlenség, hálózatmodellek A fokszám. deníció. A hálózat egy csúcsának fokszáma (degree) alatt a hozzá csatlakozó élek számát értem. Ha nem engedek meg többszörös éleket és a kiinduló csúcsba visszatér hurokéleket, akkor ez a szomszédok számát is megadja. Irányított hálózatok esetén külön értelmezhetünk befokszámot (a nyilak hegyét számoljuk meg), és kifokszámot a nyilak kezd pontját számoljuk meg. 4
5 6 7 8 3 4 5 6 7 8 3 4 k be,7 = k ki,7 = k 7 = Kapcsolat a hálózatok alapvet tulajdonságai között Az éleknek kép végpontja van, tehát minden egyes él kett csúcs fokszámát növeli meg. Az átlagos fokszám: Be-fokszám esetén az átlagos fokszám: Ki-fokszám esetén szintén. k = M N k be = M N Példák 5 6 7 8 Mekkora az ábrán látható hálózatban az átlagfokszám, az átlagos kifokszám és az átlagos befokszám, a maximális és minimális fokszám, 3 4 a maximális befokszám és maximális kifokszám? Erd s Pál és Rényi Alfréd Véletlen hálózatok Véletlen hálózatok Erd s Pál és Rényi Alfréd vizsgálta 959-t l. 5
Véletlen hálózatoknál adott egy N csúcsszám és egy p valószín ség. Végigmegyek az összes csúcspáron és p valószín séggel élt húzok közéjük. Élek száma és átlagfokszám a véletlen hálózatokban Ha a hálózat teljes hálózat lenne, benne M teljes = N(N ) él lenne. (Minden csúcsból N él, de akkor mindet kétszer számoltam.) Élek várható száma a véletlen hálózatban: E(M v ) = p N(N ) p N ha N nagy Az átlagfokszám várható értéke: E( k ) = p(n ) p N ha N nagy Az utóbbi összefüggés kétféleképpen is származtatható. Az egyszer bb módszer, hogy megnézzük hány él futhatna ki maximálisan egy csúcsból: ha teljes lenne a hálózat, akkor egy csúcs az összes többi N csúccsal össze lenne kötve. Ha p valószín séggel választjuk ki az éleket, akkor nyilván p(n ) fog ezek közül létezni átlagosan, így az átlagfokszám ennyi lesz. A másik lehet ség, ha az átlagfokszám kiszámításának k = M/N képletébe behelyettesítem a várható értékét az élek számának a véletlen hálózatban. A fokszámeloszlás 3. deníció. A p(k) fokszámeloszlás (degree distribution) egy olyan függvény, amely az egyes k fokszámokhoz hozzárendeli annak a valószín ségét, hogy egy véletlenszer en kiválasztott csúcs k fokszámú, azaz p(k) = P rob(véletlen csúcs fokszáma = k) Példák 5 6 9 7 8 0 3 4 Megoldás a végén. Az ábrán látható hálózat fokszámeloszlása: k N k p(k) 0 3 4 5 6 7 Két hálózatmodell eloszlása (darabszám) 6
Két eltérő modellből származó hálózat fokszámeloszlása Barabási-Albert modell (m=3) Erdős-Rényi modell (p=0,006) p(k) valószínűség 0-0 - 0-3 csúcsok száma 0000 átlagos fokszám kb. 6 0-4 0 0 0 0 0 3 k fokszám A valódi hálózatoknál általában nem az Erd srényi modell fokszámeloszlását tapasztalták. Az eloszlás fontos lehet a hálózaton történ folyamatok (vírusterjedés, meghibásodás, célzott támadás, hírek terjedése) és hatásaik szempontjából. Vajon hogyan jön létre egy hálózat? A hálózatok kialakulása. A hálózat növekszik.. Népszer ségi csatlakozás: a nagyobb fokszámú csúcshoz nagyobb valószín séggel csatlakoznak. A BarabásiAlbert modell szerint egy tetsz leges kezd hálózatból indulunk ki. Minden lépésben egy új csúcs keletkezik, és adott m számú éllel kapcsolódik a régi csúcsokhoz. A kapcsolódás valószín sége arányos a fokszámmal. Barabási Albert-László, a Behálózva cím könyve és Albert Réka 7
Az élek száma a BA-modellben A BarabásiAlbert-modellben az élek száma minden lépésben m-mel növekszik. Ha kezdetben N 0 csúcs volt, és M 0 él, akkor N N 0 lépést kellett végrehajtani, amiben (N N 0 )m él jött létre, tehát az élek száma M = M 0 + (N N 0 )m Ha a végén a csúcsok száma jóval nagyobb, mint kezdetben, akkor jó közelít értéket kaphatunk az képletb l. M m N Tehát az átlagos fokszám k = M N m Ez nem meglep, hiszen minden lépésben m élvég jön létre..3. Az összegzett fokszámeloszlás Az összegzett fokszámeloszlás 4. deníció. A P (k) összegzett fokszámeloszlás (cumulative degree distribution) egy olyan függvény, amely az egyes k fokszámokhoz hozzárendeli annak a valószín ségét, hogy egy véletlenszer en kiválasztott csúcs fokszáma nagyobb vagy egyenl mint k, azaz Kevésbé ugrál nagy fokszámoknál. P (k) = P rob(véletlen csúcs fokszáma k) Ha az eredeti p(k) hatványfüggvény, akkor a P (k) is az lesz. A kitev eggyel kisebb abszolútérték lesz. A hatványfüggvény kétszer logaritmikus skálán egyenes. 8
Néhány hálózat összegzett fokszámeloszlása 0 0 0 0 0 0 0-0 -4 (a) matematikai együttmûködések 0 00 0-0 -4 (b) hivatkozások 0 00 000 0-0 -4 0-6 (c) World Wide Web 0-8 0 0 0 0 4 0 6 0 0 0 0 0 0 0-0 - 0-0 - 0-3 (d) Internet 0-0 -3 0-4 0 00 000 0 0 0 0 Az el z oldalon a következ k szerepelnek. Matematikusok együttm ködkése (közös cikkek), cikkek hivatkozásai, Világháló, Internet, elektromos hálózat, fehérjekölcsönhatások. A fentiek közül csak az elektromos hálózat nem skálafüggetlen. (Lineáris skála a vizszintes tengelyen.) Skálafüggetlen hálózatok (e) elektromos hálózat 0-0 -3 (f) fehérje kölcsönhatások 5. deníció. Skálafüggetlen hálózatoknak nevezzük azokat a hálózatokat, melyeknek a fokszámeloszlása hatványfüggvényt követ nagy fokszámok esetén: A hatványfüggvényre igaz egyedül: p(k) k γ P (k) k (γ ) f(c x) = c f(x) c, c R Ellenállóképesség. Véletlen meghibásodás: Ha véletlenszer en veszek el csúcsokat (pl. az Internet routereinek véletlen meghibásodása) a skálafüggetlen hálózatok sokáig egyben maradnak, nem esnek szét komponensekere, például az Internet érzéketlen a véletlen routermeghibásodásokkal szemben. A véletlen hálózatok hamarabb esnek szét.. Célzott támadás: Ha célzottan a legnagyobb fokszámú csúcsokat törlöm ki a skálafüggetlen hálózat hamar és rövid id alatt esik szét nagyon kicsi darabokra. A véletlen hálózatok tovább egyben maradnak. Egyik hatással szemben az egyik, másikkal szemben a másik ellenállóbb. Egyik sem tökéletes. 9
3. Az Ubuntu szoftvercsomagjai Az Ubuntu szoftvercsomagjai Az Ubuntu a GNU/Linux operációs rendszer egyik disztribúciója A Debianból származó deb szoftvercsomagokat használ A deb fájlok optikai diszkr l vagy Internetes tárolókból érhet ek el. Legtöbb csomag másikaktól függ, tehát irányított hálózatot alkotnak. apt csomagkezel rendszer: telepítés függ ségekkel együtt, eltávolítás, frissítés, keresés A csomagfügg ségi hálózat egy részlete vim-latexsuite vim-vimoutliner vim vim-common python.5 vim-runtime libgpmg libncurses5 libc6 Csomagok, amit l sok másik függ (nagy be-fokszám k in ) Átlagos be-fokszám: élek száma/csúcsok száma = 5,077. k in csomagnév megjegyzés 3 libc6 C standard könyvtár 330 libgcc C-fordító könyvtárai 309 libstdc++6 C++ standard könyvtár 696 libx-6 A grakus felület könyvtára 985 libglib.0-0 A GLIB könyvtár 940 zlibg Tömörít könyvtár 99 perl Perl programnyelv 865 libxext6 A grakus felület kiterjesztései 38 libgtk.0-0 A GTK grakus felület könyvtárai 96 python A Python nyelv :-) 0
Er sen összefügg komponensek (a második legnagyobb) libmono-posix.0-cil libmono-system.0-cil libmono-security.0-cil libmono-corlib.0-cil mono-runtime xserver-xorg-input-all mono-.0-gac mono-gac Mindegyikb l mindegyikbe el lehet jutni nyilak irányába. xserver-xorg-input-wacom xserver-xorg-input-evdev xserver-xorg-video-r8 xserver-xorg-video-mach64 xserver-xorg-video-vmware xserver-xorg xserver-xorg-input-synaptics xserver-xorg-video-geode xserver-xorg-video-s3 xserver-xorg-video-ati xserver-xorg-video-radeon xserver-xorg-video-i8 xserver-xorg-video-rendition xserver-xorg-video-siliconmotion xserver-xorg-video-sisusb xserver-xorg-video-chips xserver-xorg-video-tdfx xserver-xorg-core xserver-xorg-video-all xserver-xorg-video-trident xserver-xorg-video-openchrome xserver-xorg-video-mga xserver-xorg-video-nouveau xserver-xorg-video-s3virge xserver-xorg-video-fbdev xserver-xorg-video-vesa xserver-xorg-video-savage xserver-xorg-video-voodoo xserver-xorg-video-neomagic xserver-xorg-video-nv xserver-xorg-video-ark xserver-xorg-video-sis xserver-xorg-video-tseng xserver-xorg-video-i740 xserver-xorg-video-apm xserver-xorg-video-intel xserver-xorg-video-cirrus
4. Megoldások Az ábrán látható hálózat p(k) fokszámeloszlása: k N k p(k) 0 0, 0, 0, 3 3 0,3 4 3 0,3 5 0 0 6 0 0 7 0 0 0.3 0.5 p(k) 0. 0.5 0. 0 3 4 k