Posted on 15-02-2017
Filed Under (技术) by waterlin

Visual Studio 2015 可以作为Linux开发和调试的利器了,很好用,按这篇文章配好环境就可以开始愉快的编码了。

但是如果在这里用 CMake 来构建工程,可能要注意一下:

1. 需要把 cmake 工程文件设置为自动拷贝到服务器

vc-linux-cmake-1.png

2. 需要配置一个编译命令和路径,因为 VS 默认的工作目录和我们在Linux上时是不一样的

比如,针对 Debug 模式可以是这样的:

vs-linux-cmake-2.png

上面红线的内容是类似这样的:

cd ~/projects/LiveQualityMonitor/debug; cmake -DCMAKE_BUILD_TYPE=Debug ..; make
~/projects/LiveQualityMonitor/debug/LiveQualityMonitor

针对 Release 模式是这样的:

vc-linux-cmake-3.png

上面红线的内容是类似这样的:

cd ~/projects/LiveQualityMonitor/release; cmake -DCMAKE_BUILD_TYPE=Release ..; make
~/projects/LiveQualityMonitor/release/LiveQualityMonitor

这样就可以用 cmake 来构建工程了,如果别人不用 Visual Studio,也同样可以用原来的 cmake 方法直接上 Linux 服务器去手动编译。

(0) Comments    (129) Views    Read More   
Posted on 25-01-2017
Filed Under (文化) by waterlin

2016因为工作家庭都比较安定,特意应老婆大人的要求,安排了好几场的演唱会,现在就来说说这些演唱会的观后感。

Eason’s LIFE演唱会,陈奕迅,2016年4月23日,佛山世纪莲体育中心

现场气氛一般,节目编排一般,场地太大音效不算很好。场地是足球场那种室外体育场,能坐很多人,但是因为场地太大以及开放环境,整体上感觉一般。现场气氛感觉一般,主要还是因为好多经典歌曲没唱,现场大家能跟唱的歌不多,导致现场气氛刚被一首歌点燃后马上又冷下来了,歌迷们都觉得不过瘾。

最后的返场演出,只唱了一首还是两首,气氛刚起来就没有然后了。

陈奕迅实力还是毋庸置疑的,只是感觉这个演唱会产品设计上不怎么对得起花大价钱的歌迷啊~~

637489768274587042

458946119327293452

【克不容缓】容祖儿李克勤中国巡回演唱会,李克勤、容祖儿,2016年6月25日,广州国际演艺中心

他们两个应该在一起搭档很久了,现场感觉配合很好、很有默契,现场的舞蹈和歌曲都编排得很好,我最喜欢其中的《合久必婚》和《月半小夜曲》。

因为舞台是两个人的,所以感觉比一个人唱更有意思,同时,也比那种跨年演唱会一大票人唱要好,毕竟焦点更集中,歌手会更有状态,节奏更好控制。

这场最爽的在最后返场的环节,一直在唱两人的经典歌曲,一下子唱了十几二十首,整个现场气氛都被持续点燃。

441329002183420178

534769361043190782

[A CLASSIC TOUR 学友·经典]世界巡回演唱会,张学友,2016年11月12日,广州国际演艺中心

无可挑剔的演唱会,不过从哪一方面来说!55岁的人了,唱出来还是像CD里出来的音质,现场也有唱破的一次,但我感觉更加真实,否则我真怀疑学友大叔是在放CD来忽悠我们的。

张学友演唱会的舞台设计是我最喜欢的,四面台设计,全方位无死角,并且我最喜欢他现场的灯光和灯泡设计,把整个城市的喧哗与热闹,和歌曲的意境融为一体,以最好的表现形式展现给了大家。

这场演唱会,我最喜欢开始的那三首吉他伴奏歌曲,现场的吉他伴奏,很好的发挥了学友大叔嗓音的特点,我就喜欢他唱慢歌。

返场的时候,同样也唱了十几二十首金曲,中间都不停顿的,全场歌迷是听得如痴如醉啊。

