Sunteți pe pagina 1din 46

1.

Introducere
Domeniul rețelelor sociale este un program de cercetare interdisciplinară care încearcă
să prezinte structura relațiilor dintre entitățile sociale, precum și impactul acestei structuri
asupra altor fenomene sociale. Elementele de fond ale acestui program sunt construite pe
baza unui "nucleu" comun de concepte și metode de măsurare, reprezentare și analiză a
structurii sociale.

Aceste tehnici (denumite împreună metode de analiză a rețelelor sociale) sunt aplicabile
unei game largi de domenii substanțiale, de la analiza conceptelor din modelele mentale
(Wegner, 1995; Carley, 1997) la studiul războiului dintre națiuni (Wimmer & Min, 2006).
Pentru psihologi, analiza rețelelor sociale oferă un set puternic de instrumente pentru
descrierea și modelarea contextului relațional în care are loc comportamentul, precum și
dimensiunile relaționale ale acelui comportament. Metodele de rețea pot fi, de asemenea,
aplicate rețelelor "intrapersonale" cum ar fi asocierea menționată mai sus între concepte,
precum și fenomene de dezvoltare cum ar fi structura istoriilor individuale de viață (Butts &
Pixley, 2004).

O rețea socială este o structură socială formată din indivizi (sau organizații) numite
"noduri", care sunt legate (legate) de una sau mai multe tipuri specifice de interdependență,
cum ar fi prietenia, rudenia, interesul comun, schimbul financiar, relații sau relații de
convingeri, cunoștințe sau prestigiu. Analiza rețelelor sociale vizează relațiile sociale în
termeni de teorie a rețelelor, constând din noduri și legături (numite și margini, linkuri sau
conexiuni). Nodurile sunt actorii individuali din cadrul rețelelor, iar legăturile sunt relațiile
dintre actori. Structurile bazate pe grafice rezultate sunt adesea foarte complexe. Pot exista
mai multe tipuri de legături între noduri. Cercetarea într-o serie de domenii academice a
arătat că rețelele sociale funcționează pe mai multe niveluri, de la familii până la nivelul
națiunilor, și joacă un rol esențial în determinarea modului în care problemele sunt rezolvate,
organizațiile sunt conduse și gradul în care indivizii reușesc în atingerea obiectivelor lor.

Deși sunt disponibile numeroase referințe introductive la domeniu, o gamă largă de


concepte și metode utilizate pot fi descurajante pentru nou-veniți. De asemenea, ritmul rapid
al schimbării în domeniu înseamnă că multe dintre evoluțiile recente (în special în analiza

1
statistică a datelor din rețea) sunt acoperite inegal de referințele standard. Scopul lucrării este
de a remedia această situație într-o anumită măsură, oferind o privire de ansamblu asupra
conceptelor și metodelor fundamentale ale analizei rețelelor sociale. Se acordă atenție
problemelor privind definirea rețelei și colectarea de date, precum și analiza datelor,
deoarece aceste aspecte sunt deosebit de relevante pentru cei care doresc să adauge o
componentă structurală la propria lor activitate.

2
2. Rețele sociale

2.1 Caracteristici generale


Oamenii au folosit ideea de "rețele sociale" pentru mai mult de un secol pentru a defini
seturi complexe de relații între membrii sistemelor sociale la toate nivelurile, de la
interpersonali la internaționali. În 1954, J. A. Barnes a început să folosească termenul în mod
sistematic pentru a desemna modele de legături, cuprinzând concepte folosite în mod
tradițional de către public și cele utilizate de către oamenii de știință socială: grupuri limitate
(de exemplu, triburi, familii) și categorii sociale.

Analiza reţelei sociale are în vedere relaţiile sociale în termeni de teoria reţelei compuse
din noduri şi legături. Nodurile sunt actorii individuali în cadrul reţelelor, iar legăturile sunt
relaţii între aceştia. Graficul de rezultate bazate pe structuri sunt adesea foarte complexe. Pot
exista multe tipuri de legături între noduri. Rezultatele cercetării într-o serie de domenii
academice a arătat că reţelele sociale operează pe mai multe nivele, de la familii până la nivel
de naţiuni, şi joacă un rol critic în determinarea modului în care problemele sunt rezolvate,
organizaţiile sunt conduse şi gradul în care indivizii succed în atingerea obiectivelor lor.

În forma sa cea mai simplă, o reţea socială este o hartă a tuturor nodurilor relevante din
toate nodurile studiate. Reţeaua poate fi, de asemenea, utilizată pentru a măsura capitalul
social - valoarea pe care o persoană o primeşte de la reţeaua socială. Aceste concepte sunt
adesea afişate într-o diagramă de reţea socială în cazul în care nodurile sunt punctele şi
legăturile sunt linii.

Forma reţelelor sociale este un factor-cheie al utilităţii reţelei pentru indivizii incluşi.
Reţelele dense sunt mai puţin utile pentru membri decât reţelele cu multe spaţii libere şi cu
numeroase conexiuni slabe cu indivizi din afara reţelei principale. Reţelele deschise, cu
legături slabe şi spaţii sociale goale introduc noi idei şi oportunităţi pentru membrii lor în
măsură mai mare decât reţelele închise, care au multe legături redundante.

Cu alte cuvinte, o reţea de prieteni apropiaţi, ce împărtăşesc aceleaşi credinţe, preocupări


şi valori nu îşi îmbogăţeşte membrii în măsura în care o fac grupurile de indivizi care au

3
conexiuni în alte lumi sociale şi acces la o varietate mai largă de informaţii. Este mai bine
pentru succesul individual să existe conexiuni cu o varietate de reţele decît multe conexiuni
într-o singură reţea.

Puterea teoriei reţelelor sociale constă în abordarea sa diferită faţă de cea a studiilor
sociologice tradiţionale. Acestea îşi asumau faptul că doar atributele actorilor individuali
contează. Teoria reţelelor sociale a adus un punct de vedere alternativ: atributele indivizilor
sunt mai puţin importante decât legăturile şi relaţiile lor cu alţi actori din cadrul reţelei.

„Analiza reţelei sociale (în legătură cu teoria de reţea) a apărut ca o tehnică-cheie în


sociologia modernă. Ea a câştigat şi un text semnificativ în antropologie, biologie, studii de
comunicare, economie, geografie, ştiinţa de informare, studii de organizare, psihologia
socială şi sociolingvistică şi a devenit un subiect popular de speculaţii şi de studiu.”

“Analiza de reţea socială s-a mutat acum de la a fi o metaforă sugestivă la o abordare


analitică, iar apoi o paradigmă cu declaraţiile sale teoretice, metode, software-ul de analiză
a unei reţele sociale şi cercetători. Aceştia de obicei studiază reţele întregi (de asemenea
cunoscute ca reţele complete), toate legăturile care conţin relaţiile specificate într-o populaţie
definită şi reţele personale (de asemenea cunoscute ca reţele egocentrice), legături pe care
anumiţi oameni le au, cum ar fi “comunităţile personale”.”

Distincţia între întreg - reţele complete şi personale - reţele egocentrice a depins în mare
măsură de modul în care analiştii au reuşit să adune date. Aceasta este, pentru grupuri cum
ar fi companii, şcoli sau societăţi de membru, analiştii s-au aşteptat să aibă informaţii
complete cu privire la cine a fost în reţea, toţi participanţii fiind atât potenţiale egouri cât şi
variate. Studii egocentrice au fost efectuate de obicei atunci când identitatea ego-ului a fost
cunoscută, dar nu şi modificatorii lor. Aceste studii se bazează pe furnizarea de către ego de
informaţii despre identitatea modificată şi nu există speranţa că varietatea ego-ului sau a
diferitelor seturi de modificări vor fi legate între ele.

“O reţea bulgăre de zăpadă se referă la ideea că modificatorii identificaţi într-un studiu


egocentric devin apoi egouri ei înşişi şi sunt capabili să-şi desemneze la rândul lor modificări
suplimentare. Deşi există limite severe logistice pentru efectuarea unor studii pe o reţea
bulgăre de zăpadă, o metodă pentru examinarea reţelelor hibride a fost recent elaborată, şi

4
anume faptul că ego-ul în reţelele complete poate nominaliza modificatorii în alte moduri
care nu sunt enumerate, iar apoi sunt disponibile pentru toate ego-urile ulterioare.” Reţeaua
hibrid poate fi valoroasă pentru examinarea întreg/reţele complete, care sunt de aşteptat să
includă actori importanţi, pe lângă cei care sunt identificaţi în mod oficial. “De exemplu,
angajaţii unei companii lucrează deseori cu consultanţii care nu aparţin unei companii, care
pot fi parte a unei reţele, care nu poate fi pe deplin definită înainte de colectarea datelor. Mai
multe tendinţe analitice disting analiza reţelei sociale.”

Nu există nici o ipoteza că grupurile sunt elementele constitutive ale societăţii:


abordarea este deschisă pentru a studia sisteme sociale mai puţin delimitate, de la
comunităţile nonlocale la link-uri între site-uri web. Mai degrabă, decât tratarea persoanelor
fizice (persoane, organizaţii, state) ca unităţi distincte de analiză, ea se concentrează asupra
modului în care structura de legături afectează indivizii şi relaţiile lor.

