Önszerveződő adatbázisok

Hasonló dokumentumok
Összefoglalás és gyakorlás

Önszerveződő adatbázisok

További forgalomirányítási és szervezési játékok. 1. Nematomi forgalomirányítási játék

Betekintés a komplex hálózatok világába

Véletlen gráfok, hálózatok

A Barabási-Albert-féle gráfmodell

Tisztán kivehetı tendencia: kommunikációs hálózatok egyre bonyolultabbakká válnak Hálózat bonyolultsága

Statisztikai módszerek a skálafüggetlen hálózatok

Társadalmi és gazdasági hálózatok modellezése

WEB 2.0 tipikus szolgáltatások

SzA II. gyakorlat, szeptember 18.

Branch-and-Bound. 1. Az egészértéketű programozás. a korlátozás és szétválasztás módszere Bevezető Definíció. 11.

Mátrixjátékok tiszta nyeregponttal

Adatbázis rendszerek 7. előadás State of the art

FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI

Közösség detektálás gráfokban

Gráf-algoritmusok ERŐS / GYENGE KÖTÉSEK

Vajda Éva. Keresőoptimalizált üzleti honlap

Mesterséges Intelligencia MI

A lineáris programozás alapfeladata Standard alak Az LP feladat megoldása Az LP megoldása: a szimplex algoritmus 2018/

Hálózatok fejlődése A hatványtörvény A preferential attachment A uniform attachment Vertex copy. SZTE Informatikai Intézet

Tartalomjegyzék 3 Szerző 6 I. Bevezető 7 II. A keresőoptimalizálás alapjai 9 SEO vs Google Ads 9 Miért pont a Google? 12 Internetes keresők 12 Miért

A lineáris programozás alapfeladata Standard alak Az LP feladat megoldása Az LP megoldása: a szimplex algoritmus 2017/

Teljesítménymodellezés

Az információs műveltség fejlesztése A könyvtárak szemléletváltása és feladatai a 21. században

Programozási módszertan. Mohó algoritmusok

API-MÁGIA MILLIÓ SORNYI ADAT ÚJRARENDEZÉSE. Előadó: Jaksa Zsombor, drungli.com

Szociális hálózatok Gráf alapú módszerek. Adatbányászat. Klaszterezés Szociális hálózatok. Szegedi Tudományegyetem. Adatbányászat

Számítógépes döntéstámogatás. Genetikus algoritmusok

Markov-láncok stacionárius eloszlása

Komplex hálózatok: alapfogalmak, modellek, módszerek

10: Peer-To-Peer Hálózatok I. HálózatokII, 2007

Gépi tanulás a gyakorlatban. Lineáris regresszió

Adatszerkezetek 2. Dr. Iványi Péter

Megerősítéses tanulás 7. előadás

Király Zoltán, Kondé Zoltán, Kovács Antal, Lévai Annamária 2006

Közgazdaságtan I. 11. alkalom

Miért érdemes duplikált tartalmakkal és oldalakkal

Hidraulikus hálózatok robusztusságának növelése

Döntési rendszerek I.

Georg Cantor (1883) vezette be Henry John Stephen Smith fedezte fel 1875-ben. van struktúrája elemi kis skálákon is önhasonló

Navigáci. stervezés. Algoritmusok és alkalmazásaik. Osváth Róbert Sorbán Sámuel

Hogy keres a Google?

angolul: greedy algorithms, románul: algoritmi greedy

f(x) vagy f(x) a (x x 0 )-t használjuk. lim melyekre Mivel itt ɛ > 0 tetszőlegesen kicsi, így a a = 0, a = a, ami ellentmondás, bizonyítva

Gépi tanulás a gyakorlatban. Kiértékelés és Klaszterezés

Hálózati réteg. WSN topológia. Útvonalválasztás.

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT- 4. kurzus. 3. Előadás: A mohó algoritmus

Társadalmi és gazdasági hálózatok modellezése

Mesterséges intelligencia 2. laborgyakorlat

Alkalmazásokban. Dezsényi Csaba Ovitas Magyarország kft.

A VÁLTOZÓ VILÁG Tipping Points az információs- digitális- és média- forradalom

Szalai Péter. April 17, Szalai Péter April 17, / 36

1. feladatsor: Vektorterek, lineáris kombináció, mátrixok, determináns (megoldás)

Operációkutatás vizsga

Genetikus algoritmusok

A szimplex algoritmus

Dualitás Dualitási tételek Általános LP feladat Komplementáris lazaság 2017/ Szegedi Tudományegyetem Informatikai Intézet

Adott: VPN topológia tervezés. Költségmodell: fix szakaszköltség VPN végpontok

Konjugált gradiens módszer

Mesterséges Intelligencia MI

Számítógépes Hálózatok Felhasználói réteg DNS, , http, P2P

Felhasználói réteg. Számítógépes Hálózatok Domain Name System (DNS) DNS. Domain Name System

Megkülönböztetett kiszolgáló routerek az

Intelligens Rendszerek Elmélete IRE 4/32/1

11. Előadás. 11. előadás Bevezetés a lineáris programozásba

Társadalmi és gazdasági hálózatok modellezése

24. MINIMÁLIS KÖLTSÉGŰ UTAK I.

C programozási nyelv Pointerek, tömbök, pointer aritmetika

LINEÁRIS PROGRAMOZÁSI FELADATOK MEGOLDÁSA SZIMPLEX MÓDSZERREL

HELYES módosítható, olvashatóság. Válasz Felhasználói élmény, stílusos, egyéni megjelenés HIBAS

Rasmusen, Eric: Games and Information (Third Edition, Blackwell, 2001)

Csima Judit BME, SZIT február 18.

Algoritmuselmélet 18. előadás

Hierarchikus skálafüggetlen gráfok generálása fraktálokkal

Tudásalapú információ-kereső rendszerek elemzése és kifejlesztése

KERESÉS A NETEN DR. KÓNYA LÁSZLÓ: KERESÉS A NETEN KERESÉS MÓDSZERE, KERESŐPROGRAMOK

Fine-Grained Network Time Synchronization using Reference Broadcast

Az Internet. avagy a hálózatok hálózata

Algoritmusok Tervezése. 6. Előadás Algoritmusok 101 Dr. Bécsi Tamás

12. előadás - Markov-láncok I.

