【技术实现步骤摘要】
本专利技术涉及基因算法。
技术介绍
在应用科学与工程中,广泛使用这样的算法,其将实验数据拟合到一个或多个变量的线性方程或其它预先确定的函数。在将数据拟合到预先确定的函数时,确定该预先确定的函数的参数(例如,系数),其先验为未知的。在将数据拟合到函数时,确定这些参数,其可能代表理论常数(例如,电子质量),或者仅仅是刻画现象的经验值。在这样的情形中,由人基于技术知识或已有证据选择拟合数据的适当函数。例如,相关领域的专家可能知道特定类型的数据由特定数学函数描述。对哪种数学函数描述哪种类型的函数的发现来自于科学与工程的艰苦过程。类似地,在统计学领域,可将统计数据拟合到适当的分布函数,例如高斯分布,或二项式分布,以确定测量数据的平均值与方差。对于拟合任何给定数据集的适当分布函数的选择基于这样的考虑,即与每种类型的分布相关联的随机偏差类型是否对应于刻画收集到的数据的随机偏差。换言之,选择基本上是统计学技术人员的工作。特定统计包试图协助统计学家,其自动地尝试将数据集拟合到预先确定的分布函数集,并选择最好地拟合数据的分布函数。在上述情形中,拟合数据的函数是预先确定的,并且,通过猜想或从头开始推导来发现全新的可以应用到新类型的数据的函数,仍然是科学家或工程师的任务。换言之,发现数学函数的工作留给了人类智力。人工智能的领域包括基因算法的子领域。在基因算法领域中,试图模仿基因在进化生物学中的角色,以计算工程或其它问题的解。在基因算法中,一群假定的解以模仿达尔文进化论的方式“进化”。基因算法的领域包括称为基因编程的研究领域。在基因编程中,涉及的群体包括自身为程序的个体。在基因 ...
【技术保护点】
一种基于基因算法的方法,用于确定描述实际数据集的数学表达式,所述方法包括以下步骤:生成数学表达式表示的初始群体,其包括多个素数;和从所述初始群体进化后继世代。
【技术特征摘要】
US 2002-3-18 10/101,8141.一种基于基因算法的方法,用于确定描述实际数据集的数学表达式,所述方法包括以下步骤生成数学表达式表示的初始群体,其包括多个素数;和从所述初始群体进化后继世代。2.如权利要求1所述的方法,其中,所述多个素数从预先定义的素数列表中选择。3.如权利要求1所述的方法,其中,所述的进化后继世代的步骤包括以下步骤对于多个后继世代,通过引入一个或多个素数的表示,从所述数学表达式表示的当前群体突变一个或多个数学表达式表示。4.如权利要求1所述的方法,其中,所述的进化后继世代的步骤包括以下步骤对于多个后继世代生成一组实现数学表达式的程序,所述数学表达式表示在当前世代的数学表达式表示的群体中;为一个或多个测试数据集执行所述程序集中的一个或多个,以获得与所述程序集中的所述一个或多个相对应的一个或多个结果;从所述一个或多个结果导出所述程序集中的所述一个或多个的一个或多个拟合性指示;基于所述拟合性指示,从所述当前世代的数学表达式表示的群体中选择一个或多个所述表示,以在后继世代中进行复制;在所述后继世代中的表示对之间进行一个或多个交换操作。5.如权利要求4所述的方法,其进一步包括以下步骤对于所述多个后继世代中的一个或多个,通过引入一个或多个素数的表示,从所述数学表达式表示的当前群体突变一个或多个数学表达式表示。6.如权利要求1所述的方法,其中,数学表达式表示的所述初始群体包括索引数组集,其中多个所述数组包括表示数学表达式的索引列表;和多个所述索引指示从包括操作符与操作数的组中选择的元素。7.一种基于基因算法的方法,用于确定描述实际数据集的数学表达式,所述方法包括以下步骤递归地生成一系列数学表达式表示群体,其中每个表示包括从操作符集中选择的一个或多个操作符的标识;和从包括常数与变量的操作数集中选择的一个或多个操作数的标识;其中所述操作数集中的每一操作数,以及所述操作符集中的每一操作符与一成本相关联;对于所述群体系列中的每第k个群体,生成一组实现数学表达式的程序,所述数学表达式表示在所述的第k个表示群体中;通过包括以下步骤的过程,为所述程序集中的每一程序导出第一拟合性测度在一个或多个测试数据集上运行所述程序,并比较输出值与预先确定的值,以获取残留误差的测度;通过包括以下步骤的过程,为所述程序集中的每一程序导出第二拟合性测度对所述程序内的每一操作符与操作数的成本求和;和在每一后继世代中,基于所述第一与第二拟合性测度,选择性地复制数学表达式的个体表示。8.如权利要求7所述的方法,其进一步包括以下步骤组合所述第一拟合性测度与所述第二拟合性测度,以获取总的拟合性测度。9.一种基于基因算法的方法,用于确定描述实际数据集的数学表达式,所述方法包括以下步骤将一系列数学表达式群体中的每一个表示为索引数组集,其中每一数组表示数学表达式,且所述索引数组集中的一个或多个索引指向从包含操作符与操作数的元素组中选择的表达式元素的表示;对于所述系列群体中的每第k个群体生成实现所述数学表达式的程序,所述数学表达式由所述群体中的所述数组集中的一个或多个中的每一个表示;导出每一程序的拟合性测度;基于所述拟合性测度,从所述数组集选择一个或多个高拟合性数组,以继续到第(k+1)世代;在所述的继续到第(k+1)世代的高拟合性数组中的一个或多个之间进行交换操作。10.如权利要求9所述的方法,其中,每一索引指向面向对象的编程语言的类的实例,所述类封装从包括操作符与操作数的组中选择的元素的标识。11.如权利要求9所述的方法,其中,所述的进行交换操作的步骤包括以下子步骤将高拟合性数组的一部分与第二数组的一部分交换,其中随机地选择所述高拟合性数组的一部分与所述第二数组的一部分的开始点。12.如权利要求9所述的方法,其中,所述数组集作为矩阵存储。13.一种基于基因算法的方法,用于确定描述实际数据集的数学表达式,所述方法包括以下步骤递归地生成符号序列的群体的一系列世代,其中每一符号序列表示数学表达式;对于每一世代,确定每一符号序列是否可转译为有生存力的程序,其通过对于每一符号序列初始化所需长度变量;从每一序列的第一符号开始,并且对于每一序列内的一系列第k个符号将所需长度变量增加根据语法规则使用所述第k个符号组成有生存力的操作所必需的符号的数目;如果所需长度变量在增加后等于k,报告有效语法;和如果所需长度变量在增加到k时超过最大序列长度,报告无效语法。14.如权利要求13所述的方法,其中,所述的递归地生成一系列世代的步骤包括以下子步骤在一个或多个符号序列中随机地改变符号。15.如权利要求13所述的方法,其中,所述的递归地生成以系列世代的步骤包括以下子步骤随机地选择一个或多个点,其定义符号序列的边界,以在所述群体中的符号序列之间进行交换。16.一种包含编程指令的计算机可读介质,其用于确定描述实际数据集的数学表达式,其包括以下编程指令生成数学表达式表示的初始群体,其包括多个素数;和从所述初始群体进化一系列后继世代。17.如权利要求16所述的计算机可读介质,其中,所述的进化后继世代的编程指令包括以下编程指令从预先确定的素数列表中选择所述的多个素数。18.如权利要求16所述的计算机可读介质,其中,所...
【专利技术属性】
技术研发人员:肖为民,托马斯迈克尔蒂尔帕克,
申请(专利权)人:摩托罗拉公司,
类型:发明
国别省市:US[美国]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。