Centrality.py 文件源码

python
阅读 24 收藏 0 点赞 0 评论 0

项目:PhD 作者: wutaoadeny 项目源码 文件源码
def Mass_Diffusion_Centrality(G):
    #???
    Mass_Diffusion_Centrality = {}
    for nid in G.nodes():
        Mass_Diffusion_Centrality[nid] = 1.0
    #end for

    #?????????
    def Iterative_Update_Mass_Diffusion(G, Resource_Centrality):
        Count = 0
        while Count > 0.95 * len(G.nodes()):
            for nid in G.nodes():
                neighbors = G.neighbors(nid)
                Updated_Resource_Nid = 0.0
                for ngb in neighbors:
                    Updated_Resource_Nid = Updated_Resource_Nid + Resource_Centrality[ngb] * (1.0/G.degree(ngb)) #?????????????
                #end for
                #Update
                if math.abs(Resource_Centrality[nid] - Updated_Resource_Nid) < 0.000001:
                    Count = Count + 1
                Resource_Centrality[nid] = Updated_Resource_Nid
            #end for
        #end while
        return Resource_Centrality

    #????Mass Diffusion??
    Mass_Diffusion_Centrality = Iterative_Update_Mass_Diffusion(G, Mass_Diffusion_Centrality)
    #print sorted(Mass_Diffusion_Centrality.iteritems(), key=lambda d:d[1], reverse = True)

    return Mass_Diffusion_Centrality




#**********************************************************************************
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号