热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

图处理系列(一)--网络生成与图入度计算

图论和网络科学都会涉及到大量对图的特性的统计计算,一般将与图数据相关的统计、挖掘、可视化统称为图处理。本系列文章主要希望探讨多方面的图处理理论与方法,包括图的统计性质、表示方法、计算算法、计算模型以及基于图论的数据挖掘等内容。文章只有在

图论和网络科学都会涉及到大量对图的特性的统计计算,一般将与图数据相关的统计、挖掘、可视化统称为图处理。本系列文章主要希望探讨多方面的图处理理论与方法,包括图的统计性质、表示方法、计算算法、计算模型以及基于图论的数据挖掘等 内容 。文章只有在

图论和网络科学都会涉及到大量对图的特性的统计计算,一般将与图数据相关的统计、挖掘、可视化统称为图处理。本系列文章主要希望探讨多方面的图处理理论与方法,包括图的统计性质、表示方法、计算算法、计算模型以及基于图论的数据挖掘等内容。文章只有在必要的情况下区分网络的概念,所以文章术语中的图与网络将混用。

1.图处理引擎

目前通用的图处理软件主要包括两种。一种主要基于遍历算法、实时的图数据库,如 Neo4j , OrientDB , DEX , 和 InfiniteGraph .另一种则是以图顶点为中心的消息传递批处理的并行引擎,如Hama , Golden Orb , Giraph , 和 Pregel .前者基本都基于tinkerpop的图基础框架,tinkerpop项目关系如图1所示:

图1 thinkerpop项目框架

其后者则主要是基于BSP模型所实现的并行图处理包。BSP是由哈佛大學Viliant和牛津大學Bill McColl提出的并行计算模型。一个BSP模型由大量相互关联的处理器(processor)所组成,它们之间形成了一个通信网络。每个处理器都有快速的本地内存和不同的计算线程。一次BSP计算过程包括一系列全局超步组成,虚拟主机,超步就是计算中一次迭代。每个超步主要包括三个组件:

2.网络生成

现实世界的复杂网络包括无标度网络(Scale-free Network)、随机网络(Random Network),依赖网络(Dependency network)等。其中无标度网络是由匈牙利物理学家Albert-László Barabási在绘制互联网拓扑的研究中所提出的概念,他发现随机网络(社会、生物网络)中一些节点(hubs)有比其它节点更多的连接,从而整个网络服从幂次定律(power-law)分布。于是Barabási和Albert提出了无标度网络的生成机制--“优先连接”,用于解释幂次定律分布的现象。因而优先连接算法生成的网络能够模拟现实世界的网络,我们采用R来实现BA 模型的网络生成,采用的igraph包。

igraph是一个开源的图(有向、无向图)生成和操作的类库,它底层由C实现,美国服务器,并实现了python, R语言的发行包,覆盖全平台(linux,window,MacOS)。它能够生成正则图(regular graphs)、随机图(random graphs)等,能给顶点和边赋值,香港服务器,还可以计算不同的结构属性、图同构等。igraph支持的格式包括:Edge list,Pajek,GraphML等。Edge list是简单的txt文件,使用顶点id来定义边。GraphML基于XML,用来存储图的边和顶点属性。更多的格式内容请参考igraph帮助文档。用法如下所示:

barabasi.game(n, power = 1, m = NULL, out.dist = NULL, out.seq = NULL, out.pref = FALSE, zero.appeal = 1, directed = TRUE, algorithm = c(, , ), start.graph = NULL)

推荐阅读
  • 学习SLAM的女生,很酷
    本文介绍了学习SLAM的女生的故事,她们选择SLAM作为研究方向,面临各种学习挑战,但坚持不懈,最终获得成功。文章鼓励未来想走科研道路的女生勇敢追求自己的梦想,同时提到了一位正在英国攻读硕士学位的女生与SLAM结缘的经历。 ... [详细]
  • 计算机存储系统的层次结构及其优势
    本文介绍了计算机存储系统的层次结构,包括高速缓存、主存储器和辅助存储器三个层次。通过分层存储数据可以提高程序的执行效率。计算机存储系统的层次结构将各种不同存储容量、存取速度和价格的存储器有机组合成整体,形成可寻址存储空间比主存储器空间大得多的存储整体。由于辅助存储器容量大、价格低,使得整体存储系统的平均价格降低。同时,高速缓存的存取速度可以和CPU的工作速度相匹配,进一步提高程序执行效率。 ... [详细]
  • 这么多流媒体服务器?你怎么技术选型?
    在上一篇文章里我们介绍了我们介绍了MCU和SFU的优缺点,webRTC通信方案SFU和MCU的区别?下面就来探讨下常见的SFU开源解决方案,当然,你也可以自己实现SFU流媒体服务器 ... [详细]
  • 一份来自清华的数据分析笔记,请查收!
    之前发过很多数据分析的文章,收到不少好评,但也有一些困惑:入门数据分析该学哪些知识点?该看哪些书?是从Pyth ... [详细]
  • windows平台使用NSP拦截具体进程的域名解析过程(xFsRedir的代理功能之域名代理)
    byfanxiushu2022-10-17转载或引用请注明原始作者。xFsRedir软件其中之一的功能就是实现了全方位的网络代理,从主机代理,到本地代理 ... [详细]
  • 编写健壮且高性能的网络服务需要付出大量的努力。提高服务性能 ... [详细]
  • bat大牛带你深度剖析android 十大开源框架_请收好!5大领域,21个必知的机器学习开源工具...
    全文共3744字,预计学习时长7分钟本文将介绍21个你可能没使用过的机器学习开源工具。每个开源工具都为数据科学家处理数据库提供了不同角度。本文将重点介绍五种机器学习的 ... [详细]
  • 本文介绍了Python高级网络编程及TCP/IP协议簇的OSI七层模型。首先简单介绍了七层模型的各层及其封装解封装过程。然后讨论了程序开发中涉及到的网络通信内容,主要包括TCP协议、UDP协议和IPV4协议。最后还介绍了socket编程、聊天socket实现、远程执行命令、上传文件、socketserver及其源码分析等相关内容。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • ZSI.generate.Wsdl2PythonError: unsupported local simpleType restriction ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • Linux下安装免费杀毒软件ClamAV及使用方法
    本文介绍了在Linux系统下安装免费杀毒软件ClamAV的方法,并提供了使用该软件更新病毒库和进行病毒扫描的指令参数。同时还提供了官方安装文档和下载地址。 ... [详细]
  • 安卓及谷歌官网不容易上,在此整理好下载地址,这样就可以直接用迅雷下载了。Eclipse最新Mars版Eclipse(暂时还没被墙)Mac版:http:www.eclipse.org ... [详细]
  • 深度学习与神经网络——邱锡鹏
    深度学习与神经网络——邱锡鹏-一、绪论人工智能的一个子领域神经网络:一种以(人工))神经元为基本单元的模型深度学习:一类机器学习问题,主要解决贡献度分配问题知识结构:路线图:顶 ... [详细]
  • 分享篇:第十届“泰迪杯”数据挖掘挑战赛农田害虫图像识别(特等奖)一
    1.1赛题背景昆虫的种类浩如烟海,农田常见的昆虫是人工生态系统的重要组成部分。分辨益虫和害虫,保留益虫,消灭害虫,对于减轻害 ... [详细]
author-avatar
mobiledu2502920795
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有