def createRandomGraph(numNodes, numEdges): graph=Graph() all_edges=[] for i in range(numNodes): for j in range(i + 1, numNodes): all_edges.append( (i, j) ) random.shuffle(all_edges) edges=all_edges[:numEdges] for i in range(numNodes): graph.add_vertex(i) for edge in edges: #print(edge) graph.add_directed_edge(edge[0], edge[1]) g1 = BokehGraph(graph) g1.show()
def main(**kwargs): number_vertices = kwargs['num_verts'] connected = kwargs['connected'] number_edges = kwargs['num_edges'] style = kwargs['style'] if style == 'default': graph = default_graph() else: if number_vertices < 0 or number_edges < 0: raise ValueError("number must be greater than zero") elif number_edges > number_vertices * (number_vertices - 1) / 2: raise ValueError("max number of edges exceeded") graph = Graph() g = [graph.add_vertex(x) for x in range(number_vertices)] unique_edges = set() while (len(unique_edges) < number_edges): v1 = randint(0, number_vertices - 1) v2 = randint(0, number_vertices - 1) if v1 == v2: continue if (v2, v1) not in unique_edges: unique_edges.add((v1, v2)) graph.add_edge(v1, v2) print('number of unique edges', len(unique_edges)) # graph.bft(3) boka = BokehGraph(graph) if connected: color_connected(graph) boka.show()
def main(**kwargs): style = kwargs["style"] numVerts = kwargs["num_verts"] numEdges = kwargs["num_edges"] if style == "default": graph = getDefaultGraph() elif style == "random": graph = getRandomGraph(numVerts, numEdges) elif style == 'awesome': graph = getGraph('awesome') elif style == 'radiohead': graph = getGraph('radiohead') elif style == 'bender': graph = getGraph('bender') elif style == 'lambda_logo': graph = getGraph('lambda_logo') elif style == 'connected': graph = getRandomGraph(numVerts, numEdges, 'connected') else: graph = getDefaultGraph() bokeh_graph = BokehGraph(graph) bokeh_graph.show()
def createDefaultGraph(): graph=Graph() graph.add_vertex('0') graph.add_vertex('1') graph.add_vertex('2') graph.add_vertex('3') graph.add_vertex('4') graph.add_vertex('5') graph.add_vertex('6') graph.add_vertex('7') graph.add_vertex('8') graph.add_undirected_edge('0', '1') graph.add_undirected_edge('0', '3') graph.add_directed_edge('1', '2') graph.add_directed_edge('1', '4') graph.add_directed_edge('2', '5') graph.add_directed_edge('2', '6') graph.breadth_first_search('0') graph.depth_first_search('0') graph.dfs_search_value('0','1') #graph.dfs_search_value('0','11') #graph.add_directed_edge('7','4') #graph.add_directed_edge('7','4') g1 = BokehGraph(graph) g1.show()
def main(num_vertices=None, num_edges=None): """Build and show random graph.""" graph = Graph() graph.add_random_data(num_vertices, num_edges) bokeh_graph = BokehGraph(graph) bokeh_graph.show() print('MAIN CONNECTED COMPONENTS', graph.connected_components)
def main(num_vertices=8, num_edges=4): """Build and show random graph.""" graph = Graph() graph.random_graph(num_vertices, num_edges) graph.get_connected_components() bokeh_graph = BokehGraph(graph) bokeh_graph.show()
def main(num_vertices=8, num_edges=8, test=0): graph = Graph() if test == 1: graph.add_vertex('A') graph.add_vertex('B') graph.add_vertex('C') graph.add_vertex('D') graph.add_vertex('E') graph.add_vertex('F') graph.add_vertex('G') graph.add_edge('A', 'B') # graph.add_edge('A', 'D') # graph.add_edge('A', 'C') graph.add_edge('B', 'D') graph.add_edge('D', 'G') # graph.add_edge('G', 'F') graph.add_edge('E', 'F') # print (graph.vertices) # print (graph.search()) if test == 2: graph.add_vertex('0') graph.add_vertex('1') graph.add_vertex('2') graph.add_vertex('3') graph.add_vertex('4') graph.add_vertex('5') graph.add_vertex('6') graph.add_edge('0', '1') graph.add_edge('0', '2') graph.add_edge('1', '3') graph.add_edge('1', '4') graph.add_edge('2', '5') graph.add_edge('2', '6') else: for num in range(num_vertices): graph.add_vertex(str(num)) verts = [] for _ in range(num_edges): vertices = sample(graph.vertices.keys(), 2) while vertices in verts: vertices = sample(graph.vertices.keys(), 2) graph.add_edge(str(vertices[0]), str(vertices[1])) verts.append(vertices) verts.append(vertices[::-1]) # print (graph.vertices) # print (graph.search()) bg = BokehGraph(graph) bg.show()
def main(): graph = Graph() # graph.debug_create_test_data() graph.create_vertices_and_edges(10) graph.get_connected_components() bg = BokehGraph(graph) # render the graph on the screen bg.show()
def main(vertices=7, edges=7): graph = Graph() for vertex in range(vertices): graph.add_vertex(str(vertex)) for _ in range(edges): vertices = sample(graph.vertices.keys(), 2) graph.add_edge(vertices[0], vertices[1]) bokeh_graph = BokehGraph(graph) bokeh_graph.show()
def main(num_vertices=0, num_edges=0, draw_components=True): graph = Graph() for number in range(num_vertices): graph.add_vertex() for _ in range(num_edges): verticles = sample(graph.vertices.keys(), 2) graph.add_edge(vertices[0], vertices[1]) bokeh_graph = BokehGraph(graph, draw_components=draw_components) bokeh_graph.show()
def main(): graph = Graph() v1 = Vertex("A") v2 = Vertex("B") graph.add_vertex(v1) graph.add_vertex(v2) graph.add_edge(v1, v2, True) bokeh = BokehGraph(graph) bokeh.show()
def main(num_vertices=2, num_edges=2, draw_components=True): graph = Graph() for num in range(num_vertices): graph.add_vertex(Vertex(label=str(num))) for _ in range(num_edges): vertices = sample(graph.vertices.keys(), 2) graph.add_edge(vertices[0], vertices[1]) # graph.get_connected_components() bg = BokehGraph(graph, draw_components=draw_components) bg.show()
def main(v, e): graph = Graph() for i in range(v): graph.add_vertex(i) for j in range(e): random_vertex = int(random.random() * v) random_edge = int(random.random() * e) print(random_vertex, random_edge) graph.add_edge(random_vertex, random_edge) print(graph.vertices) bg = BokehGraph(graph) bg.show()
def main(num_vertices=8, num_edges=8, draw_components=True): graph = Graph() for num in range(num_vertices): graph.add_vertex(Vertex(label=str(num))) for _ in range(num_edges): vertices = sample(graph.vertices.keys(), 2) graph.add_edge(vertices[0], vertices[1]) bokeh_graph = BokehGraph(grahp, draw_components=draw_components) bokeh_graph.show()
def main(num_vertices=8, num_edges=8): graph = Graph() for num in range(num_vertices): graph.add_vertex(str(num)) for _ in range(num_edges): vertices = sample(graph.vertices.keys(), 2) graph.add_edge(vertices[0], vertices[1]) bokeh_graph = BokehGraph(graph) bokeh_graph.show()
def main(vertices=10, edges=10): '''Build a random Graph''' graph = Graph() for num in range(vertices): graph.add_vertex(num) for _ in range(edges): vertices = sample(graph.vertices.keys(), 2) graph.add_edge(vertices[0], vertices[1]) bokeh_graph = BokehGraph(graph, title="Random Graph") bokeh_graph.show()
def main(): from graph import Graph graph = Graph() graph.add_vertex("0") graph.add_vertex("1") graph.add_vertex("2") graph.add_vertex("3") graph.add_edge("0", "1") graph.add_edge("0", "3") bg = BokehGraph(graph) bg.show()
def main(num_vertices=6, num_edges=6, draw_comps=True): """Build and show random graph.""" graph = Graph() for num in range(num_vertices): graph.add_vertex(Vertex(label=str(num))) for _ in range(num_edges): vertices = sample(graph.vertices.keys(), 2) graph.add_edge(vertices[0], vertices[1]) bokeh_graph = BokehGraph(graph, draw_comps=draw_comps) bokeh_graph.show()
def randomize(self, grid_x=5, grid_y=4, jitter=150, edge_prob=0.6): #graph=self.Graph() for i in range(20): #0 to 19 string = str(i) self.add_vertex(string) for vertex in self.vertices: for vertex1 in self.vertices: decision = random() if decision <= edge_prob: self.add_edge(vertex, vertex1) bg = BokehGraph(self) bg.show() """if vertex not in self.vertices:
def main(): from graph import Graph from draw import BokehGraph graph = Graph() graph.add_vertex('0') graph.add_vertex('1') graph.add_vertex('2') graph.add_edge('0', '1') graph.add_edge('2', '1') bg = BokehGraph(graph) dir(bg) bg.pos bg.show()
def main(num_vertices=8, num_edges=8, draw_components=True): """Build and show random graph.""" graph = Graph() # Add appropriate number of vertices for num in range(num_vertices): graph.add_vertex(Vertex(label=str(num))) # Add random edges between vertices for _ in range(num_edges): vertices = sample(graph.vertices.keys(), 2) graph.add_edge(vertices[0], vertices[1]) bokeh_graph = BokehGraph(graph, draw_components=draw_components) bokeh_graph.show()
def main(num_vertices=8, num_edges=8): """Build and show random graph.""" graph = Graph() # Add appropriate number of vertices for num in range(num_vertices): graph.add_vertex(str(num)) # Add random edges between vertices for _ in range(num_edges): vertices = sample(graph.vertices.keys(), 2) # TODO check if edge already exists graph.add_edge(vertices[0], vertices[1]) bokeh_graph = BokehGraph(graph) bokeh_graph.show()
def main(): graph = Graph() graph.add_vertex("0") graph.add_vertex("1") graph.add_vertex("2") graph.add_vertex("3") graph.add_vertex("4") graph.add_vertex("5") graph.add_vertex("6") graph.add_vertex("7") graph.add_edge("0", "1") graph.add_edge("0", "3") graph.add_edge("7", "5", False) b = BokehGraph(graph) b.show()
def main(**kwargs): style = kwargs["style"] numVerts = kwargs["num_verts"] numEdges = kwargs["num_edges"] if style == "default": graph = getDefaultGraph() elif style == "random": graph = getRandomGraph(numVerts, numEdges) else: graph = getDefaultGraph() graph.breadth_first(0) bokeh_graph = BokehGraph(graph) bokeh_graph.show()
def main(**kwargs): style = kwargs["style"] numVerts = kwargs["num_verts"] numEdges = kwargs["num_edges"] if style == 'default': graph = getDefaultGraph() elif style == "random": graph = getRandomGraph(numVerts, numEdges) else: graph = getDefaultGraph() bg = BokehGraph(graph) bg.show() graph.dfs(0, 11) graph.bfs(0, 11)
def main(num_vertices=8, num_edges=8, draw_components=True): """Build and show random graph.""" graph = Graph() # Add appropriate number of vertices for num in range(num_vertices): graph.add_vertex(Vertex(label=str(num))) # Add random edges between vertices for _ in range(num_edges): vertices = sample(graph.vertices.keys(), 2) # print('vertices -> ', vertices) # TODO check if edge already exists # print(graph.components) if not graph.components: graph.add_edge(vertices[0], vertices[1]) bokeh_graph = BokehGraph(graph, draw_components=draw_components) bokeh_graph.show()
def createDefaultGraph(): graph = Graph() # Instantiate your graph graph.add_vertex(5) graph.add_vertex(2) graph.add_vertex(6) graph.add_vertex(1) graph.add_vertex(4) graph.add_vertex(7) graph.add_vertex(3) graph.add_edge(5, 2) graph.add_edge(2, 1) graph.add_edge(4, 3) # graph.add_edge(5, 6) # graph.add_edge(2, 4) # graph.add_edge(6, 7) cc = graph.find_connected() bg = BokehGraph(graph, cc) bg.show()
def main(num_vertices=8, num_edges=8, test=False): """Build and show random graph.""" graph = Graph() if test: # Instantiate your graph graph.add_vertex('0') graph.add_vertex('1') graph.add_vertex('2') graph.add_vertex('3') graph.add_vertex('4') graph.add_vertex('5') graph.add_vertex('6') graph.add_vertex('7') graph.add_vertex('8') graph.add_vertex('9') graph.add_vertex('10') graph.add_edge('0', '1') graph.add_edge('0', '2') graph.add_edge('1', '3') graph.add_edge('1', '4') graph.add_edge('2', '5') graph.add_edge('2', '6') graph.add_edge('3', '1') graph.add_edge('4', '8') graph.add_edge('5', '9') graph.add_edge('9', '10') else: # Add appropriate number of vertices for num in range(num_vertices): graph.add_vertex(str(num)) # Add random edges between vertices for _ in range(num_edges): vertices = sample(graph.vertices.keys(), 2) # check if edge already exists graph.add_edge(vertices[0], vertices[1]) print(graph.search('5', method='dfs')) print(graph.vertices) bokeh_graph = BokehGraph(graph) bokeh_graph.show()
def main(num_vertices=8, num_edges=8, draw_components=True): """Build and show random graph.""" graph = Graph() # Add appropriate number of vertices for num in range(num_vertices): graph.add_vertex(Vertex(label=str(num), component=num)) # Add random edges between vertices edges = set() for _ in range(num_edges): vertices = sample(graph.vertices.keys(), 2) # set vertices_id to a concatenated string of ints from vertices vertices_id = str(vertices[0])[-1] + str(vertices[1])[-1] if vertices_id not in edges: graph.add_edge(vertices[0], vertices[1]) edges.add(vertices_id) bokeh_graph = BokehGraph(graph, draw_components=draw_components) bokeh_graph.show()
def main(v=10, e=5): graph = Graph() for i in range(v): graph.add_vertex(i) all_edges = [] for i in range(e): for j in range(i + 1, e): all_edges.append((i, j)) random.shuffle(all_edges) edges = all_edges[:e] for edge in edges: graph.add_edge(edge[0], edge[1]) print(graph.connected()) bokeh_graph = BokehGraph(graph) bokeh_graph.show(True)