Algoritmų olimpiadoje auksą laimi rusas

Jei Vladimiras Putinas tinkamu momentu pažvelgs pro Kremliaus langus, jis turės galimybę pamatyti geriausią pasaulyje kompiuterių programuotoją „Google“ biure Maskvoje kitapus upės.





Įjungta: Aukščiausio lygio programuotojas Petras Mitrichev išsprendžia problemą per 2010 m. kodavimo konkursą.

Jis yra 27 metų rusas Petras Mitrichevas, dirbantis Google paieškos sistemoje ir užsitarnavęs čempiono titulą varžybų programavimo srityje – sporto šakoje, kurioje įsilaužėliai rašo kompiuterio kodus, siekdami piniginių prizų, kelionių galimybių ir gilaus pasitenkinimo, kurio niekur kitur nepasiekiama. .



Jaučiate pasitenkinimą konkurse, kai išsprendžiate problemą, sako Mitrichev, malonus ir šiek tiek išblyškęs su „Google“ marškinėliais per interviu bendrovės būstinės pievelėje Mauntin Vju, Kalifornijoje.



Nuo 2005 m. Mitričevas, baigęs Maskvos valstybinį universitetą, pirmauja pasaulyje algoritminio programavimo srityje. Tai konkurencinių kodavimo kategorijų Grand Prix, kai mįslės, susijusios su begaline žaidimų lenta arba n + 1 mūkančių karvių decibelų lygiu, reikalauja akimirksniu matematinės įžvalgos ir greitų klaviatūros pirštų. Mitričevas yra žinomas dėl savo trumpos pauzės – tai yra, jis pradeda atsakyti į klausimus vos tik juos pamatęs.

Mitrichev nuomone, konkurencinis programavimas subjektyviame pasaulyje siūlo retą absoliutų salą. Gražus aspektas yra tai, kad tai visiškai automatizuota ir nėra jokio žmogaus sprendimo, sako jis. Tai vienas sąžiningiausių konkursų, kuriuos aš kada nors mačiau.

Ne tik algoritmų kūrėjai, tokie kaip Mitrichev, mato tame grožį. Technologijų įmonės naudojasi sporto programavimu kaip vieta, kur atrasti išmaniausius ir greičiausius pasaulyje programuotojus. Milžinai, tokie kaip „Facebook“ ir „Google“, remia geriausius konkursus, tinkuodami savo logotipus aplink renginių sales, tokias kaip „Rolex“ Vimbldone (žr. „Leidimas įsilaužėliams konkuruoti“, „Facebook Eyes New Talent“).



Mitričevo iškilimas prasidėjo, kai jam buvo 10 metų, kai jis paėmė vyresniajam broliui priklausančią knygą apie kompiuterių kalbą Paskalį. Nors jo namuose Maskvoje nebuvo kompiuterio, kitais metais jis užėmė 60 vietą iš 100 Rusijos nacionaliniame vidurinių mokyklų studentų programavimo konkurse. Kadangi jam tebuvo 11 metų, teisėjai jaunuolį apdovanojo kompiuteriu. Būdamas 15 metų jis laimėjo konkursą. Netrukus jis dalyvavo tarptautinėje grandinėje ir debiutavo tarptautinėje informatikos olimpiadoje Pekine.

Mitrichevas užsitarnavo savo dabartinį pasaulio reitingą tik prisijungęs prie aukščiausios konkurencingo programavimo lygos – savaitinių ir kasmetinių konkursų, kuriuos organizuoja Konektikuto kompanija. TopCoder kurios pritraukia daugiau nei 400 000 programuotojų iš viso pasaulio. Pakeitęs programavimo kalbas iš Pascal į C#, jis pakilo į viršų reitinge ir 2005 m. užėmė pirmąją vietą, kurios užima ir šiandien.

Toks meistriškumas ir sportiškas elgesys padarė Mitrichevą geek herojumi. Forumo įrašai išskaido kiekvieną jo pasirodymą, kurį jis skelbia kaip vaizdo įrašai internete . Didesniame kasmetiniame konkurse, kuriame šimtai programuotojų sukviečiama viešbučio pobūvių salėje, dideli ekranai perduoda tiesioginius kanalus iš konkurentų monitorių. Kėdės pastatytos 20 minučių anksčiau, kad būtų galima gerai matyti Mitricevą darbe.



Murzimas sklinda per minią, kai jie pamato, kad jis turi klaidą, ir dar kartą, kai pamato, kad jis ją ištaisė, sako Mike'as Lydonas, TopCoder CTO. Pasauliečiui nėra ko matyti. Tačiau šiems vaikinams tai žavu.

Šių varžybų problemos dažnai nusako fizines situacijas, kurios turi būti aprašytos matematiškai. Norint tai padaryti, reikia parašyti algoritmą – operacijų seką, kurią reikia atlikti su duomenimis. Viena iš problemų pastarosiose, liepos 21 d., Mitrichevo varžybose buvo nuspėti figūrų padėtį šaškių žaidime, žaidžiant ant begalinės lentos. Konkurentai laimi taškus, kai jų programos tinkamai apdoroja bandymų duomenis. Kai kurie konkursai apima iššūkio etapą, kurio tikslas yra pateikti duomenis, kurie nukreipia konkurento programą.

Šiam sportui gresia dideli pinigai. Pagrindiniai prizai gali siekti 25 000 USD (Mitričevas yra laimėjęs keletą), o kadangi algoritmai skatina pelningą verslą Silicio slėnyje ir Volstryte, daugelis geriausių programuotojų įdarbinami į gerai apmokamus darbus. („Google“ viešųjų ryšių atstovas neleis Mitričevui aptarti jo atlyginimo.)



Mitrichevas yra neįprastas, nes net ir gavęs tokį darbą jis ir toliau varžėsi ir laimėjo: 2007 m. pradėjo dirbti „Google“. Jis sako, kad konkuruoja ir toliau, nes kodo rašymas atpalaiduoja. Kassavaitiniai TopCoder internetiniai konkursai trunka maždaug 90 minučių. Galite žiūrėti TV laidą arba galite įeiti, sako jis.

Net laisvalaikiu Mitrichev yra jėga, su kuria reikia atsižvelgti. 2011 m. jis laimėjo pirmąjį „Facebook“ programavimo konkursą, kuris dabar vyksta kasmet Hakerių taurė . Jis pasirodė finale „Facebook“ būstinėje ir atsiėmė trofėjų su „Google“ darbuotojo ženkleliu, pritvirtintu prie džinsų. Kai kurie tai vertino kaip įžūlų pasityčiojimą iš įmonių konkurencijos dėl įsilaužėlių viršenybės. Aš tiesiog palikau jį įjungtą dieną prieš tai, sako Mitrichev. Nebandžiau dėti taško.

Mitrichev darbas „Google“ yra tobulinti paieškos įrankį, sukurtą pagal bene tiksliausius ir vertingiausius istorijoje algoritmus, kurie registruoja beveik penkis milijardus užklausų per dieną. Jis sako, kad tai sunku, nes dauguma paprastų metodų jau buvo įgyvendinti, įskaitant „PageRank“ – ikoninį algoritmą, kurį iš pradžių parašė „Google“ įkūrėjai. Paieškos rezultatų tobulinimas dabar apima subtilesnius pakeitimus, pvz., sinonimų ar kitų kalbos gudrybių radimą, padedantį išgauti papildomos prasmės iš vartotojo paieškos terminų.

Kai turi idėją, tada ją įgyvendini kaip algoritmą, o tada vykdai eksperimentą, aiškina jis. Jei paieškos reitingai yra geresni (jei žmonės dažniau spustelėja geriausius rezultatus tiesioginių testų metu), naujasis algoritmas išlieka.

Kai kitą kartą „Google“ paieška pateiks būtent tokį rezultatą, kokio norėjote, galite nuspręsti patys.

paslėpti