39 votes

Avez-vous déjà utilisé un algorithme génétique dans des applications réelles?

Je me demandais à quel point il est courant de trouver des approches basées sur des algorithmes génétiques dans le code commercial.

Il m'a toujours semblé que certains types de planificateurs pourraient bénéficier d'un moteur GA, en complément de l'algorithme principal.

22voto

Steve Points 4402

Les Algorithmes génétiques ont été largement utilisés dans le commerce. L'optimisation de train de routage est une application anticipée. Plus récemment, les avions de chasse ont utilisé des Gaz à optimiser les conceptions d'ailes. J'ai utilisé du Gaz largement au travail pour trouver des solutions à des problèmes qui ont un très grand espace de recherche.

De nombreux problèmes sont peu susceptibles de tirer profit du Gaz. Je suis en désaccord avec Thomas qu'ils sont trop difficiles à comprendre. L'AG est en fait très simple. Nous avons constaté qu'il ya une énorme quantité de connaissances acquises à partir de l'optimisation de l'AG pour un problème particulier qui peut être difficile et comme toujours, la gestion de grandes quantités de calcul parallèle de continuer à être un problème pour de nombreux programmeurs.

Un problème qui bénéficieraient d'un GA va avoir les caractéristiques suivantes:

  • Une bonne façon de coder les solutions possibles
  • Un moyen pour calculer un score numérique pour évaluer la qualité de la solution
  • Une grande multi-dimensionnelle de l'espace de recherche où la réponse n'est pas évidente
  • Une bonne solution est assez bon et une solution parfaite n'est pas nécessaire

Il ya beaucoup de problèmes qui pourrait probablement bénéficier de Gaz et dans l'avenir, ils seront probablement plus largement déployé. Je crois que le Gaz sont utilisés dans de pointe en génie plus que les gens pensent cependant la plupart des gens (comme ma société n') les gardes de ces secrets extrêmement étroite. C'est seulement longtemps après le fait qu'il est révélé que les Gaz ont été utilisés.

La plupart des gens qui traitent avec des applications "normales" n'ont probablement pas beaucoup d'utilisation pour eux si.

12voto

Kent Fredric Points 35592

Si vous voulez trouver un exemple, consultez le planificateur de requêtes de Postgres. Il utilise de nombreuses techniques, et l'une d'entre elles est génétique.

http://developer.postgresql.org/pgdocs/postgres/geqo-pg-intro.html

4voto

Robert Gould Points 29406

J'ai utilisé GA dans ma thèse de maîtrise, mais après cela, je n'ai rien trouvé dans mon travail quotidien qu'un GA puisse résoudre que je ne pourrais pas résoudre plus rapidement avec un autre algorithme.

3voto

Thomas Hansen Points 3348

Je ne l'ai pas fait mais j'ai entendu parler de cette société (je ne me souviens plus de son nom) qui utilise des algues génétiques en mutation pour calculer l'emplacement et la longueur des antennes (ou quelque chose d'autre) d'un de mes amis. Et ils sont censés avoir (selon mon ami) un énorme succès avec ça. Je suppose que GA est trop complexe pour qu'un "développeur Joe moyen" devienne un grand public. Un peu comme Map Réduire - spectaculairement cool, mais beaucoup trop avancé pour atteindre le "grand public" ...

3voto

Stewart Points 2275

Je ne pense pas qu'il est particulièrement fréquent de trouver des algorithmes génétiques dans la vie quotidienne-code de commerce. Ils sont plus répandus dans le milieu de la recherche universitaire de code où la nécessité de trouver le "meilleur algorithme" est moins important que le besoin juste de trouver une bonne solution à un problème.

Néanmoins, j'ai consulté sur un couple de projets commerciaux qui n'utilisent le Gaz (principalement du fait de mon implication avec la GAULE). Je pense que le plus intéressant était à une entreprise de Biotechnologie. Ils ont utilisé la GA pour optimiser les fonctions de scoring qui ont été utilisés pour le criblage virtuel, dans le cadre de leur découverte de médicaments de l'application.

Plus tôt cette année, avec mon entreprise actuelle, j'ai ajouté une nouvelle fonctionnalité à l'un de nos produits qui utilise un autre GA. Je pense que nous avons peut-être la commercialisation de ce partir du mois prochain. Fondamentalement, la GA est utilisé pour explorer les molécules qui ont le potentiel pour la liaison à une protéine, et pourrait donc être étudiée en tant que médicaments ciblant cette protéine. Un produit concurrent qui utilise également un GA est EA inventeur.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X