加载中…
个人资料
Johannine
Johannine
  • 博客等级:
  • 博客积分:0
  • 博客访问:0
  • 关注人气:0
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

遺傳的速度

(2009-02-27 18:28:24)
标签:

杂谈

達爾文的進化論用模型敘述就是一個遺傳過程,首先是按照個體素質的優劣進行非均勻抽樣,然後再進行隨機配對交叉,最後再經歷一次遺傳變異。這個數學模型在今天的優化問題中廣為采納,名曰:遺傳算法。

 

某老師似乎格外青睞這個来自生物界的計算方法,不論什麽模拟试验就说,用遗传算法做吧。其实遺傳算法執行起來是很方便的;不過收斂速度實在是很慢。最近做一個830維化學變量的降維,想嘗試一下遺傳算法的威力;結果果不其然,從下午到現在一共遺傳了30000多代,也沒有出一個所以然來。不過也可能是我的計算機太慢了。如果做所有子集回歸的話,一共要算36288748080758658160676個模型,實在是不可想象;即便是遺傳算法加速100倍,也得计算3.6E22个模型,遗传3.6E20代。按照我的CPU,估计明年此时也不能完成了。

 

想想也不奇怪,在纯随机的选择更新之下,自然界中物种进化也不过如此,一下午繁衍的30000代,放在自然界中也有600000年了吧,60万年前的生物和今天又能有多大差别呢。但是现代CPU能把60万年的事情放在一个下午实现,实在是伟大的事情。

 

自然界中也有加速進化的方法,就是基因工程,工程師細緻的研究基因之間的規律破解進化的密碼。這就好比是優化問題中的最速下降法,你得事先了解目標函數的形式,才能明確每一步的迭代方向。這是專家才能完成的任務。能用最速下降法做的問題總是有限的,就像自然界中我們破解密碼的物種也只是滄海一粟一樣。科技的進步,還有漫長的路要走。

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有