Los tres jóvenes miembros del equipo ganador son estudiantes de la carrera Ciencias de la Computación, de la Facultad de Matemática y Computación de la Universidad de La Habana.
Por Jorge Sariol
Foto: Cortesía de los entrevistados
El hombre todavía puede apagar el ordenador.
Sin embargo, tendremos que esforzarnos mucho
para conservar este privilegio.
Joseph Weizembaum
(Alemania, 1923-2008)
Realizar entrevistas online se ha convertido en una suerte de imperativo periodístico durante la pandemia de la COVID-19. Más allá de necesarios protocolos sanitarios laborales para evitar contagios, y en consonancia con el mundo virtual en el que estamos navegando, pudiera tener aún pertinencia este tipo de intercambio si los entrevistados son miembros del equipo cubano UH TOP, ganador en la regional del Concurso Internacional Universitario de Programación (ICPC)[1].
El salto de WhatsApp a Telegram y de Telegram a WhatsApp puede ser animado, pero nunca será igual al cara a cara. Del «mira, la foto no sirve, tiene contraluz ahí, fatal» al «Perdone, pero no entendí la pregunta tres», pueden pasar horas de stand by, imperdonables en la profesión.
Y se hace la entrevista online, muy a nuestro pesar. Pero se hace…
Aunque las respuestas que enviaron Brayan, David y Lázaro Raúl resultaron lo que esperaba, se notó la esencia del estilo cartesiano, tan propio de los matemáticos.
¿Qué otro nexo los une? ¿Ser fanáticos de Industriales…del Barça…del batido de mango…de…? ¿Existe alguna tradición familiar de inclinación hacia las matemáticas?
Los tres tienen rostro de muchachos normales, adictos al «drinkin» (aunque en una de las fotos que mandaron no pude distinguir si las latas de las que beben eran de jugo de piña, Red Bull o Bavaria 8.6. Luego aclararon que era Red Bull… ¡para levantar el ánimo en medio de la competencia! ¡Tal vez por eso, la foto final salió en candela, con un contraluz ahí…fatal! O tal vez fue la emoción del momento.
Los tres jóvenes miembros del UH TOP son estudiantes de la carrera Ciencias de la Computación, de la Facultad de Matemática y Computación de la Universidad de La Habana (UH): Lázaro Raúl Iglesias Vera, de 5to año; David Manuel García Aguilera, de 2do; y Brayan Durán Medina, de 1er año.
Ellos vencieron: van a la final mundial.
Primer tope: Vía WhatsApp
— ¿De dónde salió el nombre del equipo? ¿Tiene alguna significación en el ámbito de la programación informática?
David Manuel García Aguilera: «Surgió de la meta que queríamos alcanzar. El “top” de una competencia es siempre el grupo de ganadores o los mejores posicionados, según los resultados finales. Esto, unido a la sencillez del nombre, fue lo que nos hizo decidirnos».
— ¿Cada miembro del equipo tiene una función específica o el trabajo es tipo «Todo lo que hacemos lo hacemos entre todos»?
Lázaro Raúl Iglesias Vera: «Al competir intentamos leernos de modo individual la mayoría de los problemas, dado que no tenemos una división de temas. Cada uno es libre de intentar resolver el ejercicio, aunque hay ciertas preferencias con un contenido u otro, según la práctica habitual y las habilidades que tengamos en ellos.
«Por ejemplo, David casi siempre resuelve geometrías; Brayan, problemas de combinatoria o probabilidades. Y en mi caso me encargué de implementaciones y estructura de datos. Nos ayudamos con ideas en cada problema, y cada uno aporta en muchos problemas de la competencia».
— Aparte de la imposibilidad de reunirse presencialmente, ¿cuáles han sido las dificultades más complejas para entrenar durante la pandemia?
Brayan Durán Medina: «Aunque desde que conformamos el equipo hicimos una buena planificación de nuestro tiempo, nunca faltaron las ocasiones donde alguna tarea del hogar o la necesidad de estudiar algún tema escolar para un examen o proyecto provocara variaciones en nuestro calendario.
«No hemos afrontado muchas más dificultades que las cotidianas de todo cubano; también, hemos contado con el apoyo de nuestras familias. Ayudar en la casa, estudiar para la escuela y entrenar para el concurso ha sido la forma en la que hemos llevado estos últimos meses de pandemia».
Lázaro Raúl Iglesias Vera: «Ahora mismo no nos conocemos tanto, mas nos une el deseo de competir. Brayan y David han tenido contacto en etapas competitivas previas, donde ya han hecho equipo; a Brayan no lo conocía de antes, pero con David coincidí en la Vocacional “Lenin”, yo estaba en 12 grado y el en 10mo.
«Desde esa época estábamos en estos temas de concursos, él de programación y yo de matemáticas. Y bueno, ya acá en la UH, llevábamos un año compartiendo de nuevo».
Segundo tope: Vía Telegram
— Cuba ya tiene tradición triunfadora en estos certámenes. ¿Tuvieron contacto con miembros de equipos ganadores de ediciones anteriores? ¿Supieron de experiencias, tanto positivas como negativas?
David Manuel García Aguilera: «Desde que en la UH alguien decide participar en esta competencia, está rodeado de ganadores de eventos previos y de otros concursantes, muy bien preparados; todos, por lo general, dispuestos a compartir sus conocimientos».
Lázaro Raúl Iglesias Vera: «Hace pocos años se ha vuelto común la asignatura optativa de Programación Competitiva, donde los profesores son ex-finalistas mundiales, tales como Marcelo, Ariel y Eloy (nuestro coach) quienes fueron ganadores de Latinoamérica en 2016».
Brayan Durán Medina: «David y yo contamos con algo de experiencia por nuestra participación en eventos como la IOI (International Olympiad in Informatics). De una forma u otra son conocidas las experiencias previas, pues las historias y situaciones de los concursantes más antiguos nos llegan de la mano de nuestro coach».
— Usaron el C++ como lenguaje de programación ¿Qué les motiva preferirlo, habiendo tantas variantes C, además de las dos Python, Java y Kotlin?
Lázaro Raúl Iglesias Vera: «Es el lenguaje más usado por la comunidad de Programación Competitiva. Su eficiencia, sobre todo, logra tiempos de ejecución muy rápidos comparados con otros lenguajes.
«C++ cuenta con una librería de plantillas estándar (STL) que nos permite ahorrarnos mucho trabajo a la hora de programar ciertas soluciones y le da potencia al lenguaje. Por otro lado, cuenta con algunas características modernas, más técnicas, que lo hacen atractivo».
— ¿Qué los apasiona de las competencias de programación?
Brayan Durán Medina: «Las competencias de programación son atractivas por la dinámica del evento: en todo momento puedes ver el resultado y evaluar tus soluciones; todo el tiempo el equipo se enfrenta a una gran presión y se generan altos niveles de adrenalina. Son problemas muy interesantes y al ser resueltos brindan una gran satisfacción personal».
Tercer tope: Cada cual como pudo.
— ¿En qué aspectos fueron complejos los problemas presentados en esta final que acaban de ganar?
David Manuel García Aguilera: «Los problemas que resolvimos no tuvieron una gran dificultad a la hora de ser programados. Por lo general, la dificultad del evento radicó en hallar las soluciones correctas, resolver los problemas en el orden adecuado y hacerlo lo más rápido posible».
— Describan dos ejemplos de problemas resueltos, uno conseguido rápido y el que más trabajo les dio. ¿Alguno sin resolver? ¿Por complejidad? ¿Por tiempo?
Lázaro Raúl Iglesias Vera: «El más rápido de los problemas que hicimos y el primero que aceptamos fue el problema N. En él solo se necesitaba acumular una serie de ingresos monetarios, y contar la cantidad de veces que dicha acumulación poseía cifras decimales.
«Para ello, en vez de utilizar números de punto flotante, es recomendable trabajar con enteros y solamente tener en cuenta los valores decimales. Siempre se trabajaban con 2 cifras decimales, por tanto cada vez que el acumulado de los decimales no fuera múltiplo de 100, era conocido que la suma de los ingresos no era un valor entero. Solo era necesario simular ese proceso y analizar el resto de los decimales con 100; la parte entera de los ingresos era despreciable».
David Manuel García Aguilera: «El problema que más trabajo nos dio fue el problema F, tuvimos que optimizar el programa para que pudiera ser aceptado; para resolverlo se requerían conocimientos y habilidades en el área de Programación Dinámica y Estructuras de Datos.
«La Programación Dinámica de este problema consistía en la clásica DP de complejidad O(N³), pero haciendo uso de las Estructuras de Datos que conocemos, que en este caso fue la estructura llamada “Pila Monótona”. Bajamos la complejidad de nuestra solución a O(N²) y así, luego de realizar pequeñas optimizaciones, pudimos aceptarlo siendo el primer equipo de Latinoamérica en resolverlo».
Brayan Durán Medina: «Por otra parte, se nos quedaron sin resolver 4 problemas del concurso. Vimos posibilidades en el problema G, y con más tiempo hubiera sido muy probable resolverlo. Era un problema de probabilidades y creímos haber llegado a la solución en el concurso, sin embargo nos atascamos con el código».
— ¿En qué aspecto reforzarán el entrenamiento con vistas a la mundial?
David Manuel García Aguilera: «Al entrenar para la final mundial, sobre todo aprenderemos temas nuevos donde consideramos que nos falta fuerza. También realizaremos numerosas competencias que existen en sitios en internet que permiten el fogueo con otros equipos, tanto latinoamericanos como fuera de la región, y tener así una noción de nuestro nivel y continuar descubriendo ideas».
Lázaro Raúl Iglesias Vera: «Podremos competir de primera mano con el equipo que va a ir a la final mundial anterior a la nuestra, que todavía no se ha realizado por la pandemia. En general, mejoraremos en experiencia, conocimientos, velocidad y seguridad».
— De los países participantes ¿cuáles consideran más fuertes? En el mundial ¿cuáles son los países rivales a considerar?
Brayan Durán Medina: «De los países participantes en el regional latinoamericano son muy fuertes México, Brasil y Argentina. Generalmente, de ellos ha salido el campeón latinoamericano y también el campeón latinoamericano de la Final Mundial (WF).
«En las WF los países más fuertes casi siempre son Rusia, China, Estados Unidos, Polonia, Japón y otros países asiáticos y eslavos. Las regiones de América Latina y África ocupamos lugares más rezagados».
— ¿El pensamiento más inmediato que tuvieron al saberse ganadores?
Brayan Durán Medina: «Tuvo dos momentos. Los resultados en el Caribe se anunciaron más temprano que los del Latinoamericano, debido a que se deben dar esos resultados luego de que cada subregión haya dado los suyos».
David Manuel García Aguilera: «La primera parte fue cuando nos supimos campeones en el Caribe, que era nuestro verdadero objetivo, pues significaba la participación en la mundial. La reacción fue gritar de alegría, abrazarnos y dejar que escapara la tensión que teníamos a la espera de los resultados».
Lázaro Raúl Iglesias Vera: «Cuando se anunciaron los resultados para toda América Latina y nos vimos en la primera posición, nos sorprendimos; creo que nos dimos cuenta de lo que habíamos logrado. Más allá de una posibilidad, sabíamos que era muestra fehaciente de las horas de estudio y del esfuerzo de mucha gente que nos ayudó. Habíamos alcanzado, en buena medida, los sueños que hace tiempo vimos realizar al equipo UH++ en el ciclo 2016/17. Nos sentimos un poco más grandes que segundos atrás».
Final “No Programada”
Brayan cuenta que en su familia no ha sido de matemáticos: «Mi mamá es psicóloga — escribe — y mi padre es cuentapropista. Siempre han estado ahí para apoyarme, y para que pueda lograr mis sueños de ser un científico de la computación algún día».
David concurre: «En mi familia no hay verdadera tradición matemática o, al menos, la que hay creo que no influyó tanto en el camino que escogí».
«En la mía no la hay — aclara Lázaro Raúl — ; todos son universitarios, en muy diversas carreras. Me uní a la diversificación para ser el primer científico».
Y para rematar, como si fuera imprescindible, uno del trío escribe:
«Todos somos del Barça…creo».
Y uno puede suponer que lo ha pensado, mirando distraído, por la ventana.
[1] La Competición Internacional Universitaria ACM de Programación (en inglés ACM International Collegiate Programming Contest, abreviado ACM-ICPC o simplemente ICPC) es una competición anual de programación y algorítmica entre universidades de todo el mundo, patrocinada por International Business Machines (IBM). En la competición prima el trabajo en equipo, el análisis de problemas y el desarrollo rápido de software. ICPC es un evento organizado por la Association for Computing Machinery (ACM).