可能是因为学友的经典歌曲太多了,听完他这场演唱会,感觉意犹未尽一点都不觉得无聊,怎么这么快就结束了?感觉和没有听一样啊,怎么刚开始就结束了?

190435676265788663

216734651598383360

2016年周杰伦地表最强世界巡回演唱会,周杰伦,两场,2016年7月23日,广州国际演艺中心,2017年1月14日,香港红磡体育馆

周杰伦的演唱会,舞台设计整体感觉一般,主要还是传统的舞台风格与造型,也没有什么特别的新意。但是,因为周杰伦的歌迷实在太多太疯狂了,周杰伦的好歌也实在太多了,现场简直就是KTV大合唱的感觉,各种疯狂的跟唱与尖叫声,这绝对是我今年看过演唱会里气氛最棒的了。

第一场是在广州看的,但是因为位置太靠后了,感觉不是很好;于是,淘宝上买了香港一场位置比较前的票,现场那个酸爽的感觉啊,感觉周杰伦就在我面前晃了一个晚上,哈。

我以前不能算是周杰伦的歌迷,他红起来的时候我已经快要大学毕业了,我喜欢他完全是受老婆大人的影响,才逐步关注他的Facebook、新闻、作品等。只能说他是所有男人学习的偶像,这么才华横溢的男人,再怎么努力向他学习都不过分。周杰伦的好歌实在太多了,歌迷对他的歌可能比他自己还熟悉,并且好多人都能不看歌词唱。到返场时候有一个环节是给歌迷点歌,这个环节看似简单,但估计没有几个歌手学得来,起码你的好歌要多吧,歌迷对你的歌要很熟悉吧,歌迷还得会唱吧,周杰伦恰好把这几点都占全了。周杰伦本人也是非常幽默与风趣的,与歌迷互动的环节很贴心,希望下次也有机会让老婆大人参与到这个环节里。

555487587307483822

498684294401745569

总结

看了这么多场,说一说共有的观感:

1. 看演唱会,要尽量买前排的票,体验差别好大。不过这个好像是废话,能买得起、买得到前排的票的人,为什么要买后排的?

2. 看演唱会,尽量早点去、准时去,学友大叔做了一个很好的榜样,演唱会准时开始,没有拖延一分钟。这个守时的精神,不正好是中国人最缺乏的么?

3. 我没有想到,香港红磡体育馆这么小、这么破; 以前经常听那些艺人把在红磡体育馆开演唱会当做职业生涯的最高理想,以为红磡体育馆非常的富丽堂皇。去看过一场后,我理解这是为什么了,这应该是香港流行文化几十年沉淀的结果。比如周杰伦在返场的时候就以谭咏麟的“一生中最爱”开场,这就是在给老前辈致敬嘛!每天周杰伦在香港的演唱会都有香港明星到场捧场,这是在其他大陆地方看不到的。这个是香港现在文化上唯一的优势吧,希望大家在香港还具备这个优势前,都有机会去红磡体育场看看演唱会。另外,红磡体育馆竟然不用安检,香港对自己的治安太有信心了!

4. 演唱会也是一个产品,用心去开,歌迷能感觉到你的付出,这种感觉非常准,也很微妙。

5. 以后要尽量让我的小孩早一点接触这些音乐、体育的现场,先把眼界打开,才能知道,哦,原来世界也可以这样、可以更加丰富、更加立体,完全不只是电视上看到的那副冷冰冰的样子。

(0) Comments    (128) Views    Read More   
Posted on 18-01-2017
Filed Under (文化) by waterlin

接自《时间简史》第三章膨胀的宇宙58页,多看阅读出版。


