Bun, extensia despre care vreau să vă vorbesc
astăzi se referă extinderea rețelei.
Deja am făcut câteva teste
cu ea in lecția 4.
Dar am menționat faptul
că puteți adăuga
o operație de calcul care va fii
mai greu de calculat în
NetLogo, dacă o adăugați
în extensie... și...
acest model exemplifică acest lucru...și
despre asta vreau să vă vă vorbesc.
Deci, acesta este un alt mdel
de reprezentare virală a... după cum știți
îl numim "difuzarea informației". El ia în calcul
faptul că "Eu vreau să știu care este cea mai potrivită
persoană pentru a transmite un anume mesaj
dacă vreau ca acel mesaj
să se difuzeze repede în sistem.
Și am un buget că să pot determina
la câți oameni diferiți le pot da mesajul.
Am difeite tipuri de rețele
bazate pe
atașament preferențial
cum am văzut
anterior, dar acum voi avea și
o setare care este aleatorie sau
intermediară și această calitate intermediară este exact
despre ceea ce vorbesc cănd
vă spun că uneori este mai bine
să aveți acea operație de calcul
... scrisă într-un alt limbaj
și după care puneți NetLogo
să folosească o extensie pentru a o activa.
Asta deoarece calitatea intermediar-centrală este
dată de un calcul complex.
Ceea ce calculează o stare intermediară
este căt de des apare un nod
pe traseul cel mai scurt dintre
alte două noduri din
întreaga rețea... bun...
asta implică o comparație a ficărui nod
din rețea, găsirea ficărei rute scurte
către fiecare alt nod în
rețea și apoi să se detarmine care...
... căte... noduri se află pe aceste
rute. După cum vă puteți imagina
dacă dimensiunea rețelei crește
operația matematică "explodează"
și în multe cazuri nu
vrem să avem un cod de genul ăsta
direct într-un model din NetLogo, nu-i așa...
în schimb, este mai bine să
creăm o versiune java...
sau o vesrsiune în alt limbaj
pentru acest cod și apoi să îi spunem lui NetLogo
să acceseze acea versiune
pentru... acel set de date la care vă uitați.
Asta este exact ce face acest model.
Deci, ce face...
Vă setați rețeaua cum faceți în mod normal
o planificați puțin,
în cazul nostru avem "atașament preferențial"
și după aceea puteți vedea difuzarea
și puteți urmări cât de repede se face
difuzarea în rețea.
Și putem modifica diverse lucruri
ca, de exemplu, bugetul, care are ca efect
difuzarea de informații către mai mulți indivizi
în rețea și să vedem căt de repede
se desfășoară lucrurile.
Si putem schimba atributele diseminarii între
între "aleatoriu" și "intermediar".
Diseminarea aleatorie este după cum vă puteți imagina
o stategie de diseminare care diseminează inforamția
aleatoriu către oamenii din rețea
în timp ce [diseminarea] intermediară
se face prin găsirea indivizilor care
sunt cei mai buni intermediari
calculand care indivizi sunt plasați
pe cele mai scurte rute dintre oricare două
rețele. Există multe argumente care susțin
că un mod eficient de diseminare este folosirea
calității de intermediar pentru că
se identifică oameni într-adevăr se află
pe rutele pe care circulă informația
în întreaga rețea.
Deci acesta este modelul.
Acum să vedem cum este făcut.
Acum suntem în secțiunea de cod
Și cum am dicutat de mai multe ori anterior
penru a insera o extenie primul lucru
pe care îl facem este să creăm rețeaua
... creăm rețeaua întăi...
și apoi, la fel cum am mai făcut în lecția 4
vom folosi extensia rețelei pentru a genera rețeaua
iar aici o vom folosi și pentru a genera
atât rețeaua aleatoriu
căt pentru rețeaua bazată pe atașament preferențial
deci după cum puteți vedea
pentru rețeaua aleatorie
am generat (agenți și legături)... 500 de noduri
și un procent de (0.) de probabilitate de conectare
iar pentru atașamentul preferențial doar 500 noduri
bun... aceste lucruri le-am mai văzut
am văzut utilizarea extensiei pentru generarea rețelelor
dar ceea ce nu am mai făcut pănă acum
este folosirea operaținilor de calcul
ce facem este să cerem maximizarea bugetului
"ask max-n-of budget"
cu alte cuvinte cerem agentul (turtle) pentru buget
sa maximizeze raportorul
sa seteze atributul "adopted" ca adevarat
si sa updateze culoarea.
Cu alte cuvinte le transmitem ideea
pe care vrem sa o diseminam
bazandu-ne pe ceea ce maximizeaza
calitatea intermediar-centrala.
Acesta este un mod intersant de utilizare
extensiile pentru a introduce un cod
intr-un loc....
...un cod pe care il refolositi in mod frecvent
si pe care il puteti activa.
Deci o parte dintre extensiile create pentru NetLogo
fac aceste lucruri pentru voi.
Iau parti comune din cod
care erau folosite pentru a scrie coduri ]n NetLogo
si le pun in Java sau in alt loc
si apoi iti dau voie sa le activezi folosind o singura comanda
facand lucrurile mai usoare pentru noi.
Deci extensiile de retea au si alte comenzi
pozitia "intermediar-centrala" este doar una dintre ele
Va puteteti uita si la altele precum
pozitia "centrala in retea", de exemplu
dar va vor da un exemplu
ca sa vedeti cum sa faceti acest lucru.
Deci, cam atat despre "extensiile in retea"
si... da... in urmatoarea lectie vom vorbi
despre viitorul modelelor bazate pe agenti.