Warning: Creating default object from empty value in /opt/info/www/servicios/comunicacion/components/com_k2/models/item.php on line 276
Lunes, 15 de Junio de 2015 11:33

Un algoritmo inspirado en la Teor�a de la Evoluci�n ayuda a dise�ar programas inform�ticos complejos

Antonio Mart�n
Califica este artículo
(2 votos)
Los investigadores Jos� Ra�l Romero (izquierda), Aurora Ram�rez y Sebasti�n Ventura, en la sala de trabajo del grupo KDIS, de la Universidad de C�rdoba. Los investigadores Jos� Ra�l Romero (izquierda), Aurora Ram�rez y Sebasti�n Ventura, en la sala de trabajo del grupo KDIS, de la Universidad de C�rdoba. G. C. - A. M.

La UCO emplea la inteligencia artificial para ayudar a ingenieros de �software� a dise�ar aplicaciones como las que emplean grandes almacenes u hospitales

Espacios de trabajo con muchos empleados y recursos, como por ejemplo unos grandes almacenes o una f�brica, suelen emplear programas inform�ticos bastante complejos para sus gestiones de log�stica, distribuci�n o venta, por ejemplo, con diferentes m�dulos y funcionalidades interconectados. Si surge un problema en alg�n punto de este sistema, generalmente se acude a ingenieros de Inform�tica con mucha experiencia para solucionarlo o evitar que se expanda. El grupo de investigaci�n KDIS (Knowlege Discovery and Intelligent Systems) de la Universidad de C�rdoba ha propuesto una alternativa a la figura del preciado especialista: la inteligencia artificial. Han dise�ado un algoritmo que es capaz de sugerir la soluci�n m�s eficiente para resolver el problema inform�tico. Es la primera vez que, para la resolver estas dificultades, se emplea un algoritmo evolutivo, llamado as� porque su funcionamiento est� basado en la Teor�a de la Evoluci�n.

Para afrontar el dise�o de los denominados sistemas complejos de software y minimizar los errores que en estos puedan surgir, se requieren respuestas precisas y r�pidas. Es f�cil de imaginar la desesperaci�n que podr�a cundir en unos grandes almacenes si hay un fallo desconocido en el sistema de venta o en un hospital si se bloquea la aplicaci�n de citas. �Hoy en d�a, las grandes organizaciones que emplean este tipo de software complejo contrata a los mejores ingenieros de software para dar con la soluci�n�, explica Jos� Ra�l Romero, del Departamento de Inform�tica y An�lisis Num�rico de la Universidad de C�rdoba e investigador del grupo KDIS. La alternativa a acudir a la experiencia del experto, �que por naturaleza es subjetivo y puede errar�, es explorar todas las opciones para dar con la soluci�n id�nea. Sin embargo, para realizar este tipo de an�lisis tan profundo se necesita tiempo, y, en muchas ocasiones, no se dispone de �l. La propuesta de este equipo de cient�ficos, el uso de inteligencia artificial, aporta un abanico de buenas soluciones de una manera m�s r�pida, �lo que lo convierte en la alternativa m�s eficiente�, subraya Aurora Ram�rez, estudiante de doctorado.

El algoritmo est� inspirado en c�mo la vida se abre camino en la naturaleza: la evoluci�n biol�gica. Los algoritmos evolutivos generan soluciones al azar, como surgen las variaciones en las nuevas generaciones de individuos en organismos vivos y se produce la evoluci�n de las especies. El algoritmo este proceso evolutivo. Primero, selecciona una serie de soluciones para el problema dado. Entre estas soluciones candidatas tiene lugar un proceso similar al de la reproducci�n en la vida, cruzando a los padres para que produzcan hijos con diferentes caracter�sticas de sus progenitores. Tambi�n pueden mutar directamente las soluciones para potenciar las caracter�sticas deseadas. �Como en la naturaleza, sobreviven los m�s adaptables y mejores, por lo que podemos hallar el resultado buscado�, indica el investigador principal del grupo KDIS, Sebasti�n Ventura.

Arquitectura software

El uso de t�cnicas de b�squeda para la resoluci�n de problemas es uno de los planteamientos de los sistemas inteligentes, y una de las l�neas de investigaci�n del equipo que dirige Ventura. Empleada ya con �xito en rob�tica o en videojuegos, �este tipo de tecnolog�a ofrece una soluci�n te�rica para que luego el t�cnico ofrezca soluciones espec�ficas�, indica el responsable del grupo de investigaci�n. Actuando como apoyo, la inteligencia artificial puede ayudar especialmente a ingenieros noveles, a los que les falta experiencia. En todo caso, ahorra c�lculos de variables en la b�squeda de soluciones a estos dif�ciles problemas.


En la b�squeda de un problema en software complejo, los ingenieros inform�ticos tienen que acudir a la ra�z, que es la arquitectura software. La arquitectura software es la base sobre la que se asienta todo el sistema, sus m�dulos y sus funcionalidades. El algoritmo de inteligencia artificial busca el origen del problema en las diferentes partes de la aplicaci�n y descubre esta arquitectura software.


Por este motivo, una parte del estudio se bas� en un an�lisis de sensibilidad, esto es, la configuraci�n m�s adecuada del algoritmo. Ajustado el mismo, los ingenieros trabajaron en mejorar el rendimiento del algoritmo sobre un software complejo real y lo compararon con la respuesta de expertos. El balance, el dise�o del algoritmo y material adicional ha sido publicado en una web espec�fica. El trabajo de investigaci�n es recogido por la revista Information Sciences.


Aurora Ram�rez, Jos� Ra�l Romero, Sebasti�n Ventura; �An approach for the evolutionary discovery of software architectures�; Information Sciences, volumen 305, 1 de junio de 2015, p�ginas 234�255.