În contrast cu analizele care presupun că socializarea în norme determină


comportamentul şi analiza reţelelor, caută să arate extinderea pe care o are o structură şi
normele afectate de compoziţia de legături.

Forma unei reţele sociale ajută la determinarea utilităţii unei reţele pentru persoanele
sale fizice. Reţelele mai mici pot fi mai puţin utile pentru membrii lor decât reţelele cu o
mulţime de conexiuni libere (legături slabe) pentru persoanele din afara reţelei principale.
Mai multe reţele deschise cu multe legături slabe şi conexiuni sociale sunt mai mult pentru
a introduce noi idei şi oportunităţi membrilor lor decât reţelele închise, cu multe legături
redundante. Cu alte cuvinte, un grup de prieteni face doar lucruri pe care ceilalţi le
împărtăşesc deja, având aceleaşi cunoştinţe şi oportunităţi. Un grup de indivizi cu conexiuni
la alte lumi sociale au posibilitatea să aibă acces la o gamă mai largă de informaţii. Este mai
bine pentru succesul personal a avea conexiuni la o varietate de reţele, mai degrabă decât
multe conexiuni în cadrul unei reţele unice. În mod similar, persoanele fizice pot exercita o
influenţă sau pot acţiona în calitate de brokeri în cadrul propriei reţele sociale prin unirea a
două reţele care nu sunt direct legate (numit umplerea găurilor structurale).
Rețelele sociale au fost, de asemenea, folosite pentru a examina modul în care
organizațiile interacționează unul cu celălalt, caracterizând numeroasele conexiuni informale
care leagă directorii împreună, precum și asociațiile și conexiunile dintre angajații

5
individuali din diferite organizații. De exemplu, puterea în cadrul organizațiilor vine adesea
mai mult din gradul în care un individ dintr-o rețea se află în centrul multor relații decât titlul
efectiv al locului de muncă. Rețelele sociale joacă, de asemenea, un rol-cheie în angajare, în
succesul afacerilor și în performanța locurilor de muncă. Rețelele oferă modalități prin care
companiile să adune informații, să descurajeze concurența și să colaboreze în stabilirea
prețurilor sau politicilor

2.2 Modelarea matematică a rețelelor sociale


Pentru a înțelege rețelele și participanții acestora, evaluăm locația și gruparea actorilor
din rețea. Aceste măsuri ne oferă o perspectivă asupra diferitelor roluri și grupări dintr-o
rețea - care sunt conectorii, mavinii, conducătorii, podurile, izolatele, unde sunt clusterele și
cine este în ele, care se află în centrul rețelei și care este la periferie?
În cadrul teoriei grafurilor și analizei rețelei, există diferite măsuri ale centrului unui
vârf într-un grafic care determină importanța relativă a unui vârf în grafic (de exemplu, cât
de importantă este o persoană într-o rețea socială sau, în teorie a sintaxei spațiului, cât de
importantă este o încăpere într-o clădire sau cât de bine este folosit un drum în cadrul unei
rețele urbane). Există patru măsuri de centralizare care sunt utilizate pe scară largă în analiza
rețelelor: gradul central, gradul de apropiere, apropierea și centralizarea proprie a vectorilor.

a. Gradul central

Primul și cel mai simplu este gradul central. Gradul central este definit ca numărul de
linkuri care intră în contact cu un nod (adică, numărul de legături pe care le are un nod).
Gradul este adesea interpretat în termenii riscului imediat al nodului pentru capturarea a ceea
ce curge prin rețea (cum ar fi un virus sau informații). Dacă rețeaua este direcționată (adică
legăturile au direcție), atunci definim de obicei două măsuri distincte de centralizare a
gradului, și anume indegree și outdegree. Indigree este un număr de număr de legături
direcționate către nod, iar outdegree este numărul de legături pe care nodul le direcționează
către altele.

Pentru un graf G := (V, E) cu n vârfuri, gradul central CD (υ) pentru vârful υ este(1):

deg⁡(υ)
CD (υ) = (1)
𝑛−1

6
Calculând gradul central pentru toate nodurile V într-un grafic θ(V2) într-o reprezentare mai
densă a matricii de adiacență a grafului, iar pentru marginile E într-un grafic θ(E) se ia o
reprezentarea matriceală insuficientă. Definiția centralizării poate fi extinsă la grafuri. Fie υ*
nodul cu cea mai mare centralitate în G. Fie X := (Y, Z) graficul conectat la nodul η care
maximizează urmatoarea cantitate(2):

|𝑌|
H = ∑𝑗=1 𝐶𝐷 (𝑦 ∗ ) − ⁡ 𝐶𝐷 (𝑦𝑖 ) (2)

Apoi, gradul central al grafului G este definit după cum urmează(3):

|𝜐|
∑𝑖=1 𝐶𝐷 (𝜐∗ )−⁡𝐶𝐷 (𝜐𝑖 )⁡⁡⁡⁡⁡
CD = (3)
𝐻

H este maximizat atunci când graficul X conține un nod care este conectat la toate celelalte
noduri și toate celelalte noduri sunt conenctate numai la acest nod central (un graf în formă
de stea). În acest caz (4):

1
H = (n – 1) (1 - )=n–2 (4)
𝑛−1

astfel încât gradul central al lui G se reduce la (5):

|𝜐|
∑𝑖=1 𝐶𝐷 (𝜐∗ )−⁡𝐶𝐷 (𝜐𝑖 )⁡⁡⁡⁡⁡
CD (G) = (5)
𝑛−2

b. Gradul de apropiere

Pentru un graf G := (V, E) cu n vârfuri, apropierea CB(υ) pentru un vârf υ poate fi


calculată astfel:

 Pentru fiecare pereche de vârfuri (s, t), calculați toate căile cele mai scurte între ele;
 Pentru fiecare pereche de vârfuri (s, t), determinați fracția celor mai scurte căi care
trec prin vârful în cauză (aici vârful υ);
 Sumați această fracție peste toate perechile de vârfuri (s, t).

7
c. Apropierea

Gradul în care un individ este aproape de toți ceilalți indivizi dintr-o rețea (direct sau
indirect). Reflectă abilitatea de a accesa informații prin "vița-de-vie" a membrilor rețelei.
Astfel, apropierea este inversul sumei celei mai scurte distanțe dintre fiecare individ și
fiecare altă persoana din rețea. Cea mai scurtă cale ar putea fi cunoscută și sub numele de
"distanță geodezică";

În topologie și în domeniile conexe din matematică, apropierea este unul dintre


conceptele de bază într-un spațiu topologic. Intuitiv spunem că două seturi sunt apropiate
dacă sunt în mod arbitrar apropiate unul de celălalt. Conceptul poate fi definit în mod natural
într-un spațiu metric în care este definită noțiunea de distanță între elementele spațiului, dar
poate fi generalizată în spații topologice unde nu avem o modalitate concretă de măsurare a
distanțelor.
În teoria grafică, apropierea este o măsură centrală a unui vârf în cadrul unui grafic.
Vârfurile care sunt "superficiale" față de alte noduri (adică cele care tind să aibă distanțe
geodezice scurte față de alte noduri cu în grafic) au o apropiere mai mare. Claritatea este
preferată în analiza rețelei pentru a însemna lungimea cea mai scurtă a traseului, deoarece
oferă valori mai mari la mai multe noduri centrale și, de obicei, este asociată pozitiv cu alte
măsuri, cum ar fi gradul. În teoria rețelei, apropierea este o măsură sofisticată a centralizării.
Este definită ca distanța geodezică medie (adică calea cea mai scurtă) între un vârf v și toate
celelalte noduri care pot fi obținute de la acesta(6):

(6)

unde n ≥ 2 este dimensiunea rețelei. Apropierea poate fi considerată o unitate de măsură


pentru cât timp va fi nevoie pentru a răspândi informația de la un anumit punct la alte noduri
care pot fi atinse în rețea. Unii definesc apropierea ca fiind reciprocitatea acestei cantități,
dar oricum informațiile comunicate sunt identice. Apropierea CC(υ) pentru un vârf υ e
reciproca sumelor distanțelor geodezice la toate celelalte noduri ale lui V (7):

(7)

8
Diferite metode și algoritmi pot identificate pentru a măsura apropierea, cum ar fi
random-walk centrality dezvoltată de Noh și Rieger in 2003 care reprezintă o modalitate de
măsurare a vitezei cu care mesajele ajung la un vârf din altă parte a rețelei.

d. Centralizarea proprie a vectorilor

Reprezintă gradul importanței unui nod intr-o rețea. Acesta atribuie scoruri relative
tuturor nodurilor din rețea pe baza principiului conform căruia conexiunile la nadurile cu
scor mare contribuie mai mult la scorul nodului în cauză decât conexiunile egale cu nodurile
cu scor reduc.

Utilizarea matricei adjuncție pentru a găsi centralitatea proprie a vectorilor:

 Fie xi semnul scorului nodului i. Fie Ai,j matricea de adjuncție a rețelei. Prin urmare
Ai,j = 1 dacă nodul i este adiacent nodului j, în caz contrar Ai,j = 0. Mai general,
intrarile în A pot fi numere reale reprezentând puteri de conectare, ca într-o matrice
stohastică.
 Pentru nodul i, scorul central este proporțional cu suma scorurilor tuturor nodurilor
care sunt conectate la acesta. Prin urmare (8):
(8)

unde M(i) reprezintă setul de noduri conectate la nodul i, N este numărul total de
1
noduri și λ este o constantă. În notația vectorilor aceasta poate fi scrisă ca: x = 𝜆 Ax,

sau Ax = λx

Tot la măsurători ne referim și când vorbim despre:

 Punte - O muchie se numeşte punte dacă în urma ştergerii ei, capetele sale se află în
componente diferite ale grafului;

 Punte Locala - O muchie este o punte locală dacă capetele sale nu au nici un vecin comun.
Spre deosebire de o punte, o punte locală este inclusă într-un ciclu.

 Întrepătrundere - Măsura în care un nod se situează între alte noduri din reţea. Această
măsură ia în considerare conectivitatea vecinilor nodului, dând o valoare mai mare

9
nodurilor ce fac punte între clustere de noduri. Această măsură reflectă numărul de
persoane pe care o anumită persoană le conectează în mod indirect prin legăturile lor
directe.

 Centralitatea fluxului de apropiere - Gradul in care un nod contribuie la suma fluxului


maxim dintre toate perechile de noduri (nu acel nod).

 Centralitatea eigenvector - O măsura a importanței unui nod într-o rețea. Asignează


scoruri relative fiecărui nod din rețea bazându-se pe principiul că conexiunile la nodurile
ce au un scor mai mare contribuie mai mult la scorul nodului in sine.

 Lungimea căii - Distanţa dintre perechi de noduri dintr-o reţea. Lungimea medie a unei
căi este media acestor distanţe dintre toate perechile de noduri.

 Centralizare - Diferența dintre numărul de legături pentru fiecare nod împărțită la


maximum posibil de diferențe. O rețea centralizată va avea majoritatea legăturilor sale
dispersate în jurul unuia sau a câtorva noduri, în timp ce o rețea descentralizată este una
în care există o variație foarte mică între numărul de legături pe care fiecare nod îl
procesează.

 Coeficientul de aglomerare - O măsură a probabilității cu care doi asociați ai unui nod


sunt asociați între ei. Un coeficient de aglomerare mai mare indică o clicitate mai mare.

 Coeziunea - Gradul în care actorii sunt conectați direct între ei prin legături coezive.
Grupurile sunt indicate ca și “clici” dacă fiecare individ este legat în mod direct de
fiecare alt individ, ca şi “cercuri sociale” dacă există mai puțină rigurozitate în contactul
direct, sau ca și blocuri structurale coezive dacă se dorește precizie.

 Densitate (la nivel individual) - Măsura în care legăturile unui respondent se cunosc
între ele/proporția de legături dintre nominalizații unui individ. Densitatea unei rețele la
nivel global este proporția de legături dintr-o rețea relativa la numărul total posibil
(rețele rare versus rețele dense)

 Prestigiu - Într-un graf direcţional prestigiul este termenul folosit pentru a descrie
centralitatea unui nod. “Prestigiul de grad”, „Prestigiul de proximitate”, precum şi
„Prestigiul de statut” sunt toate măsuri ale prestigiului. (teoria grafurilor)

10
 Radialitate - Gradul cu care rețeaua unui individ atinge rețeaua totală și furnizează
informație inedita/neobișnuită și fluentă.

 Raza de acțiune - Gradul oricărui membru al unei rețele care poate accesa alți membri
ai rețelei.

 Coeziune structurală - Numărul minim de membri care, dacă sunt înlăturaţi dintr-un
grup, vor deconecta grupul de restul reţelei.

 Echivalenţa structurală - Se referă la măsura în care nodurile au un set comun de


legături către alte noduri din sistem. Nodurile nu trebuie sa aibă vreo legătură între ele
pentru a fi echivalente din punct de vedere structural.

 Gaura structurală - Găurile statice ce pot fi umplute în mod strategic prin conectarea
uneia sau mai multor legături pentru a lega alte puncte. Legate de ideea capitalului
social: dacă te legi de doi oameni ce nu sunt legaţi, poţi sa le controlezi comunicarea.

11
3. Analiza structurii unei rețele de tip
World Wide Web
3.1 Rețele sociale și motoare de căutare
În prezent, reţele sociale online, cum ar fi Twitter, Facebook, LinkedIn, YouTube,
Wikipedia nu doar conectează foarte mulţi utilizatori, dar, în acelaşi timp, colectează
cantităţi imense de informaţii asociate cu interacţiunile lor de zi cu zi. Conţinutul creat de
utilizator poate fi utilizat pentru diferite analize şi predicţii în multe domenii: educaţie,
marketing, cinematografie, diseminare, alegeri, economie la nivel regional, naţional sau
global. În figura 1 sunt reprezentate mai multe reţele sociale online.

Fig. 3.1 – Rețele sociale

Utilizarea reţelelor sociale permite utilizatorilor să posteze în mod voluntar informaţii


personale, să trimită şi să primească mesaje, să rămână conectaţi on-line cu prietenii lor sau
să împărtăşească fotografii, clipuri video, citate, blog-uri, mesaje private şi să se alăture
grupurilor. Oamenii petrec mult timp pe situri de socializare, cum ar fi You Tube, Facebook,
Google+, LinkedIn, Facebook, Twitter reţea, etc., iar această utilizare se asociază cu

12
colectarea unui volum din ce în ce mai mare de date. Site-urile de socializare şi-au dovedit
potenţialul de a conecta persoanele cu alte persoane cu care se pierduse legătura (Lampe et
al., 2006) dar şi cu persoane noi (Gilbert & Karahalios, 2009), iar acest fapt motivează
utilizatorii să le folosească în continuare, cu o frecvenţă ridicată.

Brandtzaeg (2012) a împărţit utilizatorii SNS în cinci clustere de utilizare în funcţie de


modul în care au descris comportamentele lor pe site (de exemplu Jucători, Socializanţi,
Oratori, Sporadici şi Avansaţi) şi a identificat diferenţe între aceste grupuri la nivelul
capitalului social.

În funcţie de direcţia principală de utilizare, Heidemann et al. (2012) diferenţiază între


„reţele private'” (Facebook, MySpace) şi „reţele de afaceri” (LinkedIn, Ryze). Din moment
ce OSN au fost proiectate iniţial pentru uz personal, nu este surprinzător faptul că reţelele
private, cum ar fi Facebook sunt printre cele mai populare şi bine cunoscute reţele sociale la
nivel mondial.

Fig. 3.2 – Utilizarea rețelelor sociale la nivel global

Figura 3.2 reprezintă o listă cu top 15 cele mai populare site-uri de socializare globală.
Rezultatele sunt bazate pe cercetare originală, de ultimă ora. Noi website-uri apar și dispar,
dar acestea au trecut testul timpului. Pentru o comparație cât mai bună am adaugat figura 3.3
în care am facut o comparație ținând cont de mărime.

13
Fig. 3.3 – Comparație vizuală a mărimii

Pentru a avea o imagine de ansamblu asupra celor mai populare rețele de socializare din
2017 figura 3.4 prezintă harta cu expansiunea la nivel mondial.

Fig. 3.4 – Harta de expansiune la nivel mondial

14
Spre deosebire de reţelele private, reţelele de afaceri se specializează în menţinerea
contactelor profesionale şi căutarea de noi locuri de muncă. Pe lângă informaţiile furnizate
de obicei în OSN, reţelele de afaceri, pot să includă, de asemenea, un curriculum vitae
(funcţia actuală, experienţa profesională, etc.). Mai mult decât atât, multe reţele de afaceri
includ detalii suplimentare în profilurile utilizatorilor, cum ar fi data de înregistrare sau un
indice care indică activitatea unui utilizator în cadrul reţelei de afaceri.

Siturile web pentru reţele sociale oferă diferite aplicaţii, modele şi conţinuturi pentru
utilizatorii lor. Diferenţele dintre aceste situri, modul în care acestea îi conving pe utilizatori
să se alăture reţelei sau modul în care acestea îşi promovează imaginea sunt întrebări care
trebuie să fie abordate.

Motoarele de căutare sunt baze de date ce indexează paginile Web sau titlurile de pagini.
Ele trimit prin Web „păianjeni electronici” („roboţi web”) pentru a căuta pagini ce ar putea
fi adăugate la baza de date de pagini Web deja existente. Atunci când „robotul” identifică un
site care încă nu a fost indexat, el îl adaugă la baza sa de date care, cel mai frecvent, conţine
titlul paginii, adresa pentru Internet (URL), pagini complementare şi o porţiune a textului
respectiv. Deşi „roboţii” lucrează constant, mai sunt încă milioane de pagini în Web care
trebuie să fie revăzute, iată de ce va lua mult timp căutarea unui site nou.

