8、遗传编程中的行为评估与语义探索

遗传编程中的行为评估与语义探索

1. 测试难度的行为评估

在程序合成任务中,测试难度的评估是一个重要环节。有一种方法是将测试聚类并形成派生目标。该方法唯一的参数是派生目标的数量 k。
- 当 k = 1 时,这种方法退化为单目标方法,所有测试形成一个聚类。
- 当 k = n 时,意味着每个目标都由单个测试派生而来。研究表明,使用少量的 k 值最为有益,或者也可以将 k 的选择委托给聚类算法。

这种评估方式与 ifs 和 cs 类似,具有上下文相关性,即所有程序共同决定派生目标的值。目标在遗传编程(GP)运行的每一代中独立派生,因此在各代之间是短暂且不可比的。但在大多数基准测试和协同进化环境中,它能比传统 GP 和 ifs 更有效地驱动搜索。

ifs、cs 和这种聚类方法都依赖于程序输出与期望输出比较得到的结果向量进行评估。与传统的目标函数 fo 不同,这些方法需要同时访问种群中所有程序的结果向量,才能评估测试的主观难度、估计测试对同时通过的主观概率或对测试进行聚类形成派生目标,从而导致不同的选择结果。不过,这些方法只关注测试是否通过,忽略了实际程序输出和期望程序输出的详细信息,这为 GP 的更深入扩展提供了可能。

2. 语义遗传编程概述

语义遗传编程(SGP)是 GP 研究中的一个相对较新的方向,源于进化程序合成中基因型 - 表现型映射的巨大复杂性。程序源代码(语法)和其行为(语义)之间的关系非常复杂,SGP 正是基于这样的认识发展而来,即要使进化程序合成具有可扩展性,程序合成算法需要明确考虑程序语义。

3. 程序语义的定义

程序语义在编程语言理论和软件工程工具设计中是一

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值