Example #1
0
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()
Example #2
0
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())
Example #3
0
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()
Example #4
0
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))
Example #5
0
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))
Example #6
0
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())
Example #7
0
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)
Example #8
0
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)
Example #9
0
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("#########################")
Example #10
0
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("#############################################")
Example #11
0
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()
Example #12
0
def main():
    g = graph.create_from_file()
    g.draw()
    component = g.largest_component()
    graph_utils.print_2d_array("largest component", component)
Example #13
0
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)
Example #14
0
def main():
    graph = DirectedGraph()
    graph.create_from_file_with_instance()

    graph_utils.print_2d_array("Random digraph", graph.correct_random(5, 0.5))
Example #15
0
#!/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])