比较遗传算法(GA)和粒子群优化(PSO)的结构

Compare the structure of Genetic Algorithm (GA) with the structure of Particles swarm Optimization (PSO)

当我们将遗传算法(GA)的结构与粒子群优化(PSO)的结构进行比较时,可以说那:

  1. GA 中的种群 = PSO 中的群体。

  2. GA中的染色体(潜在解)= PSO中的粒子(潜在解)

  3. GA中染色体的基因数=PSO中粒子的坐标

你一定知道GA(遗传算法)和PSO(粒子群优化)都属于进化计算。这两种进化启发式都是基于种群的搜索方法。

好像,我们考虑原始 GA 的情况 (我什至不是在谈论稍微修改的 GA,这里)。它受到遗传学和进化原理的启发,模仿了在生物种群或环境中观察到的繁殖行为。它遵循"survival of fittest"到select的原则,产生适应环境或约束的后代。然而,如果我们谈论 PSO。它的灵感来自于在鱼群和鸟群中观察到的行为。他们如何使用他们的认知[对外部刺激做出反应或表现(以达到适应度函数的最大值或最小值) =55=]集体力量?

PSO 被认为是对 GA 的改进,因为计算所需结果所需的时间更少。然而,由于易于实施和理解,GA 仍在被许多人和公司使用。

现在,让我们来讨论一下您的问题:

  1. The Population in GA = the Swarm in PSO ?

我认为答案是肯定的,但总是。因为有些情况下我们不能直接用 PSO 来表示种群,但是我们可以用 GA 来表示。例如 - 如果我们考虑离散向量表示,那么我们可以轻松地使用 GA,但在将向量输入 PSO 算法之前我们必须做一些修改。

  1. The chromosome (potential solution) in GA = the Particle (potential solution) in PSO?

也许,你是对的。但是让我提醒您为什么我们使用 EC 技术?因为,问题 (通过使用 EC 技术解决) 的可能解决方案的数量通常具有非常多的状态空间。而且,我们只考虑它的一小部分作为我们的输出或结果。因此,即使我们达到了要求的基准,我们也不能确定结果是否匹配。

  1. The genes of a chromosome in GA = the coordinates of a particle in PSO?

As,我们都知道 GA 天生就是为评估离散向量表示而设计的,而 PSO 在处理具有连续变量的无约束问题时表现最佳。因为,原始 PSO not 对局部 maximaminima 非常免疫。因此,它有时可能会在约束下表现出过早收敛。这在 GA (由于突变) 中很少见。所以,我会说 。 GA中染色体的基因并不总是PSO中粒子的坐标。

编辑:

Could you please give me a simple example for this: "... we'll have to make few modification before feeding the vector into the PSO algorithm."

因为我已经告诉过你 GA 本质上是为离散评估而设计的,而 PSO 在连续变量的情况下效果更好。让我们考虑一个案例。我们得到了 01 的字符串族。并且我们要满足给定的适应度函数f(x)来终止循环。众所周知,01 是两个离散数。因此,在应用交叉或变异 (在 GA 的情况下) 我们将获得离散输出。之后,我们会将此输出输入适应度函数以检查其强度。如果它在 f(x) 中幸存下来,那么我们将把该输出推送到下一代。

但是在PSO的情况下,我们通常考虑位置向量或这种情况下的'0'和'1'的字符串,以及速度向量或将数字更改为相反数字的概率(表示 0 变为 1 的概率,反之亦然)。现在,假设将值 0 更改为 1 的概率为 0.6,将 1 更改为 0 的概率为 0.3。然后在应用概率分布时,我们将得到一个过渡状态,它以某种概率保持 01。换句话说,即将到来的状态将包含 01 之间的值,这本身是不正确的。而且,因为我们只期待离散数字。因此,我们必须设置一些基准,例如-低于 0.5 将是 0(zero) 并且高于 0.5 将是 1(one)。而且,现在这个基准测试或修改后的输出将用作下一代的输入。