2017-04-05 3 views
0

페이지 랭크 (pagerank)를 실행하는 그래프를 작성했습니다. 나는 방향성 그래프와 무향성 그래프를 모두 테스트했지만, 나는 내가 보는 것을 이해하기 위해 애 쓰고있다. 당신이 볼 수 있듯이, 나는 두 방향 그래프 (소리를 나타내는 두 글자)와 무향 그래프 (그래프)를 시도networkx python, directed/undirected 그래프, 일관되지 않은 노드 및 가장자리?

G= nx.DiGraph() #option 1 
#G= nx.Graph() #option 2 
[inside a for loop] 
    G.add_edge(node, another_node) 
print("Graph size {} {}".format(len(G.nodes()), len(G.edges()))) 

[then code to run pagerank...] 

:

나는 다음과 같이 코드 블록을 가지고있다. 두 경우 모두 동일한 루프를 거치며 (node, another_node) 쌍의 동일한 세트에서 'add_edge'를 같은 횟수만큼 호출합니다.

그런 다음 결과 그래프에 노드와 가장자리 수를 인쇄합니다. 그러나 이것은 나를 당황하게하는 선이다. 왜냐하면 DiGraph와 Graph에서는 다른 출력을 볼 수 있기 때문입니다.

옵션 1을 사용하면 노드 10107 개와 가장자리 1350222 개가 있습니다. 옵션 2를 사용하면 노드가 10107 개이고 가장자리가 1268064 개입니다.

나는 일관성을 알고 있습니다. 이게 정상입니까? 또는 무엇이 잘못 될 수 있습니까?

감사합니다.

답변

1

무향 그래프의 가장자리에는 방향이 없습니다. A에서 B 및 B에서 A 로의 경계는 중복으로 간주됩니다. add_edge()은 중복 된 내용을 자동으로 무시합니다. 이것이 방향성 그래프가 (A, B)와 (B, A) 두 개의 가장자리를 갖는 한쪽 가장자리 (A, B) 또는 (B, A)를 갖는 이유입니다.

+0

정말 감사합니다. – Ziqi

관련 문제