强适应度曲线外文翻译资料

 2022-07-28 14:27:39

英语原文共 19 页,剩余内容已隐藏,支付完成后下载完整资料


第六章 最终的评估

6.1介绍

通过第五章的实验,我们了解到无论在平均值还是最佳值的情况下这个方法都能够产生一条强适应度曲线。一旦达到这个值,我们就可以将适应度值稳定在合理范围内,而实际的适应度值只会出现可接受范围的下降。然后进行进一步调查,以发现是否有可能改进初步结果。在A2实验中发现的结果确实足以验证第1.3节中的第一个假设:

“在EvoTanks中使用协同进化的方法将会产生成功和合理的高性能行为。”

然而,我们现在需要验证第二个假设:

“与带有原始演化过程的EvoTanksII方法相比,使用协同进化对抗各种不同的预编程对手将会更有利。于是提出了一种假设,使用GA与GA评估模型优于使用传统GA与编码对手模型。”

因此,引入了新的评估方法,使我们能够将协同进化系统与EvoTanks中可用的其他系统进行比较。

6.2竞争者

为了彻底检查EvoTanks CT系统,我们准备了3个其他系统对其进行评估。因为我们有必要验证我们试验的第二个假设,所以提供了原始的进化模拟器。该系统在上一个试验中进行了彻底测试,因此我们可以保证它的正确性[9]。

作为额外的措施,我们提供了2种不同爬山模型。它们在以前的EvoTanks中的表现优异,并且这两种模型的实现程序很容易被编写,这两种模型都是为了本次评估而准备的。

下面是对每一个进化方法的更深入的描述。

6.2.1 协同进化

该项目的重点是从第4章和第5章所示进展中得出的进化模拟器用于得到tanks,我们认为这将获得最佳效果。该系统将根据评估结构A运行,并且在评估期间会使用10个tanks采样,结构A为5.3节中使用的结构。 这些实验的一些参数设置见6.3.2节。 经过我们对改进系统的研究发现,将交叉的概率设置为0.2能够产生积极的结果,这次实验是在没有交叉激活的情况下运行的。

第5章的实验得到了很好结果,最初的假设也是这种方法会产生最好的结果。考虑到我们在一些实验中获得的实际适应值的强度,我们相信这个方法将会有优秀的性能。

6.2.2 元进化模拟器

原始进化模拟器是以前在EvoTanks项目中尝试的重点。 这个版本将在给定的tanks人口上逐渐演变,意图是将这些tanks逐渐改进,同时对所有HC(硬编码)tanks进行演变。 这就是协同进化方法的原始竞争者。 我们希望能够发现使用协同进化系统是否优于使用持续进化方法,在这里我们通过逐渐改变其面对的对手来,继续定制我们的解决方案。这将产生一个比协同进化更好的进化方法吗?

这个进化系统的操作如下:根据6个不同的HC tanks,进化的代数被平均分割。然后为抵抗对手,元进化系统将按照以下顺序进化我们的人口: Sitting Duck, Lazy Tank, Random Tank, Turret, Hunter, Sniper。当然也有可能选择一个还没有填补相应的进化配额的对手代替人口,去过早地面对这个tanks(因此我们应该完成对“Sitting Duck”的进化,并且我们不会再次将其进化)。 该实验将在无随机因素的情况下执行,随机因子的值设置为0.25。 这个之所以值被选中,是因为它不会对进化过程造成太大破坏。

在执行之前,我们不确定这次评估会有怎样的表现。我们从先前的项目中可以知道,它可以产生一个tank来对抗一个对手[9]。 然而,使人口面对多个不同的tanks会有怎样的效果还是未知的。我们认为,由于搜索空间大幅度的增加,正常进化过程将越来越难以发现好的解决方案。

6.2.3 爬山算法

从先前的EvoTank项目我们可以知道,在这个系统中使用爬山算法是非常有效[9]。 因此,对于最终的评估,我们提供两种不同形式的爬山算法,这有助于评估协同进化体系的表现; GA与GA爬山(6.2.3.1节)和Meta-Test爬山(6.2.3.2节)。 为了对所有竞争者中保持一致的评估(从而使其得到公平对待),突变的数量是由爬山算法所允许的进化总数得出的。

