« 2010年4月 | トップページ | 2010年6月 »

2010年5月の6件の投稿

2010.05.23

[書評]素数に憑かれた人たち~リーマン予想への挑戦(ジョン・ダービーシャ著)

 ポアンカレ予想についての本は前回紹介したが、ポアンカレ予想が解かれた今、一番有名な未解決問題と言ったら、多くの人は「リーマン予想」と答えるだろう。そもそもなぜリーマン予想はそんなに有名なのだろうか?

 

リーマンはドイツの数学者で複素解析から微分幾何まで偉大な業績を残した。リーマンが研究を始めたときには、まだ天才数学者ガウスが存命で、彼はリーマンの才能の激賞していた。リーマンの名前が付いた数学用語としてはリーマン面、リーマン積分やリーマン幾何学などが代表的である。特に相対性理論を語る上ではリーマン幾何学は必要不可欠である。

 

そんなリーマンであるが、素数の世界にも大きな業績を残している。これがリーマン予想と大きく関わる。

 

こんな関数を考えてみる。引数を自然数として、その引数未満に存在する素数の数を返す。自然数をNとして、この関数をπ(N)と書く。(πは円周率とは関係ない。)
では、このπ(N)は一体どんな関数になるのだろうか?

 

実はπ(N)≒N/log(N)であることが知られている。この関数の形を最初に予想したのはガウスで、証明を行ったのはアダマールである。ただし、証明にはリーマンの研究結果を活用している。

 

上記の式は≒と言う形をしている。これを=の形にできないのだろうか?リーマンはπ(N)をある関数を使って書き直すことに成功した。この関数が実はゼータ関数である。

 

ゼータ関数とはある分数列を無限個足したものを返す関数である。きちんと書くと、
ζ(s)=1+1/2^s+1/3^s+1/4^s.....
とかく。いま、^sはs乗を表している。このζ関数は非常に興味深く、例えばζ(2)は

 

ζ(2)=1+1/2^2+1/3^2+1/4^2.......=π^2/6

 

である。(上記のπは円周率)、なんと有理数である分数を無限個足すと円周率が現れてくる!これはオイラーが見出した。

 

ここでようやくリーマン予想が解説できる準備が整った。リーマン予想とは、
「s=a+bi(a,bは実数, iは虚数)においてζ(s)=0であれば、原則b=1/2である。」ということである。(超意訳なことを注意!)

 

リーマン予想はコンピューター計算の結果等によって多くの数学者が「正しい」と信じている。しかし、まだ証明するには至ってない。また、このリーマン予想を「正しい」ことを前提に多くの研究成果が発表されている。ということはリーマン予想が「正しい」ことを証明すると、それらの研究成果が全て「正しい」という結果となる。よってリーマン予想は普通の人にはわかりにくいにも関わらず、数学者にとっては変重要な予想なのである。

 

この予想が大きく注目を浴びることになった一つのポイントは、大数学者ヒルベルトによる講演である。今から100年ほど前にヒルベルトは数学者が挑戦すべき未解決問題を説明し、これが多くの数学者の刺激となった。その講演の中で説明した未解決問題には、もちろんリーマン予想も含まれている。天才数学者の努力により、この講演で解説した未解決問題の多くは解かれた。しかしリーマン予想は一向に解決への扉が見えない。

 

ところで20世紀はコンピューターの時代でもある。20世紀初頭までは解析的な研究が多かったが、それ以降はζ(s)=0となるsの性質が計算機によって調べられていった。かのチューリングもζ(s)=0となるsを計算機で調べている。当初、計算機による研究の一つはリーマン予想の反例を調べることであった。しかし、それが反例を見出す見込みがほどんとないことがわかると、今度はζ(s)=0のsの精密な情報を得ることにシフトしていった。それが一つのドラマにつながる。

 

実はリーマン予想と量子物理学には関係がある「らしい」。残念ながらこれは予想であって、まだ誰も証明していない。量子物理学とはハイゼンベルグやシュレディンガーなどが研究をした原子や電子の性質を扱う物理学である。この量子物理学で扱う「ランダムエルミート行列」の固有値がなんとほとんどζ(s)=0とあるsと似たような分布をしている。そのため、数学者だけでなく有名な物理学者でさえ、このリーマン予想を研究している状態である。

 

さて、話をπ(N)に戻そう。π(N)をゼータ関数で表せると述べたが、実はそのときにζ(s)=0となるsを全て使った、ある関数の足し算をする必要がある。そのため、π(N)を詳しく知りたいのであれば、どうしてもζ(s)=0となるsの性質を知る必要がある。これがリーマン予想は素数の世界で大変注目されているワケである。

 

以上がリーマン予想の大まかなストーリである。

 

本書の特徴はユニークな章構成にある。偶数章がリーマン予想の「人間臭い」ストーリー、奇数章が「数学的な解説」となっている。奇数章の数学的解説は無限和や積分の知識が必要なので、大学初年度レベルの数学知識が必要である。ただし、奇数章の数学的な解説は非常に簡潔に書かれているので、是非とも理系の人にはチャレンジして欲しい。

 

リーマン予想を物語として読みたいのであれば、「素数の音楽」を本書よりお勧めする。「素数の音楽」は非常に綿密に人間臭いストーリーを書いているだけでなく、数学的な解説を「数式に抜き」(!)で説明することに成功している。内容も数式の詳細以外は本書とほとんど同じである。しかし、理系人間からすると、数式抜きで数学解説本を読むと、どうしても納得できないことが多数生じてしまう。

 

 

一方本書は数式で重要な部分をきちんと説明しているため、ある程度のことは数学的に理解できる。当然込み入った部分は省略となってしまうが、本書を読むだけでも素数定理の話やリーマン予想のキーワードが「数学的に」きちんと理解できるはずだ。よって理系であれば、本書を読んだ方が理解が進むはずである。

 

もし時間的に余裕があれば、「素数の音楽」を読んでから本書に進んで欲しい。すると、歴史的な背景がすっと入るため、数式の理解も早いだろう。

 

リーマン予想という超難問を、簡単な数式でエレガントに説明する作者の努力には脱帽である。このような本がもっと世に広まることを期待したい。

 

| | コメント (0) | トラックバック (0)

2010.05.16

[書評]ポアンカレ予想(ジョージ・G・スピーロ著)

 長い間超難問題として知られてきた「ポアンカレ予想」が最近肯定的に解決されたことは、数学者のみならず多くの科学ファンにも知られている。その理由は「ポアンカレ予想」の不思議な魅力だけでなく、予想を解決した天才数学者「ペレルマン」の特異な行動にも因るのだろう。

「ポアンカレ予想」とはフランスの大数学者「ポアンカレ」によるトポロジーに関わる予想である。

 

ポアンカレは19世紀後半~20世紀初頭に活躍したフランスの数学者で、トポロジーや数理物理学で大きな業績を残している。数理物理学で特に有名なのは「三体問題」の解決で、これはニュートンの万有引力の法則に従う物体が3つ以上存在する場合は、一般的には解析的な解けないという驚く結果を導きだしている。余談になるが、本研究はカオス研究の先駆けとして知られている。この三体問題による業績によりポアンカレは大数学者として認められ、トポロジーに対して精力的な研究を行っていく。

 

トポロジーとはオイラーによって始められた数学の一分野である。トポロジーとは物の形の本質を見極める研究分野で、物の形をゴムのように伸び縮みを許すことで、どのような性質を導くことができるかを突き止める。ポアンカレはトポロジーの基礎を作った数学者である。

 

では「ポアンカレ予想」とは一体なんだろうか?誤解を与えるかもしれないリスクを踏まえてイメージ優先で敢えて答えるとすれば、「物体が伸び縮みできるとする。物体上に輪ゴムがあって、それがどのような場合でも1点に縮めることができれば、その物体は球面に変形できる。」ということである。(*厳密な記述でないことを再度強調しておきたい!)これを聞くと、なんとなくそんな感じがする。しかし厳密な証明には100年もの時間が掛かったわけである。

 

少しトポロジーの話を付け加えよう。物の伸び縮みが可能な場合、物の形を分類する手段は一体なんだろうか?一つは物に含まれる穴の数である。穴の数は伸び縮みしても増えたり減ったりしない。このような変形を行っても一定な数に保たれる数値を「不変量」と呼ぶ。穴の数以外にも不変量があるのだが、残念ながら物の形を完全に分類できる不変量は今のところ発見されていない。この話も実はポアンカレ予想と関係がある。

 

