
Anualment, Google planteja a nivell mundial un concurs de programació per equips anomenat Hash Code, que consisteix en resoldre un problema en un temps limitat de 3 hores i 45 minuts.
Enguany va plantejar un problema que consistia en optimitzar un hipotètic procés d’escanejat de llibres de múltiples llibreries. Cada llibreria tenia una capacitat determinada, podia escanejar un nombre fix de llibres per dia, i trigava un temps determinat en estar disponible al sistema. Per altra banda, els llibres podien estar repetits en diferents llibreries, i cada llibre tenia una determinada puntuació.
Mitjançant un algoritme, calia trobar la millor combinació de llibreries per obtenir la màxima puntuació possible en un nombre limitat de dies.
Remarcar que el problema no tenia solució única, i va guanyar qui va escriure l’algoritme que obtenia la puntuació més alta. Google proposa diferents fitxers d’entrada de dades amb escenaris completament diferents, de manera que un criteri per resoldre el problema pot obtenir una puntuació elevada amb un conjunt de dades, però es pot donar que no sigui el criteri més adequat pels altres conjunts de dades. Per tant, l’algoritme havia de ser suficientment flexible com per poder avaluar diversos escenaris i maneres de resoldre el problema, i aplicar la més adient pel cas concret.
El problema s’havia de resoldre amb equips de 2 a 4 participants, amb un temps total de 3 hores i 45 minuts, i en el mateix interval de temps a tot el món. En concret, es va fer el dia 20 de febrer des de les 17:45 (UTC) fins a les 21:30 (UTC). Al ser un concurs per equips, els participants van poder utilitzar diferents mètodes i estratègies de col·laboració per resoldre el problema, com per exemple treballar en pair programming. Això permet pensar, discutir, consensuar i desenvolupar de manera col·laborativa en cada equip per tal de determinar i implementar les diferents maneres possibles de resoldre el problema. Per tant, aquest concurs permet treballar habilitats molt importants en un context d’aprenentatge i treball en equip.
Google habilita el registre de llocs de trobada per participar en el concurs (que s’anomenen hubs) i consisteixen en indrets habilitats perquè els equips puguin participar de manera presencial, convertint el concurs en un esdeveniment encara més social, distès i lúdic, i també engrescador pels participants. Habitualment, suposa facilitar taules i cadires, connexió a internet, refrigeris pels participants, i pantalles on seguir la classificació global i la del propi hub. Els equips que participen a través d’un hub poden veure tant el rànquing global, com el del propi hub en el que estan participant, la qual cosa encara és més engrescadora que participar sense formar part de cap hub.
En l'edició d’aquest any han participat 10.724 equips d’arreu del món, compostos cadascun d’entre dues i quatre persones. La puntuació màxima global ha estat de 27.203.691 punts, obtinguts per l’equip guanyador (japonès), seguit del segon equip (rus) amb 27.184.696 punts.
Pel que fa als equips de les nostres universitats, un equip del hub de la UPC va obtenir una molt bona puntuació amb 26.750.460 punts, que el va situar en la posició 562 del rànquing global. Felicitats!
També volem felicitar a tota la resta d’equips catalans que van participar en aquest concurs de programació de Google per les seves contribucions i resultats. El simple fet de presentar una solució amb un resultat vàlid en el temps donat, ja és un gran repte que no tots els estudiants i professionals del sector poden culminar.
Finalment, volem animar tant estudiants com professionals a prendre part d’aquests tipus d’activitats, tant pel ressò internacional i prestigi que s'obté, com pel benefici que suposa a nivell de coneixement i pràctica. Tant de bo en futurs concursos puguem comptar amb encara més presència catalana!
+info:
-
Video informatiu Hash Code 2020: Are you up for the challenge?
-
Web oficial del concurs anual Hash Code de Google