lunes, 13 de mayo de 2013

Inteligencia artificial emergente


Por cortesía de Mente Errabunda;

De manera inicial y para entender el concepto de inteligencia artificial, y de cómo fue surgiendo esta ciencia, Steven Johnson señala, en el libro escrito el año 2004 titulado “Sistemas Emergentes: O qué tienen en común hormigas, neuronas, ciudades y software”, cómo diferentes sistemas, las colonias de hormigas, las ciudades y hasta el cerebro humano, tienen un comportamiento complejo que surge a partir del comportamiento individual de los componentes del sistema, siguiendo reglas simples, y la interacción existente entre ellos. Es decir, se observa un comportamiento ascendente. El descubrimiento de la inteligencia colectiva y la conducta ascendente ha sido fundamental para el desarrollo de las nuevas tecnologías de la información y el surgimiento de la inteligencia artificial. Pasada la primera década del siglo veintiuno, las investigaciones sobre inteligencia artificial van tomando mayor relevancia, y muchas de sus aplicaciones forman parte de la vida cotidiana de las personas. Las fábricas están llenas de robots que reemplazan el trabajo humano, los nuevos dispositivos electrónicos tienen inmersa una especie de inteligencia que hace que se adapten a las preferencias de las personas, entre tantas otras. Principalmente en Europa y Norte América, son numerosos los prototipos y experimentos que se realizan frecuentemente con el objetivo que este comportamiento emergente e inteligente asista al ser humano en sus actividades diarias, mejorando su calidad de vida.


La inteligencia artificial surgió en el año 1956 y se puede definir de muchas formas, una como otra cualquiera es que la inteligencia artificial es la rama de la computación y de la robótica que permite que las máquinas realicen tareas, de manera que si fueran realizadas por humanos, serían calificadas de operaciones o decisiones inteligentes. Según Víctor Méndez, en la tesis de grado escrita el año 2007 de titulo “técnicas de inteligencia artificial emergente aplicadas al servicio de replicación de datos de arquitecturas grid”, una de las dificultades de la inteligencia artificial clásica en los estudios cognitivos, es que aportan más conocimiento de los mecanismos del cerebro, que de los principios subyacentes al problema concreto. Enfrentando esta limitación y a partir de la inteligencia artificial, nace la “computación evolutiva”, basada en la mutación genética al azar y la reproducción, de un conjunto de seres virtuales. La computación evolutiva es parte de lo que se viene a denominar como “vida artificial”, mientras que la inteligencia artificial estudia la inteligencia para solucionar problemas, la vida artificial estudia el comportamiento de seres, también para solucionar problemas. En el caso de la computación evolutiva, el modelo se basa en las leyes de la evolución de las especies. Posteriormente apareció la inteligencia artificial emergente, como otra rama de la vida artificial. En este caso se prescinde de la información genética de los seres, centrándose en alguna faceta social concreta, que pudiera tener similitud con los problemas, como por ejemplo la búsqueda de comida. La principal ventaja de la inteligencia artificial emergente frente a la computación evolutiva, es que permite una mejor adaptación al problema específico, ya que no es necesaria la traducción entre el código genético y el dominio del problema. Dicho de otra forma la computación evolutiva permite definir las operaciones emergentes en términos directos de las especificaciones del problema.

En las distintas aproximaciones al problema de la localización y selección de réplicas se puede observar una tendencia a simplificar el uso de las arquitecturas utilizadas. Era el caso de los árboles planos en estructura de anillo o del mecanismo entre-pares del servicio de localización de réplicas basado en tablas hash distribuidas entre pares. El límite teórico a esta tendencia es la necesidad de mantener un servicio de localización y selección determinístico, con una interfaz explicita, más o menos consistente, de acceso al espacio de localización de nombres global. La inteligencia emergente puede cubrir estas necesidades heurísticas. Ello hace plantear un mecanismo que aporte una información local del espacio de localización y un modelo de selección no determinístico, es decir que no necesite una interfaz explícita de acceso al espacio de localización; que por contra funcione a partir de estadísticas de acceso genéricas y catálogos de ficheros locales que mediante cierta heurística pueda llegar a conformar una interfaz implícita del espacio de localización de archivos.

Siguiendo el enfoque de Méndez, en una revisión del estado del arte hasta el año 2007 las dos técnicas más relevantes del campo de la inteligencia artificial emergente constituyen: (1) Optimización por enjambre de partículas, con investigaciones relevantes realizadas por Shi y Eberhart, en el artículo publicado el año 1998 relacionado con “un optimizador de enjambre de partículas modificado”, además del mini tutorial publicado el año 2002 por los investigadores Eberhart y Kennedy. (2) Optimización por colonias de hormigas, con el trabajo destacado realizado por los investigadores Dorigo, Maniezzo y Colorni, en el reporte técnico titulado “Sistema de hormigas: Un proceso de optimización auto catalítico”. Ambas técnicas con probada eficacia en numerosos campos de la ciencia de la computación.

La optimización por enjambre de partículas es una técnica incluida en la computación evolutiva y fue desarrollada por los investigadores Eberhart y Kennedy el año 1995. Es una herramienta de optimización basada en poblaciones, similar a los algoritmos genéticos, y en concreto más parecida a modelos de poblaciones de hormigas que se comentaran en el siguiente punto. Está inspirada en el comportamiento social de las abejas, o en los movimientos de las bandadas de pájaros, para aplicarse en problemas de optimización. La optimización por enjambre de partículas presenta distintos parámetros a ajustar que le hacen más flexible que los algoritmos genéticos, con aplicaciones en optimización funcional, entrenamiento de redes neuronales, sistemas de control difusos u otras áreas donde los algoritmos genéticos pueden ser aplicados.

El algoritmo de la optimización por enjambre de partículas es bastante sencillo: Un enjambre de partículas realiza una búsqueda aleatoria de la solución en un espacio de muchas dimensiones. Sólo hay una solución en el espacio de búsqueda en cada momento. Cada partícula no sabe dónde está la solución, pero conoce a qué distancia se encuentra de ella en cada iteración. Las partículas conocen a qué distancia están el resto de partículas. La estrategia es seguir a la partícula que se encuentre más cerca de la solución. Una vez inicializado el enjambre de partículas, busca el óptimo mediante actualizaciones de las iteraciones. La diferencia principal con los algoritmos genéticos, donde las iteraciones tomaban la forma de generaciones, es que no existen operadores evolutivos como la mutación o el apareamiento. En la optimización por enjambre de partículas las soluciones potenciales, llamadas partículas, se mueven a lo largo del espacio del problema guiadas por su propia trayectoria y por la posición de las partículas óptimas actuales.

Respecto a la optimización por colonias de hormigas, los sistemas basados en el comportamiento de las hormigas fueron propuestos por el grupo de los investigadores Dorigo, Maniezzo y Colorni a principios de los años 1990 y algo después ampliamente formalizados como algoritmos de optimización. Suponen una aproximación multi-agente a complejos problemas de optimización combinatoria como son el problema del agente viajero y el problema de asignación cuadrática. Los algoritmos de hormigas están inspirados en la observación de hormigueros. Las hormigas son insectos sociales, esto es, insectos que viven en colonias y cuyo comportamiento está destinado a la supervivencia de la colonia como un todo, más que aquel comportamiento que atañe sólo a una hormiga. Como se veía con la optimización por enjambre de partículas y las abejas, los insectos sociales han captado la atención de muchos científicos debido al alto grado de estructuración que pueden alcanzar sus colonias, con base en unas sencillas pautas de comportamiento individual. En concreto y al igual que ocurría con las abejas, resulta especialmente interesante cómo encuentran las rutas más cortas entre la comida y el hormiguero.

Mientras buscan o regresan con comida, las hormigas depositan en el suelo una sustancia llamada feromona, formando vías de feromonas que otras siguen. Las hormigas pueden oler estas feromonas y cuando eligen su camino tienden a elegir en términos probabilísticos las rutas marcadas con concentraciones de feromonas más altas. Estas vías permiten a las hormigas encontrar fácilmente el camino de vuelta al hormiguero. Así mismo permite a otras hormigas encontrar las fuentes de comida más cercanas. Por otro lado la concentración de feromonas va perdiendo intensidad conforme discurre el tiempo. Además, cuando la concentración alcanza un umbral de saturación produce el efecto contrario a la hora de la elección probabilística en la búsqueda de comida. Las hormigas que retornan con comida no se ven afectadas por el umbral de saturación, pero las que van en búsqueda sí que lo hacen, esto es una respuesta al hecho probable de que ya no se encuentre m´as comida en una vía de feromonas sobre-explotada.

Referencias Bibliográficas
Dorigo M., V. Maniezzo, and A. Colorni (1991) The ant system: An autocatalytic optimizing process. Technical report no. 91-016 revised. Technical report, Politecnico di Milano, 1991.
Eberhart and Kennedy (2002) Particle swarm optimization: mini tutorial, 2002.
Johnson Steven (2004) Sistemas Emergentes: O qué tienen en común hormigas, neuronas, ciudades y software. Ediciones Turner/Fondo de Cultura Económica. Madrid, 2004.
Méndez Muñoz Víctor (2007) Técnicas de inteligencia artificial emergente aplicadas al servicio de replicación de datos de arquitecturas grid. Tesis de doctorado de la Escuela politécnica superior de la Universidad Carlos III de Madrid.
Shi R.C., Y. Eberhart. (1998) A modified particle swarm optimizer. In Proceedings of the IEEE International Conference on Evolutionary Computation, pages 69–73. IEEE Press. Piscataway, NY.

No hay comentarios: