Subconjunto de computación evolutiva
En inteligencia computacional (CI), un algoritmo evolutivo ( EA ) es un subconjunto de la computación evolutiva , [1] un algoritmo genérico de optimización metaheurística basado en población . Un EA utiliza mecanismos inspirados en la evolución biológica , como la reproducción , la mutación , la recombinación y la selección . Las soluciones candidatas al problema de optimización desempeñan el papel de los individuos de una población, y la función de aptitud determina la calidad de las soluciones (ver también función de pérdida ). La evolución de la población se produce entonces tras la aplicación repetida de los operadores anteriores.
Los algoritmos evolutivos a menudo funcionan bien aproximando soluciones a todo tipo de problemas porque idealmente no hacen ninguna suposición sobre el panorama de aptitud subyacente . Las técnicas de algoritmos evolutivos aplicadas al modelado de la evolución biológica generalmente se limitan a exploraciones de procesos microevolutivos y modelos de planificación basados en procesos celulares. En la mayoría de las aplicaciones reales de EA, la complejidad computacional es un factor prohibitivo. [2] De hecho, esta complejidad computacional se debe a la evaluación de la función de aptitud. La aproximación al fitness es una de las soluciones para superar esta dificultad. Sin embargo, un EA aparentemente simple puede resolver problemas a menudo complejos; [3] [4] [5] por lo tanto, puede que no exista un vínculo directo entre la complejidad del algoritmo y la complejidad del problema.
Los algoritmos evolutivos pueden verse como una especie de método de Montecarlo . [6]
Implementación
El siguiente es un ejemplo de un algoritmo genético genérico de objetivo único .
Paso uno: generar la población inicial de individuos al azar. (Primera generación)
Paso dos: repita los siguientes pasos regenerativos hasta la terminación:
- Evaluar la aptitud de cada individuo de la población (límite de tiempo, aptitud suficiente alcanzada, etc.)
- Seleccionar los individuos más aptos para la reproducción . (Padres)
- Criar nuevos individuos mediante operaciones de cruce y mutación para dar a luz a descendientes .
- Reemplazar a los individuos menos aptos de la población con nuevos individuos.
Tipos
Técnicas similares difieren en la representación genética y otros detalles de implementación, y en la naturaleza del problema particular aplicado.
- Algoritmo genético : este es el tipo más popular de EA. Se busca la solución de un problema en forma de cadenas de números (tradicionalmente binarios, aunque las mejores representaciones suelen ser aquellas que reflejan algo sobre el problema que se está resolviendo), [2] aplicando operadores como recombinación y mutación (a veces uno, a veces ambos). Este tipo de EA se utiliza a menudo en problemas de optimización .
- Programación genética : aquí las soluciones se presentan en forma de programas informáticos y su idoneidad está determinada por su capacidad para resolver un problema computacional. Existen muchas variantes de programación genética, incluida la programación genética cartesiana , la programación de expresión genética , la evolución gramatical , la programación genética lineal , la programación de múltiples expresiones , etc.
- Programación evolutiva : similar a la programación genética, pero la estructura del programa es fija y se permite que sus parámetros numéricos evolucionen.
- Estrategia de evolución : funciona con vectores de números reales como representaciones de soluciones y, por lo general, utiliza tasas de mutación autoadaptativas. El método se utiliza principalmente para optimización numérica, aunque también existen variantes para tareas combinatorias. [7] [8]
- Evolución diferencial : se basa en diferencias vectoriales y, por lo tanto, es principalmente adecuado para problemas de optimización numérica .
- Algoritmo coevolutivo: similar a los algoritmos genéticos y las estrategias de evolución, pero las soluciones creadas se comparan en función de los resultados de las interacciones con otras soluciones. Las soluciones pueden competir o cooperar durante el proceso de búsqueda. Los algoritmos coevolutivos se utilizan a menudo en escenarios donde el panorama del fitness es dinámico, complejo o implica interacciones competitivas. [9] [10]
- Neuroevolución : similar a la programación genética, pero los genomas representan redes neuronales artificiales al describir la estructura y los pesos de conexión. La codificación del genoma puede ser directa o indirecta.
- Sistema de clasificadores de aprendizaje : aquí la solución es un conjunto de clasificadores (reglas o condiciones). Un LCS de Michigan evoluciona a nivel de clasificadores individuales, mientras que un LCS de Pittsburgh utiliza poblaciones de conjuntos de clasificadores. Inicialmente, los clasificadores eran solo binarios, pero ahora incluyen tipos reales, de red neuronal o de expresión S. La aptitud física generalmente se determina mediante un aprendizaje por refuerzo basado en la fuerza o la precisión o un enfoque de aprendizaje supervisado .
- Algoritmos de calidad-diversidad: los algoritmos QD apuntan simultáneamente a soluciones diversas y de alta calidad. A diferencia de los algoritmos de optimización tradicionales que se centran únicamente en encontrar la mejor solución a un problema, los algoritmos QD exploran una amplia variedad de soluciones en un espacio de problemas y mantienen aquellas que no sólo son de alto rendimiento, sino también diversas y únicas. [11] [12] [13]
Antecedentes teóricos
Los siguientes principios teóricos se aplican a todos o casi todos los EA.
Teorema del almuerzo gratis
El teorema de optimización del almuerzo gratis establece que todas las estrategias de optimización son igualmente efectivas cuando se considera el conjunto de todos los problemas de optimización. En las mismas condiciones, ningún algoritmo evolutivo es fundamentalmente mejor que otro. Este sólo puede ser el caso si el conjunto de todos los problemas está restringido. Esto es exactamente lo que inevitablemente se hace en la práctica. Por lo tanto, para mejorar un EA, debe explotar el conocimiento del problema de alguna forma (por ejemplo, eligiendo una determinada fuerza de mutación o una codificación adaptada al problema ). Por lo tanto, si se comparan dos EA, esta restricción está implícita. Además, un asesor experto puede utilizar conocimientos específicos del problema, por ejemplo, no generando aleatoriamente toda la población inicial, sino creando algunos individuos mediante heurísticas u otros procedimientos. [14] [15] Otra posibilidad de adaptar un EA a un dominio de problema determinado es involucrar heurísticas adecuadas, procedimientos de búsqueda local u otros procedimientos relacionados con el problema en el proceso de generación de la descendencia. Esta forma de extensión de un EA también se conoce como algoritmo memético . Ambas extensiones desempeñan un papel importante en las aplicaciones prácticas, ya que pueden acelerar el proceso de búsqueda y hacerlo más sólido. [14] [16]
Convergencia
Para los AE en los que, además de la descendencia, se utiliza al menos el mejor individuo de la generación parental para formar la generación siguiente (los llamados AE elitistas), existe una prueba general de convergencia bajo la condición de que exista un óptimo . Sin pérdida de generalidad , se supone una búsqueda máxima para la prueba:
De la propiedad de aceptación de la descendencia elitista y de la existencia del óptimo se deduce que con cada generación ocurrirá con una probabilidad una mejora en la aptitud del respectivo mejor individuo . De este modo:
Es decir, los valores de aptitud representan una secuencia monótonamente no decreciente , que está acotada debido a la existencia del óptimo. De esto se sigue la convergencia de la secuencia contra el óptimo.
Dado que la prueba no hace ninguna declaración sobre la velocidad de convergencia, es de poca ayuda en aplicaciones prácticas de EA. Pero sí justifica la recomendación de utilizar asesores expertos elitistas. Sin embargo, cuando se utiliza el modelo de población panmíctica habitual , los EA elitistas tienden a converger prematuramente más que los no elitistas. [17] En un modelo de población panmíctica, la selección de pareja (paso 2 de la sección sobre implementación) es tal que cada individuo de toda la población es elegible como pareja. En poblaciones no panmícticas , la selección está adecuadamente restringida, de modo que la velocidad de dispersión de los mejores individuos se reduce en comparación con los panmícticos. Por lo tanto, el riesgo general de una convergencia prematura de EA elitistas puede reducirse significativamente mediante modelos poblacionales adecuados que restrinjan la selección de pareja. [18] [19]
Alfabetos virtuales
Con la teoría de los alfabetos virtuales, David E. Goldberg demostró en 1990 que, al utilizar una representación con números reales, un EA que utiliza operadores de recombinación clásicos (p. ej., cruce uniforme o de n puntos) no puede alcanzar determinadas zonas del espacio de búsqueda, mientras que a una codificación con números binarios. [20] Esto da como resultado la recomendación para que los EA con representación real utilicen operadores aritméticos para la recombinación (por ejemplo, media aritmética o recombinación intermedia). Con operadores adecuados, las representaciones de valores reales son más efectivas que las binarias, contrariamente a la opinión anterior. [21] [22]
Comparación con procesos biológicos.
Una posible limitación [¿ según quién? Una de las características de muchos algoritmos evolutivos es la falta de una distinción clara entre genotipo y fenotipo . En la naturaleza, el óvulo fecundado sufre un complejo proceso conocido como embriogénesis para convertirse en un fenotipo maduro . Se cree que esta codificación indirecta hace que la búsqueda genética sea más sólida (es decir, reduce la probabilidad de mutaciones fatales) y también puede mejorar la capacidad de evolución del organismo. [23] [24] Estas codificaciones indirectas (también conocidas como generativas o de desarrollo) también permiten que la evolución explote la regularidad del entorno. [25] Trabajos recientes en el campo de la embriogenia artificial , o sistemas de desarrollo artificiales, buscan abordar estas preocupaciones. Y la programación de la expresión genética explora con éxito un sistema genotipo-fenotipo, donde el genotipo consta de cromosomas multigénicos lineales de longitud fija y el fenotipo consta de múltiples árboles de expresión o programas informáticos de diferentes tamaños y formas. [26] [ ¿ síntesis inadecuada? ]
Aplicaciones
Las áreas en las que se utilizan prácticamente los algoritmos evolutivos son casi ilimitadas [5] y van desde la industria, [27] [28] ingeniería, [2] [3] [29] programación compleja, [4] [30] [31] agricultura , [32] planificación del movimiento de robots [33] y finanzas [34] [35] para investigación [36] [37] y arte . La aplicación de un algoritmo evolutivo requiere un replanteamiento por parte del usuario inexperto, ya que el enfoque de una tarea utilizando un EA es diferente de los métodos exactos convencionales y esto generalmente no forma parte del plan de estudios de ingenieros u otras disciplinas. Por ejemplo, el cálculo de idoneidad no sólo debe formular el objetivo sino también apoyar el proceso de búsqueda evolutiva hacia él, por ejemplo recompensando las mejoras que aún no conducen a una mejor evaluación de los criterios de calidad originales. Por ejemplo, si en una tarea de programación se debe evitar la utilización máxima de recursos, como el despliegue de personal o el consumo de energía, no es suficiente evaluar la utilización máxima. Más bien, también debería registrarse el número y la duración de las superaciones de un nivel aún aceptable para recompensar las reducciones por debajo del valor máximo real. [38] Por lo tanto, existen algunas publicaciones que están dirigidas al principiante y quieren ayudar a evitar los errores de los principiantes, así como a llevar un proyecto de aplicación al éxito. [38] [39] [40] Esto incluye aclarar la cuestión fundamental de cuándo se debe utilizar un EA para resolver un problema y cuándo es mejor no hacerlo.
Técnicas relacionadas
Los algoritmos de enjambre [ se necesita aclaración ] incluyen:
Otros métodos metaheurísticos basados en la población
- Búsqueda de caza – Método inspirado en la caza en grupo de algunos animales, como los lobos, que organizan su posición para rodear a la presa, cada uno de ellos en relación con la posición de los demás y especialmente con la de su líder. Es un método de optimización continua [43] adaptado como método de optimización combinatoria. [44]
- Búsqueda dimensional adaptativa : a diferencia de las técnicas metaheurísticas inspiradas en la naturaleza, un algoritmo de búsqueda dimensional adaptativa no implementa ninguna metáfora como principio subyacente. Más bien, utiliza un método simple orientado al rendimiento, basado en la actualización del parámetro de relación de dimensionalidad de búsqueda (SDR) en cada iteración. [45]
- El algoritmo Firefly está inspirado en el comportamiento de las luciérnagas, que se atraen entre sí mediante luces intermitentes. Esto es especialmente útil para la optimización multimodal.
- Búsqueda de armonía : basado en las ideas del comportamiento de los músicos en la búsqueda de mejores armonías. Este algoritmo es adecuado para optimización combinatoria así como para optimización de parámetros.
- Adaptación gaussiana : basada en la teoría de la información. Se utiliza para maximizar el rendimiento de fabricación, la aptitud media o la información promedio . Véase, por ejemplo, Entropía en termodinámica y teoría de la información .
- Algoritmo memético : un método híbrido, inspirado en la noción de meme de Richard Dawkins , que comúnmente toma la forma de un algoritmo basado en la población junto con procedimientos de aprendizaje individuales capaces de realizar refinamientos locales. Enfatiza la explotación del conocimiento sobre problemas específicos y trata de orquestar la búsqueda local y global de manera sinérgica.
Ejemplos
En 2020, Google afirmó que su AutoML-Zero puede redescubrir con éxito algoritmos clásicos como el concepto de redes neuronales. [46]
Las simulaciones por computadora Tierra y Avida intentan modelar la dinámica macroevolutiva .
Galería
[47] [48] [49]
Referencias
- ^ Vikhar, Pensilvania (2016). "Algoritmos evolutivos: una revisión crítica y sus perspectivas de futuro". Conferencia Internacional de 2016 sobre Tendencias Globales en Procesamiento de Señales, Computación de la Información y Comunicación (ICGTSPICC) . Jalgaón. págs. 261–265. doi :10.1109/ICGTSPICC.2016.7955308. ISBN 978-1-5090-0467-6. S2CID 22100336.
{{cite book}}
: CS1 maint: location missing publisher (link) - ^ abc Cohoon, J; et al. (26 de noviembre de 2002). Algoritmos evolutivos para el diseño físico de circuitos VLSI (PDF) . Springer, págs. 683-712, 2003. ISBN 978-3-540-43330-9.
- ^ ab Slowik, Adán; Kwasnicka, Halina (2020). "Algoritmos evolutivos y sus aplicaciones a problemas de ingeniería". Computación neuronal y aplicaciones . 32 (16): 12363–12379. doi : 10.1007/s00521-020-04832-8 . ISSN 0941-0643. S2CID 212732659.
- ^ ab Mika, Marek; Waligóra, Grzegorz; Węglarz, enero (2011). "Modelado y resolución de problemas de asignación de recursos de red con recursos de red para aplicaciones de flujo de trabajo". Diario de programación . 14 (3): 291–306. doi :10.1007/s10951-009-0158-0. ISSN 1094-6136. S2CID 31859338.
- ^ ab "Conferencia internacional sobre las aplicaciones de la computación evolutiva". La conferencia forma parte de la serie Evo*. Las actas de la conferencia son publicadas por Springer . Consultado el 23 de diciembre de 2022 .
- ^ Ashlock, D. (2006). Computación Evolutiva para Modelado y Optimización. Alemania: Springer Nueva York. Página 491, https://books.google.de/books?id=kz0rofjQrwYC&pg=PA491
- ^ Nissen, Volker; Krause, Matthias (1994), "Optimización combinatoria restringida con una estrategia de evolución", en Reusch, Bernd (ed.), Fuzzy Logik, Informatik aktuell, Berlín, Heidelberg: Springer, págs. 33–40, doi : 10.1007/978- 3-642-79386-8_5, ISBN 978-3-642-79386-8
- ^ Coelho, VN; Coelho, IM; Souza, MJF; Oliveira, TA; Cota, LP; Haddad, Minnesota; Mladenovic, N.; Silva, PCR; Guimarães, FG (2016). "Estrategias de evolución híbrida autoadaptativa guiadas por estructuras vecinales para problemas de optimización combinatoria". Computación Evol . 24 (4): 637–666. doi :10.1162/EVCO_a_00187. PMID 27258842. S2CID 13582781.
- ^ Mamá, Xiaoliang; Li, Xiaodong; Zhang, Qingfu; Tang, Ke; Liang, Zhengping; Xie, Weixin; Zhu, Zexuan (2019), "Una encuesta sobre algoritmos coevolutivos cooperativos"., IEEE Transactions on Evolutionary Computation , 23 (3): 421–441, doi :10.1109/TEVC.2018.2868770, S2CID 125149900 , recuperado 2023-05- 22
- ^ Popovici, Elena; Bucci, Antonio; Wiegand, R. Paul; De Jong, Edwin D. (2012). "Principios coevolutivos". En Rozenberg, Grzegorz; Detrás, Thomas; Kok, Joost N. (eds.). Manual de Computación Natural. Berlín, Heidelberg: Springer Berlín Heidelberg. págs. 987-1033. doi :10.1007/978-3-540-92910-9_31. ISBN 978-3-540-92910-9.
- ^ Pugh, Justin K.; Soros, Lisa B.; Stanley, Kenneth O. (12 de julio de 2016). "Diversidad de calidad: una nueva frontera para la computación evolutiva". Fronteras en robótica e inteligencia artificial . 3 . doi : 10.3389/frobt.2016.00040 . ISSN 2296-9144.
- ^ Lehman, Joel; Stanley, Kenneth O. (12 de julio de 2011). "Evolución de una diversidad de criaturas virtuales mediante la búsqueda de novedades y la competencia local". Actas de la decimotercera conferencia anual sobre computación genética y evolutiva . Nueva York, NY, Estados Unidos: ACM. págs. 211-218. doi :10.1145/2001576.2001606. ISBN 9781450305570. S2CID 17338175.
- ^ Cully, Antoine; Clune, Jeff; Tarapore, danés; Mouret, Jean-Baptiste (27 de mayo de 2015). "Robots que pueden adaptarse como animales". Naturaleza . 521 (7553): 503–507. arXiv : 1407.3501 . Código Bib :2015Natur.521..503C. doi : 10.1038/naturaleza14422. ISSN 0028-0836. PMID 26017452. S2CID 3467239.
- ^ ab Davis, Lawrence (1991). Manual de algoritmos genéticos. Nueva York: Van Nostrand Reinhold. ISBN 0-442-00173-8. OCLC 23081440.
- ^ Lienig, Jens; Brandt, Holger (1994), Davidor, Yuval; Schwefel, Hans-Paul; Männer, Reinhard (eds.), "Un algoritmo evolutivo para el enrutamiento de módulos de múltiples chips", Resolución de problemas paralelos de la naturaleza - PPSN III , Berlín, Heidelberg: Springer, vol. 866, págs. 588–597, doi :10.1007/3-540-58484-6_301, ISBN 978-3-540-58484-1, recuperado el 18 de octubre de 2022
- ^ Neri, Ferrante; Cota, Carlos; Moscato, Pablo, eds. (2012). Manual de algoritmos meméticos. Estudios en Inteligencia Computacional. vol. 379. Berlín, Heidelberg: Springer Berlín Heidelberg. doi :10.1007/978-3-642-23247-3. ISBN 978-3-642-23246-6.
- ^ Leung, sí; Gao, Yong; Xu, Zong-Ben (1997). "Grado de diversidad poblacional: una perspectiva sobre la convergencia prematura en algoritmos genéticos y su análisis de la cadena de Markov". Transacciones IEEE en redes neuronales . 8 (5): 1165-1176. doi : 10.1109/72.623217. ISSN 1045-9227. PMID 18255718.
- ^ Gorges-Schleuter, Martina (1998), Eiben, Agoston E.; Detrás, Thomas; Schoenauer, Marc; Schwefel, Hans-Paul (eds.), "Un estudio comparativo de la selección global y local en estrategias de evolución", Resolución de problemas paralelos desde la naturaleza - PPSN V , Lecture Notes in Computer Science, Berlín, Heidelberg: Springer Berlin Heidelberg, vol. 1498, págs. 367–377, doi :10.1007/bfb0056879, ISBN 978-3-540-65078-2, recuperado el 21 de octubre de 2022
- ^ Dorronsoro, Bernabé; Alba, Enrique (2008). Algoritmos genéticos celulares. Serie de interfaces de investigación de operaciones/ciencias informáticas. vol. 42. Boston, MA: Springer EE. UU. doi :10.1007/978-0-387-77610-1. ISBN 978-0-387-77609-5.
- ^ Goldberg, David E. (1990), Schwefel, Hans-Paul; Männer, Reinhard (eds.), "La teoría de los alfabetos virtuales", Resolución de problemas paralelos a partir de la naturaleza , Lecture Notes in Computer Science, Berlín/Heidelberg: Springer-Verlag (publicado en 1991), vol. 496, págs. 13-22, doi :10.1007/bfb0029726, ISBN 978-3-540-54148-6, recuperado el 22 de octubre de 2022
- ^ Stender, J.; Hillebrand, E.; Kingdon, J. (1994). Algoritmos genéticos en optimización, simulación y modelado. Ámsterdam: IOS Press. ISBN 90-5199-180-0. OCLC 47216370.
- ^ Michalewicz, Zbigniew (1996). Algoritmos genéticos + Estructuras de datos = Programas de evolución (3ª ed.). Berlín Heidelberg: Springer. ISBN 978-3-662-03315-9. OCLC 851375253.
- ^ GS Hornby y JB Pollack. "Creación de componentes de alto nivel con representación generativa para la evolución cuerpo-cerebro". Vida artificial , 8(3):223–246, 2002.
- ^ Jeff Clune, Benjamin Beckmann, Charles Ofria y Robert Pennock. "Evolución de la marcha cuadrúpeda coordinada con la codificación generativa HyperNEAT" Archivado el 3 de junio de 2016 en Wayback Machine . Actas del Congreso IEEE sobre Computación Evolutiva, Sección Especial sobre Robótica Evolutiva , 2009. Trondheim, Noruega.
- ^ J. Clune, C. Ofria y RT Pennock, "Cómo funciona una codificación generativa a medida que disminuye la regularidad del problema", en PPSN (G. Rudolph, T. Jansen, SM Lucas, C. Poloni y N. Beume, eds .), vol. 5199 de Lecture Notes in Computer Science , págs. 358–367, Springer, 2008.
- ^ Ferreira, C., 2001. "Programación de expresión genética: un nuevo algoritmo adaptativo para resolver problemas". Sistemas complejos , vol. 13, número 2: 87–129.
- ^ Sánchez, Ernesto; Squillero, Giovanni; Tonda, Alberto (2012). Aplicaciones industriales de algoritmos evolutivos. Biblioteca de referencia de sistemas inteligentes. vol. 34. Berlín, Heidelberg: Springer Berlín Heidelberg. doi :10.1007/978-3-642-27467-1. ISBN 978-3-642-27466-4.
- ^ Miettinen, Kaisa (1999). Algoritmos evolutivos en ingeniería e informática: avances recientes en algoritmos genéticos, estrategias de evolución, programación evolutiva, programación genética y aplicaciones industriales. Chichester: Wiley e hijos. ISBN 0-585-29445-3. OCLC 45728460.
- ^ General, Mitsuo; Cheng, Runwei (17 de diciembre de 1999). Algoritmos genéticos y optimización de ingeniería. Serie Wiley en Diseño de Ingeniería y Automatización. Hoboken, Nueva Jersey, EE. UU.: John Wiley & Sons, Inc. doi :10.1002/9780470172261. ISBN 978-0-470-17226-1.
- ^ Dahal, Keshav P.; Tan, Kay Chen; Carenado, Peter I. (2007). Programación evolutiva. Berlín: Springer. doi :10.1007/978-3-540-48584-1. ISBN 978-3-540-48584-1. OCLC 184984689.
- ^ Jakob, Wilfried; Strack, Sylvia; Quinte, Alejandro; Bengel, Günther; Stucky, Karl-Uwe; Süß, Wolfgang (22 de abril de 2013). "Reprogramación rápida de múltiples flujos de trabajo para recursos heterogéneos restringidos utilizando computación memética de criterios múltiples". Algoritmos . 6 (2): 245–277. doi : 10.3390/a6020245 . ISSN 1999-4893.
- ^ Mayer, David G. (2002). Algoritmos evolutivos y sistemas agrícolas. Boston, MA: Springer EE. UU. doi :10.1007/978-1-4615-1717-7. ISBN 978-1-4613-5693-6.
- ^ Blume, Christian (2000), Cagnoni, Stefano (ed.), "Generación optimizada de declaraciones de movimiento de robot sin colisiones mediante el software evolutivo GLEAM", Aplicaciones del mundo real de la computación evolutiva , LNCS 1803, Berlín, Heidelberg: Springer, vol. 1803, págs. 330–341, doi :10.1007/3-540-45561-2_32, ISBN 978-3-540-67353-8, recuperado el 28 de diciembre de 2022
- ^ Aranha, Claus; Iba, Hitoshi (2008), Wobcke, Wayne; Zhang, Mengjie (eds.), "Aplicación de un algoritmo memético al problema de optimización de cartera", AI 2008: Avances en inteligencia artificial , Apuntes de conferencias sobre informática, Berlín, Heidelberg: Springer Berlin Heidelberg, vol. 5360, págs. 512–521, doi :10.1007/978-3-540-89378-3_52, ISBN 978-3-540-89377-6, recuperado el 23 de diciembre de 2022
- ^ Chen, Shu-Heng, ed. (2002). Computación Evolutiva en Economía y Finanzas. Estudios en Borrosidad y Soft Computing. vol. 100. Heidelberg: Physica-Verlag HD. doi :10.1007/978-3-7908-1784-3. ISBN 978-3-7908-2512-1.
- ^ Lohn, JD; Linden, DS; Hornby, GS; Kraus, WF (junio de 2004). "Diseño evolutivo de una antena de banda X para la misión Space Technology 5 de la NASA". Simposio de la Sociedad de Propagación y Antenas del IEEE, 2004 . vol. 3. págs. 2313–2316 Vol.3. doi :10.1109/APS.2004.1331834. hdl : 2060/20030067398 . ISBN 0-7803-8302-8.
- ^ Fogel, Gary; Corne, David (2003). Computación evolutiva en bioinformática. Elsevier. doi :10.1016/b978-1-55860-797-2.x5000-8. ISBN 978-1-55860-797-2.
- ^ ab Jakob, Wilfried (2021), Aplicación exitosa de algoritmos evolutivos: una guía obtenida de aplicaciones del mundo real, KIT Scientific Working Papers, vol. 170, Karlsruhe, RFA: KIT Scientific Publishing, arXiv : 2107.11300 , doi : 10.5445/IR/1000135763, S2CID 236318422 , consultado el 23 de diciembre de 2022
- ^ Whitley, Darrell (2001). "Una descripción general de los algoritmos evolutivos: cuestiones prácticas y errores comunes". Tecnología de la información y software . 43 (14): 817–831. doi :10.1016/S0950-5849(01)00188-4. S2CID 18637958.
- ^ Eiben, AE; Smith, JE (2015). "Trabajar con algoritmos evolutivos". Introducción a la Computación Evolutiva. Serie de Computación Natural (2ª ed.). Berlín, Heidelberg: Springer Berlín Heidelberg. págs. 147-163. doi :10.1007/978-3-662-44874-8. ISBN 978-3-662-44873-1. S2CID 20912932.
- ^ ab Slowik, Adán; Kwasnicka, Halina (2018). "Métodos inspirados en la naturaleza y sus aplicaciones industriales: algoritmos de inteligencia de enjambre". Transacciones IEEE sobre informática industrial . Instituto de Ingenieros Eléctricos y Electrónicos (IEEE). 14 (3): 1004-1015. doi :10.1109/tii.2017.2786782. ISSN 1551-3203. S2CID 3707290.
- ^ F. Merrikh-Bayat, "El algoritmo de raíz de corredor: una metaheurística para resolver problemas de optimización unimodales y multimodales inspirados en corredores y raíces de plantas en la naturaleza", Applied Soft Computing , vol. 33, págs. 292–303, 2015
- ^ Oftadeh, R.; Mahjoob, MJ; Shariatpanahi, M. (octubre de 2010). "Un novedoso algoritmo de optimización metaheurística inspirado en la caza grupal de animales: búsqueda de caza". Computadoras y Matemáticas con Aplicaciones . 60 (7): 2087–2098. doi : 10.1016/j.camwa.2010.07.049 .
- ^ Amina Agharghor; Mohammed Essaid Riffi (2017). "Primera adaptación del algoritmo de búsqueda de caza para el problema de asignación cuadrática". Avances de la cooperación entre Europa y MENA en tecnologías de la información y la comunicación . Avances en Sistemas Inteligentes y Computación. vol. 520, págs. 263–267. doi :10.1007/978-3-319-46568-5_27. ISBN 978-3-319-46567-8.
- ^ Hasançebi, O., Kazemzadeh Azad, S. (2015), "Búsqueda dimensional adaptativa: un nuevo algoritmo metaheurístico para la optimización del tamaño de armaduras discretas", Computadoras y estructuras , 154, 1–16.
- ^ Gent, Edd (13 de abril de 2020). "La inteligencia artificial está evolucionando por sí sola". Ciencia | AAAS . Archivado desde el original el 16 de abril de 2020 . Consultado el 16 de abril de 2020 .
- ^ Simionescu, PA; Dozier, GV; Wainwright, RL (2006). "Un algoritmo evolutivo de dos poblaciones para problemas de optimización restringida". Conferencia internacional IEEE 2006 sobre Computación Evolutiva . Vancouver, BC, Canadá: IEEE. págs. 1647-1653. doi :10.1109/CEC.2006.1688506. ISBN 978-0-7803-9487-2. S2CID 1717817.
- ^ Simionescu, PA; Dozier, GV; Wainwright, RL (2006). "Un algoritmo evolutivo de dos poblaciones para problemas de optimización restringida" (PDF) . Conferencia internacional IEEE 2006 sobre Computación Evolutiva . Proc 2006 Conferencia internacional IEEE sobre Computación Evolutiva. Vancouver, Canada. págs. 1647-1653. doi :10.1109/CEC.2006.1688506. ISBN 0-7803-9487-9. S2CID 1717817 . Consultado el 7 de enero de 2017 .
{{cite book}}
: CS1 maint: location missing publisher (link) - ^ Simionescu, PA (2014). Herramientas de simulación y gráficos asistidas por computadora para usuarios de AutoCAD (1ª ed.). Boca Ratón, FL: CRC Press . ISBN 978-1-4822-5290-3.
enlaces externos
- Una descripción general de la historia y las variantes de los algoritmos evolutivos
Bibliografía
- Ashlock, D. (2006), Computación evolutiva para modelado y optimización , Springer, Nueva York, doi:10.1007/0-387-31909-3 ISBN 0-387-22196-4 .
- Bäck, T. (1996), Algoritmos evolutivos en teoría y práctica: estrategias de evolución, programación evolutiva, algoritmos genéticos , Universidad de Oxford. Press, Nueva York, ISBN 978-0-19-509971-3 .
- Bäck, T., Fogel, D., Michalewicz, Z. (1999), Computación evolutiva 1: operadores y algoritmos básicos , CRC Press, Boca Raton, EE. UU., ISBN 978-0-7503-0664-5 .
- Bäck, T., Fogel, D., Michalewicz, Z. (2000), Computación evolutiva 2: operadores y algoritmos avanzados , CRC Press, Boca Raton, EE. UU., doi:10.1201/9781420034349 ISBN 978-0-3678-0637-8 .
- Banzhaf, W., Nordin, P., Keller, R., Francone, F. (1998), Programación genética: introducción , Morgan Kaufmann, San Francisco, ISBN 978-1-55860-510-7 .
- Eiben, AE, Smith, JE (2003), Introducción a la computación evolutiva , Springer, Heidelberg, Nueva York, doi:10.1007/978-3-662-44874-8 ISBN 978-3-662-44873-1 .
- Holland, JH (1992), Adaptación en sistemas naturales y artificiales , MIT Press, Cambridge, MA, ISBN 978-0-262-08213-6 .
- Michalewicz, Z.; Fogel, DB (2004), Cómo resolverlo: heurística moderna . Springer, Berlín, Heidelberg, ISBN 978-3-642-06134-9 , doi:10.1007/978-3-662-07807-5.
- Benko, Atila; Dosa, György; Tuza, Zsolt (2010). "Bin Packing/Covering with Delivery, resuelto con la evolución de algoritmos". 2010 Quinta Conferencia Internacional del IEEE sobre Computación Bioinspirada: Teorías y Aplicaciones (BIC-TA) . págs. 298–302. doi :10.1109/BICTA.2010.5645312. ISBN 978-1-4244-6437-1. S2CID 16875144.
- Poli, R.; Langdon, WB; McPhee, NF (2008). Una guía de campo para la programación genética. Lulu.com, disponible gratuitamente en Internet. ISBN 978-1-4092-0073-4. Archivado desde el original el 27 de mayo de 2016 . Consultado el 5 de marzo de 2011 .[ fuente autoeditada ]
- Price, K., Storn, RM, Lampinen, JA, (2005). Evolución diferencial: un enfoque práctico para la optimización global, Springer, Berlín, Heidelberg, ISBN 978-3-642-42416-8 , doi:10.1007/3-540-31306-0.
- Ingo Rechenberg (1971), Evolutionsstrategie - Optimierung technischer Systeme nach Prinzipien der biologischen Evolution (tesis doctoral). Reimpreso por Fromman-Holzboog (1973). ISBN 3-7728-1642-8
- Hans-Paul Schwefel (1974), Numerische Optimierung von Computer-Modellen (tesis doctoral). Reimpreso por Birkhäuser (1977).
- Hans-Paul Schwefel (1995), Evolución y búsqueda óptima . Wiley & Sons, Nueva York. ISBN 0-471-57148-2
- Simon, D. (2013), Algoritmos de optimización evolutiva, Wiley & Sons, ISBN 978-0-470-93741-9
- Kruse, Rudolf; Borgelt, cristiano; Klawonn, Frank; Moewes, cristiano; Steinbrecher, Matías; Held, Pascal (2013), Inteligencia computacional: una introducción metodológica. Springer, Londres. ISBN 978-1-4471-5012-1 , doi:10.1007/978-1-4471-5013-8.
- Rahman, Rosshairy Abd.; Kendall, Graham; Ramli, Razamin; Jamari, Zainoddin; Ku-Mahamud, Ku Ruhana (2017). "Formulación de piensos para camarones mediante algoritmo evolutivo con heurísticas de potencia para el manejo de restricciones". Complejidad . 2017 : 1-12. doi : 10.1155/2017/7053710 .