「天才」。世の中にはそう呼ばれている人たちがいる。本連載では、これまで数々の偉業を成し遂げてきた天才プログラマに、スキルやキャリアに関する10の質問をする。彼/彼女らのプログラマとしての考え方・生き方とは。天才の言動から見えることとは何か。
五十嵐悠紀氏は現在、東京大学 工学系研究科 先端学際工学専攻 博士課程2年に在籍している。彼女はこれまでの研究成果で数々の賞を獲得してきた、いま注目のプログラマだ。
2005年、お茶の水女子大学 理学部 情報科学科での卒業研究、“Automatic Cross-Sectioning Using 3D Field Topology Analysis”(位相構造に基づく自動断面生成)(注1)が、米国ACM学会(アメリカ計算機学会)のStudent Research Competition Grand Finalsで1位を受賞。世界中の優秀な情報系学生が集まり、しのぎを削るこの大会で優勝した五十嵐氏(当時は旧姓の森氏)は、世界一のScientistとしての称号を得た人物だといえる。だがこの当時はまだ無名だった。そのうえ、受賞当時は日本のどこのメディアからも取材の依頼がなかったのだという。五十嵐氏より下位クラスの賞を取った他国の学生たちが、自国のメディアから取材を受けていたにもかかわらずだ。
五十嵐氏が注目を浴びたのは、2005年「ぬいぐるみモデラーの開発」で、IPA 未踏ソフトウェア創造事業の天才プログラマに選ばれたころからだろう。この研究に絡んで、現在大手ゲームメーカーや大手電器機器メーカーから、五十嵐氏のアイデアを製品化したいというオファーが多数寄せられている。
学会だけでなく企業からも注目をされはじめている五十嵐氏だが、身分はまだ学生だ。企業の研究者、アカデミックな研究への道など、今後のキャリアは多くの選択肢に満ちている。
2007年に結婚、現在妊娠5カ月。五十嵐氏の描くキャリアには、女性としての生き方も影響するのだろうか。以下、10の質問をご覧いただきたい。
1.――平日と休日ごとに、1日のスケジュールを教えてください
五十嵐氏 「平日/休日」よりは、論文の「締め切り前/締め切り後」でスケジュールが違います。
研究の題材を考える |
---|
↓ |
関連研究探し |
↓ |
アルゴリズムを考える/プログラミング |
↓ |
論文を書く |
↓ |
論文投稿・発表 |
普段の五十嵐氏のスケジュール。 3カ月〜半年単位で行う |
研究の題材が決まり、軌道に乗っているとき、(食事とお風呂以外)起きている時間はほぼ1日中パソコンに向かって仕事をしています。
一方、論文の投稿が終わり次の研究の題材を探す間は、ほとんど仕事をしません。友達との食事、ショッピング、旅行と、心身ともにリフレッシュする期間。体力があまりないため、睡眠時間は比較的長く、忙しいときでも8〜10時間は睡眠を摂ります。昼寝をすることもあります。
2.――プログラミングで行き詰まったときはどうしますか?
五十嵐氏 まずは、ひたすら考えます。
それでもコードが出てこない場合は、考えるのをやめます。関連研究を調べたり、後輩の研究の話を聞いてアドバイスをしたりと、ちょっと違う分野に手を伸ばすと解決策が思いつくことが多いです。似た分野だけでなく、幅広い分野の講演会に顔を出して知識を貯めるように心掛けています。また、分野ごとに精通している人に相談をします。「この分野なら、この人!」と相談相手が浮かぶくらい幅広い交友関係を持つことも、仕事をしていくうえで重要だと思います。自分も「この分野ならあの人に聞いてみよう!」と思い浮かんでもらえるような人を目指しています。
それでもだめな場合には、外に出掛けます。散歩をしたり、ショッピングに行ったり。街を歩いているといろんなことがヒントになります。例えば、3次元モデルから「あみぐるみ」(注2)を作る研究をしていたときは、ある料亭にあったらせん状の竹に和紙を貼った電気傘が、らせん状に編むあみぐるみのアルゴリズム構築のヒントになりました。また、ライトアップしたトナカイのワイヤーアート(1本のワイヤーをらせん状にぐるぐる巻いて、全体を形作っているもの)も研究のヒントになりました。
3.――プログラマとしてスキルアップのために行っていること、身に付けたい技術は何ですか?
五十嵐氏 特にありません。初めてプログラミングをしたのは高校時代で、Basicをある程度独学で習得しました。大学は情報科学科でした。さまざまな言語でプログラミングを習いました。研究を表現するものとしてプログラミングをし続け、いまに至っています。
あえていうならば、「プログラマとして何が大事」「何ができなければプログラマではない」ということに固執せず、何事にも興味を持って幅広いジャンルの知識を身に付けることを大事にしています。
4.??これまでの研究成果を教えてください
五十嵐氏 素人でも使えるインタラクティブなコンピュータグラフィックス(CG)、そのためのユーザーインターフェイス(UI)の研究に取り組んでいます。3次元モデルからぬいぐるみやあみぐるみを作るものづくりに興味があり、作る過程で不可欠な教育も視野に入れて研究しています。
ACM Student Research Competition 受賞研究「位相構造に基づく自動断面生成」では、ボリュームデータ(中身の詰まった3次元データ)の複雑な内部構造を解析するために、内部構造をよく表す断面を自動で提示する手法を提案しました。内部構造を可視化する研究では、半透明にしたり、等値面で表したりすることが主流でした。また、既存の断面生成システムでは、ユーザーの経験や知識を基に試行錯誤を繰り返して断面を指定するため、必ずしも内部構造の特徴を表せているとはいえず、また効率的でもありませんでした。そこで、ボリュームデータの位相的特徴をよく表した断面を自動的に抽出するシステムを開発しました。これにより、経験や知識のないユーザーにもボリュームデータの内部構造を解析することが可能となりました。
IPA 未踏ソフトウェア創造事業 天才プログラマ受賞研究「ぬいぐるみモデラーの開発」では、コンピュータ上にマウスやペンタブレットでぬいぐるみをデザインすることで、コンピュータが自動で型紙を作成してくれる技術を研究をしました。素人がぬいぐるみを作る場合、市販のぬいぐるみキットや本の型紙を基に作るのが精一杯だと思います。オリジナルのぬいぐるみを作りたいとき、完成図である3次元を想像しながら2次元の型紙をデザインすることは困難だからです。それをコンピュータが支援し、自動で型紙を作り出します。ユーザーは3次的で思い描くものをコンピュータ上にスケッチすればよく、できた型紙は家庭用プリンタで印刷し、その型紙に沿って材料を縫い合わせればぬいぐるみが完成します。
3次元モデルは乗り物などをデザインする際にも利用されますが、通常はシミュレーションとモデリングを別々に繰り返し、うまくいったシミュレーションがあればそのモデリングを実際に作るフェイズに入ります。私のシステムが学術的に新しいところは、常にシミュレーションを行いながら、ぬいぐるみにしかならないモデリング、ぬいぐるみモデラー(モデリングソフト)を作っていることです。つまり、モデリングとシミュレーションを融合して両方を同時に行うということです。
Copyright © ITmedia, Inc. All Rights Reserved.