摘要: 本文认为,《周易·系辞传》“天地之大德曰生”;“生生之谓易”等以生命为本并强调生命演化的思想都与西方新兴起的遗传算法(基因算法)精神一致。文章在介绍了已故著名科学易学家潘雨廷先生对遗传密码的理解后,进而介绍了西方遗传算法的内容和结构,并把DNA本体看作计算硬件,把易数看作软件。最后比较了象数思维与遗传算法的思维,并提出了八卦空间。
关键词:遗传算法;易算算法;数术记遗;历法推步术;内算;外算
Calculation in genetics and that in image-number school of Yi
LI Shu-qing
(Earthquake Publishing House, Beijing 100081, China)
Abstract: The paper at first pointed out that the ideology basing on human life and emphasizing life development in I Ching learning is consistent with the spirit of the rising western genetics calculation methods. Secondly, the paper introduced late expert in scientific I Ching learning, Mr. PAN Yu-ting's understanding on genetic code, and then introduced the content and structure of the western genetic calculation, regarding DNA-in-itself as the hard ware for calculation, the numbers in Yi the soft ware. At last, the paper made a contrast between the image-number thinking of I Ching learning and that of genetic calculation, and put forward the concept of space illustrated by the 8 tri-grams.
Key words: genetic calculation; calculation by Yi numbers; calculation in calendar; internal calendar; external calculation
一、引 言
从伏羲画卦到《连山》易的出现,即有象的观念,数已开始萌芽,数与筮联系即有筮数,主要用于占卜。春秋时期,“象”和“数”同时出现在《管子·七法》篇中:“则,象,法,化,决塞,心术,计数。”但象数在春秋初期仍是两个松散联系的概念。到春秋末期,象与数的概念联系比较密切,在《周易·系辞传》中提到“极数定象”,已初步出现象数理论。这时,《系辞传》中只初步论及象数的内在联系,并未详细谈到象数理论的程序。孔子在教书时六艺教学大纲“礼乐射御书数”中的数,是当时日常用的实用数。到孟子时代,即到战国末期,象数理论乃大备,历法推步术也成熟。当时的不少学者会推步术,而星命学为孟、荀二位大儒所不齿。孟子所说的“苟求其故,千岁之日至可坐而致也”,是谈的历法推步术;荀子说:“善为易者不占”。这时,在古算经算法和历法推步术之外,已有经典术数如“三式”等的出现和应用。这两类数的算法,在后汉徐岳《数术记遗》中有提要式的概括总结。对其中提出的14种算法,没有明确指出何者为历法推步术算法,何者为术数算法程序。亦可能是综合的、浑元一体的算法程序。总的看来,有数必有算,有算必有法。形成古算经算法和术数算法是很自然的。在古代可能有互补的趋势。《周易》大衍之数很可能与古六历所用的算法程序有关。唐代张遂的大衍历以及宋秦九韶《数书九章》均涉及大衍算法,而秦汉时期的《九章数学》中则对大衍算法避而不谈。这可能是由于古代大儒亦是视大衍之数带有神秘内容,不敢与正规的应用数学算法相提并论。实际上,大衍之数只是一种现代所说的“不定分析”而已!阮元论曰:“推步之法至大衍备矣,……后来算造者未能及也。然推本易象,终为傅合,昔人谓一行窜入于《易》以眩众,是乃千古定论也”。[1]由此可知,就算法而论,推步术自为推步术,数术自为数术,各成系统,不相涉也。然而,这并不意味着数术算法程序中无合理内容。英人李约瑟常提到术数“内算”很有用。[2]但未作深入探究。宋秦九韶《数书九章》序中论内外算,涉及经典术数三式,其论颇正:“今数术之书尚三十余家,天象历度,谓之缀术。太乙壬甲谓之三式,皆曰内算,言其秘也。九章所载即周官九数,系于方圆者为镚术,皆曰外算,对内而言也。其用相通,不可歧二”。[3]以上所论均涉及数字信息。
21世纪已成为信息时代,信息与象数息息相通。故《系辞传》象数思维应当在今后大放光芒,与西方计算机文化成就携手并进,逐渐融汇成一体。《周易·系辞传》“天地之大德曰生”,“生生之谓《易》”,强调生命演化思想;卦爻的设置上采取乾坤六子的形式,这都与西方新近兴起的遗传算法的精神与具体计算步骤内容相近。
二、遗传密码与象数
近些年来,国内外对于科学易感兴趣的学者,无不重视生物遗传密码的研究成果,并展开《周易》象数与遗传密码细部结构对比的探讨。这方面,尤以已故著名科学易学家潘雨廷教授的研究具有代表性。潘先生博古通今,既深钻过象数理论,又熟悉分子生物学和遗传密码的生物化学含义,他在“科学易”一文中以DNA(脱氧核糖核酸)和RNA(核糖核酸)为例,来考察其分子结构的变化情况,及其化学键的“象数”。[4]讨论结果如下表所示(暂略):
为了使读者深入理解象数与生物遗传学及遗传密码的对应关系,有必要将有关科学名词加以扼要的解释:
1、遗传密码: DNA(脱氧核糖核酸)中核苷酸顺序和蛋白质中的氨基酸顺序之间的关系称为遗传密码。遗传密码是由碱基的三联体(相当于《易经》八卦的三爻),可在DNA分子上顺序读出,且互不重迭)。DNA是一切生命形式的普遍遗传物质。DNA有四种不同的碱基:两种嘌呤,即腺嘌呤和鸟嘌呤,以及两种嘧啶,即胸腺嘧啶和胞嘧啶。DNA的结构呈双螺旋结构形式。
由三联体密码重迭,可形成与六十四卦相对应的符号系统。这并非出自偶然,而是自然物的发生和演化合乎易数的自组织作用造成的。潘雨廷教授在《周易纵横录》论文中已作了详细的象数论述,可以参看。
2、核苷酸:上述四种碱基之一与脱氧核糖结合,叫作核苷。核苷的磷酸酯衍生物称之为核苷酸。DNA分子是由核苷酸构成的,许多单元接在一起就形成了多核苷酸长链。
3、核糖核酸(RNA):RNA和DNA一样,都是长链分子,亦是由重复的核苷酸单元组成。RNA的构成单元有两点与DNA不同。首先,RNA的糖组分不是脱氧核糖,而是核糖。其次,四种碱基中虽然有三种,即腺嘌呤、鸟嘌呤和胞嘧啶,在RNA和DNA中都一样。但第四种,即胸腺嘧啶,在RNA中为尿嘧啶所代替,它少了一个甲基。在三种RNA类型的一种类型中,还偶尔出现别的碱基。
4、信使核糖核酸(mRNA):〖HTSS〗mRNA在把密码翻译成专一性蛋白质时起模板作用,并且能把遗传密码的信息从细胞核的DNA运送到细胞质,以便促进合成蛋白质的作用。携带着所需要的信息,以决定一个蛋白质分子的整个多肽链的mRNA的长度,称为作用子。某些mRNA分子携带着不仅合成一个蛋白质分子的信息,这样的mRNA称为多作用子。在合成过程中,当密码由DNA转录到mRNA上时,后者即离开细胞核,通过核膜进到细胞质中。在细胞质中它移动到蛋白质合成的场所,即转移到核糖核蛋白体处。核糖核蛋白体由DNA和蛋白质组成。
5、转移核糖核酸(tRNA):〖HTSS〗其作用是把细胞质中的氨基酸转移到核糖核蛋白体上蛋白质合成的场所。因此,tRNA是在特定氨基酸与对它编码的mRNA三联体之间起媒介物或转接分子的作用。每个氨基酸都有其互不相同的、专一的tRNA分子。每种tRNA含有大约80个核苷酸。
6、反密码子:tRNA分子上与mRNA连接的一定部位是一个由三个碱基组成的顺序,与mRNA上的密码子互补,称为反密码子。
7、简并密码:试验表明,虽然任何特定氨基酸密码子的开始两个字母总是不变,然而第三个字母有时却不同。例如,编码丝氨酸的不仅是AGU,也有AGC。因此,Crick 1966年提出“摇摆”假设,这种摇摆在于第三对碱基之间的配合与前两对碱基的精确要求相比多少有些松弛。凡是同一个氨基酸有不同的密码者,这种密码称为简并密码。
三、遗传算法概要
在遗传算法中,可以将模型的一个参数表示为一个二进制数码,全部参数用许多串联在一起的二进制数码组成的字符串(类似一个染色体)代表。从一组初始模型,即一些具有不同染色体的个体组成的种群开始。[5]
遗传算法的基本思想正是基于模仿生物界的遗传过程。它把问题的参数用基因代表,把问题的解用染色体代表(在计算机里为字符串),从而得到一个由具有不同染色体的个体组成的群体。这个群体在问题特定的环境里生存竞争,适者有最好的机会生存和产生后代。后代随机化地继承了父代的最好特征,并也在生存环境的控制支配下继续这一过程。群体的染色体都将逐渐适应环境,不断进化,最后收敛到一族最适应环境的类似个体,即得到问题最优的解。值得注意的一点是,现在的遗传算法是受生物进化论学说的启发提出的,这种学说对我们用计算机解决复杂问题很有用,而它本身是否完全正确并不重要(目前生物界对此学说尚有争议)。
遗传算法的基础思想是在本世纪50年代初,由于一些生物学家尝试用计算机模拟生物系统演化时而提出的。
遗传算法是模拟生物通过基因的遗传和变异,有效地达到一种稳定的优化状态的繁殖和选择的过程,从而建立的一种简单而又有效的搜索方法。它运用随机而非确定性的规则对一族而非一个点进行全局而非局部地搜索,它仅利用目标函数而不要求其导数或其它附加限制,它虽然在特定问题上效率也许不是最高,但效率远高于传统随机算法,是一种普遍适用于各种问题的有效方法。遗传算法的主要思路有:
1、繁殖(reproduction):繁殖是根据现有各个体的目标函数值,确定其生存概率,模拟生物界的自然选择,劣者淘汰,适者生存。在遗传算法中,我们人为地保持种群包含的个体总数不变。比较优秀的个体(模型)有较大的生存概率,并可能繁衍,比较差的个体(模型)可能会淘汰。这样产生的下一代的个体,一般都具有较大目标函数值,因而有较大的生存概率。
2、交配(crossover):从种群中随机地选择两两一组的双亲,分别随机地交换部分染色体,各自产生两个新染色体。
3、变异(mutation):染色体按一定概率(一般很小)可随机地产生变异。
遗传算法能够解决的问题不仅限于最优化问题,但无论哪种问题,都要解决两个关键问题:(1)必须能将问题的解答用一组二进制数码表示,即建立解答与二进制数码间的映射(mapping)关系。(2)定义一种对最佳解的定量量度,即适度函数。