Ca rezultat, persoanele care îşi creează propriile lor Website-uri, încep prin a oferii
informaţii despre propriile lor pagini motoarelor de căutare, care în felul acesta identifică şi
înregistrează în mod sigur noua adresă. Există un număr de motoare de căutare pe care le
puteţi utiliza în Internet. Drept exemple de motoare de căutare pot servi: Excite, Alta Vista,
Hotbot, Infoseek, Lycos, WebCrawler, Google şi Open Text Index.

De obicei, se introduc cuvintele-cheie în motoarele de căutare şi ele se ocupă de căutarea


paginilor din Web care se potrivesc cuvântului. Instrumentele de căutare sunt programe
destinate obţinerii de informaţii. Metodele de căutare pot fi diferite: arborescentă sau de tip
director (directory - vezi LookSmart), mecanism de căutare (search engine - vezi 2 Alta
Vista), o combinatie între tipurile arborescent şi mecanism de căutare (directory/search
engine - vezi Excite, Yahoo) şi multi-mecanism (multiengine - vezi All-In-One,
Metacrawler).

15
Căutarea după cuvânt-cheie - Dacă în urma unei căutări, după cuvânt-cheie,
rezultatele cercetării pentru cuvântul respectiv sunt pe ultima pagina a motorului de căutare
utilizat, atunci se reformulează interogaţia sau se schimbă motorul de căutare. Motoarele de
căutare funcţionează autonom şi puteţi avea surpriza să identificaţi adrese diferite utilizând
aceeaşi interogaţie pe motoare de căutare diferite, sau să identificaţi aceleaşi adrese utilizând
însă interogaţii diferite pe acelaşi motor de căutare. Câteva reguli generale desfăşurate mai
jos vă pot ajuta la căutarea informaţiei dumneavoastră în Internet.

Lycos este un exemplu de motor de căutare care vă oferă posibilitatea unei cercetări
performante. Mai jos sunt exemplificate câteva din alternativele de căutare găsite prin
intermediul acestui motor de căutare.

 Any of the words (oricare dintre cuvinte): Selectaţi din meniu "Any of the words" şi
introduceţi unul din termenii care doriţi să apară pe paginile Web selectate de motorul de
căutare. Spre exemplu, dacă sunteţi în căutarea "Chico Zeppo", lista rezultatelor cercetării
poate include documente menţionând doar unul dintre faimoşii fraţi. Veţi observa că
documentele referitoare la ambii fraţi vor fi mai spre sfârşitul listei.

 Natural Language Query (întrebare naturală): Această opţiune permite adresarea


întrebărilor ce necesită răspunsul exact aşa cum aţi dori să-l căpătaţi în urma unei
conversaţii cu o altă persoană. De exemplu: «Cine este preşedintele S.U.A.?» Pentru ca
Lycos să vă ajute în căutarea paginilor ce ar putea răspunde la întrebare, veţi tipări: «Cine
este preşedintele S.U.A.?» în cutia destinată 6 interogaţiilor, iar apoi veţi selecta „Natural
Language Query” din meniu.

 Exact Phrase (frază exactă): Atunci când selectaţi opţiunea "Exact Phrase" din meniu,
cuvintele pe care le specificaţi trebuie să apară alăturat, şi în ordinea pe care o doriţi.
Frazele exacte se utilizează în cazul în care sunteţi în căutarea numelor proprii.

Matricea Google - Pentru a defini matricea Google pentru un grafic arbitrat G,


considerăm matricea probabilitate de tranziție pentru "plimbari aleatorii uniforme "
pe G.Lasam n = \V(G)\ să fie ordinea lui G , și aplicăm o enumerație fixă de la 1 la n
, nordurilor lui G.

Pentru graficul G realizat, matricea P1 este definită ca:

16
Structura matricii Pi garantează că la fiecare nod, surfer-ul va avea probabilitați
egale să aleagă unul din out-vecini. Dacă nu este nici-un link de la i către j, atunci
probabilitatea este 0. Pe web mereu sunt pagini care nu au un link către alte pagini .
Aceste pagini sunt denumite noduri "dangling" – Figura 3.1.1.

Figura 3.1.1 – Dangling Node

Dacă vom presupune că singura modalitate de a vizita paginile web este urmând out-
link-uri, apoi surfer devine blocat la nodurile astfel. Pentru a depăşi această problemă, putem
manipula matricea Pi într-un mod în care poate sa facă bypass la nodurile "dangling".
Definim matricea P2 ca fiind matricea P1 astfel incat orice rand de 0 este inlocuit cu vectorul
cu intrare egala 1/n. Definim Matricea Google (sau Matricea PageRank ) astfel:

Unde alfa este un numar real între 0 și 1 , iar Jn,n e matricea [NxN] a tuturor cifrelor de
1 . Stim că matricea Google este stohastică și primitivă și putem demonstra acest lucru . Vom
nota matricea Google cu P. Matricea P este stohastică iar pentru acest lucru trebuie sa
arătăm că suma coloanelor este egală cu 1 pentru 0 < i < n suma coloanelor notata
Ri este :
17
Cleve Moler, renumitul fondator al softului matematic cunoscut sub numele de Matlab,
a numit PageRank ca fiind "Cea mai mare Matrice de calcul". În acel moment Google
aplicase o metodă de alimentare la o matrice rară de ordinul 2,7 miliarde, acum acea matrice
are cel puțin 87 de miliarde de linii si coloane .

Pentru a gasi vectorul pentru PageRank , ar trebui să aflăm S-ul din urmatoarea formulă
:

sT P = s T

Din moment ce P este o matrice de masă densă, o abordare directă a calculelor nu ar fi


posibilă în general. Pentru a depăși aceste probleme de calcul, metoda de putere este folosită
pentru a putea aproxima vectorul „S” al PageRank-ului.

3.2 Algoritmi de clasificare ce se bazează pe


structura rețelei
3.2.1 Algoritmul PageRank
În ultimii ani, Google a devenit motorul de căutare cel mai folosit în întreaga lume. De
aceea, factorul decisiv a fost, pe lângă performanța ridicată și ușurința utilizării, calitatea
superioară a rezultatelor căutării în comparație cu alte motoare de căutare. Această calitate a
rezultatelor căutării se bazează substanțial pe PageRank, o metodă sofisticată de clasare a
documentelor web.

18
Se afirmă adesea că, având în vedere în special dinamica internetului, a trecut prea mult
timp de la lucrările științifice pe PageRank, deoarece aceasta ar putea fi totuși baza metodelor
de clasificare a motorului de căutare Google. Nu există nicio îndoială că, în ultimii ani, s-au
întâmplat, probabil, multe schimbări, ajustări și modificări privind metodele de clasificare
ale Google, însă PageRank a fost absolut esențială pentru succesul Google, astfel încât cel
puțin conceptul fundamental al PageRank-ului ar trebui să fie în continuare constitutiv.

De la primele etape ale rețelei web, motoarele de căutare au dezvoltat metode diferite
de a clasifica paginile web. Până în prezent, apariția unei expresii de căutare într-un
document este un factor major în tehnicile de clasificare a oricărui motor de căutare. Apariția
unei fraze de căutare poate fi, prin urmare, ponderată de lungimea unui document (clasarea
după densitatea cuvintelor cheie) sau de accentuarea acestuia în cadrul unui document de
către etichetele HTML.

În scopul obținerii unor rezultate mai bune ale căutării și în special pentru a face ca
motoarele de căutare să fie rezistente față de paginile web generate automat, pe baza analizei
criteriilor de clasificare specifice conținutului (pagini de intrare), conceptul de popularitate
a link-urilor a fost dezvoltat. În urma acestui concept, numărul de linkuri de intrare pentru
un document măsoară importanța sa generală. Prin urmare, o pagină web este, în general,
mai importantă, dacă multe alte pagini web se leagă de aceasta. Conceptul de popularitate a
link-urilor evită deseori clasamentele bune pentru paginile care sunt create numai pentru a
înșela motoarele de căutare și care nu au nicio semnificație în cadrul webului, dar numeroși
webmasteri o elimină prin crearea de mase de link-uri de intrare pentru pagini de intrare de
la fel de nesemnificative pagini web.

Contrar conceptului de popularitate a link-urilor, PageRank nu se bazează doar pe


numărul total de linkuri inbound. Abordarea de bază a PageRank este că un document este,
de fapt, considerat mai important cu cât mai multe alte documente se leagă de el, dar acele
linkuri de intrare nu se iau în calcul în mod egal. În primul rând, un document se clasează
înalt în termeni de PageRank, dacă alte documente de rang înalt se leagă de acesta.
Astfel, în cadrul conceptului PageRank, rangul unui document este dat de rangul
documentelor care leagă acest document. Rangul lor din nou este dat de rangul de documente
care le leaga. Prin urmare, PageRank-ul unui document este întotdeauna determinat recursiv

19
de PageRank al altor documente. Întrucât - chiar dacă este marginal și prin multe legături -
rangul oricărui document influențează rangul oricărei alte, PageRank este, în cele din urmă,
bazat pe structura de legătură a întregii pagini web. Deși această abordare pare a fi foarte
largă și complexă, Page și Brin au reușit să o pună în practică printr-un algoritm relativ
trivial.