在20年代,当天文学家开始观察其他星系中的恒星光谱时,他们发现了某些最奇异的现象:它们和我们的银河系一样具有吸收的特征线族,只是所有这些线族都向光谱的红端移动了同样的相对量。为了理解其含意,我们必须首先理解多普勒效应。正如我们已经看到的,可见光由电磁场的起伏或波动构成。光的波长(或者相邻波峰之间的距离)极其微小,约为0.0000004至0.0000008米。光的不同波长正是人眼看成不同颜色的东西,最长的波长出现在光谱的红端,而最短的波长在光谱的蓝端。现在想像在离开我们固定的距离处有一个光源——例如一颗恒星——以固定的波长发出光波。显然,我们接收到的波长和发射时的波长一样(星系的引力场没有强到足以对它产生明显的效应)。现在假定这恒星光源开始向我们运动。当光源发出第二个波峰时,它离开我们较近一些,这样两个波峰之间的距离比恒星静止时较小。这意味着,我们接收到的波的波长比恒星静止时较短。相应地,如果光源离开我们运动,我们接收的波的波长将较长。这意味着,当恒星离开我们而去时,它们的光谱向红端移动(红移),而当恒星趋近我们而来时,光谱则被蓝移。这个称作多普勒效应的频率和速度的关系是我们日常熟悉的。例如听一辆小汽车在路上驶过:当它趋近时,它的发动机的音调变高(对应于声波的短波长和高频率);当它经过我们身边而离开时,它的音调变低。光波或射电波的行为与之类似。警察就是利用多普勒效应的原理,靠测量射电波脉冲从车上反射回来的波长来测定车速。

(0) Comments    (114) Views    Read More   
FFMpeg 2.8 在 Visual Studio 2015 下使用时,提示了如下错误:
模块对于 SAFESEH 映像是不安全的。
错误详细信息如下:
严重性
代码
说明
项目
文件
禁止显示状态
错误
LNK2026
模块对于 SAFESEH 映像是不安全的。
MetaEncoder
E:\liumangxuxu\code\30kernel\VideoClipper\shadow\MetaEncoder\swscale.lib(dixcbs00009.o)
1
可以把 SAFESEH 这个选项关掉:
图像 1
把这个SAFESEH关掉。
说明:这个是 Visual Studio 2015 里引入的一个新东西,一般来说,旧版本的 Visual Studio 创建的库,在 2015 里要链接起来的时候,就会提示类似的问题。
如果是使用 cmake 来生成工程时,需要关闭 SAFESEH 这个选项,可以直接使用下面的代码:
IF(${_MACHINE_ARCH_FLAG} MATCHES X86)
  SET (CMAKE_EXE_LINKER_FLAGS “${CMAKE_EXE_LINKER_FLAGS} /SAFESEH:NO”)
  SET (CMAKE_SHARED_LINKER_FLAGS “${CMAKE_SHARED_LINKER_FLAGS} /SAFESEH:NO”)
  SET (CMAKE_MODULE_LINKER_FLAGS “${CMAKE_MODULE_LINKER_FLAGS} /SAFESEH:NO”)
ENDIF()
(0) Comments    (516) Views    Read More   
Posted on 25-03-2016
Filed Under (技术) by waterlin

按如下步骤可以把旧电脑上的 Foxmail 客户端邮件存档迁移到新电脑上:

  1. 先把旧电脑上的 Foxmail 安装目录下的 Storage 目录下的数据拷贝出来备份一下;
  2. 在新电脑上安装好 Foxmail,然后设置好之前的邮箱服务器,并成功连接上;
  3. 在 Foxmail 能成功拉取邮件后,即可退出 Foxmail;
  4. 在 Storage 目录下,看一下是不是已经有了这个邮箱的文件夹了?把原来对应的邮箱文件夹拷贝到 Storage 目录里覆盖掉新的;
  5. 重新打开 Foxmail,应该就看到原来的邮件了。
(1) Comment    (346) Views    Read More   
Posted on 16-02-2016
Filed Under (文化) by waterlin

