Meilleure réponse
Petr est mon ancien étudiant de même année au département de mathématiques de lUniversité dÉtat de Moscou. Il était un peu comme un entraîneur personnel pour moi après ses deux finales ACM ICPC lorsque sa carrière ACM sest officiellement terminée. Nous avons également travaillé ensemble pendant 2 ans dans le bureau moscovite de Google, et nous avons loué un appartement ensemble pendant ces 2 ans, donc je le connais relativement bien.
Je soutiendrais certainement le point de vue des Aditya « s réponse à propos de son humilité. Petr est très modeste, et en fait il naime pas toute cette super-popularité avec la page Facebook créée à son sujet, etc. Il est très poli et ne se montre jamais en aucune façon. Personne dans le la programmation compétitive peut passer sans ces conversations trash talk comme « (codeur jaune) – Oh, je » suis un imbécile: jai dû resoumettre mon 250 points. (codeur rouge) – Oh, je « un imbécile: jai » réparé mon dur dans 30 secondes après la fin de la phase de codage. (Petr) – Oh, je « suis un imbécile: jai » raté 2 défis valides sur le problème facile dans ma chambre « – ceci étant dit après avoir résolu les trois et remporté un SRM ou peut-être prendre la 2e place. Cela peut sembler moqueur du côté, mais en fait, il ne s’agit que d’une analyse sincère des erreurs de soi-même pendant le tour. Cest juste que les erreurs sont actuellement à des niveaux très différents pour ces personnes.
Je peux certainement opposez Petr en tant que gagnant de tous les concours de programmation imaginables à de nombreux gagnants respectifs de tous les concours mathématiques imaginables en ce sens quil peut être une personne beaucoup plus sociale, il est facile de communiquer avec et il nest certainement pas une personne super-ringard que vous attendez après la réunion «mathématiciens étranges», en regardant des films hollywoodiens ou simplement en se souvenant de votre camarade de classe ringard. Il nest toujours pas un porte-parole ou quelque chose du genre, mais cest un type tout à fait habituel pour un inconnu.
Petr est très bon dans les jeux de société stratégiques. Nous aimions jouer à Settlers of Catan et avons joué probablement plusieurs centaines de fois, et il a été le gagnant environ 2/3 des fois, ce qui est impressionnant étant donné un jeu à 3-4 joueurs et des adversaires assez sophistiqués. Nous jouons également aux « échecs suédois » (en fait « bughouse » en anglais, mais le bughouse a des règles légèrement différentes), « Carcasson », « Ticket to Ride » et dautres. Il est beaucoup plus faisable de battre Petr dans lun de ces derniers que de le battre dans un concours de programmation, mais cest difficile.
Petr est lun des programmeurs compétitifs avec une pensée mathématique très forte. Il existe différents paradigmes dans le monde ACM, y compris « Il a été accepté ==> lalgorithme est correct », mais il semble que Petr ne soumette presque jamais de solution sans avoir une preuve rigoureuse même lorsquune bonne intuition mathématique est suffisante et que la preuve est difficile. Ce que je voudrais argumenter est un trait nécessaire pour un concurrent de haut niveau, car la pire chose que vous puissiez faire au concours est dimplémenter une mauvaise solution.
Petr est (évidemment) très doué pour la résolution de problèmes algorithmiques. Bien que je puisse ( ou du moins pourrait) le battre aux problèmes spécifiques aux olympiades mathématiques, il ny a que quelques classes de problèmes algorithmiques que je pourrais parfois résoudre théoriquement plus vite que lui, et dans le cas général, il est beaucoup plus rapide. intuition dans la région: la même chose qui distingue hes les gagnants des olympiades mathématiques, mais appliqué aux problèmes algorithmiques au lieu des problèmes mathématiques habituels. Donc, même si vous êtes très doué pour le codage, l’écriture de code sans bogue et le débogage, dès que les problèmes seront assez difficiles, il vous battra quand même à cause de la rapidité de la résolution de problèmes théoriques. intimidé par les problèmes non standard, qui sont rares dans les compétitions IMHO, mais les plus complexes sont toujours non standard. Petr aime les problèmes qui peuvent être exprimés en 1 à 2 phrases simples mais sont très difficiles à résoudre.
La seule chose autre que la résolution très rapide de problèmes au niveau mathématique qui distingue vraiment Petr des autres concurrents est la profondeur de la compréhension de son algorithme et de ses programmes. Cest difficile à expliquer, mais cest la raison principale il ne fait pas de bogue ou le trouve plus rapidement que les autres meilleurs concurrents. Il na pas vraiment besoin de déboguer pas à pas du tout: cest soit évident pour lui simplement en lisant le code où se trouve le bogue, soit il peut créer un code de débogage « Exécuter vers cette ligne », regarder les valeurs de plusieurs variables prédéfinies à ce stade, y compris des tableaux, des ensembles et des matrices, et trouvez le bogue juste à ce moment sans aller plus loin. Tout débogage plus que cela semble être très très rare, et la clé est quil comprend quels invariants doivent tenir à tout moment dans le programme et repère les perturbations, puis il sait très rapidement où dans le code ces invariants pourraient être violés.
Petr écrit toujours un code très clair et compréhensible. Il na jamais eu tendance à écrire code plus court, mais toujours lisible.Au fait, cela aide beaucoup à écrire du code sans bogue au départ et à déboguer ultra-rapide dans la programmation compétitive, ce qui nest pas une stratégie aussi évidente que pour la programmation industrielle.
De toute évidence, il est très bon à la concentration, très attentif et très doué pour énumérer rigoureusement tous les cas possibles dans les problèmes où cela est nécessaire.
Une chose qui pourrait vous surprendre est quil na jamais consacré trop de temps à la formation en programmation compétitive. Je veux dire, de toute évidence, un garçon qui a commencé à assister à lOlympiade panrusse en informatique et aux camps dentraînement à partir de la 6e année par opposition à la 9e année habituelle a reçu beaucoup de formation. Mais il dit toujours quil préférait toujours avoir et consacrer du temps à jouer au football avec ses amis, etc. Je ne sais pas pour les années scolaires, mais il ne sest en fait pas entraîné à part participer aux vrais concours pendant ses années ACM à luniversité . Egor et moi (@ http://www.quora.com/TopCoder/Who-is-Egor-Kulikov/) étions toujours dans le laboratoire essayant de trouver un nouveau concours sur Internet et de participer, alors quil venait juste de temps en temps et se moquait de nous un peu à ce sujet: ) Puis TopCoder « est apparu », et après une certaine réticence à rejoindre (« Pourquoi le ferais-je? Tomek me battra quand même 🙂 »), il a trouvé la source régulière de concours qui lui manque rarement jusquà ces jours. Cela ne me surprend même plus lorsque Petr remporte un SRM ou un autre tour personnel en attendant lembarquement à laéroport et ayant environ 40 minutes au lieu de 75 pour terminer le codage. Mais à part ces concours officiels qui sont nombreux de nos jours mais qui étaient assez rares il y a 8 à 10 ans, je ne lai pas vu sentraîner.
Une des autres particularités est lhonnêteté particulière poussée à lextrême. Vous pouvez percevons fondamentalement Petr comme un programme informatique au lieu dun simple mortel en termes de paroles et dactes 🙂 Sil dit quelque chose, il tiendra parole, et il obéira toujours à toutes les règles existantes, des lois et des règles de concurrence au franchissement les feux de circulation. On pourrait dire que cest ce que tout le monde devrait faire, mais on peut rarement trouver une personne qui le fait réellement. Et cest souvent un modèle que jutilise pour moi-même par opposition à la mentalité répandue de «soft law» autour de moi. Bien que pas toujours 🙂 Vous pouvez également vous attendre à une certaine influence sur vous-même à cause de cela: il vous parlera toujours en anglais sil y a des gens qui ne comprennent pas le russe, et vous devrez toujours attacher votre ceinture de sécurité. la voiture 🙂 Même si vous êtes à larrière 🙂 (ce qui est une règle que tout le monde doit suivre, mais ce nest malheureusement pas le cas dans le monde réel).
Petr a également suivi la plupart des cours universitaires, ce qui nest pas du tout courant à MSU. Nous avons tous les deux obtenu un plein 5.0 GPA, ce qui est une occasion rare. Je ne connais pas sa raison pour cela, la mienne était du genre « pourquoi ne pas obtenir un 5 (un A) si cest » facile « . Vous ne seriez probablement pas surpris quil soit facile détudier pour Petr, mais cela inclut aussi des sciences humaines et des sports et dit toujours quelque chose dimportant sur la personne.
Petr a souvent une opinion controversée sur un sujet. Ce qui me frappe, ce nest pas seulement ce fait, cest quil a souvent cette opinion opposée sur un sujet que vous jugiez si évident et résolu à jamais pour tout le monde, et ce nest pas seulement une opinion mais une argumentation très forte pour cela 🙂 Cest littéralement vous fait au moins reconsidérer votre attitude à légard de certaines choses banales auxquelles vous nauriez même jamais pensé.
Il semble également que nous ayons quelque chose en commun dans notre attitude à légard de la science. Nous navons pas encore obtenu de doctorat, la plupart du temps car il sest avéré que les travaux sur des problèmes pratiques et complexes chez Google et Yandex (pour moi) nous plaisaient beaucoup plus que les problèmes mathématiques non résolus que nous « avons essayés, et les études scientifiques ont reçu une faible priorité. Des amis » sautent partout « et demandent pourquoi ne «Nous faisons nos doctorats, mais pour moi et je suppose que pour Petr, le certificat lui-même ne vaut rien si je ne résous pas quelque chose de vraiment important. Je suis toujours à la recherche de « mon » sujet, je ne suis pas sûr de Petr, mais je crois que nous trouverons probablement tous les deux des sujets intéressants publiables par inadvertance dans le futur.
Réponse
Un soir, alors que je pratiquais le billard chez Google, un gars ma demandé sil pouvait me rejoindre. Nous avons joué 3-4 matchs et il a joué impeccablement, me battant à chaque fois par une grande marge. Javais commencé à jouer seulement récemment, et donc ne se sentait pas très mal à ces défaites écrasantes. Pendant tout ce temps, il ne parlait pas beaucoup et quand on lui a demandé, il sest présenté comme Petr et a mentionné quil venait du bureau de Moscou.
Après cela, nous nous sommes rencontrés à quelques reprises pour des jeux et une fois pendant le dîner. Il na jamais rien mentionné sur la programmation ou les algorithmes. Il était comme tous les googleurs que javais rencontrés, sauf quil parlait rarement et quand il le faisait, ce nétait pas des problèmes difficiles quil résout au travail.
Quelques jours plus tard, je suis tombé sur cet article http://www.technologyreview.com/news/428610/in-the-olympics-of-algorithms-a-russian-keeps/ et jai été époustouflé de savoir qui était ce « Petr »! Jai été totalement submergé par son humilité.Et soudain, je ne me sentais pas si mal de perdre à la piscine, sachant quil y a dautres choses sur lesquelles il peut me battre encore plus :).