Skip to main content

Posts

Showing posts from 2013

ピラミッド(指数)のパワー(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. ヒトシ君の場合で,東京の人口を考慮して平均的に可能な収入を算出しなさい. 回答は次のポストで.

私はクーダムで私を襲って怪我をさせて逃げた男を探している

奇妙な紙をしょった男が駅に座っていた.彼の紙には次のように書いてある."Ich suche nach einem Mann, der mich am 5.9 um 0:40 Uhr auf dem Ku'damm tätlich angegriffen hat und dann weggelaufen ist. Er rief, dass er alle Ausländer, Chinesen und Japaner hasse. Wenn er wirklich dir Zukunft von Deutschland (und der Welt) retten will, dann kann ich ihm einen Job anbieten. Aber nur für kurze Zeit. Sehe sundayresearch.eu". 私の翻訳 「私は9月5日 0:40 にクーダムで私を襲って怪我をさせて逃げた男を探している.その男は全ての外国人,中国人に日本人が憎い.と言っていた.彼が本当にドイツ(と世界)を救おうという気があるのなら,私には彼に仕事を与えることができる.しかしすぐでないといけない.sundayresearch.euを見よ.」 A man with eyepatch. Zoom in to the message.

空白を含むコマンドラインオプションを bash スクリプトに渡す:$* と $@

私は bash にしろ C++ のプログラムにしろ,コマンドラインを処理する時にはできるだけ規則的なものだけにして極力簡単で済ませるようにしている.たとえば,全ての引数は '-arg_key value' のようなものであり,たとえ必要なファイル名であってもできるだけこの規則に従うようにしている.この場合,コマンドラインのオプションは必ず key を持つのでその結果は map に入れておけば良い.こうするだけでパースのコードは驚くほど簡単になり,getopt などを使う必要もない.また,コマンドラインのサポートはできるだけ簡単にしてできるだけconfig ファイルを用いることにしている.というのは,1つはこの方法では負の数値の指定に困るからであり,もう1つはテストなどでの再現が簡単だからである. しかし,この方法はコマンドラインオプションの value が空白を含む場合には問題が起きる.できれば config file だけですませたいが,そうもいかないこともある. そのような例を示そう. たとえば vector 値を渡したい場合に command -eye_position '0 0 -10' -up_vector '0 1 0' とするような場合を考える.C++ のプログラムを手動で起動する場合には問題はないが,これが test case などで shell script や python から呼び出したい場合には注意が必要である. この例を test_1.sh に示す. -- test_1.sh -- echo "call with two args, but the second one has spaces." echo "./test_2.sh args0 'args1_1 args1_2 args1_3'" ./test_2.sh args0 'args1_1 args1_2 args1_3' -- test_1.sh -- 呼び出される test_2.shはコマンドラインがどのように解釈されるかを示す. -- test_2.sh -- echo "show the args

Myron Krueger の驚きのデモ 1988.

インタラクティブアートや virtual reality のさきがけということである.既に二本指を広げることで画像を拡大したり,指で画像を移動させるという,今ならタブレットやスマートフォンでよく見ることが実験されている.(4:30あたり) http://youtu.be/dmmxVA5xhuo?t=4m30s しかし,ちょっと変だと思ったのは,昨年の訴訟ではこれは Apple の発明の1つであり,Samsung はこれらによって 10 億ドルを支払うという話があった. http://itpro.nikkeibp.co.jp/article/NEWS/20120827/418281/?ST=smartphone この発明は Apple の 2005 年の発明であるそうだ. さらに不思議なのは,このズームのジェスチャーを 1993 年に発明したという人があらわれて,Apple に勝訴しているということである. http://easthamptonstar.com/News/2013829/Springs%E2%80%99-Own-Beats-Apple Myron Krueger のデモはいくつもの意味ですごいものだ.それ自身のすごさがあり,そしてこの訴訟の無意味さを示し,特許制度の破綻まで示している.

マララ・ユサフザイ国連スピーチ字幕(日本語・英語)

子供達の教育を訴えたため,昨年の10月にタリバーンの銃撃にあい,奇跡的に回復したマララ・ユサフザイ.16歳になったばかりの彼女の国連の全スピーチに字幕をつけました.英語と日本語の字幕があります.HTML5 JavaScript 対応のブラウザ(Firefox, Chrome, IE10, 等)でご覧下さい.もしこのページでビデオを見ることに問題がある場合には, こちら のページをお試し下さい.

参院選

今日私は大使館を訪ね,参院選の投票をした.昨今の報道は自民党の圧勝とその後の原発の再稼動についてしきりである.私は今回,日本の終焉というものを感じる.原発のことではない.人々の精神の変化である. かつて日本が災害に面した時,人々は助けあい,新しい技術を開発し,そして街を再建してきた.しかも以前以上のものを再建してきた.災害は苦しく大変なものにもかかわらず,かつての日本人はそこから立ち直り,しかもそれをばねして次のレベルに進む原動力にするほどの底力を持っていた.今回福島には街の再建はまだならず,新規エネルギーのめどは立たず,一歩下がって原発に頼ろうにも,高速増殖炉もプルサーマルも遅れている現状で,原発自身の未来すら見えない状況である.核融合の実現予定ははるか未来である.過去の遺産のエネルギーに頼るのが政策となる...かつての日本の底力はどこにいったのだ? 死にかけているのにそれに気がつきもせず数年の延命に頼るようになったのはいつからなのだ?いつから未来が見えなくなったのだ? 私は自分自身に,「日本というのは一つの国でしかなく,世界全部に比較したら小さなものである」と言ってきた.それでも,それが滅ぶのは見たくない.こういう感情は知らなかった: かつて栄えたすばらしい国が滅んでいくのを見るのは,悲しい.特にそれが自分の育った国であれば.

Why does he need to run.

Edward Snowden が逃亡中です.私は最初思いました.何故逃げる? 大統領が彼の言っていることはそのとおりと言った今,なぜ彼が逃げる必要がある? 以下は私の思考実験です.もしかしたらあまり気分が良くないかもしれません.それは私の思考実験は人間性まで無視することがあるからです.ですから私は通常これを人に見せません.今回ここに書くのは,私は彼が害を受けるのを見たくないからです. 「彼を殺す価値はない」と私は最初思いました.もし誰,あるかはどこかの組織が彼を殺すとしたら,その効果は何を狙ったものになるだろうか. 私は2つの彼を殺したい動機の可能性があることに気がつきました. 一つめは政府です.ドミノ効果を避けるためです.第二第三のSnowdenの出現を妨げるためです.しかし,これはあまりにも明らかで,もし政府が彼を殺したら,どういいわけしても世界が責めるのは必至です. 二つめはこれを利用しようとする政府を貶めようとする組織です.最初の動機があまりに簡単なので,もし政府を貶めようとする組織であれば,彼を殺し,そして政府を責めるでしょう.「見たか,政府のしわざだ.あの政府こそ邪悪なのだ.」と. ここまで考えると,彼の命の重要性がますます増してきます.私でさえこのようなシナリオを想像できるのですから,これを政府が逆手に取ろうとするかもしれません.そして政府は二番目のシナリオを宣伝し,対抗組織を貶めようとする. 彼は今は逃げなくてはいけません.しかし,もし彼が死ねば,政府を疑う人がいるのは避けられません.そこで私は政府に提案します.彼を守るべきです.そうでなければ,あらゆる反対者がこの機会を利用しようとするでしょう.

私は教育がほぼ唯一世界を良くする可能性と信じています.一緒にやりませんか.

この手紙は,先日私が以前一緒に東北大震災の津波の募金活動をした友人に送ったものです. 皆さん. おげんきですか.長いことお会いしていませんね. 私は今出も東北の津波の被害の人達のことを気にかけています.しかしほとんどの皆さんにはもう古い話でしょう.そうであれば,この手紙を読む必要はありません.既に次の何かに挑戦していらっしゃることだと思います. でも,また気にかけている方,ようこそ.ついに私は一つの考えに至りました. おにぎりの活動中,片親,両親をなくした子供達が学校で授業についていけないという記事を読み,それがなかなか頭を離れませんでした.私が子供達への支援を固執していたことを覚えていらっしゃる方々もいるかもしれません. 私は教育こそが唯一世界を良くする可能性のあるものだと信じています.教育さえしていればいいというわけではありませんが,私には教育なしでは未来を見ることが難しいのです.しかし言うのは簡単,実際に何をしたらいいのか長いことわかりませんでした.数ヶ月前に,私は同じような考えを持ち,しかし,方法を持っている人達の活動を知るに至りました.彼らは既にそのためのシステムを作成し,世界の誰もが無料で利用することができます.しかし,彼らは助けを必要としています. その組織はカーンアカデミーと言います.その趣旨は,次のようなものです.「カーンアカデミーは現在その使命を実行中の組織です. 我々は営利企業ではありません. 世界レベルの教育を誰にでも, どこにでも無料で提供することによって教育そのものをよりよくすることが我々の目的です.」私はこのシステムを利用して4ヶ月ほどですが,とてもすばらしいと思います.今,私はここで生物学,歴史,そして数学の授業をとってほぼ毎日学んでいます.ただ一つ残念なことは,英語のシステムしかないことです.しかし,先月からこのサイトの翻訳活動を誰もが協力できる環境が整いました. このシステムを利用している人達は何百万人を越えています.このシステムが日本やドイツの子供達も利用できたらいいと思いませんか.私にとってはこのシステムが英語であるが故に利用できないというのは悲しいことです.私はかつでの Berlin で語学を学んでいた友人が,翻訳によって人々がより良く理解できることのすばらしさを言っていたことを羨しく思い

Fascist hunter

Kilgore Trout ほど有名ではないが,売れないことに関してはおそらく同等の友人が書いた小説に「Fascist hunter」というものがある. Umaya は Fascist hunter である.Fascist hunter は「真のFascism」と呼ばれる人々をみつけ逮捕する賞金稼ぎである.真のFascistたちをみつけることは困難である.通常彼らは普通の市民と見分けがつかない.それに手を焼いた各国政府は真のFascist達とその組織に賞金をかけている.真のFascistは組織立っているらしい.Umaya の世界では人々は生存時間に税金を払う必要があり,支払いがとどこおると,suspend されてしまう.ただし,5年に1年は税金を収める必要がない.彼は一度事業に失敗し,4年間冷凍睡眠させられていた. 彼は自己の幸福の追求のために,手っ取り早い収入として,危険はあるがハンターとなることを選んだ.ハンターたちは思想強化装置を脳に埋めこむ必要がある.なぜなら,真の Fascist 達は洗脳をすると信じられているからである.ハンターのうちで真の Fascist 達の仲間になるものが絶えない.この装置は,個人の自由と個人の幸福の権利こそが最重要なものであるということを脳に感じさせ,洗脳に抵抗することができる. 真のFascistたちは,普通の市民に見えて,時に市民を殺害することがある.今回犠牲になったのは,巨大電力会社の役員と農作物の種を生産するバイオ会社の主任研究者である. Umaya は苦労の末,真のFascist の一員と思われる Leuko という医師に接触することに成功する.彼は身分をいつわり,真のFascist に興味のあるふりをしている.Leuko とその友人達はなかなか正体を示さない.Leuko たちは,学校を尋ね子供達に生物学を教えたりしている.Umaya は一度,Leuko の公開授業に呼ばれる.Umaya は彼らが公開の授業で何か洗脳をしていないだろうかと疑う.授業では細胞の増殖の話がある.子供達は興味深く Leuko らの話を聞いている.細胞はあまりに増殖すると,増殖を自分で抑制したり,あるいは自分自身に異常をみつけると Apoptosis という自殺をする.それによって他の健康な細胞を生かすのである.細胞自身が自分

選択されない男

Kilgore Trout ほど有名ではないが,売れないことに関してはおそらく同等の友人が書いた小説にこんなものがある.SF なのかロマンなのかちょっとわからない.タイトルは「選択されない男」である. 主人公はそこそこ成功しているビジネスマンである.しかし,彼は見た目には魅力的であるが,女性に関してはうまくいった試しがない.実は母親も彼の姉妹達も彼とは距離を置いていた.  ビジネスの世界での成功はあまり彼に喜びをもたらさない.何が彼に喜びをもたらすのか,様々な趣味を試し,世界を見てまわり,結局彼の町に戻ってきて考えたのは,子供に何かを教えるということだった.彼は教育以外に世界を良くする方法をみつけることができなかったのだ. 彼は彼のビジネスをやめ,彼の財産をはたいて小さな学校をつくる.彼は彼の夢を追いながら,それを共有してくれるパートナーを探すが,やはり上手くいかない.彼が素敵だと思った女性は常に同じ答えを彼に返す「あなたは素敵で,私はあなたを好きだけれども,それは友達としであって,人生を共有するのは何となく正しいことではないと思うの.」  ある日彼は Berlin の白熊の話を目にする.Knut という熊は母親から見捨てられる.また,複数の雌熊と暮らすが,つがいをつくることはなかった.その熊が溺れて死に,彼は脳の病気であったらしいということがわかる.ある動物学者は私見としてではあるが,これが原因で母熊から見捨てられ,雌熊もつがいをつくらなかったのではという仮説を述べていた.  彼はそれを見てあることを思う.彼も脳の病気を持っている.女性達はそれを感じるのだ.彼は自分の子供を持ち,その子供に世界を教えることを夢見ていたが,それがかなわないと考える.そして,ある日,部屋を黒いテープで密封して死んでしまった. この話における選択とは natural selection である.natural selection で選択されない男の話である.概要では上手く伝えられないが,主人公の苦しみは,誰にも受け入れられないまま生きることの苦しみであった.主人公の脳の問題は特殊で,女性達はそれを直感的に感じてしまうのだ.彼の魅力は認めているが,ただただ「何か正しいことではない」と感じるのだ.彼は人類のために生きるが,自然選択からは外されている.これは思考実験

記憶漏れ

Kilgore Trout ほど有名ではないが,売れないことに関してはおそらく同等の友人が書いた SF 小説にこんなものがある.ここに書かなければおそらく誰も知らないままであろうから,本人の許可を得て概要をここに記す.本のタイトルは「記憶漏れ」である. この小説の主人公は,生まれかわりを研究している.その世界では生まれかわりと呼ばれているが,実際には記憶の共有であることがわかってきた.主人公は二人の過去の記憶を持つ人もいることを発見する. ある日,主人公自身が,自分の娘と一部の記憶を共有していることに気がつく.つまり記憶の共有は過去の人間である必要はない.ある日,彼の妻と娘が宇宙飛行中に事故にあう.娘との最後の記憶の共有は彼に一つの仮説を与える.それは世界が現実の世界ではなく,仮想世界のシミュレーションであるというものである.悲しみの中,他人からは狂ってしまったと思われながら,彼は,この世界のシミュレーションに何らかのバグがあり,それが人の記憶のリークとして観測されるというものをつきとめ,それを利用して娘と妻をとり戻そうとする. 仮想世界についてはいろいろな SF がある(魔法が使えるシミュレーション世界や,タイムマシンが使えるシミュレーション世界など)が,生まれかわりはシミュレータのバグであるというのは面白いと思った. This work is licensed under a Creative Commons Attribution 3.0 Unported License .

Math objects on programming (2)

単純な組合せを生成することは前回で述べた.しかし,私の仕事では,GPU という高速ではあるが,メモリサイズが小さい計算機を使う必要がある.ここでの data size は GB の単位であり,64 GB とか 512 GB というのは現在のところ,一台の GPU には収まらない.512 GBは我々の使っている一台の計算機の実メモリにも収まらない.そこで,何十台かの計算機に複数の GPU を搭載して,それを協調して使うわけである.ほとんど全ての我々のクライアントは計算機の台数と性能の関係についての情報を要求する.それは我々のクライアントは特定の問題を解く必要があり,そのためには何台の計算機と何台の GPU を購入する必要があるかを知りたいためである.したがって,計算機を何台使ったかについてプログラムのデータ処理のスループット性能がどうかを見たい.そこで,計算機の台数を新たなパラメータとする. data_size_list = [ 5, 64, 512, ] screen_resolution_list = [ '2560x1440', '3840x2160', ] node_count_list = [ 1, 2, 4, 8, 16, 32, 64, ] しかし,データがメモリに収まらなければ遅いことは確実にわかっているので,テストに際しては計算機の台数は data size によって変化させたい.ループの場合には,不要なものを filter out するということが簡単に思いつく.以下のようなプログラムになるだろう. for d in data_size_list: for s in screen_resolution_list: for n in node_count_list: # FILTER: filter some cases. # assume one node can handle # 64G, but not more if (n * 64 < d): continue item_list = [ d, s, n, ] comb_list.append(it

Python PIL experiment (a image comparison tool) continued

numpy and PIL 実際に画像に適用してみた所,1024x1024 の大きさの画像では処理に 6 秒程度,消費するメモリサイズは230MBなのだが,3840x2160の画像を利用すると,2.3GBのメモリと263秒の時間がかかることがわかった.この2つの解像度はpixel の数で言えば 8 倍程度で,メモリの処理が比例しているのは良いとしても,処理の時間がかかりすぎる.また,メモリの消費量自体も多すぎる.私はプログラム中で3つのバッファを使っているだけであり,1024x1024の場合には 10 MB程度,3840x2160 の場合には,72MB程度と思っていた.しかし,30倍ものメモリが消費されている. プロファイルの結果,最内ループの tuple の生成と abs 関数にほとんどの時間がかかっていることがわかった.そこで,この部分を numpy で書くことにした.結果を以下に示す.Intel Core i7-2720 2.20GHz Linux(Kubuntu 12.10, kernel 3.5.0-27), Python 2.7 における結果である. native  230MB, 6.0 seconds for 1024x1024 image numpy 110 MB, 0.21 second for 1024x1024 image native  2300MB, 263 seconds for 3840x2160 image numpy 320 MB, 1.18 second for 3840x2160 image 計算速度は 30 倍から200倍に, メモリサイズも 50% から 15% の消費量と激減している.実は最初の実装では倍程度にしか高速化できなかったので,私は多少失望したのであるが,profile した結果,非0の要素をカウントするための sum関数がほとんどの時間を占めていることに気がついた.この sum 関数は pythonのbuildin のもので,おそらく numpy の data 構造から毎回値を取り出しては計算しているのであろう.これを numpy.sum に変更した所,ほどんどの時間を占めていた sum 関数の消費時間が profile ではほぼ 0 になり,200倍の高速化が達成された.これは m

Python PIL experiment (a image comparison tool)

概要: Python の画像 module PIL を使ってみた. Python PIL module Python には画像ファイルを処理するのに便利な Python Imaging Library (PIL) という module がある.今回はファイルフォーマットは異なるが,内容が同一かどうかをテストしたいという状況にあった.たとえば,テストの参照となるファイルは圧縮されているが,それと比較するファイルはそうではないというようなものである.convert などのツールを使うということも考えたが,時には使ったことのないツールを使ってみるのもよいだろうと PIL で画像を比較するツールを書いた.

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*} である.二番目の条件の意味は,既に \(k-1\)の集合から1つづつ要素をとった組合せのリストが生成されているのであれば,\(k\)個の集合のリストを生成するには,\(k\)番目の集合から \(a\) を