前前后后花了估计有一年半的时候,中间读读停停好几次,终于把多看阅读版本的《金瓶梅》看完了。随便写写自己的感想,顺便吐槽一下,多看阅读上的《金瓶梅》为啥有那么多字显示不出来呢?

  1. 对里面小脚女人实在描写太多。为什么中国古人会对小脚如此痴迷?这是一种病态的特征。现代人,已经迷恋于健美的身材。

    我觉得中国人身体素质一直不好,估计和妇女一直小脚有关。妇女无法行动自如,生的小孩,你觉得能强壮么?另外,中国文化就是喜欢安静的。

  2. 这本小说,语言表达能力极强。能把生活中的琐事,通过人物的对话表达得如此生动。这点语言功力,得让现在写网络小说的人好好学习一下。如果有好的小说情节,写起来当然可以吸引人。但是对于这种富裕家人的平常生活变化,能用语言生动的描述出来,需要很深的功力。就像你有山珍海味,要做一桌好菜,很容易,因为材料好嘛;但是你全是青菜豆腐,要让大家吃得流连忘返,估计得颇费一番功夫。
  3. 现代中国虽然技术上有着突飞猛进的地步。但是整个社会体系,依然如几百年前的宋朝明朝,办事情依然需要托关系,当官的自然比有钱的高一等。所以种种文化,依然没有丝毫变化。一部几百年前的生活百科全书,放到今天,依然适用,可悲可叹~~

    其中有关人情冷暖,男女感情之事,描述得太真实了,活脱脱一部心理学著作呀。

    这本书想看的人估计很多,可是真能看完的估计没几个,能从中读出味道的来的估计更加寥寥无几。抱着看黄色描写的人,估计要失望,整篇就没多少值得研究的内容,倒是批判现实主义的色彩比较浓厚。

  4. 这是一部普通人的历史,比起《水浒传》、《三国演义》,《金瓶梅》更讲的是日常人的生活。放心好了,这不是淫书,你想想多看上能下到的书,怎么可能会是色情的呢?就像《龙门镖局》里那个谁谁谁说的,这是研究明朝文化的经典文献啊,哈。
  5. 能把日常生活写成一部经典,也是牛叉。这就是像能把小葱伴豆腐做得比山珍海味更好吃,更加考验大厨的功力;就像能写出人工智能识别程序很牛逼,但是能写出一个Google一样的东西,更加造福人类。
  6. 语言很有特色,看过网上有不少模仿《金瓶梅》语言风格写的小段娱乐文字,真是大呼过瘾啊。

看到结局让人嘘嘘不已,估计又是一个轮回。当个小说看完后,不禁对里面的淫乱场面没啥好留恋的,更好看的反而是文字与情节,还有世态炎凉这种。

金瓶梅里的色情描写很重要,就像美国大片里的色情镜头一样,是作品的一部分,怎么可以剪掉呢?可惜啊,已经找不到完整版的《金瓶梅》了。

看完这本书后,激发起了我看《红楼梦》的兴趣了。诸君等我看完《红楼梦》再来写上一 笔。

(1) Comment    (372) Views    Read More   

在使用 CMake 来生成 OpenCV 的工程时,可以通过设置 OpenCV_DIR 这个环境变量来指定 OpenCV 的 OpenCVConfig.cmake 所在目录,从而实现对 OpenCV 的版本选择。这样,可以对同一套代码,灵活使用不同的 OpenCV 版本,同时不用去 Visual Studio 的工程属性里手动设置该版本对应的 include 和 library 目录

比如说,如果你要使用2.4.9版本,则可以使用下面的代码:

if ( WIN32 )
    SET(OpenCV_DIR G:/setup_files/OpenCV/Windows/OpenCV-2.4.9/build)
endif( WIN32 )

如果需要使用 2.4.3 版本,则只需要把上面代码里的目录修改掉重新 cmake 一把就可以了。

(0) Comments    (415) Views    Read More   
Posted on 18-11-2015
Filed Under (文化) by waterlin

最近看完了这本《费马大定理:一个困惑了世间智者358年的谜》,书翻译得很好,赞一下译者。

