因为我女朋友的研究方向是复杂网络(Complex Network),所以我有时也关注一下这个领域的相关知识,更重要的是要帮女朋友做论文的实验。虽然对复杂网络了解不是很深入,但是其对于数据和实验结果的依赖是非常严重的事实我还是非常明了的,这个领域的论文特点就是通篇贯穿实验数据,通过实验数据来说明模型的优劣。反观我研究的信念修正领域,基本上都是数学证明。对于我这样一个数学功底十分薄弱的人来说,无疑是难上加难。闲话少说,切入本文的主题。SNAP,全称Standford Network Analysis Project,是斯坦福大学提供的一个功能非常强大的开源工具。这个工具主要用于复杂网络领域的研究工作,它的出现实为科研人员的福音。如果读者您编程能力极佳,且英文非常给力,那么本篇博文就不要看了,这篇文章是写给像我这样的初学者屌丝,高富帅们请绕行。

1、进入SNAP的官方主页
  
  英语好的的同学可以直接按照官网的说明进行配置,下面的内容就不用看了。如果你懒得看英文,那么就按照下面的步骤操作就可以了,本文也就是为了这个目的而写的。

点击进入SNAP官方主页
    
    2、下载SNAP的源码

点击进入下载SNAP源码

3、下载SNAP相关的三个插件
         
          Gnuplot  一个绘图的插件,在SNAP中会调用它来绘制一个复杂网络的相关属性的统计图,支持2D和3D。
    
           点击进入Gnuplot官网下载安装包
  
  Graphviz  同样是绘图的插件,在SNAP中调用它来绘制带有节点和边的复杂网络图。

点击进入Graphviz官网下载安装包

NodeXL  Office的插件,这个的确非常给力,直接可以做图,再也不用编程画图了。

点击进入NodeXL官网下载安装包

4、安装必要软件
  
  (1)Gnuplot和Graphviz是必须安装的,至于NodeXL,对于SNAP的编译和运行没有影响。Gnuplot和Graphviz的安装非常简单,一路都是下一步就行了。

(2)作为一名技术屌丝,我用的是Windows+Visual Studio 2008的环境,使用Linux+GCC的高富帅们请绕行(官方文档有说明),这里只介绍前者环境下的安装。如果    你没有安装Visual Studio 2008,那么请自行下载安装吧,这里就不给出下载地址了。

(3)安装好Visual Studio 2008之后第一次进入是需要选择编译环境,选择Visual C++。如果你以前就安装过Visual Studio 2008,用它做的C#或Web开发,那么这时需    要更改一下编译环境。具体操作如下:工具->导入和导出设置向导->重置所有设置->否,仅重置设置,从而覆盖我的当前设置->Visual C++开发设置->完成。

5、设置系统环境变量

我的系统的Windows 7 x64 旗舰版,一下步骤请大家参考,不同的Windows系统略有差异,但是问题不大。
    
  (1)右键单击计算机

    

(2)点击高级系统设置

    (3)点击环境变量

    (4)在系统变量中找到Path,单击编辑

    (5)在最后加上两个路径:
      
      C:\Program Files (x86)\gnuplot\bin
      C:\Program Files (x86)\Graphviz 2.28\bin
      
      这里注意最后一个路径之前,任意两个路径之间需要用分号";"来分割,而且是英文输入法状态下的,最后一个路径后面没有分号";"。完成保存即可。

6、Visual Studio 2008的相关配置

(1)解压下载好的Snap-1.10文件,可以看到内部组成如下:

        这里简单说明一下这篇文章用到的文件夹和对应的功能。examples文件夹是一个Visual Studio的解决方案,里面包括和SNAP的功能例子,虽然都是控制台应 用程序,但是足够强大了。glib-core、snap-adv、snap-core这三个文件夹是类库,需要引入到工程中,具体引入方法在后面会具体说明。

(2)打开examples文件夹

(3)打开解决方案

    (4)这里有很多工程,随便点击一个工程,每个工程对应着NSAP的一个功能。这里以motifs工程为例说明一下配置操作。

首先,选中motifs工程,项目->属性->配置属性->常规->项目默认值->字符集->选择“使用多字节字符集”,点击确定完成。这个操作,对每个工程都要操作一遍。

其次,工具->选项->项目和解决方案->VC++目录->在“显示一下内容的目录”处选择“包含文件”(这里千万不要忽略,导致包含目录出错)->分别增加snap-core、       snap-adv和glib-core三个文件夹的目录。这个操作只要做一次就可以了。

最后,编译运行这个工程就可以了。

7、功能测试

(1)在命令行中手都执行程序

在编译运行之后会发现控制台应用一闪而过,这是因为这些控制台应用都是需要使用参数来运行的。这里采用在命令行中用手动的方式调用控制台应用,这样的好处     是不用担心控制台会关闭,而且程序执行过程的记录容易查看。下面是步骤:

首先,在Snap-1.10/examples/Debug(如果你编译的时候选的是Release,这里就是Release)里面找到motifs.exe、motifs.ilk和motifs.pdb三个文件,将这三个     文件拷贝。


    在桌面上创建一个文件夹,命名为motifs,将这三个文件粘贴到这个文件夹中。然后将Snap-1.10/examples下的as20graph.txt,也拷贝到motifs文件夹中。
    其次,打开命令行:
输入cd Desktop/motifs
回车
motifs.exe
回车