3.2.2 Algoritmul HITS

În același timp, când PageRank era în curs de dezvoltare, Jon Kleinberg, profesor la
Departamentul de Informatică de la Cornell, a venit cu propria sa soluție la problema de
căutare pe Web. El a dezvoltat un algoritm care a făcut uz de structura link-ului web pentru
a descoperi și clasifica paginile relevante pentru un anumit subiect. HITS (hyperlink-induced
topic search – căutarea subiectelor induse prin hiperlink) este acum parte a motorului de
căutare Ask (Fig.3.2.2.1).

Fig. 3.2.2.1 – Motorul de căutare Ask

Unul dintre punctele interesante pe care le-a adus a fost că perspectiva umană asupra
modului în care ar trebui să meargă un proces de căutare este mai complexă decât compararea
unei liste de cuvinte de interogare cu o listă de documente și returnare. Să presupunem că
vrem să cumpărăm o mașină și să scriem într-o expresie generală de interogare precum "cei
mai buni producători de automobile în ultimii 4 ani", probabil cu intenția de a reveni la o
20
listă de mărci de top și site-urile lor oficiale. Atunci când puneți această întrebare prietenilor
dvs., vă așteptați ca aceștia să poată înțelege că automobilul înseamnă mașină, vehicul și că
automobilul este un concept general care include furgonete, camioane și alte tipuri de mașini.
Când puneți această întrebare unui computer care execută un algoritm de clasificare bazat
pe text, lucrurile ar putea fi foarte diferite. Acest computer va număra toate aparițiile
anumitor cuvinte într-un anumit set de documente, dar nu va face o reformulare inteligentă
pentru dvs. Lista paginilor de top pe care le primim înapoi, în timp ce este corectă din punct
de vedere algoritmic, ar putea fi foarte diferită de cea așteptată.

O problemă este că cele mai multe site-uri web oficiale nu sunt suficiente pentru a le
descrie pe sine. S-ar putea să nu se facă publicitate așa cum le percepe publicul larg.
Companiile de top cum ar fi Hunday, Toyota, s-ar putea să nu utilizeze chiar și termenii
"producătorii de automobile" pe site-urile lor. Ei ar putea folosi termenul "producător de
mașini" sau doar descriu produsele și afacerea lor.

Algoritmul lui Jon Kleinberg numit HITS identifică autorități și hub-uri bune pentru un
subiect prin atribuirea a două numere unei pagini: o autoritate și o greutate a hub-ului. Aceste
greutăți sunt definite recursiv. O greutate mai mare a autorității apare dacă pagina este
indicată de pagini cu greutăți mari ale butucilor. Se produce o greutate mai mare a hubului
dacă pagina indică mai multe pagini cu greutăți mari de autoritate.

Pentru a obține un set bogat în ambele hub-uri și autorități pentru o interogare Q, mai
întâi colectăm primele 200 de documente care conțin cel mai mare număr de apariții ale
expresiei de căutare Q. Acestea, așa cum s-a arătat anterior, nu pot fi de o relevanță practică
extraordinară , dar trebuie să începem undeva. Kleinberg subliniază faptul că paginile din
acest set numite rădăcină (RQ) sunt în esență foarte eterogene și conțin, în general, numai
câteva linkuri (dacă există) între ele. Deci, subgraful web determinat de aceste noduri este
aproape total deconectat; în special, nu putem impune tehnici de Page Rank pe RQ.

Autoritățile pentru interogarea Q nu sunt foarte susceptibile de a fi în setul rădăcină RQ.


Cu toate acestea, acestea sunt susceptibile de a fi evidențiate de cel puțin o pagină din RQ.
Deci, este logic să se extindă substratul RQ prin includerea tuturor marginilor care provin de
la sau care indică noduri din RQ. Semnificăm prin SQ subgraful rezultat și numim semințele
căutării noastre. Observați că SQ pe care l-am construit este un grafic relativ mic (cu

21
siguranță este mult mai mic decât graficul de 30 de miliarde de noduri!). De asemenea, este
probabil să conțină o mulțime de surse autoritare pentru Q. Întrebarea care rămâne este cum
să le recunoaștem și să le evaluăm? Din punct de vedere euristic, autoritățile de la aceeași
temă ar trebui să aibă o mulțime de pagini comune de la SQ care să le arate. Folosind
terminologia noastră anterioară, ar trebui să existe o mare suprapunere în setul de hub-uri
care le indică.

De aici, traducem totul în limbaj matematic. Asociază fiecare pagină cu două numere:
o greutate a autorității și o greutate a hub-ului. Considerăm că paginile cu un număr mai
mare ai sunt mai bune autorități, iar paginile cu un număr mai mare de persoane sunt mai
bune. Având în vedere greutățile {ai} și {hi} din toate nodurile din SQ, actualizăm dinamic
greutățile după cum urmează:

ap = suma hi pentru toate nodurile i indicând p

hp = suma ai pentru toate nodurile i indicate de p

Un hub bun crește gradul de autoritate al paginilor pe care le indică. O bună autoritate
mărește greutatea hub-ului paginilor care indică spre ea. Ideea este atunci să se aplice cele
două operații de mai sus, alternativ, până la atingerea valorilor de echilibru pentru greutățile

22
hub și autoritate. Fie A matricea de adjuvanitate a graficului SQ și se desemnează vectorul
greutății autorității cu v si vectorul de greutate al butucului de cătru u, unde(1) :

𝑎1 ℎ1
𝑎2 ℎ2
v = [ ] și u = [ ]
𝑎3 ℎ3
𝑎4 ℎ4

Să observăm că cele două operații de actualizare descrise în imagini se traduc la:

1
1
Dacă considerăm că există greutățile inițiale ale nodurilor u0 = [ ] și
.
1

apoi, după pașii k obținem sistemul:

HITS algoritmul este în același spirit ca PageRank. Ambele utilizează structura de


legătură a graficului Weg pentru a decide relevanța paginilor. Diferența este că, spre
deosebire de algoritmul PageRank, HITS funcționează numai pe un subgraf mic (semnul
SQ) din graficul web. Acest subgraf este dependent de interogare; ori de câte ori căutăm cu
o altă expresie de interogare, se schimbă și semințele. HITS clasifică nodurile de semințe în
funcție de autoritatea și greutățile lor. Paginile cu rangul cel mai mare sunt afișate de
utilizator de către motorul de interogare.

23
4. Algoritmul PageRank
4.1 Descriere matematică

PageRank este un algoritm care măsoară influența tranzitorie sau conectivitatea


nodurilor. Se poate calcula fie prin repartizarea iterativă a rangului unui nod (inițial bazat pe
grad) peste vecinii săi, fie prin traversarea aleatorie a graficului și prin numărarea frecvenței
de lovire a fiecărui nod în timpul acestor plimbări.

PageRank este numit după co-fondatorul Google Larry Page și este folosit pentru a
clasifica site-urile în rezultatele căutării Google. Contează numărul și calitatea legăturilor
către o pagină care determină o estimare a importanței paginii. Ipoteza principală este că
paginile de importanță sunt mult mai probabil să primească un volum mai mare de linkuri
din alte pagini. PageRank este definită în documentul original Google după cum urmează:

PR(A) = (1-d) + d (PR(T1)/C(T1) + ... + PR(Tn)/C(Tn))

PageRank poate fi aplicat într-o gamă largă de domenii. Următoarele sunt câteva cazuri
notabile de utilizare:

 PageRank-ul personalizat este folosit de Twitter pentru a prezenta utilizatorilor


recomandări ale altor conturi pe care ar dori să le urmeze. Algoritmul este rulat pe un grafic
care conține interese comune și conexiuni comune. Abordarea lor este descrisă mai detaliat
în "WTF: Cine să urmărească serviciul pe Twitter".

 PageRank a fost folosit pentru a clasifica spațiile publice sau străzile, estimând fluxul de
trafic și mișcarea umană în aceste zone. Algoritmul rulează pe un grafic care conține
intersecții legate de drumuri, unde scorul PageRank reflectă tendința oamenilor de a parca
sau de a-și termina călătoria pe fiecare stradă. Acest lucru este descris mai detaliat în
"Drumurile naturale auto-organizate pentru predicția fluxului de trafic: un studiu de
sensibilitate".

24
 PageRank poate fi folosit ca parte a unui sistem de detectare a anomaliilor sau a fraudei în
industria asistenței medicale și de asigurări. Aceasta poate ajuta găsirea medicilor sau a
furnizorilor care se comportă într-o manieră neobișnuită și apoi să alimenteze scorul într-
un algoritm de învățare a mașinilor.

Există câteva cazuri în care algoritmul PageRank nu se poate utiliza:

 Dacă nu există linkuri dintr-un grup de pagini în afara grupului, atunci grupul este
considerat o capcană de păianjen.

 Dacă o pagină conține un link către o altă pagină care nu are linkuri excluse, legătura ar fi
cunoscută ca un link încurcat.