2008 IV. 22. Internetes alkalmazások forgalmának mérése és osztályozása. Április 22.

Kétszemélyes játékok Gregorics Tibor Mesterséges intelligencia

2015/ Szegedi Tudományegyetem Informatikai Intézet

HAMILTON KÖR: minden csúcson PONTOSAN egyszer áthaladó kör. Forrás: (

TOP SEO Trendek 2015-ben. We understand, we deliver.

A számítástudomány alapjai

BARANGOLÁS AZ E-KÖNYVEK BIRODALMÁBAN Milyen legyen az elektonikus könyv?

Hozzávalók keresése és csatolása

Biomatematika 2 Orvosi biometria

Teljesen elosztott adatbányászat pletyka algoritmusokkal. Jelasity Márk Ormándi Róbert, Hegedűs István

6. Függvények. Legyen függvény és nem üreshalmaz. A függvényt az f K-ra való kiterjesztésének

Online migrációs ütemezési modellek

Javító és majdnem javító utak

SZOFTVERES SZEMLÉLTETÉS A MESTERSÉGES INTELLIGENCIA OKTATÁSÁBAN _ Jeszenszky Péter Debreceni Egyetem, Informatikai Kar jeszenszky.peter@inf.unideb.

Bevezete s a ha ló zatók vila ga ba II.

Termelés- és szolgáltatásmenedzsment

MIKOVINY SÁMUEL TÉRINFORMATIKAI EMLÉKVERSENY

Számítógépes Hálózatok. 4. gyakorlat

Android Pie újdonságai

Átírás:

High Speed Networks Laboratory 1/40

Önszerveződő adatbázisok 1. Paradigmaváltás az adatbázisokban Megtervezett adatbázis Evolúció alkotta adatbázis 2. Önszerveződő adatbázis: struktúra, lekérdezés 3. Struktúra: a hálózatot meghatározó jellemzők Méret, átmérő Kisvilág tulajdonság Skálafüggetlen hálózatok Preferenciális kapcsolódás 4. Lekérdezés Lekérdezés önszerveződő adatbázisokban Internetes keresőmotorok működésének alapjai 2/40

Paradigmaváltás az adatbázisokban Mennyi zenét tárolsz a számítógépeden? Régen: rengeteg zene a számítógépen Hatalmas adatbázisban Viszonylag struktúrálva Most: Kevés zene a gépen, csak amire azonnal szükség van Túlnyomó részben: YouTube, Spotify, Tidal, Google, Egy struktúrálatlan halmazból keressük ki 3/40

Paradigmaváltás az adatbázisokban Eddig Relációs adatbázis Elosztott adatbázis Lekérdezés: erősen megnövelte a kommunikációs költségek részarányát az adatbázis-kezelés költségein belül Ötlet: próbáljuk meg az adatokat a felhasználás közelében elhelyezni. Osztott adatbázisok. Az osztott adatbázis egy fizikailag megosztott, de logikailag egységes adatbázis. 4/40

Amerre mozdul a világ: Megtervezett adatbázis evolúció alkotta adatbázis Elosztott adatbázisok: A kommunikációs költségek csökkenése. Mindenki a számára ismerős adatokat gondozza. Egy-egy csomópont kiesése esetén a többi adatai továbbra is elérhetőek. Lehetséges a moduláris tervezés, a rugalmas konfigurálás. Rugalmasabb adatstruktúra kell Önszerveződő adatbázisok: A kapcsolódást nem egy központi egység határozza meg A csomópontok saját maguk döntik el, hova kapcsolódnak 5/40

Önszerveződő adatbázisok 1. Paradigmaváltás az adatbázisokban Megtervezett adatbázis Evolúció alkotta adatbázis 2. Önszerveződő adatbázis: struktúra, lekérdezés 3. Struktúra: a hálózatot meghatározó jellemzők Méret, átmérő Kisvilág tulajdonság Skálafüggetlen hálózatok Preferenciális kapcsolódás 4. Lekérdezés Lekérdezés önszerveződő adatbázisokban Internetes keresőmotorok működésének alapjai 6/40

Mit az önszerveződő adatbázis? A szó tág értelmében Önszerveződő adatbázis = (struktúra,lekérdezés) Az adatbázis önszerevződő jellege meghatározza a kialakuló topológiát A topológia meghatározza, milyen a hatékony keresés Önszerveződő adatbázis példák: Internet Blogok Google Fordító Szocális hálózat P2P hálózat 7/40

Önszerveződő hálózat: Az Internet Általános értelemben: Nagy bonyolult hálózatok Hálózat komplexitása Sok csomópont Sok kapcsolat Heterogén csomópont típusok és kapcsolattípusok Tisztán kivehető tendencia: kommunikációs hálózatok egyre bonyolultabbakká válnak Az Internet fejlődési trendek Felhasználók számának drámai növekedése Kicsi mobil eszközök Szerteágazó szabványok, sok gyártó Heterogén eszközök Virtuális hálózatok fizikai hálózakon VPNs, virtual ISPs Milyen struktúra lakozik a komplexitás mögött? 8/40

Pillanatfelvételek A hálózatok dinamikusak Még jó, annyira gyorsan változnak az igények Jelenleg nincs lehetőség a dinamizmus vizsgálatára nagy léptékben Legtöbb adatbázis csak a pillanatnyi állapotot tárolja Ezért egy-egy elemzés csak egy pillanatfelvétel Előfordulnak statisztikai hibák Néha később módosított eredmények 9/40

Önszerveződő adatbázisok 1. Paradigmaváltás az adatbázisokban Megtervezett adatbázis Evolúció alkotta adatbázis 2. Önszerveződő adatbázis : struktúra, lekérdezés 3. Struktúra: a hálózatot meghatározó jellemzők Méret, átmérő Kisvilág tulajdonság Skálafüggetlen hálózatok Preferenciális kapcsolódás 4. Lekérdezés Lekérdezés önszerveződő adatbázisokban Internetes keresőmotorok működésének alapjai 10/40

Számunkra jelenleg lényeges paraméterek 1. Hálózat méret: Csomópontok száma Ezres, milliós, esetleg milliárdos méretek esetén lehet statisztikai adatokkal jól jellemezni egy hálózatot 2. Klaszterezettség: Csoportosulás mértéke A szomszéd node-jaim kapcsolódnak-e egymáshoz? Ha 1 akkor mindig, ha 0 akkor soha! 3. Átmérő: Kis átmérő, rövid utak, kisvilág jelleg Egy rácsban igen nagy átmérők lehetnek, míg pl. a teljes gráf átmérője 1. 4. Hasonlósági paraméter (γ): Mennyire hasonló a szerepük? (skálafüggetlen szerkezet) Ha a szám magas, akkor az egyének nagyon hasonlítanak, ha alacsony akkor (~ 2) akkor erősen eltérő szerepek vannak 5. Fokszámeloszlás: a csúcsok mekkora hányadának k a fokszáma? Egyenletes? Binomiális? Valami más? 11/40

Méret és átmérő Mekkora egy önszerveződő adatbázis? Csomópontok száma: néhány tíz milliárdok Mekkora az adatbázis átmérője? 1929: Karinthy Frigyes Láncszemek Hat lépés távolság 1967: Milgram kísérlet (a másik) Levélküldés nagy távolságra (szociológiai, földrajzi), véletlenszerűen választott emberek Információk a célszemélyről Személyes ismeretség esetén azonnal a célhoz Egyébként olyanhoz aki valószínűleg személyesen ismeri+levél a Harvardra 12/40

Milgram kísérlete (további részletek) Néha 1-2 lépés elég volt néha kilenc kellett 296 levélből 232 nem ért célba A maradékból az átlagos távolság 5.5-nek adódott (ellentmondott a tapasztalatokkal, és várakozásokkal) Az utolsó személy igen sokszor ugyanaz Legtöbbször gyorsan földrajzi közelbe értek, ahol köröztek, amíg rést nem találtak a célszemély belső köreibe Problémák Kevés célbeérkező levél Emiatt hosszabb láncok kevésbé vannak jelen (alábecslés) Többször ismételték 2002-ben e-mail verzió 2008, Microsoft.NET Messenger Service: 6.6 Hatlépésnyi távolság 13/40

Átmérő Példa: Rubik-kocka állapotai 14/40

Átmérő 15/40

The Anatomy of the Facebook Social Graph Ugander, Karrer, Backstrom, Marlow arxiv: 1111.4503v1 [cs.si] 2011. májusi állapot elemzése Aktív felhasználók: 1. Bejelentkezett a vizsgálatot megelőző 28 napban 2. Van legalább 1 ismerőse 721 millió aktív felhasználó (a Föld lakossága akkor 6.9 milliárd) 68.7 milliárd kapcsolat átlagosan 190 ismerős 16/40

Felhasználók közti átlagos távolság 4.7 lépés távolság USÁ-n belül: 4.3 Független tanulmány: átmérő ~40 Az átmérő önmagában megtévesztő 17/40

Csoportosulás mértéke A weboldalak jellemzően szoktak egymásra mutatni Minél több közös oldalra mutatnak, annál nagyobb valószínűséggel egymásra is Melyik tűnik hihetőbbnek mint weboldalak hálózata? Miért? 18/40

Klaszterezettségi együttható Globális: háromszögek száma C = tripletek száma a háromszögek számának aránya ahhoz képest, hogy mennyi lehetne C=1 Lokális: a kék csúcsra vonatkozóan c kék =1 c kék =1/3 c kék =0 C i = 2 szomszédok közötti élek N i (N i 1), ahol N(i) = #{i szomszédai} 19/40

Egy adatbázisban 20/40

Kisvilág-tulajdonság 21/40

Fokszámeloszlás A csúcsok mekkora hányadának k a fokszáma n k = hány k fokszámú csúcs van P(k) = n k, n a csúcsok száma n hisztogram 22/40

Fokszámeloszlás Binomiális Hatványfüggvény P k = n k pk (1 p) n k Véletlen hálózat Nyerőgép P k ~ k γ γ: Hasonlósági paraméter Önszerveződő hálózatok 23/40

Skálafüggetlenség A fokszámeloszlás hatványfüggvényt követ 24/40

Skálafüggetlenség szemléletesen 1. A hálózatra rázoomolva önhasonló szerkezet Pont így van a természetben is 2. Nem heterogén szerepű csomópontok Néhány központ, sok kis node 25/40

Valós hálózatok 26/40

Hogyan kapcsolódnak új pontok az adatbázishoz? Önszerveződő adatbázisok Egy már meglévő adatbázis melyik pontjához fogunk kapcsolódni? P2P hálózatban melyik fájlt töltöd le? Egy nemzetségen belül melyik fajok szaporodnak el? Minél népszerűbb Népszerűség ~ minél több kapcsolata van eddig 27/40

Preferenciális kapcsolódás Preferenciális kapcsolódás A kapcsolódáshoz a jelölt esélye arányos a fokszámmal Nagyobb fokszámú csúcshoz nagyobb eséllyel kapcsolódik i csúcsra: p i = fokszám 2 élek száma A gazdag egyre gazdagabb lesz Növekedéssel együtt: skálafüggetlen hálózat 28/40

Szűkebb értelemben vett önszerveződő hálózatok Speciális értelemben 1.Nem véletlenszerű kapcsolatok, csoportosuló 2.Kis átmérő, rövid utak, kisvilág 3.Skálafüggetlen szerkezet: erősen változó szerepek a hálózatban 29/40

Önszerveződő adatbázisok 1. Paradigmaváltás az adatbázisokban Megtervezett adatbázis Evolúció alkotta adatbázis 2. Önszerveződő adatbázis : struktúra, lekérdezés 3. Struktúra: a hálózatot meghatározó jellemzők Méret, átmérő Kisvilág tulajdonság Skálafüggetlen hálózatok Preferenciális kapcsolódás 4. Lekérdezés Lekérdezés önszerveződő adatbázisokban Internetes keresőmotorok működésének alapjai 30/40

Kisvilág-hálózat Kleinberg modellje Jon Kleinberg: Nem csak a topológia érdekes, hanem hogy gyorsan meg is lehet találni a célt, térkép nélkül Az optimális modell kereséshez Távolság: d(u,v) lépkedések száma a szomszédokon High Speed Networks Laboratory A rácson két pont között az kapcsolat valószínűsége ~ d(u,v) -r Mohó keresési algoritmus 31/40

Navigálás a Kleinberg-modellben Keresés egy kisvilág-adatbázisban A rácson két pont között az kapcsolat valószínűsége ~ d(u,v) -r gyorsan meg is lehet találni a célt, térkép nélkül = mohó keresés 32/40

Hogyan működnek a keresőmotorok? 33/40

Internetes keresőmotorok A keresőmotorok két fő funciója 1. Crawling és az oldalak térképének felépítése 2. Válasz a lekérdezésre 1. Crawling & Indexing A weben levő dokumentumok, fájlok, oldalak bejárása és indexelése Indexelés ~ tárgymutató egy könyv végén 2. Válaszadás a felhasználói lekérdezésre Releváns oldalak listája Sorrend 34/40

Honnan tud a keresőmotor egy oldalról? 1. Megmondjuk, hogy létezik Home page URL-je www.google.com/addurl search.yahoo.com/info/submit.html search.live.com/docs/submit.aspx XML oldaltérkép 2. Ha egy másik oldal mutat rá: keresőrobotok beindexelik Struktúra miatt működik A kapcsolatok mentén a keresőmotor bejárja = crawling Ha találnak egy új oldalt: részleteket tárolnak 35/40

Egy Google keresés 36/40

Adjunk választ! A keresőmotor egy válaszadó gép Háromféle keresés: "Do" Tranzakciós keresés valami végrehajtása: repülőjegy vásárlás, zenehallgatás "Know" Információs keresés egy zenekar neve, a város legjobb étterme "Go" Navigációs keresés Kifejezetten egy weblap keresése: menj a Facebook-ra, az NFL homepage-re Csak az a válasz érdekel, ami relevéns Hasznosság remélt sorrendjében A relevancia több, mint hogy tartalmazza a jó szavakat A keresőmotorok első napjaiban ennyi volt Nem is működött jól AltaVista Google 37/40

Search Engine Optimization Egy weboldal láthatóságának befolyásolása egy keresőmotor találati listájában Nem a keresőmotorok kijátszása Jó felhasználói élmény Az oldal szándékainak közvetítése, hogy a releváns kereséseknél ajánlhassák robots.txt: amit a keresőrobotok ne járjanak be Bejelentkezés után látható oldalak Személyes információt tartalmazó oldalak: vásárlás Oldalon belüli keresési eredmények Korai algoritmusok: Szerepelnek-e a megadott szavak Kulcsszó-sűrűség Keyword meta-tag Könnyű volt kijátszani 38/40

Mennyire fontos egy oldal? A legtöbb keresőmotornál: fontosság = népszerűség Minél népszerűbb egy oldal, annál fontosabb kell legyen az infó, ami rajta van Algoritmusokkal szűrik és rangsorolják az oldalakat relevancia és népszerűség alapján Ranking faktorok Tartalom: Az oldal szövege, címek, ismertetők. Teljesitmény: Milyen gyors? Jól működik? Megbizhatóság: Elég jó a tartalom ahhoz, hogy más oldalak ide mutassanak? Más oldalak megjelölik referenciaként? Felhasználói élmény: Hogy néz ki? Könnyű eligazodni? Magas a bounce rate? 39/40

SEO Success Factors 40/40

Search Engine Optimization Oda-vissza ható folyamat Algoritmus helyezést javító trükkök új algoritmus új trükkök Hogy pontosan hogy működik, azt a tapsztalat alapján sejteni lehet On-the-page SEO Ami az oldal szerzőjének befolyása alá tartozik Tartalom HTML Felépítés Off-the-page SEO Az olvasókon, látogatókon és a többi oldal szerzőjén múlik Linkek Megbízhatóság Közösségi média Személyes paraméterek 41/40

Search Engine Optimization White Hat technikák A felhasználónak szóljon az oldal, ne a keresőnek A weboldal struktúráját tagolttá kell tenni, megfelelő header használattal. A <title> taget megfelelően kell kitölteni. Az oldalon elhelyezett szövegeket is érdemes optimalizálni. Helyezzünk el olyan linkeket, amik egyéb aloldalakra mutatnak. Hosszú távú eredmény Black Hat technikák Hogyan tévesszük meg a keresőt Láthatatlan tartalom Más oldal megjelenítése, ha a kereső kéri = cloaking Gyors eredmény, de: ha a kereső rájön: büntetés 42/40

Szervező erők adatbázisokban High Speed Networks Laboratory 43/40

Szervező erők az adatbázisokban 1. Bevezető Áttekintés: mi az önszerveződő adatbázis? Mi a szervező erő? 2. A folyamat mögötti dinamika: játékelmélet Bevezető példa: fogolydilemma Alapfogalmak, Nash-egyensúly 3. Az adatforgalom modellezése játékelmélettel Optimális átvitel vs. átvitel önszerveződő hálózatban 44/40

Paradigmaváltás az adatbázisokban Megtervezett adatbázis evolúció alkotta adatbázis Mennyi zene / film van a számítógépeden? Rugalmas adatstruktúra kell Önszerveződő adatbázisok: A kapcsolódást nem egy központi egység határozza meg A csomópontok saját maguk döntik el, hova kapcsolódnak Struktúra és lekérdezés Az adatbázis önszerevződő jellege meghatározza a kialakuló topológiát A topológia meghatározza, milyen a hatékony keresés Internet, Blogok Google Fordító Szocális hálózat P2P hálózat Folding@home 45/40

Struktúra és lekérdezés: hálózatparaméterek 1. Hálózat méret: Csomópontok száma Ezres, milliós, esetleg milliárdos méretek esetén lehet statisztikai adatokkal jól jellemezni egy hálózatot 2. Klaszterezettség: Csoportosulás mértéke A szomszéd node-jaim kapcsolódnak-e egymáshoz? Ha 1 akkor mindig, ha 0 akkor soha! 3. Átmérő: Kis átmérő, rövid utak, kisvilág jelleg Egy rácsban igen nagy átmérők lehetnek, míg pl. a teljes gráf átmérője 1. 4. Hasonlósági paraméter (γ): Mennyire hasonló a szerepük? (skálafüggetlen szerkezet) Ha a szám magas, akkor az egyének nagyon hasonlítanak, ha alacsony akkor (~ 2) akkor erősen eltérő szerepek vannak 5. Fokszámeloszlás: a csúcsok mekkora hányadának k a fokszáma? Egyenletes? Binomiális? Valami más? 46/40

Struktúra és lekérdezés Evolúció alkotta adatbázis 1.Nem véletlenszerű kapcsolatok, csoportosuló 2.Kis átmérő, rövid utak, kisvilág 3.Skálafüggetlen szerkezet: erősen változó szerepek a hálózatban 47/40

Preferenciális kapcsolódás Egy már meglévő adatbázis melyik pontjához fogunk kapcsolódni? Minél népszerűbb Népszerűség ~ minél több kapcsolata van eddig Preferenciális kapcsolódás A kapcsolódáshoz a jelölt esélye arányos a fokszámmal A gazdag egyre gazdagabb lesz Növekedéssel együtt: skálafüggetlen hálózat 48/40

Struktúra és lekérdezés Keresőmotorok 1. Feltérképezés: crawling & indexing 2. Adjunk releváns választ 3. Search Engine Optimization 49/40

Kisvilág-hálózat Kleinberg modellje Jon Kleinberg: Nem csak a topológia érdekes, hanem hogy gyorsan meg is lehet találni a célt, térkép nélkül Az optimális modell kereséshez Távolság: d(u,v) lépkedések száma a szomszédokon High Speed Networks Laboratory A rácson két pont között az kapcsolat valószínűsége ~ d(u,v) -r Mohó keresési algoritmus 50/40

Navigálás a Kleinberg-modellben Keresés egy kisvilág-adatbázisban A rácson két pont között az kapcsolat valószínűsége ~ d(u,v) -r gyorsan meg is lehet találni a célt, térkép nélkül = mohó keresés 51/40

Szervező erők az adatbázisokban 1. Bevezető Áttekintés: mi az önszerveződő adatbázis? Mi a szervező erő? 2. A folyamat mögötti dinamika: játékelmélet Bevezető példa: fogolydilemma Alapfogalmak, Nash-egyensúly 3. Az adatforgalom modellezése játékelmélettel Optimális átvitel vs. átvitel önszerveződő hálózatban 52/40

Játékelmélet, mint szervező erő Neumann János 1928 A fejszámológép :) A legyes feladat megoldója mi a racionális viselkedés olyan helyzetekben, ahol minden résztvevő döntéseinek eredményét befolyásolja a többiek lehetséges választása stratégiai problémák elmélete Hogyan jelentkezik az önszerveződő adatbázisokban? Milyen dinamikákban ismerhető fel? 53/40

