====== Nekaj operacij za Pajka ======
===== Match =====
12. maj 2013 /
Zamisel za operacijo sem dobil v R-ju, kjer se je izkazala za precej [[notes:match|koristno]]. V Pajku ima več uporab. Na primer, z njo zaobidemo potrebo po sprotnem vzdrževanju vzporednih podatkovnih objektov pri zaporednih izrezih - za dobljeno končno omrežje ustvarimo pripadajoče razbitje in ga uporabimo za izrez potrebnih vzporednih objektov.
Imejmo omrežji **N**1 = (V1,L1) in **N**2 = (V2,L2). Naj bo še name(v) ime/oznaka točke v.
Operacija match(**N**1,**N**2) ustvari razbitje p na V1 z vrednostmi p[i]=j , če je name(vi) = name(uj), vi ∈ V1 in uj ∈ V2; oziroma p[i]=0, če name(vi) ∉ V2.
Možna hitra izvedba operacije. Pare (uj,j) damo v kopico H po ključih uj. Nato
**for** vi ∈ Vi **do** p[i] = find(vi,H)
find vrne vrednost, ki pripada posameznemu ključu, ali pa 0, če ključa ne najde.
Operacijo match lahko uporabimo tudi pri definiciji operacij matchUnion in matchIntersect.
===== Internal/External cluster max =====
11. maj 2013
**N** = (V,L,p,w), kjer je p razbitje in stikalo internal/external.
Iščemo vektor(ja) na zalogi vrednosti razbitja p
tint[i] = max(w(u,v) : p[u]=p[v]=i)
text[i] = max(w(u,v) : p[u]=i ∨ p[v]=i)
Postopek
t <- -∞
for (u,v) ∈ L do
i <- p[u]; j <- p[v]
if internal then
if i=j then
if t[i] < w(u,v) then t[i] <- w(u,v)
else
if t[i] < w(u,v) then t[i] <- w(u,v)
if t[j] < w(u,v) then t[j] <- w(u,v)
Pri tej operaciji je lahko problem zelo velika, a pretežno neuporabljena, zaloga vrednosti. Obstajata dve rešitvi - uporabnik naj uporablja operacijo nad stisnjenimi razbitji; druga možnost je, da poleg vektorja dobimo še razbitje - operacijo opravimo na stisnjenem razbitju, razbitje q[i] = k pa pove, da i-ti skupini v stisnjenem razbitju ustreza skupina k v začetnem razbitju.
Podobno operacijo lahko definiramo za min.
===== Pajek/Andrej =====
Subject: RE: Sunbelt
From: "Mrvar, Andrej"
Date: Tue, May 14, 2013 11:19
To: "vladimir.batagelj@fmf.uni-lj.si"
Sem dodal:
* ''Networks / Match Vertex Labels'' \\ vrne dve razbitji (polozaje oznak prvega omrezja v drugem in polozaje oznak drugega omrezja v prvem)
* ''Operations / Network+Partition / Internal/External Cluster / [Min Line Value / Max
Line Value]'' \\ vrne dva vektorja (Internal in External)
http://mrvar.fdv.uni-lj.si/aa/pajek32-4g.exe \\
http://mrvar.fdv.uni-lj.si/aa/pajek64.exe
ali
http://mrvar2.fdv.uni-lj.si/aa/pajek32-4g.exe \\
http://mrvar2.fdv.uni-lj.si/aa/pajek64.exe
Lp.
Andrej