11.11.05
Vida artificial (I)
Hace un tiempo que se habla mucho de un campo de la computación que levanta pasiones y sueños: la Inteligencia Artificial. Dicho campo, tiene un hermano menor, nada conocido, pero que es tan apasionante como el anterior: la Vida Artificial.
Dicho campo trata de establecer las bases teóricas y prácticas para la simulación de organismos autónomos con capacidad de reproducción y adaptación a un medio ambiente cambiante. Una definición bastante aproximada a la vida, pero con métodos artificiales: modelos matemáticos, uso de programas de ordenador, etc.
Desde hace tiempo, se vienen formulando las bases teóricas. John Von Neumann representaba la vertiente "dura", al definir la vida como "un proceso que podía ser estudiado abstrayéndolo de su base física." Es decir, que aplicando determinadas definiciones, tan viva está una bacteria real como una simulada en un ordenador. Esta escuela utiliza la disciplina para generar "vida" artificial que pueda ayudarnos a estudiar la vida real, pero también para estudiar la emergencia de sistemas complejos a partir de elementos simples y reglas de relación sencillas.
La otra vertiente, la "suave", niega la posibilidad de generar ningún tipo de vida fuera del modelo del carbono en que se basa la mayor parte de la biosfera terrestre. Dicha escuela usa las simulaciones para estudiar con modelos matemáticos las relaciones de la vida real en un sistema complejo.
Para el desarrollo de estos modelos, normalmente informatizados, se utilizan normalmente tres factores:
Las aplicaciones de este campo son, aparte del estudio de la vida real mediante modelos, la optimización de procesos mediante los algoritmos genéticos, determinados campos concretos de la inteligencia artificial, el estudio de la emergencia (en inglés) y otros muchos, como demuestra el paulatino aumento de los artículos publicados sobre esta disciplina.
Un campo apasionante del que, seguramente, hablaré en otras ocasiones.
PD: Hace un tiempo, y con mis limitaciones manifiestas en concepto de programación, diseñé un modesto programa de vida artificial basado en un solo tipo de autómata celular imbuído en un medio ambiente con diferentes gradientes de luz y nutrientes. El modelo funciona, las entidades se reproducen, y se van adaptando mediante presión selectiva a dicho medio ambiente. De hecho, incluso dejándolo casi un día completo funcionando, tuve que interrumpirlo porque no daba señales de que las entidades murieran o se extinguieran. Quizás en próximas entregas lo ponga a vuestra disposición para que lo probéis.
Para saber más:
- Vida artificial
- Cellular automaton (y en español)
- Genetic Algorithm
Dicho campo trata de establecer las bases teóricas y prácticas para la simulación de organismos autónomos con capacidad de reproducción y adaptación a un medio ambiente cambiante. Una definición bastante aproximada a la vida, pero con métodos artificiales: modelos matemáticos, uso de programas de ordenador, etc.
Desde hace tiempo, se vienen formulando las bases teóricas. John Von Neumann representaba la vertiente "dura", al definir la vida como "un proceso que podía ser estudiado abstrayéndolo de su base física." Es decir, que aplicando determinadas definiciones, tan viva está una bacteria real como una simulada en un ordenador. Esta escuela utiliza la disciplina para generar "vida" artificial que pueda ayudarnos a estudiar la vida real, pero también para estudiar la emergencia de sistemas complejos a partir de elementos simples y reglas de relación sencillas.
La otra vertiente, la "suave", niega la posibilidad de generar ningún tipo de vida fuera del modelo del carbono en que se basa la mayor parte de la biosfera terrestre. Dicha escuela usa las simulaciones para estudiar con modelos matemáticos las relaciones de la vida real en un sistema complejo.
Para el desarrollo de estos modelos, normalmente informatizados, se utilizan normalmente tres factores:
- autómatas celulares: entidades matemáticas que representan organismos autónomos con capacidad de reproducción. Suelen poseer una información "genética" en forma de datos.
- algoritmos de reproducción: modelos o funciones matemáticas para la copia de los autómatas celulares, a menudo con una tasa de "error" que simula la mutación de la información "genética".
- algoritmos de selección: modelo del medio ambiente donde se mueven los autómatas celulares. Suelen tener restricciones de "alimento" o algún tipo de característica similar para provocar una presión evolutiva sobre los autómatas celulares y obligar así a una adaptación.
Las aplicaciones de este campo son, aparte del estudio de la vida real mediante modelos, la optimización de procesos mediante los algoritmos genéticos, determinados campos concretos de la inteligencia artificial, el estudio de la emergencia (en inglés) y otros muchos, como demuestra el paulatino aumento de los artículos publicados sobre esta disciplina.
Un campo apasionante del que, seguramente, hablaré en otras ocasiones.
PD: Hace un tiempo, y con mis limitaciones manifiestas en concepto de programación, diseñé un modesto programa de vida artificial basado en un solo tipo de autómata celular imbuído en un medio ambiente con diferentes gradientes de luz y nutrientes. El modelo funciona, las entidades se reproducen, y se van adaptando mediante presión selectiva a dicho medio ambiente. De hecho, incluso dejándolo casi un día completo funcionando, tuve que interrumpirlo porque no daba señales de que las entidades murieran o se extinguieran. Quizás en próximas entregas lo ponga a vuestra disposición para que lo probéis.
Para saber más:
- Vida artificial
- Cellular automaton (y en español)
- Genetic Algorithm