比较遗传算法(GA)和粒子群优化(PSO)的结构
Compare the structure of Genetic Algorithm (GA) with the structure of Particles swarm Optimization (PSO)
当我们将遗传算法(GA)的结构与粒子群优化(PSO)的结构进行比较时,可以说那:
GA 中的种群 = PSO 中的群体。
GA中的染色体(潜在解)= PSO中的粒子(潜在解)
GA中染色体的基因数=PSO中粒子的坐标
你一定知道GA(遗传算法)和PSO(粒子群优化)都属于进化计算。这两种进化启发式都是基于种群的搜索方法。
好像,我们考虑原始 GA 的情况 (我什至不是在谈论稍微修改的 GA,这里)。它受到遗传学和进化原理的启发,模仿了在生物种群或环境中观察到的繁殖行为。它遵循"survival of fittest"到select的原则,产生适应环境或约束的后代。然而,如果我们谈论 PSO。它的灵感来自于在鱼群和鸟群中观察到的行为。他们如何使用他们的认知和[对外部刺激做出反应或表现(以达到适应度函数的最大值或最小值) =55=]集体力量?
PSO 被认为是对 GA 的改进,因为计算所需结果所需的时间更少。然而,由于易于实施和理解,GA 仍在被许多人和公司使用。
现在,让我们来讨论一下您的问题:
- The Population in GA = the Swarm in PSO ?
我认为答案是肯定的,但不总是。因为有些情况下我们不能直接用 PSO 来表示种群,但是我们可以用 GA 来表示。例如 - 如果我们考虑离散向量表示,那么我们可以轻松地使用 GA,但在将向量输入 PSO 算法之前我们必须做一些修改。
- The chromosome (potential solution) in GA = the Particle (potential solution) in PSO?
也许,你是对的。但是让我提醒您为什么我们使用 EC 技术?因为,问题 (通过使用 EC 技术解决) 的可能解决方案的数量通常具有非常多的状态空间。而且,我们只考虑它的一小部分作为我们的输出或结果。因此,即使我们达到了要求的基准,我们也不能确定结果是否匹配。
- The genes of a chromosome in GA = the coordinates of a particle in PSO?
As,我们都知道 GA 天生就是为评估离散向量表示而设计的,而 PSO 在处理具有连续变量的无约束问题时表现最佳。因为,原始 PSO not 对局部 maxima 或 minima 非常免疫。因此,它有时可能会在约束下表现出过早收敛。这在 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 在连续变量的情况下效果更好。让我们考虑一个案例。我们得到了 0
和 1
的字符串族。并且我们要满足给定的适应度函数f(x)
来终止循环。众所周知,0
和 1
是两个离散数。因此,在应用交叉或变异 (在 GA 的情况下) 我们将获得离散输出。之后,我们会将此输出输入适应度函数以检查其强度。如果它在 f(x) 中幸存下来,那么我们将把该输出推送到下一代。
但是在PSO的情况下,我们通常考虑位置向量或这种情况下的'0'和'1'的字符串,以及速度向量或将数字更改为相反数字的概率(表示 0
变为 1
的概率,反之亦然)。现在,假设将值 0
更改为 1
的概率为 0.6
,将 1
更改为 0
的概率为 0.3
。然后在应用概率分布时,我们将得到一个过渡状态,它以某种概率保持 0
或 1
。换句话说,即将到来的状态将包含 0
和 1
之间的值,这本身是不正确的。而且,因为我们只期待离散数字。因此,我们必须设置一些基准,例如-低于 0.5
将是 0
(zero) 并且高于 0.5
将是 1
(one)。而且,现在这个基准测试或修改后的输出将用作下一代的输入。
当我们将遗传算法(GA)的结构与粒子群优化(PSO)的结构进行比较时,可以说那:
GA 中的种群 = PSO 中的群体。
GA中的染色体(潜在解)= PSO中的粒子(潜在解)
GA中染色体的基因数=PSO中粒子的坐标
你一定知道GA(遗传算法)和PSO(粒子群优化)都属于进化计算。这两种进化启发式都是基于种群的搜索方法。
好像,我们考虑原始 GA 的情况 (我什至不是在谈论稍微修改的 GA,这里)。它受到遗传学和进化原理的启发,模仿了在生物种群或环境中观察到的繁殖行为。它遵循"survival of fittest"到select的原则,产生适应环境或约束的后代。然而,如果我们谈论 PSO。它的灵感来自于在鱼群和鸟群中观察到的行为。他们如何使用他们的认知和[对外部刺激做出反应或表现(以达到适应度函数的最大值或最小值) =55=]集体力量?
PSO 被认为是对 GA 的改进,因为计算所需结果所需的时间更少。然而,由于易于实施和理解,GA 仍在被许多人和公司使用。
现在,让我们来讨论一下您的问题:
- The Population in GA = the Swarm in PSO ?
我认为答案是肯定的,但不总是。因为有些情况下我们不能直接用 PSO 来表示种群,但是我们可以用 GA 来表示。例如 - 如果我们考虑离散向量表示,那么我们可以轻松地使用 GA,但在将向量输入 PSO 算法之前我们必须做一些修改。
- The chromosome (potential solution) in GA = the Particle (potential solution) in PSO?
也许,你是对的。但是让我提醒您为什么我们使用 EC 技术?因为,问题 (通过使用 EC 技术解决) 的可能解决方案的数量通常具有非常多的状态空间。而且,我们只考虑它的一小部分作为我们的输出或结果。因此,即使我们达到了要求的基准,我们也不能确定结果是否匹配。
- The genes of a chromosome in GA = the coordinates of a particle in PSO?
As,我们都知道 GA 天生就是为评估离散向量表示而设计的,而 PSO 在处理具有连续变量的无约束问题时表现最佳。因为,原始 PSO not 对局部 maxima 或 minima 非常免疫。因此,它有时可能会在约束下表现出过早收敛。这在 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 在连续变量的情况下效果更好。让我们考虑一个案例。我们得到了 0
和 1
的字符串族。并且我们要满足给定的适应度函数f(x)
来终止循环。众所周知,0
和 1
是两个离散数。因此,在应用交叉或变异 (在 GA 的情况下) 我们将获得离散输出。之后,我们会将此输出输入适应度函数以检查其强度。如果它在 f(x) 中幸存下来,那么我们将把该输出推送到下一代。
但是在PSO的情况下,我们通常考虑位置向量或这种情况下的'0'和'1'的字符串,以及速度向量或将数字更改为相反数字的概率(表示 0
变为 1
的概率,反之亦然)。现在,假设将值 0
更改为 1
的概率为 0.6
,将 1
更改为 0
的概率为 0.3
。然后在应用概率分布时,我们将得到一个过渡状态,它以某种概率保持 0
或 1
。换句话说,即将到来的状态将包含 0
和 1
之间的值,这本身是不正确的。而且,因为我们只期待离散数字。因此,我们必须设置一些基准,例如-低于 0.5
将是 0
(zero) 并且高于 0.5
将是 1
(one)。而且,现在这个基准测试或修改后的输出将用作下一代的输入。