Játékelmélet, mint szervező erő Egyensúly megtalálása Trade-off keresése gyors keresés vs. bonyolultság Evolúciós szerveződés vs. tervezett struktúra Mit csináljunk este? 54/40

Bevezető példa: fogolydilemma Egy bűncselekmény két gyanúsítottal Mindkettő hallgat: egyegy év Mindkettő bevallja: ötöt év Egyik hallgat, másik bevallja: hallgató 20 év, másik szabadul Mi fog történni? 55/40

Fogolydilemma folytatás Ugyanez a helyzet: Doppingolás sportversenyen Cigaretta-reklámozás két gyártó között Fegyverkezés a hidegháborúban 56/40

Alapfogalmak Játék, játékosok: A és B Stratégia: egy játékos lehetséges választási lehetőségei Lehetséges stratégiák halmaza 1. (confess,confess) 2. (confess, silent) 3. (silent, confess) 4. (silent, silent) Kifizetési (payoff) matrix cél: a kifizetést minimalizálni 57/40

Alapfogalmak: legjobbválasz-leképezés Egy játékos legjobbválasz-leképezése: az a stratégia, ami a többi játékos adott stratégiája esetén a legkedvezőbb eredményt adja, Attól kérjük a csomagot egy P2P hálózatban, akitől várhatóan a leggyorsabban tudjuk letölteni Arra megyünk, amerre a legrövidebb az út 58/40

Alapfogalmak: Nash-egyensúly John Nash Amerikai matematikus Közgazdasági Nobel-díj 1994 Egy csodálatos elme Nash-egyensúly Legjobbválasz-leképezés a többiek stratégiájára Olyan eleme a stratégiahalmaznak, ahonnan senkinek se éri meg elmozdulni, ha a többiek nem változtatnak ZH-n ha mindenki puskázik 59/40

Nash-egyensúly Mi lesz a Nash-egyensúlyi pont? (vall,vall) Ha A vall, B-nek nem éri meg hallgatni Ugyanígy fordítva Kívülálló szemszögéből nem mindig látszik racionálisnak Érezzük, hogy jobban járnának, ha mindketten hallgatnának De mégsem Ezért van egyáltalán a lehetőség, hogy valljanak 60/40

Nash-egyensúly megtalálása 1. Megsejtjük, és leellenőrizzük a definíciót. Ráérzünk, hogy a (vall,vall) a Nash-egyensúlyt adó stratégia A ráérzünk része felvet némi problémát, de ettől most eltekintünk Ellenőrizendő: feltéve, hogy a másik résztvevő nem mozdul el, nem éri meg változtatni 61/40

Nash-egyensúly megtalálása 2. Dominált stratégiák eliminálásával Dominált stratégia: A játékos s stratégiája dominált, ha van olyan s- től különböző s i stratégia, hogy B játékos minden választására jobban megéri s helyett s i -t választani Ha ezek sorozatos elhagyása után egyetlen stratégia-pár marad, akkor az Nash-egyensúly A-nál és B-nél is a remain silent dominált stratégia 62/40

Feladat: Nash-egyensúly megtalálása Dominált stratégiák elhagyásával keressük meg a Nash-egyensúlyi pontot az alábbi kifizetési mátrixban! 63/40

Feladat: Nash-egyensúly megtalálása Dominált stratégiák elhagyásával keressük meg a Nash-egyensúlyi pontot az alábbi kifizetési mátrixban! 64/40

Szervező erők az adatbázisokban 1. Bevezető Áttekintés: mi az önszerveződő adatbázis? Mi a szervező erő? 2. A folyamat mögötti dinamika: játékelmélet Bevezető példa: fogolydilemma Alapfogalmak, Nash-egyensúly 3. Az adatforgalom modellezése játékelmélettel Optimális átvitel vs. átvitel önszerveződő hálózatban 65/40

A játékelmélet önszerveződő adatbázisokban Játékelmélet: egyensúly megtalálása Trade-off Bonyolultság vs. gyorsaság Tervezés vs. Egy önszerveződő hálózatban: hogyan dől el, hogy ki mit merre küld? Evolúció alkotta hálózat: összekapcsolódtak: utána a struktúra már megvan, merre továbbítanak? Merre megy az adat? 66/40

Egyensúlyi forgalom x = 4000 csomagot küld PeerA a PeerB-nek Egy él súlya: az átviteli idő pay-off = az áltviteli idő ellentettje Mennyi idő alatt ér célba? 67/40

Nash-egyensúly az előző hálózatban Egy Nash-egyensúly: egyenlően elosztják egymást 1. Ez tényleg Nash-egyensúly Próbáljuk ki, ha valaki változtatni akar Amerre ő megy, 2001/100 + 45 az átvitel ideje > 65 Jobban megéri nem váltani 2. Nincs másik Tegyük fel, hogy van valami más elosztás, ami egyensúly Aki a lassabb úton van, annak megéri átváltani a gyorsabbra Egyenlő elosztás jön ki 68/40

Braess paradoxon Mi a paradoxon? 69/40

Braess paradoxon Adjunk hozzá egy új élet a hálózathoz! 70/40

Braess paradoxon Azt várjuk, hogy ha javítunk a hálózaton, egyensúlyi helyzetben gyorsabb lesz az átvitel Naná, rövidítünk, csak nem romlik el De! a Nash-egyensúlyi pont hosszabb időt jelent Volt: fele A C B, fele A D B Mindenkinek megéri az A C D B-t választani Valóban Nash-egyensúly Összes idő 40 + 40 = 80 Szemben az eddigi 65-tel 71/40

Braess-paradoxon: gyakorló feladat PeerA és PeerB két nagy csomagot küld, x=2000 és y=2000 méretűek Írjuk fel mátrix-alakban az átfutási időket! Mutassuk meg, hogy ha mindketten az A C D B-t választják, az Nash-egyensúly! 72/40

Braess-paradoxon: gyakorló feladat PeerA és PeerB két nagy csomagot küld, x=2000 és y=2000 méretűek Írjuk fel mátrix-alakban az átfutási időket! Mutassuk meg, hogy ha mindketten az A C D B-t választják, az Nash-egyensúly! 73/40

Braess-paradoxon: gyakorló feladat PeerA és PeerB két nagy csomagot küld, x=2000 és y=2000 méretűek Írjuk fel mátrix-alakban az átfutási időket! Mutassuk meg, hogy ha mindketten az A C D B-t választják, az Nash-egyensúly! x-nek az ACB és az ADB is dominált stratégia, mindkettő ACDB által y-nak szintén 74/40

Braess-paradoxon: megjegyzések Intuíció: ha upgrade-elünk valamit, akkor az jobb lesz Paradoxon: egy új kapcsolat hozzáadásával lassabb lett az átvitel Pl. fogolydilemmában a Vall opció hozzáadása a Hallgathoz Egyetlen él behúzásával mennyire romlik el a költség? Legfeljebb 4/3-szorosára nő Az előző példa a legrosszabb, ami előfordulhat Felmerülő kérdések: 1. Van-e egyensúlyi forgalomminta? 2. Ha igen, van-e olyan, aminek a költsége nincs túl messze a közösségi optimumtól? 3. Milyen az a hálózat, amiben beáll az optimum? 4. Hogyan tervezhető olyan hálózat, ami kivédi a rossz egyensúlyi helyzeteket? 5. Mennyivel lehet rosszabb az egyensúly az optimálisnál? 75/40

Egyensúly vs optimum Már láttuk: átviteli idő az egyensúlyban nem biztos, hogy optimális Mennyire lehetünk messze az optimumtól? Minden élre: travel-time függvény Lineáris, átmenő forgalom függvénye T e (x) = a e x+b e Forgalomminta: a küldött csomagok által választott útvonalak összessége 76/40

Egyensúly vs optimum Közösségi költség: a forgalommintához tartozó átviteli idők összege Egyensúlyi költség: közösségi költség a Nash-egyensúlyi állapotban Közösségi optimum: a lehető legkisebb közösségi költségű állapot Két fontos kérdés: 1. Van-e egyensúlyi állapotra vezető forgalomminta? 2. Ha igen, van-e olyan, aminek a költsége nincs túl messze a közösségi optimumtól? 77/40

Forgalmi minta megtalálása az egyensúlyban Adunk egy algoritmust, ami konkrétan talál egyet, majd megmutatjuk, hogy az helyes LEGJOBBVÁLASZ-ALGORITMUS 1. Kiidulás: egy tetszőleges forgalmi minta 2. Ha egyensúly KÉSZ 3. Egyébként: létezik legalább egy csomag, aminek a legjobbválasza a többire egy gyorsabb út Válasszunk egy tetszőleges ilyet; az váltson át erre 4. GOTO 2. Ha valaha is megáll: Mindenki olyan állapotban van, ami legjobbválasz-leképezés a helyzetre Azaz Nash-egyensúly Kell: egy idő után megáll Nem triviális, hogy megáll Pl. Matching Pennies játék 78/40

A javulás mértéke: mennyire jó az aktuális megoldás? Adódik: közösségi költség Van olyan legjobbválasz, amitől nő, és van olyan, amitől csökken Helyette: egy forgalomminta potenciális energiája A hálózat élein a potenciális energiák összege Egy él potenciális energiája x csomagot küld 79/40

Egyensúly beállása Legjobbválasz-leképezés lépésekkel a forgalomminta potenciális energiája csökken 80/40

Egyensúly beállása 81/40

Állítás: A Legjobbválasz-algoritmus megáll Bizonyítás: elég azt megmutatni, hogy a legjobbválasz-leképezések során a potenciális energia szigorúan csökken Mert: véges sok forgalomminta van csak véges sok különböző értéke lehet; mindig nemnegatív Ha minden lépés során szigorúan csökken: egy idő után nem csökkenhet tovább; mindenki legjobbválasz leképezést ad az adott helyzetre = egyensúly Pont azért csökken, mert legjobbválasz lépés történik Az e élen ha x1 csomag megy, a potenciális energia: Ha egy csomag elhagyja: Helyette átvált az f élre, ahol eddig x2 csomag volt, a potenciális energia: A rendszer energiájából levonódik: a régi útvonalon az átviteli idő: T e (x 1 ) Hozzáadódik: az új útvonal átviteli ideje: T e (x 2 +1) A változás mértéke pont a csomag átviteli idejének csökkenése: T e (x 1 )-T e (x 2 +1) Tehát a potenciális energia legjobbválasz lépés során szigorúan csökken 82/40

