Hvordan er det å møte eller kjenne Petr Mitrichev?

Beste svaret

Petr er min tidligere samme årsstudent ved Institutt for matematikk ved Moskva State University. Han var litt som en personlig trener for meg etter hans to ACM ICPC-finaler da ACM-karrieren formelt ble avsluttet. Vi jobbet også sammen i 2 år på Google-kontoret i Moskva, og vi leide en leilighet sammen i løpet av de to årene, så jeg kjenner ham relativt godt.

Jeg vil definitivt støtte poenget med Aditya svar om hans ydmykhet. Petr er veldig beskjeden, og han liker faktisk ikke all denne superpopulariteten med Facebook-siden som er opprettet om ham osv. Han er veldig høflig og viser seg aldri på noen måte. Ingen i konkurransedyktig programmering kan passere uten disse søppelsnakkesamtalene som «(gul kode) – Å, jeg» er en tulling: Jeg måtte sende inn 250-poenget mitt på nytt. (rød kode) – Å, jeg «en tull: Jeg har fikset min harde i 30 sekunder etter kodefasen. (Petr) – Å, jeg er tull: Jeg har savnet to gyldige utfordringer på det enkle problemet på rommet mitt – dette blir sagt etter at han hadde løst alle tre og vunnet en SRM. eller kanskje ta 2. plassen. Dette kan virke som å spotte fra siden, men er faktisk bare oppriktig analyse av ens feil i løpet av runden. Det er bare at feil for tiden er på veldig forskjellige nivåer for disse menneskene.

Jeg kan definitivt motsette seg Petr som en vinner av alle tenkelige programmeringskonkurranser til mange respektive vinnere av alle tenkelige matematiske konkurranser ved at han kan være mye mer sosial person, han er lett å kommunisere med og han er definitivt ikke en supernerdete person du forventer etter møtet «rare matematikere», ser på noen Hollywood-filmer eller bare husker din nerdete klassekamerat. Han er fortsatt ikke en talsmann eller noe, men han er en helt vanlig fyr for en fremmed.

Petr er veldig god i strategiske brettspill. Vi var glad i å spille Settlers of Catan og spilte sannsynligvis flere hundre ganger, og han var vinneren rundt 2/3 ganger, noe som er imponerende gitt et spill på 3-4 spillere og gitt ganske sofistikerte motstandere. Vi spiller også «svensk sjakk» (egentlig «bughouse» på engelsk, men bughuset har litt andre regler), «Carcasson», «Ticket to Ride» og andre. Det er mye mer gjennomførbart å slå Petr i en av disse enn å slå ham i en programmeringskonkurranse, men det er vanskelig.

Petr er en av de konkurransedyktige programmererne med veldig sterk matematisk tenkning. Det er forskjellige paradigmer i ACM-verdenen, inkludert «Det ble akseptert ==> algoritmen er riktig», men virker som om Petr nesten aldri sender noen løsning uten å ha et grundig bevis, selv når god matematisk intuisjon er nok og beviset er vanskelig. Hvilket jeg vil argumentere er et nødvendig trekk for en toppkonkurrent, ettersom det verste du kan gjøre i konkurransen er å implementere en feil løsning.

Petr er (åpenbart) veldig god til algoritmisk problemløsning. Mens jeg kan ( eller i det minste kunne) slå ham på matematiske-olympiadespesifikke problemer, det er bare noen få klasser av algoritmiske problemer jeg noen ganger kunne løse teoretisk raskere enn ham, og generelt sett er han mye raskere. Han har en superutviklet intuisjon i området: det samme som distinguis Han er vinnerne av matematiske OL, men brukte algoritmiske problemer i stedet for vanlige matematiske problemer. Så selv om du er veldig flink til å kode, skrive feilfri kode og feilsøke, så snart problemene er harde nok, vil han fremdeles slå deg på grunn av farten i teoretisk problemløsning. På grunn av sin sterke matematiske bakgrunn er han ingen skremt av ikke-standardproblemer, som er sjeldne i konkurransene IMHO, men de mest komplekse er alltid ikke-standardiserte. Petr liker problemene som kan uttrykkes i 1-2 enkle setninger, men som er veldig vanskelig å løse mest.

Den ene tingen annet enn veldig rask problemløsing på matematikknivå som virkelig skiller Petr fra andre konkurrenter, er dybden av forståelsen av algoritmen og programmene hans. Det er vanskelig å forklare, men det er den viktigste grunnen enten lager han ikke en feil eller finner den raskere enn andre konkurrenter. Han trenger ikke å gjøre trinnvis feilsøking i det hele tatt: det er enten åpenbart for ham bare ved å lese koden der feilen er, eller han kan lage en «Kjør til denne linjen» feilsøkingskoden, se på verdier av flere forhåndsdefinerte variabler på det tidspunktet, inkludert matriser, sett og matriser, og finn feilen akkurat i det øyeblikket uten å gå videre. Enhver feilsøking mer enn det virker som veldig veldig sjelden, og nøkkelen er at han forstår hvilke invarianter som må ha når som helst i programmet og oppdager forstyrrelsene, og da vet han på en eller annen måte veldig raskt hvor i koden disse invarianterne muligens kan bli brutt.

Petr skriver alltid veldig ren og forståelig kode. Han pleide aldri å skrive kortere kode, men alltid lesbar.Forresten, det hjelper mye for å skrive feilfri kode i utgangspunktet og ultra-rask feilsøking i konkurranseprogrammeringen, noe som ikke er en så åpenbar strategi som for industriell programmering.

