少し前のことだが、ブログ「sanonosa システム管理コラム集」のエントリー「生年月日から年齢を計算する簡単な計算式」がネットの世界で話題になった。「はてなブックマーク」でもこのエントリーに注目する人が150人を超え、また各種のブログでも取り上げられた。
注目されたのは、一行で書けるごく簡単な、年齢を求める計算である。今日の日付と生年月日をそれぞれ8桁の西暦で指定して
(今日の日付-誕生日)÷10000の小数点以下切捨て
とすれば年齢が分かるというのだ。
例として、今日は2007年6月18日として、安倍晋三総理(1954年9月21日生まれ)の年齢を計算してみよう。
2007年6月18日を8桁の西暦にすると「20070618」、総理の誕生日も同様に「19540921」となる。「20070618-19540921」の計算結果は「529697」、これを「10000」で割ると「52.9697」となり、さらに小数点以下を切り捨てれば総理は現在52歳であることが分かる。
この簡明な計算式に感動した人は少なくない。「はてなブックマーク」のコメントにも、「ちょっと感動」「すばらしい」「なるほど……。しばらくどうして年齢になるのかわからなかった……。あったまいいなあ。」といった感想がある。
これを読んで、「1954年生まれの人が2007年に53歳になるのは、『2007-1954』という計算式で分かるのだから、後は誕生日前か誕生日後かを考えればいいだけではないか」と思った人もいるだろう。確かに、日常的にはそれで十分なのだが、その計算式をプログラムで表現しようとすると意外と難しかったりする。西暦の引き算は簡単にできるけど、閏年(うるうどし)があるため、日付の計算がかなり複雑になるのだ。
普通、プログラマーが期間を計算するときは、「UNIXタイムスタンプ」という数値を使うことになっている。これは、1970年1月1日0時0分0秒(UTC:協定世界時)からの通算の秒数。どんな日付・時刻でも、いったん秒数に置き換えて計算するわけだ。先述の年齢を求める計算式は、そうしたプログラマの常識を覆すインパクトを持っていた。だから話題になったのだ。ネットの世界にはプログラマ的な世界観を持っている人が多いのだなと改めて痛感させられた話題でもあった。
■掛け算にはいろいろな計算方法がある
実際、計算に関連したテーマはネットの世界で話題になりやすい。半年ほど前になるが、紙に線を引き、その交点を数えるだけで簡単に掛け算の結果が分かるというのも話題になった。どんなやり方かは、ブログ「sta la sta」のエントリー「- 線を引くだけで簡単にかけ算を解く方法」に詳しい解説があるので、そちらを見てほしい。
また、簡単な表を使う方法も「かけ算2.0」として話題になった。この計算方法を取り上げたブログ「i d e a * i d e a」のエントリー「かけ算2.0」には「これは習わなかったなぁ・・・っていう掛け算の方法がChigago Tribuneで紹介されていました(習った人います?)」とあるが、これは「ネイピアの骨」と呼ばれる有名な手法の1つだ。
米国の小学校では、掛け算のいろいろな計算方法を教えている。国際的に計算が得意な国民と見られている日本人からすると、計算なんて効率よく行って結果が出ればいいだけのように思えるものだが、米国の算数教育では、掛け算がどのような原理になっているかをとことん理解させようとする。それは逆に非効率かつ非実用でもあるのだが……。
■「暗算の達人」が話題になったわけ
2桁の掛け算などは普通、電卓を使うけど、電卓を使わずにちょっとしたコツで効率よく計算する手法は、ネットの世界では「ライフハック」の1つになっている。そうした動向もあって「暗算の達人」という本が日米共に話題になった。
ネットの世界では、原書である「Secrets of Mental Math」をティム・オライリーが強く推薦していたことで注目された。オライリーは、このコラムの「話題の次世代Webサービス「Web2.0」っていったい何だ?」でも扱ったけど、現在のWebの世界のキーコンセプト「Web2.0」を提唱した人。彼はこの本に寄せて、「どんなことがあっても、アーサー・ベンジャミンの『暗算の達人』という本を見逃すなよ。私はこの話を以前から知っているけど、本当にびっくりするし、想像力をかき立てられる(whatever you do,don't miss Arthur Benjamin's Secrets of Mental Math.I've seen this talk before,and it is truly amazing and inspiring.)」と述べている。
この語りかけは、Web2.0的な世界観からオライリーに注目している人たちに向けられていると考えていい。そうした人たちにとっても「暗算の達人」は面白いはず。オライリーがそう考えているとしたら、「Web2.0」と「計算好き」には深い関連があるのかもしれない。
▲アーサー・ベンジャミン著「暗算の達人」。この本の話をきちんと身につけると、2桁の掛け算が暗算でできるようになる
計算好きと言えば、「Google」もそこから生まれたようなものだ。インターネット世界のガリバーとなった「Google」も、元はと言えば、特殊な計算手法の学問的な関心から発展したものだった。スタンフォード大学計算機科学の博士課程に在籍していた学生ラリー・ページと、同じく博士課程のセルゲイ・ブリンは在学中、共同で「The Anatomy of a Large-Scale Hypertextual Web Search Engine(大規模なハイパーテキスト的なWeb検索エンジンに関する解剖)」という論文を書いたのだが、この論文で提唱した計算方式を実際のビジネスで実現したのが「Google」だった。
そう考えると、Web2.0の技術の根幹にあるのは、新しい計算方法だとも言えるし、新しい計算方法をインターネットで実現することだとも言える。日本のネットの世界に「計算好き」が集まっているということは、日本にもまだまだ「Google」のような新しい分野を開拓する精神が残っているということだ。計算を楽しめる心の豊かさは、新しいネット世界の重要な適性なのだろう。


「楽天マガジン」の牛山朋子編集長 









