说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

已迭代1.3亿年的分布式系统——Anternet

HTML文档下载 WORD文档下载 PDF文档下载
KK曾经在《失控》中提到过群氓的智慧,相信了解蚂蚁觅食过程的人都会惊叹于蚁群的智能,在几百万年前就开始使用互联网算法。还有什么是蚂蚁已经做到,而人类还不知道的?或许我们可以学习蚂蚁构造下一代网络系统。

你有没有注意过蚁群是如何寻找食物的?和我们的互联网系统很类似,每个蚂蚁单独行动搜集食物信息,再汇集到一起不断调整路径,直到形成一条最优路径,但是在这个过程中没有任何的中央控制。

斯坦福大学的研究小组发现沙漠蚂蚁的觅食方式与调节互联网数据流量的TCP协议很类似,他们将蚁群系统称为Anternet。Anternet和互联网都使用了正向反馈:TCP协议中会发确认触发下一个数据包的传送,蚁群网络中满载而归的蚂蚁会引导其它蚂蚁出去觅食。

相信每个知道这项研究的人都会惊叹于这些蚂蚁的别出心裁,竟然在几百万年前就开始使用这种智能的互联网算法了。那么还有什么是蚂蚁已经做到,而我们人类还不知道的?


Anternet对下一代互联网的启示

蚂蚁有1.3亿年左右的历史,已经进化到可以适应特定环境的多变性和约束。

蚁群利用简短交流的动态网络来适应周围环境的变化。每个蚂蚁个体并不知道发生了什么,每个蚂蚁只是根据最近遇到的蚂蚁确定路线:或者是一对一的互碰触角,或者是根据其它蚂蚁在路上留下的化学分泌物。

这种蚁群网络使蚂蚁拥有了惊人的多样性,多达11000种的蚂蚁遍布地球每一个角落。所以Anternet以及其它蚁群网络可以给我们很多启示。或许我们的信息网络建设可以参考下蚂蚁协议。

解决高操作成本问题

收获蚁(蚂蚁的一种)蚁群在沙漠中寻找水的过程也会消耗水。蚂蚁在烈日下觅食时会丢失水分,这时他们会从存储的种子中吸取水分。因为蚁群会存储种子,它们的正向反馈系统使得在水源不好找时,蚂蚁可以不必浪费精力外出觅食,即使这意味着他们要在天气更湿润时存储一些种子。

Anternet通过这种方式处理高操作高成本问题。在互联网中,TCP协议也可以防止系统在带宽不可用的情况下,在互联网上发送数据。除非是确定信息可以到达目的地,否则发送是不值得的。

作者最近刚发表了一篇文章说明自然选择目前是如何优化Anternet的算法的。作者对300个收获蚁群进行了超过25年的研究,并且通过基因指纹研究了哪些蚁群有更多的后代蚁群。研究发现,在炎热的天气里保持体力不外出觅食的蚁群有更多的后代。

面对资源稀缺情况,蚂蚁是最小化运营成本而不是增大存储量。这是一个可持续发展战略,对于类似沙漠蚁群或移动互联网的系统,这都是保持长期可靠性同时避免浪费精力的重要措施。

扩展性

当系统规模扩展时会发生什么?就像人类设计的系统,蚂蚁系统也会随着蚁群的壮大而调整优化,还要有“容错能力”。

由于大型系统难免会有一些混乱,所以理想的解决方案是利用每一个额外蚂蚁的贡献,从这些蚂蚁中获得的益处远远大于喂养蚂蚁的成本。大型蚁群系统的最好工具是冗余和最小化信息量。庞大的蚁群中,各个蚂蚁之间的简单交流并不需要知道各个蚂蚁的详细信息。

在工程系统中,随着网络规模的扩大,我们也在利用一些廉价操作寻找确保可靠结果的解决方案。优雅的自顶向下设计的确有吸引力,但是蚁群算法的鲁棒性表明,容忍一些不完美有时会导致更好的解决方案。

优化先发优势

蚁群算法的多样性表明了进化系统是如何响应环境约束的。当操作成本较低或蚁群寻找暂时的美味佳肴时,比如寻找花蜜或西瓜皮,抢占先机很重要。由于蚁群互相竞争,第一个找到食物的就有最好的机会。