Han er åpenbart veldig god konsentrert, veldig oppmerksom og veldig flink til å oppregne alle mulige tilfeller grundig i problemene der det er nødvendig.

En ting som kan overraske deg er at han aldri viet for mye tid til å trene i konkurransedyktig programmering. Jeg mener, åpenbart fikk en gutt som begynte å delta på den all-russiske olympiaden i informatikk og treningsleirene fra 6. klasse i motsetning til den vanlige 9. klasse. Men han sier alltid at han foretrakk å alltid ha og bruke tid på å spille fotball med vennene sine osv. Jeg vet ikke om skoleårene, men han trente faktisk ikke annet enn å delta i de virkelige konkurransene i løpet av ACM-årene på universitetet . Jeg og Egor (@ http://www.quora.com/TopCoder/Who-is-Egor-Kulikov/) var alltid i laboratoriet og prøvde å finne en ny konkurranse på internett og delta, mens han bare kom inn noen ganger og hånte oss litt om det: ) Så «dukket opp» TopCoder, og etter litt motvilje mot å bli med («Hvorfor ville jeg? Tomek vil slå meg uansett :)») fant han den vanlige kilden til konkurranser som han sjelden savner frem til i disse dager. Det er ikke engang overraskende for meg lenger når Petr vinner litt SRM eller en annen personlig runde mens du venter på ombordstigning på flyplassen og har omtrent 40 minutter i stedet for 75 for å fullføre kodingen. Men bortsett fra de offisielle konkurransene som er mange i dag, men som var ganske knappe for 8-10 år siden, så jeg ikke ham trene.

En av de andre særegenheter er særlig ærlighet presset til grensene. Du kan i utgangspunktet oppfatte Petr som et dataprogram i stedet for bare et dødelig med tanke på hans ord og gjerninger 🙂 Hvis han sier noe, vil han «holde ordet, og han, som alltid, adlyder eksisterende regler fra lover og konkurranseregler til kryssing trafikklysene. Man kan si at dette er hva alle burde gjøre, men man kan virkelig sjelden finne en person som faktisk gjør det. Og dette er ofte et forbilde jeg bruker for meg selv i motsetning til den utbredte mentaliteten til «myke lover» rundt meg. Selv om det ikke alltid er 🙂 Du kan også forvente litt innflytelse på deg selv på grunn av det: han vil alltid snakke med deg på engelsk hvis det er folk som ikke forstår russisk rundt, og du må alltid feste sikkerhetsbeltet på bilen 🙂 Selv om du er på baksetet 🙂 (som er en regel alle bør følge, men er dessverre ikke tilfelle i den virkelige verden).

Petr deltok også på de fleste av universitetskursene, noe som ikke er vanlig ved MSU. Vi ble begge uteksaminert med full 5,0 GPA, noe som er en sjelden anledning. Jeg vet ikke grunnen til det, min var som «hvorfor ikke få en 5 (en A) hvis det er lett». Du vil sannsynligvis ikke bli overrasket over at det var lett å studere for Petr, men det inkluderer også humaniora og sport, og sier fortsatt noe viktig om personen.

Petr har ofte en kontroversiell mening om noe emne. Det som slår meg er ikke dette faktum alene, det er at han ofte har denne motsatte oppfatningen om et tema du anså som så åpenbart og løst for alltid for alle, og det er ikke bare en mening, men en veldig sterk argumentasjon for det 🙂 Det bokstavelig talt får deg til å i det minste revurdere holdningen din til noen vanlige ting du aldri ville tenke på.

Det ser også ut til at vi har noe delt i vår holdning til vitenskapen. Vi begge fikk ikke doktorgrad ennå, for det meste fordi det viste seg at arbeidet med praktiske komplekse problemer hos Google og Yandex (for meg) appellerte til oss mye mer enn uløste matematiske problemer vi har prøvd, og de vitenskapelige studiene ble gitt lav prioritet. Venner «hopper rundt» og spør hvorfor ikke «Vi gjør doktorgradene våre, men for meg og jeg antar at for Petr er selve sertifikatet ikke verdt noe hvis jeg ikke løser noe veldig viktig. Jeg er fremdeles på jakt etter «mitt» emne, jeg er ikke sikker på Petr, men jeg tror vi sannsynligvis begge vil finne noen interessante publiserbare emner ved et uhell i fremtiden.

Svar

En kveld mens jeg trente basseng på Google, spurte en fyr meg om han kunne bli med. Vi spilte 3-4 kamper, og han spilte ulastelig og slo meg hver eneste gang med stor margin. Jeg hadde bare begynt å spille nylig, og følte meg ikke veldig dårlig på disse knusende nederlagene. Hele tiden snakket han ikke mye, og når han ble spurt, presenterte han seg som Petr og nevnte at han var på besøk fra Moskva-kontoret.

Etter det møttes vi noen ganger for spill og en gang under middagen. Han nevnte aldri noe om programmering eller algoritmer. Han var akkurat som alle andre Googler jeg hadde møtt, bortsett fra at han sjelden snakket, og da han gjorde det, handlet det ikke om de harde problemene han løser på jobben.

Få dager senere kom jeg over denne artikkelen http://www.technologyreview.com/news/428610/in-the-olympics-of-algorithms-a-russian-keeps/ og ble blåst bort for å vite hvem denne «Petr» var! Jeg ble helt overveldet av hans ydmykhet.Og plutselig følte jeg meg ikke så ille ved å tape ved bassenget, vel vitende om at det er andre ting som han kan slå meg med enda større margin :).

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *