Casi 20 años después, no se escucha mucho al respecto. ¿Será un tema que no encontró mayor expansión o aplicabilidad? ¿Fue víctima de una conspiración? Tal vez sólo fue un tema que fue "moda"...o tal vez ahora se llama de diferente manera (¿machine learning?).
Voy a comenzar a poner los capítulos que aún tengo, quizás le pueden servir a alguien.
¿Qué es Vida Artificial?
¿Por qué no podemos construir una
computadora que piense? ¿Por qué no podemos esperar que máquinas que son
capaces de realizar 100 millones de operaciones por segundo puedan comprender
el significado de formas geométricas en imágenes, o incluso distinguir entre
diferentes tipos de objetos similares? ¿Por qué no podemos esperar que las
computadoras aprendan de la experiencia, en vez de repetir ciegamente
instrucciones codificadas por un programador humano?
Estas son algunas de las interrogantes
que se hacen los ingenieros de sistemas, programadores y diseñadores de
computadoras, quienes tratan de crear sistemas cada vez más inteligentes. Sin embargo, se topan con la limitación del
modelo secuencial establecido por John Von Neumann, quien además formuló los
primeros conceptos de la Vida Artificial.
A pesar de que las computadoras actuales son extremadamente capaces de
llevar a cabo procesos matemáticos complejos y manejar grandes cantidades de
datos, existen problemas que no tienen una solución secuencial. Por esto, la nueva frontera de la computación
se está extendiendo, hasta llegar a la tecnología de la Vida Artificial.
La Vida Artificial consiste en la
aplicación de métodos y soluciones inspiradas en procesos biológicos
encontrados en la naturaleza. Estas
técnicas se han hecho populares en los últimos años; algunas han sido probadas
y ya se encuentran trabajando actualmente en el mercado, mientras que otras aún
se están desarrollando en los laboratorios de investigación. Existe un futuro promisorio para estas
técnicas en el desarrollo de software nuevo, ya que permitirán atacar problemas
de mayor tamaño y complejidad, y lograr soluciones viables para problemas
difíciles de computación, como el reconocimiento de imágenes y el procesamiento
de entornos virtuales.
Las tecnologías de la Vida Artificial
están basadas en los resultados de muchos y diversos campos de investigación y
están aplicando ya teorías no comprobadas acerca de algunos fenómenos
naturales. El objetivo común de todos
estos métodos es el de resolver problemas que no tienen una solución analítica
comprobable, como los resultantes de explosiones combinatorias. En muchos de los casos, estos problemas
tienen solución, pero es difícil de encontrar utilizando computadores
secuenciales.
Tecnologías existentes
El reconocimiento por computador de
escritura, lenguaje hablado u objetos necesitan del procesamiento en tiempo
real de muchas entradas relacionadas entre sí.
Solamente el proceso de rastrear objetos de un cuadro de video al otro
necesita de miles de cálculos realizados simultáneamente sobre miles de
elementos de imagen (pixels). Los
problemas de control automático también necesitan del manejo de muchas reglas
simultáneas. Los controladores robóticos
presentan un problema especial, ya que deben resolver cientos de funciones
trascendentales sólo para levantar un dedo de manera precisa.
La predicción y otros métodos
estadísticos también requieren del manejo de muchas variables
simultáneamente. Por ejemplo, usar una
búsqueda exhaustiva para encontrar el camino óptimo para un vendedor rutero
visitando una docena de ciudades lleva más tiempo de computador de lo que vale
el ahorro en combustible. Eso nos lleva
a la siguiente pregunta: ¿cómo es posible que seres naturalmente inteligentes
resuelvan este problema sin realizar un esfuerzo descomunal? Hasta una abeja puede generar rutas
complejas para visitar flores en el menor tiempo posible, comparables a las generadas
por un supercomputador. Copiando la
forma en que la naturaleza resuelve estos problemas se puede lograr la creación
de software inteligente, más pequeño, rápido y con menos errores.
El éxito más visible de estas técnicas
consiste en la aplicación de redes de neuronas, también conocida como
neurocomputación, neoconexionismo y procesamiento paralelo distribuido. Otras técnicas de la Vida Artificial incluyen
algoritmos genéticos, autómata celulares, dinámica caótica, y lógica
multivaluada (fuzzy logic).
Muchos de estos métodos copian soluciones
encontradas en la naturaleza por medio de una simulación en software del
proceso e insertando en la simulación los parámetros de un problema real. Las redes de neuronas se basan en principios
obtenidos de la investigación de la forma en que trabaja el cerebro para
modelar procesos de reconocimiento, aprendizaje y planeación. La lógica multivaluada (fuzzy logic) se
asemeja bastante a la forma en que los humanos razonamos, con reglas
aproximadas y decisiones de forma si/no/tal vez. Los algoritmos genéticos toman directamente
de la investigación genética, modelando los principios de Darwin sobre la
selección natural y la supervivencia del más fuerte.