3.理論としての分散アルゴリズムの研究とは?
アルゴリズムというと,とかく理論的なものばかりが目に付き,実際の応用はあまり考慮されていないように考えられがちです (実際そういう側面がほとんどなのですが).しかしRIPの例を見てもわかるように,分散アルゴリズムは,今日のネットワークを支える「基盤技術」の一つとして捉えられます.
一方,純粋に理論的な研究としての楽しみも十分にあります.理論的研究は,「出来上がり」としての「もの」を想像することが困難で,研究を進めていく上での目標が見えづらいという印象もあるでしょう.しかし,逆にとらえると,頭の中で純粋に思考のみで問題を解決し,結果を出すことも可能であることを意味します.実際,研究を始めて3ヶ月で結果を出し,論文に仕立て上げる人もいます.このような「アルゴリズムを思いつけばそれで成果」というのは,ある意味理論的研究の特権なのかもしれません.何せ,結果を出すまでに,早い人は早いのです.
しかし,みんながそんな簡単にはいきません(というか,普通は簡単ではないのです).システムを構築しようとすると,まずはプログラミングの勉強,システム設計の手法,実現方法など,さまざまな知識を動員する必要があります.また,それらの知識を得るために,多くの時間が必要です.アルゴリズムも同じなのです.プログラミング言語を覚える代わりに,分散アルゴリズムが考えられているさまざまなモデルを勉強し,システム設計手法・実現方法を勉強する代わりに,今まで考えられてきた分散アルゴリズムの資産を学ばなければなりません.そのためにたくさんの論文を読み,議論・討論する必要があります.そういう土台ができて,初めて新たなアルゴリズムなりパラダイムなりが創造できるのです.
もちろん,理論的学習一辺倒では,よいアルゴリズムは生まれません.分散アルゴリズムはネットワーク上でその威力を発揮します.その土俵であるネットワークについての基礎知識も持っているに越したことはありません.そうして初めて,理論と実践に乖離のないモデルを構築し,分散アルゴリズムを設計することができるものと考えています.
そういう意味では,実践に強い理論的研究者が求められています.あなたはどうでしょう?