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

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

座談会トップへ戻る

研究室に配属されたら1人の研究者としては誰とも対等

NTTデータ通信(株)|長谷川進さん (情報科学科12期)
インタビュー年月日
平成8年 4月 28日
長谷川進 
12期生。現在NTTデータ通信(株)勤務。
中出・吉羽 (17期)
インタビュー
中出: まず現在どういう仕事をしておられるのか、その内容を聞かせて下さい。

長谷川: 私は12期の学生でして、その後修士に行って3年前にNTTデータに就職しました。今年で4年目ですね。で、今は公共事業部というところに所属しているんですけれども、仕事の内容は郵便振替のシステムを作っています。で、入社してから4年間ずうっと同じ仕事です。で、郵便振替のシステムというものを説明しますと、普通、銀行の振替といいますと皆さんがよく使っているのは、カードである口座に支払ってそうすると即オンラインで口座に付け込まれるというものですけど、郵便貯金でも同じように電信振替っていうのがあって端末で払い込むとそのまま即口座に振り込まれるっていう奴があるんです。ただその場合確かに口座にはすぐ付け込まれるんですけれども、誰がどういう目的でこのお金を払い込んだっていうのはその口座を持っている人には全然分からないわけですよね。というわけで電信の払い込み以外に通常払い込みっていうのがありまして。それはどういうものかと言いますと郵便局でお金を払い込む時に払込書っていうのがあってそれを使って払い込むんですけど、そこに通信欄っていうのがあってそこに何でも書けるんです。例えば一般的に良く使われているのは、通販の会社なんかで通信販売で何かを売ってるっていう場合に、利用する人は専用の払い込み書に私はこういう名前でこういう住所に住んでいる人間で、こういう商品を買うのでお金をいくら払い込みますよっていうのを通信欄に書いて郵便局に持っていくわけです。それでお金を払い込むんですけど、そうするとそこで即口座にお金が入るわけじゃなくて、それを一旦事務センターというところに一日分取りまとめて郵送しまして、その事務センターの方で取りまとめて口座に払い込むっていう作業をします。でその後実際その払込書をソーター機っていうのを使って口座単位に取りまとめて、それぞれ例えば通販の会社だったら通販の会社にあなたの会社に今日こういう払い込みがありましたよっていうので郵便局で払い込んだ払い込み書を郵送するんです。それを使って例えば通販の会社であれば払い込んだ人のところに商品を送ると。そういうことをします。というのが通常の払い込みなんですけど。つまりどういう流れになるかっていうと、払い込み書を郵便局で払い込んだ後一旦事務センターに郵送して、そこからその口座に付け込むっていう作業をして、それを取りまとめて口座を持ってる人に郵送することになって、手作業とか郵送作業が入ってしまうため大体払い込んでから口座を持ってる人のところに払い込み書が届くまでに1週間から10日位かかるんです。で、そこがすごく不便だってことでこれをシステム化する、というのが仕事の内容です。簡単に言うと郵便局と事務センターを回線でつないで、FAXのようなイメージで払い込み書をイメージデータをとって読み込んでそれをデータ伝送してその事務センターでイメージデータを印刷して、それをそのまま自動で封筒に入れて発送すると。それで今まで1週間から10日かかっていたのが2、3日にする、というようなシステムを作ってます。で、私が入社した年の3月にそのプロジェクトは始まって私は4月から配属になって今もその仕事を続けてるんですけども、最終的にできるのが来年の6月頃だから3年以上かけてシステムを作っていくと、いうようなことをやっています。 で、具体的な仕事の中身なんですけれども、システムを作るっていってもなかなか分からない人もいると思うんですけれども、実際にプログラムを作るって作業はしてないです。やってるのはプログラムを作るもうちょっと上位のレベルというか、どういう仕様にするかっていうようなことを決定したりとか、プログラムを作る人っていうのが別にいるんでそういう人たちが仕様条件を満たしているかをチェックしたりとか、後は試験とかそういうことをやっています。うちの会社っていうのは別にプログラムを作っているわけでもなくて機械を作っているわけでもないので、あまりシステムの細かい部分についてはソフトハウスなどに任せているんですけれど、その代わりにお客さんの業務要件っていうのを把握してそれをいかにシステムとして実現するかっていうその辺の部分をやっています。今の仕事の内容っていうのはそういう感じですね。

中出: 分かりました。 じゃあ次に、かつてこの学科にいた時にどういうことをやっていらしたのか、研究面でもいいですしそうじゃない仕事とかもありましたらそういう話も含めてお話頂ければと。

長谷川: 僕の場合結構他の人と変わってる面があると思うんですけれども。それはどういうとこかというと、3、4年の時には...、あ、今って研究室の配属っていつ決まるんだっけ?

中出: 4年の後期からですね。

長谷川: 僕の時は4年の最初から研究室の配属が決まってて、その時は米田先生のところにいました。その先生は私が卒業する時に丁度退官されて。という関係で修士からは今井先生の研究室にいました。そういう関係で 3、4年でやっていたことと修士でやったことっていうのはだいぶ違うんですけれども。まず4年の時にどういうことをやったかといいますと、米田先生っていうのが、割と何でもするっていう感じの先生で、私が4年になって研究室が決まった時も、卒論のテーマを決めるんですけれどもとにかく言われたのはほんとに何をやってもいいと言われて、先生の方からテーマを押しつけるっていうのはまったくなくて何でもいいからとにかく自分で考えろっていう感じだったんです。で、今から考えたらすごく無謀なんですけど、その時私は脳のこととか興味があったんで私は脳の研究がしたいって言ったんです。だけど実際具体的にどういう風な方向でやっていけばいいとか誰の本でどういう風に勉強したらいいかとか全く分からなくて。で、先生の方もなんでもやっていいという代わりにこういう風にやりなさいとかそういうのも全く言わない方で、自分で甘理先生っていう方の「神経回路網の数理」っていう本があるんですけれども、まあ全然分からないからその本をとにかく1冊読んで勉強しようとか思って。で、そういう本を読んだりして毎週1回セミナーがあるんですけれどもそういう時には本を読んだ結果を発表して。そうするとそれに対しては米田先生が色々とコメントをしてくれてっていう感じで研究をしてました。ということで卒論の内容っていうのも今から考えてもすごく恥ずかしい内容だと思うんですけれども、まああまりいい出来とは言えないと思います。ただ自分で自信になったっというか自分で自慢できると思うのは、自分が別に誰から教えられたわけでもなくて自分でどういう風にやったらいいかっていうのを考えて、ほぼ自分でやったっていうところです。それが修士になってからも研究の中ですごく役に立っていると思います。 というわけで4年生の時にはあんまり大した研究もできませんでした。で、その後ですね、実は私4年生の時の修士の試験に落ちまして1年間研究生という形でいました。でその研究生の時から今井先生の下で勉強していました。 で、今度今井研究室ではどういうことをやっていたかといいますと、今井先生っていうのもアルゴリズムが専門の先生でして、先生自身がそうなんですけれども何か1つのことをやるというよりもいろんなことをやるっていう先生でして。私もとにかく研究生で入ってからは色々面白い論文があるとかこういう面白い研究があるっていうのを色々教えて頂いて、それを読んだりとか自分なりに考えたりとかとにかく今井研究室にいる時はこれっていう1つの研究をやるんじゃなくて割と幅広くやってました。えーっと、何を言えばいいかな。

中出: 例えば、最終的に修論でどういう方向にいったかとか。ま、あまり捕らわれずに話して頂けると。

長谷川: アルゴリズムの研究をしていたんですけれども、結局アルゴリズムっていうのは世の中のどこにでも転がってるようなものだっていうか。アルゴリズムっていうのは何か問題があった時にそれをどういう風に解決したらいいかっていう戦略だと思うんですけれども、その戦略の評価方法っていうのがあってその評価方法を当てはめた時にこの戦略っていうのがどの程度のものなのかっていうのを評価する。問題を見つけてそれに対する戦略の評価方法を決めて、で戦略を決めてそれを評価するっていうのが一連の流れだと思うんですけれども、これっていうのは別にコンピュータに限らず世の中一般にあることだと思います。ということでほんと内容として幅広いといいますか特にコンピュータに縛られることはなくて、

中出: 実生活でも、