Hasenschule: A girl who invented a matrix.

行列を発明してしまった子 C は教えていてとても面白い子である.6ヶ月前にはいつも泣いていた一桁の足し算に苦労していた子である.しかし今は3桁の引き算もこなす. 今回,彼女が解いていた問題を図 1 に示す. Figure 1. The question. 私はこの答えが次の図 2のようなものだったらとてもうれしいと考えた. Figure 2. Expected answer 私が他の子を見ている間,彼女はどうやら集中して計算しているようだ.私はどうやっているのかと彼女の机に近付いて見たものは,なんということだ,行列だ!(図3). Figure 3. A matrix is invented. 私は彼女に,「ちょっと待った.これは自分で考えたの?」と聞いたら.「もちろん,どこか計算を間違ってる?」という答えであった. 私には計算はどうでもよかった.彼女が自分でこのように答えを並べたことに驚いたのである.問題の2つの数字の組はどちらも横に並べてあったものである.片方を縦にしてそして,全てに適用する演算子を一つだけ左上に書き,答えを表にして並べたのである. こう書くのはとても合理的である.図4にどれだけ無駄な繰り返しが図 2にあるのかを示した.まず,各数字は3回コピーされている.'+'と '=' の記号はそれぞれ9回コピーされている. Figure 4. Unnecessary duplications 彼女の書いた図3の上図を見ると,全ては '+' なのであるから'+'は一回だけ書かれている.これもすばらしい,下図には '-' が書かれている. この図3にはコピーされている数字は一つもない.必要最小限でかつ十分な情報が書かれている.人はコピーすると間違えるものであるから,このように書く方式が長い年月を経て洗練されてきた.Excel などのスプレットシートを使う人ならば,どうしてこのように書くのかご存知であろう.そしてそれが図 2よりもずっと便利であることもご存知であろう. 彼女はどこかでこれを見たのかもしれない.たとえそうでも私は彼女がこのように書く方法を自然に思って疑問なく書いたことにとても感激した.それで私は金のシー

