2017-01-28 26 views
1

現在、有向グラフにmax-flow-min-cutアルゴリズムを適用してネットワークフローの問題をモデル化しようとしています。 2つの値タプル(11、1で残りであるnetworkx maximum_flow出力を配列に変換する

(11.0, 
{'A1': {'A4': 1.0, 'A5': 0, 'T': 3.0}, 
'A2': {'A1': 4.0, 'A8': 2.0, 'T': 1.0}, 
'A3': {'A7': 3.0}, 
'A4': {'A3': 0, 'A8': 0, 'T': 1.0}, 
'A5': {'A3': 2.0, 'A8': 1.0}, 
'A6': {'A2': 7.0}, 
'A7': {'T': 3.0}, 
'A8': {'T': 3.0}, 
'S': {'A3': 1.0, 'A5': 3.0, 'A6': 7.0}, 
'T': {}}) 

:私は何以下があるグラフを作成し、

nx.maximum_flow(DG, s="S", t="T") 

を使用して、最大流量(およびフロー)を解くために管理しました値)。今私はA1 - > A4、A5 - > A8とA6 - > A2のフローを含む配列を作成したいと思います。

しかし、私はPythonを初めて勉強しているので、これから何らかのリストを作成することに失敗しています。

理想的には、私はこのようなものに終わるだろう:私は問題が何であるかを理解していない

y = np.array([1.0, 1.0, 7.0]).reshape(3,1) 

[[ 1.] 
[ 1.] 
[ 7.]] 
+1

'データ[1] [ 'A1'] [ 'A4が']' '1.0'を与える'データ[1] [ 'A5'] [ 'A8' ] '' 1.0 '、 'data [1] [' A6 '] [' A2 ']'は '7.0'を与え、 – furas

答えて

0

import numpy as np 

data = (
    11.0, 
    { 
     'A1': {'A4': 1.0, 'A5': 0, 'T': 3.0}, 
     'A2': {'A1': 4.0, 'A8': 2.0, 'T': 1.0}, 
     'A3': {'A7': 3.0}, 
     'A4': {'A3': 0, 'A8': 0, 'T': 1.0}, 
     'A5': {'A3': 2.0, 'A8': 1.0}, 
     'A6': {'A2': 7.0}, 
     'A7': {'T': 3.0}, 
     'A8': {'T': 3.0}, 
     'S': {'A3': 1.0, 'A5': 3.0, 'A6': 7.0}, 
     'T': {} 
    } 
) 

lst = [ data[1]['A1']['A4'], data[1]['A5']['A8'], data[1]['A6']['A2'] ] 

y = np.array(lst).reshape(3,1) 

print(y) 

結果:

[[ 1.] 
[ 1.] 
[ 7.]] 
関連する問題