Vida Artificial
Miriam Ruiz
Índice
•
•
•
•
•
•
•
•
•
Introducción
Patrones emergentes
Autómatas celulares
Modelos basados en agentes
Inteligencia distribuida
Evolución artificial
Química artificial
Ejemplos
Bibliografía
INTRODUCCIÓN > Qué es la Vida
¿Qué es la vida?
• No existe una definición aceptada
universalmente de lo que es la vida.
• En general, se puede decir que la condición que
distingue un organismo vivo de los objetos
inorgánicos o de organismos muertos es el
crecimiento a través de un metabolismo, un medio
de reproducción, y la regulación interna en
respuesta al ambiente.
• Aunque la capacidad de reproducción se considera
necesaria para la vida, esto quizás sea más cierto
para las especies que para organismos
individuales. Algunos animales son incapaces de
reproducirse (mulas, hormigas soldado o
simplemente organismos infértiles). ¿Quiere esto
decir que no están vivos?
INTRODUCCIÓN > Qué es la Vida Artificial
¿Qué es la vida artificial?
• Estudio de sistemas artificiales que
muestran comportamientos
característicos de los sistemas vivos
reales.
• Término acuñado a finales de los 80s por
Christopher Langton al realizar la primera
conferencia sobre el tema en Los Alamos
National Laboratory in 1987, bajo el nombre
de "International Conference on the
Synthesis and Simulation of Living Systems".
INTRODUCCIÓN > Qué es la Vida Artificial
¿Qué es la vida artificial?
Los investigadores en vida artificial a menudo
son divididos en 2 grandes grupos:
• La posición "fuerte" defiende que la vida
es un proceso que puede ser abstraído de
cualquier medio concreto.
• La posición "suave" niega la posibilidad de
que pueda existir un proceso vivo fuera de la
química del carbono. Los investigadores
que trabajan en esta línea intentan emular
procesos relacionados con la vida para
conseguir entender fenómenos simples.
INTRODUCCIÓN > Qué es la Vida Artificial
¿Qué es la vida artificial?
• El objetivo del estudio de la vida artificial no
es solamente crear modelos biológicos de
seres vivos, sino investigar los principios
fundamentales de la vida en sí misma.
• Estos pueden ser estudiados incluso a
través de modelos de los que no exista un
equivalente físico directo.
INTRODUCCIÓN > Bases de la Vida Artificial
Las bases de la vida artificial
• La vida artificial intenta trascender las
limitaciones del estudio de la vida en la
tierra, basada en la química del carbono,
basándose en la premisa de que la vida es
una propiedad de la organización de la
materia, más que una propiedad de la
materia en sí misma.
INTRODUCCIÓN > Bases de la Vida Artificial
Las bases de la vida artificial
• Método sintético: Síntesis de sistemas
complejos a partir de un conjunto de
elementos simples que interactúan entre
ellos.
• Si conseguimos capturar el espíritu esencial
del comportamiento de una hormiga, las
hormigas virtuales en una colonia simulada
se comportarán como las hormigas reales en
una colonia real.
INTRODUCCIÓN > Bases de la Vida Artificial
Las bases de la vida artificial
• Autoorganización: Formación espontánea
de patrones o de comportamientos
complejos que emergen de la interacción de
elementos u organismos más simples.
• Emergencia: Propiedad de un sistema en su
conjunto que no está contenida en ninguna
de sus partes, sino que resulta de la
interacción de elementos de ese sistema
que actúan siguiendo reglas locales y a un
nivel inferior.
Las bases de la vida artificial
INTRODUCCIÓN > Bases de la Vida Artificial
• Niveles de organización: La vida, tal
y como la conocemos en la tierra, está
organizada al menos en 4 niveles
diferentes:
– Nivel molecular.
– Nivel celular.
– Nivel de organismo.
– Nivel de población o ecosistema.
INTRODUCCIÓN > Bases de la Vida Artificial
Las bases de la vida artificial
• Hay que distinguir entre la perspectiva de un observador
externo y la del propio ente analizado.
• En concreto, las descripciones del comportamiento de una
criatura desde la perspectiva del observador no deben ser
tomadas como una descripción de los mecanismos internos
del comportamiento de esa criatura.
• El comportamiento de una criatura es siempre el resultado
de una interacción entre el sistema y el entorno. No
puede nunca ser explicado únicamente en términos del
mecanismo interno de la propia criatura.
• Comportamientos aparentemente complejos no necesitan
forzosamente mecanismos internos complejos. De igual
forma, comportamientos sencillos no son necesariamente el
resultado de mecanismos internos simples.
INTRODUCCIÓN > Modelos lineales
Modelos lineales vs. no lineales
• Los modelos lineales son incapaces de describir
muchos fenómenos naturales.
• En un modelo lineal, el todo es igual a la suma
de las partes, y pequeños cambios en cualquier
parámetro del modelo tiene poca influencia sobre
el comportamiento global del mismo.
• Se puede observar como numerosos fenómenos
como el tiempo atmosférico, el crecimiento de las
plantas, los atascos de trafico, las bandadas de
aves, los movimientos de los mercados financieros
o de stocks, el desarrollo de organismos
pluricelulares, la formación de patrones en la
naturaleza (como en las conchas de mar o las
mariposas), la evolución, la inteligencia y demás
han sido imposibles de representar con un
modelo lineal.
INTRODUCCIÓN > Modelos no lineales
Modelos lineales vs. no lineales
• Los modelos no lineales, por el contrario, muestran
unas características totalmente diferentes de las
que muestran los modelos lineales:
– Caos: Cambios muy pequeños en algún parámetro o en
las condiciones iniciales conducen a situaciones
cualitativamente diferentes.
– Fenómenos emergentes: Aparición de fenómenos en
niveles superiores que no fueron explícitamente
modelizados.
– Como principal inconveniente, los modelos no lineales
habitualmente no pueden ser resueltos de forma
analítica, al contrario que los modelos lineales. El
estudio de los modelos no lineales solamente ha sido
posible mediante ordenadores.
• Los modelos que estudia la vida artificial son
siempre no lineales.
Índice
•
•
•
•
•
•
•
•
•
Introducción
Patrones emergentes
Autómatas celulares
Modelos basados en agentes
Inteligencia distribuida
Evolución artificial
Química artificial
Ejemplos
Bibliografía
PATRONES EMERGENTES > L-Systems
Sistemas de Lindenmeyer
• Los sistemas de Lindenmayer o L-systems son un
formalismo matemático propuesto en 1968 por el
biólogo Aristid Lindenmayer como base para una
teoría axiomática sobre el desarrollo biológico.
• La idea básica es el concepto de reescritura, de
tal forma que las partes de un objeto simple son
reemplazadas utilizando unas reglas determinadas
de reescritura.
• Su aplicación es fundamentalmente para el
modelado realista de plantas y en fractales.
• Se basan en reglas simbólicas de generación de
estructuras gráficas a partir de cadenas de
caracteres.
• Solamente hace falta una pequeña cantidad de
información para representar objetos muy
complejos.
PATRONES EMERGENTES > L-Systems
Sistemas de Lindenmeyer
PATRONES EMERGENTES > L-Systems
Sistemas de Lindenmeyer
• Aunque los sistemas de Lindenmeyer no generan
directamente imágenes, sino secuencias enormes
de símbolos, se puede interpretar de tal forma que
permitan visualizarse gráficamente como gráficos
de tipo tortuga (los gráficos tipo tortuga fueron
creados por Seymour Papert para el lenguaje
LOGO).
PATRONES EMERGENTES > L-Systems
Sistemas de Lindenmeyer
PATRONES EMERGENTES > DLA
Agregación por difusión (DLA)
• "Diffusion limited aggregation, a kinetic critical
phenomena“, Physical Review Letters, num. 47,
publicado en 1981.
• Permite reproducir el crecimiento de algunas
entidades vegetales como musgos, algas o
líquenes, y de procesos químicos como la
electrolisis o la cristalización de ciertos
compuestos.
• Consiste en liberar un número de partículas
móviles dentro de un recinto acotado donde
previamente hemos fijado una o más partículas.
• Las partículas liberadas permanecen en
movimiento browniano hasta que alcancen alguna
célula contigua fija, en cuyo caso se fijan también.
PATRONES EMERGENTES > DLA
Agregación por difusión (DLA)
PATRONES EMERGENTES > DLA
Agregación por difusión (DLA)
PATRONES EMERGENTES > DLA
Agregación por difusión (DLA)
PATRONES EMERGENTES > DLA
Agregación por difusión (DLA)
Índice
•
•
•
•
•
•
•
•
•
Introducción
Patrones emergentes
Autómatas celulares
Modelos basados en agentes
Inteligencia distribuida
Evolución artificial
Química artificial
Ejemplos
Bibliografía
AUTÓMATAS CELULARES > Descripción
Autómatas celulares
• Modelo discreto estudiado en la teoría de la
computabilidad y en matemáticas.
• Consiste en una matriz o rejilla regular e infinita de
células, cada una en un estado determinado dentro de un
conjunto finito de ellos.
• La matriz puede tener cualquier numero finito de
dimensiones.
• El tiempo también es tratado de forma discreta, y el estado
de una celda de la rejilla en el instante de tiempo t es una
función de los estados de un subconjunto finito de celdas
denominado vecindario en el instante t-1.
• El vecindario de una celda determinada esta definido por
un subconjunto de las celdas situadas en ciertas posiciones
relativas a la celda analizada, y no cambia.
• Cada celda tiene las mismas reglas para su evolución,
dependientes de los valores de sus vecinos.
• En cada instante de tiempo se aplican dichas reglas a toda
la rejilla, produciéndose una nueva generación.
AUTÓMATAS CELULARES > Wolfram
Autómatas celulares de Wolfram
• Estudiados por Stephen Wolfram a principios de
los 80.
• Autómatas unidimensionales con un vecindario de
1 celda alrededor de la analizada.
• Hay 256 autómatas celulares elementales, cada
uno de ellos con un “número de Wolfram”
asociado.
AUTÓMATAS CELULARES > Wolfram
Autómatas celulares de Wolfram
AUTÓMATAS CELULARES > Wolfram
Autómatas celulares de Wolfram
AUTÓMATAS CELULARES > Wolfram
Las 4 clases de CAs de Wolfram
• Clase I (Vacía): El sistema tiende a ser
espacialmente homogéneo. Las formas o patrones
desaparecen con el tiempo. Pequeños cambios en
las condiciones iniciales no ocasionan cambios en
el estado final.
• Clase II (Estable o periódica): Conduce a una
secuencia simple estable o periódica. Corresponde
a un atractor puntual o a un atractor periódico. Los
cambios pequeños en las condiciones iniciales
producen cambios solamente en una región de
tamaño finito.
• Clase III (Caótica): Surge un comportamiento
caótico no periódico. Las formas o patrones crecen
indefinidamente a una velocidad constante. Los
cambios en las condiciones iniciales producen
cambios en una región de tamaño creciente.
• Clase IV (Compleja): Corresponden a
complicadas estructuras localizadas, algunas de
las cuales se expanden. Las formas o patrones
crecen y se contraen con el tiempo. Cambios
pequeños en las condiciones iniciales ocasionan
cambios irregulares.
AUTÓMATAS CELULARES > Wolfram
Ejemplos de CAs de clase IV
AUTÓMATAS CELULARES > Wolfram
Conchas de mar
AUTÓMATAS CELULARES > Juego de la vida
El juego de la vida de Conway
• Inventado por el matemático inglés John Conway y
publicado en un artículo de Martin Gardner en la revista
Scientific American en 1970.
• Retícula bidimensional, en cada casilla puede haber una o
ninguna célula (binario).
• El vecindario son las 8 casillas de alrededor.
• Reglas muy simples:
– Supervivencia: Una célula sobrevive si en su vecindario hay 2 ó 3
células vivas.
– Muerte: Una célula rodeada por otras 4 muere por superpoblación.
Si está rodeada por una o ninguna, muere por aislamiento.
– Nacimiento: Una casilla vacía rodeada por exactamente tres
células da lugar al nacimiento de una nueva célula.
• El resultado es un sistema Turing-Complete.
AUTÓMATAS CELULARES > Juego de la vida
El juego de la vida de Conway
AUTÓMATAS CELULARES > Juego de la vida
El juego de la vida de Conway
Índice
•
•
•
•
•
•
•
•
•
Introducción
Patrones emergentes
Autómatas celulares
Modelos basados en agentes
Inteligencia distribuida
Evolución artificial
Química artificial
Ejemplos
Bibliografía
AGENTES > Descripción
Modelos basados en agentes
• Es un modelo computacional basado en el análisis
de individuos específicos situados en un medio,
para el estudio de sistemas complejos.
• El modelo fue desarrollado conceptualmente a
finales de los 40s, y tuvo que esperar a la llegada
de los ordenadores para poder realizarse
adecuadamente.
• La idea es construir los agentes o dispositivos
computacionales y simularlos en paralelo para
conseguir modelar el fenómeno real que de quiere
analizar.
• El proceso que resulta es la emergencia desde
los niveles mas bajos del sistema social (micro)
hasta los niveles mas altos (macro).
Modelos basados en agentes
• Las simulaciones basadas en agentes tienen
dos componentes esenciales:
AGENTES > Descripción
– Agentes
– Medio
• El medio tiene cierta autonomía respecto a
lo que hacen los agentes, aunque puede ser
modificado por el comportamiento de éstos.
• Se simula la interacción de los agentes
entre ellos, así como la interacción de los
agentes con el entorno que les rodea.
AGENTES > Chimps
Sociedades artificiales
• Charlotte Hemelrijk investigó (1998) la estructura
emergente en sociedades de primates reales y simuladas.
• Las criaturas son capaces de moverse y verse
mutuamente. Si alguna criatura nota que otra está en su
espacio, entran en un enfrentamiento.
• Las relaciones de dominación se rigen por un principio de
auto-refuerzo: quien gana una pelea tiene más
posibilidades de ganar la siguiente, y al contrario.
• Si no hay enfrentamiento, siguen ciertas reglas básicas de
movimiento para mantenerles juntos, ya que son criaturas
que viven en grupos.
• Es innecesario considerar la representación de una
estructura jerárquica en las mentes individuales de los
chimancés, ya que surge espontáneamente como
estructura emergente.
AGENTES > Chimps
Sociedades artificiales
AGENTES > Chimps
Sociedades artificiales
• Las interacciones entre los chimpancés artificiales están
causadas únicamente por la proximidad, no por
consideraciones estratégicas.
• Surge una jerarquía de dominación y una estructura
social y espacial en la que los dominantes están en el
centro y los subordinados en la periferia, semejante a la
que existe en algunas especies de primates.
• Para un observador externo, da la impresión de que el
apoyo en las peleas es recompensado, a pesar de la
ausencia de motivación explícita para hacerlo.
• Esto es consecuencia de que al huir del rango de ataque
del oponente, la víctima entra en el espacio de otro
oponente diferente. Esta situación termina de forma
habitual cuando la estructura espacial ha cambiado y las
dos criaturas cooperantes se atacan entre sí.
AGENTES > Chimps
Sociedades artificiales
Índice
•
•
•
•
•
•
•
•
•
Introducción
Patrones emergentes
Autómatas celulares
Modelos basados en agentes
Inteligencia distribuida
Evolución artificial
Química artificial
Ejemplos
Bibliografía
INTELIGENCIA DISTRIBUÍDA > Descripción
Inteligencia distribuida
• Estrategias complejas de comportamiento de
un grupo en las que no existe un mando central.
• Surgen a partir de “comportamientos emergentes”.
• Se producen en un grupo como conjunto, pero
no están programadas explícitamente en
ninguno de los miembros del grupo.
• Reglas simples de comportamiento en los
miembros del grupo pueden dar como resultado un
comportamiento complejo del grupo en general.
• El grupo es capaz de solucionar problemas
complejos a partir únicamente de información
local.
• Ejemplos: Insectos sociales, sistemas
inmunológicos, procesamiento en redes
neuronales.
INTELIGENCIA DISTRIBUÍDA > Didabots
Didabots
• Experimento llevado a cabo en 1996,
estudiando el comportamiento colectivo
de robots simples, llamados Didabots.
• La idea principal es comprobar que
patrones aparentemente complejos de
comportamiento pueden ser
consecuencia de reglas muy simples que
guíen las interacciones entre las entidades y
el entorno.
• Esta idea ha sido aplicada con éxito por
ejemplo al estudio del comportamiento de
insectos sociales.
INTELIGENCIA DISTRIBUÍDA > Didabots
Didabots
• Sensores de
infrarrojos para
detectar proximidad
en un rango de unos
5 cm.
• Programados
únicamente para
esquivar obstáculos.
• Estimulación
sensorial a la
izquierda causa un
pequeño giro a la
derecha y viceversa.
INTELIGENCIA DISTRIBUÍDA > Didabots
Didabots
INTELIGENCIA DISTRIBUÍDA > Didabots
Didabots
• Inicialmente los cubos están distribuidos aleatoriamente.
• Con el tiempo, se empiezan a formar agrupaciones de
cubos. Al final, hay dos grandes montones de cubos y
algunos otros dispersos por los bordes de la pista.
• El experimento fue repetido muchas veces y el resultado
es muy consistente.
• Aparentemente los Didabots están limpiando la pista,
agrupando los bloques, visto desde la perspectiva de un
observador externo.
• La programación real de los robots fue únicamente evitar
obstáculos.
• Esto ocurre porque cuando el Didabot tiene un cubo
exactamente delante no es capaz de detectarlo y lo empuja
hasta que colisiona con otro cubo que lo desvía ligeramente
y entra en el campo de uno de los sensores, el Didabot
cambia ligeramente su rumbo entonces y lo abandona.
INTELIGENCIA DISTRIBUÍDA > Insectos sociales
Los insectos sociales
• La principal cualidad de los llamados
insectos sociales, hormigas o abejas, es la
de formar parte de un grupo autoorganizado, cuya palabra clave es la
simplicidad.
• Estos insectos resuelven los problemas
complejos gracias a la suma de
interacciones simples entre cada individuo.
INTELIGENCIA DISTRIBUÍDA > Insectos sociales
Las abejas
• La distribución de las crías y del alimento
en un panal de abejas no es al azar.
• La región central en que se sitúan las crías
está cerca de una región que contiene polen
y de otra que contiene néctar (aportando
proteínas y carbohidratos a las éstas).
• La distribución a nivel local está cambiando
constantemente debido a la entrada y salida
de polen y néctar, pero se mantiene estable
a nivel global.
INTELIGENCIA DISTRIBUÍDA > Insectos sociales
Las abejas
• Esto no es resultado de que una abeja esté
coordinando el proceso, sino de la
interacción entre ciertas reglas simples que
sigue cada abeja a nivel local:
– Depositar las crías en celdas cercanas a las que
ya tengan crías.
– Depositar néctar y polen en celdas cualesquiera,
pero vaciar antes las celdas más cercanas a
donde estén las crías.
– Extraer más polen que néctar.
INTELIGENCIA DISTRIBUÍDA > Insectos sociales
Las abejas
• Las abejas mantienen la estabilidad térmica de la
colmena mediante un mecanismo descentralizado
en el cual cada abeja actúa subjetiva y localmente.
• Si el calor aprieta, las obreras empiezan a
agobiarse y aletean para expulsar del nido el aire
caliente. También se agobian cuando refresca, y
entonces se apiñan y calientan el nido con la suma
de sus cuerpos.
• Una colonia típica proviene de una sola madre (la
reina), pero de muchos padres (entre 10 y 30) y
por tanto tiene una alta variabilidad genética, y no
ocurre que todas las abejas se agobien al mismo
tiempo, consiguiéndose una estabilidad térmica.
INTELIGENCIA DISTRIBUÍDA > Insectos sociales
Las hormigas
• Las hormigas son capaces de encontrar el camino más
corto entre una fuente de comida y su respectivo
hormiguero sin utilizar claves visuales.
• Son además capaces de encontrar un nuevo camino, que
sea el más corto, cuando se introduce un nuevo
obstáculo que impide utilizar el viejo camino.
• Aunque una hormiga aislada se mueve al azar, prefiere
seguir un camino rico en feromonas. En grupo, por tanto,
son capaces de formar y mantener un camino a través de
los rastros de feromonas que van dejando al pasar.
• Las hormigas que eligen el camino más corto llegarán
antes. Por lo tanto, el camino más corto recibirá una mayor
concentración de feromonas en una cierta unidad de
tiempo. Como consecuencia, un mayor número de
hormigas elegirá este nuevo camino más corto.
INTELIGENCIA DISTRIBUÍDA > Insectos sociales
Las hormigas
INTELIGENCIA DISTRIBUÍDA > Boids
Boids (bird-oids)
• Fueron creados a mediados de los 80
por el animador Craig Reynolds.
• Reglas muy sencillas de
comportamiento:
– Evitar las colisiones. Para ello solamente se
tiene en cuenta la posición de los otros
boids, no su velocidad.
– Intentar mantener la misma velocidad que
los boids cercanos. En este caso solamente
se considera la velocidad de los otros
boids.
– Intentar mantenerse en el centro de
gravedad del grupo de boids percibidos
alrededor. Si el boid está en la periferia del
grupo, esto ocasiona un agrupamiento
hacia el centro.
INTELIGENCIA DISTRIBUÍDA > Boids
Boids (bird-oids)
Índice
•
•
•
•
•
•
•
•
•
Introducción
Patrones emergentes
Autómatas celulares
Modelos basados en agentes
Inteligencia distribuida
Evolución artificial
Química artificial
Ejemplos
Bibliografía
EVOLUCIÓN > Auto-replicación
Auto-replicación
• La auto-replicación es el proceso por el que
algo hace copias de sí mismo.
• Las células biológicas, en un entorno
adecuado, se reproducen mediante división.
• Los virus biológicos se reproducen mediante
el uso de los mecanismos reproductivos de
las células a las que infectan.
• Los virus de ordenador se reproducen a sí
mismos usando el hardware y el software
presente de antemano en los ordenadores.
• Los memes se reproducen usando la mente
humana como su maquinaria reproductiva.
EVOLUCIÓN > Autómatas Celulares
Autómatas Celulares
• En 1948 el matemático Von Neumann encaró el problema
de la autoreplicación desde un punto de vista abstracto.
Utilizó autómatas celulares para abordar la cuestión y
demostró por primera vez la necesidad de distinguir entre
software y hardware.
• Desafortunadamente, los autómatas auto-reproductores de
Von Neumann eran demasiado grandes (80x400) y
complicados (29 estados) para poder ser implementados.
• En 1968, E. F. Codd redujo el número de estados
necesarios de 29 a 8 introduciendo el concepto de
envolturas, dos capas que envuelven el hilo de flujo de la
información, conteniéndolo y protegiéndolo.
• En 1979, C. Langton crea un automata con capacidad autoreproductora, eliminando la capacidad de construcción
universal de Von Neumann y Codd para crear un autómata
cuya característica es únicamente ser capaz de
reproducirse a sí mismo.
EVOLUCIÓN > Autómatas Celulares
Langton Loops
EVOLUCIÓN > Core War
Core War
• Es un juego publicado en mayo de 1984 en
Scientific American, en el que dos o más
programas, escritos en un lenguaje ensamblador
especial llamado Redcode, se enfrentan para
conquistar toda la memoria del ordenador.
• Se ejecuta en una máquina virtual llamada MARS
(Memory Array Redcode Simulator).
• Inspirado en Creeper, un programa que se
autorreplicaba en memoria hasta desplazar a
programas mas útiles (“virus”), y Reaper, creado
para buscar y destruir copias de Creeper.
• Los programas luchadores se reproducen e
intentan corromper el código de los contrarios.
• No hay mutaciones.
EVOLUCIÓN > Evolución genética
Evolución genética
EVOLUCIÓN > Biomorfos
Biomorfos
• Creados por Richard Dawkins
en el tercer capítulo de su libro
“The Blind Watchmaker” (El
relojero ciego).
• El programa pone de relieve la
potencia de las
micromutaciones y la selección
acumulativa.
• Biomorph Viewer permite
moverse a través del espacio
genético (de 9 dimensiones en
este caso) e ir eligiendo la
forma deseada.
• El ojo del usuario realiza el
papel de selección natural.
EVOLUCIÓN > Biomorfos
Biomorfos
EVOLUCIÓN > Criaturas virtuales de Karl Sims
Criaturas virtuales de Karl Sims
• Creados por Karl Sims en 1994.
• Sims hace evolucionar la morfología y el control
neuronal de las criaturas.
• Sims fue uno de los primeros en usar un entorno
tridimensional con física simulada en el contexto de
las aplicaciones de realidad virtual.
• La simulación de las leyes físicas incluye tener en
cuenta la gravedad, fricción, detección y respuesta
a las colisiones y efectos viscosos de los fluídos
(por ejemplo en el agua simulada).
• Debido a esta física simulada, estos agentes
interactúan de formas inesperadas con el entorno.
EVOLUCIÓN > Criaturas virtuales de Karl Sims
Criaturas virtuales de Karl Sims
EVOLUCIÓN > Criaturas virtuales de Karl Sims
Criaturas virtuales de Karl Sims
EVOLUCIÓN > Algoritmos evolutivos
Algoritmos evolutivos
• Algoritmos Genéticos: La forma mas
común de algoritmos evolutivos. Buscan la
solución a un problema en forma de texto o
de números (habitualmente en binario),
aplicando operadores de mutación y
recombinación y realizando una selección.
• Programación Genética: Las soluciones en
este caso son programas de ordenador, y
su idoneidad esta determinada por su
capacidad para resolver un problema
computacional.
EVOLUCIÓN > Algoritmos genéticos
Algoritmos genéticos
EVOLUCIÓN > Programación genética
Programación genética
EVOLUCIÓN > Tierra
El programa Tierra
• Creado por el biólogo Thomas Ray, inspirándose
en el juego “Core Wars”.
• Las criaturas están compuestas por una
secuencia de instrucciones en un lenguaje
ensamblador simplificado que se ejecuta sobre
una máquina virtual.
• El universo de estas criaturas es un ordenador
virtual, y éstas compiten por espacio (memoria
en el ordenador) y energía (ciclos de CPU).
• La máquina virtual está diseñada con una pequeña
tasa de error para permitir mutaciones en la copia
de las criaturas, de forma análoga a la mutación
natural.
• Se añade un programa que se encargue de matar
a algunos de los organismos, de forma análoga a
las catástrofes naturales.
EVOLUCIÓN > Tierra
El programa Tierra
• Al inicio se sitúa en el universo un único
organismo, escrito a mano por Ray, que
simplemente se reproduce. Tiene una longitud de
80 instrucciones y tarda 800 ciclos en replicarse.
• Cuando el espacio se rellena en un 80%, los
organismos comienzan a competir por memoria
y por CPU.
• Comienzan a surgir mutaciones de 79
instrucciones, y algo más tarde aún menores,
debido a que la evolución de los organismos ha
comenzado a optimizar el código.
EVOLUCIÓN > Tierra
El programa Tierra
• Surge un organismo de solamente 45 instrucciones
y empieza a reproducirse con éxito. 45
instrucciones está bastante por debajo del número
mínimo de instrucciones necesarias para la
replicación.
• Estos organismos coexisten con otros de
longitudes superiores a las 70 instrucciones.
• Parece haber alguna relación entre el número de
organismos cortos y el número de organismos más
largos.
• Estos organismos cortos no incorporan dentro de
ellos el código necesario para su replicación,
sino que usan el que tienen los organismos largos
de forma parasitaria para su replicación.
EVOLUCIÓN > Tierra
El programa Tierra
• Surge un organismo de gran longitud que ha
desarrollado inmunidad a los parásitos, y es
capaz de esconderse de ellos.
• Los parásitos evolucionan hacia una criatura de 51
instrucciones que es capaz de localizar a los
organismos inmunes.
• Aparecen hiperparásitos que son capaces de
explotar a los parásitos.
• Estos hiperparásitos comienzan a cooperar entre
ellos explotándose mutuamente.
• El sistema continúa evolucionando con criaturas
con actitudes competitivas y cooperativas,
sorprendiendo constantemente a su creador.
EVOLUCIÓN > Tierra
El programa Tierra
• Numerosos anfitriones (rojo)
• Aparecen algunos parásitos (amarillo)
EVOLUCIÓN > Tierra
El programa Tierra
• Los parásitos han aumentado mucho.
• Los anfitriones en disminución.
• Aparecen las primeras criaturas inmunes (azul)
EVOLUCIÓN > Tierra
El programa Tierra
• Los parásitos son desplazados espacialmente.
• Las criaturas no resistentes disminuyen aún más.
• Las criaturas inmunes aumentan y desplazan a los parásitos.
EVOLUCIÓN > Tierra
El programa Tierra
• Los parásitos escasean aún más.
• Las criaturas no resistentes continúan disminuyendo.
• Las criaturas inmunes son la forma de vida dominante.
EVOLUCIÓN > Avida
El programa AVida
• Avida es un sistema genético autoadaptativo
diseñado para poder usarlo como plataforma
en investigación de vida digital.
• Genera un mundo virtual en el que los
programas mutan y evolucionan.
• Incorpora la programación genética al
mundo virtual.
• Es semejante a Tierra, pero:
– Tiene una CPU virtual para cada programa.
– Puede evolucionar para algo más que la simple
reproducción. Función de ajuste configurable.
EVOLUCIÓN > Avida
El programa AVida
El programa Physis
• Physis va un paso más adelante:
EVOLUCIÓN > Physis
– 1ª Fase: Construcción de la estructura del procesador
y el set de instrucciones de acuerdo a la descripción
que haya en el genoma.
– 2ª Fase: Ejecución del código con el procesador recién
construido.
Índice
•
•
•
•
•
•
•
•
•
Introducción
Patrones emergentes
Autómatas celulares
Modelos basados en agentes
Inteligencia distribuida
Evolución artificial
Química artificial
Ejemplos
Bibliografía
QUÍMICA ARTIFICIAL > Descripción
Química artificial
• La química artificial es la simulación en un
ordenador de procesos químicos análogos
a los que se producen en el mundo real.
• Puede constituir la base de un programa de
vida artificial, y en tal caso generalmente se
simula alguna forma de química orgánica.
Índice
•
•
•
•
•
•
•
•
•
Introducción
Patrones emergentes
Autómatas celulares
Modelos basados en agentes
Inteligencia distribuida
Evolución artificial
Química artificial
Ejemplos
Bibliografía
EJEMPLOS > Juegos > SimLife
SimLife
EJEMPLOS > Juegos > SimLife
SimLife
• Uno de los primeros ejemplos de software de
entretenimiento anunciado como basado en
investigaciones de vida artificial fue SimLife
de Maxis, publicado en 1993.
• En esencia, SimLife permite a un usuario
observar e interactuar con un ecosistema
simulado con un terreno y clima variable, y
una gran variedad de especies de plantas,
animales herbívoros y carnívoros.
• El ecosistema es simulado usando técnicas
de autómatas celulares, y hace poco uso
de técnicas de agentes autónomos.
EJEMPLOS > Juegos > Creatures
Creatures
EJEMPLOS > Juegos > Creatures
Creatures
• Creatures es un juego creado en 1996 para Windows 95 y
Macintosh, y que ofrece la posibilidad de relacionarse con
tecnologias de vida artificial.
• Creatures genera un entorno simulado en el que
coexisten varios agentes sintéticos con los que el
usuario puede interactuar en tiempo real. Los agentes, que
reciben el nombre de Creatures pretenden ser una especie
de "mascotas virtuales".
• La arquitectura interna de las criaturas esta inspirada por
la biología animal. Cada criatura tiene una red neuronal
responsable de la coordinación motor-sensorial y de su
comportamiento y una bioquímica artificial que simula un
metabolismo energético muy sencillo y un sistema
hormonal que interactúa con la red neuronal. Un
mecanismo de aprendizaje permite ir adaptándose a la red
neuronal durante la vida de la criatura.
EJEMPLOS > Juegos > The Sims
The Sims
EJEMPLOS > Juegos > The Sims
The Sims
• The Sims, creado por Maxis, es quizás el mejor ejemplo de
vida artificial y de inteligencia artificial basada en maquinas
de estado con lógica difusa que hay ahora mismo en la
industria del videojuego.
• El juego permite diseñar pequeños edificios virtuales y sus
vecindarios y poblarlos con residentes virtuales ("Sims").
Cada Sim puede ser creado con una gran variedad de
características físicas y personalidades diferentes.
• Los Sims se comportan conforme sea el mundo y los
rasgos de personalidad que se les hayan dado. Aunque la
mayoría de los Sims son capaces de sobrevivir, necesitan
muchos cuidados por parte de la persona que juegue para
mejorar.
• Los objetos dentro del mundo virtual, denominado "smart
terrain" o "terreno inteligente" por su diseñador Will Wright,
incorporan dentro de ellos los comportamientos y acciones
posibles relacionadas con dicho objeto. Esto permite que
nuevos objetos sean añadidos al juego de una forma
sencilla.
EJEMPLOS > Galápagos
Galápagos
EJEMPLOS > Galápagos
Galápagos
• Galápagos es un proyecto de simulación de vida artificial en
el que una serie de criaturas evolucionan en el tiempo.
• Mediante la implementación de mutaciones y cruces y a
través de la selección natural, el resultado es la evolución
de diferentes criaturas y el surgimiento de nichos
ecológicos.
• En esta simulación, las criaturas habitan un territorio que
contiene agua, arena, tierra, roca, hierba, etc.
• Todas las criaturas tienen 4 patas y una serie de genes
determinan sus propiedades físicas, así como su sistema
digestivo.
• El genoma de las criaturas define asimismo un sistema
sencillo de comportamiento con lógica difusa.
• Las simulaciones comienzan típicamente con herbívoros sin
gran inteligencia y gran mortalidad, y acaban surgiendo
diferentes caminos evolutivos que conducen a la aparición
de animales carroñeros y de carnívoros.
EJEMPLOS > FramSticks
FramSticks
EJEMPLOS > FramSticks
FramSticks
• El objetivo es estudiar las capacidades de
evolución en condiciones similares a las
de la tierra, aunque simplificadas.
• Se usa un entorno tridimensional,
representación de los organismos mediante
un genoma, estructura física (cuerpo) y red
neuronal (mente) definidas en el genotipo,
ciclo de comportamiento basado en
estímulos (entorno – receptores – mente –
effectores – entorno), operaciones de
reconfiguración del genotipo (mutación,
cruce), necesidades energéticas y
especialización.
Índice
•
•
•
•
•
•
•
•
•
Introducción
Patrones emergentes
Autómatas celulares
Modelos basados en agentes
Inteligencia distribuida
Evolución artificial
Química artificial
Ejemplos
Bibliografía
Bibliografía
•
•
•
•
•
•
•
•
•
•
•
Tierra: www.his.atr.jp/~ray/tierra/
Avida: http://dllab.caltech.edu/avida/
Physis: http://physis.sourceforge.net/
Galápagos: http://www.lysator.liu.se/~mbrx/galapagos/
Wikipedia: www.wikipedia.org
Curso sobre Vida Artificial por la Universidad de Zurich:
http://ailab.ch/teaching/classes/2003ss/alife
Curso sobre Vida Artificial:
http://www.ifi.unizh.ch/groups/ailab/teaching/AL00.html
Vida artificial, Un enfoque desde la Informática Teórica:
http://members.tripod.com/~MoisesRBB/vida.html
Digitales Leben:
http://homepages.feis.herts.ac.uk/~comqdp1/Studienstiftung/tierra_avida
_hysis.ppt
GNU/Linux AI & Alife HOWTO: http://zhar.net/gnulinux/howto/html/ai.html
Matrem: www.phys.uu.nl/~romans/
Bibliografía
• Diffusion-Limited Aggregation:
http://classes.yale.edu/fractals/Panorama/Physics/DLA/DLA.html
• DLA - Diffusion Limited Aggregation:
http://astronomy.swin.edu.au/~pbourke/fractals/dla/
• John Conway's solitaire game "life“: http://ddi.cs.unipotsdam.de/HyFISCH/Produzieren/lis_projekt/proj_gamelife/ConwaySci
entificAmerican.htm
• Boids, background and update, by Craig Reynolds:
http://www.red3d.com/cwr/boids/
• Flocks, Herds, and Schools: A Distributed Behavioral Model:
http://www.cs.toronto.edu/~dt/siggraph97-course/cwr87/
• Creatures: Artificial Life Autonomous Software Agents for Home
Entertainment:
http://mrl.snu.ac.kr/CourseSyntheticCharacter/grand96creatures.pdf
• Evolving Virtual Creatures:
http://www.genarts.com/karl/papers/siggraph94.pdf
• Core War, artículos escaneados de A.K. Dewdney:
http://www.koth.org/info/sciam/
• FramSticks: http://www.frams.alife.pl/
• StarLogo: http://education.mit.edu/starlogo/
Descargar

Vida Artificial