def template_graph_coloring(filename, alpha, eps, steps, time, title=None, tolerance=0.1, threshold_steps=10): if (title is None): title = filename graph = read_graph(filename) network = hysteresisgcolor(graph.data, alpha, eps) output_dynamic = network.simulate(steps, time) draw_dynamics(output_dynamic.time, output_dynamic.output, x_title="Time", y_title="State") clusters = output_dynamic.allocate_clusters(tolerance, threshold_steps) for index in range(0, len(clusters)): print("Color #", index, ": ", clusters[index]) coloring_map = output_dynamic.allocate_map_coloring( tolerance, threshold_steps) draw_graph(graph, coloring_map)
def template_graph_coloring(positive_weight, negative_weight, filename, reduction = None, title = None): if (title is None): title = filename; print("\nGraph Coloring: ", title); graph = read_graph(filename); network = syncgcolor(graph.data, positive_weight, negative_weight, reduction); analyser = network.process(order = 0.999, solution = solve_type.FAST, collect_dynamic = True); sync.sync_visualizer.show_output_dynamic(analyser); clusters = analyser.allocate_color_clusters(); for index in range(0, len(clusters)): print("Color #", index, ": ", clusters[index]); coloring_map = analyser.allocate_map_coloring(); print("Number colors: ", max(coloring_map)); draw_graph(graph, coloring_map); # Check validity of colors for index_node in range(len(graph.data)): color_neighbors = [ coloring_map[index] for index in range(len(graph.data[index_node])) if graph.data[index_node][index] != 0 and index_node != index]; #print(index_node, map_coloring[index_node], color_neighbors, assigned_colors, map_coloring, "\n\n"); if (coloring_map[index_node] in color_neighbors): print("Warining: Incorrect coloring"); return;
def template_graph_coloring(filename): graph = read_graph(filename) dsatur_instance = dsatur(graph.data) dsatur_instance.process() coloring = dsatur_instance.get_colors() print("Number colors: ", max(coloring)) draw_graph(graph, coloring)
def template_graph_coloring(filename): graph = read_graph(filename); dsatur_instance = dsatur(graph.data); dsatur_instance.process(); coloring = dsatur_instance.get_colors(); print("Number colors: ", max(coloring)); draw_graph(graph, coloring);
def template_graph_coloring(filename, alpha, eps, steps, time, title = None, tolerance = 0.1): if (title is None): title = filename; graph = read_graph(filename); network = hysteresisgcolor(graph.data, alpha, eps); (t, dyn) = network.simulate(steps, time); draw_dynamics(t, dyn, x_title = "Time", y_title = "State"); clusters = network.get_clusters(tolerance); for index in range(0, len(clusters)): print("Color #", index, ": ", clusters[index]); coloring_map = network.get_map_coloring(tolerance); draw_graph(graph, coloring_map);
def template_graph_coloring(filename, alpha, eps, steps, time, title = None, tolerance = 0.1, threshold_steps = 10): if (title is None): title = filename; graph = read_graph(filename); network = hysteresisgcolor(graph.data, alpha, eps); output_dynamic = network.simulate(steps, time); draw_dynamics(output_dynamic.time, output_dynamic.output, x_title = "Time", y_title = "State"); clusters = output_dynamic.allocate_clusters(tolerance, threshold_steps); for index in range(0, len(clusters)): print("Color #", index, ": ", clusters[index]); coloring_map = output_dynamic.allocate_map_coloring(tolerance, threshold_steps); draw_graph(graph, coloring_map);
def template_graph_coloring(filename, alpha, eps, steps, time, title=None, tolerance=0.1): if (title is None): title = filename graph = read_graph(filename) network = hysteresisgcolor(graph.data, alpha, eps) (t, dyn) = network.simulate(steps, time) draw_dynamics(t, dyn, x_title="Time", y_title="State") clusters = network.get_clusters(tolerance) for index in range(0, len(clusters)): print("Color #", index, ": ", clusters[index]) coloring_map = network.get_map_coloring(tolerance) draw_graph(graph, coloring_map)