Example #1
0
    def read_graph(self, input_file):
        # open the data file, containing edges
        reader = urllib.urlopen(input_file)

        # skip the first two lines (# vertices, # edges)
        self.size = int(reader.readline())        # update the size
        reader.readline()

        # populate the graph with empty lists (the empty Values)
        for i in range(self.getSize()):
            self.addVertex(i)

        # read each line and populate the graph, with the edges as Values
        for line in reader:
            # remove trailing newline, and split on " "
            data = line.strip().split()

            # create new edge
            frm = int(data[0])
            to = int(data[1])
            weight = float(data[2])
            new_edge = edge(frm, to, weight)

            # add edge to graph
            self.addEdge(new_edge)
Example #2
0
 def clone(self):
     res = condGraph()
     for (src,emap) in self.iteritems():
         rmap = res[src]
         for (dst,dedge) in emap.iteritems():
             rmap[dst] = edge(src,dst,dedge.cnf.andCNF(SATtoCNF(dedge.sat)))
         res[src] = rmap
     return res
 def initialize_edges(self):
     #loops through all the edges and assigns random weights
     for originX in range(self.numLayers-1):
         terminalX     = originX+1
         originLayer   = self.layers[originX]
         terminalLayer = self.layers[terminalX]
         for originY,originNode in enumerate(originLayer):
             for terminalY,terminalNode in enumerate(terminalLayer):
                 newEdge  = edge(originNode,terminalNode)
                 edgeName = edge_name(originX,originY,terminalX,terminalY)
                 self.edges[edgeName] = newEdge
Example #4
0
	def __call__(self, x, a, mode, is_nasp_upd_w=False):

		node = [x]
		edges = self.children()
		pos = 0
		for i in range(1,4):
			node.append(None)
			for j in range(0,i):
				edge = edges.__next__()
				res = edge(x=node[j], a=a[pos], mode=mode, is_nasp_upd_w=is_nasp_upd_w)
				pos += 1

				if node[i] is None:
					node[i] = res
				else:
					node[i] = F.add(node[i],res)

		return node[3]
Example #5
0
from face import *

from plotting import *

p1 = point(0,0,0)
p2 = point(2,0,0)
p3 = point(2,2,0)
p4 = point(0,2,0)

#print p1
#print p2
#print p3
#print p4

e1 = edge(p1,p2)
e2 = edge(p2,p3)
e3 = edge(p3,p4)
e4 = edge(p4,p1)

#print e1
#print e2
#print e3
#print e4

f0 = face()
f0.addedge(e1)
f0.addedge(e2)
f0.addedge(e3)
f0.addedge(e4)
Example #6
0
import numpy
from reverseDelete import *
from edge import *

f = open('input.txt')
T = int(f.readline().strip())
for j in range(0, T):
    n = int(f.readline().strip())
    graph = []
    matrix = numpy.zeros((n + 1, n + 1), dtype=int)
    num_ver = 0
    for i in range(0, n):
        v1, v2, weight = map(int, f.readline().strip().split())
        matrix[v1, v2] = 1
        matrix[v2, v1] = 1
        num_ver = max(v1, v2, num_ver)
        graph.append(edge(min(v1, v2), max(v1, v2), weight))
    graph.sort(edge.cmp)
    reverseDelete(matrix, graph, num_ver, j + 1)
    f.readline()
Example #7
0
 def __missing__(self,dst):
     return edge(self.src,dst)