Click acá para ir directamente al contenido

GAA: El software que promete revolucionar los problemas de optimización

Un equipo de estudiantes de ingeniería liderados por el doctor Víctor Parada, académico de la Universidad de Santiago e integrante del selecto grupo de investigadores del Instituto de Sistemas Complejos de Ingeniería, ISCI, diseñaron un nuevo campo denominado Generación Automática de Algoritmos.

24Horas.cl Tvn

Lunes 29 de julio de 2019

Los componentes esenciales de todas las tareas que realiza un computador son los algoritmos. Un algoritmo es una secuencia de instrucciones que debe ser ejecutada por un computador para realizar una tarea determinada.

Cada algoritmo especifica el conjunto y el orden de las operaciones elementales que permiten realizar una funcionalidad específica. Un algoritmo debe ser diseñado, implementado y probado por especialistas del campo de la informática.

Esta compleja tarea, ahora puede ser delegada a los computadores. Es lo que afirma uno de los actores principales sobre este tema en el mundo: el doctor Víctor Parada, académico de la Universidad de Santiago e integrante del selecto grupo de investigadores del Instituto de Sistemas Complejos de Ingeniería, ISCI. El doctor Parada y sus estudiantes han desarrollado un software capaz de diseñar y construir de forma autónoma un algoritmo para cualquier problema de optimización.

En la actualidad, los algoritmos son responsables de muchas de las tareas que se realizan a diario. Por ejemplo, en un hospital definen los turnos laborales de médicos y enfermeras, y el orden de uso de los pabellones quirúrgicos con tal de disminuir las filas de espera de los pacientes.

En el transporte, definen el horario en el que cada bus de un recorrido debe llegar a cada paradero y además, predicen el tiempo de viaje remanente del pasajero desde un paradero hasta su destino final. También, definen la frecuencia en la cual deben ser despachados los trenes del metro desde la estación inicial y predicen el número de pasajeros que llegarán a cada estación en el próximo mes.

En el deporte, definen el calendario de partidos de fútbol del campeonato nacional  y son capaces de predecir el rendimiento de cada jugador de un equipo de fútbol en el próximo partido.

En el ámbito financiero, definen la mejor opción de inversión y predicen los precios de las acciones de la bolsa de valores. Se trata de una innumerable cantidad de aplicaciones en la que los algoritmos nos ayudan a tomar la decisión óptima.

Sin embargo, aún existe otra gigantesca cantidad de problemas para los cuales no ha sido posible encontrar un algoritmo que encuentre la solución óptima en el tiempo de respuesta apropiado.

El diseño de un algoritmo es una de las tareas más complejas que se debe desarrollar en el campo de la computación. Es común que un problema del mundo real se represente mediante un modelo a partir del cual, se  diseña o selecciona el método apropiado que produce la solución al problema. Para poder implementar este método se requiere de un algoritmo que posteriormente debe ser codificado en un lenguaje de computador apropiado.

Por mucho tiempo, el diseño de un algoritmo ha sido una tarea esencialmente desarrollada por los seres humanos, que aunque obedece a algunos principios generales, en cada caso particular, se transforma en una actividad de tipo artesanal y que requiere de mucha experiencia. Desde aquí, surge la necesidad de desarrollar herramientas que apoye el diseño de algoritmos.

El Dr. Parada y su equipo ha mostrado en los años recientes que el diseño de un algoritmo también puede ser realizado por un computador dando origen a un nuevo campo que ha denominado la Generación Automática de Algoritmos (GAA). Se trata de un campo que ha surgido en el ámbito de los problemas de optimización combinatoria, algunos de los cuales se caracterizan por ser problemas de alta complejidad, lo que en términos prácticos, significa que nadie ha podido desarrollar un algoritmo eficiente y exacto para resolver tales problemas con un tiempo razonable de máquina. De este modo el campo de la GAA recién comienza a ser explorado y los resultados obtenidos hasta ahora son contundentes.

Para que el computador produzca los algoritmos se ha recurrido a una simulación de la teoría de la evolución de los seres vivos, que ha sido fuente de inspiración para resolver diversos problemas de ingeniería. De acuerdo a esta teoría los seres vivos hemos evolucionado gradualmente desde otros seres anteriores debido a la selección natural y mutaciones que han permitido que una especie sobreviva y se diversifique frente a las adversidades que le ha impuesto su medio.

Este proceso puede ser interpretado como un procedimiento en etapas que se repite siguiendo unas reglas elementales: la selección de los seres más aptos, el cruzamiento entre ellos que da origen a los nuevos individuos y las mutaciones que ocurren aleatoriamente. En términos informáticos, a partir de una generación actual de individuos se produce la nueva generación de descendientes siguiendo operaciones de selección, cruzamiento y mutación.

En este campo de evolución artificial han surgido los algoritmos genéticos y la programación genética que ensambla de manera perfecta con la tarea de representar y generar algoritmos de manera automática.

El proceso de la GAA ensambla de manera automática los componentes que potencialmente componen un algoritmo para un problema de optimización dado. Cada nuevo algoritmo es evaluado usando un conjunto de ejemplos del problema. Esta tarea se basa en que, la determinación del mejor algoritmo para un problema de optimización, es también un problema de optimización, que los investigadores han denominado el problema maestro. En consecuencia, la búsqueda del mejor algoritmo para un problema dado, se puede realizar resolviendo el problema maestro mediante alguna de las heurísticas existentes y en particular, con programación genética.

No sólo se han descubierto nuevos algoritmos que tienen un mejor desempeño computacional que los algoritmos ya existentes y generados por seres humanos, sino que trivialmente y en unos pocos segundos de computación, se han podido redescubrir algoritmos clásicos del mundo de la optimización que tomaron décadas para ser descubiertos. Este hecho produce un gran impacto sobre la investigación científica que se ha venido realizando en este campo, debido a que la GAA permite acelerar de manera significativa la construcción de nuevos programas para resolver los problemas complejos en ingeniería.

Muchos de los algoritmos encontrados por la GAA hasta ahora, son combinaciones innovadoras de estructuras que simplemente no habían sido descubiertas. En este sentido la GAA es una máquina de innovación y de generación de conocimiento en este campo.

El diseño automático de aparatos, máquinas, algoritmos y otros componentes de la vida cotidiana parece marcar el inicio de una nueva era de la ingeniería. Hoy en día, hay empresas de gran tamaño que ofrecen servicios en Diseño Generativo. Un nuevo concepto que, al igual que la GAA, permite el diseño automático de cuerpos tridimensionales con aplicaciones en todos los campos de la ingeniería: diseño de equipos, piezas mecánicas,  arquitecturas de casas o edificios, circuitos eléctricos, muebles, etc.