多くの超難問の歴史と同様、この予想も波乱万丈に満ちた歴史がある。その中にはとても人間臭いものがたくさんある。例えば、5次元以上の解決に関わった研究者の「業績争い」、そして何といってもペルトマンの「フィールズ賞受賞の固辞」。フィールズ賞とは数学のノーベル賞みたいなものである。

 

ポアンカレ予想が興味深い点の一つは、解決され次元が多次元からであることだ。実際には初め5次元以上で解決し(スメールら)、4次元(フリードマン)、3次元(ペルトマン)という順番である。5次元以上というと驚く人がいるかもしれないが、この解決法には帰納法を利用したことがミソである。5次元で解決すれば、更に高い次元でも解決できる。。。という論法である。多次元の場合空間に余裕があるため、多くの問題では逆に検討がしやすいらしい。

 

3次元の研究に見込みがついたのは、ハミルトンによる「リッチ・フロー」の研究が始まってからである。リッチ・フローとは、曲面の曲がり方を解析するためのツールである。リッチとは微分幾何学で大きな足跡を残していて、相対性理論等でも使われるリッチ・テンソルが特に知られている。リッチ・フローによってトポロジーの研究は微分幾何学のアプローチを取れることができた。これがポアンカレ予想を解く決め手となった。

 

ペレルマンはこのリッチ・フローを用い、更には物理学でよく使われる「エントロピー」の概念を導入してポアンカレ予想を肯定的に解決した。ただし、ポアンカレ予想に関わる論文は全てインターネット上の論文アーカイブに投稿され、査読が必要な数学論文誌には投稿されなかった。このことが、クレイ研究所が提案したミレニアム懸賞問題(解決した数学者には何と100万ドルが与えられる懸賞。7つの問題があり、その一つがポアンカレ予想)の受賞資格に値するのかどうか、大きな議論がされていた。

 

ペレルマンはポアンカレ予想を解決してから、故郷で隠遁生活に入ってしまった。どのような生活を現在行っているか詳細は不明であるが、おそらく数学を熱心に研究しているのではないかといわれている。

 

この本はポアンカレ予想を歴史的なエピソードを交えながら、数学的な予備知識をあまり知らなくても理解できる良書である。ただし数式等はほとんどないので、エピソード的な記述の側面が強いこと、やはりトポロジーの基礎知識があったほうが読みやすいことを、ここで付け加えておこう。この本によってポアンカレが進化させた「トポロジー」に興味を持って頂けば幸いである。

 

| | コメント (0) | トラックバック (0)

2010.05.05

[書評]My Father's Dragon (邦訳:エルマーの冒険)

今年は英語力強化のために英語の本をきちんと読むことを目標にしている。そのために今まで子供用の英語本を読んでいた。今回紹介する「My Father's Dragon」はその中でも読んでいて楽しいお勧めの本だ。

邦訳は「エルマーの冒険」というタイトルで出版されている、児童文学で有名な作品なので知っている人も多いかもしれない。(といっても私は英語の本を見るまで、その存在を知らなかった。)「エルマーの冒険」シリーズは三巻から構成されていて、本巻はその第一巻である。シリーズ三巻全て読み終わって振り返ると一番面白いのは本巻であった。

ストーリーは主人公がある島(動物たちが支配する島)にいるドラゴンを助けに行くという話。主人公は島に向かうときに色々なもの(一見何に役に立つのかわからないものばかり!)をリュックサックに持っていくが、この持ち物がドラゴン救出に大いに役立つ。本の表紙を見るとライオンがきれいな髪型をしていることがわかると思うが、これはライオンからの追跡を逃れるために、主人公が機転を利かして難を逃れるというシーンを表している。他にも主人公のユニークな機転によって、動物からの追っ手を逃れるシーンがいろいろあり、それがどれも意外な展開で面白い。

もともとネイティブの小学生向けの本なので英語の文法自体はそれほど難しくない。ただ、技術英語ではなかなかお目見えしない単語もそれなりにあって、単語力強化にはもってこいだ。TOEIC500ぐらいあれば、問題なく読めるのではないだろうか?この本をお勧めする理由は飽きないが来ないストーリー展開と、なによりもイラストが多く、それがどれもきれいなので読み続ける意欲が沸くことだ。

