VOLVER

Share

Un algoritmo basado en la Teoría de la Evolución para diseñar programas informáticos complejos

Fuente: Universidad de Córdoba


15 de junio de 2015
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

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 arquitecturasoftware. 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.


Share

Últimas publicaciones

Un proyecto de ciencia ciudadana diseña una guía doméstica para medir la calidad de los suelos
Andalucía | 22 de mayo de 2024

Investigadoras de la Universidad de Sevilla lideran esta iniciativa donde alumnado del IES Virgen de Valme (Dos Hermanas) y la asociación Enredaos con la Tierra (La Puebla del Río) desarrollarán un método destinado a público no experto para evaluar la biodiversidad y capacidad de descomposición de diferentes terrenos. Esta iniciativa forma parte del proyecto ‘Andalucía + ciencia ciudadana’, impulsado por la Consejería de Universidad, Investigación e Innovación y coordinado por Fundación Descubre y la Universidad Pablo de Olavide, que pretende potenciar la utilización de este abordaje científico participativo entre distintos agentes de la región.

Sigue leyendo
La Universidad de Córdoba participa en un nuevo proyecto del CERN para sustituir al acelerador del bosón de Higgs
Córdoba | 22 de mayo de 2024

El departamento de Física de la Universidad de Córdoba participa en la colaboración internacional del CERN, “DRD-Calorimetry”, que apuesta por el  I+D de los calorímetros, un tipo de detectores de partículas de carácter destructivo. De esta forma, cuando una partícula (sea un electrón o un protón) pasa a través de un calorímetro, depositará toda la energía que lleva “desapareciendo”. 

Sigue leyendo
Del laboratorio a los medios de comunicación: trabajamos cada día para que la ciencia andaluza sea noticia
Andalucía | 21 de mayo de 2024

¿Por qué es importante conocer qué avances científicos se están generando y afectan a nuestro día a día? Dar visibilidad a los avances científicos forma parte de la divulgación de la ciencia y es uno de los objetivos de Fundación Descubre. Para ello, cuenta con la web www.fundaciondescubre.es y su canal Ciencia Directa, la única agencia de noticias de ciencia andaluza; el portal iDescubre, destinado a la ciudadanía con actividades y proyectos de actualidad; y una veintena de sites temáticos como la Guía Experta, con más de 800 investigadores disponibles.

Sigue leyendo

#CienciaDirecta

Tu fuente de noticias sobre ciencia andaluza

Más información Suscríbete

Ir al contenido