Eventos de programaci贸n: Google HashCode 馃帀

por:

Te mostramos los eventos de programaci贸n como el Google HashCode

Una de las cosas en las que m谩s me gusta participar, son los eventos de programaci贸n, y la semana pasada no pude dejar pasar la oportunidad de concursar en el Google HashCode. Por eso hoy te cuento por qu茅 deberias asistir a este tipo de eventos, los cuales considero muy importantes y c贸mo funciona uno de los m谩s conocidos, el Google HashCode.

驴Por qu茅 ir a eventos de programaci贸n?

Nuestro hub en el Google HashCode con todos los participantes

Apuntarte a un evento de programaci贸n, tiene multitud de beneficios:

  • Compruebas tus conocimientos y eres capaz de medirlos.
  • Conoces compa帽eros del sector, lo que te va a ayudar a incrementar tus contactos.
  • Aprendes nuevas t茅cnicas para resolver problemas.
  • Obtienes stickers y regalos de tus empresas favoritas.

驴Qu茅 es el Google HashCode?

El Google HashCode es un evento mundial realizado por Google de manera anual, donde los programadores se enfrentan a un problema similar a los que se enfrentan los ingenieros de Google. La manera de participar es online, aunque algunos, como nosotros, nos reunimos en hubs o centros de participaci贸n. Otra caracter铆stica es que no admiten que se trabaje de manera individual y por ello es necesario realizar grupos.

Los problemas a resolver en el HashCode

Seg煤n mi experiencia en este evento, todos los problemas a resolver est谩n enfocados a minimizar o maximizar un resultado. Esto no es trivial, ya que se trabaja con varios conjuntos de datos, siendo algunos de ellos de un tama帽o considerable. El problema de este a帽o fue optimizar el uso de diversas cach茅s para un servidor de video (YouTube), teniendo en cuenta las latencies y el n煤mero de peticiones:

El problema del Google HashCode 2017 uno de los mayores eventos de programaci贸n

El enunciado completo lo pod茅is ver aqu铆. Otros problemas planteados en a帽os anteriores han versado sobre minimizar la ruta que deber铆a seguir un coche de Google Street View para tomar im谩genes de todo un barrio, o sobre minimizar rutas para el reparto de paquetes con drones.

Las soluciones del Google HashCode

S铆, no es una errata, el problema planteado en el HashCode no tiene una soluci贸n 煤nica, es m谩s, es posible que la mejor soluci贸n planteada no sea la m谩s 贸ptima. As铆 que cada equipo, siguiendo las normas del enunciado se encarga de generar un fichero de texto con los pasos que se deber铆an realizar. Este fichero es analizado por el servidor de Google y nos genera una puntuaci贸n.

Panel de soluciones para el evento de programaci贸n Google HashCode

Como pod茅is ver en la imagen superior, el panel de soluciones consta de 3 apartados:

  1. La opci贸n para subir nuevos ficheros con los pasos.
  2. El panel donde nos informa de la mejor puntuaci贸n obtenida para cada conjunto de datos.
  3. El panel donde podemos ver los puntos para cada archivo de soluci贸n subido.

Otra caracter铆stica remarcable, es que se puede trabajar en cualquier lenguaje de programaci贸n o tecnolog铆a que uno desee. Por lo que esto ayuda mucho a plantear soluciones muy diversas.

En nuestro hub, algunas de las ideas que se plantearon para resolver el problema anterior, fueron las siguientes:

  • Utilizar distintas estructuras de datos, centr谩ndonos en aquellas cuyo uso es m谩s r谩pido (arrays, particionado o chunks, etc).
  • Utilizar diversas funciones de coste, algunas de ellas teniendo en cuenta el tama帽o del video y otras no.
  • El uso de algoritmos evolutivos, que fuera mejorando la soluci贸n en cada iteraci贸n (esta soluci贸n fue la que mejor funcion贸).

 

Espero que este art铆culo te haya gustado, 驴has participado en este evento o en otros similares?, com茅ntanos c贸mo fue.

 

Un saludo.

The following two tabs change content below.

Jorge Dur谩n

Administrador, redactor y creador de Somos Binarios
Entusiasta de la tecnolog铆a desde los 10 a帽os, desarrollador y creador de varios proyectos de software y autodidacta por naturaleza. Ingeniero Inform谩tico por la USAL