临溪笔记

Category: 科普

[蜘蛛篇]蜘蛛为什么有八条腿?

在自然界中,我们能观察到的大部分“虫子”,无论是天上飘的、地上蹦的还是水里窜的,都是六条腿,它们基本上都能归属于六足亚门。从机械结构稳定性,或者说一个机器人专家的角度来看,六条腿也确实是完美之选(比如不久前刚刚开始火星探索之旅的“好奇号”)。但是不属于昆虫纲也不属于六足亚门的蜘蛛为什么是八条腿呢? 虚拟模型:好奇号(curiosity)火星探测器登陆(图像来源:space.com) 这个问题看起来似乎有些蛋疼,但还是有科学家对它进行了认真的研究。2011年6月2号,美国国家地理网站发表了一篇名为《蜘蛛演化出了多余的腿》(Spiders Evolved Spare Legs) 的文章(在我的iFrei.cn这个域名还在使用的时候,曾经对这篇文章进行过全文翻译)。我并不喜欢这篇文章的标题,因为它暗示了早已被摒弃的拉马克学说的正确性。事实上,生物不可能自主选择自己的演化方向,换句话说,生物不可能为了某种“多余性”而演化。也许我们确实能看到某些生物身上存在一些多余的器官,比如我们人类的智齿、阑尾等,但它们都是自然选择的结果,并非我们人类自身愿望的结果。从逻辑上来说,这种多余性体现的是一种从有到无的演化过程,而并非从无到有。或者可以这样定义生物学意义上的“多余性”:如果一种组织或器官出现在生物个体上,并使该个体的适应度降低,那么就可以说这个组织或器官相对于该种生物是多余的。蜘蛛的演化史约为4亿年,目前已知的最古老的蜘蛛化石被保存在一块距今已有1.4亿年的琥珀之中。与现存的蜘蛛一样,它也有八条腿。如此看来,“蜘蛛演化出了多余的腿”这个结论是不成立的。 需要注意的是,这个结论是这篇文章给出的,并非由原论文作者给出。另外这篇文章中除了标题,其实并没有谈到任何关于演化论的观点。前一阵我又想到这个问题,特意又去查了原论文。原论文标题为《腿的丧失:这对于圆蛛而言是否是一种障碍?》(Loss of legs: is it or not a handicap for an orb-weaving spider?),发表在2011年11月7日的《自然科学》(Naturwissenschaften)杂志上,作者为斯特拉斯堡大学的Alain Pasquet, Mylène Anotaux和南锡大学的Raymond Leborgne.因为下载不到这篇论文,我只能从摘要中对这篇论文有个大概的了解。研究者的研究对象是一种叫做丽楚蛛(Zygiella x-notata)的圆蛛。在野生环境下,根据种类的不同,成年蜘蛛的失腿率大致在5%到40%之间,而成年雌性丽楚蛛的失腿率在9.5%到13%之间,其中48%都是只缺失一条腿。在实验室条件下,研究者对比了缺腿蜘蛛和完整蜘蛛的捕食效率、产卵量和寿命,结果显示无任何差别。 雌性丽楚蛛(Zygiella x-notata)(图像来源:eurospiders.com)

[蜘蛛篇]捕风者

这是一个很老的冷笑话了:说有个科学家逮了几只蜘蛛,把它们都放到桌子上,然后冲它们大吼,结果蜘蛛……当然都跑了。还没完,这个科学家随后又把这些蜘蛛都逮回来,把它们的腿都切掉,再冲它们大吼,这次没有一只蜘蛛逃跑了……于是科学家得出这样的结论:蜘蛛的耳朵是长在腿上的!这个笑话的笑点当然是在“科学家”的这个荒谬的研究方法上,但如果究其结论——“蜘蛛的耳朵长在腿上”,倒也不能算全错。虽然没有我们生物学定义上的耳朵,但蜘蛛确实是是靠腿来“听”的。 靠腿怎么听?先别急,在回答这个问题之前让我们先来考虑一下哺乳动物——比如我们人类,是如何听到声音的吧。在我们人类的耳朵中,有一组重要的小零件,它们被统称为“毛细胞”(Hair cell).这些毛细胞位于内耳耳蜗的薄基膜上,在柯蒂氏器(Organ of Corti)的内部。根据解剖学和功能上的分类,这些毛细胞又可细分为“外毛细胞”和“内毛细胞”,而每个毛细胞上都生长出很多硬纤毛(Stereocilia)。 柯蒂氏器的解剖结构(图像来源:wikipedia) 因为在实验上存在困难,科学家们对毛细胞的具体功能机制还不甚明晰。根据以往的研究,简单来说,外毛细胞起到放大声音信号的作用,而内毛细胞起到将声音震动转成电信号并通过听觉神经传递到脑干和听觉皮层的作用。单侧内毛细胞总数约3500个,外毛细胞约9000到12000个。毛细胞凋亡后不能再生,如果毛细胞损伤过于严重,将降低听觉敏感度,比如引发感觉神经性耳聋。不过根据近09年的一篇报道,英国科学家已成功在实验室内用干细胞培育出了内毛细胞,为耳聋患者恢复听力带来了希望。 说了这么多,看起来好像和蜘蛛没啥关系,但事实上——解决蜘蛛听觉之谜的钥匙也就在这些“毛细胞”上,只不过蜘蛛的“毛细胞”都长在了腿上而已,使得蜘蛛本身好像变成一个“耳朵”。这些毛又被形象地称为“听毛”(Trichobothria).利用听毛,蜘蛛通过解析声音引起的空气流动,来判断声音的来源。 蜘蛛的听毛(图像来源:http://ednieuw.home.xs4all.nl) 2011年年底,几位物理学家对蜘蛛的听毛做了进一步的研究。他们发现如果外界的声频发生改变,蜘蛛听毛的摆动速率也会随之改变,进而发现蜘蛛的听力范围为40Hz到600Hz(人类的听力范围为20Hz到2000Hz).相关实验的视频请点击这里(Youtube). 谈到了蜘蛛的“捕风技”,最后稍微谈谈蜘蛛的“捉影技”——视觉。也许蜘蛛能算得上个“捕风”的高手,但至于“捉影技”——根据蜘蛛具体分类的不同,也是千差万别。蜘蛛家族里视力最好的当属跳蛛(蝇虎科),它们的视力近乎于人类,且有研究表明它们有分辨颜色的能力。再其次是狼蛛和猞猁蛛(lynx spiders).视力最不好的是洞穴蜘蛛,它们几乎没有视觉,捕食只能依靠听觉和触觉。

演化的时间复杂度与黄鼠狼程式

“突变率很低,地球年龄又很短,要想演化出人类这样具有高度文明的智慧生物是完全不可能的。”——这是智设论者用以攻击演化论的常见论点。2010年,美国宾夕法尼亚大学的数学家Herbert Wilf和遗传学家Warren J. Ewens则用数学方法对这种观点予以有力还击,他们给出的答案是:There’s Plenty of Time for Evolution[1]. 可以把基因组的演化想象成一个密码破解的过程。我们对这个密码几乎一无所知,但知道它的长度为L,其中的每个字符都来源于一个有K个字符的字母表。按照智设论者的观点,这个密码是这样来进行暴力破解的:用字母表中的字符随机生成一串长度为L的密码,与正确的密码相比对,如果不正确,那么再重新生成(不记忆已比对过的字符串),再比对,直到与正确的密码相一致为止。这个破解算法的时间复杂度为指数级的O(K^L),也就是说平均要K^L次才能破解出正确的密码。这是什么概念呢?让我们想象一个拥有20000个可突变基因位点的基因组,即L为20000,另外在基因组水平上,根据生物学统计信息,这里的K值可近似取40(具体怎么算出来的见文末注解[2]),那么要想正确演化出这样的基因组平均需要10^34040代,即使按每年可繁衍、演化100代计算,也需要10^34038年,而生命的演化史也只有3*10^9年而已。。 智设论者的想法肯定是错误的,那么到底是哪里出了问题呢?很简单,就是他们忽略了演化的一个关键因素:自然选择。基因突变是演化的原料,自然选择则是演化的动力。修改一下上文的模型,可以设定这样一个“间谍”,在你每次进行破解之后,这个“间谍”会告诉你哪些位置猜对了,这些猜对的位置便不用再猜,只用继续再猜那些没猜对的即可,这个“间谍”即相当于起到了“自然选择”的作用。这也是符合遗传学规律的,那些适应性强的基因(比如与表达眼睛相关的)一旦固定就很难消失,不会因为其它基因(比如与表达肝脏相关的)未能演化出来而被淘汰。根据这个模型,Herbert Wilf计算出的演化时间复杂度为O(K*logL),并给出了用于描述平均需要演化多少次的公式: 这里的β(L)是一个关于logL的周期函数。(具体论证过程请参考原论文。) 现在用这个公式再计算下上文中所述的那个例子,代入K=40,L=20000,结果约为390,只需要390代即可。 当然,这只是一个非常简化的关于演化的数学模型,生命的演化过程远比我们想象的要复杂得多。事实上,在1986年,道金斯也曾提出过一个“黄鼠狼程式”(Weasel program)来回击演化中类似的常见误解[3],但未能给出数学上的解释和证明。其灵感来源于“无限猴子定理”。

在50亿年后太阳变成红巨星之前能精确比对多少分子序列?

最近在构思一篇关于“计算人类末日”的文章,搜集了一些相关的资料,突然联想到了标题中的这道曾经的作业题,遂随手写下此文。。 (作者不是标题党,不过标题中的这个问题我还是要放到本文的最后再来回答。) 当分子生物学中唯一的法则“中心法则”饱受系统生物学家的攻击和批评[1]的同时,由基因组学发展出来的另一个“中心法则”——序列决定结构,结构决定功能——则显得更加无懈可击。而生物信息学也正是基于这一新的法则来分析海量的生物学数据的。由此,序列分析也成为了这一新学科的基础。这里的“序列”主要指的是生物大分子中的DNA、RNA和蛋白质。 序列分析中的主要工作之一是序列比对。通过检验不同序列间的相似性程度,可以对它们之间的同源性和进化关系进行判断。我们现在看到的那些进化树,虽然在一些细枝末节上还存在很大争议,但它们大多都是通过这种分子水平上的序列比对而构建起来的,比以往的博物学家们只能在形态学和解剖学上进行比较要精确得多了。 通过测序,我们可以把这些线性的生物大分子变成由特定字符集组成的字符串,存储到熟悉它们的计算机中。如DNA的字符集是{A,T,C,G},RNA是{A,U,C,G},蛋白质则是那20种基本氨基酸的单字母缩写。在计算机中用处理字符串的方法来分析这些序列,比用纯生物学的方法要方便、快捷、准确多了。 那么到底要如何比对这些序列呢?这里就不得不要提到一个算法——动态规划(Dynamic Programming).讲解“动态规划”的中文维基页面上用斐波那契数列的例子来解释这个算法是如何工作的。如果没有理解,也没有关系,因为心理学告诉我们,只要能把抽象的问题具体化,其实也没有什么是难理解的。所以这里让我们来考虑一下下面这个更加现实的问题。 假设你要去一个陌生的大城市旅游,但坏消息是你只有不到一天的时间,肯定不能把城市里所有的景点游览完。同时还有个好消息:你有这个城市的地图,可以提前规划路线。作为限定条件,在这个城市里游览的时候,你只能向东或向南前进,不能走回头路。那么你要如何选择路线才能尽可能多地浏览景点呢?这个问题也就是经典的“曼哈顿游客问题”(Manhattan tourist problem). “曼哈顿游客问题”中的地图。(在这里我们可以忽略那条斜街。)图像来源: An introduction to bioinformatics algorithms

圆为什么有360度?

从太阳、满月,到向日葵的花盘、水面的涟漪,自然界中的圆无处不在。“圆,一中同长也”(《墨经》),两千多年前的墨子是世界上第一个给出圆定义的人。圆形的轮子是人类历史上最重要的发明之一。由其衍生出来的齿轮在工业革命中起到了无法替代的作用。圆与我们的生活息息相关。但是,你真的了解圆吗? 圆为什么有360度 大家都知道圆有360度,但是你知道为什么要这样划分吗?为什么不是300度、400度,而一定是360度呢?别急,这事儿要从公元前说起…… 在古文明时期,人类把很多不能解释的自然现象归结为“天意”。 从对“天意”的判断与预知发展出了占星术,也促进了早期天文学的发展。经过长期肉眼的天文观测,古人终于有了一个重大发现——各星象的运动轨迹是一个圆!(……)它们在夜空中的位置每天都会比前一天稍移一些,直到一个周期——也就是一年后,又会恢复原位。现在你有没有发现,一年有365天与一个圆有360度之间的微妙关系? 其中一种理论认为,古巴比伦人继承了同为美索不达米亚平原上公元前三世纪苏美尔人的六十进制计数方法,将一年划分为360天(12个月,每月30天),因此根据上所述原因,一个圆也可以被划分为360等份,每一份即为“一度”。在巴比伦帝国被波斯人消灭300多年后,希腊天文学家阿里斯塔克斯和喜帕恰斯重新系统归纳总结了巴比伦人在天文学上的成就,“星座”和“天球”的概念首次出现,六十进制被继续发扬光大,天象划分基础被确立,“一个圆有360度”的说法也开始成为科学标准渐渐得到人们的肯定。 图1  未来一年在北京观测大熊星座运行轨迹(绿色显示为大熊星座)

用迷宫困住死理性派?没门!

这是一种充满复杂通道的建筑物,很难找到从其内部到达入口或从入口到达中心的道路。在世界的不同文化发展时期,这些奇特的建筑物始终吸引人们沿着弯弯曲曲、困难重重的小路吃力地行走,寻找真相。还在找出口吗?不妨看看死理性派是怎么走迷宫的吧。 迷宫的历史和它的结构 迷宫最早出现于希腊神话中——用来囚禁 克里特岛国王 米诺斯 的半人半牛的怪物儿子 弥诺陶洛斯 。米诺斯每年都会送 7 对童男童女进来供他儿子享用。后来在米诺斯女儿阿里阿德涅的帮助下,雅典英雄 忒修斯 靠着一团金线,摸进迷宫顺利地杀死了这头怪物。 早期的一些绘画艺术还原了这座传说中克里特岛迷宫。很多人发现,这座迷宫虽然很绕,却并没有岔路,只要“一条道走到黑”,就能来到中心。也就是 欧拉路径 ,即从迷宫的入口到中心遍历了所有的边且没有重复。 从左至右:迷宫中的弥诺陶洛斯,14世纪杰里科地图,克里特式迷宫。 图像来源:Wikipedia 想象一根有限长的绳子,如果要用这根绳子来围成一条路径,且使得人在走这条路径的时间花费尽量长,那么最直接的方法就是建造这样的“克里特式迷宫”,让线圈紧密地盘绕再盘绕。 克里特式迷宫可以当做很美的装饰画,也能在工业实践中得到广泛应用,但它因为没有极具迷惑性的岔路,“迷”的属性并不算突出。因此后来就从这种最初的迷宫中,又发展出了各类复杂的迷宫。 从数学上来说,形状奇怪、看起来让人眼花缭乱的各种各样的迷宫,无非是一个图。当我们不考虑各结点的具体位置,而只考虑其相对位置,也不考虑各条边的具体长度和形状时,就可以把迷宫的拓扑结构画出来。 对于非克里特型迷宫(克里特型迷宫中没有分岔和歧路,不能用“图”表示),可根据其拓扑结构分为两大类,单连通的和多联通的。单连通的迷宫,图中没有回路。多联通的迷宫,图中包含回路。那如何判断一张迷宫地图是单连通的还是多联通的呢?只要看它的墙的结构就行了:如果迷宫中的墙都是互相连着的,那它就是单连通的;如果迷宫中有孤立的、不与其他墙相连的墙,这个迷宫就是多联通的。迷宫的类型不同,在其中行走到达目的地的策略也就不同。 破解黑暗中的迷宫 对于事先我们并不知晓全貌的迷宫,或者即使我们能了解到它的全貌(比如一些旅游景点中的迷宫),但置身其中时仍会有“旁观者清,当局者迷”的感觉。这样的迷宫该如何破解呢? 当然,你可以选择神话中忒修斯拉线绳的方法——如果你有足够长的绳子的话,这无疑是最保守和安全的方法。但这里要介绍的几种比它巧妙的多的方法。 首先就是“左/右手法则”方法。顾名思义,就是进入迷宫后,选择一个方向,之后贴着墙壁一直走下去。这是最常见的走迷宫方法,其原理其实在上面“克里特式迷宫”中也已提到,就在于考察迷宫的拓扑结构,无论围墙是多么的蜿蜒曲折,把它抻直了也就是一根线段而已,迷宫的出入口分别对应着这条线段的两个端点。我们从入口进(或者选择该条线段上任意一点开始),沿着这条线笔直走下去,当然会走到出口。但这个法则也时常有失灵的时候。因为它的前提是“入口和出口都在一条线段上”,也就是说这堵墙必须是连通的才行,而如果遇到“回字形”迷宫,出口和入口并不连通,则会出现绕了一圈返回原地的情况。

彩虹为什么是弯的?

作者:D-Horse 想必很多人都见过彩虹(至少彩虹的照片你见过吧)。一说到它,你脑海里总能浮现出一道七色圆弧。但你知道彩虹为什么是弯的吗?彩虹真的是恰好七种颜色吗?彩虹的秘密,死理性派告诉你。 古代人对彩虹的观察和研究 对彩虹的研究最早可以追溯至公元前 4 世纪。亚里士多德是第一个认真研究彩虹的人,他曾指出彩虹最为重 要的几个特征,比如: 如果太阳在地平线上升起得不太高,彩虹就会出现。彩虹不会出现在夏日的中午 我们可以同时看到两条形状相同但颜色顺序排列相反的彩虹,其中外侧那条显得略为松散 彩虹主要由三种(或四种)颜色组成(现代的RGB三原色理论亦基于此) 但是有一个很重要的现象亚里士多德并没有注意到,那就是两条虹中间的区域亮度较暗,直到公元约 200 年雅典哲学家亚历山大(Alexander of Aphrodisia)才观察到这个现象,所以后人就将这条暗带命名为“亚历山大暗带”(dark band of Alexander)。另外,亚里士多德对彩虹的解释并不正确,他认为只有大的镜子可以反射出物体的全部外形,他把天空中的水滴比做小镜子,认为这个镜子太小了,不可能反射出整个太阳,但是又必须得有什么东西反射出来,所以会有颜色呈现出来。而且,亚里士多德也没有注意到光的折射作用。 在此之后,古罗马哲学家 塞内卡 、波斯物理学家 海什木 等人也都曾发表过自己的看法。中国北宋时期一位叫 孙思恭 的精通天文历算的进士也曾说过“虹乃雨中日影也,日照雨则有之”(沈括《梦溪笔谈》),这些均只停留在对现象的思考上,没有更多深入和本质性的研究。 彩虹是怎么形成的 我们现在知道,彩虹的形成和光的折射有关。所以直到人们发现折射定律,彩虹问题才有条件被解决。光入射到不同介质的界面上会发生反射和折射,入射光和折射光位于同一个平面上,且与法线的夹角满足如下关系: 其中, n 1 和 n 2 分别是两个介质的折射率, θ 1 和 θ 2 分别是入射光(或折射光)与法线的夹角,叫做入射角和折射角。这个定律最早在公元 984 年被波斯科学家 IbnSahl 精确描述。随后又被英国科学家 托马斯·哈利奥特 ( 1602 年)、荷兰物理学家 威理博•斯涅尔 ( 1621 年)、法国数学家笛卡尔( 1637 年)等人先后独立发现这个定律。 其中,笛卡尔利用折射定律,成功解释了彩虹是如何形成的。笛卡尔假想在一个 […]

你的密码安全吗?小心那些隐藏的陷阱

作者:D-Horse 美国国家安全局(NSA)为了破译恐怖组织的密码以挫败其阴谋,斥巨资建造了一台可以破解一切密码的机器:万能解密机。这是美国作家丹•布朗在其小说《数字城堡》中虚构的情节。以人类今日之科技实力,打造这样一台无坚不摧的“神器”还只是个遥远的梦想,但如何在网络社会中保护自己的个人隐私一直是个现实的问题。20多年来,现代人已经掌握了“数字城堡”——密码的构造方法,自认为可以高枕无忧,但事实远非如此。 越复杂的密码越安全吗 很不幸,答案是否定的。人们通常认为,把密码设得越复杂,别人就越难猜到,但这样一来无疑增加了记忆的难度。而对于那些企图窥探你秘密的人来说,他们也只是想不到,而非“猜不到”。现如今,还有几个人破译密码是靠大脑“猜”的呢? 这就正如 XKCD 所说的那样:经过二十年的努力,我们成功地陷入一个误区,那就是把密码设的越来越难以记忆,然而却被计算机很轻松地就破解出来了。 保证密码强度的关键是什么 那保证密码强度的关键到底是什么呢?其实,上面的漫画已经给出了答案:密码长度。 这里引入信息学中的信息熵(我们常听人说这个信息多、那个信息少,对信息“多少”的量化就是信息熵),用它来作为密码强度的评估标准。信息熵计算公式为 H = L * log 2 N,其中,L表示密码的长度,N的取值见下表:

70亿世界人口是怎么来的

作者:D-Horse 1999 年 10 月 12 日凌晨 0 时 2 分,波黑首都萨拉热窝一名男婴的诞生标志着 世界人口达到了 60 亿。时光流转,仅仅 12 年之后,2011 年 10 月 31 日,菲律宾婴儿, 丹妮卡·卡马乔 的诞生象征着世界人口突破 70 亿。也许很多人会感到诧异,这个“ 70 亿”到底是怎么算出来的。别急,让我们从头说起…… 人口是如何增长起来的 早期人类以狩猎和觅食为生,世界范围内数量约为 100 万,到农业得到发展之前,其数量也未超过 1500 万。而公元 4 世纪时,东、西罗马帝国人数总和已超过 5600 万。但随之而来的 查士丁尼大瘟疫 几乎给欧洲文明以毁灭性打击,其人口数量从公元 541 年到公元 8 世纪间锐减 50% 。随后欧洲文明渐渐复苏,人数从公元 1000 年的 3850 万上升至 1340 年的 7350 万。好景不长, 1347 年 黑死病 席卷而来, 3 年时间世界范围内死亡 7500 万人,整个 14 […]

细菌掷骰子吗?

作者:D-Horse 传说骰子的发明人是三国时期的文学家曹植,是为了占卜之用。时至今日,它已演化为人类广泛用于赌博和休闲娱乐的工具,深入千家万户。除老百姓外,科学家们对骰子也可谓情有独钟,甚至在上个世纪还爆发了关于“上帝掷骰子吗”的大讨论。当然,我今天并不想讨论这么大的一个话题,但依然不妨碍我把掷骰子试验背后隐藏的二项分布和大数定理引入自然界,用它对一些生物学现象进行探讨和分析。比如下面我们可以来研究下“细菌掷筛子吗”这个问题。 从投针到掷骰子 1777年法国数学家布丰[1] 别出心裁地想到一种计算圆周率π的方法:随机投针法。他对此方法的描述是:在平面上画有一组间距为D的平行线,将一根长度为L(L<D)的针任意掷在这个平面上,则此针与平行线中任一条相交的概率是p=2L/(πD),π即为圆周率。1901年意大利数学家马里奥•拉扎里尼(Mario Lazzarini)重复了这个试验。他总共投掷了3408次针,得到π的值为355/113,已经精确到了小数点的第6位。关于它的解法可以参看wikipedia页面布丰投针问题。有同学想验证这个试验但又没有针和时间怎么办呢?那就来尝试运行一下这个计算机模拟程序吧。