Hur är det att träffa eller känna Petr Mitrichev?

Bästa svaret

Petr är min tidigare studerande på samma år vid institutionen för matematik vid Moskvas statsuniversitet. Han var något som en personlig tränare för mig efter hans två ACM ICPC-finaler när hans ACM-karriär formellt slutade. Vi arbetade också tillsammans i två år på Googles kontor i Moskva och vi hyrde en lägenhet tillsammans under de två åren, så jag känner honom relativt bra.

Jag skulle definitivt stödja poängen med Aditya svar om hans ödmjukhet. Petr är väldigt blygsam och han gillar faktiskt inte all denna superpopularitet med Facebook-sidan skapad om honom etc. Han är väldigt artig och visar aldrig på något sätt. Ingen i konkurrenskraftig programmering kan passera utan dessa konversationer med skräp som ”(gul kodare) – Åh, jag” är en dåre: Jag var tvungen att skicka in mina 250-poäng igen. (röd kodare) – Åh, jag ”en dåre: Jag har fixat min hårda på 30 sekunder efter avslutad kodningsfas. (Petr) – Åh, jag är dum: jag har missat två giltiga utmaningar på det enkla problemet i mitt rum – detta sägs efter att han hade löst alla tre och vunnit en SRM eller kanske tar 2: a plats. Det här kan tyckas vara hånfullt från sidan, men egentligen är det bara en uppriktig analys av sig själva misstag under omgången. Det är bara att misstag för närvarande är på mycket olika nivåer för dessa människor.

Jag kan definitivt motsätta sig Petr som en vinnare av alla tänkbara programmeringstävlingar till många respektive vinnare av alla tänkbara matematiska tävlingar genom att han kan vara mycket mer social person, han är lätt att kommunicera med och han är definitivt inte en supernördig person som du förväntar dig efter mötet ”konstiga matematiker”, titta på några Hollywood-filmer eller bara komma ihåg din nördiga klasskamrat. Han är fortfarande inte en talesman eller något, men han är en helt vanlig kille för en främling.

Petr är mycket bra i strategiska brädspel. Vi gillade att spela Settlers of Catan och spelade förmodligen flera hundra gånger, och han var vinnaren ungefär 2/3 gånger vilket är imponerande med tanke på ett spel på 3-4 spelare och givet ganska sofistikerade motståndare. Vi spelar också ”svenskt schack” (egentligen ”bughouse” på engelska, men bughuset har lite andra regler), ”Carcasson”, ”Ticket to Ride” och andra. Det är mycket mer genomförbart att slå Petr i en av dessa än att slå honom i en programmeringstävling, men det är svårt.

Petr är en av de konkurrenskraftiga programmerarna med riktigt starkt matematiskt tänkande. Det finns olika paradigmer i ACM-världen, inklusive ”Det blev accepterat ==> algoritmen är korrekt”, men verkar som att Petr nästan aldrig lämnar någon lösning utan att ha ett noggrant bevis även när det är tillräckligt med matematisk intuition och beviset är svårt. argumentera är ett nödvändigt drag för en toppkonkurrent, eftersom det värsta du kan göra i tävlingen är att implementera en felaktig lösning.

Petr är (uppenbarligen) mycket bra på algoritmisk problemlösning. Medan jag kan ( eller åtminstone kunde) slå honom vid de matematiska-olympiadsspecifika problemen, det finns bara några få klasser av algoritmiska problem som jag ibland skulle kunna lösa teoretiskt snabbare än honom, och i allmänhet är han mycket snabbare. Han har en superutvecklad intuition i området: samma sak som distinguis Han är vinnarna av matematiska olympiader, men tillämpas på algoritmiska problem istället för vanliga matematiska problem. Så även om du är mycket bra på att koda, skriva felfri kod och felsöka, så snart problemen är tillräckligt svåra, kommer han fortfarande att slå dig på grund av hastigheten i teoretisk problemlösning. På grund av sin starka matematiska bakgrund är han ingen skrämmas av icke-standardproblem, som är sällsynta i IMHO-tävlingarna, men de mest komplexa är alltid icke-standardiserade. Petr gillar problemen som kan uttryckas i 1-2 enkla meningar men som är mycket svåra att lösa mest.

Den enda saken än mycket snabb problemlösning på matematiknivå som verkligen skiljer Petr från andra konkurrenter är djupet av förståelsen för hans algoritm och hans program. Det är svårt att förklara, men det är kärnan antingen gör han inte ett fel eller hittar det i storleksordning snabbare än andra toppkonkurrenter. Han behöver inte göra steg-för-steg-felsökning alls: det är antingen uppenbart för honom bara genom att läsa koden där felet finns, eller så kan han göra en ”Kör till den här raden” -felsökningskoden, titta på värden av flera fördefinierade variabler vid den tidpunkten, inklusive matriser, uppsättningar och matriser, och hitta felet just i det ögonblicket utan att gå längre. Alla felsökningar mer än det verkar som väldigt sällsynta, och nyckeln är att han förstår vilka invarianter som måste när som helst i programmet och upptäcker störningarna, och då vet han på något sätt mycket snabbt var i koden dessa invarianter eventuellt skulle kunna brytas.

Petr skriver alltid mycket ren och förståelig kod. Han brukade aldrig skriva kortare kod, men alltid läsbar.Förresten, det hjälper mycket för att skriva felfri kod inledningsvis och ultrasnabb felsökning i den konkurrerande programmeringen, vilket inte är en så uppenbar strategi som för industriell programmering.