在我看来,这本书除了描述清楚了费马大定理的历史渊源以及相关证明求解的思维过程,最重要的是,教会了我们一直以来在数学教育中最缺乏的数学理念教育。本书对于大部分人来说,最有价值的地方在于简明扼要地论述了数学和一般科学(主要是指物理)的区别,直接引用书本里“绝对的证明”一节里的话:

费马大定理的故事以寻找遗失的证明为中心。数学证明比我们在日常用语中非正式使用的证明概念,甚至比物理学家或化学家所理解的证明概念都远为有力和严格。科学证明和数学证明之间的差别既是极细微的,又是很深奥的。这种差别是理解自毕达哥拉斯以来每个数学家的工作的关键点。

经典的数学证明的办法是从一系列公理、陈述出发,这些陈述有些可以是假定为真的,有些则是显然真的;然后通过逻辑论证,一步接一步,最后就可能得到某个结论。如果公理是正确的,逻辑也无缺陷,那么得到的结论将是不可否定的。这个结论就是一个定理。

数学证明依靠这个逻辑过程,而且一经证明就永远是对的。数学证明是绝对的。为了正确地判断这种证明的价值,应该将它们与比其差一些的同类证明,即科学证明做一比较。在科学中,一个假设被提出来用以解释某一物理现象。如果对物理现象的观察结果与这个假设相符,这就成为这个假设成立的证据。进一步,这个假设应该不仅能描述已知的现象,而且能预言其他现象的结果。可以做实验来测试这个假设的预言能力,如果它再次继续成功,那么就有更多的证据支持这个假设。最终,证据的数量可能达到压倒性的程度,于是这个假设被接受为一个科学理论。

科学理论的证明永远不可能达到数学定理的证明所具有的绝对程度:它仅仅是根据已得到的证据被认为是非常可能的。所谓的科学证明依赖于观察和理解力,这两者是容易出错的,并且仅仅提供了近似于真理的概念。正如伯特兰·罗素(Bertrand Rus-sell)指出的:“虽然这有点像是悖论,然而所有的精确科学都被近似性这个观念支配着。”甚至被人们最为普遍地接受的科学“证明”中也总有着一点儿可疑成分。有时候,这种怀疑会减少,尽管它永远不会完全消失;而在另一些场合,这种证明最终会被证实是错的。科学证明中的这个弱点导致用一种新的理论替代原来曾被认为是正确的理论的科学革命,这种新理论可能只是原有理论的进一步深化,也可能与原有理论完全相反。

接下来的一段结论:

科幻小说作家和未来学家阿瑟·C. 克拉克(Arthur C. Clarke)曾这样写道:如果一个有名望的教授说某事毫无疑问是正确的,那么有可能下一天它就被证明是错误的。科学证明有不可避免变化的不定和假冒。另一方面,数学证明是绝对的,无可怀疑的。毕达哥拉斯至死仍坚信他的这个在公元前500年是对的定理将永远是对的。

科学是按照评判系统来运转的。如果有足够多的证据证明一个理论“摆脱了一切合理的怀疑”,那么这个理论就被认为是对的。在另一方面,数学不依赖于来自容易出错的实验的证据,它立足于不会出错的逻辑。

本书最后“第八章 大统一数学”的“计算机证明”一节里,还有一段特别值得大家深思的话,在计算机使用越来越广泛的今天,下面这一段,永远值得刻在所有的码农脑子里:

这个奖到底是不是会被认领还是件有争议的事,但可以肯定的是计算机证明总不如传统证明那样发人深省,相比之下它显得空虚。数学证明不仅回答了问题,它还使人们对为什么答案应该如此有所理解。把问题送进一个黑匣子然后从另一端收到一个答案,这增加了知识但没有增进理解力。

看,只增加了知识,但是没有增进理解力!

(0) Comments    (728) Views    Read More   
Posted on 13-11-2015
Filed Under (技术) by waterlin

