I Algoritme-OL bliver en russer ved med at vinde guld

Hvis Vladimir Putin kigger ud af vinduerne i Kreml i det helt rigtige øjeblik, har han en chance for at skimte verdens bedste computerprogrammør i Googles Moskva-kontor på den anden side af floden.





Tilsluttet: Toprangerede programmør Petr Mitrichev løser et problem under en kodningskonkurrence i 2010.

Han er Petr Mitrichev, en 27-årig russer, der arbejder på Googles søgemaskine og opnåede sin mestertitel i konkurrencedygtig programmering, en sport, hvor hackere skriver computerkode i jagten på pengepræmier, rejsemuligheder og en dyb opfyldelse, der ikke kan opnås andre steder .

Du har en følelse af tilfredshed i en konkurrence, når du løser et problem, siger Mitrichev, kærlig og lidt bleg i en Google-T-shirt under et interview på græsplænen til virksomhedens hovedkvarter i Mountain View, Californien.



Siden 2005 har Mitrichev, en kandidat fra Moscow State University, ledet verden i algoritmisk programmering. Det er Grand Prix af konkurrerende kodningskategorier, hvor gåder, der involverer uendelige spilleplader eller decibelniveauet for n + 1 brummende køer, kræver øjeblikkelig matematisk indsigt og hurtige fingre på tastaturet. Mitrichev er kendt for sin korte pause - det vil sige, han begynder at besvare spørgsmål næsten så snart han ser dem.

For Mitrichev tilbyder konkurrencedygtig programmering en sjælden ø af absolutter i en subjektiv verden. Det smukke aspekt er, at det er helt automatisk, og der er ingen menneskelig dømmekraft involveret overhovedet, siger han. Det er en af ​​de mest retfærdige konkurrencer, jeg nogensinde har set.

Ikke kun algoritmer som Mitrichev ser skønhed i det. Teknologivirksomheder bruger sportsprogrammeringsscenen som et sted for at opdage verdens smarteste – og hurtigste – kodere. Kæmper som Facebook og Google sponsorerer de bedste konkurrencer og plaster deres logoer rundt om begivenhedshaller som Rolex i Wimbledon (se Letting Hackers Compete, Facebook Eyes New Talent).



Mitrichevs opgang begyndte, da han var 10, efter at han hentede en bog tilhørende sin ældre bror om computersproget Pascal. Selvom der ikke var nogen computer i hans hjem i Moskva, blev han næste år nummer 60 ud af 100 i Ruslands nationale programmeringskonkurrence for gymnasieelever. Da han kun var 11, tildelte dommerne den unge en computer. Som 15-årig vandt han konkurrencen direkte. Kort efter var han på det internationale kredsløb og fik sin debut ved den internationale olympiade i informatik i Beijing.

Mitrichev opnåede først sin nuværende verdensrangering efter at have sluttet sig til de førende ligaer af konkurrencedygtig programmering, en række ugentlige og årlige konkurrencer, der drives af Connecticut-virksomheden TopCoder der tiltrækker mere end 400.000 programmører fra hele verden. Han skiftede programmeringssprog fra Pascal til C# og steg op på ranglisten for at overtage førstepladsen i 2005, en position han stadig har i dag.

En sådan beherskelse og en sportslig opførsel har gjort Mitrichev til en nørdhelt. Forumindlæg dissekerer alle hans præstationer, som han poster som videoer online . Ved den større, årlige konkurrence, der indkalder hundredvis af kodere i en hotelbalsal, videresender store skærme live-feeds fra konkurrenternes skærme. Stole trækkes op 20 minutter før for et godt overblik over Mitrichev på arbejde.



Mumlen går gennem mængden, når de ser, at han har en fejl, og igen når de ser, at han har rettet den, siger Mike Lydon, TopCoders CTO. For lægmanden er der intet at se. Men for disse fyre er dette fascinerende.

Problemerne i disse konkurrencer skitserer ofte fysiske situationer, som skal beskrives matematisk. At gøre det kræver at skrive en algoritme - en sekvens af operationer, der skal udføres på data. Et af problemerne i Mitrichevs seneste konkurrence, den 21. juli, var at forudsige brikkernes placering i et damspil spillet på et uendeligt bræt. Konkurrenter vinder point, når deres programmer håndterer testdata korrekt. Nogle konkurrencer inkluderer en udfordringsfase, hvor målet er at indsende data, der tripper en konkurrents program.

Der er betydelige penge på spil i sporten. Toppræmier kan være værd $25.000 (Mitrichev har vundet flere), og fordi algoritmer driver lukrative virksomheder i Silicon Valley og på Wall Street, rekrutteres mange topkodere til højtbetalte job. (En Google PR-repræsentant ville ikke lade Mitrichev diskutere sin kompensation.)



Mitrichev er usædvanlig, fordi han er blevet ved med at konkurrere – og med at vinde – selv efter at have fået sådan et job: han begyndte at arbejde hos Google i 2007. Han siger, at han bliver ved med at konkurrere, fordi det er afslappende at skrive kode. TopCoders ugentlige onlinekonkurrencer tager cirka 90 minutter. Man kan se et tv-program, eller man kan komme ind, siger han.

Selv i fritiden er Mitrichev en kraft at regne med. I 2011 vandt han Facebooks første programmeringskonkurrence, den nu årlige Hacker Cup . Han dukkede op til finalen i Facebooks hovedkvarter og samlede sit trofæ med sit Google-medarbejdermærke på sine jeans. Nogle så det som en fræk hån i virksomhedernes rivalisering om hackers overherredømme. Jeg havde bare ladet det stå på fra dagen før, siger Mitrichev. Jeg prøvede ikke at gøre noget ved det.

Mitrichevs job hos Google er at forbedre sit søgeværktøj, bygget af de måske mest finjusterede og værdifulde algoritmer i historien, som registrerer næsten fem milliarder anmodninger om dagen. Det er svært, siger han, fordi de fleste af de nemme teknikker allerede er implementeret, herunder i PageRank, den ikoniske algoritme, der oprindeligt er skrevet af Googles grundlæggere. Forbedring af søgeresultater involverer nu mere subtile justeringer, såsom at finde synonymer eller andre sprogtricks for at hjælpe med at udtrække ekstra betydning fra en brugers søgetermer.

Når man har en idé, så implementerer man den som en algoritme, og så kører man et eksperiment, forklarer han. Hvis søgerangeringer kommer bedre ud – hvis folk klikker på de øverste resultater oftere i live-tests – forbliver den nye algoritme.

Næste gang en Google-søgning giver præcis det resultat, du ønskede, kan du selv vurdere.

skjule