Han är självklart mycket bra i koncentration, mycket uppmärksam och mycket bra på att räkna upp alla möjliga fall noggrant i problemen där det är nödvändigt.

En sak som kan överraska dig är att han aldrig ägnade för mycket tid åt utbildning i konkurrenskraftig programmering. Jag menar, uppenbarligen fick en pojke som började delta i den allryska olympiaden i informatik och träningsläger från och med 6: e klass i motsats till den vanliga 9: e klass mycket träning. Men han säger alltid att han föredrog att alltid ha och ägna tid åt att spela fotboll med sina vänner etc. Jag vet inte om skolåren, men han tränade faktiskt inte annat än att delta i de riktiga tävlingarna under sina ACM-år på universitetet . Jag och Egor (@ http://www.quora.com/TopCoder/Who-is-Egor-Kulikov/) var alltid i labbet och försökte hitta någon ny tävling på internet och delta, medan han bara kom in ibland och hånade oss lite om det: ) Då ”uppträdde” TopCoder, och efter viss motvilja mot att gå med (”Varför skulle jag? Tomek kommer att slå mig ändå :)”) fann han den regelbundna källan till tävlingar som han sällan saknar fram till dessa dagar. Det är inte ens förvånande för mig längre när Petr vinner lite SRM eller en annan personlig runda medan jag väntar på ombordstigning på flygplatsen och har ungefär 40 minuter istället för 75 för att slutföra kodningen. Men förutom de officiella tävlingar som är många idag men som var ganska knappa för 8-10 år sedan såg jag honom inte träna.

En av de andra egenskaperna är särskilt ärlighet som skjuts till gränserna. Du kan uppfattar i grunden Petr som ett datorprogram istället för enbart dödligt när det gäller hans ord och gärningar 🙂 Om han säger något kommer han att hålla sitt ord, och han, som alltid, följer alla befintliga regler från lagar och konkurrensregler till korsning trafikljusen. Man kan säga att det här är vad alla ska göra, men man kan verkligen sällan hitta en person som faktiskt gör det. Och detta är ofta en förebild som jag använder för mig själv i motsats till den utbredda mentaliteten hos ”mjuka lagar” omkring mig. Även om det inte alltid är 🙂 Du kan också förvänta dig lite inflytande på dig själv på grund av det: han kommer alltid att prata med dig på engelska om det finns människor som inte förstår ryska runt, och du måste alltid fästa säkerhetsbältet i bilen 🙂 Även om du är vid baksätet 🙂 (vilket är en regel som alla bör följa, men tyvärr är inte fallet i den verkliga världen).

Petr deltog också i de flesta universitetskurser, vilket inte alls är vanligt vid MSU. Vi tog båda examen med full 5,0 GPA vilket är ett sällsynt tillfälle. Jag vet inte hans anledning till det, min var som ”varför inte få en 5 (en A) om det är lätt”. Du skulle förmodligen inte bli förvånad över att det var lätt att studera för Petr, men det innehåller också en del humaniora och sport och säger fortfarande något viktigt om personen.

Petr har ofta en kontroversiell åsikt om något ämne. Vad som slår mig är inte detta faktum ensam, det är att han ofta har denna motsatta åsikt om ett ämne som du ansåg så uppenbart och löst för alltid för alla, och det är inte bara en åsikt utan en mycket stark argumentation för det 🙂 Det bokstavligen får dig åtminstone att ompröva din inställning till några vanliga saker som du aldrig ens skulle tänka på.

Det verkar också att vi har något delat i vår inställning till vetenskapen. Vi fick inte doktorsexamen ännu, mestadels eftersom det visade sig att arbetet med praktiska komplexa problem på Google och Yandex (för mig) tilltalade oss mycket mer än olösta matematiska problem vi har testat och de vetenskapliga studierna fick låg prioritet. Vänner ”hoppar runt” och frågar varför inte ”t gör vi doktorsexamen, men för mig och jag antar att för Petr är intyget i sig inte värt något om jag inte löser något riktigt viktigt. Jag är fortfarande på jakt efter ”mitt” ämne, jag är inte säker på Petr, men jag tror att vi antagligen kommer att hitta några intressanta publicerbara ämnen av misstag i framtiden.

Svar

En kväll medan jag tränade pool på Google frågade en kille om han kunde gå med. Vi spelade 3-4 matcher och han spelade obefläckat och slog mig varje gång med stor marginal. Jag hade bara börjat spela nyligen, och så kändes det inte så illa på dessa krossande nederlag. Hela tiden talade han inte mycket och när han blev tillfrågad presenterade han sig som Petr och nämnde att han var på besök från Moskva-kontoret.

Därefter träffades vi några gånger för spel och en gång under middagen. Han nämnde aldrig någonting om programmering eller algoritmer. Han var precis som alla andra Googler jag hade träffat, förutom att han sällan talade och när han gjorde det handlade det inte om de hårda problemen han löser på jobbet.

Några dagar senare stötte jag på den här artikeln http://www.technologyreview.com/news/428610/in-the-olympics-of-algorithms-a-russian-keeps/ och blev blåst bort för att veta vem denna ”Petr” var! Jag blev helt överväldigad av hans ödmjukhet.Och plötsligt kände jag mig inte så dålig att förlora vid poolen, eftersom jag visste att det finns andra saker som han kan slå mig med ännu större marginal :).

Lämna ett svar

Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *