def test_bipartite_explicit(self): G = nx.Graph() G.add_nodes_from([1, 2, 3, 4], bipartite=0) G.add_nodes_from(["a", "b", "c"], bipartite=1) G.add_edges_from([(1, "a"), (1, "b"), (2, "b"), (2, "c"), (3, "c"), (4, "a")]) min_cover = nx.min_edge_cover( G, nx.algorithms.bipartite.matching.eppstein_matching ) min_cover2 = nx.min_edge_cover(G) assert nx.is_edge_cover(G, min_cover) assert len(min_cover) == 8
def test_bipartite_explicit(self): G = nx.Graph() G.add_nodes_from([1, 2, 3, 4], bipartite=0) G.add_nodes_from(['a', 'b', 'c'], bipartite=1) G.add_edges_from([(1, 'a'), (1, 'b'), (2, 'b'), (2, 'c'), (3, 'c'), (4, 'a')]) min_cover = nx.min_edge_cover( G, nx.algorithms.bipartite.matching.eppstein_matching) min_cover2 = nx.min_edge_cover(G) assert_true(nx.is_edge_cover(G, min_cover)) assert_equal(len(min_cover), 8)
def test_bipartite_explicit(self): G = nx.Graph() G.add_nodes_from([1, 2, 3, 4], bipartite=0) G.add_nodes_from(['a', 'b', 'c'], bipartite=1) G.add_edges_from([(1, 'a'), (1, 'b'), (2, 'b'), (2, 'c'), (3, 'c'), (4, 'a')]) min_cover = nx.min_edge_cover(G, nx.algorithms.bipartite.matching. eppstein_matching) min_cover2 = nx.min_edge_cover(G) assert_true(nx.is_edge_cover(G, min_cover)) assert_equal(len(min_cover), 8)
def min_edge_cover(edges): g = create_graph(edges) mc = nx.min_edge_cover(g) res = set() for i in mc: res.add((min(i), max(i))) return res
def compute_features(self): self.add_feature( "min_edge_cover", lambda graph: len(list(nx.min_edge_cover(graph))), "The number of edges which consistutes the minimum edge cover of the graph", InterpretabilityScore(3), )
def tst3(): edges = np.array([[1, 4], [2, 4], [3, 5], [1, 5]]) g = create_graph(edges) min_cover = nx.min_edge_cover(g) res = set() for i in min_cover: res.add((min(i), max(i))) return res
def test_complete_graph(self): G = nx.complete_graph(10) min_cover = nx.min_edge_cover(G) assert_true(nx.is_edge_cover(G, min_cover)) assert_equal(len(min_cover), 5)
def test_graph_single_edge(self): G = nx.Graph() G.add_edge(0, 1) assert_equal(nx.min_edge_cover(G), {(0, 1)})
def test_graph_with_loop(self): G = nx.Graph() G.add_edge(0, 0) assert_equal(nx.min_edge_cover(G), {(0, 0)})
def test_complete_graph(self): G = nx.complete_graph(10) min_cover = nx.min_edge_cover(G) assert nx.is_edge_cover(G, min_cover) assert len(min_cover) == 5
def test_graph_single_edge(self): G = nx.Graph() G.add_edge(0, 1) assert nx.min_edge_cover(G) in ({(0, 1)}, {(1, 0)})
ps = [int(i) for i in s.split()] n = ps[0] m = ps[1] graph = nx.Graph() for i in range(0, m): s = f.readline() ps = [float(i) for i in s.split()] v = int(ps[0]) u = int(ps[1]) graph.add_edge(v, u, weight = 1) f.close() f = open("outputPy.txt", "w") f.write("maximum stable set = " + str(approximation.independent_set.maximum_independent_set(graph)) + '\n') f.write("maximum matching = " + str(nx.max_weight_matching(graph)) + '\n') f.write("minimum vertex cover = " + str(approximation.vertex_cover.min_weighted_vertex_cover(graph)) + '\n') f.write("minimum edge cover = " + str(nx.min_edge_cover(graph))) f.write("minimum path that visits every edge: " + str(list(nx.eulerian_circuit(nx.eulerize(graph))))) dists = dict(nx.all_pairs_shortest_path_length(graph)) paths = dict(nx.all_pairs_shortest_path(graph)) distsArr = [] listsCnt = 0 for i in range(1, n + 1): if i == 9 or i == 27 or i == 19 or i == 46 or i == 18: continue distsArr.append([]) listsCnt += 1 for j in range(1, n + 1): if j == 9 or j == 27 or j == 19 or j == 46 or j == 18: continue distsArr[listsCnt - 1].append(dists[i][j]) vertexes = []
def edge_cover(self): graph = self.construct_network() cover_edge = nx.min_edge_cover(graph) return cover_edge
def min_edge_cover(graph): """min_edge_cover""" return len(list(nx.min_edge_cover(graph)))
def test_empty_graph(self): G = nx.Graph() assert nx.min_edge_cover(G) == set()
def test_empty_graph(self): G = nx.Graph() assert_equal(nx.min_edge_cover(G), set())
def test_graph_with_loop(self): G = nx.Graph() G.add_edge(0, 0) assert nx.min_edge_cover(G) == {(0, 0)}
import util import networkx as nx from networkx.algorithms import approximation from networkx.algorithms import connectivity state_ = 15 input_ = 4 output_ = 1 file_name = 'test.kiss2' repeated = 5 experiment = 10 util.create_fsm(state_, input_, output_, file_name) G, g_data = util.create_graph(file_name) print(nx.average_neighbor_degree(G)) print(approximation.max_clique(G)) print(nx.k_nearest_neighbors(G)) print(nx.min_edge_cover(G))