Hvordan er det at møde eller kende Petr Mitrichev?

Bedste svar

Petr er min tidligere studerende samme år ved Institut for Matematik ved Moskva State University. Han var lidt som en personlig træner for mig efter hans to ACM ICPC-finaler, da hans ACM-karriere formelt sluttede. Vi arbejdede også sammen i 2 år på Googles kontor i Moskva, og vi lejede en lejlighed sammen i løbet af de to år, så jeg kender ham relativt godt.

Jeg vil bestemt støtte Adityas pointe. svar på hans ydmyghed. Petr er meget beskeden, og han kan faktisk ikke lide al denne super-popularitet med Facebook-siden oprettet om ham osv. Han er meget høflig og viser sig aldrig på nogen måde. Ingen i konkurrencedygtig programmering kan passere uden disse trash talk-samtaler som “(gul koder) – Åh, jeg er tåbe: Jeg var nødt til at indsende min 250-punkts igen. (rød koder) – Åh, jeg” tåber: Jeg har ordnet min hårde i 30 sekunder efter afslutningen af ​​kodningsfasen. (Petr) – Åh, jeg er en fjols: Jeg har savnet 2 gyldige udfordringer på det nemme problem i mit værelse – dette siges efter at han løste alle tre og vandt en SRM eller måske tage 2. pladsen. Dette kan virke som at spotte fra siden, men er faktisk bare en oprigtig analyse af ens egen fejl i løbet. Det er bare, at fejl i øjeblikket er på meget forskellige niveauer for disse mennesker.

Jeg kan bestemt modsætte sig Petr som vinder af alle tænkelige programmeringskonkurrencer til mange respektive vindere af alle tænkelige matematiske konkurrencer, idet han kan være meget mere social person, han er let at kommunikere med og han er bestemt ikke en supernerdy person, du ville forvente efter mødet “mærkelige matematikere”, ser nogle Hollywood-film eller bare husker din nørdede klassekammerat. Han er stadig ikke en talsmand eller noget, men han er en helt almindelig fyr for en fremmed.

Petr er meget god i strategiske brætspil. Vi var glade for at spille Settlers of Catan og spillede sandsynligvis flere hundrede gange, og han var vinderen omkring 2/3 gange, hvilket er imponerende i betragtning af et 3-4-spiller spil og givet ganske sofistikerede modstandere. Vi spiller også “svensk skak” (faktisk “bughouse” på engelsk, men bughuset har lidt forskellige regler), “Carcasson”, “Ticket to Ride” og andre. Det er meget mere gennemførligt at slå Petr i en af ​​disse end at slå ham i en programmeringskonkurrence, men det er svært.

Petr er en af ​​de konkurrencedygtige programmører med virkelig stærk matematisk tænkning. Der er forskellige paradigmer i ACM-verdenen, inklusive “Det blev accepteret ==> algoritmen er korrekt”, men ser ud til at Petr næsten aldrig sender nogen løsning uden at have et strengt bevis, selv når god matematisk intuition er nok, og beviset er hårdt. Hvilket jeg ville argumentere er et nødvendigt træk for en topkonkurrent, da det værste, man kunne gøre ved konkurrencen, er at implementere en forkert løsning.

Petr er (åbenbart) meget god til algoritmisk problemløsning. Mens jeg kan ( eller i det mindste kunne) slå ham ved de matematiske-olympiadespecifikke problemer, er der kun nogle få klasser af algoritmiske problemer, som jeg nogle gange kunne løse teoretisk hurtigere end ham, og i det store og hele er han meget hurtigere. Han har en superudviklet intuition i området: det samme som distinguis Han er vinderne af matematiske olympiader, men anvendte algoritmiske problemer i stedet for sædvanlige matematiske problemer. Så selvom du er meget god til at kode, skrive fejlfri kode og fejlfinding, så snart problemer er hårde nok, vil han stadig slå dig på grund af hastigheden i teoretisk problemløsning. På grund af sin stærke matematiske baggrund er han ikke skræmt af ikke-standardproblemer, som er sjældne i IMHO-konkurrencerne, men de mest komplekse er altid ikke-standardiserede. Petr kan lide de problemer, der kan udtrykkes i 1-2 enkle sætninger, men som er meget svære at løse mest.

Den eneste anden ting end meget hurtig problemløsning på matematikniveau, der virkelig adskiller Petr fra andre konkurrenter, er dybden af ​​forståelsen af ​​hans algoritme og hans programmer. Det er svært at forklare, men det er den grundlæggende årsag enten laver han ikke en fejl eller finder den hurtigere end andre topkonkurrenter i størrelsesorden. Han behøver ikke rigtig at foretage trin-for-trin fejlretning overhovedet: det er enten indlysende for ham bare ved at læse koden, hvor fejlen er, eller han kan lave en “Kør til denne linje” fejlretningskode, se på værdier af flere foruddefinerede variabler på det tidspunkt, inklusive arrays, sæt og matricer, og find fejlen lige i det øjeblik uden at gå videre. Enhver debugging mere end det virker som meget-meget sjælden, og nøglen er, at han forstår, hvilke invarianter der skal have når som helst i programmet og opdager forstyrrelserne, og så ved han på en eller anden måde meget hurtigt, hvor i koden disse invarianter muligvis kan blive overtrådt.

Petr skriver altid meget ren og forståelig kode. Han havde aldrig en tendens til at skrive kortere kode, men altid læsbar.Forresten hjælper det meget med at skrive fejlfri kode oprindeligt og ultrahurtig fejlfinding i den konkurrenceprægede programmering, hvilket ikke er en så indlysende strategi som for industriel programmering.