長谷川: そうそう。だからアルゴリズムやってる人っていうのはこれが専門っていうのはない人が多いと思います。実際私がやっていたのは、まず最初ソーティングのアルゴリズムの評価っていうのをしました。ソーティングっていうのは例えば数がたくさんあった時に小さい方から並べ変えるっていうやつで、並べ変えたい数がn個あれば大体 n×log n に比例する位の時間で解けるっていうのは昔から分かっているんですけれども、それは1個のプロセッサを使ってソートした場合はこうなるっていう話なんですけれども。これをじゃあもっと一般化してプロセッサの数が2個あったらとか3個あったらとかもっと一般にn個のプロセッサを使ったらもっと速くなるんじゃないかとか。単純に考えたらn個のプロセッサを使えば速さはn倍になるわけだから、n×log nかかるものだったらlog n位で解けるんじゃないかっていうのが簡単な直観的な考えなんですけども。一口にたくさんのプロセッサを使うといってもどういう風なプロセッサのモデルを使うかによってソートにかかる時間っていうのも変わってくるんですけれども。で私が最初研究生の時にやった問題っていうのが、たくさんのプロセッサが 2次元の碁盤の目状に配置されていて、1個1個のプロセッサっていうのが上下左右ちょうど4つのプロセッサと通信が出来ると。そういうモデルで 1個1個のプロセッサが1個の数を持っている時にその数をソートするにはどのくらいの時間がかかるでしょうかっていう問題がありまして。実はそれを解くアルゴリズムっていうのは色々あるんですけれども、たまたま今井先生に教えて頂いた論文でこういう風なアルゴルズムをすれば速く解けるという論文がありまして。ただ実際に数学的にどのくらいの時間がかかるかっていう正確な証明はされてなかったんですけれど。じゃあそれを実際に評価してみようっていうことで、実際に解析しまして、結局n個の数のソートをn×log(log n)で解けるという証明をしました。それが最初に研究生になって今井研に入って自分で見つけることができた結果ですね。で、簡単にそのアルゴリズムっていうのを説明しますと、ちょっと絵とかないと説明しにくいんですけど、将棋盤みたいなn×nのマス目があってそこに1個ずつ数が置かれてるとして。私が計算量を評価したアルゴリズムっていうのはすごく単純なアルゴリズムで、そのn×nのマス目っていうのを横に考えるとn個の行があるわけなんですけれども、それぞれのn個の行を並列にそれぞれランダムにかき混ぜるんです。でその後今度は列で切っていってn個の列をそれぞれ上から下へソートしていくんです。単純にいうと基本的にこの2つの操作を繰り返していくと段々ソートされていくんですね。

中出: ランダムにやっても?

長谷川: そうそう。イメージとしては、一番上の方は荒い目で下の方は段々目が細かい層になってて砂を細かさの違うものに振り分けていくっていう箱があって、その上から砂を入れてかき混ぜると、段々粒の大きさ毎に上から揃っていくっていう感じ。

中出: なるほど。計算量は期待値なんですか?

長谷川: そう。乱数を使ってるんで平均の計算量とかすごく高い確率で n×log(log n)の何倍以内の時間で終了しますよっていうような表現になるんですけれども。 他にも色々やってまして、結局全然結果が出なかったりしたのもあるんですけれども。後は学習理論とかっていうのも興味を持ってまして、これはあまりおい結果は出せなかったんですけど。学習理論っていうのはどういうものかっていいますと、簡単にいうと過去の事例をもとに学習していってその結果例えば文字を認識したりとか、そういう感じのことなんですけれども。後はオンラインアルゴリズムっていうのをやってまして。これはどういうのかって言いますと、入力っていうのが時系列的に与えられているといいますか、具体的にいうと、うーん何があるかな...。

中出: 実は僕も個人的には噛んだことがあるんですが、OSのページング(注1)とか。

長谷川: そうそう。うーん、でもOSのページングを説明するのはちょっと難しいな(笑)。

中出: 麻雀もオンラインアルゴリズムですよね(笑)。

長谷川: まあゲームとか一般にそうだと思うんだけれども。そうだね、麻雀も1回に1個のパイを取っていって1回ずつ入力(=パイ)を見ることが出来るんだけれども、将来どういう入力が来るのか分からない状態で、今最善の選択をすると。そういう状況で最終的に最もいい選択をするためにはどうすればいいかというのがオンラインアルゴリズムなんですけれども。 後は計算幾何学というのも今井先生の影響で勉強っていうか研究したりしました。というわけでアルゴリズムと名のつくものだと何でもやるっていいますか、特にこれをやるっていうのは全くなくて、色々興味のあることをやるっていう感じでやってました。逆に言うと1個のことをやっているわけじゃないんで、手を広げ過ぎちゃって結果が出なかったりしたこともあるんですけれども、そういうようなアルゴリズム全般のことをやってました。

中出: どうもありがとうございます。じゃあ次に、まあ情報科学科でいろんな研究をなさっていたわけですけれども、そういうものと今現在仕事でもいいし自分自身の考え方とかライフスタイルとかでもいいんですけど何か昔やっていたことが自分に役に立ってるというか自分に影響を与えていると思うようなことがあったら教えて頂きたいと思います。

長谷川: 直接の研究内容っていうことでいうと、今僕は研究じゃなくてシステムを作るっていうことをやっているんで。システムを作るっていっても別に複雑なアルゴリズムを考えたりっていうことじゃないんで、はっきり言って研究したことが直接役に立つっていうことは全然ないです。で、役に立っていることがあるとすればやっぱりアルゴリズムっていうのはさっきも言ったように世の中一般にどこにでも転がっていることなんで、考え方っていうのは役に立ってると思います。あと私は個人的な主義っていうか、教科書読んだりとか先生の話を聞いたりとかっていうのがあんまり好きじゃないんです。人の論文とかを読むのも好きじゃなくてとにかく自分で考えるっていうか。例えば誰かが定理を発見して論文を書いてるとしたら、自分が分からないクイズがあった時に答を見るのが悔しいっていうかヤダっていう感覚と同じで、まずは自分で考えたいっていうのか。良く言えばそういう理由で、あとめんどくさいっていうか(笑)。とにかく自分で考えるようにしてました。だから人から言われた通りにやるとか教科書に書いてあった通りにするっていうのはもう絶対に嫌で、極力自分で考えると。さっきも言いましたけれども4年生の時も卒論は自分で考えて誰から教えられるわけでもなくて自分で研究したと。まあそういうのがあって、今の仕事でシステムを作っている時にも考え方の基本としてあるような気がします。だから今仕事をしていてもとにかく上司なり先輩に言われた通りのことをそのままするとかっていうのはあんまり好きじゃなくて、とにかく自分なりに考えると。間違っててもいいし全然変な方向に行ってもまあ仕方がないと思うんですけれども、とにかく自分の力で考えるという習慣はできたと思います。でそういうがやっぱり役に立っていると思います。 あとアルゴリズムをやってたということが何にでも応用がきくっていうか。特別個々の研究が役に立ってるっていうよりはアルゴリズムを考え出したりする時の頭の使い方っていうのはなんとなく役に立ってるような気がします。

中出: かなり一般的な部分ですよね。

長谷川: そうそう。

中出: 考え方の指向性っていうんですかね。

長谷川: どこがどう役に立ってるかって言われてもうまく説明できないけどね(笑)。

吉羽: 長谷川さんの同期の方とか社会に出てる方は一杯いらっしゃいますよね。それで情報科学科生はこういうところが強いとかこういうところが弱いとか、そういうのはありますか。

長谷川: 僕の場合はシステムを作ってる会社にいるんですけれども、うちの会社の場合はほぼ理系の人間と文系の人間が半々位なんですよね。ちょっと理系の方が多い位で。で、理系の人の中でも実際ほんとにコンピュータを専門にやっていたというかうちの学科のようなところの出身の人っていうのは理系の人の中でもかなり少ないと思います。当然会社に入ってからシステムを作るための知識とかコンピュータ関連の知識っていうのは身に付くんですけども、学科でコンピュータの全般的なことっていうのを4年なり2年なりやっていれば広く浅く勉強できてると思うんですね。やっぱり広く浅い知識っていうのがシステムを作る時にはすごく役に立つと思います。会社に入る前までは全然コンピュータのことを勉強してなかったっていう人でも確かに会社に入ってから勉強すればそれなりにシステムを作っていくという仕事においては何の問題もなくやっていけると思うんですけども、ただうちの学科にいたことによって幅広いというか、コンピュータに関する一般常識といったようなものがすごく身についていたと思います。それはうちの学科を出た人がシステムを作るような会社に入った場合っていうのはすごく強みになると思います。