Rădăcinile PageRank-ul de fapt, provin din cercetari din bibliotecă. Analiza


structurii citate printre lucrări academice. De exemplu spunem că inN(i) este setul de
pagini care leagă în pagina Pi și outN(i) să fie un set de pagini care se leagă Pi la
PageRank-ul unei pagini Pi, r notat (Pi), este suma PageRank-ul tuturor paginilor care
sunt legate de Pi.

Dar r(Pi) depinde de PageRank-ul altor pagini si este calculat iterativ .Algoritmul pentru

PageRank incepe prin a atribui un rank de pentru fiecare pagina in parte , unde „n” este

numarul total de pagini de pe ’’web’’. r0= pentru fiecare pagina „i”. PageRank-ul la „k+1”

iterații este dat de catre formula :

25
Să considerăm un site web simplu ca în Figura 3.2.1 :

Fig. 3.2.1 – Reprezentarea unui site web simplu

Evaluam Rank-ul celor 6 pagini din Figura 3.2.1 prin metoda arătată în Tabelul 1:

Page Iteration Iteration Iteration Rank


0 1 2

1 1/6 1/12 1/24 4

2 1/6 1/12 1/24 4

3 1/6 1/12 1/24 4

4 1/6 1/4 1/4 1

5 1/6 1/6 1/6 3

6 1/6 1/6 1/5 2

Tabelul 1 – ” Tabel al rank-ului paginilor după 2 iterații”

Deși este simplă și directă de utilizat pentru un set mic de pagini metoda iterației este
ineficientă avand în vedere dimensiunile tuturor paginilor WEB. Presupunând că vizualizăm
paginile web ca pe un mare grafic și fiecare pagină pe web ca pe un vârf, hyperlink-uri între
pagini ca marginile îndreptate între două noduri și un utilizator care ar dori să navigheze pe
web facând click-uri arbitrare pe hyperlink-urile între pagini, ca o plimbare aleatorie pe acest
grafic. În acest context suntem capabili să aplicăm teoria plimbarilor aleatorii pentru a simula
un utilizator navigând pe internet.

26
Fie ”r” vectorul PageRank, ecuația iterativă pentru a calcula gradul de pagină „i” la
iterația k este:

Scriem acest lucru folosind notațiile matrice precum: = * K, unde K este

probabilitatea matricii de tranziție. Dacă secvența r1,r2,r3.....,rk,..... se convergește unic,


atunci avem un vector de PageRank stabil, dar nu este nicio garanție ca această secvență se
convertește unic.

, iar matricea adiacentă o vom nota cu A și este definită în felul urmator :

Matricea hyperlink este o matrice N x N unde K=DgA, este matricea de tranziție


probabilitate ponderată a graficului de web.

Cele mai multe pagini de pe web nu sunt legate între ele, lăsând mai multe zerouri în
fiecare rand. În plus, există pagini care nu ai nici un outlink cum ar fi fișiere imagine, fișiere
document, etc. . Aceste pagini sunt denumite „noduri suspendate”, creând zero rânduri în
matrice lăsând „K” slab populata. Modelul surfer aleator face K , probabilitatea matricii de
tranzitie , de o plimbare aleatoare, dar rândurile de zero ar face matricea hyperlink „K” sub-
stocastică.

Calculul PageRank-ului - Matricea Google G este ireductibilă și primitivă. Din teoria


lanțurilor Markov sțim că există un vector unic de distributie stationara. Stim ca vectorul de
27
distributie stationara este vectorul propriu din stanga al matricei G corespunzator celei mai
mari valori proprii 1. In teorie, vectorul PageRank poate fi calculat in doua moduri.

 Rezolvarea problemei vectorului propriu .

= .

1 = 1.

 Rezolvarea sistemului liniar omogen pentru .

1 = 1.

Primul sistem ne cere sa găsim ”eigenpair” dominantă a matricei G, în timp ce a doua


metoda ne cere sa rezolvam ecuații liniare n omogene. Matricea Google este mare și densa.
Descompunerea matriceii G este computațională intensiva. Alte metode numerice mai
avansate și eficiente de calcul există la rezolvarea aceleiași ecuații.

Metoda de putere este una dintre cele mai vechi și mai simple metode iterative pentru
găsirea unei perechi dominante a unei matrice. Dar acest lucru este, de asemenea, cel mai
lent ca și matricea nu converge rapid. Există trei motive principale pentru care Brin și Page
au ales să puna în aplicare metoda de putere pentru calcularea PageRank.

 Pentru punerea în aplicare a metodei puterii, multiplicarea matricei se face pe matricea


hyperlink rară K, făcând-i mai putin computațională.

 Metoda de alimentare este, de asemenea, favorabila depozitării. Maricea rara hyperlink


”K”, vector nod „dangling” și un πk sunt singurele elemente care sunt stocate. Vectorul

28
PageRank este complet dens. Având în vedere dimensiunea web, cerințele de stocare sunt
un factor major

 Matricea Google converge in 50 de iteratii. Matricea hyperlink K=Dg este :

Doar al 2 lea nod este ”dangling” deci vectorul nod ”dangling” este aT=[010000].

Matricea stocastica S =K+ este :

Pentru α=0,85 Matricea Google este scrisa astfel : G= 0,85*S +0,15 J , care este egala cu:

29
În mod evident, G este pozitiv,de aici primitiv. Acum vom calcula vectorul PageRank
ca distribuția staționară a lui G, folosind metoda de putere :

4.2 Tehnici de accelerare a calculelor


S-au făcut multe eforturi pentru a îmbunătăți PageRank [Brin și Page 98, Page et al. 98],
algoritmul de rang bine-cunoscut utilizat de Google. Miezul Page-Rank exploatează o
repartizare iterativă de greutate a rangului pe paginile web, până la atingerea unui punct fix.
Acest punct fix se dovedește a fi eigenpair-ul (dominant) al unei matrice derivată din graficul
web propriu-zis. Brin și Page sugerau inițial să calculeze această pereche utilizând metoda
de putere binecunoscută [Golub și Van Loan 96] și au oferit o interpretare frumoasă a
PageRank-ului în termenii lanțurilor Markov. Studiile recente despre PageRank se referă la
cel puțin două nevoi diferite: în primul rând, dorința de a reduce timpul petrecut în greutatea
nodurilor graficului web, care durează mai multe zile de calcul și, în al doilea rând,
necesitatea de a atribui numeroase valori PageRank fiecărei pagini web.

Acest lucru este necesar pentru personalizarea lui PageRank, care a fost recent
prezentată de Google ca serviciu beta sau pentru un anumit algoritm euristic pentru
algoritmii PageRank care nu necesită coluziune, care necesită calcularea multor vectori
PageRank pentru diferite opțiuni ale unui parametru.

Abordările anterioare au urmat diferite direcții, cum ar fi încercarea de a comprima


graficul web pentru ao potrivi în memoria principală sau implementarea în memorie externă
a algoritmilor. O piesă de cercetare foarte interesantă exploatează metode numerice eficiente
pentru a reduce timpul de calcul.

Atunci când rezolvăm un sistem liniar, trebuie să acordăm o atenție deosebită


condiționării problemei, numărul magic reprezentând "duritatea" rezolvării unui sistem
liniar. Numărul de condiții al matricei A (matricea de adiacență) este definit ca fiind cond(A)
= ||A|| ||A-1|| pentru orice normă a matricei. Este ușor de arătat, așa cum a demonstrat Kamvar
1+𝑎
și Haveliwala, că numărul condiției din prima normă a lui S este cond(S) = 1−𝑎
, ceea ce

30
înseamnă că problema tinde să devină prost condiționată deoarece tinde spre 1. Pentru
condiționarea lui R, putem dovedi următoarea teoremă:

TH1: Numerele condițiilor exprimate în prima normă a matricelor S și R sunt de așa natură
încât:

cond(R) ≤ cond(S).

Mai mult de atât, inegalitatea este ctrictă dacă și numai dacă din fiecare nod există o cale
directă către un nod care se învârte.

1+𝑎
Pentru a demonstra teorema trebuie să arătam că cond(R) ≤ 1−𝑎. Avem:

Atunci, dacă P ≠ O, ||R||1 = 1+α. Notăm atunci R-1 ca fiind o matrice non-negativă, prin
urmare:

Mai mult de atât:

Deoarece fiecare intrare a vectorului Pe este mai mică sau egală cu 1, avem Pie ≤ e, prin
urmare:

ceea ce dovedește că cond(R) ≤ cond(S).

Să arătăm acum cu tranzițiile de stare ale lanțului Markov inegalitatea este strictă dacă
din fiecare pagină este posibil să ajungeți la un nod care se învârte. Deoarece P are noduri
încurcate, P este reductibil.

Fie k, k ≥ 1, numărul de componente puternic conectate ale graficului web. Putem


permuta rândurile și coloanele lui P, grupând împreună nodurile aparținând aceleiași
componente conectate și listarea nodurilor în ultimele rânduri. Prin urmare, P poate fi
exprimat în formă redusă:

