• No se han encontrado resultados

Capítulo 2: Estado de la cuestión

2.6 Evaluación de Motivación de Sistemas Educativos

3.3.4 Hallazgos Experimentales

La experimentación con optimalidad desempeña un papel central en el aprendizaje de algoritmos voraces (Velázquez-Iturbide & Debdi, 2011). El método experimental propuesto permite a los alumnos experimentar con diferentes funciones de selección para un problema de optimización dado. Después se les pide razonar con rigor para determinar las funciones de selección óptimas, justificando sus hallazgos experimentales usando la herramienta educativa GreedEx. El alumno debe saber cómo planificar una experimentación a partir de los resultados obtenidos, descartando la función de selección que no ha obtenido un resultado óptimo utilizando los datos de entrada empleados como un contraejemplo para demostrar la no optimalidad de ésta.

En este apartado examinamos unos resultados experimentales obtenidos con los distintos problemas integrados en GreedEx. Algunos problemas pueden resolverse de forma óptima con la técnica voraz mientras que otros no; en este último caso, podemos clasificar las funciones de selección subóptimas como heurísticas mejores o peores. También hay que avisar que no conocíamos a priori los resultados a obtener, por lo que algunos nos han resultado sorprendentes.

Una consecuencia de la propuesta de un conjunto de funciones de selección diferentes es que ilustran que un problema dado puede ser resuelto de manera óptima con varias funciones de selección. Considere el problema de la mochila (mencionada arriba en la sección 3.2.1.2). La Tabla 11 muestra el porcentaje de optimalidad de las funciones de selección propuestas tras realizar 10.000

ejecuciones. En este problema, podemos ver que hay funciones de selección equivalentes por ejemplo la función de selección de orden decreciente de beneficio/peso es óptima, pero también lo es la función de selección orden creciente de peso/beneficio. Es decir, las dos funciones de selección producen el mismo orden de elementos o fracciones de elementos.

Tabla 11. Mochila Mochila

Función de selección Porcentaje

Orden creciente de índice 8.03 Orden decreciente de índice 7.9

Orden creciente de peso 28.17

Orden decreciente de peso 1.5%

Orden creciente de beneficio 1.13 Orden decreciente de beneficio 33.59

Orden creciente de peso/beneficio 100

Orden decreciente de peso/beneficio 0.0 Orden creciente de beneficio/peso 0.0

Orden decreciente de beneficio/peso 100

Se han realizado 10.000 ejecuciones

Otro problema similar al de la mochila pero más sencillo es el problema de maximizar el número de objetos en una mochila (el enunciado se encuentra en la sección 3.3.2.1). En este problema la función de selección óptima es el de orden creciente de peso. Este experimento proporciona evidencia de la optimalidad de esta función de selección aunque se debe demostrar formalmente su optimalidad (Oliet, et al., 1999).

Tabla 12. Maximizar el número de objetos Maximizar el número de objetos

Función de selección Porcentaje

Orden creciente de índice 70.38 Orden decreciente de índice 70.24

Orden creciente de peso 100

Orden decreciente de peso 38.6 Se han realizado 10.000 ejecuciones

El método didáctico no sólo promueve el rigor sino también la creatividad dado que para algunos problemas se puede encontrar funciones de selección óptimas y casi óptimas. Veámoslo con el problema de selección de actividades (sección 3.1.1). En la Tabla 13 se puede ver que las dos funciones de selección óptimas son orden decreciente de comienzo y orden creciente de fin (funciones de selección equivalentes). Pero además, nos encontramos con funciones de selección casi óptimas. Por ejemplo, la función de selección “orden creciente de duración” es óptima para un alto porcentaje de los casos (97.77%). En este caso, el alumno debe encontrar un contraejemplo para demostrar la no optimalidad de esta función de selección.

Tabla 13. Selección de actividades Selección de actividades

Función de selección Porcentaje

Orden creciente de índice 63.84 Orden decreciente de índice 62.89 Orden creciente de comienzo 52.9

Orden decreciente de comienzo 100 Orden creciente de fin 100

Orden decreciente de fin 52.73

Orden decreciente de duración 97.77

Orden creciente de duración 24.37 Se han realizado 10.000 ejecuciones

La experimentación también se puede aplicar a los problemas para los que ninguna función de selección es óptima. En este caso, el proceso de experimentación sirve para descartar los algoritmos voraces como una técnica de diseño adecuada para resolver el problema de manera óptima. En consecuencia, otras técnicas de diseño deben ser considerados. La Tabla 14 muestra el porcentaje de optimalidad de las funciones de selección para el problema de la mochila 0/1 (sección 3.3.2.4), según esta tabla ninguna función de selección es óptima.

Tabla 14. Mochila 0/1 Mochila 0/1

Función de selección Porcentaje

Orden creciente de índice 30.48 Orden decreciente de índice 31.43

Orden creciente de peso 37.34

Orden creciente de beneficio 16.02 Orden decreciente de beneficio 84.37 Orden creciente de peso/beneficio 81.16 Orden decreciente de peso/beneficio 15.78 Orden creciente de beneficio/peso 15.78 Orden decreciente de beneficio/peso 81.16 Se han realizado 10.000 ejecuciones

Otros problemas son sencillos y sin embargo no se pueden resolver mediante un algoritmo voraz como es el caso del problema de maximizar el peso de objetos en una mochila (sección 3.3.2.2). Según la Tabla 15, se puede observar que ninguna función de selección es óptima. Este problema puede resolverse mediante programación dinámica, vuelta atrás y ramificación y poda (Oliet, et al., 1999).

Tabla 15. Maximizar el peso de objetos en una mochila Maximizar el peso de objetos en una mochila

Función de selección Porcentaje

Orden creciente de índice 37.56 Orden decreciente de índice 37.63

Orden creciente de peso 19.93

Orden decreciente de peso 77.01 Se han realizado 10.000 ejecuciones

En el problema de maximizar el número de objetos en dos mochilas (sección 3.3.2.3) ninguna de las funciones de selección es óptima según la Tabla 16. Obsérvese que la función de selección "orden creciente de peso, mochila más llena" es óptima en el 90% de los casos. Por tanto, es una buena heurística, aunque faltaría determinar su desviación relativa respecto a la solución óptima para saber si puede ser un buen algoritmo aproximado (Horowitz & Sahni, 1975).

Tabla 16. Maximizar el número de objetos en dos mochilas Maximizar el número de objetos en dos mochilas

Función de selección Porcentaje

Orden creciente de índice, mochila más vacía 63.99 Orden decreciente de índice, mochila más vacía 64.74 Orden creciente de peso, mochila más vacía 73.08 Orden decreciente de peso, mochila más vacía 40.4 Orden creciente de índice, mochila más llena 69.7

Orden decreciente de índice, mochila más llena 70.29 Orden creciente de peso, mochila más llena 90.76 Orden decreciente de peso, mochila más llena 41.19 Se han realizado 10.000 ejecuciones

En resumen, el método experimental fue concebido para hacer frente a los algoritmos voraces, aunque también se puede aplicar para otras técnicas de diseño de algoritmos: programación dinámica, vuelta atrás, branch and bound y los algoritmos de aproximación, lo que convierte al sistema GreedEx a un instrumento para la introducción a otros algoritmos.

3.4 Ampliación de GreedEx

En esta sección se describe la herramienta GreedExCol (Velázquez-Iturbide, et al., 2013c), su interfaz y las tecnologías de desarrollo usadas.