私のプログラミングコンテストのルーツは

更新日時:

私の主観で書く。

私の場合

一般にプログラミングコンテスト参加者のルーツは、中学受験、算数オリンピック、数学オリンピックのいずれかだろうと思う。はじめてプログラミングコンテストというものを見つけたときには、これは中学入試算数の最終進化形であると思った。算数オリンピックや数学オリンピックも、要求される能力は近いので、この辺に強豪がダブルのは当然であろう。

中学受験は、私も経験しているし、実は中学受験の用の塾にも通っていた。しかし都会の本格的な塾に比べればママゴトに近い算数教育だった。この塾は中学 2 年まで通っていたが、あんな塾にありがたがって高いお金を払っていた私の親は誠に愚かしい。

算数・数学オリンピックは、小学生〜高校生の頃、私は解き方が全くわからなかった。その場でひねり出していたが、ボーダーには届かなかった。実のところ予選のほとんどの問題はパターンの組み合わせであることに気づく頃には大学生になっていた。

以上のことを考えると、中学受験も算数・数学オリンピックも、私のルーツではない。

私のルーツは TV ゲームだと思う。たくさんの失敗をしながら攻略法を編み出し、攻略法を使ってクリアするのが楽しかった。攻略本もたくさん読んでいた。

ゲームについて

現代的な視点で振り替えると、1 つのゲームを極めるタイプではなく、どのようなゲームでも試行回数が多く、その結果素早く攻略法を発見し、そのスピードで人より優位に立つタイプだったと述懐する。

私の家では、ゲームをやることが制限されたことはなかった。学校の勉強は簡単だったから、制限されるわけがなかった。また、父親は私が生まれる前からゲーム好きで、ファミリーコンピュータを愛用していたと聞く。父親も技術革新には興味があり(当時のゲームは先端技術の先取りのような要素があった)、新型のゲームを買ってプレイするのが好きだったようだ。だから私は比較的多くのゲームを買ってもらえて遊べていた。

そのような「英才教育」を受けていたせいで、対戦型ゲームでも、一人用ゲームでも、幼稚園児の頃から父親を負かしていた。『爆ボンバーマン』で父親が勝てなかった際に、ソフトに当たり散らし「アニメでも黒ボンは悪者扱いだから 2P が負けるように仕組まれているんだ!」と叫んだ時は呆れ返った。当時私は小学 2 年か 3 年だったと思う。後に父親が私に虐待を加えるようになったのも、これがルーツなのだろうと思う。

ゲームを作るのと攻略するのは違う行動であると理解できたのは大学院生の頃である。後輩の奥殿君から「ゲームを攻略するのはアルゴリズム考えるってことです。遊びを考案するのとは違う」と指摘されてはっと気づいた。私はゲームが好きなのではなくて、そこから解法を発見し、解法を正確に運用する(練習をする)のが好きなのだとわかった。ゲーム攻略と勉強が私の中で抽象的な形で結びついたのが河合塾時代であった。そのまま大学院まで数学を専攻している。

私の専門の基盤知識は、実解析学・微分方程式であるが、この 2 つの分野は指導原理が少数の項目しかない。Tao が以下の著書でそう言っている。例えば「非可算無限は、可算無限命題に直せ」「\epsilon は無限個に分割しろ」である。

この指導原理を当てはめて、目の前の現象を理解し、整理するのが好きである。こういう特徴が、ゲームがルーツである私に向いているのだと思う。

ゲームがルーツだと

中学受験でも英才教育を受けず、算数・数学オリンピックの成績も振るわなかった私が、アルゴリズムの適用の巧拙を競う短時間マッチをやっても、ある程度までしかいかないだろう。すでに上限が近いように思う。

どちらかというと、誰も正解がわからない、似たような問題がないところで、力を発揮する。特に対戦型ゲームは経験の種類が豊富なので、大衆がどのように行動するかを読むところに、一日の長があると思う。それでも、実装のスピードは遅いから、実装しているだけで終わることもある。

このような特徴を持つ人は理解されづらい。特に民間企業の就職活動の場では。

短時間マッチで強い人は、要求された仕様をバグを埋め込まずに書くのが相当強いわけだから、良識ある企業が欲しがる。しかし私のようなタイプはとても長所を説明しづらい。「私は人と違った発想ができ、優秀な解法を見つけるスピードは大変なものです」と説明しても、こいつ何やっているんだとなるのは仕方ないのではなかろうか。同じお金で雇うなら、説明しづらい能力を身につけた人ではなく、長所が明解な人(または自己アピールが上手い人)になるのは当然であろう。

将来のことはわからない。しかし、残りの寿命で、どこまでもゲームをやり続け、ゲーム攻略のように人生を渡っていくことになるだろう。老眼になった後が心配だが。

コメントする