2016-06-21 3 views
4

매우 간단히 말해 minimize_nested_blockmodel_dl에 대한 기본적인 질문은 graph-tool library입니다. 어느 정점이 어떤 블록에 떨어지는 지 알아낼 방법이 있습니까? 즉, 각 블록에서 정점의 레이블을 포함하는 목록을 추출합니다.그래프 도구의 중첩 된 블록 모델에 대한 기본 질문

계층 적 시각화는 네트워크 이론에서 아마추어에 대해 이해하기가 다소 어렵습니다. 고려 대상이되는 두 블록 사이의 기본 가장자리의 주 방향을 나타내는 의미있는 그려진 유도 된 가장자리가있는 사각형입니까? 블록은 다양한 색상을 사용하여 멋지게 표시되지만 매우 개념적인 수준에서 어떤 유형의 패턴 또는 가장자리/꼭지점 속성이 꼭지점의 블록 분류 뒤에 있습니까? 즉, 두 개의 꼭지점이 같은 블록에있을 때 공통 속성에 대해 무엇을 말할 수 있습니까? 첫 번째 질문에 대해서는

답변

6

, 그것은 매우 간단합니다 :

:

g = collection.data["football"] 
state = minimize_nested_blockmodel_dl(g) 

이 계층 구조의 첫 번째 레벨을 검사하여 노드의 그룹 구성원을 조회 할 수 있습니다 다음 minimize_nested_blockmodel_dl() 함수는 NestedBlockState 객체를 반환

:

lstate = state.levels[0] 
우리가 get_blocks() 방법을 통해 그룹 구성원 자격을 얻을 수있는에서 BlockState 객체이며,
b = lstate.get_blocks() 
print(b[30]) # prints the group membership of node 30 

두 번째 질문에 대해서는, 확률 적 블록 모델은 동일한 그룹에 속한 노드가 나머지 네트워크에 연결할 확률이 동일한 것으로 가정합니다. 따라서 위의 함수에 의해 같은 그룹으로 분류 된 노드는 유사한 연결 패턴을 갖습니다. 예를 들어, 우리는 축구 네트워크에 적합 보면 :

state.draw(output="football.png") 

enter image description here

우리는 같은 그룹에 속하는 노드가 같은 그룹의 다른 노드에 더 많은 연결을하는 경향이 참조 - - 대표적인 예로는 커뮤니티 구조입니다. 그러나 이것은 확률 적 블록 모델에 의해 밝혀 질 수있는 많은 가능성 중 하나 일뿐입니다. 다른 토폴로지 패턴에는 코어 - 주변 조직, 이중화 (bipartiteness) 등이 포함됩니다.

+0

많은 시간과 응답을 해주셔서 감사합니다. 내가 할 수있는 두 가지 하위 질문 : (i) 블록이 네트워크 구성 요소를 나타낼 가능성이 있다고 가정하는 것이 합리적입니까? (ii) 그림에 모서리가있는 정사각형이 무엇을 나타내는가? –

+0

(i) 예,이 모델의 일반적인 해석입니다. (ii) 사각형은 계층 구조를 나타냅니다. 즉, 동일한 모델을 사용하여 첫 번째 수준의 그룹 네트워크를 모델링 할 때 어떤 일이 발생합니까? 여기에 대해 더 자세히 알 수 있습니다 : http://dx.doi.org/10.1103/PhysRevX.4.011047 –

+0

사실, 이미 arXiv (아름다운 작품)에 대한 논문을 읽기 시작했으나 매우 천천히 진행하고 있습니다. 나는이 분야에 익숙하지 않으므로 내 순진한 질문을한다. (올바르게 이해한다면 스플라인 선은 실제 네트워크의 가장자리를 나타내며 방향을 표시하지 않고 첫 번째 계층 구조 시각화에서 가장자리 사이의 가장자리 방향을 나타낸다. 사각형은 실제로 네트워크의 원래 가장자리의 방향을 묘사하지 않습니다. 오른쪽 그림은 여기에 표시된 그림에서 녹색 스플라인이 청록색으로 변하는 것을 볼 수 있지만 사각형이있는 경로는 없습니다 –