一个蚁群在没有任何中央控制的情况下如何获得这种先发优势呢?蚂蚁使用的一个策略(接近于我们的数据网络)是建立一个永久的高速回路(就像手机发射塔网络),蚂蚁们就在沿路进行搜索。阿根廷蚂蚁很擅长这个,它们会找到任何落在厨房柜子上的面包屑。阿根廷蚂蚁也会调整自己的路线,一开始很多蚂蚁会在附近的随机游走,每只蚂蚁都会在一个小范围内彻底搜查,到后来会有一个更直接的路线,周围的蚂蚁会减少,从而整个蚁群可以覆盖更大的范围。

就像一个分布式的需求响应网络一样,虽然没有任何的中央控制,每只蚂蚁对本地情况的响应聚合在一起为产生了整个系统的结果。

解决安全漏洞

在热带地区,数百种蚂蚁聚集在一起竞争资源,蚁群必须要处理安全问题。这导致了使用本地信息进行入侵检测和响应的安全协议的进化。

一个蚁群可能会“偷窃”另一个蚁群的信息来寻找资源,例如其它蚁群蚂蚁的化学分泌物或蚂蚁分布密度。为了应对这种入侵行为,蚂蚁们采取了一种松散的、随机的身份认证系统,而不是试图完全杜绝这种行为。

这与计算机的安全系统有明显的相似之处,很显然我们也需要实现对入侵的本地评估和修复。蚂蚁并没有建立一个中央集权来监管黑客,但它们已经找到了应对入侵的策略。

灾难恢复

灾难恢复协议可以参考蚂蚁在树上觅食的过程,因为树枝有可能会断裂。在一个网络回路中,考虑到快速恢复,信号或者蚂蚁会在不同的方向保持流动,如果一个方向断流了,可以从另一个方向重建一个连接。

同样,早期的光纤网络经常被农业机械或其它的挖掘所破坏,一段光纤的破坏有可能让整个系统宕掉。工程师们随后发现,环形网络更容易修复。

我们的网络在不断进化,通过测试和比较这些沙漠蚂蚁、热带森林中的蚂蚁和厨房里的蚂蚁的算法,很明显我们可以参考这些蚂蚁的做法来构造我们的下一代网络系统。

作者简介:Deborah M. Gordon是斯坦福大学生物系的教授,她通过蚁群的生态和行为研究群体组织的进化,已经获得Guggenheim和行为科学深度研究中心的奖学金。著有《Ants at Work》及《Ant Encounter: Interaction Networks and Colony Behavior》。(编译/周小璐 审校/仲浩)

原文链接:What Do Ants Know That We Don’t?

ProcessDialog结合Thread处理耗时操作 Fragment示例代码 DialogFragment示例代码 ActionBar示例代码 (二) Action Bar示例代码 (一) ActionBar使用方法 - Android活动栏(二) Action Bar使用方法 - Android活动栏(一) DialogFragment类介绍 Android Fragment使用详解 Fragment对比Activity - Android碎片介绍 Android 3.0新增日历控件CalendarView Android JSON写入类 - JsonWriter Android JSON解析类 - JsonReader Android获取本机电话号码 ListView自动滚动方法 自定义Android菜单背景 Android OpenGL下截图代码 查看Android应用的详细信息2.3有新方法 Android开发Java图书推荐 Android开发图书推荐 UiModeManager设置夜间模式和行车模式 Android 2.2新增的DeviceAdminInfo类 Android获取摄像头详细信息 Android流量统计TrafficStats类的使用 电子邮件解析android.net.MailTo类 扫描和获取OBB文件信息 Android加速感应器开发平衡球代码解析 StrictMode限制模式API加速你的应用 手势识别兼容Android 1.x和2.x的代码 NativeActivity类在NDK中管理Activity OBB文件和StorageManager类使用介绍 用NMUDP如何在Client端和Server端之间传递对象呢? 为什么程序员没人爱? 指点迷津啊??? 关于DataGrid的一个问题 VCD碟的.DAT文件转换成MPEG格式? 中秋节快乐!散!顺便问一下大家都吃什么品牌的月饼?五点钟准时结贴!!!!!!!!!!!! 求助!!!鲁文易盘无法驱动 如何获取提交表单的内容 Ado 问题 oracle中删除一个用户,用语法如何写 北京的兄弟们你们找工作通过哪几种方式 请问哪儿有cobol的编译器? 请问考系分的兄弟,都在看什么辅导书啊? 不能解决的给分,解决的给钱,时间限制在,13日之前!!!!!!!!!!!! 如何重新定义超连接的样式? ini和注册表能不能一起用? 调制解调器 SYNC灯不亮。 hehe GCC不认识sockaddr_in,但认识sockaddr,哪位大侠指点一下是什么地方没有配置好 asp中的过程和函数是否可以传递两个以上的参数? 假设我在dataGrid中的修改某一个单元格内容之后,焦点还没有离开,再去保存,就保存不了! 求助!!!鲁文易盘无法驱动,急!!!!!!!!!! 为什么只能用localhost访问? 还是烦人乱码问题~~JSP 连不上网。 人家说我有热情没天分,当不了程序员 中秋节给大家助助兴,小游戏一只,最终获胜的可获全部分数,100大分哦! 简单问题,急! 请教零长度问题(不好意思没分了救命啊) 请教零长度问题(不好意思没分了救命啊) sizeof的问题 今天的最近一问.... 写一个参数有默认值的函数出现的问题! 请教零长度问题(不好意思没分了救命啊) 有个关于可见性的问题,请指点, Delphi6中控制Excell2000的Chart的问题 看哪个地方出名人多 c++ 求学 (更上一层楼) 请教零长度问题(不好意思没分了救命啊) 高分寻求jtest4.5的破解 或注册方法 关于批量删除不同目录下相同文件的问题。 如何在VFP中运行VFP代码? 如何调用chm帮助文件? iptables问题 请教零长度问题(不好意思没分了救命啊) 大家來討論工作的問題 能用c语言编有关网络的程序吗?谢谢大侠们了:) 要在程序中控制在DBCHART显示不同颜色部分的内容及数值,如'34 丰田',来者有分? 提个建议:在祝福 璇玑大力 的贴子中,有不少的“名句妙词”,我们花点时间,搜集于一贴,同意的举手!(我的分数太紧张) 低级问题:如何把TFileStream中的一个字节读到一个byte变量中? 串口编程问题 现在中国是冬季18点英国现在是几点要准确的啊!呵呵 兵安在?膏锋锷;民安在?填沟壑! 手绘中的出锋和入锋是什么意思?找了很多都是指书法的概念,我需要漫画绘画中出锋与入锋的概念 2个都请举例子讲 稍微具体一些, 孙猴子被惩治的原因是什么要三个原因 浮在水面上生长的植物有哪些?仅在水面上生长的植物 邸读什么 水面和植被对气候影响老师,请问水面和植被对气候有什么影响?资料上说由于蒸发和蒸腾作用而显温和湿润,但是蒸发和蒸腾明明是吸热的啊.还有个问题,南极地区应该为极地高压带,但是南极 32分5份只能是单数,怎么分 初中作文文章的提纲怎么写 详细的 什么事文章大纲 康有为的那一句“千山风雨啸青锋”是什么意思? 安倍称日本拟限制外国人在国防设施附近伊朗死囚受绞刑后未死 司法部长称没必数据显示日韩航路日本乘客骤减 创历史美影院拟设“手机短信专用区”防手机光英14岁少年被控5次性侵 3宗案件发普京指责俄地方政府官员失职导致严重民美秘密窃听法公民惹怒法总统 法紧急召纽约华埠便衣警察扮匪调查抢劫案吓坏金叙总统称叙会议日期未定 联合国特使将奥巴马健保网面临感恩节大限 逾期恐将韩国人战殁者遗属要求靖国神社取消合祀库伦旗名传说路网“四化”治拥堵乡村信使候选“中国好人榜”(图)神勇“女汉子”持菜刀孤身擒贼毕加索真的需要这样看非法改装被扣 车主纠凶袭警鑫悦凯保障房为北梁居民放飞宜居梦让每一位寒门学子圆梦大学《肖申克的救赎》公益广告台媒析美涉台报告:对北京要求和平 逼王者绝杀星历1000火影之魔兽传说星魂动异界全能游戏分身夜锦音璇地球最后一个修仙者重生之我是大掌门机破苍穹道长万岁原欲普罗旺斯旅游巴巴坑道旅游内湾老街旅游大安森林公园旅游阳明山小油坑旅游北投文物馆旅游国色天乡乐园旅游天生桥旅游红山旅游廊坊国际会展中心旅游廊坊市文化艺术中心旅游
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