使用遗传算法

时间:2016-05-01 13:52:23

标签: algorithm testing genetic-algorithm genetic-programming fitness

我最近开始使用遗传算法,为了更好地理解它,我决定用它来解决问题。我正在使用遗传算法生成路径测试问题的测试用例。除了如何选择最佳的健身功能外,我已经想到了一切。所以,我可以使用一些帮助:)

以下是我的问题的概述: 在每一代中,都会生成 100个测试用例。 CFG中的每个路径都已分配一个权重,具体取决于该路径的测试用例的罕见程度。 例如,采取以下CFG:

enter image description here

有4条独立路径。假设路径的权重如下 -

路径1:10

路径2:5

路径3:4

路径4:5

现在,对于这一代的每个测试用例,我都在考虑整个一代人的平均健康状况。

  

(10 * 100 - 4 * 100)/ 2 = 300 [由于有100个测试用例]

所以,我将该测试用例(它所覆盖的路径的重量)的权重提高了300。 虽然结果令人满意,但其逻辑极其缺陷。我认为一个更好的适应度函数,以便测试用例的适应度与它所覆盖的路径的权重成正比,将是权重除以所有路径的权重之和。所以对于这个问题,

  

w /(10 + 5 + 5 + 4)= w / 24

您认为计算每个测试用例的适合度的更好方法是什么?

  1. W / 300

  2. W / 24

  3. 或者你会建议一种完全不同的方法吗?可以为这个问题生成更好的适应度函数吗?

    我很感激你的帮助:)。

0 个答案:

没有答案