每个爬山算法都有自己的好处和缺点,对于元测试爬山算法来说,测试每个突变体所需的评估数量将影响到算法的性能。虽然GA vs. GA模型需要使用的一对一比赛的游戏次数只有30场,但Meta-Test需要的数目是这个值的6倍。 另一方面,Meta-Test模型能不断意识到突变的实际适应性并从中受益,而GA与GA模型假定当前的性能正在逐渐改善。下面给出每个模型的详细缺点:

6.2.3.1 GA vs.GA爬山算法

第一步通过运行GA与GA场景来进行操作,其中GA与GA场景使用当前最好的染色体和局部随机突变的克隆作为对手。在这两条染色体之间进行了几次比较后,具有最高适应度的tank就可以表示为当前最好的tank。 然后,这个过程将会持续,直到突变的数量达到一定程度才会停止。

这个实验的一个重要条件是使用Meta-Tests来确保我们知道tanks的真实适应度,但我们并不会增加对这些适应度值的关注。由于比分将会根据突变体的优劣情况而发生严重波动,所以这些比分不能让我们深刻了解每次运行的结果是否在改善。尽管在最初这可能意味着改进,但是我们只能够击败当前最好的结果,有可能会出现这样一种情况,一个新的最好的结果能够击败当前最好的结果,但是它和前一个tank相比表现的很差劲。简而言之,我们无法通过简单的一对一比赛来确定这些突变是否会导致上坡攀升。 因此,我们使用Meta-Tests来了解其中真正的进化情况。

将爬山算法加入其中只是为了简单地分析GA和GA爬山对其他算法的表现,假设这将产生一个最差的结果。

6.2.3.2 Meta-Test 爬山算法

Meta-Test爬山算法与GA与GA模型的操作相同,使用相同的突变原理。我们现在根据EvoTanks中所有HC tanks的有效性来评估每个tank。在协同进化周期内该评估使用相同的元测试结构,通过这种方法来获得真实的适应度。 每个tank必须面对Sitting Duck, Lazy Tank, Random Tank, Turret, Hunter 和 Sniper tank,我们将统计每个tank面对六个对手的表现,并将每个tank平均值作为其结果。如果突变体表现更好,然后我们用它来替代当前最好的。这样继续下去,直到我们的评估次数达到了所允许的最大突变数。

6.3 参数

为了提供一个公平的方式去评估每个实验,在整个进化过程中,所有的实验被评估的次数最多为300万次。这个值被选中,因为它相当于在例子A2的实验中运行了50代。 然而,这并不包括MetaTank测试,因为这些测试不用于改进tank,而只是评估其当前的性能。 因此,除了Meta-Test 爬山算法,我们并没有考虑将Meta-Test评估作为整体评估的一部分。另外给出了每个实验中使用的参数设置。

尽管在最后的实验中减少了评估的次数,但是进行最终实验所需的时间还是很长。因此,某些实验只运行一两次,而另一些则需多次运行以确保生成的值的有效性和正确性。

在所有的实验中,都有一些静态参数保持在静态值:

6.3.1 静态参数

随机的染色体基数:

变异范围: plusmn;1.0

Delta: plusmn;0.03

变异概率: 0.4

Epsilon: plusmn;0.05

火阈值: 0.01

结果体重: 0.8

健康体重: 0.2

人口模型: 世代(适用)

Meta Tank每10%测试一次(如适用)

6.3.2 协同进化

世代数: 50

人口规模: 100

每个坦克的游戏数量: 30

选择的父母数量: 40

比赛评估模型使用

每场比赛 10个tanks

交叉概率: 0.4

6.3.3 进化

世代数: 1000

人口规模: 100

每个游戏数量 Tank: 30

选择的父母数量: 20

随机对手的概率: 0.25

6.3.4 GA与GA爬山算法

突变数: 10万

游戏中每次变异数目: 30

6.3.4 Meta-Test爬山算法

突变数: 16666

游戏中每次变异数目: 180

6.4结果

我们现在依次对每个实验进行评估。 从整体情况来看实验得到了令人满意的结果。 协同进化的表现大大超出了其前身。 更令人惊讶的是Meta-Test爬山算法的表现,它在最终产生的适应度方面甚至超越了协同进化。

6.4.1 协同进化

