论文部分内容阅读
随着社会网络SNS的兴起,神经网络、深度学习研究的火爆,这些复杂网络已经与我们的生活密不可分。很多人对它们进行研究,也获得了大量成果。同时,对它们进行可视化也成为了重要的一部分。可视化可以让人们更容易的看清楚网络结构,并从中提取出丰富的信息资源。目前对于具有特定结构的网络图可视化已经非常成熟了。但在处理实际网络中密集部分时,总产生一些缺陷。尤其当网络规模很大时,几乎看不出网络结构。另外现有的公开可使用的可视化软件和框架比较偏向于理论研究(比如NetworkX, UCINET等),或者主要面向很强的专业性应用(如Cytoscape用于生物网络可视化),而比较优秀的产品一般都不开源且基本是商业化运作(如Google的TouchGraph项目),甚至有些软件国内无法获取(如VxInsight)。所以,基于已有理论实现易操作的可视化应用是很有前景的。本文对复杂网络及其可视化进行了概述,介绍了它们的历史及发展现状,以及几种比较有代表性的经典可视化方法,并对若干具有代表性的网络可视化工具和开发框架进行了描述。本文使用了使用广泛的弹力模型,对该可视化算法的通用模式和原理进行了总结讨论,并分析其优劣,给出了若干可视化结果示例。根据实际网络具有的派系特征和聚集性,本文给出了一种基于路径聚集的多群集约束布点方法,目的是通过压缩最密集部分的信息,通过两次布局,来得到一个比较清晰的网络结构,且该方法还可以将可视化过程进行实时呈现。本文对该方法进行了详细的描述。最后对于本文提供的方法,通过C++语言对其进行了实现,给出了一个用于复杂网络布局的基本框架,并使用Direct2D对可视化过程进行实时展示。本文的实现在界面上力争满足动态可视化的效果(布局变化状况),对于文中给出的具有社区结构的随机增长网络,可视化结果可以较为清晰的体现其网络结构。