31
unde blocurile diagonale Pii sunt ireductibile. Prin ipoteză, din fiecare pagină web putem
ajunge la un nod care se încurcă cu un număr finit de clicuri. În ceea ce privește matricea P,
aceasta înseamnă că, pentru fiecare i, 1≤ i ≤ k, fiecare bloc Pii are cel puțin un rând al cărui
sumă este strict mai mica decât 1.

O extensie a teoremei cercului a lui Gershgorin ne asigură că raza spectrală a fiecărui bloc
diagonal Pii este mai mică decât 1. Deoarece valorile proprii ale lui P sunt valorile proprii
ale blocurilor diagonale, aceasta garantează că ρ(P) < 1. Să luăm în considerare metoda
iterativă xi+1= Pxi; deoarece ρ(P) < 1, această metodă este convergentă la vectorul 0, pentru
fiecare alegere a vectorul de pornire x0. Apoi alegând x0 = e, există un număr întreg i astfel
încât Pi e< e.

Rețineți că dacă condiția care garantează inegalitatea strictă între numărul condițiilor S și R
nu este îndeplinită, există o reordonare a lui R care permite împărțirea problemei inițiale în
două subprobleme disjuncte.

32
5. Descrierea aplicației MATLAB pentru
clasificarea nodurilor unei rețele
5.1 Implementarea GUI
MATLAB® = Limbaj de înaltă performanţă pentru proiectarea asistată de calculator

MATLAB este în acelaşi timp un limbaj de programare şi un sistem de dezvoltare care


integrează calculul, vizualizarea şi programarea într-un mediu uşor de utilizat (easy-to-use),
problemele şi soluţiile acestor probleme fiind exprimate într-un limbaj matematic accesibil.

Domenii de utilizare:

 Matematică şi calcul numeric


 Dezvoltarea algoritmilor
 Modelare, simulare şi testarea prototipurilor
 Analiza şi vizualizarea datelor
 Grafica inginerească şi din ştiinţele aplicate
 Dezvoltarea de aplicaţii, inclusiv GUI

Limbajul MATLAB: Reprezintă un limbaj de nivel înalt de tip matrice/tablou cu


instrucţiuni de control al salturilor, funcţii, structuri de date, intrări/ieşiri şi cu proprietăţi de
programare orientată pe obiecte.

Mediul de lucru MATLAB: Reprezintă un set de facilităţi care permit manevrarea


variabilelor în spaţiul de lucru, importul şi exportul de date, dezvoltarea, manipularea,
editarea şi depanarea fişierelor MATLAB (.m) şi a aplicaţiilor MATLAB.

Handle Graphics®: Reprezintă sistemul grafic al MATLAB-ului. Cuprinde comenzi de


înalt nivel pentru vizualizarea datelor bi şi tri-dimensionale, procesarea imaginilor, animaţie,
prezentări de grafice. Permite de asemenea utilizarea unor comenzi de nivel scăzut pentru
crearea unor interfeţe grafice GUI.

33
Biblioteca de funcţii matematice a MATLAB-ului: Reprezintă o colecţie complexă de
algoritmi de calcul pornind de la funcţii elementare (sinus, cosinus etc.) până la funcţii
sofisticate (inversarea de matrice, valori proprii, funcţii Bessel, FFT etc.).

Interfaţa de aplicaţii program a MATLAB-ului (API) este o bibliotecă care permite


scrierea de programe în C sau Fortran care interacţionează cu MATLAB-ul. Include facilităţi
pentru apelarea rutinelor din MATLAB, apelarea MATLAB-ului ca maşină de calcul,
scrierea şi citirea fişierelor de tip .MAT .

Editorul GUIDE cuprinde o gamă largă de facilități, cu ajutorul acestuia se pot


implementa diferite interfețe pentru anumite soft-uri care le face utilizarea mai uşoară. Dacă
soft-ul presupune introducerea unor parametri şi simularea acestora prin diferite metode, iar
apoi rezultatele sunt afișate pe o axă, atunci să ne gândim că putem face aceasta foarte ușor
şi frumos cu ajutorul acestui editor. În primul rând pentru a proiecta o interfață pentru un
modul software, trebuie să avem un plan bine structurat și să ne facem măcar o schiță cum
ar trebui să arate interfața grafică.

Aplicațiile care pot fi implementate cu ajutorul MATLAB-ului şi al editorului GUIDE


variază de la simple soft-uri care pot afişa o imagine, până la diverse module software care
pot parcurge anumite metode matematice,(un calculator care poate efectua diferite calcule)
și chiar diferite module de soft din domeniul ingineresc.

Pentru un soft care rezolvă anumite probleme de control predictiv, o interfață grafică ar
ajuta și ar ușura foarte mult munca celui care o implementează, dar în același timp ar fi şi
foarte ușor de folosit de diveriși utilazatori. Pentru un simplu utilzator îi este mult mai ușor
să introducă câţiva parametri iar apoi într-un grafic să vadă rezultatul simulării, în același
timp utilazatorul poate alege diferite modele de simulare și le poate testa pentru a obține
rezultatele dorite.

O interfață grafică care rezolvă anumite probleme de control predictiv poate fi proiectată
foarte ușor cu ajutorul editorul GUIDE, pentru că acest editor pune la îndemână tot de ce
este nevoie.

34
5.2 Interfața grafică de lansare
Ținând cont că este un modul software pentru implementarea algoritmului PageRank,
interfața grafică are nevoie de unele componente care ajută să-i facă utilizarea mai uşoară și este
nevoie de o interfață grafică de început, aceasta are rolul de a se lansa în execuţie şi apoi a ajuta
utilizatorul să facă legătura cu ajutorul butoanelor comutatoare de restul interfețelor.

Acesta poate conține un mesaj sau un titlu care se adresează către utilzator, plus unul sau mai
multe butoane comutatoare push button, care pot rula către următoarea interfața grafică. După
cum putem vedea în figura 5.2.1 este prezentată interfața grafică de lansare a modulului software.

Fig. 5.2.1 – Interfața grafică de lansare

Alegerea componentelor se face pe baza a ceea ce vrea să se implementeze, să nu uităm


că pentru a crea o interfață grafică pe lângă partea de cod, trebuie făcută și schița cu ce ar
trebui să conțină și ce componenete folosește (Text, Input, Pushbutton, Axe, Slidere, Meniuri
etc). Când schița este gata, se poate deschide editorul GUIDE și se poate începe
implementarea interfeţei.

Editorul GUIDE are în partea stângă sus un panel unde se află toate aceste componete
cu care se pot alcătui interfata grafică.

35
Fig. 5.2.2 – Bara de instrumente pentru crearea interfeței grafice

Fiecare instrument din figura 5.2.3 are un anumit rol ce face mai ușoară munca celui
care implementează interfața dar totodată și a utilizatorului, pentru că oferă un aspect plăcut
dar şi utilitatea lor este mare. Pentru a implementa interfaţa modulului software pentru
testarea algoritmului PageRank, este nevoie de unele componente din acel panel, iar prin
funcţiile care le oferă fiecare ajută la crearea acesteia.

Figura 5.2.3 – Utilizarea instrumentelor pentru crearea interfeței grafice

În alcătuirea interfeței grafice pot intra mai multe tipuri de elemente, depinde de ce are
nevoie utilizatorul, iar în interfața din figura 4.4 și figura 4.5, componentele se clasifică în
următorul fel:

 Butoane comutatoare sau pushbutton ( 1, 3),


 Casete static text (5),

36
 Meniul button group (2),
 Axele ( 4).

a) Butoane comutatoare sau pushbutton

Butoanele push button sunt definte ca fiind butoane de comandă pentru că în momentul
când utilizatorul apasă cu un click pe ele, acestea execută o anumită comandă, comenzi cum
ar fi:

 Trecerea de la o interfață la alta,


 Începerea sau stoparea unei simulări,
 Afișarea unei imagini,
 Închiderea unei interfeţe,
 Afișarea unor grafice,
 Ştergerea sau golirea axelor.

În figura 5.2.3 sunt prezente un set de butoane pushbutton care au rolul de a plota
rezultatul algoritmului în funcție de preferințele fiecăruia. Utilizatorul pe lângă rolul pe care
le poate da acestor tipuri de butoane, le poate oferi şi un anume design schimbându-le
culoarea, dimensiunea, denumirea ca să poată fi diferențiate de celelalte elemente din
interfață. Aceste butoane comutatoare odată apăsate vor trece imediat să execute comanda
pe care au primit-o de la utilzator. Pentru alcătuirea interfeţei s-au mai folosit mai multe
tipuri de butoane comutatoare care au rolul de a te întoarce la interfaţa precedentă cum ar fi
butonul Înapoi (1) din figura 5.2.3.

Toate aceste butoane prezentate sunt butoane comutatoare pushbutton care execută o
comandă când utilizatorul foloseşte interfaţa grafică. Rolul și atribuțiile fiecărui buton pot fi
date când se implementează interfața.

b) Casetele static text


Casetele static text (5), sunt folosite în mare parte pentru a edita un text în interfață, a
marca un titlu sau un anumit mesaj. Acestea permit doar scrierea de text, nu au alte funcții

