I OL i algoritmer fortsetter en russer å vinne gull

Hvis Vladimir Putin kikker ut vinduene i Kreml i akkurat det rette øyeblikket, har han en sjanse til å skimte verdens beste dataprogrammerer på Googles Moskva-kontor over elven.





Kablet inn: Topprangerte programmerer Petr Mitrichev løser et problem under en kodekonkurranse i 2010.

Han er Petr Mitrichev, en 27 år gammel russer som jobber på Googles søkemotor og fikk sin mestertittel i konkurrerende programmering, en sport der hackere skriver datakode i jakten på pengepremier, reisemuligheter og en dyp oppfyllelse uoppnåelig noe annet sted .

Du har en følelse av tilfredshet i en konkurranse når du løser et problem, sier Mitrichev, kjærlig og litt blek i en Google T-skjorte under et intervju på plenen til selskapets hovedkvarter i Mountain View, California.



Siden 2005 har Mitrichev, utdannet ved Moscow State University, ledet verden innen algoritmisk programmering. Det er Grand Prix for konkurrerende kodekategorier, der gåter som involverer uendelige spillebrett eller desibelnivået til n + 1 buldrende kuer krever umiddelbar matematisk innsikt og raske fingre på tastaturet. Mitrichev er kjent for sin korte pause - det vil si at han begynner å svare på spørsmål nesten så snart han ser dem.

For Mitrichev tilbyr konkurransedyktig programmering en sjelden øy av absolutter i en subjektiv verden. Det vakre aspektet er at det er helt automatisk og det er ingen menneskelig dømmekraft involvert i det hele tatt, sier han. Det er en av de mest rettferdige konkurransene jeg noen gang har sett.

Ikke bare algoritmemakere som Mitrichev ser skjønnhet i det. Teknologiselskaper bruker sportsprogrammeringsscenen som et sted for å oppdage verdens smarteste – og raskeste – kodere. Giganter som Facebook og Google sponser de beste konkurransene, og plaster logoene sine rundt arrangementshaller som Rolex på Wimbledon (se Letting Hackers Compete, Facebook Eyes New Talent ).



Mitrichevs oppgang begynte da han var 10, etter at han plukket opp en bok som tilhørte sin eldre bror om dataspråket Pascal. Selv om det ikke var noen datamaskin i hjemmet hans i Moskva, ble han neste år nummer 60 av 100 i Russlands nasjonale programmeringskonkurranse for videregående elever. Siden han bare var 11, tildelte dommerne unggutten en datamaskin. Som 15-åring vant han konkurransen direkte. Like etter var han på den internasjonale kretsen, og debuterte ved den internasjonale olympiaden i informatikk i Beijing.

Mitrichev oppnådde sin nåværende verdensrangering først etter å ha blitt med i de fremste ligaene for konkurrerende programmering, en serie ukentlige og årlige konkurranser drevet av Connecticut-selskapet TopCoder som tiltrekker seg mer enn 400 000 programmerere fra hele verden. Ved å bytte programmeringsspråk fra Pascal til C#, steg han opp rangeringene for å overta førsteplassen i 2005, en posisjon han fortsatt har i dag.

En slik mestring og en sportslig oppførsel har gjort Mitrichev til en geek-helt. Foruminnlegg dissekerer hver forestilling hans, som han legger ut som videoer på nettet . På den større, årlige konkurransen som samler hundrevis av kodere i en hotellballsal, sender store skjermer live-feeds fra konkurrentenes monitorer. Stoler trekkes opp 20 minutter for tidlig for god utsikt over Mitrichev på jobb.



Murringer går gjennom mengden når de ser at han har en feil, og igjen når de ser at han har fikset den, sier Mike Lydon, TopCoders CTO. For lekmannen er det ingenting å se. Men for disse gutta er dette fascinerende.

Problemene i disse konkurransene skisserer ofte fysiske situasjoner som må beskrives matematisk. Å gjøre det krever å skrive en algoritme - en sekvens av operasjoner som skal utføres på data. Et av problemene i Mitrichevs siste konkurranse, 21. juli, var å forutsi plasseringen av brikker i et damspill som spilles på et uendelig brett. Konkurrenter vinner poeng når programmene deres håndterer testdata på riktig måte. Noen konkurranser inkluderer en utfordringsfase, hvor målet er å sende inn data som reiser en konkurrents program.

Det er betydelige penger på spill i sporten. Topppremier kan være verdt $25 000 (Mitrichev har vunnet flere), og fordi algoritmer driver lukrative virksomheter i Silicon Valley og på Wall Street, rekrutteres mange toppkodere til høytbetalende jobber. (En Google PR-representant ville ikke la Mitrichev diskutere kompensasjonen sin.)



Mitrichev er uvanlig fordi han har fortsatt å konkurrere – og å vinne – selv etter å ha fått en slik jobb: han begynte å jobbe hos Google i 2007. Han sier at han fortsetter å konkurrere fordi det er avslappende å skrive kode. TopCoders ukentlige nettkonkurranser tar omtrent 90 minutter. Du kan se et TV-program eller du kan gå inn, sier han.

Selv på fritiden er Mitrichev en kraft å regne med. I 2011 vant han Facebooks første programmeringskonkurranse, den nå årlige Hacker Cup . Han dukket opp til finalen ved Facebooks hovedkvarter og hentet trofeet sitt med Google-ansattmerket festet til jeansen. Noen så det som en frekk hån i selskapenes rivalisering om hackers overherredømme. Jeg hadde bare latt den stå på fra dagen før, sier Mitrichev. Jeg prøvde ikke å gjøre noe poeng.

Mitrichevs jobb hos Google er å forbedre søkeverktøyet sitt, bygget fra kanskje de mest finjusterte og verdifulle algoritmene i historien, som registrerer nesten fem milliarder forespørsler om dagen. Det er vanskelig, sier han, fordi de fleste av de enkle teknikkene allerede er implementert, inkludert i PageRank, den ikoniske algoritmen som opprinnelig ble skrevet av Googles grunnleggere. Forbedring av søkeresultater innebærer nå mer subtile justeringer, for eksempel å finne synonymer eller andre språktriks for å hjelpe med å trekke ut ekstra mening fra en brukers søkeord.

Når du har en idé, så implementerer du den som en algoritme, og så kjører du et eksperiment, forklarer han. Hvis søkerangeringer kommer bedre ut – hvis folk klikker på toppresultatene oftere i live-tester – forblir den nye algoritmen.

Neste gang et Google-søk gir akkurat det resultatet du ønsket, kan du vurdere selv.

gjemme seg