211service.com
In de Olympische Spelen van Algoritmen blijft een Rus goud winnen
Als Vladimir Poetin op het juiste moment uit de ramen van het Kremlin kijkt, heeft hij een kans om een glimp op te vangen van 's werelds beste computerprogrammeur in het kantoor van Google in Moskou aan de overkant van de rivier.

Bedraad in: Topprogrammeur Petr Mitrichev lost een probleem op tijdens een programmeerwedstrijd in 2010.
Hij is Petr Mitrichev, een 27-jarige Rus die werkt aan de zoekmachine van Google en zijn kampioenstitel verdiende in competitieve programmering, een sport waarbij hackers computercode schrijven op zoek naar geldprijzen, reismogelijkheden en een diepgaande vervulling die nergens anders te bereiken is .
Je hebt een gevoel van voldoening in een wedstrijd als je een probleem oplost, zegt Mitrichev, minzaam en een beetje bleek in een Google T-shirt tijdens een interview op het gazon van het hoofdkantoor van het bedrijf in Mountain View, Californië.
Sinds 2005 is Mitrichev, afgestudeerd aan de Staatsuniversiteit van Moskou, wereldleider op het gebied van algoritmisch programmeren. Dat is de Grand Prix van competitieve coderingscategorieën, waarin raadsels met oneindige spelborden of het decibelniveau van n + 1 loeiende koeien onmiddellijke wiskundige inzichten en snelle vingers op het toetsenbord vereisen. Mitrichev staat bekend om zijn korte pauze, dat wil zeggen dat hij vragen begint te beantwoorden zodra hij ze ziet.
Voor Mitrichev biedt competitieve programmering een zeldzaam eiland van absolute waarden in een subjectieve wereld. Het mooie is dat het volledig automatisch gaat en dat er helemaal geen menselijk oordeel aan te pas komt, zegt hij. Het is een van de eerlijkste wedstrijden die ik ooit heb gezien.
Niet alleen algoritme-crafters zoals Mitrichev zien daar schoonheid in. Technologiebedrijven gebruiken de sportprogrammering als een plek om 's werelds slimste en snelste programmeurs te ontdekken. Reuzen zoals Facebook en Google sponsoren de topcompetities en plakken hun logo's rond evenementenhallen zoals Rolex op Wimbledon (zie Hackers laten concurreren, Facebook Eyes New Talent).
De opkomst van Mitrichev begon toen hij 10 was, nadat hij een boek van zijn oudere broer had opgehaald over de computertaal Pascal. Hoewel er geen computer in zijn huis in Moskou was, plaatste hij het jaar daarop de 60e van de 100 in de Russische nationale programmeerwedstrijd voor middelbare scholieren. Omdat hij pas 11 was, kenden de juryleden de jongere een computer toe. Op 15-jarige leeftijd won hij de wedstrijd ronduit. Kort daarna maakte hij zijn debuut in het internationale circuit en debuteerde hij op de Internationale Informatica-olympiade in Peking.
Mitrichev verdiende zijn huidige wereldranglijst pas nadat hij zich had aangesloten bij de eredivisie van competitieve programmering, een reeks wekelijkse en jaarlijkse wedstrijden van het bedrijf Connecticut TopCoder die meer dan 400.000 programmeurs van over de hele wereld aantrekken. Door de programmeertalen van Pascal naar C# te veranderen, steeg hij de ranglijst en nam hij in 2005 de eerste plaats over, een positie die hij vandaag nog steeds bekleedt.
Een dergelijk meesterschap en een sportieve houding hebben Mitrichev tot een nerdheld gemaakt. Forumberichten ontleden al zijn optredens, die hij plaatst als video's online . Bij de grotere, jaarlijkse wedstrijd die honderden programmeurs bijeenbrengt in een balzaal van een hotel, geven grote schermen live feeds door van de monitoren van de deelnemers. Stoelen worden 20 minuten eerder opgesteld om Mitrichev aan het werk goed te kunnen zien.
Er gaat geroezemoes door de menigte als ze zien dat hij een bug heeft, en weer als ze zien dat hij het heeft opgelost, zegt Mike Lydon, CTO van TopCoder. Voor de leek is er niets te zien. Maar voor deze jongens is dit fascinerend.
De problemen in deze wedstrijden schetsen vaak fysieke situaties die wiskundig moeten worden beschreven. Om dat te doen, moet een algoritme worden geschreven - een reeks bewerkingen die op gegevens moeten worden uitgevoerd. Een van de problemen in de meest recente competitie van Mitrichev, op 21 juli, was om de positie van stukken te voorspellen in een damspel dat op een oneindig bord wordt gespeeld. Concurrenten winnen punten als hun programma's correct omgaan met testgegevens. Sommige wedstrijden bevatten een uitdagingsfase, waarbij het doel is om gegevens in te dienen die het programma van een concurrent omzeilen.
Er staat veel geld op het spel in de sport. Topprijzen kunnen $ 25.000 waard zijn (Mitrichev heeft er verschillende gewonnen), en omdat algoritmen lucratieve bedrijven in Silicon Valley en op Wall Street aandrijven, worden veel topprogrammeurs gerekruteerd voor goedbetaalde banen. (Een Google PR-vertegenwoordiger zou Mitrichev niet over zijn vergoeding laten praten.)
Mitrichev is ongebruikelijk omdat hij is blijven concurreren - en winnen - zelfs nadat hij zo'n baan kreeg: hij begon bij Google in 2007. Hij zegt dat hij blijft concurreren omdat het schrijven van code ontspannend is. De wekelijkse online wedstrijden van TopCoder duren ongeveer 90 minuten. Je kunt een tv-programma kijken of je kunt binnenkomen, zegt hij.
Zelfs in zijn vrije tijd is Mitrichev een kracht waarmee rekening moet worden gehouden. In 2011 won hij de eerste programmeerwedstrijd van Facebook, de inmiddels jaarlijkse Hacker Cup . Hij verscheen voor de finale op het hoofdkantoor van Facebook en haalde zijn trofee op met zijn Google-medewerkersbadge op zijn spijkerbroek. Sommigen zagen het als een brutale bespotting in de rivaliteit van de bedrijven om de suprematie van hackers. Ik had het net van de dag ervoor aangelaten, zegt Mitrichev. Ik probeerde geen enkel punt te maken.
Het is de taak van Mitrichev bij Google om de zoekfunctie te verbeteren, die is opgebouwd uit misschien wel de meest verfijnde en waardevolle algoritmen in de geschiedenis, die bijna vijf miljard verzoeken per dag registreert. Dat is moeilijk, zegt hij, omdat de meeste eenvoudige technieken al zijn geïmplementeerd, ook in PageRank, het iconische algoritme dat oorspronkelijk is geschreven door de oprichters van Google. Het verbeteren van zoekresultaten omvat nu meer subtiele aanpassingen, zoals het vinden van synoniemen of andere taaltrucs om extra betekenis uit de zoektermen van een gebruiker te halen.
Als je een idee hebt, implementeer je het als een algoritme en voer je een experiment uit, legt hij uit. Als de zoekresultaten beter uitkomen - als mensen vaker op de topresultaten klikken in live tests - blijft het nieuwe algoritme bestaan.
De volgende keer dat een Google-zoekopdracht precies het gewenste resultaat oplevert, kunt u zelf beoordelen.