Webの中の数学
ミツエーインフォメーションネットワークテクノロジー 執行役員兼エグゼクティブプロデューサー 藤田 拓十代の頃に思い描いていた将来の職業は、なかなか一所にとどまることはなかったのですが、必ずどこかで「数学」というキーワードがありました。それは数学への憧れもあり、また、数学が学問というよりも「遊び」に近いという印象を持っていたからでしょう。その「遊び」としての側面は、中・高等学校数学で思い出してみると、解を求めるだけではなく、いかにエレガントな導き方をするか?とか、平面の法線ベクトルを外積で求めるといった抜け道を探すとか(これは本当はヨクナイといわれたりもしました)、公式をそのまま記憶するだけではなく公式自体を証明して悦に入るとか…。まあ、今書いていても「遊び」や「趣味」以外のナニモノでもないな、と感じるような楽しみが数学にはありました。
で、今、自分はWeb業界で仕事をしております。WebはIT業界のサブセットとみなすこともでき、若干数学系なイメージを持たれるかもしれませんが、当然職種にヨリケリという側面はありますし、「じゃ、Webにおける技術職は数学系なの?」というと、なかなか即答で「YES!」といえない部分もあります。コンピュータ自体は数学的な発想から生まれているものでもあり、その周辺にはオートマトン、ブール代数といった数学理論が存在していますが、Webのレイヤーにおいては意識することが少ないでしょう。といいつつも、最近目に付いたWebの中の数学を少し挙げていきたいと思います。
関係モデル
今ビジネスWebで必須ともいえるRDBMS(Relational Database Management System)は、その名の通り、関係モデル(Relational Model)のDBMSです。この「関係」とは集合論の用語であり、また、RDBMS自体、集合論を基礎としています。テーブル、行、列で理解されているRDBMSですが、データベース界の重鎮、Chris Date氏は元々の意味である「関係、タプル、属性」という正式な用語でまず理解すべきだと述べています。
関係代数としては、集合演算の和、差、積、直積の4つ、関係演算として選択、射影、結合、商の4つがあります。これらを利用してビューに反映する場合は、適当なSQLの記述を行います。
木構造
関係モデルを利用したRDBMSに対して、XMLのデータ構造は木構造の性質を持っています。Webの創始者でもあるTim Berners Leeは「RDFがSQLの代わりに人気を博しているのは、ツリー構造を表記することができるから」と述べており、W3CでもRDFのためのQuery言語、SPARQLの策定がプロジェクトとして立ち上がっています。
木の性質は、数学におけるグラフ理論の領域です。また、Webのリンク・被リンクで作り上げられている構造も有向グラフの一種として考えることができ、Webとは縁の深い数学分野といえるでしょう。
エレガントなWeb
文頭にも書きましたが、数学では「エレガントな解法」を求めるところがあります。実際のところ、いかにエレガントに設計するか?というのは、あらゆる分野が求めるところでしょう。Webも当然そうであるはずです。動作、見た目、いずれも実現の方法は無数にありえます。その中で、相互運用性や再利用性を高める設計を行うことは、お客様のみならず運用側にとってもメリットになります。例えば、テーブルコーディングではなく、Web標準に則ったHTMLコーディングにもその側面が見られ、フロントエンドにおける利点もさることながら、バックエンドとの連携においてもはるかに運用性を向上させます。そして、そのような局所的な設計の向上を包含する全体の設計においても、よりエレガントな設計というのは存在するはずです。
学生の頃に感銘を受けた思想の中に「自然は無駄をしない」というものがあります。その理論的礎はモーペルテュイ(P. L. M. Maupertuis)の最小作用の原理なのですが、平たくいうと、物理的な物の動き・経路は最小の作用をもって行われると仮定すると、すべての物理法則が導けるというものです。実際、古典力学はいうまでもなく、アインシュタインの相対性理論や量子力学までもが当てはまるそうです。これだけ汎用的な可用性を持つ思想は、エレガント以外のなにものでもないでしょう。先に挙げたような、より無駄のないための設計の充実が、Webサイトをさらに上質にするのではないでしょうか?
より自然なWebのために、エレガントなサイトの設計・構築をご提供できればと思います。
Newsletter
メールニュースでは、本サイトの更新情報や業界動向などをお伝えしています。ぜひご購読ください。