2013-02-09 2 views
0

netlogo 질문이 있습니다. 나는 (무향) 링크로 연결된 노드의 그래프 구조를 가지고있다. 나는이 구조들 중 하나에서 가장 작은 부 그래프가 어느 것인지 알아낼 필요가있다. 기본적으로 부분 그래프는 노드가 모두 서로 연결되어 있음을 의미합니다. 그래서 만약 내가 5 노드의 구조를 가지고 있고 노드 1은 2와 3에 연결되어있다. 노드 2에서 3, 1 및 4; 노드 3, 노드 1, 노드 2, 노드 3은 모두 상호 연결되어 있으므로 노드 1, 2 및 3의 하위 그래프를 감지해야합니다.Netlogo의 그래프에서 하위 그래프 (클릭) 추출

쉬운 방법이 있나요? 아니면 기본적으로 계산이 불가능합니까?

편집 : netlogo 확장명을 사용하면 nw : maximal-cliques 메서드를 사용하여 원하는 것을 계산할 수 있다고 생각했습니다. 지금은 또 다른 문제가 있습니다. 나는 보통 길이 두하지만 파벌의 거북이의 목록이어야합니다 첫 번째 요소는 목록이 방법을

let lista-cliques [nw:maximal-cliques] of turtles with [guild = g] 

중고 장비 구매 - 파벌을 파벌의 목록의 목록을 채우기 위해 노력하고있어 이와 같이

길드 = g 인 거북이의 그래프 길이가 약 2-8 거북 인 경우 300의 길이. nw : maximal-cliques에 대한 호출이 잘 만들어 졌습니까?

내가 뭘 잘못하고 있는지 아이디어가 있습니까?

편집 2 : 나는 = 이제 목록 길드와 노드 그래프 노드의 양에없는 300 개 노드하지만 동일이

let lista-cliques (list ([nw:maximal-cliques] of turtles with [guild = g])) 

를 수행하여 목록의 길이를 해결하는 방법을 생각 지.

length item 1 lista-cliques 

I는 단지 하나 또는 두 개의 노드에 연결된 노드 그래프를 볼 수 있기 때문에 또한 문제이다 분명

count turtles with [guild = g] 

같다는 것을 의미

. 나는 점점 더 가까워지고 있다고 생각하지만 왜 nw : maximal-cliques가 최대 클록의 목록을 작성하지 않고 그래프의 모든 노드 목록을 작성하는지 알지 못합니다.

아이디어가 있으십니까?

감사

답변

2

nw:maximal-cliques 귀하의 사용이 매우 정확하지 않습니다.

난 당신이 of turtles with [guild = g]을 지정하여 표현하기 위해 무엇을하려고하는 것은 "계정에 길드 g의 일부에만 거북이를 복용"같은 것이 있다고 생각하지만, 실제로 NetLogo에게 어떤 의미인지는 "선행 그 기자를 실행 of 길드의 일부인 각 거북이에 대해 g 그리고 그 목록을 작성하십시오. (그냥 같은, 예를 들어, [color] of turtles 각 거북에 대해 한 번씩 [color] 기자 블록을 실행하고 결과 색상의 목록을 작성합니다.)

nw:maximal-cliques전체 네트워크에서 작동하는 원시적이다, 그렇게하지 않도록 각 거북이에 대해 한 번 실행하고 싶습니다.nw 확장의 대부분의 프리미티브와 마찬가지로 nw:set-snapshot 프리미티브를 사용하여 작업 할 거북이와 링크를 지정해야합니다.

나는 당신이 간단하게 수행하여 원하는 것을 얻을 수 있다고 생각 :.

nw:set-snapshot (turtles with [guild = g]) links 
let lista-cliques nw:maximal-cliques 

(nw:set-snapshotnw 프리미티브에 더 전화가 작동하는 네트워크의 정적 "그림"을 취합니다 뭔가의 변화 경우 네트워크에 연결하려면 새 사진을 찍으려면 nw:set-snapshot으로 전화해야합니다.이 번호는 향후 확장 버전에서 변경 될 수 있습니다.

+0

정말 고마워요! 그 트릭을 했어! :) – Atirag

관련 문제