小馆前几天在上地理课时听到地理老师讲了一个段子,来诠释俄罗斯有多大:
老师:你们知道北欧的芬兰和东亚的朝鲜吗?
同学:知道知道。
老师:它们其实离得很近,因为它们只相隔一个——俄罗斯……
好冷
这个事情其实用另一种方法就能很好的理解:
这是一个简化了的区域图,它是一个典型的“图”,在这个图中,边就表示了“邻国”这一关系,点就表示国家。在这里,芬兰和朝鲜的最短距离就是1(芬兰-俄罗斯-朝鲜)。
(中国北部15省市的大致图像)
看到上图,肯定有人会问:明明北京,天津是基本被包在河北里面的,为什么在上图中来到了河北外面了?这就是拓扑学的一个思想:无论你在怎么变化,只要边不变,点不变,你俩就是一样的!
在这里,我们会发现一些事:在这里有着像内蒙古,河北这样的“超级枢纽”,一个点接了好多的边;还有像新疆,青海,黑龙江这样的“边缘结点”,一个点没接几条边。
而“超级枢纽”也分好几类,内蒙古这样的属于靠面积大,而河北则是靠位置重要。
分析到这里,我们来想一个事情:假如说因为某种原因,内蒙古“撤省”了(只是为了方便解释,没有别的意思),其它连接保持不变,那么图会变成这样:
现在我们数一数之前辽宁-甘肃的最短距离和现在辽宁-甘肃的最短距离:
辽宁-内蒙古-甘肃(1)(之前)
辽宁-河北-山西-陕西-甘肃(3)(现在)
想必大家都发现了,内蒙古这样的“交通枢纽”十分的重要,如果它因为某种原因“废掉了”,那么整个交通体系都会受到影响。
由此,我们就开始了在“网络”中探寻的征程!
现在,让我们创建一个“Internet.xiaoguan”,去探寻一下网络背后的奥妙:
最开始,整个网络中只有你一个网页,即1号节点;
在某一天,一个人寻找到了你的网络并与你做连接,成为了2号节点;
就这样,你的网络开始初具规模,成为了这个样子。
在这时,你开始设立了一个列表,这个列表是按照每个节点的连接数进行排布,并且新加入的人可以与列表中的人进行连接。当然了,它们肯定是更愿意与列表中的前面几个结点进行连接(毕竟他们在互联网里就是这样做的)。
那么8号节点的连接就应该是这样的:
很久之后,你的网络规模变得很大。
在此时,你的网络被黑客盯上了,他想在你的网络中散布病毒!而你早有防范,在一些节点中注射了“抗体”。
(后有“/”的节点为注射抗体的节点)
黑客首先在6号节点注射病毒,此时为这样:
6号节点只能传染给4号节点,但4号节点已经注射了抗体,不会被传染。
但黑客“贼心不死”,又在7号节点注射了病毒:
紧接着,7号传染给了1号:
之后网络的传染与你的反应如下:
很明显,如果病毒侵入了“中心节点”,那么整个网络就会沦陷。我们的互联网的结构也与此类似,只不过要大上很多,也要复杂很多。
这种网络我们称为“无尺度网络”,这种网络的中心节点是名副其实的“中心”,如果一个中心节点“废掉了”,整个网络就会很快“沦陷”。这就说明了“无尺度网络”的承受能力(或称鲁棒性)十分的差。
而另一种网络则是“小世界网络”,这种网络的典型例子就是某些地铁线路:
这样的环线地铁+对角线地铁的方式会大大缩短从某个节点到另一个节点的距离,如果排布得好还可以让地铁交通方便许多许多。
那么问题来了,除了利用“小世界网络”,还有什么办法优化地铁线路呢?
“遗传算法”!
“遗传算法”具体原理很简单:
搞几个初始状态;
然后看这些状态中哪两个(或多个)最好(相对于这几个来说);
删除其它状态;
将这些状态进行交融,并在其中加入突变,产生多个“子代”;
重复以上步骤;
最终就会得到整个状态的一个近似最优解。
那为什么这个算法被称为“遗传算法”呢?
其实就是因为它遵循着“自然选择”机制,适应“自然”的状态留下并繁衍,不适应“自然”的状态消失。
以上就是“复杂科学”的一小部分,复杂科学的坑其实很大,而且小馆一时半会儿还不想填(因为自己没搞懂)但是,以后总会说的。
(theend)
预览时标签不可点