在 Android 中,要实现动画效果,要么通过循环调用 canvas.draw 系统方法,要么通过调用 Opengl ES 中的 GLSurfaceView.Renderer,通过实现方法 onDrawFrame 来进行绘制。

canvas 画图确实要简单得多,但要实现更好的性能最好还是调用 OpenGL 方法,因为它的性能相对来说要好一些。

实现动画的关键就是实现 GLSurfaceView.Renderer 接口内的方法,最重要的一个就是 onDrawFrame,这个方法的原理是 Android 系统会开起一个线程,在此线程内不断的调用 onDrawFrame,以实现动画效果。因此只要在 onDrawFrame 方法里实现你自己需要重复绘制的内容即可。

可以通过 GLSurfaceView 的 setRenderMode 这个方法来设置是通过其它地方的消息来刷新 onDrawFrame,抑或让系统自动刷新 onDrawFrame 这个函数。

在我的测试结果下,如果让系统自动调用 onDrawFrame 函数,会精确地 20 毫秒刷新一次。

另外,如果需要限制 onDrawFrame 的速度,可以在 onDrawFrame 函数里使用 Thread.Sleep 来延长一下线程的执行时间,不过这个时间需要精确计算一下才能达到控制一秒刷新若干帧的要求,需要考虑到当前线程周期里已经消耗的时间等因素。

Posted on 06-11-2015
Filed Under (技术) by waterlin

本文摘自《费马大定理:一个困惑了世间智者358年的谜》“第三章数学史上暗淡的一页”中的部分内容,主要是介绍一下密钥和公钥的数学原理,摘录于下,备查。

虽然质数的无穷性使早期证明费马大定理的希望破灭,但质数的这种性质的确在诸如谍报活动和昆虫进化等别的领域具有比较积极的意义。在回到寻求费马大定理的证明之前,稍微研究一下质数的正常使用和滥用是值得的。

质数理论是纯粹数学中已经在现实世界中找到直接应用的少数领域之一,它在密码学中有直接应用。密码学涉及将需要保密的信息打乱,使得只有接收者才能整理出它们,而别的任何可能截获它们的人都无法做到这一点。这种打乱的过程需要使用密钥,而整理这些信息按惯例只需要接收者反过来使用密钥就行了。在这个程序中,密钥是保密环节中最薄弱的一环。首先,接收者和发送者必须约定密钥的详细内容,而这种信息的交流是一个有泄密风险的过程。如果敌方能截获正在交流的密钥,那么他们就能译出此后所有的信息。其次,为了保持安全性,密钥必须定期更改,而每一次更改时,都有新的密钥被截获的危险。

密钥的问题围绕着下面的事实展开:它的使用,一次是打乱信息,另一次是反过来整理出信息,而整理信息几乎与打乱信息同样容易。然而,经验告诉我们:在许多情况中整理要比打乱困难得多——打碎一个鸡蛋是相对容易的,而重新拼好它则困难得多。

在20世纪70年代,惠特菲尔德·迪菲(Whitfield Diffie)和马丁·海尔曼(Martin Hellman)提出了这样的思想:寻找一种按一个方向很容易进行,而按相反方向进行则不可思议地困难的数学程序。这种程序将会提供十分完美的密钥。举例来说,我可以有自己用的、由两部分组成的密钥,并且在公用指南中公开它的用于打乱信息的那部分。

于是,任何人都可以向我发送打乱过的信息,但是只有我知道密钥中用于整理信息的那一半。虽然人人都了解密钥中关于打乱信息的那部分,但是它和密钥中用来整理信息的那部分毫无联系。

在1977年,麻省理工学院一群数学家和计算机专家罗纳德·里维斯特(Ronald Rivest)、艾迪·沙米(Adi Shamir)和伦纳德·阿德里曼(Leonard Adleman)认识到质数可能是易打乱、难整理过程的理想的基础。为了制成我自己的私人密钥,我会取两个大质数,每一个多达80个数字,然后将它们乘起来得到一个大得多的非质数。为了打乱信息所需要的一切,就是知道这个大的非质数,然而要整理信息则需要知道已经被乘在一起的原来的两个质数,它们称为质因数。现在我可以公开大的非质数,也即密钥中打乱信息的那一半,而自己保存那两个质因数,即密钥中整理信息的那一半。重要的是,即使人人都知道这个大的非质数,他们要判断出那两个质因数却仍然非常困难。

