def run_algorithm_dijkstra_apsp(self, values): graph = Graph.import_values(values) t = time() dist = Dijkstra_apsp(graph) time_seconds = time() - t return self.export_algorithm(dist, time_seconds)
def run_algorithm_dijkstra(self, values, source): graph = Graph.import_values(values) t = time() dist = Dijkstra(int(source), graph) time_seconds = time() - t return self.export_algorithm([dist], time_seconds)
def run_algorithm_floyd_warshall(self, values): graph = Graph.import_values(values) t = time() dist = Floyd_Warshall(graph) time_seconds = time() - t return self.export_algorithm(dist, time_seconds)
def run_algorithm_quinca(self, values, dist): graph = Graph.import_values(values) matrix_distances = self.import_matrix(dist) t = time() dist = Quinca(graph, matrix_distances) time_seconds = time() - t return self.export_algorithm(dist, time_seconds)
def run_algorithm_knnb_node_incremental(self, values, dist): graph = Graph.import_values(values) matrix_distances = self.import_matrix(dist) t = time() dist = KNNB_Node_Incremental(graph, matrix_distances) time_seconds = time() - t return self.export_algorithm(dist, time_seconds)
def run_algorithm_rr_bfs_truncated(self, values, dist): graph = Graph.import_values(values) matrix_distances = self.import_matrix(dist) t = time() dist = Bfs_Truncated_With_Sources(graph, matrix_distances) time_seconds = time() - t return self.export_algorithm(dist, time_seconds)
def run_algorithm_forest(self, values, dist): graph = Graph.import_values(values) matrix_distances = self.import_matrix(dist) t = time() dist = Forest_apsp(graph, np.array(matrix_distances)) time_seconds = time() - t return self.export_algorithm(dist, time_seconds)
def run_algorithm_abm(self, values, dist): graph = Graph.import_values(values) matrix_distances = self.import_matrix(dist) t = time() dist = ABM_Update(graph, np.array(matrix_distances)) time_seconds = time() - t print("TIME ABM: ", time_seconds * 1000) return self.export_algorithm(dist, time_seconds)
def run_algorithm_quinca(self, values, dist): graph = Graph.import_values(values) matrix_distances = self.import_matrix(dist) t = time() dist = Quinca(graph, np.array(matrix_distances)) time_seconds = time() - t print("TIME QUINCA: ", time_seconds * 1000) return self.export_algorithm(dist, time_seconds)
def dynamic_update_random_edge(self, values): graph = Graph.import_values(values) graph.edge_update_random() return self.export(graph)
def dynamic_decreasing_random_edge(self, values): graph = Graph.import_values(values) graph.dynamic_decreasing_random_edge() return self.export(graph)
def dynamic_incremental_random_edge(self, values): graph = Graph.import_values(values) graph.dynamic_incremental_random_edge() return self.export(graph)
def __init__(self, values): self.attempt = 30 self.graph = Graph.import_values(values)
def __init__(self, values=None): self.attempt = 30 self.graph = Graph() if values is not None: self.graph = Graph.import_values(values)