这里提示说发生了错误,不能打开as20graph.txt文件,因为我们在执行motifs.exe时候没有添加参数,所以默认的../as20graph.txt文件路径不对。但是这个操 作失误,却让我们看到了参数的具体用法,于是便有了下面这条命令:

输入 motifs.exe -i:as20graph.txt -m:3 -d:T -o:kbawyg
回车

在看motifs文件夹,生成了许多文件:

这个功能是用来查找整个复杂网络中的子图的,每个子图结构有两个文件。随便打开一个gif文件可以在浏览器中看到

8、总结
    
    经过一下午和一晚上的努力,终于把SNAP弄明白了一点,而且可以看到它强大的功能了,希望对那些想用SNAP做实验和分析的初学者有帮助。SNAP的其他功能,使用方法类似,大家可以试用一下。折腾了半天,觉得这东西的确是很好很强大,对斯坦福、对开源精神充满无限敬意。

SNAP(Standford Network Analysis Project)运行环境的搭建与配置相关推荐

  1. 虹科Automation softPLC | 虹科KPA MoDK运行环境与搭建步骤(3)——MoDK例程测试

    本系列文章旨在帮助读者对虹科KPA Automation体系进行一个简要的理解,并且能使用MoDK进行快速的上手操作,包括:虹科KPA Automation.虹科KPA MoDK简介,虹科KPA Mo ...

  2. 一、Java 运行环境的搭建

    @MHH Java 运行环境的搭建 前言 一.JDK的下载 二.JDK的安装步骤 三.安装JRE 四.配置环境变量 五.检查环境变量是否配置成功 六.总结 前言 Java 运行环境的搭建.JDK的下载 ...

  3. JSP学习(一)JSP运行环境的搭建,其他动态网页技术

    JSP运行环境的搭建 http://jingyan.baidu.com/article/1709ad808caf9d4634c4f0f8.html 其他网页技术:(四种) 1.PHP 即Hyperte ...

  4. Spark开发环境的搭建与配置(基于Linux)

    目录 一.部署环境安装说明 二.Spark安装 1.Spark下载 2.解压Spark安装包 3.配置环境 4.安装scala(scala要在同一目录下) 一.部署环境安装说明 部署环境VMware+ ...

  5. web环境的搭建与配置

    实验五 web 开发环境的搭建与配置 预习报告 一.实验目的 正确表述Web服务器和Web应用的工作原理: 能够在Linux环境下搭建基于Nginx.PHP和MySQL的Web开发环境: 综合运用Li ...

  6. 网络攻防环境的搭建--MacOs配置Vmnet1及Vmnet8

    网络攻防环境的搭建–MacOs配置Vmnet1及Vmnet8 一.实践内容 1. 实践内容介绍 要求 (1)学习总结 (2)攻防环境搭建详细过程:利用提供的虚拟机镜像和VMWare Workstati ...

  7. 安装python虚拟运行环境,linux下配置workon切换虚拟环境

    一.查询python解释器所在路径 以下查询py3和py2的目录: $ which python3 /usr/bin/python3 $ which python2 /usr/bin/python2 ...

  8. 服务器运行环境怎么搭建,服务器运行环境怎么快速搭建?

    图/文:迷神 这个主要分2类,window系统还是linux系统,另外就是什么编程语言的运行环境,每个基本上还不同的. 以常用的编程语言php为例: window系统推荐:phpStudy v8.0 ...

  9. 怎么在电脑上使用python3.6_Windows下 Python3.6.1 运行环境的搭建

    1.下载Python for windows 废话不说,直接上网址:https://www.python.org/downloads/windows/ 2.安装Python for windows 运 ...

最新文章

  1. 如何给腾讯云域名申请免费的SSL证书
  2. android 点击热区,增大UIButton的点击热区
  3. 设计模式 (一) 初次体验
  4. [转载]在ASP.NET中使用Microsoft Word文档
  5. python灰度处理_python 简单图像处理(9) 灰度变换
  6. shp地图如何导入奥维地图手机_如何将CAD图导入到手机版奥维互动地图
  7. 偷取php网站源码,最新PHP新闻小偷采集站开源版本源码分享,集成六个广告位,不限制域名...
  8. 监听软键盘中的删除键
  9. 李宏毅2021机器学习笔记——Transformer
  10. 根据汉字自动生成拼音
  11. 关于程序员职业规划的思考
  12. RTOS成功取代Linux成为天猫精灵OS的关键 -- AliOS Things 维测专题
  13. html中的长度单位
  14. 非线性方程(组):计算基本理论
  15. 费雪信息 (Fisher information)
  16. VS code snippets
  17. 【江苏大学研究生小记】各方面都不太如意
  18. linux kde 黑屏,在manjaro-kde上nvidia开机黑屏解决办法
  19. 渗透测试之XSS(跨站脚本攻击)
  20. 杨振宁100岁:一个公式统治世界

热门文章

  1. 通达OA v11.7 auth_mobi.php 在线用户登录漏洞复现
  2. 第 4 章 使用 CLI 命令管理 LVM
  3. 如何快速学习abaqus复合材料--【理论+实操】
  4. 多所高校月饼上新!神仙月饼打架~好卷呀~
  5. 健身房管理有必要用专业的管理软件吗?
  6. 打造你专属的数据盔甲
  7. 小型ssh工具dropbear 安装配置及使用详解
  8. 什么是策略模式(Strategy)?
  9. 《铸梦之路一》帧同步
  10. 光电直读远传水表工作原理