举一个简单的例子,我可以交出非质数589,这可能会使每个人都能代我打乱信息。然而,我将保守589的两个质因数的秘密,结果只有我能够整理信息。如果别的人能判断出这两个质因数,那么他们也能整理我的信息,但是即使是对这个不大的数,两个质因数是什么也不是显而易见的。在589这个情形中,在台式电脑上只要花几分钟就可算出两个质因数实际上是31和19(31×19=589),所以我的密钥的秘密不会持久。

然而,实际上我公布的非质数将会有100位以上的数字,这就使找出它的质因数的任务变得几乎是不可能的。即使用世界上最快的计算机来将这个巨大的非质数(打乱信息的密钥)分解成它的两个质因数(整理信息的密钥),也要花几年时间才能得到答案。于是,为挫败外国间谍,我仅仅需要每年一次更改我的密钥。每年一次我宣布我的巨大的非质数,任何人要想尝试整理我的信息,就必须从头开始设法算出这两个质因数。

除了在谍报活动中发现应用外,质数也出现在自然界中。在昆虫中十七年蝉的生命周期是最长的。它们独有的生命周期开始于地下,蝉蛹在地下耐心地吮吸树根中的汁水。然后,经过17年的等待,成年的蝉钻出地面,无数的蝉密集在一起,一时间掩盖了一切景色。在几个星期中,它们交配,产卵,然后死去。

除了在谍报活动中发现应用外,质数也出现在自然界中。在昆虫中十七年蝉的生命周期是最长的。它们独有的生命周期开始于地下,蝉蛹在地下耐心地吮吸树根中的汁水。然后,经过17年的等待,成年的蝉钻出地面,无数的蝉密集在一起,一时间掩盖了一切景色。在几个星期中,它们交配,产卵,然后死去。

有一种理论假设蝉有一种生命周期也较长的寄生物,蝉要设法避开这种寄生物。如果这种寄生物的生命周期比方说是2年,那么蝉就要避开能被2整除的生命周期,否则寄生物和蝉就会定期相遇。类似地,如果寄生物的生命周期是3年,那么蝉要避开能被3整除的生命周期,否则寄生物和蝉又会定期相遇。所以最终为了避免遇到它的寄生物,蝉的最佳策略是使它的生命周期的年数延长为一个质数。由于没有数能整除17,十七年蝉将很难得遇上它的寄生物。如果寄生物的生命周期为2年,那么它们每隔34年才遇上一次;倘若寄生物的生命周期更长一些,比方说16年,那么它们每隔272(16×17)年才遇上一次。

为了回击,寄生物只有选择两种生命周期可以增加相遇的频率——1年期的生命周期以及与蝉同样的17年期的生命周期。然而,寄生物不可能活着接连重新出现达17年之久,因为在前16次出现时没有蝉供它们寄生。另一方面,为了达到为期17年的生命周期,一代代的寄生物在16年的生命周期中首先必须得到进化,这意味着在进化的某个阶段,寄生物和蝉会有272年之久不相遇!无论哪一种情形,蝉的漫长的、年数为质数的生命周期都保护了它。

这或许解释了为什么这种假设的寄生物从未被发现!在为了跟上蝉而进行的赛跑中,寄生物很可能不断延长它的生命周期直至到达16年这个难关。然后它将有272年的时间遇不到蝉,而在此之前,由于无法与蝉相遇它已被赶上了绝路。剩下的是生命周期为17年的蝉,其实它已不再需要这么长的生命周期了,因为它的寄生物已不复存在。

(0) Comments    (479) Views    Read More