def main(): g = WeightedGraph() gr = WeightedGraph.create_from_file("example_graph.txt") g.graph_arr = gr.graph_arr graph_utils.print_2d_array("Macierz odleglosci", g.get_distances_matrix()) g.get_centers() g.draw()
def main(): g = WeightedGraph() gr = WeightedGraph.create_from_file("example_graph.txt") g.graph_arr = gr.graph_arr g.prim_algorithm() g.draw() graph_utils.print_2d_array("Adjacency Matrix For Tree", g.get_adjacency_matrix())
def main(): g = WeightedGraph() graph_utils.print_2d_array("Initial data", g.random_connected_weighted_graph()) g.draw() length = len(g.get_adjacency_matrix()) start_vertex = int(input("Starting vertex (0-" + str(length - 1) + "): ")) dijkstra_result, distances = g.dijkstra_algorithm(start_vertex) graph_utils.print_2d_array("\nDijkstra algorithm output", dijkstra_result) g.draw()
def main(): graph = DirectedGraph() n = 5 graph.correct_random(n, 0.8) c = graph.kosaraju() while sum(c) / n != 1: graph.random(n, 1) c = graph.kosaraju() print(c) matrix = graph.get_adjacency_matrix() weights = graph.get_adjacency_matrix() for x in range(n): for y in range(n): if weights[x][y] != 0: weights[x][y] = random.randint(-5, 10) graph_utils.print_2d_array("Random digraph", matrix) graph_utils.print_2d_array("Weights on digraph", weights) graph_utils.print_2d_array("Johnson's Matrix", WeightedGraph.johnson(matrix, weights)) print("\nTest z zajęć \n") test_matrix = [[0, 1, 1], [1, 0, 0], [0, 1, 0]] test_weights = [[0, -1, -4], [4, 0, 0], [0, 2, 0]] graph_utils.print_2d_array( "Johnson's Matrix", WeightedGraph.johnson(test_matrix, test_weights))
def main(): graph_arr = graph.create_from_file().graph_arr graph_utils.print_2d_array("Initial data", graph_arr) graph_utils.print_2d_array("Adjacency matrix", generation.save_to_adjacency_matrix(graph_arr)) graph_utils.print_2d_array("Adjacency list", generation.save_to_adjacency_list(graph_arr)) graph_utils.print_2d_array("Incidence matrix", generation.save_to_incidence_matrix(graph_arr))
def main(): graph = DirectedGraph() graph.create_from_file_with_instance() graph_utils.print_2d_array("Initial data", graph.graph_arr) graph_utils.print_2d_array("Adjacency matrix", graph.get_adjacency_matrix()) graph_utils.print_2d_array("Incidence matrix", graph.get_incidence_matrix()) graph_utils.print_2d_array("Adjacency list", graph.get_adjacency_list())
def main(): print("Wybierz tryb generowania Losowego : G(n,l) [0] G(n,p) [1]") way = int(input()) n = int(input("Podaj liczbe wierzchołków: ")) print(n) if way == 0: while 1 > 0: l = int(input("Podaj liczbe krawędzi: ")) if l <= (n * n - n) / 2: break Matrix = random_gen.generate_random_matrix_with_edges(n, l) else: p = float(input("Podaj prawdopodobieństwo wystąpienia krawędzi: ")) Matrix = random_gen.generate_random_matrix_with_probability(n, p) graph_utils.print_2d_array("Graf losowy", Matrix)
def main(): graph = DirectedGraph() graph.random(5, 1) c = graph.kosaraju() while sum(c) / 5 != 1: graph.random(5, 1) c = graph.kosaraju() matrix = graph.get_adjacency_matrix() weights = graph.get_adjacency_matrix() for x in range(5): for y in range(5): if weights[x][y] != 0: weights[x][y] = random.randint(-5, 10) graph_utils.print_2d_array("Random digraph", matrix) graph_utils.print_2d_array("Weights on digraph", weights) b, d = bellman_ford(matrix, 0, weights) print(b) print(d)
def main(): alfabet = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N'] graph = DirectedGraph() graph.create_from_file_with_instance() graph_utils.print_2d_array("Adjacency matrix", graph.get_adjacency_matrix()) print("Błądzenie przypadkowe:") print("#########################") vec_rand = PageRank_random(graph, 100000, 0.15, 1) for i in range(graph_utils.get_vertices_number(graph)): print(alfabet[i], "==> PageRank = ", vec_rand[i]) print("#########################") print("\n\nWektor obsadzeń") print("#########################") vec_it = PageRank_iteration(graph, 54, 0.15) for i in range(graph_utils.get_vertices_number(graph)): print(alfabet[i], "==> PageRank = ", vec_it[i]) print("#########################") graph1 = DirectedGraph() graph1.create_from_file_with_instance('graph1.txt') graph_utils.print_2d_array("Adjacency matrix", graph1.get_adjacency_matrix()) print("Błądzenie przypadkowe:") print("#########################") vec_rand = PageRank_random(graph1, 1000000, 0.15, 1) for i in range(graph_utils.get_vertices_number(graph1)): print(alfabet[i], "==> PageRank = ", vec_rand[i]) print("#########################") print("\n\nWektor obsadzeń") print("#########################") vec_it = PageRank_iteration(graph1, 31, 0.15) for i in range(graph_utils.get_vertices_number(graph1)): print(alfabet[i], "==> PageRank = ", vec_it[i]) print("#########################")
def main(): n = 7 test_adj_matrix = [[0 for x in range(n)] for y in range(n)] test_adj_matrix[0][1] = 1 test_adj_matrix[0][2] = 1 test_adj_matrix[0][4] = 1 test_adj_matrix[1][0] = 1 test_adj_matrix[1][2] = 1 test_adj_matrix[1][4] = 1 test_adj_matrix[1][3] = 1 test_adj_matrix[1][6] = 1 test_adj_matrix[2][5] = 1 test_adj_matrix[4][6] = 1 test_adj_matrix[3][6] = 1 test_adj_matrix[3][1] = 1 test_adj_matrix[5][1] = 1 test_adj_matrix[6][5] = 1 print("#############################################") graph_utils.print_2d_array("Example digraph 1", test_adj_matrix) c = DirectedGraph.kosaraju_with_adj_matrix(test_adj_matrix) #print(c) for i in range(len(c)): print("Wierzchołek ", i, " należy do składowej nr: ", c[i]) print("#############################################") print("\n\n") test_adj_matrix1 = [[0 for x in range(n)] for y in range(n)] test_adj_matrix1[0][1] = 1 test_adj_matrix1[0][6] = 1 test_adj_matrix1[6][0] = 1 test_adj_matrix1[6][1] = 1 test_adj_matrix1[1][2] = 1 test_adj_matrix1[2][1] = 1 test_adj_matrix1[2][3] = 1 test_adj_matrix1[2][4] = 1 test_adj_matrix1[4][3] = 1 test_adj_matrix1[4][5] = 1 test_adj_matrix1[5][1] = 1 test_adj_matrix1[5][2] = 1 print("#############################################") graph_utils.print_2d_array("Example digraph 2", test_adj_matrix1) c = DirectedGraph.kosaraju_with_adj_matrix(test_adj_matrix1) print(c) for i in range(len(c)): print("Wierzchołek ", i, " należy do składowej nr: ", c[i]) print("#############################################") print("\n\n#############################################") graph = DirectedGraph() graph_utils.print_2d_array("Random digraph", graph.correct_random(7, 0.3)) c = graph.kosaraju() print(c) for i in range(len(c)): print("Wierzchołek ", i, " należy do składowej nr: ", c[i]) print("#############################################")
def main(): graph = WeightedGraph().create_from_file_with_instance() graph.random_connected_weighted_graph(9) graph_utils.print_2d_array("Randomly weighted connected graph", graph.get_adjacency_matrix()) graph.draw()
def main(): g = graph.create_from_file() g.draw() component = g.largest_component() graph_utils.print_2d_array("largest component", component)
def main(): graph_arr = graph.create_from_file().graph_arr adj_matrix = generation.save_to_adjacency_matrix(graph_arr) adj_list = generation.save_to_adjacency_list(graph_arr) inc_matrix = generation.save_to_incidence_matrix(graph_arr) graph_utils.print_2d_array("Adjacency matrix", generation.save_to_adjacency_matrix(graph_arr)) graph_utils.print_2d_array("Adjacency list", generation.save_to_adjacency_list(graph_arr)) graph_utils.print_2d_array("Incidence matrix", generation.save_to_incidence_matrix(graph_arr)) print("----------") print("") # from adjacency matrix: adj_list1 = conversions.adjacency_matrix_to_adjacency_list(adj_matrix) inc_matrix1 = conversions.adjacency_matrix_to_incident_matrix(adj_matrix) graph_utils.print_2d_array("adj matrix to list", adj_list1) graph_utils.print_2d_array("adj matrix to inc matrix", inc_matrix1) # from adjacency list: adj_matrix1 = conversions.adjacency_list_to_adjacency_matrix(adj_list) inc_matrix1 = conversions.adjacency_list_to_incident_matrix(adj_list) graph_utils.print_2d_array("list to adj matrix", adj_matrix1) graph_utils.print_2d_array("list to inc matrix", inc_matrix1) # from incidence matrix: adj_matrix1 = conversions.incident_matrix_to_adjacency_matrix(inc_matrix) adj_list1 = conversions.incident_matrix_to_adjacency_list(inc_matrix) graph_utils.print_2d_array("inc matrix to adj matrix", adj_matrix1) graph_utils.print_2d_array("inc matrix to list", adj_list1)
def main(): graph = DirectedGraph() graph.create_from_file_with_instance() graph_utils.print_2d_array("Random digraph", graph.correct_random(5, 0.5))
#!/bin/env python3.7 import sys sys.path.append('../..') from graph.graph import graph import graph.graph_utils as graph_utils graph1 = graph.create_from_sequence([4,2,2,3,2,1,4,2,2,2,2]) graph_utils.print_2d_array("Ciag graficzny", graph1.get_adjacency_matrix()) graph1.draw() print("Ciag niegraficzny:") graph_wrong = graph.create_from_sequence([4,2,2,3,2,1,4,2,2,2,1]) print("Ciag niegraficzny:") graph_wrong2 = graph.create_from_sequence([4,-2,1,4,2,2,2,1])