中出: 最後に、これからの情報科学科あるいは情報科学科生に期待すること、あるべき姿というものがあれば。

長谷川: そうですね。さっきも言いましたように僕は自分の主義として自分で考えるっていうのを一番大切にしてまして、人から教えられて学んだことっていうのはあんまり役に立たないというか自分の身にならないと思っています。例えば中学とか高校だったら先生に教えられたこととか教科書を読んで理解するっていうのはすごく重要なことだとは思うんですけども、もう大学の3年なり4年になって大学院に行ったりした時っていうのはもう基本的に、先生と対等だと思っていいと思います。実際はそうじゃないとしても自分の頭の中では対等だという気持ちでいいと思います。だから先生っていうのは教えてくれる存在じゃなくって自分も何か先生の刺激になるくらいのつもりでいいと思います。と。実際はそうじゃなくても少なくとも心構えというか気持ちの中ではそういうのを持ってないといけないと思うんです。だから先生の言ってることはすべて正しいとか、先生に教えられた通りのことをするとか、先生にテーマを与えられてそれを研究するとかっていうのは、個人的には良くないと思います。僕は研究室に配属になった時点で自分が1人の研究者としては誰とも対等なんだっていう気持ちでやって欲しいと思います。それから日本にいる必要は全然なくて、海外にもチャンスがあれば行くといいと思います。僕の場合はさっき説明した並列のアルゴリズムの研究で1回台湾で発表したことがありまして。それから修士の2年の時にオーストラリアに行きまして、それはプライベートな集まりで計算幾何学を専門にしているような先生たちが20人位集まって。12月位でオーストラリアだと夏なんですけど、海辺の別荘を1週間位借りてみんなで1週間ずっと一緒にいて遊んだりだとかみんなで研究の話をしたりだとかっていう生活をしました。それは今でもすごく心に残ってるんですけれども。その時韓国から来てる人がいたんですよ。多分その時の自分よりも2つくらい年上の人だと思うんですけれども。で、僕も英語ってあまりうまくなくてオーストラリアに行った時もあまりしゃべれなかったんですけれども、その人っていうのは僕から見ても更に英語がそんなにうまくない人だったんです。だけど自分の研究しているものっていうのが色々頭の中にあって自分のやってることを人に知って欲しいっていう気持ちがすごくひしひしと伝わるんですよ。その人も1週間一緒にいたうち最初のうちは全然喋れなくて結構だまってたんですけれども、2、3日位しますともうとにかく自分の研究を人に知ってもらいたいっていう感じでうまい英語じゃなくてもどんどん自分の方から説明していくんです。そうするとやっぱり研究してる人にとっては英語のうまい下手なんて関係なくて、いかにその人が面白い研究をやっているかっていうことが重要なことだと思うんですよね。だから英語が下手でも興味を持って聞いてくれるわけです。そういうのを見ててやっぱり、語学力をつけるというよりはとにかく自分の中に人に伝えたいような研究をするっていうのが大切だと思うんです。で、とにかく日本の中にいると、僕の場合はアルゴリズムの研究をしていましたけども、本当に同じようなことを研究をしてる人っていうのは意外に人数が少ないわけです。それよりも海外で同じようなことを研究している人で、そういう最先端の研究をしてる人と一緒に喋ったり話を聞いたりっていう機会を持つのはすごく重要なことだと思います。日本がアルゴリズムの分野で遅れているというわけではないでしょうけど、アメリカやヨーロッパなんかはアルゴリズムに関しても進んでいると思います。だからこれからもし情報科学科に入られましたら、きっと海外に行くチャンスっていうのも来ると思います。そういう時は是非そのチャンスを生かして色々なものを吸収していくといいと思います。

中出: どうも長い時間、ありがとうございました。


(注1)OSのページング:ハードディスクに入っているデータをメモリに読み込む時の単位をページと呼ぶ。新しいページをハードディスクからメモリに読み込む時には既にメモリに入っているページのどれかをハードディスクに退避しなければならないが、その退避するページをどういう基準で選ぶかによってシステムの性能が変わってくる。このようなページ入れ換え方法をページングと呼び、OSによって実行される。