Skip to main content

Posts

Showing posts with the label math

ガウスの提案: 正,負,虚数の名前について

先日,虚数についての Welch Labs の興味深いビデオを見た. https://youtu.be/T647CGsuOVU?list=PLiaHhY2iBX9g6KIvZ_703G3KJXapKkNaF また,次の Kalid Azad の数学での名前についての記事も面白かった. https://betterexplained.com/articles/learning-tip-idea-name/ どちらの記事もガウスが正(プラス),負(マイナス),虚数の名前について述べたことを参照している.ガウスはこれらの名前は間違いであり,人々がマイナスかけるマイナスがプラスになることや,純虚数かける純虚数が負の実数になることを理解できない理由の1つとしている.私自身もこれがわかりにくかったので,なぜ  -1 * -1 = +1 になるのかのビデオを作ったりした. 説明ビデオ: なぜ -1 * -1 = +1 なのかのパターンでの説明 https://youtu.be/uD7JRdAzKP8 説明ビデオ: なぜ -1 * -1 = +1 なのかの山登りでの説明 https://youtu.be/uD7JRdAzKP8 しかし,ガウスの考えはもっとシンプルで強力な気がする.ガウスは次のように書いている [Gauß, Werke, Bd. 2, S. 178] . Hätte man +1, -1, √-1) nicht positiv, negative, imaginäre (oder gar ummögliche) Einheit, sondern etwa directe, inverse, laterale Einheit gennant, so hätte von einer solchen Dunklelheit kaum die Rede sein können. 次は私の日本語への翻訳である. もし, +1, -1, √-1 が,整数,負数,虚数(または不可能な数)ではなく,直接数,逆の数,横の数と呼ばれたのなら,これまでに述べた不明瞭さは疑問にもならなかっただろう. ガウスは負数を逆の数 (または翻訳としては反対になる数) という名前にすべきと提案している.Kalid は彼の記事で正数,負数を前方への...

昔ながらのおもちゃはどこに?

I'm looking for an old school toy.

あわせるの意味: Part 3

前回のような話を知人にすると,「そんなことわからなくても皆生きていけます」と言われることもあります.確かにその通りかもしれません.私も以前はわからない人が多数いてもいいんだと思っていました.しかしこのようなことを使って人を騙す人達がいることをみるにつれ,それでいいのかと思うようになりました.特にお金を騙し取る方法としてこれに類似した間違った論理を使った事件の記事などを見ると,知っておいて欲しいなと思うのです. 前回書いたことは実は数学の問題に見えますが,むしろ言葉の問題です.数学の問題の形になっていますがこの問題の言葉の問題の部分だけでも少し考えてもらえたら嬉しいと思います.つまりそれは問題が何を意味しているかということです. 問題は言葉で述べられていますから,言葉の意味を考えて欲しいのです.この場合にはゴールの率という考えと合わせるという言葉の意味を深く理解する必要があります.私はこの生徒に,このことを考えて欲しくてこの問題を考えました.ゴールの率というのはシュートした回数のうちの成功した回数でそんなに難しくありません.しかし,私は意外なことに「合わせる」の意味を理解していない人が多いことに気がついてこの問題を作ったのです.ここではいくらたしても値が同じというおかしな計算を正しいように見せるために,「合わせる」の持つ多重の意味を利用したのです. 私は「合わせる」という言葉が簡単なように見えるのに,実はそうでないことに気がつきました.言葉の持つ奥深さがあることに気がつきました.そして簡単に見えるが故にあまり深く考えないという盲点をついたのです.文学をする人など,一言一言の言葉の意味を大切にする人ならばこれには気がつくことでしょう.日常の生活ではあまり気がつかないことだと思います.しかし,これが見破られなければ,合わせても同じ量になることを利用して,たとえば税の負担やある料金の負担が変化しないように見せかけることができることでしょう.私は人々がそのようなことに騙されて欲しくありません.民主主義の世界では多数が嘘に騙されれば,私も騙されてしまいます.いや,たとえもし私がわかっていても多数に巻き込まれて騙されなくてはいけなくなるからです. この少年は問題の意味を理解して,私の嘘を見抜きました.そしてこの少年は私に尋ねました「先生も嘘を言うのですか?」私は答...

