2017-12-02 5 views
1

ネットワークから最も重要度の高いノードを抽出します。私は最大限のリンクしか持たないノードを抽出したくない。私はそれに隣接するノードと共にノードを抽出したい。ネットワークから高度にリンクされたノードを抽出する方法

以下はコードです。このコードでは、nw拡張を使用してネットワークをロードしました。

extensions [nw] 

    turtles-own [ explored? ] 

    to setup 
     ca 
     crt 25 
     ask turtles [fd random 15] 
     load-graph 
     extract_deg 
    end 


    to load-graph 
     let filename user-file 
     if (filename != false) [ 
     nw:load-graphml filename [ 
      set shape "circle" 
      set size 1 
     ] 
     nw:set-context turtles links 
     ] 
    end 


    to extract_deg 
     let n turtles with [my-links = max [count link-neighbors] of turtles] 
     ask n [show other turtles network:in-link-radius 1 turtles] 
    end 

    to layout 
     ask turtles [ set size sqrt count my-links ] 
     layout-spring turtles links 0.5 2 1 
     ask turtles [ 
     facexy 0 0 
     fd (distancexy 0 0)/100 ] 
    end 
+0

におけるいくつかの構文エラーを持っている別の質問では、複数の質問をしてください。また、どのようなコードをこれまでに試してみましたか? – JenB

+0

質問を編集して、抽出度の高いノードを抽出するためにextract_degでコードを追加しました。 – BiSarfraz

答えて

1

以下のコードは、(あなたがそれらのすべてをしたい場合は、単にone-ofを除く)の最大次数を持つノードのいずれかを選択します。赤いそれを回すとそのネットワークの隣人が緑色になります。

[my-links = max [count link-neighbors] of turtles]は不要です。標準のNetLogoには、非常に便利なwith-maxプリミティブが含まれています。しかし、私のリンクが(のように)カウントされていれば、あなたの構築がうまくいくと思います。 StackOverflowのが探して他の人々のための資源として有用であるように、そして、あなたは、次の行(拡張子はnwであり、あなたがturtlesは必要ありません。

to extract_deg 
    let maxk-set one-of turtles with-max [count my-links] 
    ask maxk-set 
    [ set color red 
    ask other nw:turtles-in-radius 1 [set color green] 
    ] 
end 
+0

ありがとうございました。 – BiSarfraz

関連する問題