Han er åbenbart meget god i koncentration, meget opmærksom og meget god til at opregne alle mulige tilfælde nøje i de problemer, hvor det er nødvendigt.

En ting der kunne overraske dig, er at han aldrig har brugt for meget tid på træning i konkurrencedygtig programmering. Jeg mener naturligvis, at en dreng, der begyndte at deltage i den all-russiske olympiade i informatik og træningslejrene startende fra 6. klasse i modsætning til den sædvanlige 9. klasse, fik en masse træning. Men han siger altid, at han foretrak at altid have og bruge tid på at spille fodbold med sine venner osv. Jeg kender ikke skoleårene, men han trænede faktisk ikke andet end at deltage i de rigtige konkurrencer i løbet af sine ACM-år på universitetet . Mig og Egor (@ http://www.quora.com/TopCoder/Who-is-Egor-Kulikov/) var altid i laboratoriet og prøvede at finde en ny konkurrence på internettet og deltage, mens han bare kom ind nogle gange og narrede os lidt om det: ) Derefter “dukkede TopCoder op”, og efter en vis tilbageholdenhed med at deltage (“Hvorfor ville jeg? Tomek vil slå mig alligevel :)”) fandt han den regelmæssige kilde til konkurrencer, som han sjældent går glip af indtil i dag. Det er ikke engang overraskende for mig mere, når Petr vinder nogle SRM eller en anden personlig runde, mens man venter på boarding i lufthavnen og har 40 minutter i stedet for 75 til at færdiggøre kodningen. Men bortset fra de officielle konkurrencer, der er masser af i dag, men som var ret knappe for 8-10 år siden, så jeg ham ikke træne.

En af de andre specielle egenskaber er særlig ærlighed skubbet til grænserne. Du kan grundlæggende opfatter Petr som et computerprogram i stedet for en dødelig med hensyn til hans ord og handlinger 🙂 Hvis han siger noget, vil han holde sit ord, og som altid overholder han eksisterende regler fra love og konkurrenceregler til krydsning trafiklysene. Man kan sige, at dette er hvad alle skal gøre, men man kan virkelig sjældent finde en person, der rent faktisk gør det. Og dette er ofte en rollemodel, jeg bruger for mig selv i modsætning til den udbredte mentalitet af “bløde love” omkring mig. Selvom det ikke altid er 🙂 Du kan også forvente en vis indflydelse på dig selv på grund af det: han “vil altid tale med dig på engelsk, hvis der er mennesker, der ikke forstår russisk rundt omkring, og du bliver altid nødt til at fastgøre sikkerhedsselen i bilen 🙂 Selvom du er ved bagsædet 🙂 (hvilket er en regel, som alle skal følge, men desværre ikke er tilfældet i den virkelige verden).

Petr deltog også i de fleste universitetskurser, hvilket slet ikke er almindeligt ved MSU. Vi dimitterede begge med en fuld 5,0 GPA, hvilket er en sjælden lejlighed. Jeg kender ikke hans grund til det, min var som “hvorfor ikke få en 5 (en A), hvis det er let”. Du ville sandsynligvis ikke blive overrasket over, at det var let at studere for Petr, men det inkluderer også humaniora og sport og siger stadig noget vigtigt om personen.

Petr har ofte en kontroversiel mening om et eller andet emne. Det, der slår mig, er ikke denne kendsgerning alene, det er, at han ofte har denne modsatte mening om et emne, du betragtede som så indlysende og løst for evigt for alle, og det er ikke kun en mening, men en meget stærk argumentation for det 🙂 Det bogstaveligt talt får dig til i det mindste at genoverveje din holdning til nogle almindelige ting, du aldrig engang ville tænke på.

Det ser også ud til, at vi har noget delt i vores holdning til videnskaben. Vi fik begge ikke en ph.d. endnu, for det meste fordi det viste sig, at arbejde med praktiske komplekse problemer hos Google og Yandex (for mig) appellerede til os meget mere end uløste matematiske problemer, vi har prøvet, og de videnskabelige studier fik lav prioritet. Venner “springer rundt” og spørger, hvorfor ikke “Vi laver vores ph.d.er, men for mig og jeg antager, at for Petr er selve certifikatet ikke noget værd, hvis jeg ikke løser noget virkelig vigtigt. Jeg er stadig på jagt efter “mit” emne, jeg er ikke sikker på Petr, men jeg tror, ​​at vi sandsynligvis begge vil finde nogle interessante publicerbare emner ved et uheld i fremtiden.

Svar

En aften mens jeg øvede pool hos Google, spurgte en fyr mig, om han kunne slutte sig til os. Vi spillede 3-4 spil, og han spillede pletfri og slog mig hver eneste gang med stor margin. Jeg var kun begyndt at spille for nylig, og derfor følte det sig ikke meget dårligt over disse knusende nederlag. Hele tiden talte han ikke meget, og når han blev spurgt, præsenterede han sig som Petr og nævnte, at han var på besøg fra Moskva-kontoret.

Derefter mødtes vi et par gange til spil og en gang under middagen. Han nævnte aldrig noget om programmering eller algoritmer. Han var ligesom enhver anden Googler, jeg havde mødt, bortset fra at han sjældent talte, og da han gjorde det, handlede det ikke om de hårde problemer, han løser på arbejdet.

Få dage senere stødte jeg på denne artikel http://www.technologyreview.com/news/428610/in-the-olympics-of-algorithms-a-russian-keeps/ og blev sprængt væk for at vide, hvem denne “Petr” var! Jeg blev totalt overvældet af hans ydmyghed.Og pludselig følte jeg mig ikke så dårlig til at tabe ved poolen, idet jeg vidste, at der er andre ting, som han kan slå mig med endnu større margin :).

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *