Exemplo n.º 1
0
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()
Exemplo n.º 2
0
            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
Exemplo n.º 3
0
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()}
Exemplo n.º 4
0
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)
Exemplo n.º 5
0
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
Exemplo n.º 6
0
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")