Hasenschule: Was bedeutet das? Bitte erklären das mir. What does it mean? Please explain me that. (3)

Case A. もう一つのケースは A 孃である.彼女は幾何を勉強していたが,たまたまそれをRechtschreibung の M 先生が教えていた.直線(Gerade)が交わる点(Schnittpunkt)はいくつあるかという問題である.図には交差点が強調されているのだが,A 孃はどうしてもわからないらしい.M 先生は私に A 孃を助けるように頼んだ. 私は毎回同様,「直線って何か説明して?(Bitte erklären mir was ist Gerade.)」と頼んだ.A 孃の答は,「直線は直線です.(Gerade ist Gerade.)」である.まあ,予想した通りではある.そこで私は尋ねた. 「学校で習った直線は終わりがありましたか?ずっと続いているとかいう話はありましたか?」「直線はずっと続いています.」なるほど.では彼女は直線と半直線と線分を習っているわけだ.次に,交差点(Schnittpunkt)というのは何かな? と尋ねると,しばらく考えた後に,知らないという答えであった.交差点というのはどういう意味か知らなければ,それに答えられるわけがない.実は私もSchnittpunkt というのが交差点という意味だとは知らなかったので,他の先生に尋ねた.さて,これで問題がわかった.そこで質問に戻ったら,何の問題もなかった.問題の図では線が途中で止まっているにもかかわらず,彼女は三本の直線の交差点が 0, 1, 2, 3 の場合を全て正しく分類した. 問題が何かわからないことは結構多い.彼女は家では英語とスペイン語を使っているらしい.問題の意味がわからないということを,自分でみつけられるようになって欲しい.と私は願っている.私はまた授業で,「この問題がどういう意味か説明してよ」と生徒さんに尋ねてまわるのである.私が問題の意味もわからないかわった数学の先生と思っている生徒さんもいるようだが,実はまったくその通りなのである. 何日か前,たまたま私の算数の授業に来たのが A 孃だけであった.彼女は他の先生に習っていたので,私は彼女の暦の計算をずっと横で見ていた.そこには,Schaltjahrという言葉があった.私は彼女に,Schaltjahr とは何かと尋ねた.それは上手く説明してもらえた.そこで次になぜ,Schaltjahr と言うのか,いっ

Hasenschule: Was bedeutet das? Bitte erklären das mir. What does it mean? Please explain me that. (2)

Case S S 嬢はかけ算の問題を解いていた.黒パン一つが 2.9 ユーロなら,次の数量2,4, 6, 8 ではいくらでしょうか? という問題である.図 1 がその問題である. Figure 1. Case S. question. 彼女は最初のAnzahl (数量) 2 に正しく 5.8 ユーロと答えた.(ドイツあるいはヨーロッパのいくつかの国では小数点にカンマを使うが,本文ではピリオドを使う.) 私は,なるほどと思ったが,次の数 4 を計算するのに,彼女は 2.9 x 5.8を計算している.そこで私はなぜそうするのか尋ねた.(図2にその跡がある.) 彼女はそうするべきだと思っているらしいが,理由は彼女にもわからない.そこで私は,図 2 を書き,4つのパンを買う時には,4 x 2.9 を計算するように説明した. Figure 2. How to calculate the price? 彼女が最初にやったのは,私の図を修正することである.彼女はパンに影をつけ,よりリアルなパンを描いた. しかし次の問題,数量 6 でまたわからないという.私は不思議に思った.彼女はかけ算の概念をわかっていないのだろうか? 私は質問を普通の文で書くようにとお願いした.問題を正しく表現できるかをみるためである.しかし,それもどうもわからないらしい.私は例として,図2 にあるのだが,問題の意味は,「2.9 ユーロのパンを4つ買いたい,いくら支払うのか」と意味であるとした.彼女はそれはわかるのだが,しかしそれがなぜ今の問題と結びついているのかがわからないらしい. 問題にある言葉を一つづつ尋ねていった.「黒パン」は何か知っている.2.9 ユーロも問題ない.次に私は,「数量って何? (Was ist die Anzahl?)」と尋ねた.「知らない.(Ich weiss nicht.)」という答えである.なるほど,考えてみると私も良く知らない.そこで,「多分,いくつという意味だけれども,他の先生に尋ねてみよう」と他の先生に尋ねると,私の想像は正しかった.彼女は「ああ,いくつあるかという意味なの.(Wie viel Stück)」 その後,6個,8個の問題は彼女には簡単だった.何がわからないかをみつけるのはなかなか難しい.しかし,問題はこんなところにあるこ

