La evolución autoconstructiva es un proceso en el que las entidades que experimentan cambios evolutivos son responsables de la construcción de su propia descendencia y, por lo tanto, de aspectos del proceso evolutivo en sí. Dado que la evolución biológica es siempre autoconstructiva, este término se utiliza principalmente en computación evolutiva para distinguir los sistemas de vida artificial de los algoritmos genéticos convencionales, donde el algoritmo genético realiza la replicación artificialmente. [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] El término fue acuñado por Lee Spector. [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ]
Importancia de la evolución autoconstructiva
La evolución autoconstructiva es una buena plataforma para responder preguntas teóricas sobre la evolución de la capacidad de evolución . La evidencia preliminar sugiere que la forma en que se genera la descendencia cambia sustancialmente a lo largo de la evolución. [ 11 ] Al estudiar estos patrones, podemos comenzar a comprender cómo los sistemas evolutivos se organizan para evolucionar más rápido. En última instancia, dicha comprensión podría permitirnos mejorar nuestra capacidad para resolver problemas con computación evolutiva .
También se cree que esta mayor capacidad del proceso de autorreplicación para evolucionar es importante para recrear el proceso evolutivo abierto observado en la Tierra [ 12 ].
Ejemplos de evolución autoconstructiva
Tierra y Vida
Una forma relativamente simple de autoconstrucción se da en sistemas como Tierra y Avida . En estos sistemas, los programas se replican asignando espacio en la memoria para su descendencia y luego recorriendo todas las instrucciones de su genoma y copiándolas en el espacio recién asignado. [ 13 ] Esto es autoconstrucción en el sentido de que los programas son responsables de determinar qué código termina en la descendencia. Los programas suelen hacer copias exactas de sí mismos, y los cambios se introducen exclusivamente mediante eventos de mutación. Sin embargo, en principio, los programas pueden componer una amplia gama de posibles descendientes copiando solo un subconjunto de sus genomas.
PushGP
PushGP es un sistema de programación genética que desarrolla código escrito en el lenguaje Push. [ 8 ] Push es un lenguaje basado en pila diseñado para facilitar su uso en programación genética, donde cada tipo de variable (por ejemplo, cadenas, enteros, etc.) tiene su propia pila. Todas las variables se almacenan en la pila asociada a su tipo. Uno de los tipos de variables es el código ejecutable de Push. Como resultado, este diseño de lenguaje permite una rica evolución autoconstructiva al tratar todo el código que queda en la pila de código al final de la ejecución del programa como la descendencia del programa. [ 14 ] Mediante este enfoque, los programas tienen control total sobre los programas descendientes que crean, permitiendo en algunos casos que los métodos de variación empleados por la población evolucionen a medida que el sistema se ejecuta. [ 15 ]
Referencias
- ↑ Ekárt, Anikó (2014-03-01). "Emergencia en programación genética" (PDF) . Programación genética y máquinas evolutivas . 15 (1): 83– 85. doi : 10.1007/s10710-013-9199-4 . ISSN 1389-2576 . S2CID 20992086 .
- ↑ Miller, Julian F. (2011). Programación genética cartesiana . Springer Science & Business Media. pág. 10. ISBN 978-3642173103.
- ↑ Rahim, Adzni Abdul (2008). Un estudio paramétrico sobre la competencia reproductiva en la vida artificial autoconstructiva (tesis de maestría). Universiti Malaysia Sabah.
- ↑ Ryser-welch, Patricia; Miller, Julian F. (2014). "Una revisión de los marcos hiperheurísticos". Actas del Taller Evo20, AISB . CiteSeerX 10.1.1.563.9564 .
- ↑ Rahim, AB Abdul; Teo, J.; Saudi, A. (junio de 2006). "Una comparación empírica del límite de tamaño de código en la vida artificial autoconstructiva". Conferencia IEEE de 2006 sobre Cibernética y Sistemas Inteligentes . págs. 1–6 . doi : 10.1109/ICCIS.2006.252308 . ISBN 978-1-4244-0022-5. S2CID 17596010 .
- ↑ Spector, Lee (2010-10-20). «Hacia una evolución autoconstructiva práctica: autoevolución de sistemas de programación genética para la resolución de problemas» . Teoría y práctica de la programación genética VIII . Springer Science & Business Media. págs. 14–30 . ISBN 978-1441977472.
- ↑ Spector, Lee (2000). Programación automática de computadoras cuánticas: un enfoque de programación genética . Springer Science & Business Media . págs. 7–72 . ISBN 978-1402078958.
- 1 2 Spector, Lee (2001). "Evolución autoconstructiva: Push, pushGP y pushpop" (PDF) . Actas de la Conferencia de Computación Genética y Evolutiva . GECCO. San Francisco, CA, EE. UU.: ACM. págs. 137–146 .
- ↑ Spector, Lee; Moscovici, Eva (2017). «Desarrollos recientes en evolución autoconstructiva». Actas de la Conferencia de Computación Genética y Evolutiva (GECCO '17). Nueva York, NY, EE. UU.: ACM. págs. 1154–1156 . doi : 10.1145/3067695.3082058 . ISBN 9781450349390. S2CID 1968045 .
- ↑ Harrington, Kyle; Tosch, Emma; Spector, Lee; Pollack, Jordan (2011). «Compositional Autoconstructive Dynamics» (PDF) . Unifying Themes in Complex Systems Volumen VIII: Actas de la Octava Conferencia Internacional sobre Sistemas Complejos . New England Complex Systems Institute . págs. 856–870 . ISBN 978-0-9656328-4-3.
- ↑ Spector, Lee; Moscovici, Eva (2017). «Desarrollos recientes en evolución autoconstructiva». Actas de la Conferencia de Computación Genética y Evolutiva (GECCO '17). Nueva York, NY, EE. UU.: ACM. págs. 1154–1156 . doi : 10.1145/3067695.3082058 . ISBN 9781450349390. S2CID 1968045 .
- ↑ Taylor, Tim; Bedau, Mark; Channon, Alastair; Ackley, David; Banzhaf, Wolfgang; Beslon, Guillaume; Dolson, Emily; Froese, Tom; Hickinbotham, Simon (2016-07-29). "Evolución abierta: perspectivas del taller OEE en York" ( PDF) . Artificial Life . 22 (3): 408– 423. doi : 10.1162/ARTL_a_00210 . ISSN 1064-5462 . PMID 27472417. S2CID 215715948 .
- ↑ Ofria, Charles; Wilke, Claus O. (2004). "Avida: una plataforma de software para la investigación en biología evolutiva computacional". Artificial Life . 10 (2): 191– 229. CiteSeerX 10.1.1.211.8981 . doi : 10.1162/106454604773563612 . ISSN 1064-5462 . PMID 15107231. S2CID 15128560 .
- ↑ Robinson, Alan; Spector, Lee (1 de marzo de 2002). "Programación genética y evolución autoconstructiva con el lenguaje de programación Push". Genetic Programming and Evolvable Machines . 3 (1): 7– 40. doi : 10.1023/A:1014538503543 . ISSN 1573-7632 . S2CID 5584377 .
- ↑ Spector, Lee; McPhee, Nicholas Freitag; Helmuth, Thomas; Casale, Maggie M.; Oks, Julian (2016-07-20). "La evolución evoluciona con la autoconstrucción" . Actas de la Conferencia de Computación Genética y Evolutiva de 2016. GECCO '16 Companion. Nueva York, NY, EE. UU.: Association for Computing Machinery. págs. 1349–1356 . doi : 10.1145/2908961.2931727 . ISBN 978-1-4503-4323-7.
Enlaces externos
- Evolución autoconstructiva con PushGP y Pushpop
- biología evolutiva