ベストアンサー
Petrは、モスクワ州立大学数学科の元同年生です。彼のACMキャリアが正式に終了したとき、彼は2回のACM ICPC決勝戦の後、私にとっては個人的なコーチのようでした。また、Googleのモスクワオフィスで2年間一緒に働いていましたが、その2年間でアパートを一緒に借りたので、彼のことは比較的よく知っています。
私は間違いなくアディティアの主張を支持します。彼の謙虚さについて答えてください。ペトルは非常に控えめで、彼について作成されたFacebookページなどでのこのような超人気のすべてが実際には好きではありません。彼は非常に礼儀正しく、決して誇示することはありません。競争力のあるプログラミングは、「(黄色のコーダー)-ああ、私は」のようなゴミの話の会話なしで通過できます。愚か者:250ポイントを再提出する必要がありました。コーディングフェーズの終了後30秒で。(Petr)-ああ、私は「ばか:私の部屋の簡単な問題で2つの有効な課題を逃した」-これは彼が3つすべてを解決してSRMを獲得した後に言われていますまたは多分2位を取る。これは横からは嘲笑しているように見えるかもしれませんが、実際にはラウンド中の自分の間違いを真摯に分析しています。それは、間違いが現在それらの人々にとって非常に異なるレベルにあるということです。
間違いなくできますPetrは、想像できるすべてのプログラミングコンテストの優勝者として、想像できるすべての数学コンテストの優勝者の多くに反対します。彼は、はるかに社交的な人物であり、コミュニケーションが容易であり、会議後に期待するような超オタクな人物ではありません。 「奇妙な数学者」、ハリウッド映画を見たり、オタクのクラスメートを思い出したり。彼はまだスポークスパーソンか何かではありませんが、見知らぬ人にとっては完全に普通の人です。
Petrは戦略的なボードゲームで非常に優れています。私たちはカタンの開拓者たちをプレイするのが好きで、おそらく数百回プレイしました。彼は3〜4人のプレイヤーのゲームと非常に洗練された対戦相手を考えると、印象的な2/3回の勝者でした。また、「スウェーデンのチェス」(実際には英語で「バグハウス」ですが、バグハウスのルールは少し異なります)、「カルカソンヌ」、「チケット・トゥ・ライド」などもプレイしています。プログラミングコンテストでペトルを倒すよりも、これらの1つでペトルを倒す方がはるかに実行可能ですが、それは難しいです。
ペトルは、非常に強力な数学的思考を持つ競技プログラマーの1人です。 「受け入れられた==>アルゴリズムは正しい」など、ACMの世界のパラダイムですが、Petrは、優れた数学的直感で十分であり、証明が難しい場合でも、厳密な証明がなければソリューションを提出することはほとんどないようです。コンテストでできる最悪のことは間違った解決策を実装することであるため、議論はトップの競争相手にとって必要な特性です。
Petrは(明らかに)アルゴリズムの問題解決に非常に優れています。または少なくとも)数学オリンピック特有の問題で彼を打ち負かすことができます、私が時々理論的に彼より速く解決できるアルゴリズム問題の特定のクラスだけがあります、そして一般的な場合彼ははるかに速いです彼は超発達しています地域の直感:区別するのと同じこと彼は数学オリンピックの勝者ですが、通常の数学の問題ではなく、アルゴリズムの問題に適用されます。したがって、コーディング、バグのないコードの記述、およびデバッグが非常に得意であっても、問題が十分に困難になるとすぐに、理論的な問題解決の速度のために彼はあなたを打ち負かします。彼の強力な数学的背景のために、彼はIMHOの競技会ではめったにない非標準の問題に脅かされていますが、最も複雑な問題は常に非標準です。Petrは、1〜2の簡単な文章で表現できる問題が好きですが、最も解決するのは非常に困難です。
Petrを他の競合他社と本当に区別する、数学レベルでの非常に高速な問題解決以外の1つのことは、彼のアルゴリズムとプログラムの理解の深さです。説明するのは難しいですが、それが主な理由です。彼はバグを作らないか、他のトップの競合他社よりもはるかに速くバグを見つけます。彼は実際には段階的なデバッグを行う必要はまったくありません。バグのあるコードを読むだけで明らかであるか、「この行まで実行」デバッガコードを作成して値を確認することができます。配列、セット、行列など、その時点でいくつかの事前定義された変数を使用し、さらに一歩踏み出すことなく、その時点でバグを見つけます。それ以上のデバッグは非常にまれに思えます。重要なのは、どの不変条件を保持する必要があるかを理解していることです。プログラムの任意の時点で障害を発見すると、コードのどこでこれらの不変条件が侵害される可能性があるかをすぐに知ることができます。
Petrは常に非常にクリーンで理解しやすいコードを記述します。短いコードですが、常に読み取り可能です。ちなみに、これは最初にバグのないコードを記述したり、競技プログラミングで超高速のデバッグを行ったりするのに大いに役立ちます。これは、産業用プログラミングほど明白な戦略ではありません。
明らかに、彼は非常に優れています。集中して、非常に注意深く、必要な問題で考えられるすべてのケースを厳密に列挙するのが非常に得意です。
驚かれるかもしれないことの1つは、彼が競技プログラミングのトレーニングにあまり時間をかけなかったことです。つまり、明らかに、通常の9年生ではなく6年生から始まる情報学と合宿で全ロシアオリンピックに参加し始めた少年は、多くの訓練を受けました。でも彼はいつも友達とサッカーをするのに時間を割くのが好きだと言っています。私は学年については知りませんが、実際には大学でのACMの年の間に実際のコンテストに参加する以外はトレーニングしませんでした。 。私とEgor(@ http://www.quora.com/TopCoder/Who-is-Egor-Kulikov/)は常にラボにいて、インターネットで新しいコンテストを見つけて参加しようとしていましたが、彼はたまにやって来て、それについて少し嘲笑していました。 )その後、TopCoderが「登場」し、参加するのをためらった後(「なぜ私?トメックはとにかく私を倒すでしょう:)」)、彼は最近までめったに見逃さないコンテストの定期的なソースを見つけました。空港での搭乗を待っている間にPetrがSRMまたは別の個人ラウンドに勝ち、コーディングを完了するのに75分ではなく40分かかる場合、私はもう驚くことではありません。しかし、今日はたくさんあるが、8〜10年前はかなり不足していた公式コンテストを除いて、私は彼がトレーニングしているのを見ませんでした。
他の特徴の1つは、特に正直に限界に追いやられています。基本的に、ペトルは言葉や行動の点で単なる人間ではなく、コンピュータープログラムとして認識されます:)彼が何かを言うと、彼は言葉を守り、法律や競争規則から交差点まで、常に既存の規則に従います。信号機。これは誰もがすべきことだと言えるかもしれませんが、実際にそれをしている人を見つけることはめったにありません。そして、これは、私の周りの「ソフトロー」の広範な考え方とは対照的に、私が自分自身のために使用するロールモデルであることがよくあります。いつもではありませんが:)そのため、自分自身への影響も期待できます。ロシア語を理解できない人がいる場合、彼は常に英語で話し、シートベルトを締める必要があります。車:)後部座席にいる場合でも:)(これは誰もが従うべきルールですが、残念ながら現実の世界ではそうではありません)。
Petrは、ほとんどの大学のコースにも参加しましたが、MSUではまったく一般的ではありません。私たちは両方とも、まれな機会である完全な5.0GPAで卒業しました。その理由はわかりませんが、「簡単なら5(A)をもらえない」みたいな感じでした。 Petrで勉強するのが簡単だったのは驚くことではないでしょうが、人文科学やスポーツも含まれており、それでもその人について重要なことを言っています。
Petrはいくつかのトピックについて物議を醸す意見を持っています。私を驚かせるのは、この事実だけではありません。彼は、あなたが非常に明白で、誰にとっても永遠に解決したと考えたトピックについて、しばしばこの反対の意見を持っているということです。それは、意見だけでなく、それに対する非常に強い議論です:)それは文字通りです少なくとも、考えもしないようなありふれたことに対する態度を再考することができます。
また、科学に対する態度にも何か共有しているようです。どちらもまだ博士号を取得していません。 GoogleとYandex(私にとって)での実用的な複雑な問題の研究は、私たちが試した未解決の数学的問題よりもはるかに魅力的であり、科学的研究の優先度は低くなっているためです。友人は「飛び回って」、なぜドンをするのかと尋ねています。 「私たちは博士号を取得しますが、私と私は、Petrにとって、本当に重要なことを解決しなければ、証明書自体は何の価値もないと思います。私はまだ「自分の」トピックを探しています。Petrについてはよくわかりませんが、将来、両方とも興味深い公開可能なトピックを偶然見つけてしまう可能性があります。
回答
Googleでプールの練習をしているある晩、ある男が私に参加してもいいかと尋ねました。私たちは3〜4試合をプレイし、彼は完璧にプレイし、毎回大きな差で私を打ち負かしました。私はプレイを始めたばかりでした。最近、そしてそうこれらの破滅的な敗北でそれほど悪く感じませんでした。ずっと、彼はあまり話さず、尋ねられたとき、ペトルと自己紹介し、モスクワのオフィスから訪問していると述べました。
その後、ゲームのために数回、夕食時に1回会いました。彼はプログラミングやアルゴリズムについて何も言及しませんでした。彼はめったに話さないことを除いて、私が会った他のGoogle社員とまったく同じでした。彼が話したとき、それは彼が仕事で解決している難しい問題についてではありませんでした。
数日後、私はこの記事http://www.technologyreview.com/news/428610/in-the-olympics-of-algorithms-a-russian-keeps/に出くわし、この「Petr」が誰であるかを知って驚いた!私は彼の謙虚さに完全に圧倒されました。そして突然、私はプールで負けるのがそれほど悪くないと感じました。彼が私をさらに大きな差で打ち負かすことができる他のことがあることを知っていました:)