Python networkx.shortest_simple_paths() Examples
The following are 30
code examples of networkx.shortest_simple_paths().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
networkx
, or try the search function
.
Example #1
Source File: RwaNet.py From Actor-Critic-Based-Resource-Allocation-for-Multimodal-Optical-Networks with GNU General Public License v3.0 | 6 votes |
def k_shortest_paths(self, source, target): """ 如果源宿点是None,则返回len为1的None数组 :param source: :param target: :return: """ if source is None: return [None] generator = shortest_simple_paths(self, source, target, weight=self.weight) rtn = [] index = 0 for i in generator: index += 1 if index > self.k: break rtn.append(i) return rtn
Example #2
Source File: Service.py From Actor-Critic-Based-Resource-Allocation-for-Multimodal-Optical-Networks with GNU General Public License v3.0 | 6 votes |
def k_shortest_paths(self, source, target): """ 如果源宿点是None,则返回len为1的None数组 :param source: :param target: :return: """ if source is None: return [None] generator = shortest_simple_paths(self.net, source, target, weight=self.weight) rtn = [] index = 0 for i in generator: index += 1 if index > self.k: break rtn.append(i) return rtn
Example #3
Source File: graphing.py From grocsvs with MIT License | 6 votes |
def visualize_frags(outdir, graphs, options): from rpy2.robjects import r utilities.ensure_dir(outdir) for i, graph in enumerate(graphs): r.pdf(os.path.join(outdir, "fragments.cluster_{}.pdf".format(i))) for component in networkx.connected_components(graph): subgraph = graph.subgraph(component) ends = [node for node,degree in subgraph.degree_iter() if degree==1] breakends = [node for node in list(networkx.shortest_simple_paths(subgraph, ends[0], ends[1]))[0]] # breakends = [breakend_from_label(node) for node in breakends] breakends = breakends[:-1:2] + breakends[-1:] # print ")"*100, breakends for sample, dataset in sorted(options.iter_10xdatasets()): plot_frags(breakends, options, sample, dataset) # plot_frags(breakpoints, options, sample, dataset) r["dev.off"]()
Example #4
Source File: graphing.py From grocsvs with MIT License | 6 votes |
def visualize_frag_cluster(breakpoints, options): """ breakpoints are (chromx, x, chromy, y, orientation) """ graph = networkx.Graph() for breakpoint in breakpoints: chromx, x, chromy, y, orientation = breakpoint graph.add_edge((chromx, x, orientation[0]), (chromy, y, orientation[1])) ends = [node for node,degree in graph.degree_iter() if degree==1] breakends = [node for node in list(networkx.shortest_simple_paths(graph, ends[0], ends[1]))[0]] # breakends = [breakend_from_label(node) for node in breakends] breakends = breakends[:-1:2] + breakends[-1:] # print ")"*100, breakends for sample, dataset in sorted(options.iter_10xdatasets()): plot_frags(breakends, options, sample, dataset)
Example #5
Source File: test_simple_paths.py From Carnets with BSD 3-Clause "New" or "Revised" License | 5 votes |
def test_weighted_shortest_simple_path(): def cost_func(path): return sum(G.adj[u][v]['weight'] for (u, v) in zip(path, path[1:])) G = nx.complete_graph(5) weight = {(u, v): random.randint(1, 100) for (u, v) in G.edges()} nx.set_edge_attributes(G, weight, 'weight') cost = 0 for path in nx.shortest_simple_paths(G, 0, 3, weight='weight'): this_cost = cost_func(path) assert_true(cost <= this_cost) cost = this_cost
Example #6
Source File: test_simple_paths.py From aws-kube-codesuite with Apache License 2.0 | 5 votes |
def test_ssp_source_missing(): G = nx.Graph() nx.add_path(G, [0, 1, 2]) nx.add_path(G, [3, 4, 5]) paths = list(nx.shortest_simple_paths(G, 0, 3))
Example #7
Source File: test_simple_paths.py From Carnets with BSD 3-Clause "New" or "Revised" License | 5 votes |
def test_directed_weighted_shortest_simple_path(): def cost_func(path): return sum(G.adj[u][v]['weight'] for (u, v) in zip(path, path[1:])) G = nx.complete_graph(5) G = G.to_directed() weight = {(u, v): random.randint(1, 100) for (u, v) in G.edges()} nx.set_edge_attributes(G, weight, 'weight') cost = 0 for path in nx.shortest_simple_paths(G, 0, 3, weight='weight'): this_cost = cost_func(path) assert_true(cost <= this_cost) cost = this_cost
Example #8
Source File: test_simple_paths.py From Carnets with BSD 3-Clause "New" or "Revised" License | 5 votes |
def test_directed_weighted_shortest_simple_path_issue2427(): G = nx.DiGraph() G.add_edge('IN', 'OUT', weight=2) G.add_edge('IN', 'A', weight=1) G.add_edge('IN', 'B', weight=2) G.add_edge('B', 'OUT', weight=2) assert_equal(list(nx.shortest_simple_paths(G, 'IN', 'OUT', weight="weight")), [['IN', 'OUT'], ['IN', 'B', 'OUT']]) G = nx.DiGraph() G.add_edge('IN', 'OUT', weight=10) G.add_edge('IN', 'A', weight=1) G.add_edge('IN', 'B', weight=1) G.add_edge('B', 'OUT', weight=1) assert_equal(list(nx.shortest_simple_paths(G, 'IN', 'OUT', weight="weight")), [['IN', 'B', 'OUT'], ['IN', 'OUT']])
Example #9
Source File: test_simple_paths.py From Carnets with BSD 3-Clause "New" or "Revised" License | 5 votes |
def test_weight_name(): G = nx.cycle_graph(7) nx.set_edge_attributes(G, 1, 'weight') nx.set_edge_attributes(G, 1, 'foo') G.adj[1][2]['foo'] = 7 paths = list(nx.shortest_simple_paths(G, 0, 3, weight='foo')) solution = [[0, 6, 5, 4, 3], [0, 1, 2, 3]] assert_equal(paths, solution)
Example #10
Source File: test_simple_paths.py From Carnets with BSD 3-Clause "New" or "Revised" License | 5 votes |
def test_ssp_source_missing(): G = nx.Graph() nx.add_path(G, [1, 2, 3]) paths = list(nx.shortest_simple_paths(G, 0, 3))
Example #11
Source File: test_simple_paths.py From Carnets with BSD 3-Clause "New" or "Revised" License | 5 votes |
def test_ssp_target_missing(): G = nx.Graph() nx.add_path(G, [1, 2, 3]) paths = list(nx.shortest_simple_paths(G, 1, 4))
Example #12
Source File: test_simple_paths.py From Carnets with BSD 3-Clause "New" or "Revised" License | 5 votes |
def test_ssp_multigraph(): G = nx.MultiGraph() nx.add_path(G, [1, 2, 3]) paths = list(nx.shortest_simple_paths(G, 1, 4))
Example #13
Source File: test_simple_paths.py From aws-kube-codesuite with Apache License 2.0 | 5 votes |
def test_shortest_simple_paths(): G = cnlti(nx.grid_2d_graph(4, 4), first_label=1, ordering="sorted") paths = nx.shortest_simple_paths(G, 1, 12) assert_equal(next(paths), [1, 2, 3, 4, 8, 12]) assert_equal(next(paths), [1, 5, 6, 7, 8, 12]) assert_equal([len(path) for path in nx.shortest_simple_paths(G, 1, 12)], sorted([len(path) for path in nx.all_simple_paths(G, 1, 12)]))
Example #14
Source File: test_simple_paths.py From aws-kube-codesuite with Apache License 2.0 | 5 votes |
def test_shortest_simple_paths_directed(): G = nx.cycle_graph(7, create_using=nx.DiGraph()) paths = nx.shortest_simple_paths(G, 0, 3) assert_equal([path for path in paths], [[0, 1, 2, 3]])
Example #15
Source File: test_simple_paths.py From aws-kube-codesuite with Apache License 2.0 | 5 votes |
def test_Greg_Bernstein(): g1 = nx.Graph() g1.add_nodes_from(["N0", "N1", "N2", "N3", "N4"]) g1.add_edge("N4", "N1", weight=10.0, capacity=50, name="L5") g1.add_edge("N4", "N0", weight=7.0, capacity=40, name="L4") g1.add_edge("N0", "N1", weight=10.0, capacity=45, name="L1") g1.add_edge("N3", "N0", weight=10.0, capacity=50, name="L0") g1.add_edge("N2", "N3", weight=12.0, capacity=30, name="L2") g1.add_edge("N1", "N2", weight=15.0, capacity=42, name="L3") solution = [['N1', 'N0', 'N3'], ['N1', 'N2', 'N3'], ['N1', 'N4', 'N0', 'N3']] result = list(nx.shortest_simple_paths(g1, 'N1', 'N3', weight='weight')) assert_equal(result, solution)
Example #16
Source File: test_simple_paths.py From aws-kube-codesuite with Apache License 2.0 | 5 votes |
def test_weighted_shortest_simple_path(): def cost_func(path): return sum(G.adj[u][v]['weight'] for (u, v) in zip(path, path[1:])) G = nx.complete_graph(5) weight = {(u, v): random.randint(1, 100) for (u, v) in G.edges()} nx.set_edge_attributes(G, weight, 'weight') cost = 0 for path in nx.shortest_simple_paths(G, 0, 3, weight='weight'): this_cost = cost_func(path) assert_true(cost <= this_cost) cost = this_cost
Example #17
Source File: test_simple_paths.py From aws-kube-codesuite with Apache License 2.0 | 5 votes |
def test_directed_weighted_shortest_simple_path(): def cost_func(path): return sum(G.adj[u][v]['weight'] for (u, v) in zip(path, path[1:])) G = nx.complete_graph(5) G = G.to_directed() weight = {(u, v): random.randint(1, 100) for (u, v) in G.edges()} nx.set_edge_attributes(G, weight, 'weight') cost = 0 for path in nx.shortest_simple_paths(G, 0, 3, weight='weight'): this_cost = cost_func(path) assert_true(cost <= this_cost) cost = this_cost
Example #18
Source File: test_simple_paths.py From aws-kube-codesuite with Apache License 2.0 | 5 votes |
def test_ssp_source_missing(): G = nx.Graph() nx.add_path(G, [1, 2, 3]) paths = list(nx.shortest_simple_paths(G, 0, 3))
Example #19
Source File: test_simple_paths.py From aws-kube-codesuite with Apache License 2.0 | 5 votes |
def test_ssp_target_missing(): G = nx.Graph() nx.add_path(G, [1, 2, 3]) paths = list(nx.shortest_simple_paths(G, 1, 4))
Example #20
Source File: test_simple_paths.py From aws-kube-codesuite with Apache License 2.0 | 5 votes |
def test_ssp_multigraph(): G = nx.MultiGraph() nx.add_path(G, [1, 2, 3]) paths = list(nx.shortest_simple_paths(G, 1, 4))
Example #21
Source File: testNetwork.py From YAFS with MIT License | 5 votes |
def k_shortest_paths(G, source, target, k, weight=None): return list(islice(nx.shortest_simple_paths(G, source, target, weight=weight), k)) # DE PM! LO Ordena de menor a menos segun el weight
Example #22
Source File: test_simple_paths.py From Carnets with BSD 3-Clause "New" or "Revised" License | 5 votes |
def test_Greg_Bernstein(): g1 = nx.Graph() g1.add_nodes_from(["N0", "N1", "N2", "N3", "N4"]) g1.add_edge("N4", "N1", weight=10.0, capacity=50, name="L5") g1.add_edge("N4", "N0", weight=7.0, capacity=40, name="L4") g1.add_edge("N0", "N1", weight=10.0, capacity=45, name="L1") g1.add_edge("N3", "N0", weight=10.0, capacity=50, name="L0") g1.add_edge("N2", "N3", weight=12.0, capacity=30, name="L2") g1.add_edge("N1", "N2", weight=15.0, capacity=42, name="L3") solution = [['N1', 'N0', 'N3'], ['N1', 'N2', 'N3'], ['N1', 'N4', 'N0', 'N3']] result = list(nx.shortest_simple_paths(g1, 'N1', 'N3', weight='weight')) assert_equal(result, solution)
Example #23
Source File: test_simple_paths.py From Carnets with BSD 3-Clause "New" or "Revised" License | 5 votes |
def test_shortest_simple_paths_directed(): G = nx.cycle_graph(7, create_using=nx.DiGraph()) paths = nx.shortest_simple_paths(G, 0, 3) assert_equal([path for path in paths], [[0, 1, 2, 3]])
Example #24
Source File: test_simple_paths.py From Carnets with BSD 3-Clause "New" or "Revised" License | 5 votes |
def test_shortest_simple_paths(): G = cnlti(nx.grid_2d_graph(4, 4), first_label=1, ordering="sorted") paths = nx.shortest_simple_paths(G, 1, 12) assert_equal(next(paths), [1, 2, 3, 4, 8, 12]) assert_equal(next(paths), [1, 5, 6, 7, 8, 12]) assert_equal([len(path) for path in nx.shortest_simple_paths(G, 1, 12)], sorted([len(path) for path in nx.all_simple_paths(G, 1, 12)]))
Example #25
Source File: test_simple_paths.py From qgisSpaceSyntaxToolkit with GNU General Public License v3.0 | 5 votes |
def test_ssp_source_missing(): G = nx.Graph() G.add_path([0, 1, 2]) G.add_path([3, 4, 5]) paths = list(nx.shortest_simple_paths(G, 0, 3))
Example #26
Source File: test_simple_paths.py From qgisSpaceSyntaxToolkit with GNU General Public License v3.0 | 5 votes |
def test_ssp_multigraph(): G = nx.MultiGraph() G.add_path([1,2,3]) paths = list(nx.shortest_simple_paths(G, 1, 4))
Example #27
Source File: test_simple_paths.py From qgisSpaceSyntaxToolkit with GNU General Public License v3.0 | 5 votes |
def test_ssp_target_missing(): G = nx.Graph() G.add_path([1,2,3]) paths = list(nx.shortest_simple_paths(G, 1, 4))
Example #28
Source File: test_simple_paths.py From qgisSpaceSyntaxToolkit with GNU General Public License v3.0 | 5 votes |
def test_ssp_source_missing(): G = nx.Graph() G.add_path([1,2,3]) paths = list(nx.shortest_simple_paths(G, 0, 3))
Example #29
Source File: test_simple_paths.py From qgisSpaceSyntaxToolkit with GNU General Public License v3.0 | 5 votes |
def test_directed_weighted_shortest_simple_path(): def cost_func(path): return sum(G.edge[u][v]['weight'] for (u, v) in zip(path, path[1:])) G = nx.complete_graph(5) G = G.to_directed() weight = {(u, v): random.randint(1, 100) for (u, v) in G.edges()} nx.set_edge_attributes(G, 'weight', weight) cost = 0 for path in nx.shortest_simple_paths(G, 0, 3, weight='weight'): this_cost = cost_func(path) assert_true(cost <= this_cost) cost = this_cost
Example #30
Source File: test_simple_paths.py From qgisSpaceSyntaxToolkit with GNU General Public License v3.0 | 5 votes |
def test_weighted_shortest_simple_path(): def cost_func(path): return sum(G.edge[u][v]['weight'] for (u, v) in zip(path, path[1:])) G = nx.complete_graph(5) weight = {(u, v): random.randint(1, 100) for (u, v) in G.edges()} nx.set_edge_attributes(G, 'weight', weight) cost = 0 for path in nx.shortest_simple_paths(G, 0, 3, weight='weight'): this_cost = cost_func(path) assert_true(cost <= this_cost) cost = this_cost