Ishodi učenja:
Klasificirati mrežu prema usmjerenosti, težinama, modalnosti i dinamici.
Odabrati prikladnu reprezentaciju i transformacije (projekcija bipartitne mreže).
Usporediti karakteristike small-world i scale-free obrazaca.
Procijeniti posljedice izbora tipa mreže na interpretaciju mjera.
Ova tipologija fokusira se na formalnu strukturu grafa \(G = (V, E)\) i svojstva bridova koji povezuju vrhove (Barabási, 2014; Knoke & Yang, 2019).
Najčešća podjela razlikuje četiri osnovna tipa mreža kombiniranjem usmjerenosti i valencije (Van Steen, 2010; Knoke & Yang, 2019):
Mreže se klasificiraju prema broju i vrsti skupova čvorova koje povezuju:
Na temelju topoloških svojstava i distribucije stupnjeva čvorova razlikujemo (Barabási, 2014; Jackson, 2008):
Pogledajmo distribuciju stupnjeva za dani graf:
U Erdős–Rényi (ER) modelu mreža nastaje tako da se svaki mogući par čvorova poveže na slučajan način, s istom vjerojatnošću. Važno je da tu nema posebnog pravila tipa “popularniji čvorovi dobivaju još više veza” niti “povezujemo se lokalno sa susjedima”. Zbog toga su takve mreže često dobar referentni (baseline) model: ako želimo provjeriti je li neka stvarna mreža “posebna”, usporedimo je s mrežom koja bi nastala slučajno. Mreže nalik ER mrežama se ponekad pojavljuju u situacijama gdje su kontakti ili veze kratkotrajni i nasumični, npr. slučajni susreti u većem prostoru ili ad-hoc povezivanje uređaja, ali u praksi, stvarni sustavi često odstupaju od ER-a jer imaju strukturu (grupice, hijerarhiju, “popularne” čvorove).
Watts–Strogatz (small-world) model pokušava opisati situacije u kojima većina veza nastaje lokalno (npr. “družim se s ljudima iz svog okruženja” - oblik homofilije, tj. povezivanje sa sličnima sebi po nekom kriteriju), ali postoji i nekoliko prečica koje povezuju udaljene dijelove mreže (npr. “imam prijatelja iz drugog grada/države” ili “radim s nekim iz druge organizacije”). Intuicija malog svijeta je da se u takvim mrežama i dalje lako formiraju male grupice (jer se lokalno često poznajemo), ali istodobno se do “dalekih” čvorova može doći kroz mali broj koraka zahvaljujući prečicama, tj. preko prijatelja i poznanika. Small-world obrasci često se javljaju u društvenim mrežama (prijatelji, kolege), ali i u nekim biološkim i tehnološkim sustavima gdje postoje lokalne veze + povremene dalekosežne veze (npr. prometne mreže s regionalnim cestama i nekoliko autocesta).
Uz small-world vezana je popularna tvrdnja da smo svi udaljeni oko 6 koraka. Ideja potječe iz eksperimenta Stanleya Milgrama (1967.), koji je slao pisma nasumičnim osobama u SAD-u uz uputu da ih proslijede nekome tko bi mogao biti “bliže” ciljanoj osobi. Prosječna duljina lanca bila je oko 6 posrednika. Kasnije su Duncan Watts i Steven Strogatz (1998.) matematički pokazali da mreže koje imaju lokalnu klasteriranost (ljudi se druže u grupama), ali i mali broj nasumičnih “prečaca” mogu imati vrlo kratke prosječne udaljenosti između čvorova. Poanta nije broj 6, nego činjenica da u velikim mrežama udaljenost između dva nasumična čvora raste vrlo sporo u odnosu na veličinu mreže. To je srž small-world efekta, koju su brojni znanstvenici naknadno istraživali. Na ovu temu možete pogledati i jedan zanimljiv video Veritasiuma.
Uvid u power law (zakon potencije):
Barabási–Albert (BA) model opisuje mreže koje rastu tako da novi čvorovi radije biraju povezivanje s već dobro povezanim čvorovima. To se često sažima kao “tko ima, dobit će još” ili “popularnost privlači popularnost”. Posljedica je da se s vremenom pojavi mali broj čvorova s vrlo mnogo veza — tzv. hubovi — dok većina čvorova ima mali broj veza. Takvi obrasci često imaju smisla u sustavima gdje postoji vidljivost ili reputacija: web linkovi (stranice koje su već popularne lakše dobiju nove linkove), citatne mreže (radovi koji su već citirani češće budu citirani), neke društvene mreže (profil s puno pratitelja lakše privuče nove pratitelje). Važno je naglasiti: “scale-free” je idealizacija i nije svaka velika mreža automatski scale-free (čak, većina nije), ali ideja hubova je korisna jer objašnjava zašto se neki sustavi ponašaju asimetrično (mali broj “čvorišta” drži velik udio povezanosti).
Regularna mreža je konceptualno najjednostavnija: svaki čvor ima isti broj veza (isti stupanj). To je jako “uredan” i homogen obrazac, u pravilu, više teorijska referenca nego realan opis društvenih sustava. Mreže nalik regularnima se ponekad pojavljuju u planiranim ili inženjerski dizajniranim sustavima gdje se želi uniformnost (npr. neke mrežne topologije u računalstvu, ili idealizirani rasporedi u simulacijama). Nama su korisne jer pokazuju kako izgleda mreža bez hubova i bez nejednakosti u broju veza — sve je “ravnomjerno raspodijeljeno” (očito, preuredno za stvarni svijet).
Modularne (ili hijerarhijske) mreže nastaju kada se čvorovi prirodno grupiraju u zajednice: unutar grupe - veze su guste, a između grupa - rjeđe. U stvarnosti to često odgovara situacijama “imamo odjele, timove, razrede, prijateljske klike, istraživačke grupe” — znači, mreža odražava organizaciju sustava. Hijerarhijski aspekt znači da se te zajednice mogu pojaviti na više razina: npr. pojedinci → timovi → odjeli → organizacija. Takvi obrasci su česti u društvenim i organizacijskim mrežama, ali i u biološkim sustavima (funkcionalne cjeline). Pedagoški je korisno naglasiti: modularnost nije “samo matematika”, nego često odražava stvarne granice i funkcije u sustavu.
Ova tipologija proizlazi iz nekoliko strukturnih obilježja mreže, koja nam pomažu razumjeti kako mreža izgleda, ali i kako funkcionira:
Gustoća govori koliko je mreža “popunjena” vezama. Ako zamislimo da bi se svi čvorovi mogli međusobno povezati, gustoća nam govori koliki se udio tih mogućih veza zaista pojavljuje.
Klasteriranje opisuje koliko se čvorovi “grupiraju” u male zatvorene krugove. Pojednostavljeno - ako je A povezan s B i C, kolika je vjerojatnost da su i B i C međusobno povezani?
Stupanj čvora je broj njegovih veza. Distribucija stupnjeva opisuje kako su ti brojevi raspoređeni u cijeloj mreži. Pojednostavljeno - imaju li svi čvorovi otprilike isti broj veza — ili postoji mali broj “super-povezanih” čvorova?
Dijametar ili promjer mreže govori koliko je mreža “raširena”. To je najveći broj koraka potreban da se dođe od jednog čvora do drugog, gledajući najkraće puteve. Intuitivno:
Modularnost opisuje koliko je mreža podijeljena u jasne zajednice (module). Ako u mreži postoje grupe i vrijedi da unutar grupe ima puno veza, a između grupa ima malo veza, onda kažemo da mreža ima modularnu strukturu.
Komponente: Komponenta je maksimalni povezani podgraf. U usmjerenim mrežama razlikujemo:
Povezanost izravno utječe na interpretaciju mjera poput dijametra, ekscentričnosti i centralnosti, jer te mjere pretpostavljaju postojanje puteva između čvorova.
Ovdje klasificiramo mreže prema tome:
što čvorovi predstavljaju,
kakvi su odnosi,
koja je razina analize,
koji je mehanizam generiranja mreže.
To je više epistemološka / supstantivna tipologija.
Rawlings i sur. (2023) razlikuju mreže prema vrsti sustava koji modeliraju, odnosno prema prirodi entiteta i procesa koje struktura povezanosti predstavlja.
Tehnološke i infrastrukturne mreže: Ovdje se radi o fizičkim ili tehničkim sustavima u kojima su čvorovi materijalne komponente (npr. usmjerivači, elektrane, raskrižja), a veze predstavljaju fizičke ili funkcionalne tokove (npr. prijenos podataka, električne energije ili prometa). Struktura takvih mreža izravno utječe na učinkovitost, robusnost i otpornost sustava. Primjerice, centralizirana struktura može povećati učinkovitost, ali i ranjivost na kvar ključnih čvorova.
Biološke mreže: U biološkim sustavima čvorovi mogu predstavljati gene, proteine, neurone ili vrste u ekosustavu, dok veze označavaju regulacijske, signalne ili trofičke odnose. Struktura mreže ovdje određuje funkcionalnost sustava – primjerice, kako se signal prenosi kroz neuronsku mrežu ili kako poremećaj jednog elementa utječe na cijeli metabolički put. Često se uočavaju modularnost i hijerarhijska organizacija.
Društvene mreže: U društvenim mrežama čvorovi su pojedinci, grupe ili organizacije, a veze predstavljaju odnose poput komunikacije, suradnje, povjerenja ili utjecaja. Fokus nije samo na postojanju veze, već i na obrascima strukture – tko je centralan, tko povezuje različite grupe, gdje nastaju klasteri ili nejednakosti. Društvene mreže posebno naglašavaju relacijsku dimenziju društvene stvarnosti, gdje se ponašanje i ishodi tumače kroz poziciju u mreži.
Ekonomske mreže: Ekonomske mreže modeliraju razmjenu resursa, vlasničke odnose, financijske tokove ili međuzavisnosti poduzeća i institucija. Čvorovi mogu biti tvrtke, banke, države ili tržišni akteri, a veze predstavljaju transakcije, vlasništvo ili kreditne odnose. Struktura takvih mreža utječe na širenje šokova, koncentraciju tržišne moći i sistemski rizik. Posebno je važno razumjeti kako gustoća, centralizacija i modularnost oblikuju stabilnost sustava.
Nastavno na ovu podjelu, zgodno je precizirati kakve karakteristike očekujemo naći u mrežama vezanim uz različite sustave. Jackson (2010.) sistematizira srodna istraživanja u društvenom i ekonomskom okruženju i ukazuje na pravilnosti u karakteristikama društvenih i ekonomskih mreža, koje obično imaju:
mali promjer i malu prosječnu duljinu puta u velikim mrežama (“mali svjetovi”);
distribucije stupnjeva s “debelim repom” u mnogim promatranim velikim mrežama, ali samo nekoliko njih strogo slijedi zakon potencije čak i ako vizualno izgledaju kao distribucije “bez skale”;
pozitivnu asortativnost (čvorovi visokog stupnja obično su povezani s drugim čvorovima relativno visokog stupnja; za tehnološke i biološke mreže očekuje se negativna asortativnost ili korelacija među povezanim čvorovima s nesrazmjernim stupnjevima);
obrasce između jezgre i periferije, gdje je jezgra sastavljena od visoko povezanih i međusobno povezanih čvorova;
visoke koeficijente grupiranja;
opadajuću stopu grupiranja među višim čvorovima s obzirom na stupanj (ukupno grupiranje je znatno niže od prosječnog grupiranja);
homofiliju, koja može biti rezultat prilike ili izbora (ljudi se obično povezuju sa sličnim ljudima);
slabe veze koje mogu biti važne zbog njihovog ponašanja poput mosta (tzv. brokeri) u odnosu na diseminaciju (uglavnom informacija), ali ovom svojstvu još uvijek nedostaje sistematizacija u istraživanjima za njegovu generalizaciju;
tendenciju pojavljivanja strukturnih rupa - nedostatak veze između različitih skupina.
Stanje (State) vs. Događaj (Event): Relacije stanja modeliraju trajne ili relativno stabilne odnose (npr. formalno članstvo, prijateljstvo), dok relacije događaja bilježe pojedinačne interakcije koje se događaju u vremenu (npr. slanje e-maila) (Butts, 2008; Rawlings i sur., 2023). Razlikovanje je ključno za odluku hoće li se mreža analizirati kao statička struktura ili kao sekvenca relacijskih događaja.
Potpisane (Signed) mreže: U potpisanim mrežama veze imaju predznak (pozitivne ili negativne). Takve mreže omogućuju analizu ravnoteže i konflikta, primjerice kroz teoriju strukturne ravnoteže (Wasserman & Faust, 1994; Scott, 2017).
Funkcionalna klasifikacija fokusira se na svrhu interakcija i prirodu resursa koji protječu kroz mrežu.
Ova podjela razmatra kako se struktura mreže mijenja tijekom vremena i kako reagira na promjene u okolini.
Statičke mreže: Statičke mreže omogućuju analizu globalnih obrazaca, ali zanemaruju redoslijed interakcija. Predstavljaju kumulativnu agregaciju svih interakcija u određenom razdoblju, zanemarujući vremenski slijed (Knoke & Yang, 2019; Rawlings i sur., 2023). One su “snimka” sustava u kojoj se veze smatraju trajnim stanjima (Wasserman & Faust, 1994; Scott, 2017).
Dinamičke (temporalne) mreže: Temporalne mreže omogućuju proučavanje sekvenci i kašnjenja u širenju (Holme & Saramäki, 2012). Sastoje se od vremenski označenih (timestamped) sekvenci interakcija (Holme & Saramäki, 2012; Bender-deMoll, 2016). Umjesto trajnih veza, fokus je na relacijskim događajima koji se događaju u specifičnim trenucima (Butts, 2008; Snijders, 2001).
Evolucijske mreže: Evolucijski modeli objašnjavaju kako struktura nastaje kroz mikro-mehanizme (Barabási & Albert, 1999; Kostelić i Turk, 2024). Fokusiraju se na proces rasta i promjene strukture kroz vrijeme, često vođene mikromehanizmima poput preferencijalnog vezivanja (“Matthew efekt”), gdje čvorovi koji već imaju mnogo veza brže privlače nove (Barabási, & Albert, 1999; Price, 1965; Merton, 1968; Albert & Barabási, 2002).
Adaptivne mreže: Adaptivne mreže naglašavaju povratnu spregu između strukture i ponašanja (Kirman, 1997; Morin i sur., 2017). Karakteriziraju ih povratne sprege (feedback loops) gdje procesi koji teku kroz mrežu mijenjaju samu njezinu strukturu (Kirman, 1997; Morin i sur., 2017). Primjerice, tijekom epidemije ljudi mijenjaju svoje kontakte (ponašanje) kako bi izbjegli infekciju (Centola, 2018; Rogers, 2003; Christakis & Fowler 2009; Pastor-Satorras & Vespignani, 2001).
Razina analize određuje granice sustava i fokus istraživačkog pitanja.
Važno je razlikovati:
Formalnu (matematičku) tipologiju, koja odgovara na pitanje kakav je graf?
Supstantivnu (domensku) tipologiju, koja odgovara na pitanje što graf predstavlja?
Ista mreža može istodobno biti:
usmjerena, ponderirana i scale-free (matematička klasifikacija),
ekonomska, difuzijska i globalna (supstantivna klasifikacija).
Poznavanje tipologije mreža ključno je jer ona definira cjelokupni istraživački proces, od prikupljanja podataka do odabira statističkih modela i interpretacije rezultata. Tipologija se ne smije promatrati kao izolirani skup oznaka, već kao višedimenzionalni okvir u kojem jedna mreža može istovremeno biti usmjerena, težinska, dinamična i višenivojska.
Osnovna podjela mreža temelji se na usmjerenosti (neusmjerene veze naspram usmjerenih lukova) i težini (binarne veze naspram težinskih/vrijednosnih). Dodatno, potpisane (signed) mreže uvode predznak (+/-) za modeliranje afektivnih odnosa poput prijateljstva ili neprijateljstva.
Razumijevanje topologije kroz modele kao što su nasumični (Erdős-Rényi), “mali svijet” (Watts-Strogatz) i scale-free (Barabási-Albert) otkriva temeljne mehanizme nastanka sustava. Primjerice, scele-free s “hubs” čvorištima ključne su za razumijevanje robusnosti Interneta i širenja informacija na World Wide Webu.
Nužno je razlikovati jednomodalne mreže (isti tip čvorova) od dvomodalnih (afilijacijskih) i višemodalnih struktura koje povezuju različite entitete, poput ljudi i događaja. Suvremeni pristup sve više koristi višerazinske (multilevel) i slojevite (multilayer) modele kako bi se obuhvatila kompleksnost ugniježđenih sustava, poput zaposlenika unutar organizacija.
Mreže se bitno razlikuju prema svojoj svrsi, što uključuje tehničke sustave (električne mreže, ruter), biološke sustave (neuronske veze, metabolizam), društvene sustave (prijateljstvo, utjecaj) i ekonomske mreže (trgovina, bankarski tokovi). Svaka domena nosi specifična kulturna ili sistemska očekivanja koja oblikuju obrasce povezivanja.
Zaključno treba znati razliku između statičkih agregacija, koje su “snimka” (snapshot) sustava u vremenu, i dinamičkih (temporalnih) mreža koje modeliraju relacijske događaje i evoluciju strukture kroz vrijeme. Adaptivne mreže idu korak dalje, prikazujući kako procesi koji teku kroz mrežu (npr. epidemija) povratno mijenjaju samu njezinu strukturu.
Analitičar mora odlučiti hoće li analizirati ego-mreže (lokalno okruženje pojedinca), cjelokupne (sociocentrične) mreže unutar zatvorenog sustava ili globalne sustave koji nadilaze organizacijske i geografske granice.
U konačnici, tipologija služi kao epistemološki alat koji omogućuje prelazak s metaforičkog shvaćanja mreža na precizno matematičko modeliranje i analiziranje ponašanja kompleksnih sustava.
U ovom dijelu, koristit će se R paketi:
igraph: graph_from_incidence_matrix(),
bipartite_projection(), simplify(),
as.undirected()
tidygraph: to_undirected(),
to_directed(), convert()
ggraph:
layout = "fr", "kk", "circle"
library(igraph)
g_bin_undir <- graph_from_literal(
A--B, A--C, B--C, # mali "trokut"
C--D, D--E, E--F, # lanac
C--F # jedna dodatna veza
)
g_bin_undir <- simplify(g_bin_undir) # `simplify` čisti strukturu grafa /uklanja višestruke bridove, petlje
set.seed(1)
plot(
g_bin_undir, # glavni argument je igraph objekt u kojem je opisana mreža
vertex.size = 22, # grafički element, veličina čvora u prikazu
vertex.label.cex = 0.9, # veličina naziva čvora
edge.arrow.size = 0, # veličina strelice luka
main = "Binarna neusmjerena mreža (0/1)"
)
Napomena: simplify() ne mijenja topologiju u smislu
povezivosti, nego uklanja tehničke redundancije kako bi graf bio
matematički “čist”. Argumenti funkcije simplify():
igraph::simplify(graph,
remove.multiple = TRUE,
remove.loops = TRUE,
edge.attr.comb = igraph_opt("edge.attr.comb"))
remove.multiple = TRUE uklanja višestruke bridove, a
remove.loops = TRUE uklanja petlje, npr.g <- graph_from_literal(
A--B,
A--B, # duplikat
B--C,
C--C # petlja
)
primjenom g <- simplify(g) postaje
g <- graph_from_literal(
A--B,
B--C
)
Ako postoje višestruki bridovi s težinama,
edge.attr.comb određuje kako se kombiniraju, npr.
igraph::simplify(g, edge.attr.comb = "sum") # zbraja težine duplikata
Moguće opcije su: "sum", "mean",
"first", "max", "min".
library(igraph)
g_bin_dir <- graph_from_literal(
A-+B, A-+C, # A šalje prema B i C
B-+C, C-+B, # recipročni par (B <-> C)
C-+D, D-+E, # tok dalje
E-+C # povratna veza (ciklus)
)
g_bin_dir <- simplify(g_bin_dir)
set.seed(2)
plot(
g_bin_dir,
vertex.size = 22,
vertex.label.cex = 0.9,
edge.arrow.size = 0.5,
main = "Binarna usmjerena mreža (digraf)"
)
Za usmjerenu mrežu / usmjereni graf ponekad se koristi naziv digraf (posuđenica od directed graph), dok se pojam bigraf ponekad koristi kao skraćenica za bipartitni graf
library(igraph)
edges <- data.frame(
from = c("A","A","B","C","C","D","E"), # polazni čvor
to = c("B","C","C","D","E","E","F"), # odredišni čvor
weight = c(3, 1, 5, 2, 4, 1, 2) # dodajemo težine
)
g_w_undir <- graph_from_data_frame(edges, directed = FALSE) # `directed = FALSE` - zadajemo neusmjereni graf
g_w_undir <- simplify(g_w_undir)
E(g_w_undir)$label <- E(g_w_undir)$weight # postavljamo težinu kao naziv brida
E(g_w_undir)$width <- 1 + 1.2 * (E(g_w_undir)$weight / max(E(g_w_undir)$weight)) # priprema za crtanje širine brida
set.seed(3)
plot(
g_w_undir,
vertex.size = 22,
vertex.label.cex = 0.9,
edge.arrow.size = 0,
edge.label.cex = 0.85, # veličine oznake brida
main = "Težinska neusmjerena mreza (težina na bridu)"
)
library(igraph)
edges <- data.frame(
from = c("A","A","B","C","D","E","F"),
to = c("B","C","D","D","E","F","C"),
weight = c(10, 4, 6, 2, 8, 3, 5)
)
g_w_dir <- graph_from_data_frame(edges, directed = TRUE) # `directed = TRUE` - zadajemo usmjereni graf
g_w_dir <- simplify(g_w_dir)
E(g_w_dir)$label <- E(g_w_dir)$weight # postavljamo težinu kao naziv luka
E(g_w_dir)$width <- 1 + 1.2 * (E(g_w_dir)$weight / max(E(g_w_dir)$weight)) # grafički elementi, prikaz većih težina širim lukom
set.seed(4)
plot(
g_w_dir,
vertex.size = 22,
vertex.label.cex = 0.9,
edge.arrow.size = 0.45,
edge.label.cex = 0.85,
main = "Težinska usmjerena mreža (smjer + weight)"
)
library(igraph)
g_one <- graph_from_literal(
Ana--Boris, Ana--Ivo, Boris--Ivo, # mali klaster prijateljstva
Ivo--Dino, Dino--Ema, Ema--Feri, # lanac
Boris--Dino # "most" između klastera i lanca
)
g_one <- simplify(g_one)
set.seed(10)
plot(
g_one,
vertex.size = 22,
vertex.label.cex = 0.85,
edge.arrow.size = 0,
main = "Jednomodalna mreža (one-mode): osoba–osoba"
)
library(igraph)
# osobe (P_) i događaji (E_)
edges <- data.frame(
from = c("P_Ana","P_Ana","P_Boris","P_Ivo","P_Ivo","P_Dino","P_Ema","P_Feri"),
to = c("E_Konf","E_Radion","E_Konf","E_Radion","E_Sast","E_Sast","E_Konf","E_Sast")
)
g_bi <- graph_from_data_frame(edges, directed = FALSE)
g_bi <- simplify(g_bi)
# bipartite tip: TRUE = osobe, FALSE = događaji
V(g_bi)$type <- grepl("^P_", V(g_bi)$name)
# uredniji labeli
V(g_bi)$label <- sub("^P_|^E_", "", V(g_bi)$name)
set.seed(11)
plot(
g_bi,
layout = layout_as_bipartite(g_bi),
vertex.size = 22,
vertex.label = V(g_bi)$label, # naziv čvora
vertex.label.cex = 0.85,
vertex.shape = ifelse(V(g_bi)$type, "circle", "square"), # oblik čvora prema tipu
edge.arrow.size = 0,
main = "Dvomodalna (bipartitna): osoba–događaj"
)
Primjer projekcije bipartitne mreže na one-mode (osobe–osobe)
library(igraph)
proj <- bipartite_projection(g_bi) # g_bi iz prethodnog chunka
g_people <- proj$proj1 # proj1 je za type==TRUE (osobe)
V(g_people)$label <- sub("^P_", "", V(g_people)$name)
set.seed(12)
plot(
g_people,
vertex.size = 22,
vertex.label = V(g_people)$label,
vertex.label.cex = 0.85,
edge.arrow.size = 0,
main = "Projekcija: osobe povezane ako dijele događaj"
)
library(igraph)
nodes <- c("Ana","Boris","Ivo","Dino","Ema","Feri")
verts <- data.frame(name = nodes, stringsAsFactors = FALSE)
# Layer 1: prijateljstvo
edges_friend <- data.frame(
from = c("Ana","Ana","Boris","Ivo","Ivo"),
to = c("Boris","Ivo","Ivo","Dino","Ema"),
stringsAsFactors = FALSE
)
# Layer 2: suradnja
edges_work <- data.frame(
from = c("Ana","Boris","Dino","Ema","Feri"),
to = c("Dino","Ema","Feri","Feri","Ivo"),
stringsAsFactors = FALSE
)
# Grafovi s istim skupom vrhova
g_friend <- graph_from_data_frame(edges_friend, directed = FALSE, vertices = verts)
g_work <- graph_from_data_frame(edges_work, directed = FALSE, vertices = verts)
g_friend <- simplify(g_friend, remove.multiple = TRUE, remove.loops = TRUE)
g_work <- simplify(g_work, remove.multiple = TRUE, remove.loops = TRUE)
# Isti layout za usporedbu
set.seed(13)
lay <- layout_with_fr(g_friend) # layout s Fruchterman-Reingold algoritmom
op <- par(mfrow = c(1,2), mar = c(1,1,2,1))
plot(g_friend, layout = lay, vertex.size=22, vertex.label.cex=0.85,
edge.arrow.size=0, main="Multiplex – sloj 1: prijateljstvo")
plot(g_work, layout = lay, vertex.size=22, vertex.label.cex=0.85,
edge.arrow.size=0, main="Multiplex – sloj 2: suradnja")
library(igraph)
edges <- data.frame(
from = c("EMP_Ana","EMP_Boris","EMP_Ivo","EMP_Dino","EMP_Ema","EMP_Feri","EMP_Gita"),
to = c("TEAM_A","TEAM_A","TEAM_B","TEAM_B","TEAM_B","TEAM_C","TEAM_C")
)
g_ml <- graph_from_data_frame(edges, directed = FALSE)
g_ml <- simplify(g_ml)
V(g_ml)$type <- grepl("^EMP_", V(g_ml)$name) # TRUE=employee, FALSE=team
V(g_ml)$label <- sub("^EMP_|^TEAM_", "", V(g_ml)$name)
set.seed(14)
plot(
g_ml,
layout = layout_as_bipartite(g_ml),
vertex.size = 22,
vertex.label = V(g_ml)$label,
vertex.label.cex = 0.85,
vertex.shape = ifelse(V(g_ml)$type, "circle", "square"),
edge.arrow.size = 0,
main = "Multilevel: zaposlenici u timovima (2 razine)"
)
library(igraph)
# Konstruiramo mali neusmjereni graf koji je sigurno povezan.
# Ciklus (ring) ima put između svakog para čvorova.
g_conn <- make_ring(10, directed = FALSE)
# Dodjeljujemo imena čvorovima radi čitljivosti prikaza.
V(g_conn)$name <- as.character(1:vcount(g_conn))
# Izračun komponenti povezanosti u neusmjerenom grafu.
# components() vraća broj komponenti (no), veličine komponenti (csize) i pripadnost čvorova (membership).
comp <- components(g_conn)
# Vizualizacija: osnovni prikaz grafa.
# edge.arrow.size=0 jer je graf neusmjeren.
plot(
g_conn,
vertex.size = 20,
vertex.label.cex = 0.8,
edge.arrow.size = 0,
main = paste0("Povezana mreža (undirected)\n#komponenti = ", comp$no)
)
library(igraph)
library(igraph)
# Konstruiramo tri odvojena dijela:
# (1) Trokut: neusmjereni graf s 3 čvora (gusto povezan mali podgraf).
g_tri <- make_full_graph(3, directed = FALSE)
# (2) Put od 6 čvorova: ovdje eksplicitno stvaramo NEusmjereni put
# preko edge liste, da izbjegnemo razlike među verzijama igraph-a.
edges_path <- c(1,2, 2,3, 3,4, 4,5, 5,6)
g_path <- graph(edges_path, directed = FALSE)
# (3) Izolirani čvor: neusmjereni graf s jednim čvorom i bez bridova.
g_iso <- make_empty_graph(1, directed = FALSE)
# Disjunktna unija: spajamo grafove bez dodavanja bridova između njih.
# Sada su svi grafovi neusmjereni, pa je operacija dozvoljena.
g_disc <- g_tri %du% g_path %du% g_iso
# Imena čvorova radi čitljivosti (1..N).
V(g_disc)$name <- as.character(1:vcount(g_disc))
# Komponente povezanosti u neusmjerenoj mreži.
comp <- components(g_disc)
# Giant component = najveća komponenta po broju čvorova.
giant_size <- max(comp$csize)
# Vizualizacija nepovezane mreže.
plot(
g_disc,
vertex.size = 20,
vertex.label.cex = 0.8,
edge.arrow.size = 0,
main = paste0("Nepovezana mreža (undirected)\n#komponenti = ", comp$no,
", giant = ", giant_size)
)
library(igraph)
# Konstruiramo usmjereni lanac: 1 -> 2 -> 3 -> ... -> 10.
# Ovaj graf je slabo povezan (ako ignoriramo smjer), ali nije jako povezan.
g_weak <- make_tree(10, children = 1, mode = "out")
# Imena čvorova radi čitljivosti.
V(g_weak)$name <- as.character(1:vcount(g_weak))
# Slaba povezanost u digrafu: promatra se povezanost nakon “zanemarivanja” smjera.
# To postižemo tako da pretvorimo u nedirektirani graf, pa računamo komponente.
weak_comp <- components(as.undirected(g_weak, mode = "collapse"))
# Jaka povezanost u digrafu: komponente se računaju uz poštivanje smjera.
strong_comp <- components(g_weak, mode = "strong")
# Prikaz digrafa s istaknutim sažetkom (#weak i #strong komponenti).
plot(
g_weak,
vertex.size = 20,
vertex.label.cex = 0.8,
edge.arrow.size = 0.6,
main = paste0("Digraf: slabo povezan (weak)\n",
"#weak komponenti = ", weak_comp$no,
", #strong komponenti = ", strong_comp$no)
)
library(igraph)
# Konstruiramo usmjereni ciklus: 1 -> 2 -> ... -> 9 -> 1.
# U usmjerenom ciklusu postoji usmjereni put između svakog para čvorova,
# pa je graf jako povezan.
g_strong <- make_ring(9, directed = TRUE, mutual = FALSE)
# Imena čvorova radi čitljivosti.
V(g_strong)$name <- as.character(1:vcount(g_strong))
# Komponente jake povezanosti.
strong_comp <- components(g_strong, mode = "strong")
# Prikaz digrafa.
plot(
g_strong,
vertex.size = 20,
vertex.label.cex = 0.8,
edge.arrow.size = 0.6,
main = paste0("Digraf: jako povezan (strong)\n#strong komponenti = ", strong_comp$no)
)
Usmjerene mreže: Mreže gdje veze imaju smjer.
Neusmjerene mreže: Mreže gdje veze nemaju smjer.
Težinske mreže: Mreže s numeričkim intenzitetom veza.
Bipartitne (two-mode): Dva tipa čvorova; veze samo između tipova.
Jednomodne (one-mode): Svi čvorovi istog tipa; veze među njima.
Multiplex mreže: Više slojeva veza među istim čvorovima (razni odnosi).
Dinamičke mreže: Mreže koje se mijenjaju kroz vrijeme.
Statičke mreže: Mreže promatrane u jednom trenutku/razdoblju.
Formalne mreže: Veze definirane pravilima/strukturama (npr. hijerarhija).
Neformalne mreže: Veze nastale spontano (prijateljstva, poznanstva).
Organizacijske mreže: Mreže unutar/između organizacija.
Komunikacijske mreže: Veze koje predstavljaju komunikacijske tokove.
Informacijske mreže: Veze koje prenose informacije/znanje.
Biološke mreže: Mreže bioloških entiteta (proteini, neuroni).
Tehnološke mreže: Mreže infrastrukture (internet, energetika).
Online društvene mreže: Mreže interakcija na digitalnim platformama.
Homogene mreže: Čvorovi sličnih obilježja/uloga.
Heterogene mreže: Čvorovi različitih tipova/atributa.
Globalne mreže: Mreže promatrane u širokom opsegu (cijeli sustav).
Lokalne mreže: Mreže fokusirane na dio sustava ili zajednicu.
Small-world: Kratke prosječne udaljenosti + visoka klasteriranost.
Scale-free: Distribucija stupnja s “hubovima” i teškim repom.
Albert, R., & Barabási, A.-L. (2002). Statistical mechanics of complex networks. Reviews of Modern Physics, 74(1), 47-97.
Anderson, R. M., & May, R. M. (1991). Infectious Diseases of Humans: Dynamics and Control. Oxford University Press.
Bailey, S., & Marsden, P. V. (1999). Interpretation and interview context: Examining the GSS name generator. Social Networks, 21(3), 287-309.
Barabási, A.-L. (2014). Network Science. Cambridge University Press.
Barabási, A.-L., & Albert, R. (1999). Emergence of scaling in random networks. Science, 286(5439), 509-512.
Battiston, S., i sur. (2007). Credit chains and bankruptcy propagation in production networks. Journal of Economic Dynamics and Control, 31(6), 2061-2084.
Bearman, P. S., Faris, R., & Moody, J. (1999). Blocking the future: New solutions for old problems in historical social science. Social Science History, 23(4), 501-533.
Bender-deMoll, S. (2016). Temporal Network Tools in Statnet. [Online dokumentacija].
Borgatti, S. P., & Halgin, D. S. (2011). Analyzing affiliation networks. U J. Scott & P. J. Carrington (Ur.), The SAGE Handbook of Social Network Analysis (str. 417-433). SAGE Publications.
Breiger, R. L. (1974). The duality of persons and groups. Social Forces, 53(2), 181-190.
Broido, A. D., & Clauset, A. (2019). Scale-free networks are rare. Nature Communications, 10(1), 1-10.
Burt, R. S. (1984). Network items and the General Social Survey. Social Networks, 6(4), 293-339.
Butts, C. T. (2008). A relational event framework for social action. Sociological Methodology, 38(1), 155-200.
Calvó-Armengol, A., & Jackson, M. O. (2004). The effects of social networks on employment and inequality. American Economic Review, 94(3), 426-454.
Campbell, K. E., & Lee, B. A. (1991). Name generators in surveys of personal networks. Social Networks, 13(3), 203-221.
Centola, D. (2018). How Behavior Spreads: The Science of Complex Contagions. Princeton University Press.
Chinazzi, M., Fagiolo, G., Reyes, J. A., & Schiavo, S. (2013). Post-mortem examination of the international financial network. Journal of Economic Dynamics and Control, 37(8), 1692-1713.
Christakis, N. A., & Fowler, J. H. (2009). Connected: The Surprising Power of Our Social Networks. Little, Brown and Company.
Coleman, J. S. (1961). The Adolescent Society. Free Press.
Crossley, N., i sur. (2015). Social Network Analysis for Ego-nets. SAGE Publications.
Csardi, G., Nepusz, T., Horvát, S., Traag, V., Zanini, F., & Noom, D. (2019). igraph
Dickison, M. E., Magnani, M., & Rossi, L. (2016). Multilayer Social Networks. Cambridge University Press.
Erdős, P., & Rényi, A. (1959). On random graphs. Publicationes Mathematicae, 6, 290-297.
Fagiolo, G., i sur. (2009). World-trade web: Topological properties, dynamics, and evolution. Physical Review E, 79(3), 036115.
Fischer, C. S. (1982). To Dwell among Friends: Personal Networks in Town and City. University of Chicago Press.
Freeman, L. C. (1979). Centrality in social networks: Conceptual clarification. Social Networks, 1(3), 215-239.
Furfine, C. (2003). Interbank exposures: Quantifying the risk of contagion. Journal of Money, Credit and Banking, 35(1), 111-128.
Garlaschelli, D., & Loffredo, M. (2005). Structure and evolution of the world trade network. Physica A, 355(1), 138-144.
Gulati, R. (1998). Alliances and networks. Strategic Management Journal, 19(4), 293-317.
Håkansson, H., & Snehota, I. (Ur.). (1995). Developing Relationships in Business Networks. Routledge.
Holme, P., & Saramäki, J. (2012). Temporal networks. Physics Reports, 519(3), 97-125.
Iori, G., i sur. (2008). A network analysis of the Italian overnight money market. Journal of Economic Dynamics and Control, 32(1), 259-278.
Jackson, M. O. (2010). Social and Economic Networks. Princeton University Press.
Kilduff, M., & Tsai, W. (2003). Social Networks and Organizations. SAGE Publications.
Kirman, A. (1997). The economy as an evolving network. Journal of Evolutionary Economics, 7(4), 339-353.
Kivelä, M., Arenas, A., Barthelemy, M., Gleeson, J. P., Moreno, Y., & Porter, M. A. (2014). Multilayer networks. Journal of Complex Networks, 2(3), 203-271.
Knoke, D. (2001). Changing Organizations: Business Networks in the New Political Economy. Westview Press. (Citirano u Knoke & Yang, 2019, str. 56).
Knoke, D., & Yang, S. (2019). Social Network Analysis (3rd ed.). SAGE Publications.
Knoke, D., Diani, M., Hollway, J., & Christopoulos, D. (2021). Multimodal Political Networks. Cambridge University Press.
Kostelić, K., & Turk, M. (2024). Modeling interactions in a dynamic heuristic business network. Applied network science, 9(1), 46.
Kostelić, K., & Turk, M. (2021). Topology of the world tourism web. Applied Sciences, 11(5), 2253.
Krackhardt, D. (2014). Graph theoretical dimensions of informal organizations. U K. M. Carley & M. J. Prietula (Ur.), Computational Organization Theory (str. 107–130). Psychology Press.
Lazega, E., & Snijders, T. A. B. (Ur.). (2015). Multilevel Network Analysis for the Social Sciences. Springer.
Lomi, A., i sur. (2016). Introduction to multilevel social networks. Social Networks, 44, 266-268.
Marsden, P. V. (1987). Core discussion networks of Americans. American Sociological Review, 52(1), 122-131.
McFarland, D. A. (2001). Student resistance: How formal and informal organization of classrooms facilitate defiance. American Journal of Sociology, 107(3), 612-678.
McLevey, J., Scott, J., & Carrington, P. J. (Ur.). (2024). The SAGE Handbook of Social Network Analysis. SAGE Publications Ltd.
Merton, R. K. (1968). The Matthew effect in science. Science, 159(3810), 56-63.
Milgram, S. (1967). The small world problem. Psychology Today, 2(1), 60-67. [68-70]
Montgomery, J. D. (1991). Social networks and labor-market outcomes: Toward an economic analysis. The American Economic Review, 81(5), 1408-1418.
Morin, J. F., i sur. (2017). The trade regime as a complex adaptive system. Journal of International Economic Law, 20(2), 365-390.
Mucha, P. J., Richardson, T., Macon, K., Porter, M. A., & Onnela, J.-P. (2010). Community structure in time-dependent, multiscale, and multiplex networks. Science, 328(5980), 876-878.
Newman, M. E. J. (2002). Spread of epidemic disease on networks. Physical Review E, 66, 016128.
Pastor-Satorras, R., & Vespignani, A. (2001). Epidemic spreading in scale-free networks. Physical Review Letters, 86, 3200.
Perry, B. L., i sur. (2018). Egocentric Network Analysis. Cambridge University Press.
Prell, C., i sur. (2024). International trade networks. U J. McLevey i sur. (Ur.), The SAGE Handbook of SNA.
Price, D. J. de Solla (1965). Networks of scientific papers. Science, 149(3683), 510-515.
Rawlings, C. M., i sur. (2023). Network Analysis (Poglavlje 2.2: Networks from slices of interactions).
Rogers, E. M. (2003). Diffusion of Innovations (5. izd.). Free Press.
Schweitzer, F., i sur. (2009). Economic networks: The new challenges. Science, 325(5939), 422-425.
Schiavo, S., Reyes, J., & Fagiolo, G. (2010). International trade and financial integration: a weighted network analysis. Quantitative Finance, 10(4), 389-399.
Scott, J. (2017). Social Network Analysis (4. izd.). SAGE Publications.
Scott, W. R. (1998). Organizations: Rational, Natural, and Open Systems (4. izd.). Prentice Hall.
Serrano, M. Á., & Boguñá, M. (2003). Topology of the world trade web. Physical Review E, 68(1), 015101.
Snijders, T. A. B. (2001). The statistical evaluation of social network dynamics. Sociological Methodology, 31, 361-395.
Stadtfeld, C., Hollway, J., & Block, P. (2017). Dynamic network actor models: Investigating coordination ties through time. Sociological Methodology, 47, 1–40.
Textor, J., i sur. (2016). Robust causal inference using directed acyclic graphs. International Journal of Epidemiology, 45(6), 1877-1894.
Uzzi, B. (1996). The sources and consequences of embeddedness for the economic performance of organizations: The network effect. American Sociological Review, 61(4), 674-698.
Valente, T. W. (1995). Network Models of the Diffusion of Innovations. Hampton Press.
Van Steen, M. (2010). Graph Theory and Complex Networks: An Introduction.
Wasserman, S., & Faust, K. (1994). Social Network Analysis: Methods and Applications. Cambridge University Press.
Watts, D. J. (1999). Small Worlds: The Dynamics of Networks between Order and Randomness. Princeton University Press.
Watts, D. J., & Strogatz, S. H. (1998). Collective dynamics of ‘small-world’ networks. Nature, 393(6684), 440-442.