Explicación del resultado de un algoritmo
Los algoritmos son un conjunto de normas o instrucciones que le indican a un ordenador qué debe hacer. Si bien estos procesos desempeñan un papel fundamental a la hora de ayudar a los desarrolladores de «software» a crear programas eficientes y sin errores, presentan limitaciones. Una de las principales es que, a menudo, no pueden proporcionar ninguna prueba tangible de sus resultados. Según Shaull Almagor(se abrirá en una nueva ventana), profesor adjunto de Informática en Technion(se abrirá en una nueva ventana), esta falta de certificación plantea un verdadero reto, en particular al diseñar los sistemas ciberfísicos del mañana. «Tomemos por ejemplo un algoritmo de planificación robótica en el que se pide a un robot que realice una tarea como encontrar una llave y abrir una puerta», explica. «Ahora supongamos que el algoritmo le dice al usuario que el robot no dispone de este tipo de plan, ¿cómo puede saber el usuario si esta respuesta es correcta?». O, si el algoritmo encuentra un plan, pero es muy complicada, ¿el usuario puede confiar en dicho plan? «Este problema es sumamente importante en entornos en los que un supervisor humano debe aprobar una operación con un nivel crítico de seguridad, como en el control del tráfico aéreo o en una fábrica industrial», declara Almagor. «En estos entornos, sería perfecto si el algoritmo pudiera proporcionar una explicación sencilla sobre por qué sus resultados son correctos». Con el apoyo del proyecto ALGOCERT, financiado con fondos europeos, Almagor se propuso elaborar este tipo de explicaciones, que él denomina «certificados».
Adaptación de certificados a contextos específicos
Tal y como explica Almagor, para que estos certificados sean significativos, deben adaptarse a contextos específicos. Y añade: «Para definir nociones significativas de certificados, debemos basarnos en las propiedades específicas de la tarea de planificación. Solo entonces podremos intentar elaborar algoritmos que puedan certificarse». Tomemos por ejemplo el problema de la convergencia de los sistemas dinámicos(se abrirá en una nueva ventana) lineares, que representa la evolución en el tiempo de vectores. A pesar de que estos sistemas utilizan reglas matemáticas sencillas, pueden dar lugar a comportamientos muy complejos. «Si la evolución alcanza un objetivo, es fácil de certificar: tan solo hay que proporcionar el tiempo de convergencia», explica Almagor. «Pero si no alcanza el objetivo, no está claro cómo dar un certificado». Sobre esta base, en el proyecto propusieron una noción de certificados para escenarios de no convergencia. «Combinamos una serie que contiene toda la evolución del sistema, pero sin intersecar el objetivo», añade Almagor. Otro problema que se abordó en el proyecto es el de la búsqueda de rutas de múltiples agentes o MAPF, por sus siglas en inglés. Según Almagor, la MAPF representa un problema esencial en la planificación robótica, que incluye aplicaciones robóticas como almacenes automatizados o vehículos automatizados. «Estas aplicaciones necesitan que múltiples agentes puedan seguir simultáneamente rutas establecidas sin colisionar entre ellas», señala Almagor. En este caso, el proyecto propuso un esquema que explica la exactitud de un plan de MAPF a un usuario humano. «Convencemos al usuario de que el plan no supone ningún riesgo de colisión mediante su descomposición en una secuencia de imágenes, con las rutas de los agentes presentadas de forma inconexa en cada imagen», comenta Almagor. «Esta es una forma verdaderamente intuitiva de explicar la ausencia de colisión».
Un paso importante
Estos son tan solo algunos de los problemas que se abordaron durante el proyecto ALGOCERT, que recibió el apoyo de las Acciones Marie Skłodowska-Curie(se abrirá en una nueva ventana), y muchos de los cuales se han presentado detalladamente en distintos documentos y presentaciones. Almagor concluye: «La noción de la explicabilidad ha acaparado una gran atención a lo largo de los últimos años. Aunque no puedo decir que nuestros métodos sean el santo grial de la certificación de algoritmos, creo que representan un importante paso en el camino».