正如我们预期的那样,协同进化使用我们的预定参数表现出了优秀的性能。 从图6-1和6-2可以看出,使用标准协同进化以及使用交叉协同进化产生了强大的效果。我们可以看到最好的平均值来自标准协同进化运行的结果,并且仅在125万个评估中,平均人口适应度就达到0.75甚至超过了0.75。之后,我们看到适应度持续增加,直到其稳定在0.78左右,同时保持了平均值有相对较小的误差。 虽然交叉进化的结果在开始初期表现良好,但它们未能达到标准协同进化的高度,偶尔会出现相当不稳定的错误值。然而,在这两种情况下,我们都能看到一个大于0.7的局部适应度。

图6-2给了让我们对运行协同进化可以产生最好的适应度有了更大的期望,标准进化显示,在适应性稳定增加之前,它偶尔会出现波动,直到其峰值达到0.84左右后,才能达到最低水平,这是一个了不起成就。 另一方面,交叉进化产生了较好的适应度结果,但是它们没有达到它们所应对应的结果。 即使这些结果比标准的协同进化更不稳定,但看到交叉进化再次表现强劲是令人感到不可思议的。

图6-3提供了协同进化的Meta-Test结果,该方法产生了较优秀的结果。 虽然这个特定的实验所得的结果没有达到初始例子A2中那样的高度,但是我们仍然看到标准协同进化的平均适合度大约为0.67-0.68,交叉进化的适应度为0.61-0.64。然而,随着人口徘徊在0.64平均水平,标准运行结果开始了令人失望的下降,而另一方面,交叉进化通过将最终结果推回到0.62水平来重新获得较好的结果。

不过,我们看到,两种运行方式它们最好的人口适应度值都保持在0.7分以上,除了在交叉进化运行中有时会产生90%的进化。实际上,交叉从这一过程实现了恢复,并获得比标准运行更好的平均值。它的最终的最佳适应度为0.72。

在进化的中点可以看到,在完成大约50 - 60%的进化后,这两种方法的表现都达到了最好的程度,这是令人担忧的。在这一点上,对于交叉进化来说,标准进化能够取得的最佳实际适合度大概在 0.72--0.76之间。然而,此后,标准协同进化取得的实际适应度将会下降到最终值0.71。 300万次的评估次数是不是太多? 进化是否有可能达到最高峰,并且能不能以稳定的Meta-Test结果来确定这一点? 无论原因如何,对于协同进化来说,我们仍然获得了一个较好的最终结果。

6.4.2 元进化

元进化的所获得的结果是令人失望的,它越来越明显地表明,搜索空间太大、太复杂,对于正常的进化来说,它无法成为一个真正有价值的解决方案。本实验的结果由图6 - 4和6 - 5所示的两个元测试图描述。

这两幅图表显示,Meta-Evolution不能抓住搜索空间的立足点,导致在两个实例中进化完成了10%之后,实际的适应度就开始下降。在这一点上,它尝试不断努力的去改进。然而,结果是显而易见的,它未能实现改进这一点。总而言之,这是一个令人失望的结果,显然双手赞成采用协同进化的方法,并重新证明了我们的第二个假设。

6.4.3 GA与GA爬山算法

如图6-6所示,正如预料的那样,GA和GA爬山算法表现的很糟糕,因为我们如果只执行一次算法,那么该算法只知道如何提升当前tank的能力。因此,一旦出现了比当前最好的突变体还要优秀的突变体,该突变体也有可能无法替代以前的最好结果。很显然,爬山算法不能像其他模型一样推动tanks 的适应度改进。

显然,tanks的适应度有所增加,特别是在60万到120万的评估范围内。 然而,在此后立即急剧下降,这可能是由于一个特定的tanks能够击败当前最好的tank,但它没有拥有上一代的遗传优点,也就无法重获它上一代所拥有的立足点 。

所以很明显,与协同进化相比较,使用爬山算法在发展tanks方面是无效的,尽管它们的评估结构的并不相似。

6.4.4 Meta-Test爬山算法

Meta-Test爬山算法可以成为协同进化模型的替代方案,如图6-7和6-8所示;我们看到它在适应度方面有了了不起的改善。 第一步执行是从最初的较差的适应度开始,但tanks能够在短时间内逐步改善适应度值。 在仅仅20000的游戏中,我们看到它的适应度

全文共7206字,剩余内容已隐藏,支付完成后下载完整资料


资料编号:[143863],资料为PDF文档或Word文档,PDF文档可免费转换为Word

原文和译文剩余内容已隐藏,您需要先支付 30元 才能查看原文和译文全部内容!立即支付

以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。