Масштабируемая свободная сеть с локальной кластеризацией - PullRequest
1 голос
/ 22 декабря 2019

Я пытаюсь построить безмасштабную сеть с локальной кластеризацией, но у меня возникают проблемы с настройкой условия локальной кластеризации. Коэффициент локальной кластеризации должен быть определен как « число существующих ребер среди множества его соседей, деленное на общее количество возможных соединений между ними ».

Другой способ думать об этом - вероятность того, что два случайно выбранных соседа вершины сами являются соседями.

В моей модели есть две породы, и я реализовал сеть без масштабаиспользуя уже существующую модель в Netlogo следующим образом:

breed [ cats cat ]
breed [ dogs dog ]

cats-own [ already-attached ]
dogs-own [ already-attached ]



to setup-scale-free-network

  clear-all
  let num-cats 1000
  let num-dogs num-cats / 10
  let probability 1

  create-cats num-cats [ set color blue ]
  create-dogs num-dogs  [ set color red ]


  layout-circle turtles (max-pxcor - 8)
  ask turtles
  [
    create-links-with turtles with [self > myself and random-float 5 < probability]
  ]

end


to go
  setup-scale-free-network
  ask turtles with [already-attached = 0]
  [
    attach-to-one-of-each-breed self
  ]
end

to attach-to-one-of-each-breed [ source-node ]
  ask source-node
    [
      if any? other cats with [ already-attached = 0 ]
      [
        ask one-of other cats
        [
          set already-attached 1
          create-link-with source-node [ set color green ]
        ]
      ]

      if any? other dogs with [ already-attached = 0 ]
      [
        ask one-of other dogs
        [
          set already-attached 1
          create-link-with source-node [ set color green ]
        ]
      ]
    ]
end

Мне нужна помощь, чтобы понять, как реализовать условие локальной кластеризации в этой или другой бесплатной сети другого масштаба, надеясь, что вы мне поможете (немного), чтобы понять это.

...