En los Juegos Olímpicos de Algoritmos, un ruso sigue ganando el oro

Si Vladimir Putin mira por las ventanas del Kremlin en el momento justo, tiene la oportunidad de vislumbrar al mejor programador informático del mundo en la oficina de Google en Moscú, al otro lado del río.





Cableado en: El programador de primer nivel Petr Mitrichev resuelve un problema durante una competencia de codificación de 2010.

Se trata de Petr Mitrichev, un ruso de 27 años que trabaja en el motor de búsqueda de Google y se ganó el título de campeón en programación competitiva, un deporte en el que los piratas informáticos escriben código de computadora en busca de premios en efectivo, oportunidades de viaje y una satisfacción profunda inalcanzable en cualquier otro lugar. .

Tienes una sensación de satisfacción en un concurso cuando resuelves un problema, dice Mitrichev, afable y un poco pálido con una camiseta de Google durante una entrevista en el césped de la sede de la empresa en Mountain View, California.



Desde 2005, Mitrichev, graduado de la Universidad Estatal de Moscú, ha liderado el mundo en programación algorítmica. Ese es el Gran Premio de las categorías de codificación competitivas, en el que los acertijos que involucran tableros de juego infinitos o el nivel de decibelios de n + 1 vacas que mugen requieren conocimientos matemáticos instantáneos y dedos rápidos en el teclado. Mitrichev es conocido por su breve pausa, es decir, comienza a responder preguntas casi tan pronto como las ve.

Para Mitrichev, la programación competitiva ofrece una rara isla de absolutos en un mundo subjetivo. El aspecto hermoso es que es totalmente automático y no hay ningún juicio humano involucrado en absoluto, dice. Es una de las competiciones más justas que he visto en mi vida.

No solo los creadores de algoritmos como Mitrichev ven belleza en eso. Las empresas de tecnología utilizan la escena de la programación deportiva como un lugar para descubrir a los codificadores más inteligentes y rápidos del mundo. Gigantes como Facebook y Google patrocinan las principales competiciones, colocando sus logotipos en salones de eventos como Rolex en Wimbledon (consulte Letting Hackers Compet, Facebook Eyes New Talent).



El ascenso de Mitrichev comenzó cuando tenía 10 años, después de que adquirió un libro de su hermano mayor sobre el lenguaje informático Pascal. Aunque no había computadora en su casa de Moscú, al año siguiente se ubicó en el puesto 60 de 100 en la competencia nacional de programación de Rusia para estudiantes de secundaria. Como solo tenía 11 años, los jueces le otorgaron una computadora al joven. A los 15, ganó la competencia por completo. Poco después, estuvo en el circuito internacional, debutando en la Olimpiada Internacional de Informática en Beijing.

Mitrichev obtuvo su clasificación mundial actual solo después de unirse a las principales ligas de programación competitiva, una serie de concursos semanales y anuales organizados por la compañía de Connecticut. TopCoder que atraen a más de 400.000 programadores de todo el mundo. Al cambiar los lenguajes de programación de Pascal a C #, subió en la clasificación para ocupar el primer lugar en 2005, una posición que todavía ocupa hoy.

Tal dominio y comportamiento deportivo han convertido a Mitrichev en un héroe geek. Las publicaciones del foro analizan cada una de sus actuaciones, que publica como videos en línea . En el concurso anual más grande que convoca a cientos de codificadores en el salón de baile de un hotel, las pantallas grandes transmiten imágenes en vivo de los monitores de los competidores. Las sillas se colocan 20 minutos antes para tener una buena vista de Mitrichev en el trabajo.



Los murmullos atraviesan la multitud cuando ven que tiene un error, y nuevamente cuando ven que lo ha solucionado, dice Mike Lydon, director de tecnología de TopCoder. Para el profano, no hay nada que ver. Pero para estos chicos esto es fascinante.

Los problemas en estas competiciones a menudo describen situaciones físicas que deben describirse matemáticamente. Hacer eso requiere escribir un algoritmo, una secuencia de operaciones que se realizarán con los datos. Uno de los problemas en la competencia más reciente de Mitrichev, el 21 de julio, fue predecir la posición de las piezas en un juego de damas jugado en un tablero infinito. Los competidores ganan puntos cuando sus programas manejan correctamente los datos de prueba. Algunos concursos incluyen una fase de desafío, donde el objetivo es enviar datos que disparan el programa de un competidor.

Hay mucho dinero en juego en el deporte. Los premios máximos pueden valer $ 25,000 (Mitrichev ha ganado varios), y debido a que los algoritmos impulsan negocios lucrativos en Silicon Valley y en Wall Street, muchos codificadores de alto nivel son reclutados para trabajos bien pagados. (Un representante de relaciones públicas de Google no permitió que Mitrichev discutiera su compensación).



Mitrichev es inusual porque ha seguido compitiendo, y ganando, incluso después de conseguir ese trabajo: comenzó a trabajar en Google en 2007. Dice que sigue compitiendo porque escribir código es relajante. Las competencias semanales en línea de TopCoder duran aproximadamente 90 minutos. Puedes ver un programa de televisión o puedes entrar, dice.

Incluso en el tiempo libre, Mitrichev es una fuerza a tener en cuenta. En 2011 ganó el primer concurso de programación de Facebook, el ahora anual Copa Hacker . Se presentó a la final en la sede de Facebook y recogió su trofeo con su insignia de empleado de Google pegada a sus jeans. Algunos lo vieron como una burla descarada en la rivalidad de las empresas por la supremacía de los piratas informáticos. Lo acababa de dejar puesto el día anterior, dice Mitrichev. No estaba tratando de hacer ningún punto.

El trabajo de Mitrichev en Google es mejorar su herramienta de búsqueda, construida a partir de quizás los algoritmos más valiosos y afinados de la historia, que registra casi cinco mil millones de solicitudes al día. Eso es difícil, dice, porque la mayoría de las técnicas fáciles ya se han implementado, incluso en PageRank, el algoritmo icónico originalmente escrito por los fundadores de Google. Mejorar los resultados de búsqueda ahora implica ajustes más sutiles, como encontrar sinónimos u otros trucos de lenguaje para ayudar a extraer un significado adicional de los términos de búsqueda de un usuario.

Cuando tienes una idea, la implementas como un algoritmo y luego ejecutas un experimento, explica. Si las clasificaciones de búsqueda resultan mejores, si las personas hacen clic en los resultados principales con más frecuencia en las pruebas en vivo, el nuevo algoritmo permanece.

La próxima vez que una búsqueda en Google arroje exactamente el resultado que deseaba, puede juzgarlo usted mismo.

esconder