def combine(ddir, first, second, combined): C = N.loadPajek(ddir + '/' + first) R = N.loadPajek(ddir + '/' + second) nC = len(C._nodes) mC = len(C._links) nR = len(R._nodes) mR = len(R._links) Rlist = {R._nodes[i][3]['lab']: (i, 0) for i in range(1, nR + 1)} for i in range(1, nC + 1): name = C._nodes[i][3]['lab'] if name in Rlist: (a, b) = Rlist[name] Rlist[name] = (a, i) else: Rlist[name] = (len(Rlist) + 1, i) # !!! ??? nL = len(Rlist) I = [0] * (nC + 1) for (a, b) in Rlist.values(): if b > 0: I[b] = a net = open(combined, "w", encoding='utf-8') s = net.write('\ufeff% Combine: ' + first + ' + ' + second + ' / ' + str(datetime.datetime.now()) + '\n*vertices ' + str(nL) + '\n') for i, v in enumerate(Rlist): s = net.write(str(i + 1) + ' "' + v + '"\n') s = net.write('*arcs :1 "relation 1"\n') for e in C._links: u = C._links[e][0] v = C._links[e][1] w = C._links[e][4]['w'] s = net.write(str(I[u]) + " " + str(I[v]) + " " + str(w) + "\n") s = net.write('*arcs :2 "relation 2"\n') for e in R._links: u = R._links[e][0] v = R._links[e][1] w = R._links[e][4]['w'] s = net.write(str(u) + " " + str(v) + " " + str(w) + "\n") net.close()
for CB in Cbest: if np.all(CC == CB): newC = False break if newC: Cbest.append(CC) if trace > 0: if n > 50: print(k + 1, j, Er) else: print(k + 1, j, Er, "\n C :", C, "\n C*:", CC) end = timer() print("time:", round(end - start, 2), "s") if bad > 0: print(bad, "bad initial partitions") if found: return (Pbest, nBest, Cbest) # net = N.loadPajek(ddir+"/kite.net"); net.Info() net = N.loadPajek(ddir + "/class.net") net.Info() # net = N.loadPajek(ddir+"/dolphins.net"); net.Info() # net = N.loadPajek(ddir+"/USAir97.net"); net.Info() XXX = 0 NUL = 1 COM = 2 REG = 3 RRE = 4 CRE = 5 DEN = 6 n = net._info['nNodes'] nC = 3 Q = [3, 3, 9] dProp = 0.5
wdir = 'c:/users/batagelj/work/python/graph/Nets/bib' # wdir = 'c:/users/batagelj/work/python/graph/JSON/SN5' import sys, os, datetime, json sys.path = [gdir] + sys.path os.chdir(wdir) from Nets import Network as N import TQ # fJSON = 'ConnectivityWeighted.json' # fJSON = "violenceE.json" # fJSON = 'stem.json' # fJSON = 'CcCtest.json' # fJSON = 'Terror news 50.json' # fJSON = 'CcCSN5.json' fJSON = 'CcTest.json' # S = N.loadNetJSON(fJSON); G = S.pairs2edges() G = N.loadNetJSON(fJSON) # G.saveNetJSON(file="Terror50E",indent=1) # fJSON = 'ConnectivityTest.json' # fJSON = 'ExampleB.json' # fJSON = 'PathfinderTest.json' # G = N.Graph.loadNetJSON(fJSON) G.delLoops() print("Temporal Ps cores in: ", fJSON) t1 = datetime.datetime.now() print("started: ", t1.ctime(), "\n") Tmin, Tmax = G._info['time'] D = {u: G.TQnetSum(u) for u in G._nodes} # print("Sum =",D,"\n") Core = {u: [d for d in D[u] if d[2] == 0] for u in G.nodes()} # core number = 0 D = {u: [d for d in D[u] if d[2] > 0] for u in G.nodes()}
wdir = 'c:/users/batagelj/work/python/graph/Nets/bib' sdir = 'c:/users/batagelj/work/python/graph/JSON/SN5' import sys, os, datetime, json sys.path = [gdir] + sys.path os.chdir(wdir) from Nets import Network as N # from copy import deepcopy import TQ file = 'WAtestInst.json' # file = 'WAtestCum.json' # file = 'WAcCum.json' t1 = datetime.datetime.now() print("started: ", t1.ctime(), "\n") WA = Graph.loadNetJSON(file) t2 = datetime.datetime.now() print("\nloaded: ", t2.ctime(), "\ntime used: ", t2 - t1) N = WA.TQnormal() t3 = datetime.datetime.now() print("\nnormalized: ", t3.ctime(), "\ntime used: ", t3 - t2) # Cc = N.TQtwo2oneCols(lType='arc') Cc = N.TQtwo2oneCols() t4 = datetime.datetime.now() print("\nnormalized collaboration: ", t4.ctime(), "\ntime used: ", t4 - t3) # fjson = 'CcITest.json' # fjson = 'CcCtest.json' # fjson = 'CcCSN5.json' fjson = 'CcTest.json' Cc.saveNetJSON(fjson, indent=2) t5 = datetime.datetime.now() print("\nsave to file: ", t5.ctime(), "\ntime used: ", t5 - t4)
def TestAdd(): N = Network() N.addNode('B') N.addNode('A') N.addNode('C') N.addNode('D') N.addEdge('B', 'D', {'w': 3}) N.addArc('B', 'A', {'w': 5}) N.addArc('A', 'C', {'w': 4}) N.addArc('B', 'C', {'w': 6}) N.addNode('E') N.addNode('F') i = N.addArc('E', 'C', {'w': 5}) j = N.addEdge('B', 'D', {'w': 7}) N.addArc('A', 'F', {'w': 8}) N.addArc('A', 'C', {'w': 5}) N.onCircle() print(N) N.draw(800, 800, "Cornsilk") N.savePajek('test.net') # N.delLink(j); N.delLink(i) # print(N) return N
from Nets import Network as N from TQ import * from datetime import datetime import cores prLevel = 2 # basic reports # prLevel = 1 # detailed reports # fJSON = 'ExampleA.json' # fJSON = 'TerrorNews50.json' # fJSON = "violenceTQ.json" fJSON = ndir + "/Terror.json" # fJSON = 'stem.json' # fJSON = ndir+'/ConnectivityTest.json' G = N.loadNetsJSON(fJSON) G.delLoops() G.Info() print("Temporal cores in: ", fJSON) t1 = datetime.now() print("started: ", t1.ctime(), "\n") Core = cores.TQcores(G, prLevel) t2 = datetime.now() print("\nfinished: ", t2.ctime(), "\ntime used: ", t2 - t1) res = {"program": "TQcores", "date": datetime.now().ctime()} res["network"] = G._info["network"] res["time"] = G._info["time"] res["Tlabs"] = G._info["legends"]["Tlabs"] res["core"] = {u: (G._nodes[u][3]['lab'], Core[u]) for u in Core} js = open("TerAllcore.json", "w")