Hasenschule: Was bedeutet das? Bitte erklären das mir. What does it mean? Please explain me that. (1)

生徒さんが私に問題について尋ねると,私の答えはたいていこうである. ``Was bedeutet das? Bitte erklären das mir.'' 「それはどういう意味なのかな.説明してくれる?」 私は続ける. ``Mathe ist eine Sprache. Es gibt eine Bedeutung.'' 「数学は言葉の一つです.何か意味があります」 生徒さんに説明してとお願いすると,時には「生徒が教えるんじゃなくて,先生が教えるものだ」と答えることがある.なるほど.しかし私は実は説明することも学んで欲しいのである.それで,「それはどういう意味?」「それは本当なの?」「説明してよ」と尋ねるのである. 時には,「私が答えを教えてくれない」,「助けてくれない」と泣き出す生徒さんもいる.私は,「答えはそんなに重要ではないんだよ,この問題を解いてもらうのは,どうやったら学べるかを学んでもらう練習なんだ.君らにはいつか人類がこれまで直面してこなかった問題を解かねばならない時が来る.私はその時にどう考えるかを教えたい.私の助けがいらなくなるように勉強して欲しい.だから考えてみて」と思いつつ,私自身も新しい問題をどう解くのかを勉強している身なので,こう断言できるのか不安がある.そこで,「泣かなくても大丈夫,ゆっくり考えればきっとわかるよ.今日できなくても明日がある.答えが正しいかそんなに重要ではない.重要なのは理解したかどうかなんだ.」となだめている.ところでドイツ語では正しいがrichtig で重要が wichtig であり,私がこれを上手く言えないとおかしいらしい.(Richtig ist nicht so wichtig.) 5ヶ月前にはいつも泣いていた常に 5 の成績だった子が,今は成績 2 になったのがとても嬉しい.(ドイツでは日本とは逆で 1 が最高の成績で,5 が落第である.) 今回は,2つのお話を紹介する.