三巻セットやオーディオCDもあるので、興味がある人は是非。英語にあまり自信がない人は、まずは邦訳から読んで見るのも一つの手だ。

★英語三巻セット

★邦訳「エルマーの冒険」

| | コメント (0) | トラックバック (0)

2010.05.04

2~3歳児のためのお勧めジグソーパズル

おもちゃ売り場に行くと、セイカなどのメーカーによる様々な幼児用ジグソーパズルが売っています。このジグソーパズルですが、私の子供が今夢中になって遊んでいるおもちゃなのです。

パズルを子供自身が組み立てることで集中力を高められるほか、「簡単にはあきらめない」ことを覚えさせることができます。もちろんパズル自体が要求する図形把握の能力も身につきます。

パズルを選ぶコツはやや易しめで、子供が興味を持っているテーマのパズルを買ってあげることです。子供にとって少し努力したら組み立て可能なパズルを与えることで、子供はパズルを何度でも自分だけで組み立てようとチャレンジします。うまく行けば、あとはパズルの難易度を少しずつ上げるだけです。もちろん、最初は大人が手助けすることが大切です。

ここでは2~3歳児に特にお勧めのパズルを紹介します。お手ごろ価格なものばかりなので、是非チャレンジしてくださいね。

★アンパンマン ハッピーロッピーパズル 8P A

幼児が好きなアンパンマンキャラクターのパズルです。セイカのパズルで共通しているのは、フレームとパズル用の袋が用意されていることです。このパズルは8ピースでセイカの中でもピース数が2番目に少ない部類に入るため、最初にパズルをトライする時にお勧めします。更にこのパズルの素晴らしいところは、
[1]1キャラクターが1ピースになっていて、非常にわかりやすい。
[2]ピースがフレームに簡単にはめ込むことができるので、非常に組み立てやすい。
ということです。これなら、幼児でも比較的早くパズルをマスターすることができます。

もう少し易しめなパズルとして、6ピースバージョンがあります。

★アンパンマン ハッピーロッピーパズル 6P A

★アンパンマン 知育パズル すうじ

少しずつピース数を増やしていくと、そろそろパズルだけでなく他のことも学習して欲しいと思うかもしれません。アンパンマンのパズルシリーズには学習系のパズルが揃っているところが素晴らしいところです。この「知育パズル すうじ」は1~10までの数字がプリントされています。更に芸が細かいところで、なんと各数字は「数字だけで」パーツに分かれていているため、数字をきちんと把握しないとピースを組み立てられません。ということで、数字を勉強したい幼児にはうってつけのパズルです。私の子供も今このパズルで数字を楽しみながら猛勉強中?です。知育パズルには他にも色々ありますので是非チェックしてくださいね。

★アンパンマン 知育パズル ひらがな

★崖の上のポニョ パズルセット PS-07

パズルを何度も買うのはちょっと面倒、あるいは自分の子供がどの程度のパズルが丁度良いのかわからない。。。なんて人も多いと思います。このパズルはあのポニョのパズルが4種類も入っているので、子供の成長度合いに応じてパズルを選ぶことができます。パズルは15ピース、35ピース、54ピース、80ピース。どれも映画の有名なシーンがパズルになっているので、子供だけでなく大人も楽しめます。パズルの箱自体がパズルになっているので、子供のお片づけにも便利ですよ。

ポニョだけでなく、トトロのパズルセットもあります。

となりのトトロ パズルセット PS-08

子供と一緒にパズルを楽しむことで、是非子供の成長を楽しんでくださいね!

また、小さな子供向けの教材・おもちゃを紹介していますので、こちらもご覧ください。

初めて「シルバニアファミリー」を買う・プレゼントするときの注意点まとめ

幼稚園児から始める日本地図・地理のお勧め教材

| | コメント (0) | トラックバック (0)

2010.05.03

TwitterをP2Pで実現する方法をもう少し考えてみる

第2回Twitter研究会は今年7月~9月に開催する予定になりそうだ。ということで、そろそろ講師用MLを作ることを考えている。次回のTwitter研究会では私も講師陣に加わってTwitterライクなサービスをP2P(というよりもクラウドと言ったほうが適切かもしれない)で実現するための手法について議論したいと考えている。本記事はその議論のためのメモである。

さて、TwitterをP2Pで実現する方法については、既に本Blogにおいてほぼ3年前に議論している。本記事はその記事に対して実現方式等を補足したものである。

Tomo's Hotline [P2P]TwitterのP2P化を考えてみる

TwitterのようなサービスをP2Pあるいはクラウドで実現するメリットはスケーラビリティの向上と運用コストの抑制である。

P2PシステムとしてDHTを利用する。今で言うとkey-valueストレージをイメージしてもらえば充分だ。DHTはkeyを引数としてvalueを引き出すことができる。つまりDHTとは分散化されたデータベースようなものだ。

DHTの詳細な説明は拙著「P2P教科書」を読んでもらうこととして、本論に移ろう。
なお、今回はアイデアを紹介するのが目的であるので、各種用語の定義、議論の厳密さよりもわかりやすさを優先する。

[1]基本的なツイートのデータ蓄積方法

前提として各ユーザに対してユニークなアカウントを払い出しているとする。(ユニークな払い出しの実現方法については後述。)
例として@toremoro21というアカウントのユーザがいたとする。今ハッシュ関数をhash()と定義する。

各ノードには一意のノードIDがDHTによって割り当てられている。
@toremoro21に対する各ツイートはノードID=hash(@toremo21)となるノードに格納する。

次の目標は各ツイートにユニークな識別子をつけることである。
今ツイート識別子としてアカウント名+(各アカウントに対するユニークな識別子)で割り当てることを考える。この(各アカウントに対するユニークな識別子)として一番単純なのは、世界標準時(GMT)だろう。GMTを使うと各ツイートの時系列が簡単に把握できる。つまり、タイムライン等における時系列表示が容易に実現できる。当然端末の時間の誤差などが課題であるが、ツイートのように順番が多少ずれていても、あまり問題のならないサービスであればGMTで事足りるだろう。なお、BOTのように大量にツイートを作成するアカウントがいる場合は、GMTの後に各GMT内単位時間内での発言に対するシーケンス番号を付け加えることが考えられる。

話を単純にするため、各ツイートの識別子はアカウント名+区切り文字+発言したGMTで記述することにする。区切り文字を*とすれば、ツイートの識別子の例は@toremoro21*20100503となる。区切り文字より前の情報から、ツイートを発言したアカウント名及びこのツイートを格納しているノードが判明する。区切り文字以降から発言した時間がわかる。

次に、アカウントを一意に作成する方法について述べる。議論を単純にするため、P2Pシステムに悪意のあるノードがいないとする。今、あるノードAがアカウント@toremoro21を作成しようとする。ノードAはノードID=hash(@toremoro21)となるノードと通信を行い、アカウント@toremoro21がまだ作成されていないことを確かめる。もし、既に@toremoro21のアカウントが作成されていたら、別のアカウントを作成し先ほどと同様な手順で既存アカウントと重複していないか確認を行う。

[2]タイムラインの表示
タイムラインを表示する方法として、各ユーザがフォローしている各アカウントのツイートを管理しているノードに対して情報の更新を定期的に確認することが一番シンプルである。ただ、この方法はDHTシステムに対して大きな負荷が掛かる。

よりスマートなタイムラインの実現方法は次のとおり。タイムラインを表示したいノード(ノードPとする)はフォローしている各アカウント(@toremoro21とする。)のツイートを管理しているノード(その一つをノードQとする)に対して、ツイートが更新したときに自ノードに対してプッシュ通知を行うように、指令を出す。つまり、ノードQは@toremoro21に関わるツイートの情報更新が行われた場合、ノードPに対してプッシュ通知を行う。通知方法としては、単にツイートが更新されたことを知らせる方法、更新されたツイートに関わる識別子を知らせる方法、更新されたツイートの内容全体を通知させる方法などがあるだろう。

[3]リツイートに対する処理

リツイートについては、引用したツイートに対する識別子情報も含めてDHTシステムに格納する。これによって、引用したツイートを他人が参照することが容易に可能である。なお、引用するときに引用元のアカウントを含めるため、後述の[6]の処理も行う。引用元ツイートにハッシュタグが含まれた場合、後述の[5]の処理も行う。

[4]ダイレクトメッセージに対する処理

