La computación evolutiva utiliza las características de la teoría de Darwin para construir sistemas inteligentes (métodos de contabilidad grupal, algoritmos genéticos ). Forma parte del campo más amplio de la inteligencia artificial : la inteligencia computacional .
El modelado evolutivo es ya un área bastante establecida en la que es posible distinguir:
El uso de los principios darwinianos para la resolución automática de problemas comenzó en la década de 1950. Para 1960, se estaban desarrollando tres interpretaciones diferentes de esta idea en tres lugares diferentes. La programación evolutiva fue introducida por Lawrence J. Vogel en los Estados Unidos, mientras que John Henry Holland llamó a su método algoritmo genético . En Alemania, Ingo Rechenberg y Hans-Paul Schwefel introdujeron el enfoque de estrategia evolutiva . Estas áreas se han desarrollado por separado durante unos 15 años. Desde principios de la década de 1990, se han unificado como "dialectos" de una sola tecnología llamada computación evolutiva. Además, a principios de los noventa, apareció una cuarta corriente: la programación genética . Desde la década de 1990, la computación evolutiva se ha asociado en gran medida con la idea de inteligencia de enjambre , y los algoritmos inspirados en la naturaleza se están convirtiendo en una parte cada vez más importante de esta tendencia.
Así, los términos "programación evolutiva", "estrategias evolutivas", "algoritmos genéticos" y "programación genética" se consideran como casos especiales del término general "computación evolutiva" o "modelado evolutivo".
El modelado de la evolución utilizando las ideas de los algoritmos evolutivos y la vida artificial comenzó con el trabajo de Niels Aall Barricelli en la década de 1960 y fue ampliado por Alex Fraser, quien publicó una serie de trabajos sobre el modelado de la selección artificial . [1] Los algoritmos evolutivos se convirtieron en una técnica de optimización establecida como resultado del trabajo de Ingo Rechenberg en la década de 1960 y principios de la de 1970, quien los usó para resolver problemas complejos de ingeniería. [2] Los algoritmos genéticos se hicieron especialmente populares gracias al trabajo de John Holland . [3] Junto con el crecimiento del interés académico, el aumento dramático en el poder de las computadoras ha permitido aplicaciones prácticas, incluida la evolución automática de los programas de computadora. [4] Los algoritmos evolutivos se utilizan actualmente para resolver problemas multidimensionales de manera más eficiente que el software desarrollado por humanos. [5]
La figura muestra un diagrama del funcionamiento de una de las variedades de cálculos evolutivos: un algoritmo genético (GA), pero puede usarse para comprender la idea general del enfoque.
La población inicial se entiende como un determinado número de objetos obtenidos, normalmente de forma aleatoria. En AG, tales objetos son vectores ("genotipos") de genes, donde cada gen puede ser un bit, un número o algún otro objeto. La estrategia evolutiva (ES) opera con vectores de números reales. En la programación genética (GP) y evolutiva (EP), el papel de los objetos lo desempeñan programas que cada vez mejor (según una determinada función de aptitud) resuelven el problema computacional planteado.
Una mutación es un cambio aleatorio en un "genotipo". En GA y ES, el operador de mutación se puede implementar simplemente agregando una variable aleatoria normalmente distribuida a cada componente del vector. En GP y EP, esta operación depende en gran medida de la forma de codificar los programas desarrollados. Por ejemplo, con la codificación de árbol (ver figura), se puede hacer cambiando aleatoriamente la información en un nodo o agregando o eliminando un nodo o un subárbol completo.
El operador "cruce" produce una recombinación de soluciones candidatas, cuyo papel es similar al papel del cruce en la naturaleza. La reproducción en los cálculos evolutivos suele ser sexual: se necesitan varios padres, generalmente dos, para producir descendencia. La reproducción en diferentes algoritmos se define de manera diferente; por supuesto, depende de la representación de los datos. El principal requisito para la reproducción es que la descendencia o descendencia tenga la oportunidad de heredar los rasgos de ambos progenitores, “mezclándolos” de alguna manera.
En la etapa de selección, es necesario seleccionar una cierta proporción de toda la población que permanecerá "viva" en esta etapa de evolución. Hay diferentes formas de seleccionar. La probabilidad de supervivencia de un individuo h debe depender del valor de la llamada función de aptitud Fitness(h). Esta función debe configurarse de tal manera que su valor para un genotipo dado (vector genético, resultados del programa que se está cultivando) pueda usarse para juzgar el grado de éxito de un genotipo dado. La tasa de supervivencia en sí misma suele ser un parámetro del algoritmo genético, y simplemente se da por adelantado. Como resultado de la selección, de N individuos de la población H, deben quedar sN individuos, que serán incluidos en la población final H'. El resto de los individuos mueren.
A principios de la década de 1970, el ganador del Premio Nobel M. Eigen hizo un impresionante intento de construir modelos para el surgimiento de sistemas de procesamiento de información genética molecular en la biosfera primitiva de la Tierra [6] . El más famoso de ellos es el modelo de “cuasiespecies”, que describe la evolución simple de secuencias de polinucleótidos (información). Siguiendo a Eigen en 1980, los científicos de Novosibirsk V. Ratner y V. Shamin propusieron un modelo de "calibradores" [7] .
El modelo de cuasiespecie considera la evolución gradual de una población de secuencias de información ( vectores ), cuyos componentes adquieren un pequeño número de valores discretos. La aptitud de los "individuos" en los modelos se da en función de los vectores. En cada etapa, hay una selección de individuos en la población de la próxima generación con probabilidades proporcionales a su aptitud, así como mutaciones de individuos: reemplazos aleatorios equiprobables de componentes del vector.
El modelo de dimensionamiento en el caso más simple considera un sistema de tres tipos de macromoléculas : una plantilla de polinucleótidos y enzimas de traducción y replicación codificadas por esta plantilla. Una matriz de polinucleótidos es como un dispositivo de memoria que almacena información sobre las unidades funcionales del medidor: enzimas. La enzima de traducción asegura la "producción" de una enzima arbitraria según la información registrada en la matriz. La enzima de replicación proporciona la copia de la plantilla de polinucleótidos. Los calibradores son suficientes para la autorreproducción . Al incluir enzimas adicionales codificadas por la plantilla de polinucleótidos en el esquema del medidor, es posible proporcionar al medidor cualquier propiedad, por ejemplo, la capacidad de regular la síntesis de ciertas enzimas y adaptarse a los cambios en el entorno externo. [ocho]
La computación evolutiva (EC) se usa a menudo para organizar la búsqueda estocástica, especialmente en el caso de problemas multimodales, cuando los métodos de optimización deterministas o métodos estocásticos más simples no permiten estudiar el comportamiento de la función objetivo fuera de las regiones de óptimos locales. Los métodos EV no garantizan encontrar el óptimo global en tiempo polinomial. El interés práctico de los mismos se debe a que estos métodos, como muestra la práctica, permiten encontrar mejores (o “suficientemente buenas”) soluciones a problemas de búsqueda muy difíciles en menos tiempo que otros métodos habitualmente utilizados en estos casos. Una limitación típica de su uso es la necesidad (para construir una buena solución) de calcular repetidamente la función objetivo (la palabra "repetidamente" generalmente significa números de cientos a millones). Sin embargo, los métodos EV han demostrado ser bastante efectivos para resolver una serie de problemas reales en el diseño de ingeniería, la planificación, el enrutamiento y la ubicación, la gestión de carteras, la búsqueda de estados energéticos óptimos de estructuras químicas y moleculares, así como en muchas otras áreas que permiten un conjunto adecuado de representaciones, operadores, volúmenes y estructuras de poblaciones, etc.
Dado que la evolución parece ser la base del mecanismo de procesamiento de la información en los sistemas naturales, los investigadores se esfuerzan por construir modelos teóricos y computacionales que realmente expliquen los principios de este mecanismo (ver " Ciencias de la Computación Natural "). La investigación en esta área se caracteriza por entender que los modelos deben contener no solo el nacimiento y la muerte de las poblaciones, sino también algo intermedio. Los siguientes conceptos son los más frecuentemente involucrados.
La inteligencia de enjambre describe el comportamiento colectivo de un sistema autoorganizado descentralizado. Considerado en la teoría de la inteligencia artificial como un método de optimización. El término fue introducido por Gerardo Beni y Wang Jing en 1989, en el contexto del sistema de robot celular [9] . Los sistemas de inteligencia de enjambre, por regla general, consisten en un conjunto de agentes ( sistema multiagente ) que interactúan localmente entre sí y con el entorno. Los propios agentes suelen ser bastante simples, pero todos juntos, interactuando localmente, crean la llamada inteligencia de enjambre. Un ejemplo en la naturaleza es una colonia de hormigas , un enjambre de abejas , una bandada de pájaros, peces...
La inteligencia colectiva es un término que apareció en sociología a mediados de la década de 1980 cuando se estudiaba el proceso de toma de decisiones colectivas. Los investigadores del NJIT han definido la inteligencia colectiva como la capacidad de un grupo para encontrar soluciones a problemas que son mejores que la mejor solución individual de ese grupo.
Dirección sociológica: dado que la sociedad humana es una herramienta de procesamiento de información real, además, bien observable y documentada (a diferencia del cerebro humano), las metáforas sociológicas y las reminiscencias han estado presentes en los trabajos sobre cibernética y áreas relacionadas desde sus inicios. Si la inteligencia de enjambre se centra en obtener comportamientos complejos en un sistema a partir de elementos simples, este enfoque, por el contrario, explora la construcción de objetos simples y especiales a partir de objetos complejos y universales: “el estado es más tonto que la mayoría de sus miembros”. ” [10] . Esta dirección se caracteriza por el deseo de dar definiciones a conceptos sociológicos desde el campo de la informática. Así, en [11] la élite se define como portadora de cierto modelo privado del mundo real, y la base (es decir, el pueblo) desempeña el papel de árbitro entre las élites. El proceso evolutivo consiste en la generación y muerte de élites. La base no puede comprender la esencia de las ideas y modelos presentados por las élites, y no se propone tal tarea. Sin embargo, precisamente por su no involucramiento, conserva la capacidad de una clara evaluación emocional, lo que le permite distinguir fácilmente a las élites carismáticas de las decadentes que intentan mantener sus privilegios, al darse cuenta de que su idea o modelo no ha sido confirmado.
![]() | |
---|---|
En catálogos bibliográficos |