位相空間

初めて位相空間のことを学んだとき、とても不思議な気がしたことを覚えている。

袋の中にビー球がたくさん入っている。赤いビー球、青いビー球、縞模様のビー球、不透明なビー球、傷の付いたビー球。傷のないビー球。1月生まれのビー球。6月生まれのビー球。ビー球の中にはいろいろな仲良しグループがあって、赤いビー球グループと傷のあるビー球グループがあるのなら、「赤くて傷のあるビー球」のグループもあることになる。

ビー球たちには、とにかくみんな仲良しになろうよ、という気分と、別にばらばらで良いじゃんという気分がある。

みんなを仲良しにしようと思うと、袋に手を突っ込んで適当な数のビー球を取り出したとき、どんな組み合わせであってもそれを新しい仲良しグループとして特別扱いすることができる。つまり、どのビー球も他のどのビー球仲間に溶け込めていつも誰とも仲良しになれるわけだ。ビー球たちは、こういう約束にしておけば、どのビー球も他のどのビー球グループにもいつもすっと溶け込めるので、みんな絶対仲間はずれにならないよなと思ったはずなのである。

ところが、気が付いてみたらどのビー球にも自分一人しか含まない仲良しグループができてしまっていた。、「赤くて傷のあって3月18日生まれのビー球」がひとつしかないみたいに。そういうときに、「じゃあみんあ、本当に一番大切な仲間だけの仲良しグループに分かれてごらん」と言われると、結局みんな一人ぼっちで孤独にばらばらになってしまうしかなくなってしまうのである。仲良しを極限まで増やそうとすると、最後にはみんなばらばらになってしまう。

反対に、「みんなたまたま同じ袋に入っているだけで、別に誰も誰とも仲良しじゃない」という醒めたビー球たちもいるかもしれない。みんな一匹狼を気取っているのだが、同じように「じゃあ適当に分かれてごらん」と言われてみると、右往左往しても結局どうにも分かれることはできず、全員がひとかたまりのグループになるしかない。こちらは一匹狼を気取っては見るものの、実際にはどのビー球も「ビー球」という以外の個性には意味がなくて全体が白いお餅のようにくっついたぺたぺたの塊になってしまう。

その後いろいろなところで、「仲間と本当の仲間」、という対立に気が付くことになる。Smalltalkのオブジェクトも然り。プリクラのシールを集めるだけの友達しかいない高校生も然り。一神教多神教も然り。数学の範囲にとどまらず、「物を分類するとはどういうことか」についていろいろと面白い示唆を与えてくれたように思う。

UCLAの授業

実際には、Alanは某所に出張中なので、今日は京大の社会情報基盤COE研究員で、HP Labsに滞在中の高田さん(id:naniman)がゲストレクチャーをしてくださった。以下は、高田さんの話の要約である。

高田さんの子供は3年生で、学校でコンピュータを使った授業もある。メールを送ったり、ウェブで調べ物をしたり、パワーポイントで発表をしたりするのだが、それは高田さんが子供のころの小学生が手紙を書き、百科事典で調べ物をし、ポスターを作って発表していたのと大差はない。コンピュータを使った知識活動を探す必要がある。

京都市ALAN-Kプロジェクトは2002年9月に、3年半のプロジェクトとして始まった。京都市教育委員会、京都ソフトウェアアプリケーション、Viewpoints Researchの人が協力してくれている。5校が選ばれて参加し、小学校で放課後のワークショップを開いたりしている。
最初に3時間かけてロボットカーまでやるワークショップをしたときの先生の反応を集約すると、「面白いけど、これによって1)子供が何を学び、それを2)先生はどうやって教えれば良いのか」わからない、ということであった。

自由課題をやらせると、男の子はゲームを作りたがり、女の子は絵を描いたりアニメーションを作ったりしたがる。

某吉正君のおたまじゃくし課題の例。乱数を教えるときも、

おたまじゃくし 回す: (11 - (乱数 21))

のように書くと一様な分布の乱数になるが、

おたまじゃくし 回す: (乱数 11 +(乱数 -11))

のようにすると、もうちょっとそれっぽく中央に偏りのある分散になる。きれいなeToysでその違いをグラフにして見せていた。聴衆からのコメントとしては、分布の違いなどを理解している先生は少ないだろう、というものがあった。

関数の概念を教えようというはてなボックスの例。大島は、図形の例は不適切だと思わなくはないのではあるが、数字のほうは良いと思う。

3竦み。なめくじが蛇を食べる、というのは謎だが、ナメクジとかえると蛇がいて、「もし自分が誰かを食べたら自分は食べられてしまう」という状況のため、スクリプトは裏で動き続けていても見た目は何も起こらない。複数の動作を並列に動かしておいて、全体の影響がキャンセルされて見かけ上止まって見えるというプログラムを子供が書けるのは面白い。

去年のTIDEコースからの例。小学校まで行ってやるのはやっぱりなかなか大変だ。

スーパーサイエンスハイスクール堀川高校での取り組み。モンテカルロ法によるπの計算、異なる惑星上で斜方投射したときの起動計算、衛星の軌道計算など、大学生がやるものよりレベルが高かったりする気はする。

締めは、いつもの5階層モデル。かな漢字変換みたいなリテラシーSqueakの基本的な使い方というリテラシーSqueakのうまい使い方、という基礎の上に、さらにやりたいことをプログラムとして書く、という能力があって、ようやく最後にやりたいことができるようになる。下のほうではなくて4番目と5番目のギャップを埋めるのが重要。

...というような話でした。