情報科学科の先輩に聞く!

現役学生OBインタビュー「先輩たちの仕事の原点」各界で活躍する先輩たちが教えてくれる“仕事の本質”

座談会トップへ戻る

世界一を目指すインターネットサービス企業とアルゴリズム的思考

楽天株式会社|早瀬千善さん (情報科学科16期)
インタビュー年月日
平成21年 3月 17日
早瀬千善 
1996年 理学系研究科情報科学専攻を修了。同年 NTT 入社。
2000年 楽天へ入社。開発部にてインターネットサービス開発・運用に従事。
現在は、金融サービス開発・運用課長とイーバンクシステム取締役として、金融系サービス開発に従事。
青島良一(学部3年)、吉野与志仁(学部3年)
転職という形で楽天に入社されたと聞き、当時の心境や転職前後の変化について興味を持ちました。また、青島は今井研究室を配属先として検討しており、同研究所を卒業された方のお話を伺いたいと思ったことも、今回の訪問の動機の一つです。
大学院から東大に

―― はじめに,学生生活のことについて伺わせていただきたいと思います
―― 情報科学科に進学された理由は?

私は、修士の時に京都大学から進学したので、こちらの学部の状況はあまり良く知らないんです。京都大学では、工学部・情報工学科(当時)に所属していました。
―― では,大学院からこちらに?
はい。そうです。

―― 学部の頃,京都大学ではどういう事をやっていたのでしょう?
演習の面でお話をすると、まず、ハードウェアについては、情報科学科のCPU実験とは違う面があるかもしれませんが,京都大学でもマイクロプロセッサを作る演習がありました.その他に半導体の特性を検証する実験もやりました.
ソフトウェアについては、課題図書(プログラミング言語C)を独習し,カレンダー等の課題をこなすという形でした.

―― 結構(情報科学科と)似ているかもしれませんね.授業で取り組んでおけばよかった等,後悔した事もあるんでしょうか
計算機構成論,プロセッサの構成とかですね,自分ではわかってるつもりだったのですが、なぜかテストは落ちてしまいました.あとラムダ計算は京大ではやらなかったので,いまだに自分は分からないですが,やっておいたほうがよかったと思います。

―― 大学院で東京大学の方を選んだのには何か理由が?
東大が大学院を拡大していく時期で,学外からの入学枠が広がったと聞き、チャンスと考えました.
実は京大のほうも受かっていたので,最後までどちらにするか悩みました。
京大でお世話になった教授から「研究室としては残って欲しいと思う反面,早瀬君自身にとっては,いろんな経験をされた方が良いと思う」というお言葉をいただきました.それが理由です.
情報系の学科なので,同じような内容を勉強しているだろうと思っていましたが,実際には,講義内容には少し違うところがありました.環境が変わる事で刺激を受け,面白い研究ができるのではないか,という期待を持ちました.

―― 新しい刺激等,好奇心をもって移られたということですね.
そうですね.

―― 研究室を今井研に決定されたのは何か理由が?
先にお話した,京大でお世話になった矢島先生(既にご退官されている)の研究室では,LSI関連アルゴリズム等,理論的なテーマについて研究をしていました。私の研究テーマも理論的なものだったので,実はプログラムを一行も書かずに卒業論文を書くことになりました.今井研ではアルゴリズムをテーマにしていて,全く違う分野ではないと思い決めました.

―― それでは,研究テーマをそこまで大きく変えたというわけではないんですね
はい.アルゴリズムとか計算量とかの分野になります.

―― NP完全とかそのあたりの話?
その辺も入って来ますね.
大学院時代の研究
―― 大学院に入ってからの研究テーマについて,詳しく教えていただけますか?
当初は学部の授業も受けさせて頂き,1年くらいは何をやろうかと模索していました.今井研の研究テーマはいろいろありましたが,三角形分割(triangulation)とか,n次元での幾何計算とか,最短路検索とか,そういったものをやっていたと思います.
私が修士論文のテーマに取り組み始めたのは,1年生の終わりぐらいでした.
テーマとして選んだのは、BDD (Binary Decision Diagram) という技術に関するものでした.きっかけになったのは、論理関数の2段論理最小化問題(two-level logic minimization)にBDDを適用し、従来手法より100倍速くなったという論文です。2段論理最小化問題とは、論理関数をAND-OR もしくは OR-AND の2段で構成される論理式を最小にするという問題です.従来手法としては、クワイン・マクラスキー法というのがありますが,これとは異なるアプローチとしてBDDを使うことで,計算時間が格段に短くなったという内容でした。

―― そんなに素早くできるんですか!
実際の検証結果では,100倍も速くなってないんですけど,たしかに桁違いに速くなっていました。論文の中では,アルゴリズムが説明され,速くなった根拠も示されていました.ただし,2段論理最小化は,一般的には組合せ爆発してしまう類の問題なので,全てのケースで効率の良いアルゴリズムは存在しないと思われているものです。この論文では,5つの open questions(未解決問題)が提示されていて,どういったケースでBDDでは効率が悪くなってしまうのかは,この論文発表時には分かっていませんでした.

その後は,この未解決問題とはあまり関係のないところで BDD の研究を続け,ある程度修士論文になりそうなネタはできてきました.しかし自分の中では,いまひとつ満足せず,もう少しいい結果を残したいと思いながらずっと続けていました.ある時,研究を続けている中で扱っていたケースが,先ほどの未解決問題に解を与えるケースになっていることに気づいたんですね.5つの問題全部答えられたわけじゃないですけど,5つの問題のうちの1つに対しては明確に回答を与えられ,もう1つには半分ぐらいは答えたような,そんな感じの結果になりました.

―― 過去にやった成果が積み重なって最終的な論文の形になった,ということですね
そうですね.

―― 研究生活をしている間,生活リズムの崩れなどはありましたか?
あまりなかったかな…
朝は自転車でちゃんと来て.あと7号館の隣にプールやジムがあるじゃないですか.たまに行ってましたね.今考えると,すごいいい環境ですよ.プールも大きくて.

―― 人から話は聞きますが,私(青島)は行ったことがないですね…。座っている作業が多くなりがちですが.やはり体を動かすのも大事ですね
いい仕事をするには,健康を保つことも大切だと思います.
お仕事について
―― 修士課程を修了されてからのことを教えてください.
大学院を出たあと,NTTの通信研究所というところにいて,そのあと楽天に転職しました.

―― NTTの研究所から転職された理由を教えてください.
研究所が嫌いになったわけではなくて,ある意味ワンパターンにはまっちゃってた時期があったのです.もうちょっとおもしろいことをやりたいなあ,と.
また、ユーザーとの距離を感じたという面もありました.研究所で作ったものが使えそうだという段階までいくと,次には開発部門で一から作り直します.開発部門で作ったものをさらに営業がお客さんに売ってくる.
楽天の場合は,何をやってもユーザーさんの反響がダイレクトに分かる.新しいサービスを出すとものすごい量のアクセスを受け,下手な作りだとサーバが落ちてしまったりします.パフォーマンスを重視して,設計開発をしていく事の重要さを,本当に実感として感じられるんですね.
NTTの研究所だとさすがにそこまでできなかっただろうな,と.

―― 楽天に移ったときに,NTTとのギャップはあったのでしょうか?
意外かもしれませんが,仕事の量とか,技術の使い方からすると,あまり変わらないと思います.
違いがあるとすれば,楽天ではエンジニアでも,経営者視点で考えることが求められる点だと思います.楽天の開発というのは,事業と結びついている.楽天では,投資対効果(ROI:Return Of Investment)を検討してから開発に入ります.各プロジェクトについて,生み出す価値(リターン)がどれくらいあって,コストがどれぐらいかかるかを算出し,優先順位を付けて取捨選択をします.
楽天では,社長の三木谷や事業長が全社員に向けて話をする場があって,社の方向性や各事業の業績に関して包み隠さず共有されます.

―― 全員が全体を見渡せる場があり社員に影響を与えていると.
そうですね.

―― ちょっと話がそれてしまうかも知れないですが,実際に仕事をしてみたときに,大学で習ってきたことで役に立った経験などは?
コンピュータに対しての理論を知っていることは,すごく役に立つことだと思います.私は,「楽天市場」のアプリケーションエンジニアとして入社しました.当時の「楽天市場」のアプリケーションでは,組合せ問題のような複雑な問題を解くことは余りないので,アルゴリズム理論や計算量理論を直接活かすことはほとんどないと思っていました.ところがある時,効率の良くないプログラムについて調べてみると,バブルソートになっている部分があって,これが広範囲に使われているモジュールになっていました。ここを直せば多くの性能問題が解決するだろうと期待して取り組みました.もちろん,失敗してしまうと広い範囲に影響してしまうリスクがあったので,テストも慎重にやりました.そのモジュールだけ性能テストしたら何十倍も速くなりました.

私の担当ではありませんが,楽天技術研究所では大規模分散技術等,先端的な技術開発をしていますが,ここではまさに大学で学んだものが使えるところだと思います.

―― アルゴリズムの使える場はいろいろなところに潜んでいるということですね
そこはまず間違いないですね.さらに拡大解釈してよければ,「最適化とは,要はムダを省くことだ」と考えることもできて,業務プロセスにアルゴリズム的要素を取り入れることもできると思います。アルゴリズムというのは技術以外の領域まで活かせるところがあると思います.
学生に向けて

―― 学生やっているうちにこういうことをやっておくといい,と言う事は?
一つでもいいので,やるべきことをしっかりやるということが大事だと思います.例えば修士までいかれる方であれば,修士の論文をしっかりやる.楽天には「成功の5つのコンセプト」ってあるんですけど,そのうちの1つに,「Professionalismの徹底」というのがあります.簡単にいうと,きっちりやり切る,ということなんです.これ,正に学生さんにも当てはまる,と思います.社会人になった後で,あのときああしておけばよかったなと思っても絶対できない.研究というのは大げさに言うと未知の領域に踏み込んでいくことだと思うので,これをやり切ることは相当大変なことだと思います.


お二人は,(今後の進路の)方向性としてはどの辺とか考えてるんですか?
―― 私(青島)は今井研を視野に入れています.初めはソフトウェアやれたらいいなという気持ちで来たんですが,入ってみたら,情報理論とか興味を持ち始めています.まだゆれているのですが.

理論系ということですね
―― はい

私はアルゴリズムは結構さまざまなところで応用できると思っています.機械が自動的に動くための指示で,一番優れているものを探求する、ということで、アルゴリズムは最適化を極めることでもあると思います.改善というのは最適化を進めるということであって,良いアルゴリズムを考案することに近いと思います.

―― 興味深いお話、どうもありがとうございました
インタビューを終えて
学生時代・お仕事の内容に留まらず、インタビュアーの進路相談のような話まで、真剣に答えてくださった早瀬さん。そこからは、どんな事でも深く考察し、自身の考えを持つ、という姿勢が感じられた。今回こうしてお話できた事は、私自身の学生としてのあり方を見直す、一つの糧となったと思う。

また、インタビューの後、早瀬さんの計らいで、青島・吉野は楽天の社内見学をさせていただいた。部門ごとに雰囲気の違うオフィス、全体を統括するための工夫としての集会場や、充実した社内サークル、ジム設備。そのどれもが、楽天の持つエネルギーの表象であるかのよう。これもまた、楽天の掲げる、「成功の5つのコンセプト」の持つ効果かなのもしれない。