Egyensúly vs közösségi optimum? A potenciális energia és a travel time kapcsolata egyetlen élre Energy(e) = e él potenciális energiája x csomag esetén: Energy e = Te 1 + Te 2 +... +Te(x) Total Travel Time(e) = T e x + T e x + + T e x = x T e x tehát: Energy e Total Travel Time(e) Továbbá: 83/40

A potenciális energia legalább az átviteli idő fele Mivel, ezért Azaz a következő adódik: 84/40

Az egész rendszerre vonatkoztatva: Legyen Z egy forgalomminta Energy (Z) = az élek potenciális energiáinak összege, ha a csomagok a Z mintát követik Social-Cost(Z) = az átviteli idők összege Z forgalmi minta mellett Induljunk ki egy közösségileg optimális Z mintából legjobbválaszleképezések Z egyensúlyi minta A közösségi költség nőhet is, de a potenciális energia csak csökkenhet A közösségi költség a potenciális energia legfeljebb kétszerese Tehát a közösségi költség tetszőleges állapotban a kiindulási potenciális energiának is legfeljebb kétszerese Azaz az egyensúlyi költség a szociális optimum költségének is legfeljebb kétszerese 85/40

Állítás: Az egyensúlyi költség a szociális optimum költségének legfeljebb 2x-ese Bizonyítás: Legyen Z a közösségileg optimális minta, Z az egyensúlyi minta A legjobbválasz-leképezések során a potenciális energia csak csökkenhet Már korábban láttuk: Az eddigieket összerakva adódik: A potenciális energia módszerével egy egyensúlyi állapot költségére adható korlát. 86/40

Terjedés önszerveződő hálózatokban High Speed Networks Laboratory 87/40

Terjedés önszerveződő adatbázisokban 1. Bevezető és áttekintés Az előző rész tartalmából Forgalommonitorozás játékelmélettel Milyen terjedési folyamatokat vizsgálunk? 2. Önszerveződő adatbázis mérete Meddig nő egy adatbázis? 3. Vírusterjedés adatbázisokban 88/40

Múlt órai áttekintés: játékelmélet alapok Optimális stratégia keresése: kifizetés minimalizálása Legjobbválasz-leképezés, Nash-egyensúly beállása, dominált stratégiák eliminálása Braess-paradoxon: elmozdulás a közösségi optimumból 89/40

Múlt órai áttekintés: egyensúly vs optimum Optimálsi átviteli idő egyensúlyi átviteli idő Braess-paradoxon: upgrade ronthat az átviteli időn Legjobbválasz-leképezések Nash-egyensúly Az optimumnak legfeljebb kétszerese Analízis eszköze: potenciális energia Egy élre, ha x csomagot küld: Ahol T e (x) = a e x+b e, travel time függvény Forgalommintára: éleken vett potenciális energiák összege 90/40

Forgalmi minta megtalálása az egyensúlyban LEGJOBBVÁLASZ-ALGORITMUS 1. Kiidulás: egy tetszőleges forgalmi minta 2. Ha egyensúly KÉSZ 3. Egyébként: létezik legalább egy csomag, aminek a legjobbválasza a többire egy gyorsabb út Válasszunk egy tetszőleges ilyet; az váltson át erre 4. GOTO 2. Állítás: A Legjobbválasz-algoritmus véges lépésben megáll Bizonyítás: ötlet: elég azt megmutatni, hogy a legjobbválaszleképezések során a potenciális energia szigorúan csökken 91/40

Egyensúly vs közösségi optimum? A potenciális energia és a travel time kapcsolata egyetlen élre Energy e Total Travel Time e Az egész rendszerre vonatkoztatva: Legyen Z egy forgalomminta Energy (Z) = az élek potenciális energiáinak összege Social-Cost(Z) = az átviteli idők összege Induljunk ki egy közösségileg optimális Z mintából legjobbválasz-leképezések Z egyensúlyi minta A közösségi költség nőhet is, de a potenciális energia csak csökkenhet A közösségi költség a potenciális energia legfeljebb kétszerese Tehát a közösségi költség tetszőleges állapotban a kiindulási potenciális energiának is legfeljebb kétszerese Azaz az egyensúlyi költség a szociális optimum költségének is legfeljebb kétszerese Megj. Itt is igaz az állítás 4/3-os szorzóval, de azt nem bizonyítjuk. 92/40

Állítás: Az egyensúlyi költség a szociális optimum költségének legfeljebb 2x-ese Bizonyítás: Legyen Z a közösségileg optimális minta, Z az egyensúlyi minta A legjobbválasz-leképezések során a potenciális energia csak csökkenhet Már korábban láttuk: Az eddigieket összerakva adódik: A potenciális energia módszerével egy egyensúlyi állapot költségére adható korlát. 93/40

Gyakorló feladatok 1. 1.a 1000 csomagot küldünk A B. Mi a Nash-egyensúlyi állapot? 94/40

Gyakorló feladatok 1. 1.a egyenlően oszlik el a két lehetséges útvonalon 1.b Létrejön egy új kapcsolat a hálózatban: C D, 0 átviteli idővel. Mi most a Nash-egyensúly? 0 95/40

Gyakorló feladatok 1. 1.c Javul az átvitel sebessége a C B és A D utakon. Mi most a Nashegyensúly? 5 0 5 96/40

A mai óra tartalmából: Hálózatok növekedése Egy magára hagyott hálózat meddig nő? Szinkronizáció Terjedési jelenségek a hálózatban Hogyan terjednek a vírusok? 97/40

Stabilitás önszerveződő adatbázisokban 1. Bevezető és áttekintés Az előző rész tartalmából Forgalommonitorozás játékelmélettel Milyen terjedési folyamatokat vizsgálunk? 2. Önszerveződő adatbázis mérete Meddig nő egy adatbázis? 3. Szinkronizáció adatbázisokban 1. Vírusterjedés 98/40

Egy önszerveződő adatbázis mérete Meddig nő egy önszerveződő adatbázis? Wi-Fi a K épületben vs. a Q-ban Populációk növekedése Verhulst modell Erre a jelenségre is használható r: időben állandó növekedési ráta K: teherbírási küszöb 99/40

