总结——复杂网络动力学
“用复杂网络的动力学理论来分析软件系统方法调用网络的动态演化过程”
1、动力学是什么,在复杂网络中是如何体现的?
看了这么久的复杂网络动力学,却突然发现头脑里面竟然没有一个清晰的概念,只知道埋头看书、读文献,不断地灌输新的知识,却忽视了最重要的是自己的思考能力。
把近来看过的相关方面的书籍都拿出来比照,没有一本书上给出了明确的定义,都是直接就开始对五花八门的网络系统进行“动力学”分析,诸如互联网上网络流量的分配,疾病和谣言的传播,结点或边故障的传播,网络上的随机游走和搜索,网络中的同步问题,网络中的拥塞控制,社会网络的集体涌现,生物网络、神经网络的动力学……
我这里先给自己一个明确的定义,回到最本质的地方,然后才能进行接下来的工作。
复杂网络是对我们要研究的复杂系统,用结点和边将他们抽象成一张关系网络图,而动力学就是在“外部刺激”的推动下,或者是“内部消息”的触发下,网络中结点自身信息状态发生改变(消息的传播),或者结点间连接关系(反映在网络拓扑结构图:增长或退化)的变化,从而导致整个网络发生明显或者不明显的“质变”,这种改变可以是在某种规则约束下执行的,也可能是随机的。
2、软件网络的特点
看了武汉大学做“软件工程与复杂网络交叉研究”的老师们编的一本书《软件网络》,很系统地进行了分析与总结,但是还是基于静态的网络结构。(软件网络的度分布服从幂律分布,而且直径都小于10,这些都是很基本的东西了;除此之外就是不同软件集聚系数、出入度、直径等相关参数,得到的散列点图分析起来觉得没有很大的意义。)
这本书帮助我对软件系统的网络化有了一个整体的系统的认识,但是跟我们的研究方向是分岔的,他们侧重的是整个软件系统的演化,范围比较笼统,而我们还是应该从系统的动力学来入手,深入研究。
但是,静态方面现在还是要关注一下软件网络的集聚性和耦合性,具有高集聚低耦合的软件系统是比较好的(这个还是不太能理解为什么),这些软件的静态特征在understand里面的metrics里面,有完整的CK度量套件,可以得到分析。
3、根据动力学得到的整体思路——从随机过程到确定性过程
随机过程是由概率演算处理的,描述各阶段的统计特性及他们的统计关联,忽略个体的特性。而确定性过程是由微分方程描述的动力学规则支配,是细粒描述,描述一个组分阶段的特征及其相继阶段之间的关系。
动力学里面的态空间与动力学规则是重点要研究的部分。
复杂系统在外部或内部作用下,总会执行出不同的复杂路径,而态空间就包含了所有这些路径。为系统定义合适的态空间,用一组组态表示,这其中用到到一些概率论(随机变量)和随机过程的方法,在态空间与概率分布函数之间形成一种映射关系,反映出系统的统计特性(《复杂系统理论基础》第九章35)。这一部分是初期的“粗粒度”工作。
动力学规则约束了复杂系统路径的执行,统计特性毕竟是粗粒度的描述,而更重要的信息还隐藏在确定性的执行过程中,比如说用户的操作(反映在方法的依次调用)会有周期性,而且根据当前的操作也可以推测出下一步的执行。这些规律就是动力学的规则,我们的目的就是找到一种概率推演来模拟这一套规则。这一部分就是方法的核心了。
4、更为具体的方法——方法调用网具体怎么分析?
每个t时刻对应一张子图,研究对象是单个的子图,动态性体现在子图之间的变迁。
对网络中每个结点(方法)赋以状态值:
0——unused
-1——called by
1——call
2——both call and called by
根据网络前T时刻的状态,以及其邻居结点的状态推演当前的状态,转移概率的定义是最关键的部分,要最能反映方法网络的动态变化。
这个概率的推演需要从结点的状态值出发,定义整个拓扑图的统计特性;对每个结点的状态出现频率和状态变化频率进行统计分析,得到一些规律;方法执行的路径在态空间上的分布。
这些还是很简单的框架,没有很清晰具体的步骤,但是目前最难的部分还是在组态的定义和概率演算上面。根据已有的研究成果以及我们自己分析得到的结果,可以确定出“由动力学支配的与运动有关的系统信息”(所有的有用信息),准确地描述出动态变化的过程。概率的演算中包含了很多的内容,可以从很多方面来分析,我还没有仔细研究它们之间的联系和区别,也只是将那些觉得可能有用的东西记了下来。
5、基于静态特征的分析
静态指标随时间推进的变化,也算是方法网络动态变化的一个部分,因为静态特征相当于是物理上系统的“固有特征”,分析它们的变化过程,如果能从中找出一些规律来反映整个网络的宏观特性,对后面的工作也会有很大帮助。
还有,我觉得非常重要的一点,定义描述层次性和模块性的指标,这和集聚性耦合性一样,能反映系统的性能的好坏。
初步思路就是这些,先学习一下前面说的方法,再找找动力学相关的论文,看看别人是怎么研究的。最后要描述出一个模型,先能够证明方法网络的动态变化符合这个模型,最后再考虑对软件设计的指导意义。
数据处理部分,问了同学,.dot文件处理不了还是windows的问题,回去装一下linux系统来做。这最后几天的工作,一方面具体在概率论和动力学上深入学习,另一方面 sourceforge可以用了,学习在tomcat上部署web程序,然后先把方法动态调用的监控记录得到。
总结——复杂网络动力学相关推荐
- 不同的丘脑皮层网络动力学与慢性腰痛的病理生理学有关
丘脑皮层节律障碍(dysrhythmia)是慢性神经性疼痛的主要病理,但鉴于慢性腰痛(cLBP)的非特异性病因和复杂性,对其丘脑皮层网络的研究很少.利用fMRI,我们提出了一个分析流程来识别cLBP患 ...
- 【复杂网络】关于复杂网络中的动力学系统重构的文献资料整理
关于复杂网络动力学系统重构的文献资料转载 问题描述 方法 1. 通用方法 1. 相关性方法 2. 基于信息论的方法 3. 格兰杰因果检验(Granger Causality)方法 4. 相空间重构方法 ...
- 复杂网络分析 07 网络上的动力学
07 网络上的动力学 7.1网络的结构与功能 7.2网络上的疾病传播 7.3网络上的随机游走 7.4网络上的同步 7.1网络的结构与功能 网络的结构与功能关系紧密网络的拓扑结构会影响网络的功能,而网络 ...
- 网络中的模块化和社区结构(Modularity and community structure in networks)
Machine learning and the physical sciences 摘要 Ⅰ.引言 Ⅱ.最佳模块化方法(The Method of Optimal Modularity) Ⅲ.将网络 ...
- 网络神经科学 Network neuroscience
近年来神经科学.信息科学.数学等学科都取得了众多的进展,但是我们依旧不能够对复杂的大脑功能.认知背后的原理和机制进行完整的描述和理解.网络神经科学通过将神经解剖学和复杂网络相结合,从大脑拓扑结构角度整 ...
- 复杂大脑网络的结构和功能
越来越多的理论和实证研究从网络角度探讨了人脑的功能.通过开发新的成像采集方法,开发图论和动力系统的新工具,使大脑网络的分析变得可行.本文调查了其中一些方法学进展,并总结了最近关于结构和功能脑网络的发现 ...
- 复杂网络分析 08网络节点重要性
08 网络节点重要性 8.1网络节点重要性 8.2节点重要性判别方法 8.1网络节点重要性 度中心性 DC(i)=kin−1DC(i) =\frac{k_i}{n-1}DC(i)=n−1ki nn ...
- 复杂网络2012年度盘点:博弈+传播+控制
6只作者:荣智海,唐明,汪小帆,吴枝喜,严钢,周涛 1. 引言 复杂网络是复杂性科学研究中受到最广泛关注的方向,在信息科学.物理学.生物学.数学乃至社会学.管理学等等都产生了重大贡献和持续 ...
- 中国工程院院士邬江兴:未来网络之憧憬——情景网络
2015年12月10-11日,由中国工程院.中国南京市政府共同主办,江苏省未来网络创新研究院(FNII)与下一代互联网工程中心(BII)承办,备受瞩目的2015中国未来网络发展与创新论坛(2015.c ...
最新文章
- 这三天低效率开发的总结,我都做了些什么啊?
- python中def fun(a、b=200)_python中的函数的参数和可变参数
- android 二级列表拖动排序_Excel的数据透视表六种排序方法
- 勒索软件防不胜防? 要先从了解它开始
- tomcat(2)一个简单的servlet容器
- 【转】Microsoft Cloud全新认证体系介绍
- 域名与网页服务器的什么对应,简述网站从域名到网页的访问流程
- Python中多线程和多处理的初学者指南
- 云图说|ASM灰度发布,让服务发布变得更敏捷、更安全
- Python序列基本操作(四)元组
- curl以cookie的方式登录
- Xcode 7制作动态Framework
- 多年前,初始架构:php+mysql下,对网站架构方面的一些认识
- ssd变频器说明书_变频器说明书大全
- mysql 高级查询总结_MySQL高级查询总结
- 大学JavaWeb课程设计——图书管理系统(应付作业及毕设)
- 国际数学日 | 有π的日子,来一场数学派对
- 【软件安装】WIN10 + Tensorflow1.12 C++接口 + Cmake编译失败 + Bazel编译成功 + C++接口
- ”真相是否只有一个?”麻省理工学院带你数据可视化分析假新闻
- 5G无线网节能关键技术