Web hosting story: Could you google your company's advertisement?

今回,Web hosting の必要が生じたので,現在のプロバイダの契約にこれが含まれていたので,これはいいと試してみたが上手くいかなかったという話である. 私は契約の解除期間が短いために 2009年から Alice をプロバイダとして選択して利用している.Alice には comfort という契約があって,当時,毎月15ユーロほど余計に支払うと,30秒以内にサポートにつながるというサービスがある.私はこの契約を結んでいる.当時トラブル時にこのサービスを使って,サポートの良さに満足していた. それは 2009 年頃の話である.その後 Alice は O2 の傘下に入ったが私はトラブルもなかったので,同じ契約を続けていた. 今回は O2 の ftp サービスを使いたいと思ったがどうも上手くいかないので,いろいろと試すこと数日,クライアントを変更する,クライアンド側のOS を変更する,アクセスポイントを変更するなど,Forum を探す,などかなりの時間を費してしまった.まったく動かないのではなく,接続自体は成功するのだが,数秒で切れてしまうのである. この時点で O2 に電話をしたが,なんと担当の人は ftp を知らないようだ.他の担当は夜間は対処できないので,朝にしてくれという.私は朝にまた電話をかけたが,その担当も ftp が何かを知らない.私は,``Koennen Sie googlen ``O2ftp homepage domain''? Dann Sie sehen Ihre Werbung. Das funktioniertnicht.'' 「O2 ftp homepage domain でグーゴル検索すると,あなたの会社のFTP サービスの広告がでてきますので,ご覧になって頂けますか?それが上手く動かないのです」と尋ねた. ところで,これがその Page である. http://hilfe.o2online.de/t5/o2online-Login/o2-Mail-DSL-Festnetz-Homepage-und-Domain/ta-p/273952 その結果,今サービスのマシンの不調があるので,後ほど試して欲しいということになった.しかし,その後二日間は結局使える状態にはならなかった.

マルコフ行列の中の著者達 Part 2 (11): 付録

付録 A: Unicode and Python 2.7.x 今回 Python 2 にて Unicode の処理をする必要が生じた.これは日本語の Web page やドイツ語の Web page の処理のためである.実際には英語の Web pageにも accent のある文字が出現することがあるので,Unicode は避けて通れなかった.プログラムの開発中に,UnicodeDecodeError と UnicodeEncodeError というexception に悩まされたので,これを解説しておく. How the Unicode encodes characters? Unicode は私の理解するところ,2つの map を使う coding system である.これはどのようにこの体系を理解するかにもよる.私はこの調査をするまではこのことを知らなかったので UTF-8 などという coding system があると誤解していた.UTF-8 というのは Unicode をどのように codeするのかという mapping の手法の一つであって,Unicode そのものではない. Unicode: a map from characters to code (numbers) UTF-X:   a map from Unicode encoded data to a specific data Unicode そのものは code point と呼ばれる番号と文字の Description の単一のmapである.たとえば. 0x0061 'a'; LATIN SMALL LETTER A である.ここで0x0061 という数字が code point である.これが font に map されると,図形としての文字が表示される.図形としての文字は glyph と呼ばれる.Unicodeのmap は bijection であるので,文字 a は code point 0x0061 へmap されるとも言える. この code point が Unicode,つまりある数を特定の文字への code している.しかし通常この Unicode の code point は使われない.通常使われないという意味は,

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

結論 どの著者が Literature に影響を及ぼしているかを調べるため,Wikipedia のlink 構造を抽出し,それに PageRank アルゴリズムを適用した.その結果は表に示した通りである.また異なる言語の Wikipedia のデータを同じカテゴリ(今回の例では著者)に関して適用することで,各言語の Wikipedia 間の違いを見ることができた. 個人的に面白いなと思ったのは,たとえばイギリスの著作家に Winston Churchil や Issac Newton が入っていることである.今回始めて Winston Churchil はノーベル文学賞受賞者であることを知った. Computational Literature 私は最近,言語や文学を理解するために,情報科学あるいは数学的なアプローチを用いている.Bren'e Brown は彼女の TED talk で ``Maybe stories arejust data with a soul.'' と述べた.もしかしたらそうかもしれないと思う.ただし,私は soul が data にかすかな影を落としているように思えてならない.もちろん,現状ではこの影から soul を再構成することなど到底できそうにない.それでも,すばらしい作品は私の心を動かす.本を読むというのは,ある意味,ただ単なるデータ,シンボルの列,を読んでいるだけなのに,感動が起こることは確かにある.私はこの魂の影がデータの中にあるのではないかと思って,このようなアプローチを試してみることがある.今回の著者の文学界への影響というものも,その一種の試みである.私はこのアプローチを何と呼んで良いのかわからないのだが,他に良い名前を思いつくまで仮に,これを計算機を用いた文学へのアプローチという意味で, Computational literature と呼んでいる. Future work 議論で述べたこと含めてまとめておく. Wikipedia の著者による bias はあるのか どのように自動でデータを取得するか.カテゴリの問題を避ける方法はあるか. PageRank 以外のグラフ構造解析アルゴリズムを用いてはどうか. Marix が full rank でないこと

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

今回も結果に関する議論の続きである. No link found problem ドイツ語の Wikipedia での日本の作家には人物の Link 切れの問題が印象として残った.これは数を調べたわけではなく,調査中に見うけた問題である.伸ばす音の人物のリンクが切れていることが多いという印象を持った.たとえば,良寛(Ryōkan)に言及している page がリンクのキーを Ryokan にしたり,漱石(Sōseki)に言及している page が Soseki にリンクを張ったりしているため,リンク先の page が見つからない.このような伸ばす音のある作家へのリンク切れが目についた. Cross reference between Wikipedia ドイツ語と英語の Wikipedia では,同じ Latin 文字の表示を用いているため,cross reference を作成することが容易であった.しかし,日本語はイギリスの著作家であってもキーとして日本語の文字を利用しているため,Crossreference をプログラムで作成するには,日本語から英語への変換の map が必要である.これを正しく作成することは手間がかかるので,今回は見送った. Correlating with other data 友人と議論しているうちに,今回の結果と他のデータとの組合せをみたい項目がいくつかでてきた. Nobel prize winner と Pagerank の結果の関係 Wikipedia の著者と Pagerank の結果の関係.特に Wikipedia の著者による bias というものがあるのかどうかに興味がある. Johann Wolfgang von Goethe is 10th in Japanese Wiki Johann Wolfgang von Goethe が日本語の Wiki では10 位と意外な低さだったことである.しかし,日本語の ドイツ文学に関するPage でネットワークを構成するページはわずか 31 ページしかないので,わずかなページが強い影響を示す可能性がある.ちなみに日本語の Wiki でのドイツ文学者の一位は Gerhart Hauptmannである. 長かったこのテーマも終わりに

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

Wikipedia's Category problem ここで言うカテゴリ問題とは,期待した人物が Wikipedia によっては異なるカテゴリに属しており,データの取得に失敗している問題である.以下のsubsection で示すような問題が判明した.これらに関しては何の処理もしていないので,たとえば,「Shakespeare が日本の Wikipedia 解析の結果では英国の文学者としては存在しない」というような問題でもそのまま結果に示した. 私は趣味でこのような調査をしているため,データの取得はできる限り自動で行いたい.そのため,今後どうやって自動でデータを取得するかは課題として残った. No Shakespeare in Japanese Wikipedia result Shakespeare はドイツ語,英語共に英国の著者としては一位であったが,日本語の Wikipedia の結果には Shakespeare が存在しない.調べた所,日本語のWikipedia では Shakespeare というカテゴリが存在し,イギリスの著作者に分類されていない.そのため,今回のようにroot page を指定した方法ではこれらの作家は存在しないことになってしまった. 図 7 にこの Page を示す. Figure 7: The category of English authors page in ja.wikipedia.org as of 2012-11-19. イギリスの小説家のカテゴリ ハーバート・ジョージ・ウェルズ シェイクスピア ジョージ・バーナード・ショウ ジョージ・ゴードン・バイロン ウィリアム・ブレイク オスカー・ワイルド これらが同列の階層に位置するため,ウェルズ,シェイクスピア,ショウ,バイロン,ブレイク,ワイルドはイギリスの小説家に分類されていない.これは日本語の Wikipedia 固有の問題であり,他の言語の Wikipedia にはない問題である.(ここで問題というのは,我々が「イギリスの小説家一覧」という一覧にこれらの人物も入っていると仮定したことから生じる.我々は実験を始める前にこの仮定は妥当だと考えた.) No Shiki Masaoka in the J