あわせるの意味: Part 2

少し前に私はある13歳の少年に算数を数ヶ月教えていました.彼の家族はちょっと遠くに引っ越してしまうため,最後のセッションの日がやってきました. 最後のセッションでは, \(\frac{1}{2}\) と \(\frac{1}{2}\) を合わせるといくつになるかという話で2つの話をしました. \(\frac{1}{2}\) 個のケーキと \(\frac{1}{2}\)個のケーキを合われれば \begin{eqnarray*} \frac{1}{2} + \frac{1}{2} = \frac{1+1}{2} = \frac{2}{2} = 1 \end{eqnarray*} と,1になります.分母はそのままに分子をたすという分数のたし算がここにあります.私達はなぜこのようにするのかの理由について議論しました.そしてこうする意味について話し合いました. そこで私はもう1つの話をしました.あるサッカー選手がある試合で2回のシュートをして1回ゴールしました.ですから,この選手のゴールした率は 2 回のうち1 回のシュートで \(\frac{1}{2}\)です.(シュート2回で1ゴール.) 次の試合でこのサッカー選手はやはり2回のシュートをして1回ゴールしました.ですから,この選手のゴールした率は今回も 2 回のうち 1 回のシュートで \(\frac{1}{2}\) です.2試合分を合わせると 4 回シュートして 2回のゴールですからこの選手のゴールの成功率は \(\frac{1}{2}\) です. \begin{eqnarray*}  \frac{1}{2} + \frac{1}{2} = \frac{1+1}{2+2} = \frac{2}{4} = \frac{1}{2} \end{eqnarray*} これは正しいはずですが,しかし,\(\frac{1}{2}\) と \(\frac{1}{2}\) を合わせたら 1 ではなかったでしょうか?  分数のたし算としてはおかしいですね.ケーキを合わせると \begin{eqnarray*}  \frac{1}{2} + \frac{1}{2} = 1 \end{eqnarray*} なのにゴール率は2試合分を合わせても \begin{eqnar...

あわせるの意味: Part 1

人は言葉を使って考えるので,考えたことをプログラムにする私にとっても言葉は重要なものです.1つの言葉が状況によって様々な意味に使われることはよく見られます.それはある種の冗談,洒落というものがあることからもわかります.あるいは基本的な言葉が文脈によって意味が変化するというのも普通であり,それが人間には普通であるようです.たとえば「上げる」と言うことばは,「地面に対して高い方向に移動する」ということもあれば,ものを贈る時に他人を尊敬する意味で相手を上として,「上げる」ということもあり,またコンピュータで「ファイルを上げておく」とするとファイルをどこかのサーバーにアップロードするというふうにもあります.声を上げるというのは物を動かすのではなく,意見を言うという意味です.同じ「上げる」という言葉でも実際に行うことは違います. このようなことは1つの言語だけで考えているだけでは気がつきにくいものですが,外国語を学んだことのある人は翻訳という作業を通して母国語と外国語の両方の奥深さを新たに知ることが多いでしょう.辞書には普通複数の意味が書かれています.文学,特に詩では1つの言葉を2つの意味として使うことで奥深さを持たせるということが重要となっています.1984 のNewspeak では人民の思考を制御するために言葉の意味を制限する描写があります.またコンピュータ言語を学んだ人ならば例えば overloadingなどの概念で同じ名前の関数が異なる実装となることから人間が言葉に複数の意味を持たせていることに気がつくことができます.数学を学んだ人は同じ演算子記号の意味が様々な操作になることにも気がついているでしょう. プログラミング言語や数学を学ぶ時,そこには文学的なものを感じる人達はいくらかいらっしゃると思います.ルイス・キャロルやチョムスキーのような言語と数学の両方にいる人達は2つの異なる物に得意なのではなく,そこにあるのは1つのものだと私は想像しています. この1つの言葉が様々な意味を持つことから,自分の言っている言葉が本当はどのような定義なのかを考えることは重要です.最近そのことを感じる機会があったので次回はそれについて続けます.

電力会社の指数のパワー

2013 年 Kaninchschule 入試問題より うさぎさんの町ではきつねさんが電気を作っています.ある日きつねさんは他に電気を作っている人がいないことに気がついて,毎年値上げをすることにしました.きつねさんは役場で働いているきつねの伯父さんに,今1万円払っている人に毎年千円づつ定年まで30年間値上げしたいと思うけれどもどう思うかと聞いたところ,伯父さんは「お前は商売を知らないな,千円ではなく 10% 毎年値上げすると言いなさい」と言われました.この時,以下の文のうち正しいものはどれですか. 1万円から毎年千円値上げする場合と,1万円から毎年10%値上げする場合は同じである.30年後にはどちらも千円×30年 = 3万円で,最初の値段 1 万円と合わせて電気代は月 4 万円になる. きつねの伯父さんの言うように 10% と言う方が 30 年たった時にもっと値上げることができる.値上げは毎年千円の時の2倍の 6 万円で月に 7 万円の電気代になる. きつねの伯父さんの言うように 10% と言う方が 30 年たった時にもっと値上げることができる.値上げは毎年千円の時の5倍以上になる. 解答 10% と言う方が値上げ幅を大きくできる. 1年目の値上げ額 10000 * 0.1 = 1000,これに 10000円をたして,11000 円 2年目の値上げ額は,既に料金が 11000円に上がっているのでこの 10% は11000 * 0.1 = 1100,これに 11000円をたして,12100 円. 3年目の値上げ額は,既に料金が 12100円に上がっているのでこの 10% は12100 * 0.1 = 1210,これに 12100円をたして,13310 円. n 年目の値上げ額は,$10000*(1.1)^n$ で計算できる.30 年後には$10000*(1.1)^{30}$ でこれは 17万4494円です.したがって答えは 3 です. どうして伯父さんが「いくら値上げするか言わずに毎年10%値上げする」ように言ったのかわかりましたか? 日常生活でも,このように,「毎年同じ 10%」と言って,同じという印象を植え,値上げ幅を毎年増やす人達がいますので,注意しましょう.

ピラミッド(指数)のパワー(2)

以前のポストの回答です. A1.  ここでは 5 階層と 6 階層の勧誘に成功したと仮定します.その場合,ヒトシ君の得られるお金は 40^2 * 0.25 * 10万 * 0.9 - 10万 = 3590万円 答.ヒトシ君は毎月 3590万円の収入が得られます. A2. カズヒロ君ももちろん同じ金額を入手します.ただし,この問題では東京の人口を考えなくてはいけません.カズヒロ君が収入を得るには 7 階層が完全に埋まることが必要です.7 階層の人数は, 1 + 40 + 40^2 + 40^3 + 40^4 +40^5 + 40^6 = 4201025641 42 億人必要です.東京の人口は 1400 万人としたので,カズヒロ君の収入は, 0 - 10万 で毎月10万円の損失です. 答: カズヒロ君の収入毎月 -10万円 A3. ヒトシ君の必要な階層数は 6 です. 1 + 40 + 40^2 + 40^3 + 40^4 +40^5 = 105025641 これは 1 億人を越えていますので,ヒトシ君の実際の収入はやはりマイナス10万円です. 答: ヒトシ君の収入毎月 -10万円 ところで,カズヒロ君はヒトシ君に騙されたということでもう友達ではなくなってしまいました. 答: ヒトシ君の収入毎月 -10万円,その上友達がいなくなりました. マルチ商法は,基本的には奴隷が王様に税金を収める仕組みですので,王様にならないとお金持ちにはなれません.全員が王様になるということはできませんし,勧誘も王様になる可能性があるということを納得させられます.それは嘘ではありません.誰かは王様になれます.しかし問題はあなたが王様になれるかですが,まあ,この数を見た場合,もし100人他にやっている人がいるのならば奴隷になることは覚悟した方がいいかと思います. エッセイ問題: 一部のマルチ商法システムが海外進出を図る理由を述べなさい.

ピラミッド(指数)のパワー (1)

算数の練習問題を作成していて,指数についての次の問題を考えた.指数というのがいかに急成長する数なのかについての実感を持ってもらうのがこの問題の狙いである. ヒトシ君はお金に困っていたので, ピラミッド式販売方法(マルチ商法) に参加することを考えました.このシステムでは会員になると毎月10万円の買い物をある特定の会社からしないといけませんが,ヒトシ君が下部の会員を 40 人勧誘することに成功すれば,2階層下の会員の買い物の 25% がリベートして入ります.ただし,リベートのうちの10%はさらに2階層上に支払わなくてはいけません.彼は今東京に住んでいます.彼が参加したマルチ商法では,彼は比較的上の階層でしたが,それは 4 階層目でした.ここでは東京の人口を1400万人と仮定し,ヒトシ君の勧誘は東京に限られることとします. Q1. 東京の人口は一時的に忘れることにして,ヒトシ君が40人の勧誘に成功し,その下の階層も勧誘に成功したとして毎月受けとる金額はいくらでしょうか? Q2. ヒトシ君は友達のカズヒロ君を5階層目に勧誘しました.カズヒロ君の毎月の収入としてみこめるのはいくらでしょうか? 勧誘は東京の人口を越えないとします. Q3. ヒトシ君の場合で,東京の人口を考慮して平均的に可能な収入を算出しなさい. 回答は次のポストで.

Math objects on programming (1)

概要 プログラミングにおいて数学的な object を使うとプログラムが簡単になることがある.今回この考えが上手くいった例に会ったのでそれを示す. 数学的 object とプログラミング プログラムのテストにおいて,異るパラメータの組合せを考えるということはよくあることである.組合せを生成する簡単な方法は,多重ループを使うことである. ここではpython 風の pseudo code を使う.また,実際に動く python のプログラムも公開する. たとえば,2つのパラメータのリストがあった場合,  data_size_list = [ 5, 64, 512, ]  screen_resolution_list = [     '2560x1440', '3840x2160', ] この組合せは,   for d in data_size_list:     for s in screen_resolution_list:       print_comb(d, s) # output のように書いて出力することができる.この方法は簡単であるが,ある特定のリストが不要な場合,プログラムコードを変更する必要がある.それで直積の考えを使って組み合わせを生成することにする [1].何の積かというと,集合の積である.ここに k 個の集合があり,その要素の全ての組合せを考える時,k 個の集合の直積を考えている.これは再帰的に定義することができる. \(k = 0\), つまり 0 個の集合の直積は一つの空リスト([])である. \(k \geq 0\) の時,       \begin{eqnarray*}       A_1 \times \cdots \times A_k   &=&\left\{(a,t)| a \in A_1, t \in A_2 \times \cdots \times A_k        \right\} \end{eqnarray*} である.二番目の条...

マルコフ行列の中の著者達: どの著者がもっとも人々に影響を与えたのか? (付録 A)

付録 A: Matrix とは何か グラフを記述するのに matrix を使った.ところで matrix とはなんだろうか.簡単に言えば,matrix は数を並べた表である. 通常,いくつもの数を並べたものはやはりいくつもの数を並べたものである.たとえば,以下のようないくつかの都市の距離の表を考えてみる. \begin{eqnarray*}   \begin{array}{lrrr}    & \mbox{東京}   &  \mbox{Berlin} &  \mbox{Auckland} \\    \mbox{東京}     & 0     &    8940 &   8811    \\    \mbox{Berlin}   & 8940  &       0 &  17742    \\    \mbox{Auckland} & 8811  &   17742 &      0   \end{array} \end{eqnarray*} マトリックス(matrix) は数をこのように行と列で並べた表である.日本語では「行列」という.しかし数学ではこの表を一つのかたまりとみる.時にこの表を,奇妙なことかもしれないが,一つの数のように扱うのである.一つの数のように扱うというのは,数と同様に matrix の間での演算があるということである.たとえば,matrix 間での足し算やかけ算というものを考える.それには数の 0 に相当する matrix や,数の 1 に相当する matrix が存在するということである.めんどうくさがりやの数学者は多数の数の間の関係をいちいち書くということに飽きて,ある数のまとまりの関係が一つの関係でおさまることを発見した.それを一つの対象 --- matrix -...

マルコフ行列の中の著者達: どの著者がもっとも人々に影響を与えたのか? (7)

隣接行列 行列は数を二次元のます目上に並べた表である.ある規則で数を並べると,それがグラフを示すことと同じことになるので,ここで述べる.つまり動機はグラフを記述することにある.そのようにグラフを表現する方法の一つとして隣接行列がある.ここでその定義を述べておこう.行列に関して簡単な紹介を付録 A に記しておく.さらに行列に関して知りたい読者には文献[7]を参照して欲しい. Definition: 隣接行列は N 個の点を持つグラフを表現するものであり,\(N \times N\) の大きさを持つ.ここで,点\(i\) と点 \(j\) 間に有向辺がある場合,行列の成分 \(a_{i,j}\) を \(1\) とし,辺がない場合には\(0\) とする. これだけである.つまり隣接する点(= 辺で接続されている点)の要素を 1,そうでない要素を 0 とするような行列を隣接行列と呼ぶ. 例として人間関係のグラフを考え,好きか嫌いかの関係を隣接行列で示そう.好きという関係がある場合には点の間に辺を置くとここでは決める.嫌いな場合に辺を置くとしても良いが,私は嫌いな関係よりも好きな関係を知りたいので,今回は好きな関係とする.注意して欲しいのはこういう部分は私が勝手に決めることができるということである.これは事実とかではなくて,問題を解こうとしている人が矛盾が起きない限り,勝手に決めることができる.もし私が,「定義する」とか「仮定する」とか「と,考えてみよう」と言ったら,それは私が決めたことであって,読者には賛成してもらいたいと思っている.もし読者が賛成しない場合,その後の議論は意味をなさない. 次回は Alice に登場してもらって好き嫌いグラフを書いてみることにする. 文献 [7] Gilbert Strang, ``Introduction to Linear Algebra, 4th Edition,'' Wellesley-Cambridge Press, 2009

鉄道ファンのためのグラフ理論: マルコフ行列の中の著者達番外編

この話は マルコフ行列の中の著者達の番外編である.鉄道ファンとグラフ理論の関係は何かという話である. ( English version ) 同僚の Dietger がグラフの全ての edge をたどる問題を知っているかと聞くので,Hamiltonian path のことかと答えると, Hamiltonian path は全ての nodeを一度通るもので,そうではなく全ての edge を通るものだということだった. 私はVertex と Edge の Dual を考えれば良いではないかと言ったのだが,Triangle mesh ではVertex と Face は Dual になるが,Edge はそうではない.(図1, 2, 3)考えてみると,点は辺を介して接続され,面も辺を介して接続されている.では辺は何を介して接続されているのだろうか.面か点である.面と点の接続関係は辺によるものなので,辺はある意味この面・点とは異なる.だから面と点を入れかえることはまだできるが,辺は何かと入れかえられないと考えた. Figure 1: Duality of face and vertex: faces to a dual grah. Figure 2: Duality of face and vertex: a dual graph to faces. Figure 3: Edge's duality? これはどんな問題を考えているのかと尋ねたところ,彼の友人は鉄道の線路の管理をしているということであった.つまり線路を定期的に全て検査しなくてはならない.効率良く線路を全てまわるのはどうすれば良いのかという問題をグラフの問題として考えたものである.結局,これは 中国人の郵便配達問題 と呼ばれていることがわかった.中国人の数学者(Mei Ko Kuan)がこの問題に関して研究していたことにちなむらしい.これは Euler path 問題,つまり一筆書き問題とかかわりが深い. 私は昔, PTT (Programming tools and techniques) という集まりでこれに類する話を聞いたことがある.この会はソフトウェア関係の会であるが,鉄道好きの人も多数いらした.葛西さんという方が,この会で発表したのは,最長の片道切...

マルコフ行列の中の著者達: どの著者がもっとも人々に影響を与えたのか? (6)

数学では番号だけ考えていれば良いが,実際にはこの番号は何かに対応している.何かとは区別さえできればなんでもよいのであるが,具体的な例を示した方がイメージがわくと思うので,2つほど例を示そう. 例1:点が著者を示す場合 以下の4人の著者を考える. William Shakespeare Lewis Carroll Raymond Smullyan Martin Gardner これらの著者がそれぞれどのような影響を受けたかは様々な見解があるだろうが,とりあえず,Shakespeare は Carroll に影響を与え,Carroll は Smullyan とGardner に影響を与えたとしよう.そのグラフは図 6のようになるだろう. Figure 6. Graph example 1. Each node is an English author. 例2:点が駅名を示す場合 点が駅名を示す場合を考える. Weinmeisterstr Alexanderplatz Hackescher Markt Jannowitzbruecke これらの駅間が隣あっている場合,それらの駅には関係があるものとして辺で接続しよう.するとそのグラフは図 7 のようになる.ところでBerlin の市内電車はよく工事をしていて,ある区間が不通であったり,困ったことに一方通行しかない場合があったりする.一方通行の場合には,グラフは有向グラフとなるであろう. Figure 7. Graph example 2. Each node is a train station. ここで一つ注意して欲しい.点の例が何であっても,これらのグラフは同じ形をしている.同じ形をしているグラフは全て数学では同じであって区別しない.つまり,図 4, 5, 6, 7 ( 図4,5 は以前の blog を参照 )は全て同じグラフである.数学ではこの形のグラフから何が言えるかということに関して考える. 著者と駅名が同じ形で示されたということは奇妙なことかもしれない.しかし数学は世界からパターンをみつけだし,それらに共通のことを考える学問である.そして私はいつも驚くのであるが,この世界には同じようなパターンが出現することがいくつもある.新しく出会った...

0 とプラスの関係

8 歳の T 君が 7 について学んでいる.7 はどんな加算によって作られるかというものである.ここで利用している教材の一つは図 1 にあるような Zahlenhaus というものである.2つの部屋があり,それぞれに何人かがいる.全体で何人が一つの家にいますか? ということで加算というものを考えるものである. Figure 1. Zahlenhaus: 7 = 4 + 3 Figure 2. Zahlenhaus: Questions そこには,  7 = 3 + ?  7 = 4 + ? のような問題(図2)があり,? を埋めるのである.T 君は上記の質問にはまったく問題なく答える. しかし,次の質問がわからないという. 7 = 0 + ? ところで,学ぶ時,何がわからないのかをわかっているというのはとてもやりやすい.私自身,数学の本を読んでいてどこでわからなくなったのかをみつけるのに苦労することがある.そしてわからない部分がわかれば道が見えることが多い.どこがわからないかわからないと,どこまで本を戻ればいいのか見当がつかないからである. さて,Zahlenhaus に戻ろう.左の部屋には誰もいない.右の部屋には何人いる?と尋ねると,2 + 5 人とか3 + 4 人という.私はこれには困った.つまり,T 君は 7 = 0 + 2 + 5 と答えたのである,これは数学的にはまったく正しい.一つの部屋をまとめて数えなくてはいけない理由は特にないし,そういう仮定を明確に言ったわけではない.だいたい最初に 7 はいくつといくつ? というように聞いているのは練習の意味が強い.7 は 7 である.と答えて間違いはない.これはゲームだと思ってもらった方がいいかもしれない. しかし,それぞれの部屋に一つだけ数字を割り当てるという暗黙のルールによって 7 = 0 + 2 + 5 は間違いとされる.Zahlenhaus には部屋が 3つないからである.もし,Zahlenhaus に部屋が 3つあれば,これは正しくなる.しかし,ある計算が部屋の数で間違いだったり正しかったりするのは逆に混乱するのではないだろうか? 私はよくチャールズ・ドジソン(ペンネーム: ルイス・キャロル)の本「鏡の国のアリ...

マルコフ行列の中の著者達: どの著者がもっとも人々に影響を与えたのか? (5)

グラフとは何か グラフとは複数の点を複数の辺で接続したものである.辺で接続された点間には何らかの関係があるとする.いくつかの点がある場合のグラフの例を図 4 に示した.図 4 では,点1(\(N_1\)) と 点2(\(N_2\))を結ぶ辺を\(E_{1,2}\)と書いた.グラフは点の接続関係のみを気にするので,どのように描かれているかには関係がない.図 5 は全て同じグラフを示している. Figure 4. Edges connect nodes. Figure 5. The same graphs. Graph only cares the connections between nodes. 次回はグラフの例を示そう.

マルコフ行列の中の著者達: どの著者がもっとも人々に影響を与えたのか? (4)

グラフ理論入門 数学には多数の object 間の関係を扱うグラフ理論という分野がある.私はこのグラフ理論を著者間の関係を示す方法として利用することを考えた.この方法そのものは別に新しい方法ではなく,様々な分野で用いられている.今回ここでやってみようと思ったのはその対象,著者間の関係,というものがどういうことになっているか趣味として個人的な興味で知りたかったからである. グラフの基本 Object グラフ理論には2つの基本的なオブジェクトが登場する.「点」と「辺」である.点が辺でつながっているものをグラフと呼ぶ.2つの点が辺でつながるということはそれらの点が関係しているという意味である. 図 1 にこのオブジェクトを図示する.グラフ理論ではこの二つのものを考える.この2つしかないと思うと簡単なように見えるかもしれないが,なかなかそうではない. Figure 1. Node and Edge 通常,点は複数存在する.複数の点を区別するために図2のように番号をつけることが多い.しかし実際は区別さえつけばよいので番号でなくてもかまわない.しかし番号はものごとを区別するのに便利なので良く利用される. Figure 2. To distinguish different nodes, put the numbers on them. ところで図3 に示すように辺には有向辺と無向辺がある.これは向きが有るか無いかの区別である.関係には一方向的なものもあれば双方向のものもあるからである.たとえば,過去の人物は現在の人物に影響を与えることはできるが,現在の人物が今から過去の人物に影響を与えることはできないので,そのような関係は一方向的である. Figure 3. Directed and undirected edge. 今回はグラフ理論の登場人物を紹介した.それは点と線である.ここまでは簡単だと思う.次回はグラフとは何か示そう.

マルコフ行列の中の著者達: どの著者がもっとも人々に影響を与えたのか? (3)

問題: 著者の影響を解析する (2) 私は影響の大きさや内容ということはとりあえず忘れ,関係のあるなしから全体への影響の大きさを考えるという方法から始めることにする.幸い,このような関係のあるなしを基礎にしている数学の理論や,実際に利用されてきた方法がある.その方法とはグラフ理論と線形代数という数学を使うものである.この方法は長年の間多岐に渡って利用されてきた.Web の時代になり,Web page間の関係を知るためにも用いられている.影響力の大きなPage は興味ある Pageであるだろうから,サーチの結果の上位に示せば探している Page をみつけやすいだろうということで,どのように影響力の大きな Pageを求めるかが考えられてきた. おそらく現在最も利用されている手法は,Web page の影響力を,Web page 間が関係しているかいないか,つまりリンクは張られているかいないか,だけをもとにして計算する方法であろう.この方法は Web page の内容はまったく理解せずに影響力を考えることができる方法であり,画期的であった.この方法はGoogleという会社が初めて Web page のサーチの基準として用いたことで有名である[bib:pagerank].内容を理解しなくても良いということで,どの言語でも,どの分野でも利用可能であり,自動化が可能である.人間が内容を元にランクをつけた方が精度は良い可能性は高いが,何千,何万という計算機を使って自動で行えるという方法は人間よりも高速で安価であり,人間がランクを決めていた方式にたちまちとってかわった. Web に応用する手法は特に PageRankと呼ばれているが,その基礎には線形代数の固有値問題がある. ここではまずグラフ理論を概観し,それを実際の著者間の影響を計算する方法として応用してみる. というわけで次回はグラフ理論入門である.

マルコフ行列の中の著者達: どの著者がもっとも人々に影響を与えたのか? (2)

問題: 著者の影響を解析する (1) まずは問題は何かについて考えてみたい. 私の友人がある著者が他の著者に与えた影響を解析する方法はあるかと私に尋ねた.たとえば,「Shakespeare が他の英文学の著者の与えた影響の大きさを数値化することはできるだろうか.」という疑問である. どの著作が正統であるか,というようなものに関しては昔から議論がなされてきたそうである.たとえば, http://en.wikipedia.org/wiki/Western_canon を参照されたい.しかし,これはある特定の人物なり団体がこれらの著作が正統であると定めたものであり,様々な議論の対象となってきた.正統なものの中での何らかの順位付けということになるとますます議論は複雑になり,結果として「何が芸術か」という問題になるととても私の手には負えない. 何が正しいのかわからないのであれば,最初の取りかかりとして,私がこうであると定義してしまってもかまわないかもしれない.しかし,それは私個人の好みを示しているに過ぎない.もう少し一般化して多数の人間の好みを調査することでどの著作が影響力が強いかということを示すことはできるかもしれない.人に好まれる本というものは,本が出版された数に関係すると仮定すれば最も多数出版された本が最も影響力の強い本ということになるだろう.ただし,私の聞いたところによると最も多く出版されてきた本は IKEAのカタログ ( http://en.wikipedia.org/wiki/Ikea_catalogue ) か Bible かという話であり,IKEA のカタログが文学に最も影響を与えたというのはどうも直感に合わないような気がする.IKEA のカタログは文学ではないというかもしれないが,どこから文学でどこから文学ではないというのも考えていくと難しい.出版数ではなく,売れた数を考えるという方法もあるが,新聞や雑誌の売上と影響力は関係はあるかもしれないが,それを基準に使えるかは難しい議論になる. 問題は簡単ではなさそうだ.どこから手をつけようか迷う.

マルコフ行列の中の著者達: どの著者がもっとも人々に影響を与えたのか? (1)

はじめに 文学に関して研究している私の友人が私に著者間の関係を解析するにはどうするのかと尋ねた.私は著者間の関係をグラフで示すことができれば,eigenanalysis が行なえると答えた.この手法は,Google が Web page 間の関係を 解析するのに利用している PageRank という手法と同じである.私はこの問題を Computational literature の問題としてしてとらえ,興味を持ったので,これに関していくつかの実験をしてみた. しばらくこの blog ではこのテーマについて書いてみたいと思う.

Vector projection and directional cosine

Abstract 計算してみるとそのとおりだが直感に合わないことに出会うことがある.私の場合,特に確率論でそのようなことが多いが,幾何学でもそういう場合がある.今回はそのような例を示そう. Vector projection and directional cosine 図1 に問題を示す.これは私の友人の Dietger が私に尋ねた問題である.任意の単位ベクトル \(\mathbf{h}\) が正規直交座標軸のある平面,ここでは\(\mathbf{e}_1,\mathbf{e}_2\)面に投影された場合を\(\mathbf{h}'\)とし,\(\mathbf{e}_1\)軸に投影された場合を\(\mathbf{h}_1\)とする.この時, \begin{eqnarray*}  \cos \alpha &=& |\mathbf{h}'| \cos \phi \end{eqnarray*} を示せというものである.この\(\cos \alpha\) と\( \cos \phi\) に \(h'\)の長さの比があるというのは私には直感的に奇妙に思えた. Figure 1. Two projections of an unit vector \(\mathbf{h}\). しかし,これは投影であるから,それぞれが \(\cos\) の関係がある.まずは \(\mathbf{h}_1\) は  \(\mathbf{h}\) の \(\mathbf{e}_1\) 軸への投影であるから \begin{eqnarray*}  |\mathbf{h}_1| &=&  \mathbf{h}\cdot\mathbf{e}_1\\  &=& |\mathbf{h}| |\mathbf{e}_1| \cos \alpha \\  &=& \cos \alpha \end{eqnarray*} である.また,\(\mathbf{h}'\) の\(\mathbf{e}_1\) 軸への投影が \(\mathbf{h}_1\)であることに気がつけば, \begin{eqnarray*}  \mathbf{h}'\cd...