Malthus-féle lineáris növekedési modell Legegyszerűbb: N(t) = az adatbázis mérete t időpontban r = növekedési ráta dn dt = r N(t) A növekedés üteme időben állandó r t Exponenciális növekedés N t = N 0 ert, azaz mindig az e r -szeresére nő A hálózat felrobban Nem mehet a végtelenségig 100/40

Módosítás Vegyük be a túlnépesedést = túl sokan vannak Korlátos erőforrások = a szerver csak bizonyos számú számítógépet tud kiszolgálni A növekedési ráta nem időben állandó Kis N-re r még konstans Egyre jobban csökken K = carrying capacity = teherbírás Ha N>K, akkor negatív: többen hagyják el a hálózatot, mint ahányan jönnek A növekedési ráta változása az adatbázisban levő számítógépek számának függvényében. 101/40

A Verhulst-féle növekedési modell Kezelhető verzió: vesszük az egy egységre eső növekedést: Lineárisan csökkenőnek tesszük fel Kapjuk: logisztikus növekedési modell Ha N kicsi, majdnem visszaadja a Malthus-modellt Ha N K, akkor a növekedés üteme közel 0 Ha N > K, akkor negatív Kérdés: N(t) =? Meg lehet oldani analitikusan És grafikusan 102/40

A növekedés mértéke Ábrázoljuk -t függvényében Mit veszünk észre? a növekedés gyorsasága K/2-ig nő, utána csökken K után negatív Két fixpont: a 0 és a K Ellenőrzés: legyen =0, és oldjuk meg N-re 0 instabil, K stabil 103/40

Mit jelent mindez? Mit jelent mindez? Először gyorsan nő, aztán egyre lassabban A teherbírást ha túllépi, csökkeni fog Többen hagyják el a hálózatot, mint ahányan jönnek 0 fixpont, de instabil: kicsit megváltozik, akkor K-ba konvergál K fixpont, stabil: perturbáció hatására oda visszatalál 104/40

Még jobban lefordítva Ez a modell nem mindenható, de az alapvető jelenségeket jól mutatja Az történik, amit intuitívan várunk Elkezd nőni, beáll a teherbírás körüli értékre Ha magára hagyjuk, akkor e körül ingadozik Előrször gyorsabban nő, majd lassabban Ha túllépi a teherbírást, akkor csökken 105/40

Stabilitás önszerveződő adatbázisokban 1. Bevezető és áttekintés Az előző rész tartalmából Forgalommonitorozás játékelmélettel Milyen terjedési folyamatokat vizsgálunk? 2. Önszerveződő adatbázis mérete Meddig nő egy adatbázis? 3. Vírusterjedés önszerveződő adatbázisban 106/40

Vírusok terjedése önszerveződő adatbázisban Vírus utasításhalmaz ami elsősorban önmaga sokszorosításáról szól Mennyire fertőző Mennyi ideig tartja a gazdát fertőző állapotban Nagyon hasonlít az embert támadó vírusokra HIV, Ebola, Influenza Számítógép vírusok Internet előtt (floppy-n) Az Internet elterjedésével nulla energiával Broadcast keresés (mindegy kit) Exponenciális növekedés Ma már inkább észrevétlenség, adatszerzés, kapacitás ILOVEYOU vírus 107/40

Vírusterjedés: SIR modell Vírusterjedés vizsgálata SIR modell Természetesen tudni kell, hogy ki kivel érintkezik S(t),I(t),R(t): fertőződésre hajlamosak, fertőzőek, gyógyultak száma t-kor β = S I contact rate ν = I R recovery rate Lassú, robbanás, lecsengés 108/40

Fertőzött populáció Önszerveződő adatbázisok Vírusterjedés véletlen gráfmodellben Legkönnyebb vizsgálni: véletlen gráf Nem életszerű, de jó kiindulópont Reprodukciós arány = egy fertőzött egyed egy egészséges populációban hány újat fertőz meg az élettartama alatt S R0 Véletlen gráf esetén a reprodukciós arány teljesen meghatározza a lefolyást R 0 < 1 : hosszú távon kihal a vírus R 0 > 1: hosszú távon mindenki megfertőződik 1 R 0 1 Reprodukciós arány 109/40

Küszöb Fertőzött populáció Önszerveződő adatbázisok Vírusterjedés kisvilág modellben 1 Rács esetén csak az igazán durva betegség teljed el 1 0 A shortcutokon keresztül gyorsan terjed a vírus Új közösségeket megfertőzve 1 Fertőzőképesség A kisvilágságot figyelmen kívül hagyva, az emberek nem érzik a veszélyt Viszont van esély fellépni a kezdeti szakaszban Modularitás mesterséges növelése Reprodukciós arány csökkentése, immunizálás Egy védekezési stratégia: a shortcutok elvágása Tűcsere program 0 1 Véletlen élek aránya 110/40

Vírusterjedés skálafüggetlen hálózatban Ez áll a legközelebb a valós önszerveződő hálózatokhoz Virus bulletin A legtöbb számítógép vírus hosszan képes rejtőzködni a hálózatban Hogy lehetséges ez? (SIR modellben nem lehet) Skálafüggetlen modell Eltűnik a küszöb Kegyetlen védekezési stratégia: Hubok immunizálása De hogy találjuk meg őket? 111/40

Vírusok elleni védekezés Hubokat immunizáljuk Véletlen alany véletlen ismerősét immunizáljuk Számítógép vírusok Microsoft minden kompatibilis mindennel When you are dealing with rootkits and some advanced spyware programs, the only solution is to rebuild from scratch. In some cases, there really is no way to recover without nuking the systems from orbit" Mike Danseglio, program manager in the Security Solutions group at Microsoft 2006 "Detection is difficult, and remediation is often impossible," Danseglio declared. "If it doesnt crash your system or cause your system to freeze, how do you know its there? 112/40

Véletlen immunizálás vs hubok védelme Ha véletlenszeűen immunizáljuk a csomópontokat: Kiválasztunk 5 csomópontot Ezeket + a szomszédaikat immunizáljuk 24 csomópontot érünk el 113/40

Véletlen immunizálás vs hubok védelme Hubokat immunizáljuk 1 lépésben 60 csomópontot érünk el A hatékony megoldás a hubok védelme A hubok azonosítása felvet némi problémát Véletlen node egyik kapcsolata nagy valószínűséggel egy hub 114/40