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

已迭代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?

为安防与视频监控而生 西数紫盘首发 秘闻:鲍尔默离职,或与坚持收购诺基亚有关 【OSTC讲师专访】Thomas Yao:开源社区最缺有能力的领导者 对比MySQL,你究竟在什么时候更需要MongoDB 不以“大小”论英雄,对比IBM、AWS,谁才是Hadoop界的MVP? 参加“我们都用JIRA”视频征集大赛 赢取乐视TV超级电视 开发者下一个待开发市场:印度 一周消息树:80%开发者背井离乡,70%经常加班 移动周报:最受欢迎的跨平台开发工具推荐 研发周报:Mt.Gox破产,都是错误编程惹的祸 数据挖掘+人工智能,教育定制化下的学霸量产 通过700合作伙伴的进一步细分,Google变得越来越像微软 一周热点:高薪必备:Hadoop求职者的6大攻略 谷歌Android主管:两周内为开发者推出可穿戴设备SDK 【OSTC讲师专访】魏子钧: “中国式开源”没有“然后” 揭秘CarPlay欲将颠覆汽车产业的真相 联想王岳源:利用Web App推动互联网转型 IT经理人:提高团队工作效率的11个方法 30美元一小时,数据科学家的收入是否太低? 选择Go语言的12个理由 动鱼数码携三款大作参战Unity游戏及应用大赛 从Google、Apple、Dropbox、Twitter和Square学到的管理哲学 软件开发就像炒股,关键看你怎么选股票! iOS 7.1正式版:新增CarPlay连接功能、完美支持iPhone 4 【OSTC讲师专访】马全一:Docker,Hadoop的竞争者来了! 福布斯:全球那些富可敌国的科技大佬们 抢工作、争资源,如此聪明的AI你拿什么阻止? iUI:移动Web应用开发必备的开源框架 支持iOS 7.1!苹果发布Xcode 5.1更新 视频云将成为2014年乐视新的发力点 3月12日:万维网迎来理念诞生25周年 急!我需要VB好用的压缩控件DLL,只要有DLL就可以用的那种,不要安装。(控件是免费的哦!~) 请问:我有一个表,因为字段的较多,且每个字段长度较大,所以生成报表时每两页A4纸才能容下一条记录,这在QuickReport中如何处理。谢谢。 如何判断我的窗体已经打开? 我怎样汇总两个字段都一样的数目呢?急!◎ 打印的问题! NT启动问题 有没有宁波的兄弟啊,有哪儿要PB或delphi的好点的公司。请介绍下。 关于远程登陆的问题??回答者一定重分相谢。 同志们,朋友们,有空来这里玩玩! 为什么用gethostbyaddr(ip,size,PF_INET)不能把机器名得到????? 如何将Delphi程序改为汇编? 非常着急,各位高手一起来帮我研究一下这个工作流系统怎么用? 简单问题,肯定给分! 据说高程的通过标准是上下午加起来算了? 请斑竹帮忙 请问各位前辈: 在执行中出现"incorrect syntax near 'JCSZ'"的错误提示,如何解决? 下标越界是什么意思啊? 一个基础性的问题,同样一份C/C++源代码可以在UNIX 和WINDOWS运行需要具有的条件是啥??? 在一台计算机上安装两个键盘同时接受输入的问题 对XML文档中的数据能不能进行SELECE操作???? 如何用JAVA实现263邮件那样的邮件粘贴功能 请教各位大哥,小弟最近遇到麻烦,为什么我的程序安装时,出现expsrv.dll无法注册的提示?expsrv.dll有什么作用?怎样闭掉? 如何在两个结构相同的库之间倒数?? 请问如何简单确定右键点击的是哪个控件? 有哪位高手可以给出windows98登录时网络服务的身份验证模块的程序或相关资料的呢?非常感谢啦 在CTreeCtrl中同时使用系统图标与自定义图标的问题?? SHGetFileInfo()为什么在Win2000下工作不正常? 请问高手:DataGrid的问题 jsp和servlet是怎样交互的? 请问 有什么方法能实现 在几个数中随机取出几个数 谢谢 请问:在执行文件DPR中有一段代码出现错误,请各问指点! 两个问题:1 关于.NET中 一个新控件propertyGrid1的使用问题;2 我想生成一个由lable和TextBox合成的控件(label在左,TextBox靠其右),怎么办? 分栏打印 依旧是undefined function mysqsl_connect()问题 急:如何在生成的exe中添加新的属性页,显示更多文件信息? V-DVD ROM!? MSDN上的例子需要uafxcwd.lib,怎么找不到呢? 请问窗口的other事件是如何触发执行的 JSP如何学习 vc在什么时候会引起小喇叭的叫声 请教高手,如果在VB里实现内存共享? 用什么方法可以转换图片类型?譬如将BMP格式的转换为JPEG格式的,请各位大哥给点提示!!! 关于vb script数组和函数功能的二个问题!高难度! 关天打印问题? 只能最小化到屏幕的左下角 *急:无为,acptvb,请帮忙看看http://www.csdn.net/Expert/topic/426/426766.shtm (有关XMLHTTP) 在php中要取出一段字符串的前n个字节,而又要判断最后一个是中文还是英文,如果是中文则将最后半个字符省略应该怎么做? 有在BCB5中用过sapi5朗读中文的朋友,高分送上! 最初级的问题,关于编译程序的。 重庆市信息产业办公室荣获全国最差信息产业办公室称号 大家用PB创建Jaguar应用程序时,一般创建一个大包还是多个包阿? 在数位顺序表中,任何两个计数单位之间的进率都是10.()(为什么,说明理由) 牛顿第二定律的探究实验:为什么小车的质量要远大于勾码的质量?能给我个受力分析图吗?(用作图工具自己画,并附带些解释) 一根轻绳上端悬挂在天花板上下端挂一灯泡,则()A灯泡受到重力对绳拉力是一对平衡力B灯泡受重力和绳对灯泡拉力作用力和反作用力C灯泡对绳拉力绳对灯泡拉力是作用力反作用力D绳对天花 计数单位的进率都是十吗? 验证牛顿第二定律的实验中,为什么托盘和重物的质量要远比小车质量小很多? 电灯的重力为20N,绳AO与天花板间的夹角为45°,绳BO水平,求绳AO,BO所受拉力的大小 求解一道物理摩擦力的题,我觉得答案错了,所以问如图,两个水平力F作用在B C上.三个物体都处于静止状态,请问AC间摩擦力多少 BC减多少 C与地面的摩擦力多少?我主要不知道C与地面间摩擦力大 验证牛顿第二定律的实验中使砝码盘和盘内砝码的总质量远小于小车和车上砝码的总质量.为什么?还有…,一般来说,砝码盘和盘内砝码的总质量不超过小车和车上砝码总质量的10%。这个值 一个数最高位是百万位,他是()位数;一个九位数,它的最高位是()位 摩擦力包括重力吗?为什么二力平衡为拉力与桌面对物体的摩擦力有关!不爱答的不要答如图所示,用弹簧测力计水平拉动水平桌面上的物体,使其匀速直线滑动.以下叙述中的二个力属于一对平 验证牛顿第二定律试验中,为何有时要让砝码质量m远远小于小车质量M?,有时又不需要? 一个五位数,它的最高位是什么位?一个九位数,一个十二位数呢? 摩擦力实验中的压力是否只是指物体对桌面的压力? (二力平衡)手掌托一小石块,将它竖直向上抛出,设想如果手托石块加速向上运动过程钟,石块所受到的所有的力突然消失,那么小石块(立即做匀速直线运动并持续下去)我的问题:这里说的 就是两物体重叠在一起放在水平桌面上,对下面的物体施加水平向又的5N力,物体保持静止,为什么两物体间没有静摩擦?为什么下面对上面没有摩擦… 二力平衡的物体受摩擦力吗?我怎么都觉得只有静止在水平面上的物体才不受摩擦力,但今天上课老师说“二力平衡的物体不受摩擦力”,不能理解啊.谁的见解对?应该怎么理解? A同学用400N竖直向上的力去提质量为50KG,静止放在水平地面上的物体,物体所受的000合力为______.接着A同学改用100N水平向右的力去拉这物体,物体以0.5M/S的速度在水平地面上做匀速直线运动,此时 一道有关摩擦力的高中物理题如图所示,一物体分别沿AB、BO轨道由静止从斜面顶端滑到底端,物体与轨道间的动摩擦因数相同,物体克服摩擦分别为W1和W2则( ).A.W1>W2 B.W1=W2 C.W1 九年级物理关于《牛顿第一定律》、《二力平衡》的题1、牛顿第一定律(1)为什么行驶的汽车遇到意外情况时不能立即停车?注:我知道是因为汽车具有惯性,但是老师说这样回答不够严谨完 找出百宝箱的的密码答案:1,密码是七位数 2,这个数在200000与3000000之间,并且十位上是0,千位上是5个位上是最大的一个数,万位上的数和百位上的数相同,3,密码的十万位.万位.百位上的数字组成 如果拉物体,物体没有动,摩擦力是物体的拉力吗?物体动了,无论拉力多少,摩擦力是最大静摩擦吗?为什么最大静摩擦略大于滑动摩擦?为什么静摩擦力大小与压力无关,但与最大静摩擦力成正比? 二力平衡 物体在平衡力的作用下是处于静止状态还是匀速直线运动状态,取决于A、原来的位置B、原来是静止还是运动C、原来的受力情况D、与前面三项都有关能再具体一些吗 一个九位数,最高位上的数字是最大的一位数,十万位和百万位上的数字都是1,万位上的数字是5,上的数字都是0,这个数写作( ),省略“万”后面的尾数记作约( )万. 一道关于摩擦力的高中物理题题目大概就是人两手之间放置若干本书,双手压力不变,求最多能放几本,我一直弄不清书本与书本间的摩擦力的作用力与反作用力,应该是中间的书先掉还是两边的 科研人员乘气球进行科学考察,气球、座舱、压舱物和科研人员的总质量为990 kg.气球在空中停留一段时间后,发现气球漏气而下降,及时堵住.堵住时气球下降速度为1 m/s,且做匀加速运动,4 s内下 一个9位数,最高位和十万位上的数是6,其余各位都是5,这个数写作什么,省略到万后面的尾数约是 从个位起,第五位是万位,第八位是千位,它们的计数单位分别是? 验证牛顿第二定律实验中,怎么样钩码的重力才近似等于拉力?用公式推倒下, 最高位是千万位的数是一个八位数,其中最大的九位数是几?最小的九位数是几? 在数位顺序里,小数点左边第一位是【 】位,计数单位是【 】,第五位是【 】位,计数单位是【 】. 九年级物理力学问题在不计摩擦和机械自身重力时,既可能省力又可能费力的机械是______.A.杠杆 B.动滑轮 C.定滑轮 D.滑轮组 一个数的最高位是亿位,这个数肯定是九位数.是对是错? 在数位顺序表里,小数点左边第一位是()位,计数单位是(),第五位是()位,计数单位是().小数部分的最高位是()位,计数单位是() 验证牛顿第二定律 沙桶和沙的质量很小时才认为他们的重力等于拉力?为什么? 一个数的最高位是亿位,这个数一定是一个九位数.对还是错 在数位顺序表中,从个位起,第五位是()位,计数单位是();第八位是()位,计数单位是(). 1.一个长方体木块立在桌面上,用手指沿水平方向推他的下部,木块滑动;用手指推开他的上部,木块翻倒.这说明什么?2.短跑运动员起跑时用力向后蹬地,人就冲了出去,这里包含的物理知识是: 用定滑轮将重力为500牛的物体以1米/秒的速度匀速提升,不记摩擦.求(1)绳子的拉力;(2)10秒拉力做的功. 在光滑或粗糙斜面上拉力与物体重力的关系?注意摩擦力 求老师前辈们帮我解释为什么B是正确的.我知道其余三个都是错的,但不知道为什么B是对的. 当一物体在桌面上静止时,它受到的静摩擦力的大小,方向,作用点个是什么?!物理好的朋友帮忙答一下.有用的再多给!例如:一本新华字典在水平粗糙的桌面静止.那么它受到的静摩擦力的方向, 斜面机械拉力为什么克服物体的重力做功斜面拉力是等于物体重力加摩擦力吗?如果是,那么按网友回答“物体被视为一边向上运动,一边横着运动”向上的力与重力是平衡力,那么横着的力不应 万级包括的计数单位有那些 如图所示,有一物体A置于托盘天平的托盘上,这时托盘秤的示数为3kg,弹簧测力计的示数为14.7N,此时正好达到一个稳定状态,请问:物体A的质量多大?(请写明步骤)(图上有一个托盘秤,秤上放 一个十位数,它最高位是(),从右边数第七位是(),计算单位是() 牛顿第二定律实验小车质量远远大于钩码质量推导 万位、十万位、百万位、千万位是万级上的四个计数单位.对还是错?请说明理由 一个九位数,他的最高位是( ),计算单位是( ) 初三摩擦力物理AB两物体紧靠着放在水平桌面上,用16N的水平推力推A,使他们一起向右作匀速直线运动,若要让AB在水平桌面上一起向左作匀速直线运动,在不撤除向右16N的水平推力的情况下,应该 万级的计数单位有万位,十万位,百万位,千万位 高中物理向心力什么时候是重力减弹力什么时候弹力减重力RT,我高一 ,计数单位之间的进率都是十. “十万”相邻的两个计数单位是“百万位”和“万位”这句话对吗 “弹力大小与物件受到的重力成正比”这句话对不?为什么? 两个计数单位之间的进率都是10 这句话对吗 万位,十万位,百万位,千万位都是计数单位吗? 挂在天花板上的电灯所受的重力跟和绳对灯的拉力是不是相互作用力?为什么? 相领两个计数单位之间的进率都是10对吗 与十万位相邻的两个计数单位分别是百万位和万位对吗 竖直悬挂在天花板上的电灯,除了受到重力外还受到一个绳子的弹力,问这个弹力是否就是绳子的拉力?
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn