2017-01-28 4 views
1

현재 그래프에 max-flow-min-cut 알고리즘을 적용하여 네트워크 흐름 문제를 모델링하려고합니다. 두 값 터플 (11, 및 하나의 나머지이다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': {}}) 

: I 란 다음 것은 그래프를 작성하고

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.]] 
관련 문제