@toremoro21に対してダイレクトメッセージを送信をする場合、hash(@toremo21)をノードIDとするノードにダイレクトメッセージを格納する要求をする。

[5]ハッシュタグに対する処理

@toremoro21が#twitterconfを含むツイートを行う場合、hash(@toremoro21)をノードIDとするノードに当該ツイートを格納するだけでなく、hash(#twitterconf)をノードIDとするノードにもツイートを格納する。これによって、#twitterconfを含んだ発言を他人が容易に参照できる。

[6]アカウントを含むツイートを含む処理

これも先ほどのハッシュタグIDと同じ議論である。あるアカウントを含んだツイートは、hash(アカウント)をノードIDとするノードにも格納する。これによって、各アカウントを含んだ発言を他人が容易に参照できる。

このようにP2PであってもDHTを使えば、Twitterライクなサービスはある程度容易に実現できると考えられる。

| | コメント (0) | トラックバック (0)

2010.05.01

[書評]十二音による対位法(南 弘明 著)

現代音楽に興味を持ったのは、偶然小学生のときに聞いたストラヴィンスキーの「春の祭典」だった。その後色々な現代音楽の本を読んでいて、「12音音楽」といわれる音楽があることを知った。12音音楽は今でも現代音楽に非常に影響を与える作曲技法である。

では12音音楽とは何だろう?詳しく知りたい方は私のWEBサイトの現代音楽入門「20世紀音楽の世界」をご覧頂くことにして、ここでは簡単な解説でとどめておく。1オクターブの中には(「ド」の音から次の高い「ド」の直前の音までには)、12個の音が存在する。きちんと書くと、「ド」「ド#」「レ」「レ#」「ミ」「ファ」「ファ#」「ソ」「ソ#」「ラ」「ラ#」「シ」の音が1オクターブに含まれる。(ここでは半音表記に#を使った。)この12音全てを1回ずつ現れる列に並べ、(これを音列、あるいはセリーと呼ぶ)、ある規則に従って作曲することを「12音音楽」と呼ぶ。

通常のクラシックやポップスなどは「和声」と呼ばれる「音の調和」を大事にするが、12音音楽では「対位法」と呼ばれるフレーズの重ね合わせが重要になる。12音音楽はバッハの時に盛んだった「フーガ」や「カノン」の技法をふんだんに取り入れている。12音音楽はシェーンベルクが「発明」し、ベルクやウェーヴルンが独自に発展していった。彼らの音楽を聴くと、調性がないのにも関わらずバッハのような「緻密な音」の薫りが漂う。12音音楽は対称性が支配する音楽なのだ。

さて、本の内容に移ろう。先ほど述べたように12音音楽は音列を作成することから始まる。
作曲は音列を順番に並べることのほか、ある音を軸にして、音の高低を逆にする「反転型」、列の音を逆から始める「逆行型」、逆行してさらに反転する「逆行反転型」に分類できる。つまり、一つの音列から色々なパターンにフレーズを変化することができるのだ。更にはそれぞれの音列の高さを平行に移動することができる。実はこの手のフレーズを作る操作は「群論」によって記述でき、理論書によっては詳しい解説があるようだ。

音列はある小節から逆行、反転等に操作することは一般的だ。更にはパートによってそれぞれ異なる音列を利用することも可能だ。このことから、緻密で複雑な曲を自由自在に作成することができる。

ところで、音列自体にも構造を取ることがあることを本では指摘している。例えば12音を3つに区切り、最初の4つの音を素材に次の4音は素材を反転、最後の4音は素材を逆行するような操作で音列を作る。譜面例を見ると、これらの音列の作成テクニックは驚きの連続である。音列自体が構造化することで、確かに音列を聞くだけで均整が取れた感じがする。

以上は紹介した本のほんの触りである。12音音楽の作曲技法について、わかりやすい解説書がないだけに、この本は貴重である。譜面例もたくさんあるので、イメージもしやすいだろう。現代音楽に興味がある人だけでなく、群論や対称性に興味のある方も是非読んで欲しい。そして、時間があればシェーンベルクらの曲を聴いて、譜面を見ることで隠れた対称性を見つけて欲しい。

| | コメント (0) | トラックバック (0)

« 2010年4月 | トップページ | 2010年6月 »