Ejemplo n.º 1
0
 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
Ejemplo n.º 2
0
 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)
Ejemplo n.º 3
0
 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)
Ejemplo n.º 4
0
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
Ejemplo n.º 5
0
    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),
        )
Ejemplo n.º 6
0
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
Ejemplo n.º 7
0
 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)
Ejemplo n.º 8
0
 def test_graph_single_edge(self):
     G = nx.Graph()
     G.add_edge(0, 1)
     assert_equal(nx.min_edge_cover(G), {(0, 1)})
Ejemplo n.º 9
0
 def test_graph_with_loop(self):
     G = nx.Graph()
     G.add_edge(0, 0)
     assert_equal(nx.min_edge_cover(G), {(0, 0)})
Ejemplo n.º 10
0
 def test_graph_with_loop(self):
     G = nx.Graph()
     G.add_edge(0, 0)
     assert_equal(nx.min_edge_cover(G), {(0, 0)})
Ejemplo n.º 11
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
Ejemplo n.º 12
0
 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 = []
Ejemplo n.º 14
0
 def edge_cover(self):
     graph = self.construct_network()
     cover_edge = nx.min_edge_cover(graph)
     return cover_edge
Ejemplo n.º 15
0
def min_edge_cover(graph):
    """min_edge_cover"""
    return len(list(nx.min_edge_cover(graph)))
Ejemplo n.º 16
0
 def test_empty_graph(self):
     G = nx.Graph()
     assert nx.min_edge_cover(G) == set()
Ejemplo n.º 17
0
 def test_empty_graph(self):
     G = nx.Graph()
     assert_equal(nx.min_edge_cover(G), set())
Ejemplo n.º 18
0
 def test_graph_with_loop(self):
     G = nx.Graph()
     G.add_edge(0, 0)
     assert nx.min_edge_cover(G) == {(0, 0)}
Ejemplo n.º 19
0
 def test_graph_single_edge(self):
     G = nx.Graph()
     G.add_edge(0, 1)
     assert_equal(nx.min_edge_cover(G),
                  {(0, 1)})
Ejemplo n.º 20
0
 def test_empty_graph(self):
     G = nx.Graph()
     assert_equal(nx.min_edge_cover(G), set())
Ejemplo n.º 21
0
 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)
Ejemplo n.º 22
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))