web-dev-qa-db-fra.com

Quelle est la différence entre les algorithmes génétiques et évolutifs?

Y a-t-il une différence entre algorithmes génétiques et algorithmes évolutionnaires?

J'ai lu plusieurs articles, parlant d'algorithmes génétiques ou évolutifs, et bien que très similaires, je pense qu'ils peuvent ne pas être la même chose.

52
Goles

Un algorithme génétique est une classe d'algorithmes évolutifs. Bien que les algorithmes génétiques soient le type d'algorithme évolutionnaire le plus fréquemment rencontré, il existe d'autres types, tels que Evolution Strategy . Ainsi, les algorithmes évolutionnaires englobent les algorithmes génétiques, et plus encore.

56
mdma

Les algorithmes génétiques utilisent le croisement (d'où le "gène" dans leur nom) et la mutation pour rechercher l'espace des solutions possibles.

La programmation évolutive utilise principalement la mutation.

Comme déjà signalé, les deux sont des types d'algorithmes évolutifs.

16
tymn

Extrait de Z. Michalewicz 1996 - "Algorithmes génétiques + structures de données = programmes d'évolution" [p.289]:

Les programmes d'évolution empruntent fortement aux algorithmes génétiques. Cependant, ils intègrent des connaissances spécifiques au problème en utilisant des structures de données "naturelles" et des opérateurs "génétiques" sensibles au problème. La principale différence entre les AG et les EP est que les premières sont classées comme des méthodes faibles et indépendantes du problème, ce qui n'est pas le cas pour les secondes.

Donc, un GA devrait être capable de résoudre tous les problèmes que l'on résout avec un EP/EA, mais un EP/EA ne pourra pas résoudre tous les problèmes résolus par le GA. Bien sûr , on paie avec efficacité pour la généralité de GA.

De plus, il semble qu'un algorithme ne soit pas un EA/EP si les solutions candidates n'échangent pas directement d'informations entre elles ( D. Simon 2013 - "Evolutionary Optimization Algorithms" [p.243]).

PS: D. Simon 2013 - "Algorithmes d'optimisation évolutive" est un livre INCROYABLE!

8
Krzysztof Voss

Les stratégies d'évolution (Rechenberg 1973) et les algorithmes génétiques (Holland 1975) sont basés sur les théories évolutionnistes de Darwin. Les stratégies évolutionnaires sont la base du calcul évolutionnaire, d'où les algorithmes évolutionnaires. En principe, les algorithmes génétiques (GA) sont une sous-classe d'EA.

Contrairement à EA, GA nécessite l'utilisation d'une représentation génétique au sens de représentation informatique (génotype) et de sa représentation du monde réel (phénotype).

0
Daniel