37
mai avansate. Într-un editor de text se pot schimba mărimea fontului, stilul fontului,
alinierea, culoarea etc.

c) Meniul button group


Meniul Button Group (2) este un component care are rolul de a ţine interfaţa grafică mai
ordonată şi organizată. În interiorul acestuia putem introduce ori ce tip de component şi se
pot mări în funcţie de cât doreşte utilzatorul. Cu ajutorul acestui element se pot crea panouri
de comandă în care pot fi introduse alte meniuri button group şi pot fi editate cum doreşte
utilizatorul, se pot adăuga şi butoane de comandă, casete de input, axe, slidere şi orice altă
componentă dorită.

Într-o interfaţă mai complexă, unde pot exista mai multe tipuri de componente această
are un rol important pentru că ajută la organizarea lor. Acestora li se pot edita titlurile,
schimba mărimea, background-ul după cum se doreşte. În interfaţa modulului software
pentru testarea algoritmului PageRank acest meniu buton group a fost folosit pentru a descrie
graficul prezentat cu ajutorul ferestrei Axe. Acest meniu oferă un design mai plăcut şi îi oferă
celui care utilizează interfaţa grafică posibilitatea de a lucra mai uşor.

d) Axele
Axele (4) sunt elemente pe care pot fi afișate diferite rezultate ale unor simulări,
semnale, imagini etc. Acestea au un rol important în alcătuirea unei interfeţe care simulează
un model sau afișează o figură. Sunt foarte întâlnite în mediul de programare MATLAB şi
pot fi foarte uşor construite cu editorul GUIDE.

Axele (4) pot fi construite cu editorul GUIDE şi cu ajutorul setărilor din inspector pot
fi modelate după cum doreşte utilizatorul. Pentru a se putea afișa un rezultat al unei simulări
sau a unei figuri, este nevoie şi de un buton pushbutton (3), care atunci când este apăsat să
execute afișarea pe axe figura 5.2.4 și figura 5.2.5.

38
Figura 5.2.4 – Rezultatul reprezentat pe axa 1 (4)

Figura 5.2.5 – Rezultatul reprezentat pe axa 2

39
5.3 Implementarea algoritmului PageRank și
reprezentarea grafică a graficului de adiacență
Acest exemplu arată cum să utilizați un algoritm PageRank pentru a clasifica o colecție
de site-uri web. Deși algoritmul PageRank a fost conceput inițial pentru a clasifica rezultatele
motoarelor de căutare, el poate fi aplicat mai mult și la noduri în mai multe tipuri diferite de
grafice. Scorul PageRank oferă o idee despre importanța relativă a fiecărui nod de grafic
bazat pe modul în care este conectat la celelalte noduri.

Teoretic, scorul PageRank este probabilitatea limitativă că cineva care dă clic pe link-
uri de pe fiecare site va ajunge pe o anumită pagină. Astfel, paginile cu un scor mare sunt
foarte conectate și pot fi descoperite în rețea, și este mai probabil ca un surfer web aleator să
viziteze acea pagină.

Descrierea algoritmului

La fiecare pas al algoritmului PageRank, scorul fiecărei pagini este actualizat în funcție
de, r = (1-P)/n + P*(A'*(r./d) + s/n), unde:

 r este un vector al scorurilor PageRank;


 P este un factor de amortizare scalar (de obicei 0,85), care este probabilitatea ca
un surfer aleator să facă clic pe o legătură pe pagina curentă, în loc să continue pe
o altă pagină aleatoare;
 A' este transpusa matricei de adiacență a grafului;
 d este un vector care conține gradul de ieșire al fiecărui nod din grafic. d este setat
la 1 pentru nodurile fără margini de ieșire.
 n este un număr scalar ce reprezintă totalitatea nodurilor în graf;
 s este suma scalară a scorurilor PageRank pentru paginile fără link-uri.

Cu alte cuvinte, rangul fiecărei pagini se bazează în mare parte pe rangurile paginilor de
care este legată. Termenul A '* (r./d) preia scorurile nodurilor sursă care leagă fiecare nod
din grafic, iar scorurile sunt normalizate prin numărul total de legături de ieșire ale acestor
noduri sursă. Acest lucru asigură că suma scorurilor PageRank este întotdeauna 1. De

40
exemplu, dacă nodul 2 se leagă la nodurile 1, 3 și 4, atunci acesta transferă 1/3 din scorul
său PageRank la fiecare dintre aceste noduri în timpul fiecarei iterații a algoritmului .

Figura 5.3.1 reprezintă modul în care se creează un grafic care ilustrează modul în care
fiecare nod atribuie scorul de PageRank celorlalte noduri din grafic. Rezultatul fiind
prezentat în Figura 5.3.2.

Figura 5.3.1 – Cod reprezentare grafică

Figura 5.3.2 – Rata de scoruri PageRank Transfer între noduri

Funcția centralizată conține o opțiune pentru calcularea scorurilor PageRank.

41
PageRank cu 6 noduri

În cele ce urmează voi prezenta modalitatea prin care se poate crea și plota un grafic
direcționat care conține șase noduri reprezentând site-uri fictive – Figura 5.3.3.

Figura 5.3.3 – Crearea unui grafic direcționat

De aici va rezulta G digraph cu următoarele proprietăți:

Margini: [9x1 table]

Noduri: [6x1 table]

Pentru a plota rezultatul obținut în Figura 5.3.4 am utilizat următoarele comenzi:

plot(G,'Layout','layered', ...
'NodeLabel',{'alpha','beta','gamma','delta','epsilon','zeta'})

Astfel rezultând:

Figura 5.3.4 - grafic direcționat care conține șase noduri reprezentând site-uri fictive

42
Pentru a calcula scorul central al PageRank pentru acest grafic am utilizat o probabilitate de
urmărire (cunoscută și ca un factor de amortizare) de 0,85.

pr = centrality(G,'pagerank','FollowProbability',0.85)
pr = 6×1

0.3210
0.1706
0.1066
0.1368
0.2008
0.0643

Vizualizați scorurile și rapoartele PageRank pentru fiecare pagină.

G.Nodes.PageRank = pr;
G.Nodes.InDegree = indegree(G);
G.Nodes.OutDegree = outdegree(G);
G.Nodes

Figura 5.3.6 – Scorurile și rapoartele PageRank pentru fiecare pagină

Rezultatele arată că nu numai numărul de link-uri de pagină determină scorul, ci și


calitatea. Site-urile alfa și gamma ambele au un grad total de 4, însă legăturile alfa cu epsilon
și beta, care sunt, de asemenea, foarte bine cotate. gamma este legată doar de o singură
pagină, beta, care se află în mijlocul listei. Astfel, alfa este marcat mai mare decât gamma
prin algoritm.

În ultima figură atașată, Figura 5.3.7, este prezentat rezultuatul obținut în interfața grafică.

43
44
6. Concluzii
Analiza reţelelor sociale virtuale pot oferi date importante despre relaţiile interpersonale
și/sau rolul, psihologia, activitatea unei persoane în societate

Combinarea informaţiilor obţinute de pe diverse reţele de socializare virtuale poate crea


un profil complet al unui utilizator. Acest lucru nu poate fi privit ca fiind mereu un avantaj,
deoarece datele private ale unui utilizator pot fi stocate și folosite de către persoane mai puțin
voitoare sau chiar de unele mari companii în avantajul acestora. În majoritatea cazurilor acest
lucru (folosire datelor colectate despre un utilizator) se face fără ca utilizatorii direct
implicați să fie conștienți de modul în care sunt utilizate aceste informații.

 Rețelele sociale online vor schimba modul de abordare a vieții sociale, economice,
politice, educaționale
 Vor reduce costurile de comunicare și vor întări comunitățile
 Advertiserii trebuie să lupte împreună cu ele nu împotrivă
 Trebuie create noi moduri de evaluare

45
Bibliografie:
1. Barabási A.-L. (2002). Linked: The New Science of Network. Cambridge, MA: Perseus
Publishing.

2. Carrington P.J., Scott J., Wasserman S. (2005). Models and Methods in Social Network
Analysis, 328 pp. New York, USA: Cambridge University Press.

3. De Nooy W., Mrvar A., Batagelj V. (2005). Exploratory Social Network Analysis with Pajek,
334 pp. New York, USA: Cambridge University Press.

4. Degenne A., Forsé M. (1999). Introducing Social Networks, 248 pp. London: Sage
Publications.

5. Freeman L.C. (2004). The Development of Social Network Analysis, 205 pp. Vancouver:
Empirical Press.

6. Macy M.W., Willer, R. (2002). From factors to actors: Computational sociology and agent-
based modeling. Annual Review of Sociology, 28, 143-166.

7. Robins G., Snijders T., Wang P., Handcock M., Pattison P. (2007). Recent developments in
exponential random graph (p*) models for social networks. Social Networks 29, 192-215.

8. Scott J. (1991, 20002). Social Network Analysis: A Handbook, 208 pp. London: Sage
Publications.

9. Wasserman S., Faust K. (1994). Social Network Analysis: Methods and Applications, 825 pp.
New York, USA: Cambridge University Press.

46

S-ar putea să vă placă și