xxxx18一60岁hd中国/日韩女同互慰一区二区/西西人体扒开双腿无遮挡/日韩欧美黄色一级片 - 色护士精品影院www

  • 大小: 5KB
    文件類型: .py
    金幣: 1
    下載: 0 次
    發(fā)布日期: 2021-05-06
  • 語言: Python
  • 標(biāo)簽: python??LFM??

資源簡介

基于Python2.7實(shí)現(xiàn)的LFM種子傳播算法。 參考論文 LFM:Detecting the overlapping and hierarchical community structure in complex networks

資源截圖

代碼片段和文件信息

#?-*-?coding:?UTF-8?-*-

“““
Created?on?18-4-7

@summary:?LFM算法實(shí)現(xiàn) 種子傳播算法

@author:?dreamhome
“““

import?random
import?get_graph


class?Community(object):
????“““
????定義擴(kuò)展的社區(qū)
????“““

????def?__init__(self?graph?alpha=1.0):
????????“““
????????社區(qū)屬性
????????:param?graph:
????????:param?alpha:
????????“““
????????self._graph?=?graph
????????self._alpha?=?alpha
????????self._nodes?=?set()
????????self._k_in?=?0
????????self._k_out?=?0

????def?add_node(self?node):
????????“““
????????子社團(tuán)中加入節(jié)點(diǎn) 改變子社團(tuán)的出度和入度
????????:param?node:
????????:return:
????????“““
????????neighbors?=?set(self._graph.neighbors(node))
????????node_k_in?=?len(neighbors?&?self._nodes)
????????node_k_out?=?len(neighbors)?-?node_k_in
????????self._nodes.add(node)
????????self._k_in?+=?2?*?node_k_in
????????self._k_out?=?self._k_out?+?node_k_out?-?node_k_in

????def?remove_vertex(self?node):
????????“““
????????刪除節(jié)點(diǎn)
????????:param?node:
????????:return:
????????“““
????????neighbors?=?set(self._graph.neighbors(node))
????????community_nodes?=?self._nodes
????????node_k_in?=?len(neighbors?&?community_nodes)
????????node_k_out?=?len(neighbors)?-?node_k_in
????????self._nodes.remove(node)
????????self._k_in?-=?2?*?node_k_in
????????self._k_out?=?self._k_out?-?node_k_out?+?node_k_in

????def?cal_add_fitness(self?node):
????????“““
????????計(jì)算添加節(jié)點(diǎn)后適應(yīng)度的變化
????????:param?node:
????????:return:
????????“““
????????neighbors?=?set(self._graph.neighbors(node))
????????old_k_in?=?self._k_in
????????old_k_out?=?self._k_out
????????vertex_k_in?=?len(neighbors?&?self._nodes)
????????vertex_k_out?=?len(neighbors)?-?vertex_k_in
????????new_k_in?=?old_k_in?+?2?*?vertex_k_in
????????new_k_out?=?old_k_out?+?vertex_k_out?-?vertex_k_in
????????new_fitness?=?new_k_in?/?(new_k_in?+?new_k_out)?**?self._alpha
????????old_fitness?=?old_k_in?/?(old_k_in?+?old_k_out)?**?self._alpha
????????return?new_fitness?-?old_fitness

????def?cal_remove_fitness(self?node):
????????“““
????????計(jì)算刪除節(jié)點(diǎn)后適應(yīng)度的變化
????????:param?node:
????????:return:
????????“““
????????neighbors?=?set(self._graph.neighbors(node))
????????new_k_in?=?self._k_in
????????new_k_out?=?self._k_out
????????node_k_in?=?len(neighbors?&?self._nodes)
????????node_k_out?=?len(neighbors)?-?node_k_in
????????old_k_in?=?new_k_in?-?2?*?node_k_in
????????old_k_out?=?new_k_out?-?node_k_out?+?node_k_in
????????old_fitness?=?old_k_in?/?(old_k_in?+?old_k

評論

共有 條評論