研究ブログ

研究ブログ

ウォーターパールの仕組み:水の形編

なんだかタイトルが鬼滅の刃っぽくなってしまいましたが、今回は、ウォーターパールで水の形がなぜグネグネなるかについて説明します。この発端は、久しぶりにきたウォーターパールに関する質問でした。以前、同様の質問がきたときに「ウォーターパールの仕組み」にまとめたつもりでしたが、前回も今回も、質問した方は二つの違う現象についてを混同しているようでした。私のほうは、水が上昇して見えたり、止まって見えたりする現象(これをウォーターパールと呼ぶことにします)のほうに興味があると思いこんでいたので、もう一つのほう、つまり、水の形がグネグネして見える現象については説明していませんでした。後者の現象に名前がついているかどうかは分かりませんが、原理から考えて、ここではこのグネグネと水の形が変形する現象を「振動する水」と呼びましょう。

まずは、ふたこれら二つの現象がよく分かる動画(Amazing Water & Sound Experiment #2)を見てみましょう。上記のエントリにも貼ってあります。また、二人の質問者のどちらとも、この動画を見たようでした。

まず、「振動する水」が約20秒あたり("produce 24hz sine wave and adjust volume"という字幕が表示されて)から約1分5秒あたりまで、この現象だけが見えます。このあと1分6秒あたりで"25hz forward effect"と出てから、この現象に加えて、「ウォーターパール」が確認できます。つまり、グネグネと水の形が曲った上に、通常のスピードよりゆっくり水が落ちているように見えます。これは、動画をスローモーションにしているわけではなく、普通のスピードで再生していて、このように見えています。

この後1分45秒あたり("23hz reverse effect"の字幕)から、水が上に昇っていくように見えます。これが特殊効果や編集でないことは、1分50秒あたりで、実物の水が地面に落ちているにもかかわらず、水が上に昇っている様子が写されていることから分かります。

ウォーターパール現象の説明は、冒頭でリンクした別エントリを見てください。ここでは、もう一つの「振動する水」を説明します。結論から言うと、この現象はホースを振動させているから、水の形がそれに応じて変わっているだけです。ホースを手でブンブン振動させたら、出てくる水の形が変化するのと同じです。この動画では、手ではなく、スピーカーを通して音の振動をホースに伝えています。動画の最初のほうで、ホースをガムテープのようなものでしっかりスピーカーに固定しているのが確認できます。

ただ、音の振動による物理的な振動の振れ幅はそれほど大きくないので、振動を与えているようには見えないかもしれません。ある程度近くでスピーカーを見るか、触らないと、物理的な振動には気付かないと思います。この動画では1分30秒前後で、水の出てくるところをズームアップしてくれているので、ここを注意深く見ると、ホースが物理的に動いているのが分かります。

この振動は正弦波やサイン波、サインカーブなどと呼ばれるもので、数学的には三角関数のsin(x)の形をしています。実際、字幕にも"sine wave"(サイン波)と表示されています。普通の生活で我々が耳にする音は、複数の音が複雑に重なりあっているのですが、一つの音(例えばドの音)などは、キレイな正弦波の形をしています。逆にいうと、このような音が複数重なって、複雑な音になっています(重ね合せの原理やフーリエ変換など)。このようなキレイな正弦波の音(振動)を出すのがトーンジェネレータで、この動画の最初のほうでもtone generatorを使っていることが分かります。

正弦波の形は、例えば、こちらのページ(Wikipedia)などで確認できますが、よく見る形は二次元上の線です。この動画では、ホースの先端はある程度自由に三次元内で動くので、二次元上の線ではなく、動画のように円筒のまわりを周回したような感じに見えます。これが、かなり特殊で不思議な感じに見えるのでしょう。

一つの動画だけだと、この動画が特殊なことをしているように疑う人もいるかもしれませんが、トーンジェネレータはスマホでも動くし、スピーカーも簡単に手に入るので、誰でも作ることができます。実際、中学生向けのイベントで、同様にスピーカーの振動を使って「振動する水」と「ウォーターパール」を再現した時の動画があるので、ご覧ください。さきほど動画ほどきれいな線ではありませんが、やはり、グルグル回転したような感じになっています。また、この動画にはありませんが、振動の形を変えれば水の形が変わることも確認しています。

さて、YouTubeの動画は非常に明るいのに対し、我々の動画が暗いのは、ウォーターパールを再現するための仕組みが違うからです。YouTubeのほうは、カメラが飛び飛びの瞬間を記録していることを利用しているのに対し、我々の動画は暗くした上で、高速で点滅するストロボフラッシュを使って飛び飛びを実現しています。そのため、この現場に居て肉眼で見ても「ウォーターパール」が確認できますが、YouTubeの動画のほうは、振動する水は肉眼で見えますが、ウォーターパールは肉眼では見えません。保存した動画でなくても、カメラを通して見れば、見ることができます。実際にそのような実験をしたこともあります。一方で、我々の動画では、その場にいる人が興奮している様子が分かると思いますが、これはカメラを通さずに、ウォーターパールが見えるからです。

0

mu-1.4系へのアップグレード

■ はじめに

前回mu-1.2のインストールを紹介(「muやmu4eのインストールと日本語による検索」)したあと、気付いたら2020-06-10に1.4.10がリリースされていました。1.4から大幅な変更があるようで、インデックスやキャッシュの格納ディレクトリが変わったり、新しいmuのサブコマンドが導入されました。古い格納ディレクトリをそのまま使いたかったのですが、ドキュメントには明示的に書いていないような少しの工夫が必要だったので、ここにまとめておきます。

■ アップグレードの概略

なお、基本的なアップグレードの仕方は、News.orgに書いてある通りです。

  1. 最新版のmuコマンドをインストール
  2. Emacsを終了
  3. mu initコマンドを実行
    % mu init --maildir=~/Maildir --my-address=jim@example.com --my-address=bob@example.com
  4. mu indexを実行
  5. 必要なら古いメールのキャッシュを削除

以下、この手順にそって説明します。

■ インストールとインデキシング

まずmuのインストール自体は、前回までと同様にできました。

次に、新しく導入されたmu initというサブコマンドで、muが使うデータベースを初期化します。自分のメアドが一つの場合は--my-addressは一つで構いません。また、こちらでは"~/Maildir"がメールのフォルダなのですすが、その場合--maildirオプションはなくても大丈夫でした。さらに、上述したように、古いキャッシュ用フォルダをそのまま使いたかったので、最終的に以下のように実行しました。

% mu init --muhome=~/.mu --my-address=jim@example.com
database-path : /XYZ/.mu/xapian
messages in store : 0
schema-version : 451
created : 水 7/15 22:53:01 2020
maildir : /XYZ/Maildir
personal-addresses : jim@example.com

するとdatabe-pathなどの変数と、それに設定された値が出力されます。

この後、索引語のインデキシングのために、mu indexサブコマンドを実行します。インデキシングの意味や日本語の検索との関係については、前回のエントリを参照ください。mu initで必要なオプションは設定したため、mu indexの時にはオプションなしで良いかと思っていましたが、そうではないようです。実際、以下のようにオプションなしで実行すると

% mu index
database-path : /XYZ/.cache/mu/xapian
messages in store : 14008
schema-version : 451
created : 月 6/22 22:31:01 2020
maildir : /XYZ/Maildir
personal-addresses : jim@example.com
/ processing mail; processed: 52950; updated/new: 39009, cleaned-up: 0

となり、最初に変数とその値が表示されていますが、 自分のアドレスはmu initで設定したものと同一ですが、最初のdatabase-pathは--muhomeで与えたフォルダになっていないことが分かります。

そこで、mu indexにも次のようにして--muhomeオプションを渡します。

% mu index --muhome=~/.mu

保持しているメールの量にも依存しますが、インデキシングにはある程度の時間がかかります。ただ、一度やっておけば、今後は新規メールのみになりますので、それほど時間はかかりません。

■ メールの検索

これで準備は整いました。普段はmu4eを使ってEmacsから使いますが、まずは確認のためコマンドラインからmu findで検索できるか試してみます。結論からいえば、ここでも--muhomeの指定が必要です。

% mu find --muhome=~/.mu query

これで"query"という文字を含むメールが見つかります。オプションは

% mu find query --muhome=~/.mu

のように、一番最後でもよいです。ただ、

% mu find query
% mu --muhome=~/.mu find query

のようにオプションを指定しなかったり、muのすぐ後に指定すると、あるはずのメールが見つからない結果におわりました。

最後にEmacsから使うために、設定ファイルに以下の一行を追加して、Emacsの中からも問題なくメールが読み書きできるようになりました。

(setq mu4e-mu-home "~/.mu")

0

ゴールボールを始めたわけ(5):リーダーシップ教育とビジョンの体験

■はじめに

なかなか更新が進みませんが、「ゴールボールを始めたわけ」もようやく5回目です。いままで書いてきたように、理由は複数ありますが、直接的な理由としては、今回のが一番大きかったように思います。

結論から書くと、ゴールボールがリーダーシップ教育、特にビジョンを伝える時の恐さを体験する実習課題として使えるのではないかと思ったから、まずは自分で体験してみたかったのです。その当時、実際に大学院向けの授業でやることを考えていました。結果的には、器具などの問題もあり、ゴールボール自体を授業で体験することはやりませんでしたが、後の述べるように、目を閉じて歩いてみる実習につながります。

■リーダーシップにおけるビジョン

noteに書いていますが、情報を伝えるという立場から「ビジョン駆動型リーダーシップ」という新しいリーダーシップのモデルに辿りつきました。
指導者と管理者を分けるもの〜情報学研究者のリーダーシップ論〜

ここでのリーダーシップは「閃きや感動など強い衝動を伴う想いを他の人に伝え、同じような想いをシェアするプロセス」と定義されます。例えば、ある映画を見て感動したので、知り合いにも薦めて、見てもらおうとするのはリーダーシップになります。注意点としては、あらかじめこの映画を面白いと思っている人に伝えるのは、今回のリーダーシップではなく、そうでない人に伝えるところがポイントです。

研究者には「強い想い=閃きで得た仮説」と考えてもらうと理解しやすいかもしれません。ビジネスの分野の人だと「ビジョン」になりますが、計画して論理的に得られたものではなく、閃きなどで得たものです。「ビジョンの定義(2/2):ビジョン駆動型リーダーシップのビジョン」に葉っぱビジネスの横石さん、宅急便の小倉さんの強い想いを例として説明しています。

閃きというと特別な天才だけのものと思われるかもしれませんが、単なる認知の一つで、誰にでも起こるものです。そのため、このモデルでは「誰でもリーダーになれる」ということが理論からの結論として導かれます。

ただ、現実にこのリーダーシップを発揮しようとする時には、少なくとも以下の二種類の難しさがあります。一つは、成長するにつれ、強い想いが湧きにくになってきます。つまり、潜在的には「誰でも」可能ですが、教育を受け、常識をつけて成長するに従い、これらが邪魔をして、感覚や感情に近い「強い想い」を持ちにくくなります。もう一つは「強い想い」が着想されたとして、これを人に伝えること自体にある種の勇気が必要になります。今回のテーマはこちらです。

■なぜ勇気が必要なのか?

前者の「成長するにつれ」というのは、ある程度成長した人であれば、誰でも納得してもらえるのではないかと思っていますが、もう一つのほうが意外に説明しづらいと思っていました。体感してもらうのが難しいといったほうが正確でしょうか。

まず、なぜ勇気がいるかということを説明してみます。一般的なリーダーシップで扱うビジョンは、正しく魅力的なものとして描かれます。正しく魅力的であれば、他の人に薦めるのに躊躇はいらないでしょう。しかし、提案のモデルではそうではありません。そこで「正しく魅力的」と対比させながら、勇気がいる二つの理由を説明します。

まず、「強い想い」は単なる想いであって、「正しいかどうか分からない」という性質があります。詳しくは「リーダーシップは正しくない?」に書いていますので、そちらを参照してください。経験がある人もいると思うのですが、研究でも事業アイデアでも「これで行ける!」と思って始めたものの、なかなか周囲を説得できなかったり、正しさが証明できず、「本当にこれでいいのか?」と疑心暗鬼になることもあります。リーダーシップの初期には、そういう正しいかどうか分からないけど、前に進まないといけないため、それなりの勇気が必要です。

もう一つは、他人にとって魅力的かどうか分からないということです。感動などがキッカケなので、自分にとって魅力的なのは明らかですが、自分が好きだった映画でも「えー、あんなの好きなの」と言いそうな人には、なかなか「面白かったから、ぜひ見てよ」とは言いにくいものです。もちろん、あらかじめ同じタイプの映画が好きと分かっている人同士では、そういう勇気は不要ですが、言い方をかえたら、このリーダーシップには「好きではなかった人の気持ちを変えさせる」ことが必要になります。これも勇気がいることだと思います。

■なぜゴールボール?

さて、「閃いた!」や「感動した!」といった強い想いを、その想いが正しいかの保証はない状態で、かつ、反対されるかもしれない人たちに伝えるのは大変です。ただ、この大変さは、自分で体感しないとなかなか分からないものだろうと感じています。とはいえ、何か閃いたり感動したりすることを学生に強制させることはできないので、提案するリーダーシップを授業で体験させるというのは、なかなか難しそうです。

そうすると、擬似体験をしてもらえればよいのですが、何をしたら似た体験になるか、最初は皆目見当つきません。ただ、もともとのビジョンの意味は「見ること」であり、また、スティーブ・ジョブズはこちらのインタビュー記事"Steve Jobs: The Next Insanely Great Thing"で、クリエイティブなことを知た人はすごい人というわけではなく、単に「見た」人であると言ってます。


When you ask creative people how they did something, they feel a little guilty because they didn't really do it, they just saw something. It seemed obvious to them after a while.
(訳) 創造的な人に、どうやってそれをやったのかを聞いても、彼らはちょっとバツが悪い感じがする。というのも、彼らはそれをやったわけではなく、単に見たにすぎないから。見えた人には、しばらくすると当たり前に思えてきます。

こういうことから、何か「見る」というのがポイントじゃないかと考えはじめました。

こういう問題意識を持っている時に、前回のエントリ「ゴールボールを始めたわけ(4):音で「見る」」で書いたような「見えていないのに見える人たち」のことを知り、自分でも実際に目を閉じて歩いてみたりしていたら、この「見えないのに前に進む状態が、周囲に反対されながらも、強い想いを持って前に進んでいく状態と近いのではないか?」と思うようになりました。よくノーベル賞を受賞した人や新しいビジネスを創造した人などから、最初は周りに反対されたけど、仮説やビジョンを信じて進んでいったといった趣旨のことを聞きますよね。

といっても、自分ではパラスポーツを一度もやったことがないので、まずはやってみようということで、前回のパラスポーツ体験につながるわけです。この時点では、パラスポーツを体験してもらおうと思ってたのですが、ブラインドサッカーは接触スポーツで、男女が受講者にいる講義では難しいなあと感じました。それで、ゴールボールのほうはどうだろうとなって、ゴールボールの体験に至るわけです。

ただ、日程の問題で、ゴールボールを自分が体験するより前に、リーダーシップの恐さを体験してもらおうと思っていた回がやってきたので、実際の授業では、歩道の上を目を閉じて30メートルほど歩いてもらうという実習にしました。ゴールボールに比べると、だいぶ簡単な実習になった気がしていましたが、手軽にできるのと、予想した以上に恐怖を感じることができて、結果的に大成功でした。実際、ほとんどの学生は、最初はそんなことして何になるという感じでした。ただ、その後の振り返りでは「実際にやってみて、先生(私)が言っていたことが分かりました」という感想が非常に多かったです。

歩いてもらう前の指示として、3人ほどのグループになり、目を閉じていない人が安全に注意をすることと、歩道の上の黄色いブロック(視覚障害者誘導用ブロック)の上に歩くことを伝えました。面白いのは、グループの他の人が先にやってみて、恐さを経験しているのを間近かで見ているのに、自分がやるまではその恐怖は体感できないということです。目を閉じて、おそるおそる進んでいるのを見て、ちょっと滑稽な感じすら持っていたかもしれません。こう考えると、上でしたような言葉による説明だけでは、まったく不十分ということが分かります。

■リーダーシップの教育

世にあるリーダーシップのほとんどは、実はマネジメントの教育だと感じています。チームビルディングで多数で一つのことを目指したり、いかにして部下を動かすかといったことです。例えば、暗闇の中でのアクティビティがチームビルディングや円滑なコミュニケーションを目的に利用されている事例は聞いたことがあります。これらは、突き詰めていえば「効率」や「ハウツー」だと思っています。それ自体重要なことだけど、まだ目的がない状態(仮説やビジョンと呼べるものがない状態)では、試行錯誤や失敗が重要になり、効率ではその行動を評価できません。

一方で、ここで説明した「目を閉じて歩く」というのは、まだ誰も歩いていないところを歩くというリーダーシップと不可分な恐怖を体験することを目的としたものです。同じ目的のために、他の手段もあるかもしれません。また、そもそも、リーダーシップにおける恐怖を体験させる教育というのは寡聞にして知りません。リーダーシップが、それまでの常識や行動様式を変えるものであり、そのため危険と隣りあわせであるということは言われ(例えばハイフェッツ)、その点には同意しますが、ここで言う恐怖は変化を嫌うものからの攻撃というより、自分の内面の問題であり、異なるものだと思います。

やってもらった後で感じたことですが、このブロックがビジョン(強い想い)の役割を果たしている気がします。つまり、目を閉じて何も見えなくなっても、目標とするものが何もないわけではなく、道標は存在しています。ただ、それでも、最初のうちは恐いわけですが。 

0

ゴールボールを始めたわけ(4):音で「見る」

■始めに

前回「ゴールボールを始めたわけ(3):多様性を通した無意識への意識」では、自分とは違う感覚を持つ人と接することで、普段意識していないことを意識するキッカケになることを書きました。もともと、このシリーズの第1回目「ゴールボールを始めたわけ:自分の中のセンサーを鍛えたい」にも書いた「自分の感覚を鍛える」ということの延長線でもあります。

いろいろ書いてきましたが、今回、ようやくゴールボールに近づきます。

■ダニエル・キッシュ

このような状態で感覚や感情、脳科学といった分野の本に手を出して読み始めました。その中で、「最新脳科学でわかった五感の驚異」という本で見つけた、エコーロケーションでマウンテンバイクに乗って山をくだる全盲の人(ダニエル・キッシュ)にビックリしました。

最新脳科学でわかった五感の驚異 


こちらにTEDの動画もあるので、ぜひ見てください:
ダニエル・キッシュ 音で「見る」ことで、世界を動き回る方法
日本語の訳を読みたい方はこちらからどうぞ。

エコーロケーションは、イルカやこうもりがやっているのが有名ですし、潜水艦もソナーの反響で敵艦の位置を特定しています。ダニエル・キッシュは舌を「タンッタンッ」と鳴らして、その音の反射音で周囲の様子が「見える」そうです。単に「見える」のも衝撃的ですが、マウンテンバイクで山を降りるというのは非常に衝撃でした。さらに衝撃的だったのは、動画の最後のほうで質問に答えて言ってますが、音による視界は「360度のパノラマの視界です。私のソナーは前も後ろも把握できます。曲がり角も把握できるし、表面も把握できます。少しぼやけた三次元構造といったところでしょうか」ということです。光と視覚による視界だと視線を向けたほうしか見えませんが、360度見えているわけです!

■ブラインドサッカー

ただ、彼の話しはあまりに衝撃で、自分でやろうとは全く思いませんでしたが、その後、「武井壮のパラスポーツ真剣勝負」というNHKの番組で、武井壮さんがブラインドサッカーに挑戦してて、これに出演していたブラインドサッカーの選手が「音で世界を見ている」といったことを言ってました。番組の様子がYouTubeにあります。

ちょっと探してみたら、ブラインドサッカーの選手は同様のことをよく言っていました。例えば、こちらは読売新聞パラリンピック・スペシャルサポーターの仲里依紗さん、中尾明慶さん夫妻がパラスポーツの選手にインタビューするシリーズの一つで、川村怜選手が「皆さんが見ている状態に近いと僕は思っています。味方はあそこ、敵がここ、ゴールの位置があそこ、というように全体像を認知しています」と言っています。

上述したキッシュや前回紹介したハービンソンの例だと、自分でやってみようとはなかなか思いませんでしたが、サッカーだったら「あー、自分でもやれるかも」と思ったわけです。思いたったら行動あるのみで、(2019年夏ごろに)探してみたら、ちょうどパラリンピックが近いからか、福岡県内の各所でパラスポーツの体験イベントがあってました。
『パラスポーツ体験イベント 北九州地区』を開催します!!

県内で何回かやるようですが、その当時直近だった北九州まで行ってみたところ、その会場では、目を閉じてやる競技はブラインドサッカーのみでした。まだ、他のお客さんが来る前から参加して40分ほど連続してアイマスクをつけて目を閉じたままシュートを打つ練習をしてみました。お客さんが多かったら自分だけ占有してやり続けるわけにはいかないので、連続して集中してできたのはラッキーでした。止まったボールをシュートするだけの、視覚を使えたら簡単なことでしたが、アイマスクをした状態ではかなり難しくて、でも楽しい経験でした。

このころ目を閉じて、歩道の黄色い視覚障害者誘導用ブロックを歩くのがマイブームでしたが、意外に難しく、なかなかうまくブロックの上を歩けませんでした。ただ、体験をやった後にグンと上達して数十メートルくらいであれば、ある程度スタスタ歩けるようになってました。脳内で新しい回路が作られたのかもしれません。

■ゴールボールへ

ただ、自分はサッカーという競技はそれほどやったことがなくて、目を閉じているかどうかの前に、サッカー自体がちょっと難しいなと感じました。最初からサッカーの経験があるとかだとよいのかもしれませんが。また、次の回で述べますが、目を閉じてするスポーツを大学の授業でやってみたいと思っていたので、接触のあるブラインドサッカーを経験のない学生にさせるのはちょっと難しいかなとも思いました。それで、イベントを主宰していた県の職員の方と話したところ、次の福岡地区での体験イベントではゴールボールをやるから、ということでゴールボールにようやくつながりました。

「ゴールボールだ!」というある種の閃きに至るには、そこにつながる様々な経験があったからで、ゴールボールの記述はまだありませんが、これらがあってゴールボールにつながるわけです。noteのほうに書きましたが「まんじゅうは一つ目から!」における4つ目のまんじゅうに相当する部分ですね。

 

0

ゴールボールを始めたわけ(3):多様性を通した無意識への意識

■はじめに

前回のエントリ(ゴールボールを始めたわけ(2):周波数から視覚と聴覚へ)で、周波数を通した色と音との関係を示す動画まで辿りつきました。色や音は感覚として認知できますが、普段は無意識にできていることです。今回は、気付きにくい無意識への意識の仕方を、もうちょっと掘り下げて考えてみます。

■ 無意識と情報

前回紹介したようなフーリエ変換を小学生にという例だけでなく、模擬授業や一般向けの科学イベントには積極的に参加してました。大学の先生でも、このような活動に積極的な人もいればそうでない人もいるでしょう。自分が積極的だった理由は「自分が無意識で知っていることを、講演や模擬授業向けに意識的にまとめることにより、自分の理解が深まる」という感覚をもともと持っていてため、突き詰めていえば自分のためにやっているという感じです。その極端な例がフーリエ変換で、実際に、微積や三角関数などの道具を取っ払って説明するこで、自分の理解がより深いレベルに到達しました。

子供向けのイベントにも積極的だったため、子供から「情報って何?」と聞かれたらどう答えようと結構真剣に長いこと考えていました。その結果、情報って何?(1):審査の評価軸から考えるで書いたように「情報=心に起きた(起きる)ことを知らせること」と考えるようになりました。つまり、情報化とは無意識を意識できるように変換することです。このような意識があったため、上のような「無意識→意識」といったことを明示的に考えるようになりました。

■ 様々な無意識

こうやってシンプルな「情報=無意識→意識」というモデルができると、自分がこれまでにこだわってきたことの多くも、同じモデルで説明できることに気付きます。前々回のエントリ(ゴールボールを始めたわけ:自分の中のセンサーを鍛えたい)でも書いたように、腰痛持ちであったことに加え、もともと広く浅く様々なスポーツをやってきたため、身体知や体の正しい使い方といったことにも興味がありました。身体知というのは無意識の知識と言えるでしょう。しかし、身体知に落としこむまでは、意識的な動作などが必要になります。このあたりのことは、こちらのエントリ(情報って何?(3):スポーツから考える(2/2))にも書いていますが、「習得への情熱」(ジョッシュ・ウェイツキン)が面白いです。

習得への情熱チェスから武術へ 上達するための、僕の意識的学習法

このエントリにも書いたように、心理学や行動経済学では、我々の認知や思考には二種類があることが知られていて、システム1とシステム2と呼ばれます。システム1は無意識に働くもので、感覚など生来的にできるものもあれば、かけ算の九九のように訓練でほぼ無意識でできるようになるものもあります。この言葉を使えば、身体知はシステム1での理解と考えてよいでしょう。この言葉を使えば、「情報=システム1→システム2」と書けます。

前回のエントリ(ゴールボールを始めたわけ(2):周波数から視覚と聴覚へ)で書いた音や光の認知は感覚(システム1)で、身体知もシステム1で、難しい理論に関する暗黙知もシステム1といえます。自分だけの世界であれば、システム1のまま理解していて良いわけですが、人とその知識を共有したい場合、一般には言葉などを通して伝える必要があり、システム2を通すことになります。もちろん、その体験をしてもらって、システム1で体験してもらうことにより伝えるということもありますが。

■ 多様性:「無意識」に意識を向けさせるもの

簡単に「無意識」と繰り返しましたが、無意識であるために、それを自分で明示的に意識することは非常に難しいことです。フーリエ変換の例で考えると、難しい式での理解(こちらは説明できるのでシステム2での理解)で覆われている、自分でも意識していないような理解を掘り起こす作業になります。この例では「フーリエ変換は様々な分け方の平均で全体を表している」という理解に到達し、平均を用いることで小学生に説明できるようになったわけです。

この理解に到達したのは、はっきりした瞬間があります。ある種の閃きの瞬間です。大学の授業において、フーリエ係数を計算するところで、学生に「これは平均をとっているのと同じだよ」ともともと説明していました。それにもかかわらず、平均を使えばよいというアイデアには到達できませんでした。ただ、授業中にふとある学生が「フーリエ変換って平均だよね」みたいなことを呟いて「それだ!」となったのです。自分では意識するほどのことではなかった平均が、他人が言う言葉を耳で聞いて初めて突破口が開けました。感覚的には、外部刺激によって、脳の中でまったく違うところがつながり、新しい回路ができた感じです!

外部からの入力が重要でした。こう考えると、無意識を意識的に考える方法が見えてきます。例えば、海外旅行のように、普段と違う環境に自分を置けば、普段自分が無意識にやっていた思考や行動に気付きやすくなります。また、他の人から指摘してもらったり、あるいは、人の振り見て我が振り直せというように、他の人の行動を観察してもよいでしょう。

■ 障碍を持つ学生

自分が意識できない無意識に気付く機会は色々ありますが、ある授業で身体に障碍を持つ学生を担当した時もそうでした。障碍を持つ人に対する偏見はないつもりでしたが、具体的にどう対処してよいのか分からず、心理的にかなり動揺したのを覚えています。あらかじめ要望は聞いており、システム2としては、何をすればいいのか理解はしているものの、自分のシステム1(無意識)では拒否反応のようなものがあったのでしょう。こういう拒否反応を消すのは、実際に体験するしかないわけです。実際、授業を通して交流してみれば、他の学生と比較してもよくできる学生で、いろいろな違いもある上で、それでも特に大きな違いはないじゃんと思った記憶があります。

この時期からEテレのバリバラなどを見るようになったのですが、自分の無意識をガツンと変えてくれたのはNHK総合「ココがズレてる健常者 障害者100人がモノ申す」です。これはかなり衝撃でした。番組の最初のころは、見てはいけないようなものというか、拒否感のようなものがあったことを明確に覚えていますが、この番組を見て、かなり自分の無意識でのイメージが変わりました。これも、障碍を持つ人の主張を本などで読むのではなく、実際の行動を見ることができたのが大きかったように思います。

0

ゴールボールを始めたわけ(2):周波数から視覚と聴覚へ

■はじめに

ゴールボールを始めた理由がいろいろあるのでこんな文章を書き始めたのですが、単純に複数の理由が並列してあるというより、複数の興味がからみあってゴールボールにつながったという感じです。なので、今回のエントリ単体では直接ゴールボールまで辿りつかなかったです。今回は、科学教室で使っていた周波数というアイデアから視覚と聴覚を同一視した、ちょっと変わった動画までです。写真は、科学教室で使ったアプリの画面ダンプです。

■(少し難しいけど前提なので)フーリエ変換とは

もう10年くらい前になりますが、「フーリエ変換」と呼ばれる難しい理論の本質部分を小学生に分かるように教えたら面白いのではないかと思いついて、数年間試行錯誤して、実際に小学生向けの科学イベントをやりました。
小学生に教えるフーリエ変換(2014/04/06)


この時は、近所の子供たち向けのイベントでしたが、改良したものを昨年MUJIのイベントとして一般の子供たち向けにやりました。
「小学生に教えるフーリエ変換」再び!(2020/02/24)

フーリエ変換は、理系の大学2, 3年くらいで習う数学的な概念で、数学や物理学、情報を含む工学部の多くの学科で習います。無限級数や微分積分、三角関数などを用いていて、多くの人にとってはチンプンカンプンだと思います。ただ、現象としては日常的に体験していて、虹は典型的な例です。虹は、雨粒の屈折によって太陽光がいろんな色に分けられます。この場合、一つの色が一つの周波数(1秒間に何回振動する波かを表す)に対応します。大きな周波数の光は紫(紫外線とか)に見えて、さらに大きくなると紫外線と呼ばれます。音でいえば、高い音は大きな周波数(速い振動)で、低い音は小さな周波数(ゆっくりした振動)で、我々は様々な周波数の音が重なった音を聞いているわけです。

フーリエ変換は時間的に変化する波(音や光)を、その波の中にある周波数(ある高さの音やある色の光)がどれくらい含まれているかというように変換するものです。音にあわせて光のインジケーターが増えたり減ったりするイコライザーとかアナライザーとか呼ばれる機器がありますが、これらの機器は、基本的には入力された音の中に、どの周波数の音がどれくらいの量含まれているかを、おおまかな区間ごとに表示するものです。つまり、複数の音が重なったものを個々の音に変換するものです。

光でいえば、虹には、いろんな色が連続して変化しながら含まれていますが、もともとの太陽光にこれらの光が含まていたというわけです。太陽光ではなくて、例えば、ブラックライトの光をプリズムで分解してみると、紫外線のあたりの光だけが見えて、虹のように見えませんが、これはブラックライトの光が特定の周波数の光のみを含むからです。

■周波数で表すことの利点

周波数で表す利点はいろいろあると思いますが、小学生でも分かるような利点というとなかなか難しい気がします。ただ、日常的な現象の例として音や光を使うので、これらに関連したものがいいなと考えていたところ、TEDの動画でまさにドンピシャなものがありました。
ニール・ハービソン:「僕は色を聴いている」

この人は色覚に異常があり、色が見えず全てがモノクロに見えているそうです。そこで、21歳から小さなカメラを使って、このカメラで見えた色の周波数を適当な音の周波数に変換して、これをイヤホンで聞きます。つまり、タイトルにあるように、この人は「色を聴いている」わけです。これまで色は見たことないので、はじめのうちは、「この音は赤で、この音は青」というように学習する必要があります。その意味で、まったくランダムに音に色を割り当ててもよいのですが、似たような色は近い音で聞こえたほうが分かりやすいでしょう。人間に見える範囲の色と音は幅があり、その間は少しずつ周波数が変化しているので、端の色に端の音を割りあてて、あとは光の周波数を数式で変換して音の周波数に変えれば、近くに見える黄色の黄緑の音は近い音になります。このような変換が自然にできるのが周波数の良さです。

音には、楽しく聞こえる音や悲しく聞こえる音がありますが、上のような変換をしていると、「これは楽しい色」といった認識がうまれてくるそうです。すでにこのプレゼンの時には8年間このような経験をしているそうで、このような経験を積んでいけば、もともとは音のみの世界だった音楽にも色を感じるようになるそうです!例えば、モーツァルトの「夜の女王のアリア」を聞いたら、「黄色が多くてとてもカラフルです。いろんな周波数が混在しているからです。」だそうです!

0

「小学生に教えるフーリエ変換」再び!

■はじめに

もうかなり前(2018年8月)になってしまいますが、久しぶりに小学生を対象にフーリエ変換(の基本アイデア)を教えるイベントをやりました。前回は2013年度(2014年3月)に近所の小学校6年生を10名ほど集めて実施した「小学生に教えるフーリエ変換」ですが、今回はなんとパワーアップ(?)して、決断科学の学生さんが主催する一般向けのイベントとして、キャナルシティ博多のMUJIのスペースを借りてやりました。内容やイベントの進め方で、いろいろと考えたり、感じたりしたことをまとめておきます。

高校生や中学生向けには、時々模擬授業の依頼がくるので、同じ内容をベースにした内容を話すことがあるのですが、小学生には4年半ぶりくらいになります。依頼もないのに、わざわざ開催したいと思ったのは、うちの子どもが小学6年になるタイミングだからです。前回は長男と次男が6年のタイミングで、今回は三男です。また、このネタの話を知り合いにしたら、東京と北海道からも参加したいという人がいてので、夏休み時期の開催となりました。

イベントの様子は研究室のニュースのページにあります。また、イベントの資料(PDF)と、使ったアプリ(JavaScriptが使えるブラウザでどうぞ。ただしEdgeでは動かないかも)はこちらです。

■これまでの問題点

ブロックの形(の情報)を遠くに送りたいという問題設定にした上で、ブロックの高さをそのまま送るのではなく、様々な「平均」を送る、というのが話しのおおざっぱな流れになります。平均の概念は5年生の冬くらいに習うので、小学校の高学年であれば理解できることになります。

一方で、模擬授業を始め、いろんなイベントで活躍しているウォーターパールの説明が不十分という問題点がありました。ウォーターパールについては、こちらのエントリ「ウォーターパールの仕組み」をご覧ください。このページには動画もあり、これらを見てもらえばなんだか凄そうというのが分かってもらえると思います。実際、話が難しくて消化不良だった時にも、これを見せておけば大満足(!?)というもので、かなり重宝します。

「ウォーターパールの仕組み」にも書いたように、これはある現象の周波数(ウォーターパールでは水滴が落ちる間隔)と、それを見る周波数(ウォーターパールではマルチストロボの間隔)の二つにより成立する現象で、フーリエ変換を習うときにはだいたい習うサンプリング定理(標本化定理)と深い関係があります。ただ、「平均」として話しをしたものの、周波数のことには軽くしか触れていないため、ウォーターパールの仕組みは軽く紹介する程度でした。

■「波」を前面に押し出す

上述したように、今回は遠方からの参加者がいるため伊都キャンパス(は、中心部からだいぶ遠いのです)ではなく、天神や博多駅など中心部にしたいという思いがありました。それで、すでにキャナルシティでの一般向けイベントの実績があった決断科学の学生さんによる「サイエンスカフェ部」に相談して、キャナルシティのMUJIでやらせてもらえることになりました。「サイエンスカフェ部」でのイベントなので、まず、学生さんに趣旨の説明をして、それをもとに彼らが企画書を作るという流れになるので、まず、彼らにどんな内容なのか説明します。ここで、その学生さんの意見で、「波」を中心にしたストーリーにしよう、という話しになりました。

もともと、波の概念を小学校向けに説明するのは難しいと私が無意識に思っていたようで、当初はあまり乗り気ではありませんでした。しかし、リハーサルにつきあってくれた決断科学の学生さんや先生は、完全に専門外だったので、この人たちに向けに説明した上で、いろんなダメ出しをもらって、内容を修正して、最終的に「タイミング」という切口で説明するようにしてみました。

■今後の課題

ウォーターパールとの関連はよくなったものの、まだ、説明が多い気がしています。もっと子供たちが自分で考えるようにできるような工夫をすると、もっと楽しんでもらえそうです。

 

0

ゴールボールを始めたわけ:自分の中のセンサーを鍛えたい

■はじめに

ゴールボールを始めたキッカケは一つではなくて、いろんなことが影響しているので、ちょっとつらつらと書いてみます。一つの理由は、自分が持っているセンサーである「感覚」を鍛えたいなあと思ったことです。

■ゴールボールをやってみて

ゴールボールはアイマスクをつけてやるので誰でも参加できます。アイマスクをしていて視覚情報を使えないので、ボールに入った鈴の音など、使う感覚のメインは音になります。ただ、これまで自分は視覚情報に頼っていた分、情けないほど自分の耳はあてになりません。参加している練習会には女子日本代表(つい最近東京オリンピックの代表に選出されたニュースを見ました)の方もいらっしゃって、この人たちのプレーを見ていると、耳で「見ている」と感じるくらいの反応をされています。野球のキャッチボールでいうと、うまい人が「すっ」とボールのほうに体を寄せていくような感じで、ボールを受けとめています。

そうではない自分でプレーしていてて困るのが、さっきのプレーがどうだったのかの情報が得られない(フィードバックがない)ので、プレー自体を修正しようがないということです。もちろん、周囲から声をかけてもらえば分かるのですが、他の人がいないと自分自身で投げたボールがどこにいったのかもよく分からないわけです。ただ、考えてみればおかしな話しで、自分の動作に気をつけていれば、動作の結果がどうなるか予測できそうなものです。でも、普段はそんな自分の動作に気をつかうなどといった面倒くさいことをしなくても、視覚情報からフィードバックが得られるので、他の感覚を遊ばせていて、鍛えていなかったようです。

■腰痛とセンサー

ところで、自分にはずっと腰痛がありました。最初に違和感を感じたのは小学校の頃ですが、特に30過ぎて始めたバドミントンの影響で何回か立ち上がれなくなるくらいの腰痛があったこともあります。そのため、どんなストレッチをすればいいのか、どんな風に動けばいいのかいろんな本を読んだり、テレビを見たりしてきました。ただ、決定的なものはなく、だましだましやっているような感じでした。ところがこの状況が最近変わってきました。ここ2年ほど見てもらっている理学療法士さんのおかげで、普段の生活はもちろん、バドミントンをやっていても疲れが残らないようになってきました。

この理学療法士さんのアドバイスのポイントは「どんなことをすれば体によいのか」の前に、「自分の体がいまどういう状況にあるのか」をチェックして、しかも、私も理解できるような動きで体感できるようになったことです。おおげさに言えば、私は骨盤を左に傾けていたようで、左側の腰に過大な負荷をかけていました。逆に、右側は浮いていて力が入らない(使っていない)状態なので、脳の回路が右側を使わないような動作をしがちでした。これが悪循環になり、使わない右側は筋肉などが固まりがちで、さらに使いにくい状態となっていたました。因果関係は逆で、右が固いため左側を使うようになったのかもしれませんが。例えば、右腕を上げるという動作をするときに、右側は固まっていて肩関節から動かすのがしにくいため、おおげさにいえば、上半身全体を左側に傾けることで右側の自由度を確保して、固まっている右側全体を動かすことで、腕を上げるという感じになっていました。

細いところでは、右側の足首が固いとかも見つけてもらい、このあたりをやわらかくしつつ、体重を右に乗せる動きをゆっくり何度もやったりして、脳の回路を「デバッグ」していきました。こうすることで、「昨日バドミントンしたから、今日は左の腰にちょっとした疲れが残っているなあ」というようなことに敏感になってきて、右側により体重の乗せられるようになってきました。それまで、周囲から情報を得よう得ようとしていたのが、実は自分の中の情報に敏感になることで、こんなに変わるんだと気付いたわけです。

■おわりに

それでゴールボールに話しを戻すと、視覚を使わないことで、より自分の感覚に敏感になれるのではないかと思ったわけです。いまのところ、いかに自分が感覚を使っていないかを実感するばかりですが、目を閉じて歩道上の黄色のサインの上を、以前よりずっと長い間歩けるようになったり、少しずつですが感覚が磨かれているのかもしれません。

0

MacPortsでMecabをインストールした場合のRMeCabのインストール

■ はじめに

MacPortsを使ってmecabをインストールした場合、標準的な方法でRMeCabをインストールしてもうまく動かないようです。ただ、この後説明するように、問題を回避できたので、まとめておきます。説明に使うバージョンは以下の通りで、いずれもMacPortsからインストールしています。

  • R 3.6.1
  • mecab 0.996
  • mecab-ipadic 2.7.0

■ 標準的なインストール

まず、こちらのサイトを参考に、RからRMeCabをインストールしてみます。
> install.packages ("RMeCab", repos = "http://rmecab.jp/R", type = "source")

上のサイトにあるように、MacやLinuxでは、typeとしてsourceを指定しないといけません。つまり、コンパイルする必要がありますが、コマンドライン・ツールのインストールなどを含め、上記サイトには丁寧に解説してあります。

このコマンドを入力すると、コンパイル作業が始まり、その様子が表示されますが、最後のほうは以下のようになります。


(略)
clang++ -I/Library/Frameworks/R.framework/Resources/include -DNDEBUG -I. -I/usr/local/include -fPIC -Wall -g -O2 -c docNgramDF.cpp -o docNgramDF.o
clang++ -I/Library/Frameworks/R.framework/Resources/include -DNDEBUG -I. -I/usr/local/include -fPIC -Wall -g -O2 -c setMeCabMap.cpp -o setMeCabMap.o
clang++ -dynamiclib -Wl,-headerpad_max_install_names -undefined dynamic_lookup -single_module -multiply_defined suppress -L/Library/Frameworks/R.framework/Resources/lib -L/usr/local/lib -o RMeCab.so Ngram.o NgramDF.o NgramDF2.o RMeCab.o RMeCabC.o RMeCabDoc.o RMeCabFreq.o RMeCabMx.o RMeCabText.o collocate.o docDF.o docMatrix2.o docMatrixDF.o docNgram2.o docNgramDF.o setMeCabMap.o -L/usr/local/lib -lmecab -F/Library/Frameworks/R.framework/.. -framework R -Wl,-framework -Wl,CoreFoundation
installing to /Library/Frameworks/R.framework/Versions/3.4/Resources/library/RMeCab/libs
** R
** preparing package for lazy loading
** help
*** installing help indices
** building package indices
** testing if installed package can be loaded
* DONE (RMeCab)

"clang++"というのがコンパイラで、1つの行が1つのファイルをコンパイルしていて、最後の長い行(clang++ -dynamiclibで始まる行)が、それまでにコンパイルした各ファイル(RMeCabC.oのように、拡張子が.oのファイル)を全て集めて、RMeCab.soというファイルを作ります。

コンパイルする時には既存のライブラリを用いることが多いのですが、ライブラリには、OSに最初から付属しているインストールされているライブラリ(標準ライブラリなどと呼びます)と、後からユーザがインストールしたものがあります。標準ライブラリは、インストールされる場所が決まっており、コンパイラがライブラリを探す時は、これらの場所から目的のライブラリを探しますが、ユーザがインストールしたライブラリを用いる場合は、どこにインストールしてあるかその場所をコンパイラに教える必要があります。そのオプションが-Lです。例えば、-L/usr/local/libというのが、RMeCab.soをコンパイルしている行にありますが、これはコンパイラに/usr/local/libというディレクトリを探してね、という指示です。このオプションは複数指定でき、ある場所になければ、他に指定された場所も調べます。

インストールされたRMeCab.soが、どのライブラリを使っているかは、以下のように調べます。まず、以下のようにして、R内で利用されるライブラリのインストール先を調べます。
> .libPaths()
[1] "/Library/Frameworks/R.framework/Versions/3.4/Resources/library"

ターミナルで、以下のように入力すると、これまでにインストールしたライブラリの名前がディレクトリとして表示されると思います。ここにRMeCabがあるはずです。
% ls -1 /Library/Frameworks/R.framewok/Versions/3.4/Resources/library
KernSmooth
MASS
Matrix
RMeCab
Rcpp
(以下、略)

さらに、RMeCabの中を確認すると、いくつかのサブディレクトリがあり、この中のlibsの舌にRMeCab.soがあります。このRMeCab.soというファイルに対して、以下のようにotoolというコマンドを用いると、どのライブラリが使われているか分かりますが、最初のほうに書いたように/usr/lib/libmecab.dylibが使われていることが分かります。

% otool -L /Library/Frameworks/R.framework/Versions/3.4/Resources/library/RMeCab/libs/RMeCab.so
/Library/Frameworks/R.framework/Versions/3.4/Resources/library/RMeCab/libs/RMeCab.so:
RMeCab.so (compatibility version 0.0.0, current version 0.0.0)
/usr/lib/libmecab.dylib (compatibility version 1.0.0, current version 883.0.0)
/Library/Frameworks/R.framework/Versions/3.4/Resources/lib/libR.dylib (compatibility version 3.4.0, current version 3.4.1)
/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 1673.126.0)
/usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 800.7.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1281.0.0)

このようにしてコンパイル、インストールが済んだら
> library(RMeCab)
> RMeCabC("テスト")
とRMeCabを実行できるはずなのですが、以下の画像のようなエラーがでます。

Exception:/BuildRoot/Library/Caches/com.apple.xbs/Sources/Mecabra/Mecabra-883.1.1/src/tokenizer/tagger.cpp(110) [load_dictionary_resource(param)] /BuildRoot/Library/Caches/com.apple.xbs/Sources/Mecabra/Mecabra-883.1.1/src/param.cpp(130) [ifs] no such file or directory: ./dicrc

エラーメッセージを見ると、設定ファイルが見つからないと言っているようにも見えますが、今回の場合は、後述するように、設定ファイルは関係なかったようです。

■ 回避策

今回紹介する回避策はRMeCab掲示版のこちらの書き込みを元に、もう少し詳しく手順を書いたものです。

RMeCabをインストールする前に、Mecabをインストールする必要がありますが、MacPortsでインストールしました。これによってlibmecab.dylibというライブラリがインストールされ、このライブラリを用いてRMeCabが動作しますが、MacにはOSに付属してlibmecab.dylibという同名のライブラリが存在します。このライブラリは、RMeCabが要求するものではないのですが、コンパイル時の設定によりこちらが使われているようです。そのため、回避策の骨子は、RMeCabのソースをダウンロードし、libmecab.dylibを読み込むディレクトリを指定した上でコンパイルしてインストール、となります。

まず、ソースファイルのダウンロードは以下のようにします。
> download.packages ("RMeCab", destdir = "~/Downloads", repos = "http://rmecab.jp/R", type = "source")
destdir の値は適当に修正してください。

ダウンロードしたRMeCabは、~/Downloads/RMeCab_0.99999.tar.gzなどとなります。バージョンが異なれば、~/Downloads/RMeCab_1.04.tar.gzとなったりします。

このファイルを展開した上で、RMeCab/src/Makevars内の
MECAB = -L/usr/local/lib -lmecab
を、以下のように変更します。
MECAB = -L/opt/local/lib -lmecab
MacPortsは/opt/local/lib以下にlibmecab.dylibをインストールするので、上のように変更しましたが、Homebrewなど/usr/local/libにインストールされる場合は、問題は起きないでしょう。

この後、修正したファイルを、再度tar.gzに固めた上で、以下のようにしてインストールします。
> install.packages("~/Downloads/RMeCab_0.99999.tar.gz", repos=NULL, type="source")

今度は、コンパイルの最後のところで、-L/opt/local/libとなっていると思います。otoolで調べてみると


% otool -L /Library/Frameworks/R.framework/Versions/3.4/Resources/library/RMeCab/libs/RMeCab.so
/Library/Frameworks/R.framework/Versions/3.4/Resources/library/RMeCab/libs/RMeCab.so:
RMeCab.so (compatibility version 0.0.0, current version 0.0.0)
/opt/local/lib/libmecab.2.dylib (compatibility version 3.0.0, current version 3.0.0)
/Library/Frameworks/R.framework/Versions/3.4/Resources/lib/libR.dylib (compatibility version 3.4.0, current version 3.4.1)
/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation (compatibility version 150.0.0, current version 1673.126.0)
/usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 800.7.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1281.0.0)

となって、今度は /opt/local/lib/ 以下にある /opt/local/lib/libmecab.2.dylib が使われていることが分かります。ここまでくれば、RMeCabが使えるようになります。といっても、簡単にチェックしただけですが...

0

MacでのKH Coderのインストール

経済の博士課程の学生からテキストマイニングについて相談を受けたので、KH Coderを紹介しましたが、Macではうまくインストールできなかったということでした。紹介した時には、簡単にインスールできるものと思いこんでて、たしかにWindows上でのインストールはそうなのですが、Macではかなり難しいですね。ターミナルからの操作が大量にあり、また、データベース管理システム(DBMS)のインストールもあって、大変です。KH Coder自体は無償ですが、Mac向けに有償(約4千円)のインストールパッケージがあるので、インストール作業に自信のない方は有償パッケージの利用をおすすめします。

自分の作業をざっとまとめておきますが、基本的にKH Coderが動くところまでしか確認しておらず、実際にはデータベース等の設定は行っていないので、そのあたりについては書いていません。まず、こちらの環境は以下の通りです。
  • MacBook Air (Retina, 13-inch, 2018)
  • macOS Catalina (10.15.2)
macOSへのソフトウェアのインストールにはMacPortsを使っています。HomeBrewでも同じようなことはできると思います。

最初にKH Coderのサイトの「KH Coder 3(最新版)ダウンロードの「Mac」のセクションへ行き、インストールのための事前準備(主に、KH Coderのインストールの前にインストールしておく必要がある別のソフトウェア)を確認します。具体的には「必要なソフトウェア/ハードウェアのLinuxに書いてあるものの準備が必要です。ここの記述を簡単にまとめると、X, ChaSen, MySQL, Perl, Rのインストールと、PerlおよびRの各種モジュール/ライブラリのインストールが必要です。また、配布物のREADME.mdには、"Installing khcoder on Ubuntu #91"が参考になると書いてありますので、そちらも参照してください。他にも、いろいろ探している時に、下記の掲示板の書き込みが参考になるとの情報がありました。
http://koichi.nihon.to/cgi-bin/bbs_khn/khcf.cgi?no=1105&mode=allread
http://koichi.nihon.to/cgi-bin/bbs_khn/khcf.cgi?no=1135&mode=allread

Xについては、XQuartxからダウンロードして、インストールします。Xでの日本語入力については確認していませんが、Macに付属のかな漢字変換ソフトを使っての入力はできないかもしれません。こちらはAquaSKKというソフトを使っていますが、このソフトではXQuartzでの日本語入力はできないようでした。他のソフトは全てMacPortsからインストールしました。
% sudo port install mysql8 mysql8-server
% sudo port install openjdk13
% sudo port install stanford-postagger
% sudo port install mecab             
% sudo port install R    
上のうち、POS Taggerについては、英文を解析しない場合は不要かもしれません。Perlについては、あらかじめMacPortsでインストールしていたので、上には含まれていません。

これらのインストールが済んだら、"Installing khcoder on Ubuntu #91"を参考にPerlとRのパッケージをインストールします。Rについては、
install.packages("RcolorBrewer", dependencies=TRUE)
の"color"のCを大文字にしないといけないようです。

また、Perlのモジュールについても、いくつかについては、そのままではインストールが失敗するものがありました。失敗したものは、以下のようにしてKH Coderを実行した時に以下のようなエラーメッセージがでます。
% perl ./kh_coder.pl
Can't locate DBD/mysql.pm in @INC (you may need to install the DBD::mysql module)
この場合は、DBV/mysql.pmが適切にインストールされていないということなので、「KH CoderをMacにインストール」を参考にしながら、ソースディレクトリに移動して、直接makeコマンド等を入力する時に、MySQLのコマンドを設定しておけば大丈夫でした。
% sudo env PATH=/opt/local/lib/mysql8/bin:$PATH perl Makefile.PL
% sudo env PATH=/opt/local/lib/mysql8/bin:$PATH make            
% sudo env PATH=/opt/local/lib/mysql8/bin:$PATH make install
毎回、このようにenvを使わなくても、自分の設定ファイルでPATHを設定してもよいです。

"Installing khcoder on Ubuntu #91"には言及のなかったモジュールも必要と言われることがあったので、その都度インストールしました。
0

絶対値記号|y|のはずし方

はじめに

|y|のように文字式に対する絶対値について質問されて、よくある勘違いがありそうだと思ったので、まとめておきます。

|y|の絶対値記号をはずす場合は、yが正か負かによって場合わけしますが、負の場合は|y|=−yとなり、マイナス記号をつけます。ここで「あれ?負の数の場合をマイナス記号を取るのではないの?なんでつけるの??」となるようです。

具体的な数字の場合

まず、文字式ではなく、具体的な数字で考えましょう。|2|=2で、|−3|=3のようになりますが、これを「正の数の場合はそのまま、負の数の場合マイナスをとって記号をはずす」と覚えていると、勘違いの元になります。そうではなくて、「正の数の場合は+1、負の数の場合は−1を掛けて記号をはずす」と理解しましょう。もうちょっと短く書けば「+1または−1か、同じ符号のものかける」です。そうすれば、|2|=+1×2=2ですし、|−3|=(−1)×(−3)=3となります。

文字式の場合

|y|のように文字式の場合を考えましょう。この場合、yの値に応じて場合わけが必要ですが、さっきのルールはそのまま使えます。つまり、yが正なら+1を掛けるので、|y|=+1×y=yとなります。yが負なら−1を掛けるので、|y|=(−1)×y=−yとなります。

正の数の場合、「そのまま記号をはずす」に比べ、わざわざ「+1を掛ける」のは面倒だと感じられるかもしれませんが、そのおかげで「+1か−1を掛ける」と、全体としては短いルールにまとめられます。

そもそも「マイナスをとる」というのは数学的な演算ではなく、しかも、文字式の場合にはとれるマイナスがついていないので、汎用的でもありません。一方で「+1か-1を掛ける」というのは四則演算ですし、文字式にも安心して使えます。

関連のエントリ

この根底にあるアイデアは、「−1を掛けることは方向を逆にする」ということです。同様のエントリが以下にあるので、詳しくしりたい方はどうぞ。
情報って何?(4):カッコはいつ取るの?(リンク)
役立つかどうかではなく、役立てられるかどうかだ!(リンク)

 
 
0

Mac標準の「写真」アプリからの移行に向けて

追記(2019-09-21)

数日前にPixaveのバージョンが 2.3.12 (57341)にアップデートされました。これにより、一番下のセクションに書いた、一部のメタデータが出力されない、という問題は、こちらで確認した限りでは解消されています。確認した項目(「写真」アプリの言葉でいうと)、タイトル、キーワード、説明です。Pixaveでは、それぞれ、IPTCのTitle, Caption/Description, Keywordsに値が入っています。ただ、大量の写真のインポートしたわけではなく、あくまで数枚の写真での確認のみです。(追記ここまで)


はじめに

Macには「写真」という名前の(以前はiPhotoという名前でした)アプリがあり、写真の管理ができます。今回、別のソフトに移行することを前提に、写真に付与したメタデータの移行について調べたので、まとめておきます。

「写真」アプリ

Macに標準でついているため無料で使えます。以前はiPhotoという名前でしたが、OS X 10.10.3以降は「写真」という名前になりました。備品シールや、テレビ番組のワンシーンの写真など教育や研究のアイデアにつながりそうなもの、プレゼンの資料となりそうな写真などを管理しており、これらを管理する目的で使っています。
各写真にはタグ(「写真」ではキーワードと呼ばれます)やタイトル、説明などをつけることができ、これらのメタデータで写真を検索することができるので、自分にとっては機能は十分です。ただ、写真管理の基本的な機能は一通りあると思いますが、それほど高度な機能は使っていないので、プロ向けに耐えられる機能かどうかは分かりません。

移行の背景

以前のエントリ(unison on Moutain Lion)にも書いたように、複数のコンピュータ間で、Unisonというソフトを使って、ファイルの同期を行っています。Linuxを含むUnix系のOSやWindowsでも使えます。
パソコンを使う前に同期の作業を行うことで、どのパソコンでも同じ環境で仕事ができます。また、副次的に、(一時的な)バックアップの役目も果たせますし、新たなパソコンを購入した時には、ファイルの同期が簡単なので、移行が簡単に済むというメリットもあります。
現在では、このようなデータの同期には、iCloudのようなクラウドサービスを使うのが普通かもしれませんが、そのようなサービスがなかった約20年ほど前からUnisonを使っています。また、クラウドサービスで同期できるのは、特定のアプリに限定されることが多いため、そのアプリを使わなくなったりすると面倒ですが、Unisonではファイルそのものを同期するため、アプリに依存することはありません。
写真データについていえば、iPhotoでは、特定のフォルダ以下にデータが保存されるので、このフォルダ以下を同期してあげれば、別のパソコン間で同じ写真を見ることができます。つまり、撮影した写真を取り込むのは、どのパソコンでよく、1回だけ取り込めば、あとは同期によって同じデータを、異なるパソコンのiPhotoで見ることができていました。
しかし、「写真」にアップデートされたタイミング(だと思います)で、データに対してメタデータ(のようなもの)をバックグラウンドで自動的に作成するようになったようで、あるパソコンと別のパソコンの間で、写真以外のメタデータが整合しないようになってしまいました。このあたりの仕組みを詳しく調べたわけではないのですが、ひどい時には、ずっと以前から入れていたタグなどの情報が全部消えたことがあり、バックアップから復元したこともありました。データに対し、自分が知らないところで手が加えてあると、同期も大変ですし、移行する時に問題になるかもしれません。そういうわけで移行を考え始めました。

移行のやり方

写真そのもののデータ(JPGなど)は当然ですが、タグやタイトル、説明なども重要ですので、これらのメタデータも移行する必要があります。そのためには、まず「写真」ソフトから、これらのデータを書きだす必要があります。
写真の撮影に関するメタデータはExifとして写真そのもののデータに埋め込まれているのは知っていたのですが、同様にタグやタイトルといった手動で付与したメタデータはIPTCという標準的な形式で書き出すことができることが分かりました。書き出したい写真を選び、
[ファイル]→[書き出す]→[1枚の写真を書き出す]
で、[情報]の
「タイトル、キーワード、および説明」
「位置情報」
チェックを入れたら、写真と一緒にタグなどのメタデータも出力できます。[1枚の写真の未編集のオリジナルを書き出す]では出力ができないようです。
全部の写真を選択した状態で、適当なフォルダに書き出せば、時間はかかりますが、メタデータ込みで写真が書き出されます。きちんと書き出されたかどうかは、「プレビュー」で書き出した画像を表示した上で、[ツール]→[インスペクタを表示](⌘I)で確認できます。

新しい写真管理ソフト

今回の件で重要なのはIPTCのデータを写真と一緒にエクスポートできることでした。ということは、新しいソフトでは、IPTCのデータが読めて、かつ、エクスポートできる必要があります。探したところ、読むほうは無料のソフトを含め、問題なさそうでしたが、エクスポートするほうがなかなかありません。無料のもの(例えばTiacやPhotosape X)は、実際に使ってみて、IPTC込みのエクスポートはできないようでした。
安全に移行できることは、自分にとって重要なので、有料のものも含めて検討しますが、有料のものだと購入前にドキュメントなどでIPTCつきのエクスポートできるか確認できないといけません。こちらで見つけられたのはPixaveのみでした。こちらのURLによると、IPTCメタデータもエクスポートできるようです。
ただ、実際に使ってみると、一部のメタデータがきちんとエクスポートできておらず、将来的にこのソフトから移行する時に不便かもしれません。読み込みについては問題ありませんし、日本語のタグでも検索できますし、エクスポートするときのオプションには"Export Tags, other metadata"と書いてあり、タグ以外のデータも出力する気があるようですので、将来的に期待して開発者にフィードバックしているところです。
0

muやmu4eのインストールと日本語による検索

 

(2019/5/10 追記) FLAG_CJK_NGRAMとXAPIAN_CJK_NGRAMの関係が分かりにくかったので、該当部分に文章を足しました。FLAG_CJK_NGRAMではなく、XAPIAN_CJK_NGRAMに適当な値(1など)をセットしてください。

 

 

はじめに

5年ほど前にmu4eに移行しました(mu4e: 検索ベースのメールソフトへの移行)が、2018/2/8にmu-1.0がリリースされ、つい最近mu-1.2がリリースされました。多少インストールの方法が変わったのと、Xapianの索引語についてようやく理解できたので、ここにまとめておきます。

まずmu4eは、muというコマンドライン上のツールに対するEmacsのインターフェイスとなっています。コマンドラインでは、例えば

$ mu find from:daisuke to:xyz@abc.com date:20190401..20190407

みたいな感じで検索できます。

インストール

インストールの仕方は、mu-1.2の公式のドキュメント2の2.2節にあります。 2.1節に、あらかじめ必要なライブラリ等の説明があり、Emacsを除くと、こちらではgmimeとxapianをMacPortsからインストールしています。

$ sudo port install gmime3

$ sudo port install xapian-core
 

その上で、tar.gzまたはzipで固めたファイルをGitHubのページからダウンロードしてきて、以下のようにしてインストールします。

$ tar xfz mu-1.2.0.tar.gz

$ cd mu-1.2.0

$ ./autogen.sh

$ make

$ sudo make install
 

上記の公式ドキュメントにはautogen.shのあとにconfigureを実行するように書いてありますが、autogen.shの中で呼び出されています。

こちらの環境はMacPortsで構築しており、MacPortsが使う/opt/local以下にインストールするため、以下のようにオプションを渡します。autogen.shに渡したオプションは、そのままconfigureに渡されます。

$ ./autogen.sh --prefix=/opt/local

また、Macには標準でEmacsがインストールされています(コマンドは"/usr/bin/emacs"でバージョンは22.1)が、バージョンが古いためMacPortsからインストールしたEmacsを使っています。こちらは、ターミナルからでなく、macOSのネイティブGUIで使えます(パッケージの名前はemacs-mac-app)。autogen.shを実行する時に、MacPortsでインストールしたEmacsを使うように指定するために、実際には以下のようにします。

$ env EMACS=/Applications/MacPorts/EmacsMac.app/Contents/MacOS/Emacs ./autogen.sh --prefix=/opt/local

$ make

$ sudo make install


初めてmu(またはmu4e)を使う場合、あるいは、バージョンをあげた場合はインデキシング(この言葉は後で説明します)したデータベースの更新が必要かもしれません。その場合は、以下のようにします。

$ mu index --rebuild

メールがあるフォルダを指定するためには、以下のようにします。

$ mu index --rebuild --maildir=~/Maildir

こちらの環境では、異なるファイルシステム上のメールフォルダを、ホームディレクトリにシンボリックリンクして運用しており、(少なくとも以前は)

$ mu index --rebuild --maildir=/Volumes/XYZ/Maildir

のように、絶対パスで指定する必要がありました。

日本語での検索について

muやmu4eでは、日本語による検索がイマイチうまくいっていませんでした。解決策を探している時に、同様の問題にあっている方が複数いることが分かりました。

muやmu4eはXapianという検索ライブラリを使っています。このような検索ツールでは、一般にメールなどの文書を単語に分割し、どの単語がどの文書に出現するかという情報をデータベースに格納します。この作業をインデキシング(indexiging)といいます。英語の場合、単語は空白で区切られるので、単語単位に分割するのは簡単と思われるかもしれませんが、例えば“makes”のsを除いたり、“made”と“make”を同一視したりすることもできます。つまり、単に空白で分けるだけでない処理が、英語でも行われます。日本語の場合は、空白で分かれていないので、さらに大変です。

mu4eの公式ドキュメントのFAQ "C.1 General"の8番に「インデキシングやmuやmu4eを使う前に、環境変数XAPIAN_CJK_NGRAMに値をnon-emptyに設定しておけば、中国語、日本語、韓国語の文字をサポートできます」と書いてあります。しかし、問題にあった方のページにもあるように、こちらで試しても、2文字なら検索できますが、3文字になるとだめなようでした。

一方で、この環境変数を使わなくても、ある程度は日本語の検索に対応しています。ただ、単語の区切りをどこにしているのかが、厳密に分からなかったため、あるはずのメールが見つからなくて困ることもありました。例えば、「クラス指導教員」で検索したら数十件のメールがヒットするのに、「クラス」で検索すると数件しかヒットしないということがありました。「クラス」のほうが「クラス指導教員」の部分なんだから、より多くのメールがヒットすると期待していましたが、そうはならないようです。個々のメールを見て推測したのは「クラス指導教員」のようにカッコであったり、あるいは改行や空白などで区切られた部分を単語の区切りとしているようです(ただ、それだけではないようなのでルールが分からず困るのですが)。そのため「クラス  指導教員」と空白で分割されていれば「クラス」でもヒットしますが、そうでなければヒットしません。

単語の区切りをどこにするかはmuやmu4eの機能ではなく、Xapianの機能なので、これまでもインデキシングに関する文書を探したことはありましたが、どのように分割しているのか、なぜ2文字は検索できて3文字はダメなのかよく分かりませんでした。今回、XapianのAPIに関する公式のドキュメント中に、以下の記述を見つけました(訳は私)。

環境変数FLAG_CJK_NGRAMに値が設定されているとXAPIAN_CJK_NGRAMの値も自動的に設定されます(ただし1.4.11でdeprecatedとなっています)

さらに、ここには、環境変数FLAG_CJK_NGRAMを設定しておけば『ユニグラムとバイグラムに分割される』と明示してあります。ユニグラムは1文字、バイグラムは2文字のことです。つまり、「クラス指導教員」は「ク ラ ス 指 導 教 員」というユニグラム(1文字)と「クラ ラス ス指 指導 導教 教員」というバイグラム(2文字)に分割されることになります。上で、なぜ3文字では見つからないのかと疑問がありましたが、分割はバイグラムまでで、トライグラム(3文字)には分割しないからです。

ただし、引用部分で注意してあるように、最近のバージョンではFLAG_CJK_NGRAMの値は自動的にはXAPIAN_CJK_NGRAMには設定されないので、XAPIAN_CJK_NGRAMの値を1などにセットしましょう。実際にFLAG_CJK_NGRAM=1でインデックスを作っても、うまく検索できず、XAPIAN_CJK_NGRAM=1でインデックスを作れば、うまく検索できました。

例えば「合弁会社」が含まれるメールを探す場合は、「合弁 会社」で探すことが考えられますが、これだと「xy社を合弁化し、会社として」のように「合弁」と「会社」が別々に出現するものがヒットします。つながりを持った「合弁会社」を探したければ「合弁 弁会 会社」で探してください、ということです。トライグラムや4-gram(4文字)も用意してくれたら、こんな面倒なことをせずにすむのにと思うかもしれませんが、たぶん、データベースが大きくなることがいやなのだろうと思います。またバイグラムがあれば、任意のつながりが表現できるので、十分だろうということでしょう。

4文字の「合弁会社」を毎回「合弁 弁会 会社」と入力するのは面倒くさいので、Emacs Lispで関数を準備して、3文字以上の日本語が与えられたら、2文字ずつバイグラムに分解したものをmu4eに渡すようにすればよいでしょう。文字列を入力として、アルファベットなら、そのままmu4e-headers-search関数に渡し、文字列が日本語ならバイグラムに分割した上で、この関数に渡すようにします(といいつつ、Emacs Lispはよく分かっていないので、どなたかやってくれる人がいたら...)。

特定のソフトに起因する文字化けへの対策

丸囲み数字やはしご高など、文字化けしそうな文字であっても、charsetが適切に設定してあれば問題なく表示できます。しかし、Microsoft社のメールソフトでは、これらの文字が送信するメール内に含まれていても、条件によってはiso-2022-jpと設定して送ることがあります。これは明らかに規約に違反していると思うのですが、意外にこのソフトを使っている人が多くて困っています。多くの場合、送った側はこのような問題を指摘しても対応できるとは思えないので、なぜかこちらが対応をする必要があります。

こんな問題に時間をかけるのもばからしいので、awkでちゃちゃっと以下のようなスクリプトを書き、charset="iso-2022-jp"と設定してあるメールの該当部分を"utf-8"に書きかえるようにしました。

#!/usr/bin/awk -f
(tolower($0) ~ /charset="iso-2022-jp"/){
    print "charset=\"utf-8\"";
}
! (tolower($0) ~ /charset="iso-2022-jp"/){ 
   print $0;
}

これを適当な名前でPATHの通ったところに置いておきます。このコマンド自体は、メールそのものを書き換えるのではなく、単に標準出力に書き出すだけで、mu4eのメッセージ画面で"|"(mu4e-view-pipe)として、保存したコマンド名を入力すれば、化けていないメールが読めます。単にパターンマッチをしているので、メールの内容によっては(本文内に同様のパターンがあるなど)、うまくいかない場合もあるでしょう。

0

ウォーターパールの仕組み

はじめに

中学生の科学実験教室:いろんな試行錯誤」を見て、ウォーターパールなど光とタイミングに関する実験器具に関する質問がきたので、この機会に原理などをまとめておきます。このページにも書いていますが、我々が使う装置は以下の本を参考に作ったものです。
いきいき物理わくわく実験〈1〉
愛知物理サークル, 岐阜物理サークル
日本評論社(2002/03/01)

 

ウォーターパールの仕組み

まず、ウォーターパールとはどういうものか、中学生の科学実験教室の時に撮影したビデオで説明します。左上に見えるホースから水が流れ落ちています。振動のために、ホースが揺れて、水がカーブを描いています。部屋は暗くしてあるのですが、奥にいる学生さんが持っている光源(高速で点滅するマルチストロボ)の光で水が見えています。ストロボが点滅する間隔を変えることで、途中で水が止まって見えて、さらに、間隔を変えることで上に昇っているように見えます。
 
なぜ、このように見えるのでしょうか。これを理解するために、まずは装置の説明をしましょう。使っている装置よりも理解しやすいので、YouTubeの動画("Amazing Water & Sound Experiment #2")の装置で説明します。
 
水道につないだホースをスピーカーにくっつけて、スピーカーの振動をホースに与えています。水道の脇のツマミをまわして、スピーカーから出す音(正弦波(sine curve))の周波数(波が振動する速さ)を調整しています。1:30あたりのホースの動きを見ると、ホースが振動していて、これが正弦波の形になっていることが分かります。この動画は昼間の外で撮影されており、フラッシュは使っていませんが、フラッシュに相当するのは動画のカメラです。動画のカメラはあるタイミングで飛び飛びに静止画を撮っていると考えることができますが、これは暗い所でフラッシュがついた時だけ見えることと対応しています。動画のタイミングはフレームレートと呼ばれ、この画像では24のようです。これは、正弦波の周波数が24Hzで静止して見え、その後、23Hzで逆方向、25Hzで順方向に見えるためです。
 
次に、このような装置で、なぜ止まったり、水が昇ったりして見えるのか説明します。まずは、水が止まって見える場合です。簡単のため、1秒に1滴ずつの水滴が落ちているとしましょう。スピーカーの周波数が1Hzということです。これを暗いところで、フラッシュをたいて見ます。このフラッシュをたくタイミングを1Hz、つまり1秒間に1回にすると、水滴は止まってみえます。

図でいうと、次のタイミング(t=2)では、水滴は一つ下の位置に降りている(灰色の矢印)のに、あたかもオレンジの矢印の対応関係のように止まって見えます。
 
フラッシュを、例えば、0.9秒に1回のタイミングで光らせるとします。
すると今度は、さっきよりも早く光るため、さっきの位置より少し上で水滴が見えます。それでも、水滴は下に降りている(灰色の矢印)のですが、あたかもオレンジの矢印のように移動して見え、つまり、水滴が上昇しているように見えます。

逆に1.1秒間に1回光をつけたら、(自然落下よりも)ゆっくり下に落ちていくように見えます。
 

ウォーターパールのポイント

ウォーターパールのポイントとしては「対象となる動き」とは別に「観測する動き」の二つの動きがあり、かつ、どちらも周波数(あるいはタイミング)により動きが規定されている、ということです。もう少し具体的にいうと、スピーカー経由で振動を与えた水の動きが対象となる動きで、これをマルチストロボで飛び飛びに(つまりある周波数で)見るのが観測です。例えば、パラパラマンガは最初から「対象となる動き」しかないのに比べ、「観測する動き」が追加されている分、現象としては複雑です。パラパラマンガは、最初から意図したものが飛び飛びに用意することで、なめらかに動いているように見えるわけですが、ウォーターパールはもともと連続的に落ちているものを、わざと飛び飛びで観測し、さらに、この観測するタイミングを変えることで、見え方が変化するというものです。
 
このことをパラパラマンガに似ている玩具「トゥィンクルピクト」で見てみましょう。この玩具は、犬やイルカ、蝶々のような動物の形が円盤の上に、少しずつ動きを変えて配置されています。

パラパラマンガのような感じです。スイッチを押すと円盤が回るのですが、これだけだと、高速すぎて、パラパラマンガのような動きは見えません。これが、アニメのように動きが見えるポイントは、上部にあるライト(光)です。このライトは点滅することで、(ほぼ)連続的に見える対象の動きをサンプリングして、離散的にしてくれます。これによりパラパラマンガのページと同様、異なる動きがうまく取りだされ、アニメのように見えます。
 
「観測する」ということを分かりやすくするため、暗い部屋で光をつけていましたが、実は動画のカメラでも代用できます。動画のカメラは1秒間に(例えば)30枚のフレームに分けて撮影しています。つまり、飛び飛びのタイミングで観測しているわけです。なので、スピーカーのタイミングをこれにあわせる、つまり、周波数30Hzにすると、動画カメラで見た水滴は止まって見えます。今度は観測する側のタイミングは変えられないので、スピーカー側の周波数を大きくしたり小さくすることで、動画の水滴が上下に移動します。上のYouTubeの動画はそのような仕組みでウォーターパールが実現しています。
 

様々な動画:立体型から上昇・下降の同時アニメまで

今回、調べている時に見つけた他の動画も紹介します。こちらの動画は3分あたりからがウォーターパールですが、スピーカーとホースの接続の仕方が絶妙ですね。こちらも、水滴ではなく水流で、また、動画カメラによる再現をしています。


こちらの動画では、ペットボトルの後にマッサージ器をくっつけて振動を与えています。ホースの水じゃなくてもよいわけですね。また、暗くして光で観測しています。

トゥィンクルピクトはパラパラマンガに似ていると書きましたが、より直接的にパラパラマンガを立体的にしたものはゾートロープと呼ばれます。こちらに動画をつけておきます。

ターンテーブルのようなものに人形を、少しずつ動きをずらして置けば、三次元的なアニメができます。実際にそれを実現しているものがありました。

これは、さきほどのゾートロープの動画と違い、見るスリットがないため、そのままではアニメのように見えません。トゥインクルピクトでフラッシュがないような状態です。
これに光をあてることでアニメのように見せているようです。

さらに、光のタイミングをいろいろ変えれば、動きのタイミングを変えたり、さらには逆方向に動くようにも見えます。
マルチストロボのメーカーのページに、ゾートロープに加えてストロボの光を使うことで、単なるアニメでなく、幻想的な動きを実現している動画がありました。
 
高速で点滅する光をあてるためにマルチストロボ(ストロボスコープ)を使っていますが、これは結構高価です。ただ、これが二台あると、別々の周波数にするとことで、同時に(!?)、上下に移動する水滴を見ることができます。この現象は何度も再現していますが、分かりやすく見えるように撮影した動画がありません。2台のマルチストロボにカラーフィルムをかけて、光をあてています。どっちが上にいっているのか分かりづらいですが、雰囲気はこんな感じです。将来的にうまく取れたら動画のファイルは置換えます。
 
0

情報って何?(11):リーダーシップは情報伝播(3/3)

前の2回で、リーダーシップの具体的な例や、仮説「リーダーシップ=情報伝播」から導かれる帰
結などを見てきました。このシリーズの最後は、この仮説を理論的にまとめたいと思い
ます。また、
前々回の最後で宿題とした「ヒトラーはリーダーか?」という問題が、このモデル
はどうなるか
見てみましょう。

その前に、なぜ自分が理論的にまとめることにこだわっているのか、ようやく自分でも分かってき
たので、まず、その理由から。最初の理由として、自分にとっては比較的最近扱い始めた題材(リ
ダーシップ)であり、この分野の理論構築のやり方がよく分かっていないからではないかという
がします。しかし、しっかりした手順で進めていけば(既存の理論とは関係なく)、しっかりし
理論が構築できるだろう、ということだろうと思います。もう一つの理由は、既存のリーダー論
見ると、個性が大事だ、全ての人がリーダーだ、といった主張を見かけます。基本的にはこのよ
な主張に同意するものの、できればこういった主張をより根源的なところから導きたいというの
あります。つまり、「○○という性質から、みんながリーダーになれる可能性があるという結論が
導かれるよね」と持っていきたいわけですね。

では、準備に入ります。まず、事実として人間の認知システムとして「システム1」と「システム
2」が存在しています。次にシステム1の状態は「アナログ」であり、システム2で認知したこと
は「デジタル」で表現可能と仮定します(公理)。人間の脳はアナログコンピュータであるとはよ
く言われますが、脳に関しては分からないことが多いのと量子力学の不確定原理をよく理解できて
いないので、仮定としています。一方で、システム2自体も脳の一部で実現されていて、これ自体
はアナログでしょうが、我々が意識できるものは概念化されたものであり、デジタル化できるとい
う仮定です。これらの事実と公理から、言葉によるコミュニケーションはデジタルであり、システ
ム1の状態を完全に伝えることはできない、ということが導かれます。

(狭い意味での)「情報化」とは、アナログ情報をデジタルで表現することです。システム1/2
という言葉を用いると、「システム1の状態をシステム2で認知できる形式に変換すること」が情
報化です。情報化されたものの伝播を考えると、当然、受けとる側が存在して、こちらでは「シス
テム2で受けとって、システム1での理解に落としこむ」となります。一般的な言葉では、「体で
理解する」などにあたるのでしょう。こららをあわせて、「情報伝播」を「システム1→2⇒シス
テム2→1」となる認知プロセスの変化と自然に定義できます。ここで"→"は個人の中での変化、
"⇒"は複数の人の間での変化を表しています。

これまで、標語的に「リーダーシップ=情報伝播」としてきましたが、全ての情報伝播がリーダー
シップというわけではないでしょう。システム1の状態であれば何でも伝えたい、とはならないで
しょう。そこで、リーダーシップでよくでてくる「ビジョン」を導入し、さらに、その強さを導入
します。「ビジョン」はシステム1によって認知されたイメージと定義します。また、この認知に
は、以前から構築していたイメージとの結びつきより、強さが定義できます。

例えば、久し振りに古い友人とあうため、待ち合わせをしているとしましょう。もう何年も会って
なくて、最近の顔は知らないものとします。すると、システム1は通りがかる人に、知人との共通
点を見つけてしまい、「あっ、この人かな」「あれ、こっちの人かな」というように、違う人を友
人と思うことがあります。しかし、実際に当人が現れると、少しの共通点ではなくて、数多くの共
通点があり、「あっ、絶対のこの人!」と【分かります】。これが強いイメージです。これはリー
ダーシップではありませんが、この分かる感覚が非
常に強い印象を残すことを理解してもらえたら
と思います。共通点を見つける
ことは、脳内の複数の回路が結びつくことだと思いますが、たくさ
んの回路が同時に結びつくと、
非常に強い印象を残すのでしょう。

さて、いよいよリーダーシップです。リーダーシップとは、閃きなどシステム1による現象で得ら
れたビジョンを伝えていくプロセスです。そういう意味では、芸術家は自分が見たビジョンを絵や
音楽等で表現して伝
えようとしているという意味で、リーダーだと思います。また、科学者の着想
も最初は直感である
ことが多く、これを広めていくのはリーダーシップです。

一般的にリーダーは多くの反対
に遭います(例えばハイフェッツ教授などの本を参照)。それにも
かかわらず、ビジョンに向けて
進もうとするのは、個人の資質ではなく、ビジョンの強さによるの
ではないかと思って
います。これは、ポランニーが「暗黙知の次元」でいう科学的な仮説に対応し
ていて、『発見者は、
是が非でも隠れた心理を追及せずにはいられぬ責任感に満たされているの
だ。』に対応すると思います。
つまり、強い結びつきにより得られたビジョン等はある種の強制力
があるのでしょう。この
強制力は、前回紹介した東田さんのエピソードからも伺えます。彼は重度
の自閉症で、いま見てい
る光景と過去の体験が結びついたときに、一般の人には理解しにくい行動
(例えば跳びはねる)を
とってしまうという趣旨のことを書いています。

このシステム1の機能は、生物としての人間であれば基本的に誰でもできるもので、「優れたリー
ダー」でなくてもできるものだと思っています。ただ、教育や常識といった後天的に得た資質によ
り、自分が得たビジョンに対しコミットしないという選択をすることが多いのではないでしょう
か。つまり、誰でもリーダー候補になれるけど、リーダーになる資格を自ら放棄するのではないで
しょ
うか。こう考えると、「リーダー教育」で必要なものが見えてきそうです。

最後に、このモデルを用いるとヒトラーはリーダーと言えるかどうか考えてみましょう。このモデ
ルでは、ビジョンに対しリーダーシップが定義されます。彼は、みんなが見たいビジョンを提示し
たものの、自分で着想したビジョンの獲得には至っていない、つまりシステム1による結果ではな
いと思います。その間接的な証拠として、彼のビジョンは大衆に支持されるわけで、変革を嫌い反
対されたリーダーの例とは異なります。このように支持されるビジョンとして効果的なものは、過
去の良い時代のビジョンを未来のビジョンのように見せる手法です。強かったころの、良かったこ
ろのイメージはみんなに受けいれやすいもののですが、これは(この理論の)ビジョンとは言えま
ん。人の頭の中は見ることができないので、推測ですが、彼が提示したものはシステム1による
ものではないと思います。
0

情報って何?(10):リーダーシップは情報伝播(2/3)

前回、「リーダーシップ=情報伝播」と考えると、どういう結論を導くことができるか考えてみま
した。ここでの「伝播」は、個人のビジョンを広めていくことで、次回もう少し詳しく書きます
が、システム1を用いた、一種の閃きのようなものから出発します。今回、このようなタイプの
伝播を
行ったリーダーと、そうでないタイプの例を見ていきたいと思います。頭の内部での出来
事ですの
で、タイプ分けは推測にすぎません。
 
まず、一般に「リーダー」という場合、組織の長や政治家を指すことが多いですが、前回にも書い
たようにemergentなリーダーを想定しているので、組織の長や政治家は必ずしもemergentなリー
ダーとは限りません。しかし、何かのビジョンを得てemergentなリーダとなることもあります。こ
のタイプとして、宅急便の生みの親である小倉昌男さんをあげます。ヤマト運輸の社長だった時に
周りに猛反対をされたにもかかわらず、個人向け宅配事業を日本で立ちあげます。反対にもかかわ
らず、事業を推進できた理由は、日本全体の個人の荷物の流れのトップダウンなイ
メージと、アメ
リカでのUPSの車を見たときに閃いたボトムアップな見積もりのイメージという強
固なビジョンを
得たからだと思います。このビジョンを広めていくわけですが、このあたりの話しはぜひ以下の本
を読んでください。面白いです。
小倉昌男 経営学
小倉昌男
日経BP社(2013/09/11)


リーダーの代名詞のような「スティーブ・ジョブズ」はどうでしょうか。リーダーはビジョンを広
めていくため、ビジョンに対し
定義されます。彼はパソコンに対するビジョンとiPhone等のパソコ
ン以後のビジョンは別で、少なくとも2度リーダーシップを発揮している
ように見えます。パソコン
についてはビル・ゲイツもリーダーでしょう。
どちらが良いリーダーか?を評価したい気もします
が、いまのところ評価
はモデルの対象外です。
 
次は、emergentではない、つまり情報伝播型ではないリーダーを少し考えてみます。このタイプの
典型例は「山岳リーダー」ではないかと思っています。この場合のリーダーは、山岳に登りたいと
思う顧客に依頼されて、専門的知識を提供しつつ、ある場所へリードする人です。目的は明確であ
り、その意味で、「どこへ」を考えるのではなく、「どのようにして」(how)を提供する人になり
ます。例えば、地域おこしにおけるコーディネータもこのタイプではないかと思います。日常的に
もこのタイプは多くて、タクシーやバスの運転手さんから、教師や医者もそうだろうと思います。
また、甲子園の常連のような名物監督さんも、このようなタイプではないかと思います。

ビジョンはすでに周知で情報伝播型ではないはいえ、そこに到達したことのない人には見えない
世界が見えているという意味では、
ビジョンの伝達といってもよいかもしれません。つまり、情
報伝達型と専門知識提供型はまったく
別物というよりも、連続的に変化していると思います。こ
のタイプでも、単に知識を提供
するだけでなく、内面まで変えることもあります。以前のエント
リ「
よい大学の先生は何をしているか?:ベストプロフェッサー」の「ベストプロフェッサー」は、
そのような例でしょう。
決断科学センターで一緒に仕事をしている、食育で有名な比良松先生も、
自炊塾と呼ばれる授業を通して、学生さんのメンタルモデルを変えており、
立派なリーダーと言え
るでしょう。この専門知識提供タイプとして
、アインシュタインやダーウィンらの傑出した科学者
をあげることができます。専門知識提供型ですが、たしかに彼らは、まず自分たちにしか見えない
世界を見ていて、これを広めていったわけです。
 
地域の取り組みにおけるリーダーも重要でしょう。例えば、葉っぱビジネスで有名な徳島県上勝町
の横石さんを挙げておきます。「そうだ葉っぱを売ろう」には、
彼がインスピレーションを得た場
面、このビジョンを苦労しながら伝播していく様子が描かれてい
ます。横石さんは、まだ存在すら
していなかった葉っぱビジネスを創りあげるわけですが、その過
程で体を壊すような経験もされて
います。このような実行力は彼のもともとの資質なのかもしれま
せんが、最初のビジョンが強烈で
あれば、何度失敗しても反対されても、このビジョンを諦めるこ
とができず、結果として自然に実
行力が伴うのではないかというのがこのモデルから導かれる結論
です。
 
次に、まだリーダーと言えるかどうか分かりませんが、その可能性を非常に感じた人を紹介しま
す。下記本の著者 東田直樹さんです。彼は重度の自閉症で、普通にはコミュニケーションでき
ませんが、キーボードまたはそのレイアウトを書いた紙によってコミュニケーションがとれ
す。
上の本は、知的障害者に対する一般的なビジョンを変える、つまり、新しいビジョンを提示
てい
るものと考えられ、このような観点からemergentなリーダーと言えるのではないかと思って
ます。
ここまでの例は、一般に名が知られている人たちでしたが、最後にそうでない例もあげておきます
(この段落の内容は「クラシック音楽館「音楽になにができま
すか~仙台フィル・復興コンサートの
記録~」に基づいています」)。東北大震
災の直後から、仙台フィルは「復興コンサート」行ってき
たそうです。団員にも
聞く側にも、音楽とかやっている場合かという考えがあったようです。実際そ
ように思っていた方で、しかし、コンサートを聞いて音楽の力を痛感したある女性は、地元で合唱
団を結成したそうです。これは、自分の思いを伝えよ
う、つまり、情報伝播ではないかと思います。
つまり、このモデルにおける
emergentなリーダーではないかと思うのです。
0

情報って何?(9):リーダーシップは情報伝播(1/3)

さて、この「情報って何?」シリーズも9回目で、今回が最後です。このシリーズを書き始めた
一つのキッカケは、リーダーシップというのが情報の伝播としてモデル化できるのではないかと
思いついたことです。今回は「リーダーシップ=情報伝播」を受け入れると、どんな結論が出て
くるかを書き、次回、私がイメージするリーダーを紹介します。また、このモデルを導くところ
は最後(3回目)に書きたいと思います。

もともと、有名なリーダーは個性的な人が多く、一般的な興味としてリーダーやリーダーシップに
は興味がありましたが、モデル化まで考えるようになったのは、九大の「博士課程教育リーディン
グプログラム
」の一つである「持続可能な社会のための決断科学プログラム」(以下、決断科学)に
関わるようになったからです。

このシリーズでも書いたように、また、科学的な手法がそうであるように、演繹的なアプローチと
帰納的なアプローチの双方を取りますが、まずは、様々なリーダー(のような人)を多く見聞きして、
ある程度直観的に「この人はリーダー」「この人は違う」といった作業を行います。リーダーや
リーダーシップを扱った本では、基本的にここまで、つまり、例に共通する性質を挙げているに
すぎません。また、リーダーは人であり、これに共通する性質ということで人の資質に関する議論
になりがちです。そのため「立派な人」がリーダーになるような感じがして、「自分は違う」とい
う感じしか受けません。これは、取り上げられるリーダーが多くの人に多大な影響を与えた人を
対象にしているからでしょう。

一方で、適切なモデル化のためには、一般にはリーダーとは言えないような人も考慮して、なぜリ
ーダーと呼ばないのか、本当にリーダーではないのかも考えます。また、結果を出した人ばかりで
はなく、出そうとして試行錯誤している人や失敗した人なども考察すべきでしょう。このように
考える過程で、まず、リーダーの要件にフォロワーの人数や影響を与えた人数は含まれないと思え
てきました。小さな範囲でもリーダーということはありえます。実際、地域おこしの視察は、現在
進行形で地域を変えようとしているがまだ成功していない、まだリーダーとは言えない人たちの姿
を見て、このような人もリーダーと扱うべきではないか、という気がしてきました。つまり、『結
果にの大きさよってリーダーかどうかが決まるのではない』わけです。

では、何によって決まるのでしょう。ここで、自分がこだわってきた「情報」と「リーダーシッ
プ」が結びつきました。つまり、人(リーダー)に着目するのではなく、『何か伝えたい思い
(ビジョン)が伝わっていくプロセスがリーダーシップ』ではないか、ということです。この
場合、リーダーは思い(ビジョン)に対して存在するので、ある組織の中で別のビジョンを持つ
複数のリーダーが居てもよいことになります。システム1のイメージは、このシリーズで取り
あげてきたように、システム2で明確に表現することは難しく、ロジカルな説明では伝わりま
せん。その代り、共感や情熱といった類のもので、その思いを伝えていき、同士が増えていき
ます。

ここで、「リーダーシップ=情報伝播」を正しいと仮定します。その上で、どんな結論が導け
るか考え、不都合なことはなく、また、いままでの知見では導けなかったことがこの仮説から
言えれば、この理論は正しそうです。

まず、最初の帰結として、「一人でもリーダー」だし、初期の時には「全てのリーダーは一人
であった」ということが言えます。そういう意味で、この理論が扱うリーダーはemergent leaderと
呼ばれるもので選挙で、選ばれたリーダーや任命されたリーダーとは異なります。いままでのリー
ダー(またはリーダーシップ)論のほとんどは、組織があって、そのリーダーを考えるという立場を
とっていますが、この仮説では、組織はビジョンの実現の手段として存在するものと言えます。
リーダーシップの旅 見えないものを見る (光文社新書)
野田 智義, 金井 壽宏
光文社(2007/02/16)


という本もこの結論と同様のことを言っていますが、「なぜ」一人から始まるのかというメカ
ニズムには答えていないように思います。

システム1と2の間の伝播には一般に時間がかかります。行動変容には時間がかかると言って
もよいかもしれません。そのため、上のモデルの帰結として、リーダーシップを発揮すること
も一般には時間がかかります。この点に関して、各地の地域おこし等の活動を数多く見てきた
法学研究院の出水先生は10年続くと、何らかの「成果」ができ、20年続くと「全国区」
になる』とおっしゃっており、時間がかかることが納得できます。このことは、自分の少ない
経験
にも合致しています。全国区になったところで直接話しを聞いたのは徳島の神山町です
が、ここも20年
たっています。一方で、ある災害からちょうど10年経過した地域に視察にいっ
たところ、ようやく成果が出はじめたたけ
ど、まだ、全国区ではないという感じでした。

また、リーダーの資質として○○型がよいといったような主張もありますが、組織を作る
こと自体が手段であり、どのようなタイプのリーダーがよいかも作った組織や目的として
いるビジョンに応じて変化するでしょう。つまり、いろんなタイプのリーダーがいてよい、
という結論になります。実際、いろんなタイプがいますよね。

最後に、自分にとって意外だった帰結として、『リーダーシップは(伝播であるため)合意
形成ではない』ということがあります。思いを伝えるというのは、ある意味、迷惑なことか
もしれません。その意味で、例えば、よい映画を見たから「面白かったよ」と友だちに伝え
る行動と本質的には同じだと思います。何か新しい取り組みを始めるときに、失敗する典型
的な例はステークホルダーの合意を取りつけてから行動しようするものでしょう。合意はな
くても、その思いを伝えていくことがリーダーシップと言えます。個性的なリーダーを思い
うかべてみれば、自分の思いに忠実であるため、自分勝手に見えるようなリーダーも多いの
は、こういうところから納得できます。また、以下の本では『地域活性化で成果をあげるの
は、一致団結した大集団ではなく、孤独と向き合って覚悟を決めた少人数のグループです。
たとえ一軒の店からでも、その地域に変化を起こすことは出来ます。』とあります。


このように、仮説から導かれる結果は、いまのところ、自分ではよく納得できています。
また、今回は書きませんでしたが、例えば、詐欺師はリーダーかという問題は宿題とします。
私の中では、この理論で納得のいく答えが得られて、非常にスッキリです。類題として、
ヒトラーのような例を考えてもよいでしょう。上述の「リーダーシップの旅」のリーダーの
条件を、ヒトラーはみたしてるそうです、彼らの定義ではリーダーとなります。また、
リーダーに対して高い倫理性(のようなもの)を求める人も多いですが、これは、心情的に
はリーダーと認めたくない(と思われる)ヒトラーをはじくことができず、定義とは別次元
の資質に頼ることになっています。理論を考える立場のものとしては、なんだかなあという
感じです。
0

情報って何?(8):教育での応用例(3/3)

前回は番外編でしたが、その前の2回では教育を「情報」という観点から見てきました。
教育に関する話題としては今回が最後です。今回の結論は「教育は情報伝播である」と
いうことです。
 
情報って何?(5):教育での応用例(1/3)」で述べたように、実際の体験を抽象化する
ことは、システム1での理解をシステム2で表現することです。一方で、人間という
メディアを離れた表現は、伝えることができます。教育はこれを利用するわけですが、
単に送りつけただけで伝わるわけではないでしょう。受け手のことを考えると、システム2
として受け取ったものを、自らのシステム1で理解して始めて伝わったといえるでしょう。
俗に「腑に落ちる」の「腑」は「はらわた」「臓腑」のことで、システム1による
理解のことではないでしょうか。数学の公式のように、もともと、システム2としての
性格が強いものも、手を動かして多くの問題に適用して、体で理解したほうが、そうでない
理解よりも深い理解だと思うんですよ。
 
さて、この時「システム1→システム2」が情報化ですが、受け手側は「システム2→
システム1」となります。ここまでで「情報が伝播した」と言えます。

これと同様のことは、「情報って何?(2):スポーツから考える(1/2)において、
メンタルモデルの更新として書きましたが、受け手のメンタルモデルが更新できて
始めて伝わったということです。こう考えると、教育はまさしく情報伝播だと言えます。
つまり、単に試験が終わるまで更新を頭に留めておくというのは、システム2まで届いた
ものの、という状態で、伝播しなかったと言えます。

さて、簡単にメンタルモデルの更新と言いましたが、実践はそう簡単ではありません。
ここには2種類の原理的な難しさがあります。まず、システム2で表現できれば、言葉や本、
インターネット上で拡散できるので、複数の人に伝えられるわけですが、一般に
メンタルモデルは相手によって違います。ある人には伝わった表現でも、別の人には
伝わらないかもしれません。以前のエントリ「情報って何?(2):スポーツから考える(1/2)
書いたように、思い込みに気付くかどうかで、うまく伝わるかどうかが変わります。
その意味で、大勢に同時に教えるというのは非常に難しさを感じます。
 
もう一つは、システム1での理解をシステム2に変換すること自体が難しいことです。
アナログからデジタルの変換にも、精度の低下という意味での困難が伴いますが、
実数値から整数値という数値間の変換に比べて、言葉等で表すことは、さらに
困難が増します。このあたりのことは、例えば、
に詳しく書いてあります。この本には、どのようにしたら、この表現力を磨くかに
ついての取り組みも紹介してあり、例えば、オノマトペを使った利き茶が印象に
残りました。オノマトペは、言葉と違い、体感や感覚をそのまま伝える働きが強い
のだろうと思います。こう考えると、長嶋終身名誉監督は、自分の体感をそのまま
伝えようとされているのでしょうね。ただ、それは、同じようなシステム1をあらかじめ
持っていないと理解は難しいでしょう。少なくとも、私には理解は難しそうです。
 
こちらのエントリ「情報って何?(3):スポーツから考える(2/2)」には、自分の
システム1の鍛え方を書きましたが、
教育として考える場合、どうやってシステム1
まで届けるかというのが重要になります。
何事も自分で何度も経験をすることが、
最も「腑に落ちる」と思われますが、
これにはけっこうなコストが必要です。
しかし、名門と呼ばれる学校では、一見ムダと思えるような名物授業があります。
名門校の不思議な授業には、そのような授業をまとめて取材してあります。
これは、実際の体験を重視してしているからだと思います。こういった例からも、
システム1まで伝播させることが重要だと言えるでしょう。
 
しかし、名門校がこのような「ムダ」を体験させられるのは、他の授業の進度が
早いからからもしれません。つまり、高い偏差値による驚異的な進度でコストを
カバーしてるとも言えます。一般には、こういった方法は取れないでしょう。
そのような
場合は、仮想的な体験をしてもらうことが考えられます。例えば、
劇によって南北の格差を体験してもらう、といった取り組みがされています。
このような取り組みで有名なのは「小学4年生の世界平和
小学4年生の世界平和 (ノンフィクション単行本)
ジョン・ハンター
KADOKAWA/角川書店(2014/03/26)

でしょう。擬似的であっても実際に体験が伴うからこそ、児童を大きく変えることが
できるのでしょう。
 
仮想的な体験にはICTの利用も有効です。例えば、英語の単語を覚える時に、「こんな
状況ではこういう単語を使うのね」といった体験がないまま丸暗記するのはあまり
楽しい作業ではありません。
一方、オンラインの辞書では多くの例文があり、
仮想的に体験ができます。
例えば、"put together"の「感覚」を掴むのには、
オンライン辞書の用例を多く
「体験」することで、雰囲気がよく掴めます。
同様に、お手玉、ベーゴマ、けん玉、竹馬など体を使った遊びに関しても、
数多くの動画がアップされており、
このような動画で仮想的な体験をして、動きを
学ぶことができます。
 
システム1は、未知なものに対し拒否反応を示します。なので、他者を理解する時に
体験や体感が非常に重要です。少し前になりますが「ココがズレてる健常者 
障害者100人がモノ申す!」という番組がありました。それまで、障害を持つ人に
出会ったら特別に扱う必要があると思う一方で、具体的にどう接していいのか分かり
ませんでした。しかし、番組によって意識が変化し、その後、再放送や同様の番組
(バリバラ)等を見て、仮想的に体験回数を増やすことで、自分の中の「普通」の範囲が
かなり広がり、ある意味、普通に接すればいいんだと思うようになりました。
0

情報って何?(7):出口さんの講演と情報化

少し前になりますが、4/28日(金)に、持続可能な社会のための決断科学センター
の特別講義として、ライフネット生命株式会社 代表取締役会長 出口治明さんに
よる講演会「グローバルリーダーが身につけるべき思考軸,教養」がありました。
非常に刺激的な話しでしたが、話しを聞いていて、以前から考えていたことがすっ
きりまとまりそうだったので、この経験を情報とからめて書いてみました。
結論としては、現実の現象を大胆に削り、シンプルなモデルを浮かびあがらせるか
というのは、
ある種のチャレンジ精神だと思います。

出口さんの話しを簡単にまとめると、現状をまとめ、今後どうすべきか、そのためには
いま何をすべきかということになります。ある意味当たり前とも思えるような内容ですが、
数字やデータをベースにして話されるため、非常に説得力があります。
また、幅広い教養をもとに、様々な史実や国の事情における事例をからめた説明もあり、
分かりやすく、しかも、知的好奇心を刺激されます。
そもそも与えられたお題がモヤっとしているのに、スッキリ分かりやすいメッセージとして
学生さんにも伝わったのではないかと思います。

これらの良い点の根底にあるのは、現状の今後のカタチを非常にシンプルな形で
述べておられたからだと思います。
例えば、長時間労働や均一な人材を産み出す教育を行っている背景として、均等
な品質なものを大量に生成したいという第二次産業が中心の世界というのがあり、
第三次産業が中心となってきた現在にはマッチしない、といった趣旨の話しがあ
りました。つまり「産業構造の変化に対応できていない」というわけです。
ここまでシンプルに言い切ってしまうと、個別の事例を出して反対す
る人もでてきそうです。しかし、理論や方針といったものは、そもそも
【全ての】事例を説明するものではありません。
また、時には、【目に見えるもの】すら説明できないような場合もあります。
よく使う重力の例ですが、重いものと軽いものはどちらが早く落ちるか、という問いに対し、
日常的な経験のみからでは、羽毛などの軽いものはゆっくり落ちて、同じ重さの
木片のようなものは早く落ちると答えるでしょう。
しかし、日常見る現象は、重力以外の条件である空気抵抗が入っており、
重力のみなら、どちらも同じ速さで落ちます。
このようなことをもって、ニュートン力学は現実には役に立たないとは結論
できないでしょう。

情報化の観点からいうと、そのままの現象であるアナログを解釈を含んだ
デジタルに変更する段階で、必ずなんらかの情報が落ちています。
この言明は、有限の時間であれば【必ず】成立します(情報理論の不確定性原理)。
しかし、デジタル化したもの(またはシンプルに言いかえたメッセージ)が役に
立たないわけではなく、このような変換のおかげで通信すること(人に伝えること)
が容易になります。

数学や物理では、人間が関係しないので、複雑なものからシンプルな原理を
抽出することは多いのですが、人間の例で面白かった別の例も挙げておきます。
何度か腰を傷めた経験から、体の使い方にも興味があるのですが、
それで知ったのが伊藤昇さんの胴体力です。

簡単にいうと、人の動きは胴体で決まり、胴体の動きは
1.伸ばす/縮める 2.丸める/反る 3.捻るの3つである、というものです。
私自身は、体を動かすことに関するプロではないので、この正しさは検証できませんが、
最近飼い始めた仔犬の走る動きを見ていると、胴体が基本なんだろうという気がしてきます。
また、我々人類も脊椎動物であり、脊椎に手足がくっついていると見れば、
やはり胴体が中心なんだろうと思います。
こちらに、伊藤昇さんがテレビにでたときの様子があります。
胴体力 - 伊藤昇先生と坂東玉三郎氏

こういう主張を見ると、現実の現象を大胆に削り、シンプルな形
(メッセージやモデル)を浮かびあがらせるかというのは、
ある種の
チャレンジ精神だなあという気がします。
0

情報って何?(6):教育での応用例(2/3)

前回、教育のポイントは体験や試行錯誤で、これを『情報化』(システム1→システム2)と捉えました。
今回は、講義での具体的な教材を取りあげて、この情報化について見ていきます。特に、昨年度から
9年担当してきた「データ科学」を担当しなくなったので、どんなことをしてきたのかまとめてみた
いと思います。この講義がきっかけで「小学生に教えるフーリエ変換」という体験もでき、自分に
とっても思い出深い講義です。結論めいたことを先に書くと『講義を作るのは教員だけではなく、
学生さんとのコラボで作るもの』ということでしょうか。
 
以前の担当者は、画像認識の授業をされていて、引継ぎの時には「データ科学という名前なんだから、
画像認識である必要はなくて、自分の研究で扱うデータに関連したことを教えればいいですよ」と
いった趣旨のアドバイスを受けました。しかし、画像認識の中でフーリエ変換が扱われていて、
物理学科出身の自分には懐しかったので、基本的に同じ内容を引継ぐことにして、少しずつ改善
していきました。そして、平成21年度から「これなら分かる応用数学教室―最小二乗法から
ウェーブレットまで」(金谷 健一)を教科書として、この流れに沿った授業にしました。
 
この教科書では、具体例からより抽象的な理論を構築するという流れになっています。
例えば、最小二乗法は、まずデータを直線で近似(単回帰)する場合の直線の求め方から始まり、
二次関数、三次関数からn次多項式での近似と進みます。議論の流れは同じで、何が共通して
いるか(本質的か)が見えやすくなっており、これを受けて、最終的には一般の関数による近似と
なります。つまり、前回のエントリと同じく、例から始めて帰納的に仮説を取りだし、
演繹的に証明する、という流れが基本です。
 
さらに、1コマの授業のフォーマット自体を試行錯誤し、学生さんたちがまず自分たちで考えてから、
その後説明する、という形式にしています。反転講義とも似ていますが、これは説明と演習を行う
場所を変えた(家で説明を読む・見る、学校で演習する)のに対し、そもそも未知のことを考えることを
重視しています。例えば、最小二乗法でいうと、「n個のデータを直線で近似する時に、どういう
直線がよいか、傾きと切片を求めなさい」というところから始まります。授業では、まだ最小二乗法が
何であるかは説明しておらず、多くの場合、データ点と求めるべき直線の間に垂線を引き、垂線の長さ
(つまり、距離)の和を最小化しようとします。しかし、距離を求めるのは意外に難しいことに気付き、
どうしようとなったあたりで、少しヒントを出したります。
 
このようにすることで、定義を頭ごなしに与えられてきたものでも、どういう意味があるのかを自分で
考えることになります。例えば、ある年の授業中に、学生同士で話しながら実習をしている時に、
ある学生がボソッと「内積の意味が分かったかも」と言ったのを聞いたことは、非常に嬉しい経験でした。
 
このような試行錯誤以外にも、様々な体験型の教材や問題を考えてきました。
以下に列挙しておきます。まず、サンプリング定理や周波数に関連して
  • CD+ダンボールによる手作りプリズム
  • 自作のウォーターパール(写真)
  • ツウィンクルピクト
  • 扇風機とマルチストロボ
といったものを使いました。ウォーターパールとツウィンクルピクトは、こちらのエントリ(ウォーターパールの仕組み)に写真がありました。また、直交基底による情報の表現に関して、ブロックの形を送る時にどうやって送ろうか、という状況を考え、「矩形波ブロック(実質はアダマール基底)」を送るということにしました。こちらのエントリ(小学生に教えるフーリエ変換)の4色の図です。これを元に、iPadアプリによる矩形波ブロックの計算するHTML5+JavaScriptのアプリも作りました。
 
このような体験は、比較的学生さんに好評だと思っていますが、特に受けが良いという学年があります。学年のカラーなんでしょうか。このような年に、面白い実習問題や教材が増えるように感じています。つまり、講義を作るのは教員だけではなく、学生さんとのコラボで作るものだなあと感じだ授業でもありました。
0

情報って何?(5):教育での応用例(1/3)

前々回のエントリ「情報って何?(3):スポーツから考える(2/2)」までで、情報
人間の2つの思考システムの間をつなぐものととらえました。今回は、実際に
この
考え方を活かした教育や勉強について考えてみます。結論としては、
試行錯誤
(失敗)の重要性は一部で言われているところですが、これを「情報化」と捉えら
れるのでは、ということでしょうか。
 
2つの思考システムを知る前から、授業では体験や体感というものにこだわって
きました。「中学生の科学実験教室」や出前
授業等のイベントはもちろん、通常の
講義でも、トランプを使ってアルゴリズム
の基本的な考え方を理解したり、図書
カードの作
成を通してデータベースの設計を学んだりしてきました。
 
このこだわりを、2つの思考システム(速い思考であるシステム1、遅い思考であ
るシステム2)で捉えなおしてみると、システム1で理解し、さらに、この理解を
システム2の理解へとつなげてもらいたい、ことになるでしょう。

前々回のエントリから「システム1で理解する」というのは分かりやすいと
思います。体感したことをそのまま捉えると、例えば、物理学における「重い
ものが軽いものよりも速く落ちる」といううような素朴な理解になります。
そこで、体感を抽象化してみて、逆に抽象化した概念を、未知の例も含めて、
実際に適用してみて、概念の正しさを検証することが必要になります。

このようなプロセスは「帰納」と「演繹」の両方になります。演繹は原理や
原則から個別の結論を導くもので、逆に、帰納は複数の例や体験に
共通する
法則を見つけるものです。科学でいえば、基本方程式や原理(例えば
ニュートン
方程式)を仮定し、その上で個別の現象(例えば、特定の速度で投げ
あげた
ボールの動き)を説明してみせるのが演繹で、観測や実験の結果から仮説

得るのが帰納です。ここでは、類推(abduction)等も含む、広義の意味で帰納
を使っています。
 
最初に公式を教えて、これを使って問題を解くというのは、演繹的なアプローチ
です。この場合、公式の部分を頭ごなしに覚えるだけのことが多いため、なぜそ
なるのか分からないし、あまり面白くもありません。逆に、いくつかの事例か

公式を導くのが帰納的なアプローチですが、日本の教育では、あまり見ないよ
うに
思います。実際、コンピュタービジョンの第一人者である金出先生
の本に、日米の
教育についてそのような記述があります。
独創はひらめかない―「素人発想、玄人実行」の法則
金出 武雄
日本経済新聞出版社(2012/11/23)



どちらか一方が重要ではなく、両方が重要なわけですが、日本では、少なくとも
帰納的なアプローチが少ないような気がします。なので体験や実例は重要だと思っ
ていて、2つの思考システムを知る前から、そのような体験を授業に取り入れる
工夫をしてきました。

理解を助ける効果以外にも、教育における帰納的なアプローチには、重要な効果
があるだろうと思っています。まず、日常的な現象と理論や公式との対応をつけ
ることで、学校で学ぶことが机上の空論ではなく、現実世界と密接に関係してい
ることが体験できます。以前、「文献紹介:国際比較から見た日本の「知の営み」
の危機」に書いたように、日本では理科の点数は高いけど、生活には関係ないと
思っている人が多いようです。
 
さらに、直感的な閃きを得る練習にもなると期待しています。そもそも、帰納的
なアプローチで得られたものは、論理的に正しいわけではありません。ある種の
飛躍なわけですが、閃きや着想、直感といったものは、この種の飛躍があり、
納的なアプローチで得られることが多いでしょう。飛躍があるため、正しいか
うかは別のアプローチ、例えば、演繹的に別の事例に適用して、ということが
要で、間違っている例があれば、別の着想が必要になります。
 
これを、もう少し大げさにいうと、「トライして、失敗を繰り返して、目標に到
達する」ことを経験できるのではないかと思っています。正しさが前提にある世
では、いかに失敗しかないかが重要になります。実際、大学入試までの範囲で
は、
そのような教育が行われているように思います。しかし、研究はもちろんそ
うです
が、社会にでれば、このような試行錯誤が重要ではないかと思っていて、
そのような
メンタリティを持ってもらいたいと思っています。そのために、複数
の体験を抽象化
するという『情報化』(システム1→システム2)が役立つというような講義を作って
いきたいも
のです。
0

情報って何?(4):カッコはいつ取るの?

こちらの記事「5-(-3)はなぜ5+3? 三女の涙と父が伝えたかったことを Twitter で知って、三女さんが納得できる(かもしれない)説明を考えました。最初は Tweet しようと思ったのですが、140文字では無理だったので、ブログに書きます。ここで重要なのは、三女さんに分かりやすい説明かどうかで、正しいことを書けばよいというものではありません。そのため、最初はさらっと書くつもりだったのに、けっこう難産になってしまいました。なお、このエントリーは、以前書いた「役立つかどうかではなく、役立てられるかどうかだ!がベースになっています。
 
まず、大前提として、「情報って何?(2):スポーツから考える(1/2)に書いたように、同じ説明でも、すでに持っているメンタルモデルは人によって違うので、同じように伝わるとは限りません。ある説明が理解できなくても、自分で納得のできる説明をつけられる、つまり、自分でメンタルモデルを構築できるとよいのですが、ここで書いたようになかなか難しいものです。しかし、いろんな説明を聞いたら、その説明自体で納得しなくても、納得の仕方をつかめるかもしれません。
 
三女さんのお父さんは「数直線上の旅人 「タス君」と「ヒク君」」という説明をされました。これは、加算と減算をどう捉えるか、ということだろうと思います。三女さんがどのような理解の仕方をしているかは分からないのですが、お父さんのブログから判断するに、加算減算のところより「カッコのとりはずし」にひっかかっているように思いましたので、そのような説明を試みます。
 
三女さんのお父さんと同様に、数直線で考えます。足し算や引き算を、右や左に移動すると考えるということです。ただ、これだとカッコをとるとらないが明示的にでてきません。また、これもお父さんが書いておられますが、加算減算の"-"と単項演算子の"-"がごっちゃになっているので、理解しにくいということもあります。そのため、まず、減算は存在しないと自分で勝手に考えてみます。つまり、引き算を5-3=5+(-3)として、足し算として考えます。カッコは消しなさいと習ったと思うのですが、逆にカッコが出てきましたが、しばらく我慢してください。
 
いったんこのように考えた上で、「-1をかける」を「大きさはそのままで(数直線上で)180度反対にする計算」と考え、-3=(-1)x3と考えます。また180度の二回転は元に戻るので、(-1)x(-3)=3です。つまり"-"の役割を反対方向を向けるだけとします。
 
例で考えると、5-(-3)=5+(-1)x(-3)=5+3です。つまり「カッコをいつとるか」ではなくて、(-1)を掛けて、数字の前の記号(+や-)が1つになったら自然にカッコがとれている、ということです。念のために書いておくと、"+1"を掛けるのは「大きさはそのままで方向はそのままにする演算」と考えられます。なので、5+3 =(+5)+(+3)=(+1)x5+(+1)x3 とカッコがなかったのに、カッコがつきましたが、+1は何も変えないので、そのまま消して、5+3になります。先頭の"+"は通常書かないので省略してあります。そう考えると、5+(-3)の"+"は、そのままにする演算子なので、-3をそのまま取りだして、5+(-3)=5-3とカッコが消えました。
 
他に、例えば、-(-3)+5 = (-1)x(-3)+5 = (+3)+5 = 3+5となります。一応、これで気になりそうな例はカバーしたつもりですが、どうだろう。
0

情報って何?(3):スポーツから考える(2/2)

前回のエントリ「情報って何?(2):スポーツから考える(1/2)では、スポーツでの指導を例に、理解の仕方には2種類あることを見てきました。この見方をもう少し詳しく見ていき、最初に提示した情報の定義を再検討し、最終的には人間の2つの思考システムの間をつなぐものとして情報を考えてみます。
 
ここで書いたように、他人に教えるはもちろん難しいわけですが、日常的によく経験するように、自分自身の動作や行動を変えることも、非常に難しいように思われます。この場合も、自分では明示的に知覚されていないイメージが行動を支配していることが多い上に、さらに、身についてしまった(多くは無意識の)動作を変えることは大変だからでしょう。こういう問題意識はかなり前から持っていたのですが、半年ほど前に「習得への情熱」という非常に面白い本を見つけました。
習得への情熱―チェスから武術へ―:上達するための、僕の意識的学習法
ジョッシュ・ウェイツキン
みすず書房(2015/08/18)
値段:¥ 3,240

 
これは、チェスと太極拳の世界的な名手である著者が、どのように学ぶかを説明したものです。乱暴にまとめると、無意識にできるようになるまで簡単な動作を反復し、その動作のイメージを構築します。これにより意識的にやることが減り、より高速でできたり、新しい動きが創発されるといったところでしょうか。チェスの場合は、まず簡単な盤面(終局)に慣れることで、一つ一つのコマを「イメージ」できるようになり、複雑な盤面でも直観的なイメージがわくということです。逆に、習い始めの頃に、(複雑な)序盤の定石を丸暗記すれば「効率よく」強くなれるわけですが、確固たるイメージを構築できていないため、序盤を持ちこたえられたり、予想外の手を出されたりすると、その後何をしていいか分からなくなってしまいます。
 
こうまとめると当たり前すぎな感じもしますが、世界的な大会でゾーンに入り、これまで構築してきた無意識の効果で、相手が止まってみえるようになり、勝つことが難しそうだった試合に勝つといった描写は、天才の中身を覗いているようで、エキサイティングです。チェスのほうも、地震がきっかけでゾーンに入り、急にその先の盤面が見通せた例も、それまでの苦悩とあわせると、静かな闘いである分、ある種の迫力に満ちています。他にも、例えば、太極拳の簡単な動作を、膨大な回数繰り返し、身につけていく様子は、ある種の迫力があります。
 
さて、人間の認知・判断には、直観的に判断する速いシステムと論理的に考える遅いシステムがあり、それぞれシステム1、システム2と呼ばれています。心理学者でノーベル経済学賞受賞のカーネマンの「ファスト&スロー」には、人間の思考は(以前は)論理的な思考が中心と思われていたのですが、意外にそうでもないことがよく描かれています。 この本によると、システム1とは「自動的に高速で働き、努力はまったく不要か、必要であってもわずかである。また、自分のほうからコントロールしている感覚は一切ない。」ということです。ここには書いてありませんが、高速化には脳の並列的な処理が関係していると思います。
 
システム1、システム2という用語を用いれば、「習得への情熱」の著者がやっていたことは、システム2をできるだけ用いずに、システム1で判断できるようにする、と言えるでしょう。これによって、同時に多くの判断を並列で処理でき、こうできない人より多くの情報処理ができるようになります。だからこそ、ゾーンに入った時など、止まって見えるのでしょう。それまではあまり理解できなかった達人の言葉(のいくつか)も、この考えを理解した後、理解できるようになりました。例えば、宮本武蔵の五輪書には「おのづから打てば、おのづから打つ」とありますが、これも無意識の重要性を語っているようにも思えます。そう考えると、長嶋終身名誉監督の「きた球を打つんですよ」も、非常に深い気がしてきました。棋士の羽生善治さんは「ほとんどの手は考えていない」「将棋が強くなるということはたくさんの手を考えなくて済むようになること」と述べています(NHKスペシャル「天使か悪魔か 羽生善治 人工知能を探る」)。
 
システム1のおかげ様々な判断が高速にできる一方で、無意識であるため、一度身についた(システム1の)考え方を変えるのは大変です。よく「頭では分かっているんだけど」というのは「システム2では分かっているんだけど、システム1では納得していない」ということなのでしょう。これを変える場合は、システム1側の理解を変えなくてはならず大変です。しかし、基本的なやり方というのは、「潜在化」してしまった意識を一度「顕在化」させ(意識できるようにする)、それを少しずつ変えて、再度、潜在化するという流れになるでしょう。実際、「習得への情熱」の著者は、太極拳の世界大会直前の練習では、極度に集中しているためか、しばしば無意識の動作によって今までやったこのない技(?)をかけていたことがあったようです。これを理解し、自分のものとして使えるようにするために、練習の様子をビデオに記録し、丹念にトレースすることで、無意識で行った動作を検出し、意識的に理解し、また無意識に落としていく様子も描かれています。
 
最初に、「情報って何?(1):審査の評価軸から考えるで、『キモチ・雰囲気・流れ等のモヤモヤっとしたイメージをカチっと表現したもの」が「情報」だと考えるようになりました。』と書きましたが、このような著書等を通して、この考えを双方向に拡張して、『直観的なイメージと論理的な表現の間をつなぐものが情報』と考えるようになりました。1人の人間の中であれば「システム1とシステム2をつなぐもの」となるでしょうし、集団の知識としては「暗黙知と形式知の間をつなぐもの」ということになるでしょう。
 
もともと、情報はその場にあるだけでは意味をなさず、通信のように移動して初めて意味を持つものだと思います。通信では物理的なメディアに依存したアナログからメディアに依存しないデジタルに変換し、通信します。また、通信先では、人間の感覚器官(耳など)を通して、(ある種の)メディアに依存したアナログ情報に変換されます。直観的なイメージと論理的な表現は、それぞれ、アナログとデジタルに対応しているということで、もともとの情報の役割とよく符合するという意味でも、納得できる定義ではないかと思っています。
0

情報って何?(番外編):ビスケットにびっくり!

(2016-05-30 追加) ビスケット作者の原田さんから連絡をいただき、「情報処理学会 論文誌」「情報処理学会 デジタルプラクティス」「ソフトウェア科学会」に掲載されたビスケットに関する論文が公開されているページを教えてもらいました。

子ども向けの科学イベント等をやる機会も多いので、子ども向けのプログラミング言語にも興味があります。子ども向けなので、簡単な言語がよいわけですが、できればプログラミングやコンピュータの本質を伝えたいとも思うわけで、なかなかそのバランスが難しいところです。今回、情報処理学会の学会誌「情報処理」で、ビジュアルプログラミング言語のビスケットの記事を読んで、これはすごいと思ったので紹介です。「情報って何?(1):審査の評価軸から考える」で書いた「単純性」「発展性」にばっちり合致すると思いました。
 
子ども向けのプログラミングのイベントはもちろん、最近ではプログラミング教室というものあるようです。そのようなところでは、例えば、MITで開発されたScratchがよく使われているようです。子どもと一緒にScratchをやったのですが、プログラミング言語としての汎用性は失わずに、レゴのようなインターフェイスで分かりやすく使える、というコンセプトだと理解しました。汎用性が高いために意外に難しく、小学校低学年では難しいと感じる子も多いだろうと思います(低学年でもハマる子もいるとは思います)。
 
さて、上の「情報処理」の記事(原田 康徳「小学生に分かるコンピュータサイエンスとしてのプログラミング教育 -ビスケットを用いて-」、情報処理、57(4), pp.344-348.)では、『プログラミングを学ぶことで,創造性であるとか問題解決力であるといった様々な能力が身に付く,という意見がある.(中略)(注:しかし、これらは)プログラミングでなければ教えられないことではない.』という問題意識を提示し、「プロググラムを書くことによってしか得られないコンピュータ観」がプログラミングでなければ教えられないものであるとして、これを自分たちが行っているワークショップ等を例に説明しています。実際に絵や動画を見たほうが分かりやすいのですが、上の記事は(しばらくは会員以外には)有料なので、原田さんのブログ「じゃんけんのシミュレーション」を参照してください。記事の最初のほうには、感染症シミュレーションの動画へのリンクもあります。どちらも、小学生でも十分作って理解することが可能です。
 
ビスケットは「メガネの左側絵に合致したら、右側の絵に置きかえる」という単純なものです。上のようなシミュレーション、ゲームなどが簡単に作れます。逆に、この単純さなので、小学校低学年の息子も、この週末ずーっとはまってやっていて、何個ものゲームを作りました。敵と闘うようなゲームでは、ダメージを表現したくて、自分で絵による表現を思いつきました(最終的には諦めたようですが)。一方で、これだけシンプルにしていたら、様々な短所もあるでしょう。実際、自分で使った感じだと、上のダメージのような状態を持たせるとかは難しいようです。短所については、作者の原田さんが自分でも書いています短所は長所の裏返しでもあります。なので、単純に「できないことがある」がよくない理由とは思えません。
 
ある意味で「パターンマッチが本質だ」といっているようなもので(と理解した)、例えば、脳の情報処理とも近いようなところがある気もしてきます。つまり、人間の情報処理と同様だとも思えます。また、ビスケットで思いだしたのですが、学生のころに書いた(文字列上の)論理プログラム(一種のプログラミング言語と考えてよい)に関する論文も、ある意味パターンマッチが本質でした。にもかかわらず、プログラミングを「パターンマッチが本質だ」とまで透徹した見方ができなかったのが、ちょっと口惜しい気もします。まあ、それくらいビスケットは衝撃でした。
 
「単純性」「発展性」というのは、ある意味、削ることで新しいハンイ、例えば、プログラミング言語の新しいハンイが見えることにつながるのでしょう。そういう意味で、「本質」というのとはちょっと違って、たぶん、いままで知らなかった「観点」を見つけると、私はとっても嬉しくなるんだろうと思います。
 
0

情報って何?(2):スポーツから考える(1/2)

前回のエントリ「情報って何?(1):審査の評価軸から考えるで、『キモチ・雰囲気・流れ等のモヤモヤっとしたイメージをカチっと表現したもの」が「情報」だと考えるようになりました。』と書きました。これだと「モヤモヤ」と表されたイメージは、理解が曖昧なものといった感じがするかもしれません。しかし、言いたかったのはちょっと違っていて、「モヤモヤとしたイメージ」と「カチっと表現したもの」は2つの違うタイプの「理解」や「認知」、あるいは「感覚」であり、モヤモヤとしたイメージにもクリアなイメージもあればそうでないものもあり、また、カチっと表現していても的確なものとそうでないものがあるでしょう。それを説明するのにスポーツが分かりやすいと思ったので、スポーツの観点から「情報とは」を考えてみます。意外に長くなったので、2回に分けてのエントリーですが、まず今回の結論は『教えるということはメンタルモデルを更新させること』です。
 
スポーツが上達するとは、動き等のイメージを自分自身の内部に構築するようなことだと思います。このイメージはそもそも言葉では説明しにくいという性質があります。例えば、野球の長嶋終身名誉監督は、バッティング等の非常にクリアなイメージを持っていたと思います。ただ、そのイメージは言葉にすることが難しく、「来た球を打つんですよ」というようなことになるわけです。この例はちょっと極端かもしれませんが、言葉にするのが上手な人であっても、二つの理解は本質的に異なるものであり、片方をもう片方の理解に写すのは困難です。
 
スポーツにおけるコーチや指導者の難しさは、この点にあると思いますが、さらに、相手の中にある(通常は言葉にできない)イメージを汲みとる必要もあります。特に、相手側のイメージがクリアでなく、本人にとって自分のイメージが明瞭に見えていないため、そのイメージを他人が理解するのは大変な場合が多々あります。例えば、ドッジボールで速い球を投げたいと思っている小学生を考えてみましょう。こういう時に、腕を速く振るや手首のスナップを効かせて投げる、といった一方向のアドバイスは、必ずしも有効ではありません。なぜなら、その子は小さい手で大きいボールを落とさずに投げることに神経を使っていたり、あるいは、「足元を狙え」(ドッジボールのセオリー)と言われたアドバイスを気にしてボールを置きにいっているのかもしれません。つまり、メンタルモデルとしてなんらかのイメージがあり、しかも、そのイメージは明瞭ではなく、本人はそのイメージに気付いていないことが多いわけです。
 
スポーツの世界では、こういう時に「腕を速く振るんだよ!」みたいな力まかせの指導をすることが多いように思います。また、さらに悪いのは「なぜ、速く振るという単純なことができない!」といったことを言う人も多くいそうです。最近も、大学の中でキャンパス間連絡バスを待っている時に、ちょっとした広場でお母さんが小学生くらいの娘さんにダンス(のようなこと)を教えていて、「なんでこんな簡単なこと(ひざを伸ばす)ことができないの!」といっている光景を見ました。しかし、「投げる=落とさない」のように、別のイメージに邪魔をされて簡単なことができないと考えるのが合理的で、まずはそれに気付くことが重要だろうと思います。実際、子ども会のドッジボールにしばらく関わっていましたが、うまいことこういうメンタルモデルに気付けたケースが2, 3例あって、そういう場合にはその子は劇的に上達します。自分で自分のイメージに気付いて、それを修正して、速く投げるイメージを構築できたわけです。こういう上達の仕方を目の当たりにして、本人は当然ですが、こちらとしてもむっちゃ嬉しいわけです。
 
スポーツの例で話しましたが、一般に教えるといった場合は常に同様の問題があります。例えば、重いものが軽いものより速く落ちるというメンタルモデルがすでにある場合、これに気付いてうまく取り除かないと、しっかりした理解には至らないでしょう。しかし、成立するから成立するんだよ、みたいに、ある意味で体育会系の鬼コーチよりも強引な教え方をする場合もあるでしょう。しかし、このような教え方では、本当に理解したという状態にはならないでしょう。そういう意味で、「教える」ということは、生徒側の「言葉や論理的な理解・認知」の世界での納得に加え、「イメージとしての理解・認知」を変えること、つまり、メンタルモデルを更新させることだと思います。「教える」ことは、ある意味で、情報の受け渡しであるわけで、教えることに情報の本質があるといってもよいかもしれません。
 
他人のメンタルモデルを推測するには、時間がかかることもありますが、それよりも、ちょっとしたことや考えていることを卒直に話してもらえるような信頼関係が重要です。その、ちょっとしたところから、メンタルモデルを推測していくという意味では、「情報化」の逆のような作業が重要になります。その意味で、これまでインタラクティブな講義でやってきたり、器具を使った体験型の授業をしてみたり、匿名の掲示板を使ってみたりということは、いま振り返ってみると、相手側のメンタルモデルを理解しようとしていたのかもしれません。
0

情報って何?(1):審査の評価軸から考える

このブログでも取りあげているように子ども向けの科学イベントなどを行います。その時、自分の所属(情報学専攻)について、「どんなことしてるのー?」といった質問を想定して、「情報学というのはこういうことを研究するんですよ」といった説明がしたいと、以前から思っていました。しかし、専攻のページには『「情報」を基礎科学として探究する学問です』としか書いてありません。他に、例えば、京大の情報学研究科では、『京都大学の情報学は,自然および人工システムにおける情報に関する学問領域である。』と書いています。いずれにしても、結局、情報が何なのか分からないと、情報学が分からないようになり、小学生などに説明するの目的として、十分ではないように思います。

このような問題意識があったため、だいぶ前から、「情報とは何か」を子どもにも簡単に
説明したいと思ってきて、この3年ほどで、なんとなく形が見えてきました。さらに、このことにより、取り組んだり考えていた、まったく異なる分野のことが、統一的に見えてくるという副次的な効果もありました。それで、何回かに分けて、「情報って何?」という話しをしようと思います。

まず、辞書的に言えば、あるいは、結論を先に書けば、「情」が「心で生起すること」であることから、「情報=心に起きた(起きる)ことを知らせること」だろうと思います。Wikipediaの「情報」に書いたあったことが元になっていますが、オリジナルの情報源は何かの辞書だと思います。(いま見つけられませんでした)

しかし、実際には、情報は「個人・一人の心の中で起きたこと(感情など)」よりも、より広く使われています。例えば、「大量のデータから情報を取りだす」といったときは、個人の感情とは関係ありません。このようなことを含めようと思うと、「キモチ・雰囲気・流れ等のモヤモヤっとしたイメージをカチっと表現したもの」が「情報」だと考えるようになりました。例えば、「大量のデータ」だけでは、そこに含まれる気持ちが分からないため、知識やルールのような、なんらかの形式で表現することで、伝わるようになる、という感じです。

最近経験したコンテストの評価というのが、このような説明の例としてよかったです。コンテストは、「ひとよしアプリ・アイデアコンテスト the first」です。ちょっとした縁があって、この審査員をやりました。審査は予備審査と最終審査の二段階で、予備審査の段階で、応募のあった全てのアイデアおよびアプリに目を通しました。

多くの各作品を見ることで、自分が考える「良い」アイデア・アプリというのがモヤっ
とイメージできるようになりました。しかし、審査の観点(基準)に照らしあわせて点数をつけていくと、私が良いと考えるものは、そこそこの点数にはなるけど、トップにはなりませんでした。

そこで、なぜそうなったのか、どういう基準ならよいのかを考えてみると、以下のような感じになりました。例えば、Twitterというサービスを考えてみると、これは非常に単純な仕組みで制約が多いものです。しかし、その制約があるからこそ、気軽に情報発信ができるという側面があります。また、シンプルであるため、ハッシュタグやリツイート等の新しい使い方をユーザが開拓し、その使い方が広まっていきました。つまり、当初想定されていた使い方を越えた利用の仕方がされたわけです。自分としては、このようなサービスがよいサービスだと思っています。

逆に、なんでもできます、的なのはあまり好きではないようです。
しかし、審査基準として「汎用性」とあれば、何にでも使えそうなDBやインフラ系のものが高得点になります。私自身そのような研究もしているので、汎用的なものの重要性はよくわかるのですが、地域活性化等をねらった場合、わかりやすさやシンプルさが重要な気がします。それで考えたのが、「単純性」「発展性」という基準です。これだと、上であげた例のようなサービスに得点が高くつきます。本当は、1つの基準でこのようなサービスを表せないか考えていたのですが、いまのところ成功していません。

このように、自分にとっての「良いアイデア・アプリ」というモヤっとしたイメージを、審査基準ということに落としこんだということになります。
0

嫌いになってもいいから一度は観ろ!

TOHOシネマズ天神ソラリア館で2/9()の夜にあった試写会で、あした(12())から公開の「スティーブ・ジョブズ」を見てきたので、その感想です。タイトルがそのまま結論です。


情報学の研究をしていて、Macは古くから仕事で使っていたので、ジョブズに関して多少は知っていました。また、「リーダーを育てる」という大学院教育「決断科学に関わっているので、その意味でもジョブズには興味をずっと持っていました。

内容は、彼がプレゼンした新作発表会(Macintosh, NeXT Cube, iMac)の直前を描いたものです。我々も経験があるけど、デモなんかは、直前まではバッチリでも、いざとなったらうまくいかなかったりするわけで、Macの発表の前にもデモがうまくいかずといったようなエピソードが語られます。


トラブルや口ケンカの場面が多く、セリフもすごい勢いで、あっという間に3つのエピソードが終っていきました。すごい疾走感です。しかし、そのため、ジョブズの背景をある程度知っていないと理解できないことも多いかもしれません。一緒にみた妻は、スカリーの背景が分かりにくかったと後で言ってました。また、背景を知っていても、もともとケンカ等の場面が多いことから、話しの内容に飛躍というか、「ん?」と思うような箇所が何か所かありました。これは、訳のせいではなく、もともとの内容じゃないかと思いますが、表示する時間の制約で訳が十分に示せないということなのかもしれません。


内容は強烈なインパクトでした。ただ、面白い?と聞かれると、うーん、という感じもします。面白くないわけではないんだけど、「映画が面白い」という枠では語れないような気がします。むしろ「ジョブズは強烈」という感じです。


何かを表現する人は見ておくとよいと思います。自分は情報系に身を置き、ウォズニアック(すごい技術者)の主張(オープンなシステムや仲間への謝辞)に共感できる一方で、ジョブズの考えには賛成しかねるところがあります。それ自体はいいんだけど、なぜそう感じるのは、いま一つ腑に落ちてなかったんだけど、今回ので、なんとなく納得しました。彼は(私に立場が近い)技術者ではなくて、それは分かっていたんだけど、もっと違う分野の、例えば、舞台俳優とか映画監督とか、(この映画の範囲では)そういう人に近い感じがします。もともと上手なプレゼンで知られている人ですが、それを実現するための事前の準備や細いこだわりがよく分かって、「表現者」として活動している人は、「よく分かる!」といったところも多いと思います。その意味では、自分の成果を自分でPRする我々研究者や学生さんにも参考にすべき点が多くあるように思います。

0

郷に入っては郷に従え:海外でクレジットカード紛失!?

ウィーン工科大学のある研究室に、約3週間の滞在中です。海外では、多少のトラブルはつきものですが、今回は着いて2日目にけっこう大き目のトラブルが!なんと、メインで使っているクレジットカードを紛失したようです!!最終的には、無事、カードは見つかったのですが、その時の経験が海外ならではという気がするので、まとめてみました。教訓めいたものを先に書くと、国ごとの考え方の違いをそのまま受けいれられるかどうかが重要なのかも、と思いました。

通常の国際会議での滞在と比較して、今回は期間が多少長いので、ウィーンに着いた翌日は、いろんなものを買いそろえていました。その日の夕方、最後の買いものの時に、約40EURの支払いをカードでしようとして、カードがないことに気付きました!とりあえず、現金で支払ったものの、カードがないのは大変です。

最後にいつどこで使ったかを思いだしてみると、午後に1回だけ使ってました。その時にはあったので、そこで財布に戻すときに落としたか、忘れたか、別の場所に入れたか、などが考えられます。リュックや服のポケットなど別の場所に入れてないことを確認してから、店に向かっていると、そういえば、カードを渡した時に、店員さんに怪訝そうな顔されたことを思いだしました。また、他の店でのレジとかでも、客が自分でカードをリーダに差し込んでいたのを思いだしました。ということは、自分でカードを取ることを含めて、自分でカードを扱う習慣があるというこで、私は店の人がやってくれるのに慣れてたので、取り忘れた可能性が高いと思い至りました。

店に着いたときは、すでに閉まっていました。翌日は祝日なので、開いているか不安だったのですが、ドアに貼ってあった紙によると、開店時間に変更があるものの、10時には開くようです。すぐにクレジットを停止することも考えましたが、あのレジで忘れた可能性が高いと思ったので、とりあえず、明日になるまで待つことにしました。

さて、翌日。朝一番でいってみたら、レジのおばちゃん(ただし、昨日の人とは違う人)が自信まんまんで「カードはない!」って。えー、周りに聞ききもしなかったよこの人、と思ったので、もう一度聞いたけど、やっぱりないとの返事。まず、この時に、「自分の範囲以外のことは調べようともしないよ、この人」って感じで、憤概しています。

それでも諦められなかったので、話しを聞いてくれそうな人(?)を見つけて、最終的に3人に声をかけたんだけど、みんな「それはレジの人に聞いて」って。ここまできて、「ああ、もしかしたら、習慣的に、自分の担当以外のことはまったく関知しないんだろう。逆にいうと、さっきのレジのおばちゃんも、自分の担当した範囲(時間)では知らないということかも」と思いいたりました。

つまり、直接、担当した人に聞くしかないのかも、といことです。それには、さっきのおばちゃんが交代したころに行く必要があります。シフトは分かりませんが、昨日は午後の早い時間だったので、とりあえずその時間まで待つことにします。近くのカフェでザッハトルテで時間をつぶして、1 時ごろになったので、店にもどってみると、ラッキーなことに見覚えのある女の人がレジに!ドキドキしながら、カードを忘れたみたいなんだけど、というと、鍵で引き出しをあけて、私のカードが戻ってきました!!いやー、よかった。

今回、憤概したところで止まらなかったのがよかったです。この理由の一つには、ウィーンは3度目で、主に道がわからない時などに、何度か「どうかしました?」って親切に聞いてくれて、ウィーンの人は親切だという印象があったことがあるでしょう。また、店員4人に聞いてみて、同じような答え方だったので、個人的な性格のせいではないのかもと思い至ったのも大きかったです。また、お客がカードを自分で操作していたのを、なんとなく「へぇー」と思って見てたり、自分がカードを渡した時の、店員さんの「んっ?」って顔を覚えてたもよかったようです。

0

独創性を育むためには感覚を磨く体験を!

少し前(11/8(日))ですが、九大のリーディングプログラムの一つであるフューチャーアジア
が主催する平田オリザさんの公開ワークショップに参加してきました。演劇を基本的なツールとして、気付きにくいコミュニケーションのずれや、日本人が苦手にする対話等の重要性を考えさせてくれる、非常に有意義な時間でした。

このワークショップに参加した理由は、教育に関わる者として講師の伝える技術を学びたいということと、ワークショップの目的ではないかもしませんが、最近考えている「インスピレーションや独創性には右脳的な教育が必要じゃないか」ということに対する何らかのヒントが得られるかも、と思ったからです。

予想通り、主にコミュニケーションの話しで、後者については話しはないかもなあ、と思いはじめた終了少し前に、以下のような話しがありました。
  • インスピレーションは長期記憶の組み合わせだと考えられている
  • 長期記憶になるためには驚き等を伴う体験が有効である
つまり、劇などを通じた体験による教育が重要である、ということだろうと理解しました。自分の経験と照らしても納得できる話しで、かつ、長期記憶という視点はなかったので、漠然と感じていたことをすっきり理解できた感じです。

さらに、平田さんによると、この意味で、文化の格差が拡大することが、受験等にも影響を与えるのでは、ということでした。これについては、こちらのページで同様の発言があります。つまり、本物の芸術等に触れることができる都会でないと、これからは厳しいという意見でした。これについては、田舎のほうには自然など、都会にはない体験があるのでは、と思いましたが、質疑応答の時に、会場から同様のコメントがでました。これに対して、小学校の閉校によりスクールバスで通学する、などのように、田舎に住んでいても自然に触れる機会は減っている、というのが平田さんの考えでした。

たぶん、長期記憶に残るような体験というのは、「本物」であればよくて、自然、あるいは、人とのふれ合いであってもよいんだろうと思います。しかし、田舎にいるというだけで、これらの体験ができるという時代ではなく、たぶん、教育的な価値を意識して体験させないといけないのでしょう。逆に、都会であれば、本物が経験できると短絡できるものでもなく、段階を踏みながら見せるとかある程度の解説をするなどしないと、せっかく本物を見せても、何の影響も与えないということになるでしょう。その意味で、こちらも教育的な価値を意識して体験させないといけないのでは、と思います。

いずれにせよ、これからは、左脳的な方に加え、右脳的な感じ方の教育が重要だろうという思いを強くしました。
1

授業で発言しやすい仕組みはできるか?:机の配置

以前のエントリ(『授業で発言しやすい仕組みはできるか?:掲示板による例』)にも書いたように、学生からのフィードバックをいかに集めるか、というのは少し前からの関心事です。逆にいうと、かなり細心の注意を払っていても、なかなか集められない、というのが実感です。そんな中、机のレイアウトを変えたところ、ガラっと雰囲気が変わり、分かっている学生が教えたり、少し前からつまづきかけていた学生さんを見つけることができたりと、いい感じです。

そもそもフィードバックが必要だということに異論はなかろうと思います。テストはその代表的なものです。また授業アンケートなどもあります。もちろん、これらは実施しています。アンケートについては、大学や学部が用意したものでは十分な情報が集まらないので、それとは別に自分でも作ったりしてきました。しかし、時々、なにかのキッカケで得られる本音と思われるコメント等推測すると、「言いたいこと」を十分にデータとして集められていない、と強く思っています。

では、チャレンジはどこにあるのでしょうか?まず、分からない・理解できないといったことを言うこと自体が難しそうです。「分からないのは自分だけ」という感じがあるのかもしれませんし、恥かしいと思っているかもしれません。さらに、授業では、話しの流れをストップして言う必要があります。「質問のある人」といって、質問を受けつける時でも、大勢の前で話すというのがネックになるかもしれません。掲示板では、意見等を集めるのには有効でも、質問等になると、かなり数が減っている感じがします。

さて、そんな中、文系学部のB1向けに教えているプログラミング(C言語で、Linuxサーバ上でEmacsを使って書く!!)の授業で、発言したり、質問したりがしやすい雰囲気ができてきたので紹介です。先週から実施して、まだ2回目ですが、はっきりと雰囲気が変わってきました。実施するキッカケになったのは、同僚の先生が中高生向けにボランティアでプログラミングの講義をしているという話しを聞いたからです。どこでやっているかを聞いたところ、レイアウトが自由に変えられるところをわざわざ有償で借りて、グループを作ってやっていると聞いた時に、レイアウトを変えるか、変えられなかったら部屋を変えようと思いつきました。逆にいうと、「ここでやってください」と言われたら、そのままの状態で講義をしないといけないと無意識に思っていたことに気付いて、自分でもびっくりです。

具体的には、机のレイアウトを変えてシマを作り、最大6人が1つのグループとなり向かいあって座ります。レイアウトの変更の第一の目的は、教員やTAが循環しやすいように、ということです。近くまでいったら、分かっていない学生さんに気付きやすくなったり、向こうから質問しやすくなったりするだろう、という意図です。また、互いに教えられるような効果も期待したので、教えあいやすいように、講義のフォーマットも変えました。以前は、説明→実習→説明→実習...という感じでしたが、説明を先にまとめ、かつ、かなり短くして(先週は10分しかしゃべっていません)、残りは全て実習にしています。また、進捗は掲示板に書きこみます。


効果として、まず、にぎやかになって、お互いに教えあう雰囲気がうまれました。写真には、3名ほど立ちあがっている学生が見えますが、このうち2名は学生(残り1名はTA)で、近くの人に教えているところです。掲示板への書き込みにも、「今日は教えてばかりでした」とか「教えることで理解が深まりました」などというのがありました。分かっている学生さんが教える側にまわることで、それまでより多くの学生の理解が進みました。これも書き込みに現れていて、「xxxxくんのおかげでなんとか理解しました」といった類の書き込みも目立ちます。最後に、これが一番重要ですが、何回か前から理解がつまずいている学生さんを見つけることができました。上述の教えてくれる学生さんたちのおかげで、こういった学生さんに集中してゆっくり教えることもできています。なので、なんとか頑張ろうと思ってくれるとよいのですが。このあたりは、もうちょっと先にならないと評価できませんが。
 
さらに、掲示板に「xxxはできましたが、xxxについてはまったく分かりません」といった、通常は出てきにくい書き込みも増えてきました。これは、最初のほうに、「まったくついていけていない」とメールをくれて、部屋に質問にきた学生さんがいたことを紹介して、「このように、分からないということをきちんと言えるのはすばらしい」といったようなことを言明していたのもよかったのかもしれません。しかし、このような書き込みはここ最近のことで、直接的なキッカケとしては机のレイアウトではないかと思います。
 
こんな感じで、教えていても手応えを感じています。何より「プログラミング楽しい」といった書き込みや発言が初めて出てきました。このままなんとか全員に楽しさを分かってもらえるように、環境作りから頑張ろう!
 
0

役立つかどうかではなく、役立てられるかどうかだ!

複素数などを数学の様々な概念など、直接使わないから役に立たないという人は多いような気がします。複素数までいかなくても、負の数のかけ算でも、マイナスとマイナスをかけると正になるというのがワケワカラン、みたいな話しは時々ききます。こういうことを言う人はたいがい、社会にでたらそういうのは使わないんだから、無駄なことをさせるな、ということも言います。しかし、結論からいうと、こういう人は、知識を役立てられなかったんだろうと思います。

このエントリを書く直接のキッカケは、あるソフトを使わない理由をブログにまとめてあるのを、たまたま見つたから。そこには「大学を卒業したら会社では使わない」という理由がありました。具体的なソフトは書きませんが、別のソフトで同様のことができるじゃん、と書いてありました。私は、使わなくなったソフトの裏には、考え方として知っておくと非常に重要じゃないかなというのがあると思っていますが、その人はそこまでの考えには至らなかったようです。

上述のマイナス×マイナスでいうと、「負の数」というのが存在すると考えるのではなく、向きが反対と考えるとすっきり理解できます。つまり、例えば、5×(-1)を、5を反対の方向に向けると考えるわけです。文章だけだと分かりづらいので、絵を貼っておきます。
$e^{i\theta} = \cos\theta + i\sin\theta$)として習います。つまり、負の数や虚数が存在しないと考えるのではなくて、任意の向きを持った数字を考えると、より自然な体系化ができると考えられるかどうだと思います。

もちろん、自分も全てのことを学ぶわけにはいかないし、興味などに応じて選択はしているんだけど、比較的、いろんなものに首をつっこんでいます。その裏には、「役に立つかどうかは、現時点の自分では判断できない」という思想もあります。つまり、上のような虚数の理解ができたのは、大学生になってからで、それまで負の数に関しても理解できていなかったわけです。しかし、いま理解できなくても、そのうち...と思うあたりは、本質的には楽観主義なのかもしれません。

また、これを書く間接的なキッカケは、少し前に久しぶりに「荘子」を読んだからかもしれません。人間の小さな尺度で有用かどうかを判断するのねえ、という感じがまだどこかに残っているのかも。

0

「なんとかなるさ」な感じの自信(2)

前回からの続きです。今回は家庭での出来事、長女の高校入試に関する態度です。「なんとかなるさ」という自信をつけるというのは、特定の高校に受かるというのではなく、目的を設定したり、やりたくない自分をなんとかコントロールしたり、自分で勉強のやり方やフレッシュの方法を考えたり、といったことを自分の経験として欲しいということです。つまり、自主的にやることが重要で、このアプローチは研究室とまったく同じです。

そういった意味では、合格するかどうかはまったく重要でなく、その点は妻とも一致しています。しかし、親が大学の教員をやっていることもあり、そもそも能力があるんだろうなど、どう書いても誤解されそうだ、という思いがありました。しかし、両親の予想以上に長女が成長したと感じたので、事実を単に並べるようにして、まとめてみたいと思います(時間はある程度適当です)。
  • 子どもの数が多いこともあり、親としては、基本的には塾には行かせないと考えていた。
  • 周りには秘密にしていたが、長女は小学生のころから、地区トップ高校(偏差値が70を越えるようなところ)に行きたいと思っていた。
  • 長女が小学5年生のころ、友達に誘われて塾に行き始める。本人が行きたいというので了承する。
  • 途中で別の塾に変ったが、中学1年生のころにはかなり成績が落ちた。
  • 私たち両親から見ると、毎日遅くまで塾で勉強していたが、人まかせ(塾まかせ)で自分では全く考えずにやっているように見えたので、自分で考えろといってやめさせた。
  • 本人は塾をやめると不安ということでやめるのはイヤがっていた。
  • 塾をやめて、ますます成績が悪くなった。定期試験5教科で7割程度で、到底トップ校には足りない。同じ高校を目指す子たちは定期試験では9割近くとっている。
  • しかし、中学2年生ごろから、本人の頑張りが成果に結びつき始め、多少上むき始める(それでも定期試験の5教科で8割程度)
  • 中学3年生になって、進路を明確にしないといけないとなってから、ようやく両親に志望校を伝える(知ってはいたけれど)。
  • しかし、それまで勉強していないので内申点は非常に悪い。県立入試の問題は、それほど難易度は高くないので、ほとんどミスができないのに、ボーダーでは、たぶんあがらない。
  • 高すぎる目標だと思ったが、本人の意志は固そうだし、この目標に至る過程で得られるものが大きいと両親は判断した。
  • 夏休み前に、勉強の仕方が分からないから塾に行かせてくれ、と本人が要望し、夏合宿に参加。
  • 夏休みは、合宿以外も塾に通い、数日あった休みの日も、親に質問しまくって、終日勉強していた。急激に成績がアップした。
  • しかし、もともと成績が悪い上に、無茶な目標なので、成績はあがってもE判定程度。塾の先生からは「無理」ということを常に言われた。
  • 気持ちで頑張るタイプなのに常に無理と言われる(しかも正論)のはモチベーションが下って、秋ごろから勉強の効率が落ちてきた。
  • 塾のやり方で勉強していては志望校に受からないといって塾をやめたいと本人(!!)が言い、11月ごろにやめた。
  • 塾に行っていると、離れることは非常に怖いのが普通だと思うのに、本人がやめるというのに両親は感心して、やめることを了承。
  • その後は、自習ができる図書館や市民センター等で勉強。質問は学校の先生や親にする。
  • 年末の模試(自宅受験)で初めてB判定がでたが、それ以外は最後までD判定がほとんど。
  • かなり薦めたが、入試の自己採点はせず(しかし、開示はしたので両親は得点を知っている。本人は、開示には同意はしたが、結果は見ないといって、未だに知らない)。
  • (本人にとっては)残念ながら不合格。「大変な逸材を落としやがって」と言ってたのに両親や周りは笑った(^^
  • 同じ高校を目指していた友達や、別の高校を受けて落ちた子もいる中で、長女はなぐさめるわけでもないのに、プリプリ怒っている姿が周りに元気を与えたようで、そういう態度にも両親は感心。
  • 同じ高校を目指して落ちた子はもちろん、その親も落ち込んだり、塾に対して怒ったりしている人をみた。
  • 落ちた後、長女が私に「大学の先生の子どもが私立にいった恥ずかしくないか」と聞いてきたので、もともと、「結果は重要じゃない」「これまでの得たノウハウが重要」といってたことを伝え「まったく気にならん」と言った。
さて、今回の入試で、長女に対して感心することが多かったのですが、一番感心したのは、普通に考えるとまったく無理な目標を、ずっとブレることなく目指し続けたことです。そのおかげで、中学1年の成績からすると信じられないくらに学力も伸びたし、何より、自分で頑張るということが分かったと思います。しかし、自分も含めて、できそうもないことを目指すのは非常に困難です。実際、秋頃から、まわりには志望校を下げる人もでてきて、丁寧にも下げるように忠告もしてくれたそうです。

うちには、この4月で中学2年生になる弟たちがいます。彼らは、同じ時点での学校の成績から判断すると、長女より遥かにできますが、同じように高い目標を目指せるかというと、性格的に無理な気がします。しかし、長女と同様、高い目標に向う過程が重要だと思うので、彼らにもムチャというくらい高い目標を目指して、自主的に頑張ってもらいたいと思っています。
0

「なんとかなるさ」な感じの自信(1)

家庭と研究室の両方で、教育に関する自分の教育方針を再確認する出来事があったので、まとめておきます。研究室を志望する学生さん向けでもあります。いつものように、結論から書くと、特定の対象ではなく、広い範囲の事象に対してなんとかなるさ、という自信をつけてもらうことが大事だと思っており、それを実践するようにしています。ここでは、研究テーマや高校入試は特定の対象だと考えています。言い方を変ええると、特定の対象をやるでも、よりメタな視点で得られるものがあるようにしたい、ということでしょうか。今回の(1)は研究室のほうの出来事です。

研究室では、学生さんの研究テーマは個別に相談しながら決めていきます。テーマは卒論や修論に直結するため重要ですが、これらの論文自体が目的化するのは、どうかなあと思っています。研究者にならない場合は直接研究が役に立つことはありませんが、以前は、プレゼンや問題解決の考え方は、広い意味での知的作業に役に立つと思っていて、また、そのように伝えていました。しかし、最近では、問題を見つけて、その解決策を考えること、さらに、周りを巻き込めるように、下のビジョンとミッションの図を使って、学生と研究テーマを練っていきます。
例えば、オーロラを見て感動したが、いつ出るのか分からないから、起きているのに苦労した、という体験を持っている学生がいたとします。この場合、右下の「個人の動機」が明確にあることになります。すると、やること(ミッション)として、「オーロラの予測」が自然にでてきます。しかし、これをやって何になるのか、これが共感を呼ぶようなものでないと、周りの協力が得られません。調べてみると、大きなオーロラが起きると衛星が故障したりして、停電や携帯・GPSの不具合等につながるそうです。これで、このような事態を避けた状態が目指すべき「ビジョン」として得られます。

これで終りではなくて、そのためのデータを集め、サーベイをしてという作業をしていくと、「ビジョン」や「ミッション」が変化してきます。上の例では、現象に関係していそうなデータはNASAやJAXA等から得られそうだが、機械学習等に使うためのラベル付きデータ(いつオーロラが起こったかなど)がなかったので、極地に近いところで撮影した全天画像からオーロラがある画像だけを抽出する研究にシフトしていきました。これがある程度うまくいくと、予測に戻るわけですが、このころには、一般のオーロラではなくて、より大規模なオーロラであるオーロラサブストーム(オーロラ爆発)に興味がシフトしていきました。このように、いろんな方向転換がありつつ研究が進んでいきます。

この例は、個人的な動機が明確な場合ですが、何に興味があるかもよく分からないという場合もあります。このような場合、(論文ではなく)学会誌等の特集などにまとめて目を通し、最近の研究から興味のあるものを見つけてもらったり、興味のあることを聞きただしたりします。このプロセスに3ヶ月もかかったのに、一度興味のあることを見つけたら、最初は何に興味があるのか分かってなかったのに、その後は自分でどんどん進めていく、というようなこともありました。

さて、最近「リーン・スタートアップ」というのを知りました。これは起業家向けのマネジメント方法で、顧客や市場が不明確なところで、作るものもまだ定まっていないような場合に用いるマネジメント(どうやるか)の方法論です。上の図でいうと、顧客や市場がビジョンに、作るものがミッションに対応します。いままで独自に学生の研究の進め方の手法論を考えてきましたが、このような(ある程度)体系化された手法を知って、研究室の運営にもよい影響があるだろうと思っています。

ざっと概略を学んだ時に、見つけた以下のサイトが参考になりました。
ここでは、ソフトウェアの開発手法である「ウォーターフォールモデル」、「アジャイル」と対比させています。前者は、ターゲットが明確で、その手段も明確な時に使われ、ざっくり言えば、しっかり計画して、その通りに実行していく、というもので、計画(上流)から開発(下流)へ流れるように進めます。後者は、ターゲットは明確なものの、何を作るかがよく分からないような時に使うもので、モックアップやプロトタイプを用いて、フィードバックを得てというサイクルを繰返します。

他に、リーンスタートアップのコアを説明したものとして、こちらのサイトにあった伊藤穣一(MITメディアラボ所長)さんの言葉「地図を捨ててコンパスを頼りに進め」が分かりやすかったです。コンパスだけで進めるようになれば、確固たる自信がつくでしょう。これは、特定のテーマを与えて、これを解決したときよりも強いと信じています。実際、いろんなテーマをやってもらうようになって最初のうちは自分が対応できるか不安でしたが、最近は、なんとかなるさという自信が着いてきました。

研究テーマを学生の自主性にまかせる、といいながら、実際にはそうなの?というような事例も聞きます。また、家庭ではまったく反対のことをやっているような場合もあるように思います。例えば、Aがよいということを学生には言いながら、自分の子どもには別のことをさせたり(あまり具体的には書きませんが...)。今回、子どもに対しても、自主性を重んじたと思える出来事があったので、次のエントリーではそれを紹介します。
0

mu4e: SMTPサーバの設定

以前のエントリで書いたように、mu4eに移行して、かなり満足していますが、いくつか困ったところもあります。その中の一つに、使っていた大学の送信メールサーバ(SMTPサーバ)が使えなくなった、というのがあります。かなりてこずりましたが、ようやく解決したので、備忘録も兼ねてまとめておきます。結論から書くと、認証に使う手法の順番を、以下のように指定して、plain を最初に持ってくると大丈夫でした。
(setq smtpmail-auth-supported '(plain cram-md5 login))

さて、mu4eでは、メール送信の機能をEmacsのSMTPライブラリを用いて実現しています。標準的な設定は、以下のような感じになります。
(setq message-send-mail-function 'smtpmail-send-it
       smtpmail-default-smtp-server "yourSMTPServer"
       smtpmail-smtp-server "yourSMTPServer"
       smtpmail-smtp-service 587
       smtpmail-stream-type 'starttls
       )
サーバの名前やポート番号に加えて、SMTPAuth認証の手法(ここではstarttls)を指定しています。調べてみると、他にsslやplainが指定できることが分かりました。この設定はGMailのもので、問題なく利用できていました。

同じことを、これまでのサーバでやればよいのですが、これがうまくいきません。Wanderlustでは、うまくいっていたので、それを参考にすると、以下のような設定があるので、上のsmtpmail-stream-typeにplainを指定すればよさそうです。しかし、これだけではうまくいきませんでした。
(setq wl-smtp-authenticate-type "plain")

まずは、自分がSMTPAuthを理解するために、telnetを使って、実際にコマンドを叩いてみることにしました。自分のパスワード等は伏せていますが、以下のような感じになります。
% telnet mySMTPServer myPort
Trying myIPaddress...
Connected to mySMTPServer.
Escape character is '^]'.
220 mySMTPServer ESMTP hde-lc-postfix
EHLO daisuke@inf.kyushu-u.ac.jp
250-mySMTPServer
250-PIPELINING
250-SIZE 20971520
250-ETRN
250-STARTTLS
250-AUTH PLAIN LOGIN CRAM-MD5
250-AUTH=PLAIN LOGIN CRAM-MD5
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
AUTH LOGIN
334 VXNlcm5hbWU6
myUserNAME
334 UGFzc3dvcmQ6
myPassword
235 2.7.0 Authentication successful
QUIT
221 2.0.0 Bye
Connection closed by foreign

数字で始まるところがサーバ側からのメッセージで、大文字で始めているところは、こちらからの入力です。最初の"EHLO"で、認証方法等に関する情報を得ます。starttlsやplain loginが利用できるようです。次に、"AUTH LOGIN"と打ち込むと認証のプロセスが開始します。その後の
334 VXNlcm5hbWU6
の意味のわからない文字列はBase64で符号化されていて、これを元に戻すと"Username:"であることがわかりますので、その後に、自分のユーザ名(をbase64で符号化したもの)を与え、パスワードも符号化した上で与えると、認証に成功しています。

さて、mu4eで使うと、認証エラーがでているのですが、それ以上のメッセージはないので、"smtpmail-debug-info"や"smtpmail-debug-verb"の値を"t"にして、サーバとのやり取りの詳細を記録するようにします。すると、"*trace of SMTP session to mySMTPServer*"という名前のバッファに、上と同じようなやりとりが記録されます。

これを確認していると、"AUTH PLAIN"ではなく、"AUTH CRAM"が使われていることがわかりました。Emacsのdescribe-variableで、smtpmail-で始まり、authが含まれる変数を探してみたところ、結論に書いたsmtpmail-auth-supportedがあり、この値は(cram-md5 login)という配列になっています。変数の説明を見ると、
List of supported SMTP AUTH mechanisms.
The list is in preference order.
とあり、この順番に使われることが分かりました。最初にcram-md5とあるので、AUTH CRAMとなっていたようです。 最初に書いたように、この変数に、plainを最初にした配列を渡してやれば、うまくいきました。



0

mu4e: 検索ベースのメールソフトの使用感

前回のエントリーから、だいぶ時間がたってしまいましたが、Emacs上で使うメールクライアント"mu4e"の紹介です。前回はインストールや移行の方法でしたが、今回は使って気づいた点について書きたいと思います。

標準的なメールソフトはフォルダに分類したり、メールの原稿を管理したり、という機能がありますが、「mu4eは検索結果を表示する」ということのみに特化しているようです。メールの送受信や原稿書きは、他のプログラムにまかせています。フォルダに分類することもできますが、実はこれも検索で実現しているようです。具体的には、分類するとファイル(メールの実体)を対応するディレクトリに移動すると同時に、メールのヘッダに"Maildir:/sent"のようなフィールドを追加し、これを検索することで当該フォルダ内のメールの一覧を表示しているようです。

よく使う検索式は「ブックマーク」として登録することもできます。例えば、こちらのmu4eのページの画面ダンプを見ると、「今日来たメールを表示」([bt]Today's messages)というような操作があらかじめ登録されています。検索するということが徹底されているので、使う側にとっても理解しやすいと思います。

さらに、Emacsの補完機能をmu4eでも利用できます。例えばフォルダの指定をする時には、フォルダ名の一部を入力するだけでよいです。"/MyFolderXYZ"というフォルダがあったとして、"XYZ"は他のフォルダに現れないユニークな文字列だとしたら、"XYZ"だけを入力"/MyFolderXYZ"へ移動できます。これは、かなり便利です!MHフォルダから移行したこともあって、"/Folder.SubFolder"のように"."で区切って階層構造を実現していますが、全部入れるのは面倒です。しかし、SubFolderのほうの指定だけ十分です。

同様に、ToやCcの指定でも補完が効きます。"池田 大輔 <daisuke@abc.xyz>"というメールがあったら、"池田"からも補完ができます("大輔"からだとできないようですが....)。わざわざアドレス登録などの作業をしなくても、覚えている一部からメアドを補完してくれます。

このように非常に便利な検索ベースのメールソフトですが、時々、与えた検索語を含むメールがあるのに、何もヒットしないことがあります。これは、索引の作り方はマニュアルを読まないと分からないからです。例えば、メールアドレスの検索は、"from: abc@xyz*"のように前方一致の検索はできますが、"from: *@xyz.ac.jp"のように検索はできないようです。他にも、「池田先生」という文字は、「池田」と「先生」には分けて索引づけされないようで、「池田」ではヒットしません。このあたりは、muがベースにしているXapian(情報検索用のライブラリ)のマニュアルを読んでもよく分かりませんでした。

他に、メールへのタグ付けの仕方が少し分かりにくかったです。タグをつけるという関数はあるものの、これをキー操作にバイドはされていないようでした。そのかわり、メールに対する様々な"Action"を定義できるとしてあって、そのActionとしてタグを定義します。具体的には、以下のようにして、ヘッダの一覧やメールの表示画面から、タグをつけたりはずしたりする関数"mu4e-action-retag-message"を呼び出します。
(add-to-list 'mu4e-headers-actions
             '("retag message" . mu4e-action-retag-message) t)
(add-to-list 'mu4e-view-actions
             '("retag message" . mu4e-action-retag-message) t)
その上で、ヘッダ一覧やメール表示画面で"a"(mu4e-view-action)で、定義したActionが表示されます。タグ操作の名前を"retag message"とつけたのですが、(私の場合)最初の"r"で特定できるので、"r"だけ入れるとミニバッファが"Tags: "となり、タグ編集画面になります。"reply"というタグをつける場合は"Tags: +reply"として、すでについた"reply"タグをはずす場合は"Tags: -reply"とします。残念ながら、すでにつけたタグの一覧は(現地点では)見れませんし、タグの補完もできません。

先のエントリーで書いた、最新バージョン(0.9.9.6)では/draftsフォルダの書きかけメールが再編集できないという問題は、Maildirフォルダをシンボリックリンクで使っていることが原因でした。この場合、オリジナルのMaildirフォルダを以下のようにして直接指定することで、問題なく再編集できるようになりました。
(setq mu4e-maildir "/data/private/Maildir")
0

mu4e: 検索ベースのメールソフトへの移行

(2014/10/06 追記) 最後の段落の「iso-2022-jpで書かれたメールが化けます。」というのはウソでした。ほとんどのiso-2022-jp のメール問題なく見れています。ただ、機種依存文字が含まれてた(丸囲み数字など) iso-2022-jp なメールが化けています。化けるのが、例外なくiso-2022-jpなので、勘違いしていました。

メールソフトを約15年ぶり変更しました。mu4eというやつで、メールを索引づけして検索可能にするmuをベースに、これをEmacs内から使うインターフェイスになっています。単にソフトを変えただけではなく、MHファイル形式から、(いまさらですが) Maildir形式に移行もしたので、作業量的にみてもまあまあ大きな移行になりました。まだ使いこなすところまでいっていませんが、2週間ほど使ってみたので、紹介がてら感想を書いておきます。意外に長くなったので、移行するまでと、実際に使ってみるまでに分ておきます。

まず、このソフトを使う動機の前に、なぜEmacs内でメールを読んでいるのか、Webメールに移行すればいいじゃない、という声も聞こえてきそうです。特に、検索でやるならGmailがよさそうです。しかし、過去のメールの移行が大変という現実的な問題があります。また、ネットに依存するのはイヤなので、ネットを前提にしたWebメールはイヤだという心情的な問題もあります。AquaSKKを使う前は、日本語カナ漢字変換にSKKを使いたいので、Emacs内でメールを書きたかったということもあります。これらの問題点から、Webメールには移行したくないと思ってます。

mu4eの前はWanderlustを使っていましたが、最近のEmacsとの相性なのか、メールの上部がうまく表示されない、という問題が頻発していました。何度かこの問題の解決も試みたのですが、何が原因かも分かりませんでした。同時に、Mewに戻ろうかと思って、試しに使ってみたのですが、けっこうな割合でメールが化けて見えたり、いくつか不具合があって、移行は断念していました。

また、表示の問題とは別に、Wanderlustのように、(Unixの)ディレクトリ階層に分けて管理するタイプは、階層をまたいだ検索が不得手です。MacのSpotlightで補うという解決策もあるのですが、できれば、メールソフト単体で解決したいものです。また、自分の研究テーマ的にも、検索を中心としたインターフェイスには興味があったので、時間とスキルがあれば自分で作りたいと思うくらい、検索によるメールソフトに興味がありました。

さて、それでmu4eを見つけたのですが、これはMaildir形式を前提にしています。WanderlustでもMaildir形式は使いますが、その前のMewや、さらのその前のmh-eの時代からの遺産で、MHファイル形式(フォルダ内に数字のファイル名)を使っていました。なので、この移行を行う必要があります。Wanderlustがどちらの形式もサポートしているので、Wanderlust内でMHフォルダからMaildirフォルダへファイルをコピーすれば、最悪でも手作業で移行できることが分かります。

しかし、全部手作業は大変なので、移行プログラムを探します。検索すると色々見つかりますが、こちらで公開されている、procmail等の他のソフトが不要な、スクリプトファイルを使いました。これは、日本語のフォルダ名に対応していないため、少数の日本語名フォルダは、あらかじめWanderlustから、アルファベットの名前に変えておきました。また、原因はつきとめていませんが、いくつかのファイルでエラーがでて、その場合、そこで処理がストップしました。そのため、エラーがでたファイルを含むフォルダは、手作業で退避させておいて、スクリプトでは移行せずに、上述したWanderlust内の手作業で移行したところ、問題なく移行できました。

次はmuとmu4eのインストールです。muの公式サイトによると、最新バージョンは0.9.9.6です。しかし、このバージョンでは、保存した原稿を再度編集できない(mu4e-compose-editがエラーを吐くので)、0.9.9.5を使っています。mu4eは、muと一緒に配布されていますが、MacPortsに含まれていたmu 0.9.9には、mu4eが含まれておらず、ソースコードから以下のようにコンパイルして、インストールしました。
% autoreconf -i
% env EMACS=/Applications/MacPorts/EmacsMac.app/Contents/MacOS/Emacs ./configure --prefix=/opt/local
% make
% sudo make install
インストールできたら、まずはmuで~/Maildir以下にあるメールの索引を作ります。
% mu index
indexing messages under /Volumes/UFS/Maildir [/Volumes/UFS/share/DATA/.mu/xapian]
processing mail; processed: 42600; updated/new: 42600, cleaned-up: 0
のように処理したメールが数が表示されます。メールの量によっては、まあまあ時間がかかるかもしれません。他のディレクトリを使っている場合は以下のようにします。
% mu index --maildir=~/MyMaildir
バージョンをあげた時などは、索引の構造が変わったりしているので、再構築の必要があるかもしれません。
% mu find maildir:/
database needs a rebuild; try 'mu index --rebuild'
[Invalid UTF-8] mu: db version: \xb8NV\xff\x7f, but we need 9.9; database rebuild is required (15)
% mu index --rebuild
ただし、mu4eを使っている時などは、ロックがかかっているので、まずmu4eを終了させます。

索引ができたら、まずはmuをコマンドラインから使ってみます。
% mu find maildir:/ # POP等で取り込んだメールを表示
From:やSubject:に日本語が含まれても問題ありません。また、様々な検索式が使えます。こちらのページの例を見ると雰囲気が分かると思います。

Emacsから使うにはmu4eを使います。マニュアルやWebページを見て、標準的な設定をすれば使えるようになります。メールの送受信はmuには含まれておらず、他のプログラムを利用します。受信についてはofflineimap, procmail+fetchmail, getmail等のプログラムを使ってローカルにメールを取り込みます。IMAPサーバは使ってなくて、POPサーバから取り込むだけなので、getmailを使いました。送信については、gnusのsmtpmailを使います。

現在、把握している問題点としては、iso-2022-jpで書かれたメールが化けます。メーリングリストの情報によると、0.9.9では解決しているはずなのですが...とりあえず、"." (mu4e-view-raw-message)で見えているので、あまり問題はありませんが、base64でエンコードされてたりすると、符号化された文字列しか見えないので困ります。また、GMailのサーバでは問題ないものの、職場のSMTPサーバに送れないという問題もあります。エラーメッセージによると、受信者が拒否されているような感じですが、Wanderlustでは送れているのに...

しかし、多少問題はあるものの、検索によって使う便利さは捨てがたく、本格的に移行しようと思っています。
0

接続性のある情報学の講義

昨年に続き、城南高校のジョイントセミナー(様々な分野における大学からの出前講義群)に参加しました。ネタとしては、このブログで何回か取りあげているフーリエ変換です。アンケートはまだデータ化していませんが、「難しかったけど面白かった」という評価が多く、狙い通りです。研究室の学生さんたちの手伝いに加え、そもそも、元気のよい生徒さんが多く、盛り上った講義になったと思います。また、この出前講義を準備するにあたり、iPadのアプリもバージョンアップさせました(GitHubのページ)。講義資料(PDFで約7.2M)はこちらに置いておきます。
 
これまで、小学生向けのイベント(小学生に教えるフーリエ変換)、今回の高校生向けの出前講義、毎年やっている大学生向けの講義でフーリエ変換(級数)の話しをしてきました。小学生〜高校生までには「様々な平均」による情報の表し方という切り口で、学年に応じて追加でより難しい内容が加えられます。
 
例えば、中学で座標による2次元平面上の点を表すということを習いますが、様々な平均をとることで同じ対象を別の座標系で表現できます。また、フーリエ変換(級数)のところでパーセバルの定理を学びますが、これは、中学3年で習う三平方の定理(ピタゴラスの定理)の拡張になっています。
 
高校生だと、ベクトルを学ぶので、内積等を用いてさらにより深い理解ができます。実際、今回は内積で各基底ベクトルの成分を計算で求めましたが、これが理解できた複数の生徒さんは「感動した!」とコメントしてくれました。さらに、今回バージョンアップしたアプリで、4つの基底ベクトルを選択できるようにしたため、例えば、2つを使った場合より、3つを使った場合が、より正確に元の情報を再現できることを理解できます。
 
また、今回の出前講義では、補足資料として講義内では扱いませんでしたが、直交した基底ベクトルによる表現が理解できます。直交した座標系しか知らないと、直交座標系の「嬉しさ」が分かりませんが、斜交座標系だと連立方程式を解く必要があるのに対し、直交系は欲しい成分ごとに内積で求めることができます。(情報系の)大学生だと、さらに、連立方程式の計算量を見積ることで、直交系の表現がどれだけ効率的かも理解できます。この話しは、さらに、高速フーリエ変換(FFT)にもつながります。
 
直観的に「フーリエ変換は本質的に面白い話しで、小学生にもできる!」と感じ、こういった講義を準備してきて、その直感は正しかったと思いますが、こうやって振り返ってみると、教育課程の様々なレベルにおいて、ちょっと違った視点を提供してくれるので、学校で習うことが当たり前すぎて、その意義が分かりづらいことの「嬉しさ」もよく分かるのではないかと思います。
 
このあたりのことは、来週(7/19〜20)、千歳科学技術大学で開催される情報科教育学会の第7回全国大会で、「初等から高等教育の接続を意識したフーリエ級数による情報の表現に関する授業提案」(口頭発表)と「iPadと平均を用いた小学生向け「情報の周波数表示」の体感型教材」(デモ)で発表してきます。
0

検索により拡張可能なプッシュ型掲示板プログラムの裏側

このブログで何度も取りあげてきた掲示板ですが、その仕組みを簡単に紹介します。研究室の学生さんでJavaScriptプログラミニングに興味がある人がいたので書いています。
 
まず、この掲示板の作者は私ではなく、私の研究室出身の谷口さん(現在、徳島大学のポスドク)です。2度ほど大幅な書き直しがあって、現在CrossPointという名前になっています。GitHubでコードも公開されています(リンクはこちら)。 
 
大まかに動作を説明すると、ブラウザでサーバにアクセスすると、サーバから掲示板のデータが送られて、表示されます(下図参照)。

メッセージを書き込めば、そのデータがサーバに送られ、現在接続している全てのクライアントに自動的に送信されます。つまり、WebSocketを使っており、ユーザはリロードすることなく、最新の書き込みを表示できます。また、アンカーにも対応しています(上の図の">>3"など)。
 
サーバはRubyのWebSocketライブラリであるem-websocketを使っています。"em"はEventMachineの略で、非同期処理のライブラリです。掲示板に必要と思われるイベントをいくつか決めて、イベントが起こったら、クライアントにメッセージを返します。例えば、クライアントが初めて接続してきたら、画面に表示する名前と学生番号(上の画面ダンプの右上)に入力を促すため、"need-both-ids"というイベントを発行します。初めてのアクセスかどうかを判断するために、ブラウザのローカルストレージに識別子を格納しています。
 
クライアントはJavaScript+HTML5+CSSで書かれています。client.htmlを見ると、掲示板のメイン部分は
        <div id="column-container"></div>
となっており、カラムの容器があるだけです。どのようなカラムを配置するかはconfig.jsで定義します。それほど複雑ではないので、実例を見ていきましょう。
Xpt.initialize({
    app_title: "情報科学III用掲示板",
    init_columns: [
        { title: "全体のメッセージ"
        , in_filter: function(p) { return ! p.content.match(/#GROUP/ig); }
        , out_filter: function(p) { return true; }
        , in_map: function(p) { return p; }
        , out_map:    function(p) { return p; }
        , entry_placeholder: null
        , removable: false
        },
        { title:   "グループ(" + readFromStorage('group_id') + ")内メッセージ"
         , in_filter: function(p) { return !p.content.match(/#GROUP_NOTIFY/i) && p.content.match(/#GROUP/i) && p.user.group_id == readFromStorage('group_id') ; }
        , out_filter: function(p) { return true; }
        , in_map:     function(p) { return p; }
        , out_map:    function(p) { p.content += "#GROUP"; return p; }
        , entry_placeholder: "グループ内メッセージ..."
        , removable: false
        },
        { title:   "グループ向け通知"
        , in_filter:  function(p) { return p.content.match(/#GROUP_NOTIFY/i) && p.user.group_id == readFromStorage('group_id') ; }
        , out_filter: function(p) { return true; }
        , in_map:     function(p) { return p; }
        , out_map:    function(p) { p.content += "#GROUP"; return p; }
        , entry_placeholder: "グループ内メッセージ..."
        , removable: false
        },
        { title:   "TA"
        , in_filter:  function(p) { return p.content.match(/##TA/i); }
        , out_filter: function(p) { return true; }
        , in_map:     function(p) { p.content = p.content.replace(/##TA/ig, ""); return p; }
        , out_map:    function(p) { p.content += "##TA"; return p; }
        , entry_placeholder: "TAのみ書き込めます"
        , removable: false
        }
    ]
});
 
 
JSON形式で書かれており、ここには4つのカラムが定義されています。カラムごとにtitleがあり、entry_placeholderには書き込みフォームに薄く表示しておく文字列を書きます。removableがtrueなら、そのカラムはユーザが取り除けます。一番の特徴は、in_filter, out_filter, in_map, out_mapです。"in"はサーバから受けとったメッセージの処理、"out"はクライアントが書いたメッセージをサーバに送るときの処理であることを示しています。一方で、"filter"には論理値を返す関数がかけて、trueになったものだけ受信または送信します。"map"は、書き込まれたり受診したメッセージを加工する処理が書けます。
 
例で説明しましょう。"全体のメッセージ"カラムでは、in_mapもout_mapも、引数のpをそのまま返しているだけなので、特に加工はしません。しかし、サーバから受けとったメッセージを表示するときに、メッセージ(p.content)に"#GROUP"という文字列(ハッシュタグのようなもの)が含まれていると表示しないようにしています。
 
次に、"#GROUP"というハッシュタグがどのようにして付けられるか見てみましょう。これは、グループ内メッセージというカラムで生成されます。titleに、ローカルストレージに保存しておいた、group_idの値を使用しているので、「グループ(4)内メッセージ」のように見えます。このカラムは、多人数で掲示板を利用すると、書き込みが多すぎて密度の濃い議論ができないため、少人数のグループに分けるために定義しました。
 
さて、「グループ内メッセージ」に書き込むと、その"out_map"により、自動的に"#GROUP"という文字列が追加されます。また、このカラムに表示するメッセージは"#GROUP"という文字列が入っていて、かつ、このユーザのgroup_idが一致したものだけに限定されます。
 
つまり、文字列を追加したり検索するだけで新しいカラムが定義できました。もちろん、新しいイベントを定義したり、ローカルストレージに書き込む変数を増やしたりする場合には、サーバとクライアントのソース(xpt.js)に手を入れる必要があります。しかし、すでにあるデータの一部を取りだしたり、特定の人に制限して見せるという程度であれば、比較的に簡単に実現できることが分かります。
0

メンタルモデルと納得

メンタルモデルとは、まわりの世界(の一部)がどのように作用するかを理解するためのモデルで、認知心理学や教育心理学、デザインなどの分野で使われているようです。それまでバラバラだった自分の中の考えが、この言葉を知って説明しやすくなったので、これを紹介します。
 
自分にとってインパクトがあったの理由は、まず、異なる分野(本)で同じ言葉を見たからです。まず最初に、「ベストプロフェッッサー」(「よい大学の先生は何をしているか?:ベストプロフェッサーで紹介しています)で見ました。この中には、受講者のメンタルモデルを変えられるような先生たちが紹介されています。逆にいうと、普通の授業だとメンタルモデルは変わりません。例えば、「重いものは軽いものより速く落ちる」というモデルを構築している学生は、テストではきちんとした理解を示しても、メンタルモデルは従来のまま、というような例が紹介されてます。さらに、実験などでどちらも落ちる速度は同じであるという結果を見せても、「いま見た結果が特殊である」と主張して、なかなかメンタルモデルは変えないそうです。教育に関わるものとしては、メンタルモデルを変えたいですよね。
 
次に見たのは「誰のためのデザイン?」です。この中には、様々な実例をあげて、どのようにデザインしたら、利用者が適切なメンタルモデルを構築できるか、あるいは逆に、このような場合はメンタルモデルがうまく構築できないかということが説明してあります。特に、ドアの例は「あー、そうそう」と納得感が非常に強かったです。つまり、ドアを見ただけで、これが開き戸なのか引き戸なのか、どちら側に開けるのか(押すのか引くのか、など)を適切にドザインするのは難しいようです。実際、大学のドアでしょっちゅう「締切」 のほうを押してしまいます。
このドアは[引]と[押]が1枚のドアの両側に書いてあり、このドアが2枚で組になってて、片方は締切になっています。写真では[引]が書いてありますがまり、締切のほう(左側)にも[引]が書いてあり、これだけでも、締切のほうを引いてしまいそうになります。さらに、よく使うほう、つまり、締切ではないほう(写真の右側)は、よく触られるためでしょうか、[引]の字が薄くなっていているのです!こうして、はっきり見える締切のほうを引いたり押したりして「ガコッ」っとなるわけです(怒)。
 
逆に感心した実例がトイレの水を流すボタンです。日本では上か下に回すタイプが多いのですが、この場合の「上」と「下」と、「大」と「小」の対応は恣意的であり、文字を見るしかありません。ちなみに、我が家に2つトイレがありますが、それぞれ方向が異なってます!
ところが、シンガポールのあるホテルでは、円を大きさの異なる二つに分けてあって、「大」と「小」の対応が自然につくようになってます。
 
さて、上述の物体落下の例からも分かるように、一度構築されたメンタルモデルを変えることは容易ではありません。しかし、納得できそうな説明で間違えたモデルを作ってしまうこともよくありそうです。これに気付いたのはiPhoneの世界時計です。時計の背景の色は、下の写真のように2種類あります。
   
これ自体、まったく気付いてなかったのですが、気付いてからは、午前と午後に対応していると思いこんでました。しかし、海外出張中に、たまたま1時間の時差があるところで、気付いたのですが、午前6時と午後6時を境に、色が変わっています。しかし、ググってみると、午前と午後ともっともらしく説明している人もいました。
 
アインシュタインは、他の人との違いを聞かれて、「たとえば、干し草の山から針を探さなくてはならないとします。あなた方はたぶん、針が1本見つかるまで探すでしょう。私は、針が全部、見つかるまで探し続けると思います」と答えたそうです(スウェーデン式 アイデア・ブック)。いったん、納得しやすい回答が出されると、それで納得してしまいがちです。例えば、環境問題や食料自給、高齢化や少子化問題など、複雑な問題に対する説明を、データを添えられてもっともらしくされると、確かに納得してしまいがちですが、そこでも「ホントにそうなの?」と疑ってみること大事ですよね。
0

iBooksのフォルダのシンボリックリンク化

【重要なお知らせ】 やはり、下記の記事は誤りだったようです。確認が不十分でした。何が原因かよく分かりませんが、シンボリックリンクのはったフォルダで置きかえることは現時点ではできていません。

ここの記事を見ると、けっこう深いレベルで仕組みが用意されているようなので、シンボリックリンクで代替する、というのは基本的にできないのかもしれません。また、やろうとする場合はOSに関する公式な文書などを読むなどをする必要があるかもしれません。うーん...
(2014-04-24)
------
【重要なお知らせ】 下記の記事を書きましたが、もしかすると、データが誤って削除されてしまうかもしれません。まだ確認中ですが、iBooksのデータをシンボリックリンクで置換えることは控えてください。(2014-04-23)
------
ようやくiBooksのPDFデータを収めたフォルダ(ディレクトリ)をシンボリックリンクにできたので、まとめておきます。それにしても、Marvericksになってから、いろんなソフトの使い勝手がイマイチな気がします。スマホ用OSに近くなったことが原因ではなく、単に機能が低下しているような。例えば、以前からあるiMovieやKeynoteはアップデートされて使い勝手がかなり悪くなってて、古いバージョンのをいまだに使っています。

▲背景:異なるコンピュータでフォルダの同期

古い論文やポストイットを貼りつけた本、研究ノートなどはスキャンして、PDFに変換して、ずっとiTunesで管理していました。作者だけでなく、分類やキーワードなどが付与できて、当然、これらのメタデータで検索できて便利でした。しかも、Musicフォルダは(も)、unisonというソフトを使って、複数のコンピュタで同期しており、iCloudとかがでてくるずーっと前から、どのパソコンを使っても同じ環境で仕事ができていました。

ところが、OSがMarvericksになってから、iTunes配下のデータのうちPDFは勝手にiBooksの配下に移動され、Musicフォルダから移動されてしまい、同期の対象からはずれました。

考えられる解決策は?

検索すると、移動したPDFファイルは以下のフォルダにあることはすぐにわかりました。
~/Library/Containers/com.apple.BKAgentService/Data/Documents/iBooks

そうすると、このフォルダも同期の対象にすればよいのですが、これまでの習慣から、iBooksフォルダの実体は同期対象フォルダに移動して、上の場所にシンボリックリンクを貼りたいと思いました。これは、以前はunisonではなく、rsyncというコマンドで同期をとっており、細かいフォルダごとに同期をとるのが面倒だったので、同期をとるフォルダの数を少なくしたかったためです。

他に、ディスクの容量が少ない人は、外付けのHDDに実体を置いておいて、シンボリックリンクを貼りたいという要望もあるかもしれません。

▲問題点と解決策

しかし、シンボリックリンクにすると、iBooksのアプリからPDFにアクセスできなくなりました。フォルダやファイル自体のアクセス権限は問題ないことはチェックしています。

一度はここで諦めたのですが、試しに新しく追加したPDFは問題なく見れます。とすると、既存のファイルを新たに追加しなおせばよいということになります。iBooksアプリの[ファイル]→[ライブラリに追加...]から、既存のファイル(を別の場所に退避してたもの)を一度に選択して、ライブラリに追加します。「すでにあるよ」みたいな警告がでるのですが、[置き換え]を選択して、無事に追加できました。

▲まとめ

今回は再度追加することで、うまくいきました。これはiBooksのデータ構造が複雑ではなく、単一のフォルダ内にPDFを置いておくだけだったからです。データ構造はシンプルですが、複数のメタデータ、例えば、分類や著者ごとに表示を切り替えることができます。難しくいうと、物理的な配置(フォルダ)と論理的な見せかたが分離しているためです。

もちろん、分離していないと様々な見せ方はできません。しかし、分離してても、うまくいかない例もあります。例えば、iPhotoでイベント分けした写真を、シンプルスマホ(こちらのブログで紹介したようにiPhoneからシンプルスマホに機種変更しています)にイベントの情報ごとコピーしたいのですが、まだうまくいっていません。これは、Mac側のメタデータの管理とAndroid側のメタデータの管理の方法が違うからです。Android側はSQLite3というデータベースを使っていることは分かったので、もうちょっと調べてみようとは思いますが...


0

小学生に教えるフーリエ変換

■ 数年前(平成21年ごろ)から、フーリエ変換・級数の本質を小学生に教えたいとずーっと思っていました。ようやく念願かなって先週の土曜日(3/31)に実現しました。何故小学生にそんな難しいテーマを、と思われるかもしれません。そもそもの動機や内容、感想などについてまとめておきます。先に結論を書いておくと、このテーマを小学生に教えようとするプロセスによって、教育や研究に関する考え方が大きく変わりました。具体的には、
  1. 日常の現象と結びつけて教えることで、メンタルモデルから変えられる
  2. whatとwhyを考えることで、研究だけに限らず、広い意味で問題解決を図る時の駆動力(driver)となる
  3. 受講者の反応によって講義は大きく変わる
ことが分かったことが大きな収穫でした。

使った資料(PDFファイル)とiPad用のプログラム(HTML5+JavaScript+CSS)も公開しておきます。iPad以外では表示がずれてしまうのですが...

■ フーリエ変換とは?
フーリエ変換(級数)をざっくり説明すると、
任意の関数は様々な周波数(周期)の三角関数の線形結合で表現できる
というものです。物理の言葉でいえば、
任意の波は様々な周波数の波の重ね合せで表現できる(重ね合せの原理)
ということで、虹やプリズムで個々の周波数の波を別々の色として見ることができます。理解するためには、三角関数はもちろん、積分や複素数なども知識も必要で、理系の学部2、3年くらいで習う内容です。

「これを小学生に話したい!」と思った最初の理由は、日常的な現象として体験するため、題材として面白いからです。上述の虹やプリズムもそうですし、音も周波数と関係が深い現象で、最近ではイコライザーのように視覚化もできます。つまり、日常的によく見る現象と結びつけられるので、印象に強く残ると期待できます。

■「フーリエ変換とは○○」である。
しかし、これだけではまだ小学生とは結びつきません。「データ科学」という講義で使うことにした、ある教科書との出会いがあって、小学生にも教えられるかも、と直観的に感じたのです。教科書を紹介する前に、小学生に難しい理論を説明しようと思うときに必要なことを考えてみると、複雑な数式などが使えない分、本質は何かを考え、本質を伝えるようにしないといけません。つまり、「フーリエ変換とは○○だよ」の○○の部分に、小学生が知っている言葉を使って説明しないといけません。

さて、講義のために、数学、物理、工学、画像処理など様々な分野の教科書を数多く見てきましたが、どれも出発点がフーリエ変換であり、これをどう説明するかとなっているので、どうしても積分や三角関数などの知識が必要です。一方で、「これなら分かる応用数学教室(金谷 健一、共立出版) 」は、フーリエ変換を大きな枠組みの一部であるという高い視点で書いてあります。つまり、「フーリエ変換は何であるのか?」に応える内容になっています。このような観点で書いてあるのはこの教科書を含めて2冊(最後に紹介します)しかありませんでした。

「フーリエ変換は○○である」というのは汎化であり、抽象度があがればあがるほど不正確になりますが、他の視点で見ることができます。例えば、「フーリエ変換は理論である」くらいに言うと、理論つながりで他の理論と一緒と見ることができます。逆に、定義通りに述べれば、正確だけどそれ自身しか説明できない、となります。

■ フーリエ変換は様々な平均の和である!!
さて、このようにフーリエ変換が何であるのか新しい視点を提供してくれるとはいえ、小学生にそのまま説明するのはまだ難しく、より抽象度の高い汎化が必要です。この時に影響を与えたのが「データ科学」の受講者(学生)です。

当ブログで何度か書いたように、「データ科学」も学生さんたちをグループに分け、ホワイトボードを使い、議論しながら講義を進めます。ある時学生さんの一人が「フーリエ変換って平均だよね」とポツリと言いました。平均の話はすでにこちらからしていたのですが、まだ「フーリエ変換は様々な粒度の平均を足したもの」という認識まで至っていなかったようです。これを聞いたときに「平均だったら小学生に話せる!!」と天啓のように閃いて、あまりに嬉しかったので、その学生さんと彼が書いたホワイトボードの内容を一緒に写真におさめました。この経験から、学生さん側の認識に影響されるという意味も含めて、授業とはコミュニケーションだなあと思いました。

■ 最後の工夫:ここが大事
ここまで来たら、あとは、平均の計算を体験型でさせる工夫です。すでに、フーリエ変換の本質を以下の図のような矩形関数で説明するのは2年前からやっており、高校生にもこれで説明しました。
この図を見ると、ブロックのようなもので基底ベクトルを表す基本ブロックのようなもの作り、これの組み合わせで任意の形が表現できる、というストーリーができそうです。実際に、ブロックを使って実現すれば、手を動かしながら楽しく勉強できそうですが、残念ながらまだ実現できていません。これは、負の数がはいって、正と負の打ち消しあいがうまくブロックで表現できないからです。

そこで、少し妥協してタブレット端末で実現することにしました。入力するブロックの形を決めると、4つの種類の平均(基底ベクトル)を計算し、これを合成することで元のブロックの形が復元できる、というものです。これで、ややこしい計算自体はiPadにやらせて、何度も確認することができます。また、単にこのような機器を使うと喜んでくれることが多いです。

■ で、反応は?
対象は、同じ地区の小学6年生(この4月から新中学1年生)で、11名集まりました。アンケートなどによると、ちょっと難しかったようですが、面白がってくれたのが分かります。例えば、難しい計算のところにもっと時間をとってほしかったという要望がありました。驚いたのは、まだ説明もしていないのに、ベクトル表記で計算している子がいました!!

■ 参考文献
最後にフーリエ変換関連で調べた教科書を紹介しておきます。外から位置づけるタイプは以下の2冊です。
上の直観的方法からは、上の矩形関数の説明に大きな影響を受けています。

これに対し、「フーリエ級数とは三角関数による線形和(重ね合せ)である」という、フーリエ級数そのものから出発するもので秀逸なのは、以下の本です。
フーリエの冒険
言語交流研究所ヒッポファミリー(2013/07)
値段:¥ 3,780


そもそも三角関数って何だろうという感じで、フーリエ級数に必要な概念を自分が納得のいくまで調べてあります。実際に自分で計算したり絵を書いたりしながら読む体験型の本です。
0

授業で発言しやすい仕組みはできるか?:掲示板による例

1/29日に、恒例になりつつある、半期に一度の「情報科学I:ネット時代の情報センス」(担当 南俊朗先生)を1コマだけ担当しました。また、今年度の後期に、初めて半年通して掲示板を利用して講義をしたので、掲示板のデータもあわせて、気付いた点などをまとめておきます。結論からいうと、学生はインタラクティブな講義は大歓迎で、使った掲示板システムのあまり問題なさそうだが、心理的に書き込みにくいという学生が多少いるということが分かりました。いままでのブログで書いたようなメリットはあるものの(例えば、こちら)、システムや運用の仕方が安定してきて、さらに次のステップが見えてきた、というように捉えています。
 
まず、掲示板の基本情報です(掲示板の技術的な詳細については別途まとめます)。情報科学IIIの掲示板はこちら(情報科学IIIの掲示板)からアクセスできます(一応、まだ使っているので、関係者以外は利用しないでください)。カラムごとに機能が分かれており、TAや先生のカラムには、右上の学籍番号に適切な文字列を入れないと書き込めません。これは、TAや先生へのなりすまし防止のためです。TAや先生のカラムからの書き込みには、自動的に"##Teacher"などのタグがつきます。リロードしなくても、新しい書き込みは、「n件の新着」と表示され、クリックすると示されます。自動でカラムに表示せず、一度クリックさせているのは、情報科学Iで大量の書き込みがあって、自動で表示すると新着を追うのが大変だからです。
 
前期の利用のあとに情報科学III用にリファクタリングした時に、グループ機能には未対応となったので、今回の情報科学Iのために、私がグループに対応させました。もともとの学生の設計が非常によく、簡単な拡張で済み、しかも、拡張前も後も安定して動きました。こちら(情報科学IのHTMLファイル)は、学外へのポートが空いていないマシンに掲示板を置いたので、静的なHTMLの形で保存したもの(つまり掲示板機能はない)を公開しています。グループのカラムが追加されていることがわかります。
 
どちらであっても、使い方も簡単ですので、難しいから使わない、ということはないだろうと思います。利用する時は匿名ですが、表示される名前を自分で好きに入力できます(右上の表示名ボックス)。情報科学IIIでは表示名は必須ではありませんが、これまでの情報科学Iでの知見から、名前があったほうが互いに意見交換しやすいと思ったので、表示名の入力を必須と(掲示板システム側で)しました。学籍番号も入力を必須としていますが、ここには何を入れてもよいので、個人を認証する機能ではありません。
 
次に、それぞれの講義についてです。一つは情報科学IIIという講義で、全学の(主に)1年生が対象です。回によるバラつきはあるものの、毎回の受講者は40〜50名程度です。内容はPHPでサーバーサイドプログラミングをやり、動的なWebページを作る仕組みを理解することです。そのため、必要となる技術はDBやHTML/HTTP、セキュリティなど多岐に渡り、けっこう大変だと思います。そこでまず、分からないところはじっくり勉強してもらえるように、反転講義の形式にしました。様々な概念の説明を予習資料として前週に掲示し、講義の時には実習をみんなで行い、分からないところを掲示板で聞く、というスタイルです。質問を想定しているので、グループは不要だろうと思い、こちらの掲示板では実装していません。コンピュータ系の実習ベースなので、掲示板はぴったりだと思っていました。つまり、掲示板は質問をする場所になります。
 
最終回にとったアンケートによると、学生側も掲示板の利用に関して肯定的な意見が圧倒的でした。ただ、実際には、それほど書き込みがあったわけではなくて、毎回の書き込みは100や200程度で、少ないときは50程度でした。内容は、実習に関する質問とその答えで、学生が私より先に答える、ということもしょっちゅうでした。また、アンケートによると、書き込みに抵抗を覚えるという学生が数名いました。他にも、最初のほうに、(私はそれほどとは思いませんでしたが)不適切な書き込みをした学生がいて、アンケートでも不快感を表した学生が少なからずいて、ちょっと驚きました。というのも、上で見せた情報科学Iの掲示板では、かなり不適切なものがいっぱいあり、ある程度はo.k.みたいな雰囲気があります。逆にいうと、情報科学IIIではなぜそのような雰囲気を作れなかったのかが気になります。もしかしたら、上述の不適切な書き込みの直後に、ある学生が掲示板上で強い態度でたしなめたのですが、これが掲示板への書き込みにくさを助長したのかもしれません。これに対して、私からは「ある程度はいいんじゃない」とコメントはしたのですが。また、そもそも、「質問があれば」と学生側から書かせることにしたのが失敗だったかもしれません。例えば、自分で読んでくる予習資料についても、「これこれについては理解しましたか?」などとこちらから聞けば、より質問がでやすいかもしれません。
 
もう一つは、今回が4回目の情報科学Iで、受講者は50名程度と聞きました。南先生のこの講義は大人気で、これまで150名程度だったので、今回は少なめです。内容は、識別子とプライバシーなどを扱います(講義資料はこちら)。こちらは、質問を通した実習でスキルをつけるというより、自分の考えを述べたり他の人の意見を聞くための掲示板です。受講者数をあらかじめ聞いた上で、10グループに設定し、最初に掲示板にアクセスした人から、順番にグループに割り振ります。そのため、5人程度で1グループとなります。グループ向け通知に名前とユーザIDが表示されるので、グループ内のメンバーは誰がいるかが分かります。名前は自由に変えられますが、IDは(単純には)変えられないので、何人いるかは(一応)確認できます。
 
全体の書き込みは上記ダンプファイルで見れますが、グループ内の議論を公開するのは適切ではないと考えたので、グループ内書き込みのカラム自体を削除しています(グループ向け通知は削除していません)。全体で1600程度の書き込みがあります。書き込み番号は、グループ内書き込みと共通の通し番号です。はっきり言って、全体掲示板の内容は、授業と関係ないものが多いですが、質問に対する答えを各自入力したり(230あたり以降や1400あたり以降)、グループ内議論の報告を全体でシェアしたり(例えば、700あたり以降)もあります。1400あたり以降は授業の感想と、こういうた掲示板システムを授業で使うことへの意見です。また、少数ですが質問もあり、だいたいはきちんと対応できましたが、いま改めて見直すとGPAに関する質問は見落しています。QAのカラムから入力してくれるといいのですが、なかなか別のカラムは使われないようです。
 
比較的荒れぎみの全体掲示板に対し、(公開しませんが)グループ内の書き込みはきちんと議論してくれたところが多かったです。ただ、2, 3のグループは、議論に参加しないメンバーが多く、議論にならなかった、というところもありました。1424番に学生が書いたように「グループの方が、匿名でも自分の発言に責任がもてる」ような気がしました。これは規模からくる参加意識の違いかもしれません。つまり、小さいグループでは、自分が参加しなきゃ、という意識が高い反面、人数が多い全体掲示板ではそういう意識が出にくい、とか。このように参加していない人を、広い意味での不満を持つ人と捉え、このような不満を吸いあげるための改良を引き続き考えたいと思っています。例えば、学生ごとの発言回数を表示するとか、「いいね!」やその逆の「よくない!」ボタンを発言ごとにできるようにしてみるとか、(システムを作るのは面倒そうですが)アバターや写真を採用するとか。
0

シンプルスマホを使ってみて

http://researchmap.jp/joosbljfg-617/iPhone 4sからシンプルスマホ(シャープ 204SH)に機種変更しました。機能が制限されていて、通話や通信の料金が安いものということで選びましたが、満足しているところと不満なところなど気付いたことをまとめておきます。結論からいうと、機能が少ないと、よりデザインのセンスが問われるなあ、というところでしょうか。

昨年の夏にiPhone 4sを壊してから、3週間ほど携帯電話を持たない生活をしてみて、自分にはiPhoneは時間を喰うデメリットが大きい、ということに気付きました(こちらのブログにまとめてあります)。その経験から、機能の少ない適当な携帯電話に機種変更しようと思っていましたが、今年の1月まで、壊れたiPhoneの支払いが残っていたので、それまで待っての機種変更です。

まずは、どの機種にするかですが、上記のブログにも書いた通り、時計、カメラ、西鉄バスナビ、英辞郎が使えればよいことが分かっていたので、これらの機能がついていて、他にはできるだけ機能の少ない機種が理想です。キッズ携帯、シニア向けあたりが最初の候補ですが、電話機能にフォーカスしている(と思われる)ウィルコムも見にいきました。結果的にはキッズ携帯は制限が強すぎて条件にあわなかったこと、ウィルコムの端末は悪くはなかったのですが、妻がソフトバンク端末なので、そのままのほうが何かとお得です。というわけで、冒頭に書いたようにシンプルスマホになりました。

店頭で簡単なチェックはしていたものの、購入してから上記の使い方がきちんとできるかどうか詳しく検証です。まず、時計は普通のがついてて、問題ありません。西鉄バスナビは、単なるWebページなので、問題なく付属のブラウザで見ることができます。アプリをインストールすることができないので、登録機能のある英辞郎は残念ながら使えませんが、辞書はついています。動画も撮れるカメラもついているので、これも問題ありませんでした。

カメラは、結果的に問題なかったものの、データの吸い出しに少しだけ工夫が必要でした。iPhoneだと、Macにつなげれば半自動的にデータが読み込めますし、Dropboxとかに写真をアップして、そちらからコピーすることも可能です。シンプルスマホではどうするのか分かりませんでしたが、調べてみると内部のmicroSDに保存してあるようです。これを取りだして、アダプタを使ってデータを読み込むのは面倒です。さらに調べると、microSDとUSBの変換アダプタがあり、しかも、百均にもあるようです。早速以下のようなアダプタを買ってきて、つないでみると、簡単にデータがコピーできました。


接続した後に、シンプルスマホ側に"USBストレージをON"にする、というボタンがでてきて、これを押すと、さらに利用に関する注意と"キャンセル"、"OK"ボタンが出てくるので、OKを押します。この間、シンプルスマホ側からみるとmicroSDがアンマウントされたように見えるので、例えば、スクリーンショットとかを撮っても保存できませんでした。

実際のファイルは、Mac側で
"/Volumes/NO NAME/"にマウントされたとしたら、"/Volumes/NO NAME/DCIM/100SHARP/"以下に動画(.3gp)と写真(.jpg)があるので、これをコピーするだけです。

カメラはこれで十分ですが、辞書のほうは失敗でした。しばらく使ってみて分かったのは、自分に必要なのは英辞郎のように例文が豊富な辞書であって、普通の辞書アプリでは不十分なことが分かりました。また、やはり単語の登録機能が欲しいです。英辞郎には"英辞郎 on the Web Pro"という有料版もあり、これはブラウザからアクセスできるのですが、月額315円というのはちょっと高いし、登録単語数が5,000件とか要らない感じです。無料のiアプリでは100件と制限がありますが、この制限がさっさと古い単語や例文を覚えて消すという強力な動機になるのです。

また、ブラウザが非常に使いづらいです。あるページを見てて、いったん他のアプリを利用してブラウザに戻ってくると、スタートページ(デフォルトではYahoo! Japan)が表示されてしまいます。また、複数タブを開いていても、全て閉じられています。もしかしたら、このようなインターフェイスになっているのは、かならずスタートページに戻れることにより、高齢者に配慮しているのかと思いますが、これが使いやすいのか??と思ってしまいます。

そんなわけで、アプリのインストールができないか調べてみると、まあ、もとがAndroidケータイですので、できそうです。まだ時間がとれずにやってはいないのですが、次は英辞郎とブラウザのインストールに挑戦です。仮に、これらが問題なくでき、上記の不満が除かれるとしたら、iPhoneより安い通信量(パケットし放題フラット for シンプルスマホ)でかなりいい感じです。また、インストールができるのであれば、かなり進んだ使いかたをしたい人も満足かもしれません。そういうわけで、意外にシンプルスマホ、いいかも。

追記:
シンプルスマホは電話帳の移行ができないと言われてたけど、以下の作業でいけます。
Mac側: 「連絡先」アプリから、全ての要素(人)を選択し、[ファイル]→[書き出す]→[vCardを書き出す]

上記のUSBアダプタで接続して、マウントされたフォルダの以下の場所に、書き出したvcfファイルを置きます。この時、文字コードをSJISに変換する必要があります。 
PRIVATE/MYFOLDER/Utility/Contacts/Contacts.BCK/

PRIVATE/SHARP/BACKUP/PHONEBOOK/

ただし、実際には上のどちらかだけでよいのかもしれませんが、検証はしていません。これで、文字化けすることなく、iPhone及びMacの連絡先をシンプルスマホに移行することができました。

0

finkからMacPortsへ

使っているMacのOSをSnow Leopard (v10.6)から、Mountain Lion (v10.7)へアップデートしたのにあわせて、パッケージ管理システムをfinkからMacPortsへ移行しました。移行の際に、いくつか試行錯誤をしたので、忘備録を兼ねてメモを残しておきます。

まず、主な要件としては
  1. メールはEmacs内からWanderlustで読み書きする
  2. 日本語入力はSKK
  3. 日本語を含めてtex関連が問題なく使える
  4. ファイル同期のUnisonが使える
というのがありました。

まずは、Emacsです。これまでCarbon Emacs (Emacs22)を使っていたのですが、この機会に、新しい24系にしました。インストール自体はMacPortsのおかげで簡単でしたが、関連のEmacs Lispのインストールに手間どりました。finkの時には、主要なEmacs Lispも含まれていたので、finkからインストールしていましたが、MacPortsには含まれないようです。調べたところEmacs24からはEmacs Lispのパッケージ管理がEmacsの中からできるようで、これを利用してだいたいのパッケージを入れてしまいました。 具体的にはpackage.elと、これに含まれなかったのはel-getを用いてインストールしました。

さて、次はWanderlustです。インストール自体は問題なかったものの、大量にメールを含むフォルダ(約5万通)のmsgdb (検索などを高速にするためのデータベースのようなもの)が正常に作成されないようでした。こんなに大量にあるのは、メールに関する自分のワークフローが、「受けとったものは必要に応じて削除するけど、送ったものは基本的に全て残す」としているからです。なので、このフォルダが検索できないと非常に困るわけです。エラーメッセージは以下のようなものです(数字は変わります)。
Buffer  *temp*-626220 modifiled; kill anyway? (yes or no)
yesでもnoでも、それ以上の処理が行われません。しょうがないので、msgdbを作りなおそうと思って、サマリバッファで"s" (wl-summary-sort) -> all-entirely をするのですが、全体を一度にはできませんでした。作りなおす数を減らしてみたところ、成功したので、どこで失敗するか、いろんな数で試していきました。すると、以下のように空の文字列が To や CC にあるといけないようです。
Cc: "" <abc@xyz.kyushu-u.ac.jp>
この空文字を削除して、無事解決です。

最後はUnisonです。これは2つのマシン間でファイルの同期を行うのですが、マシン間でのバージョンが同じでないといけません。それで、まずは従来から使っていた古いUnisonにあわせて、古いバージョンのインストールをMacPortsで行うことにしました。これは、欲しいパッケージのリビジョン番号を調べて、そのリビジョンのPortFileを手動でダウンロードすれば可能です。Unixonの場合、例えば、以下から調べます。
その後、以下のようにしてファイルを取得します。
% svn co -r 33293 http://svn.macports.org/repository/macports/trunk/dports/net/unison

これで同じバージョンが揃ったものの、実行すると以下のようなエラーがでます。
Dumping archives to ~/unison.dump on both hosts
Finished dumping archives
Fatal error: Internal error: New archives are not identical.
Retaining original archives.  Please run Unison again to bring them up to date.
これを調べていったら、OCaml (unisonはOCamlで書かれている)のメジャーバージョンも揃えておく必要があるということでした。なので、サーバ側も新しくMacPortsで環境をそろえて、無事にファイルの同期ができるようになりました。
0

初等教育は協同の方向へ

学生の研究テーマの関係で、小中学校の授業を研究として見ることが多くなりました。中学校は学校公開や参観の時に見るくらいですが、小学校は研究授業を研究させてもらったり、お願いしてビデオに撮らせてもらったりして、かなりしっかり見ています。それで、最近の小学校教育に対して感じたことを書いてみます。

結論から書くと、協同による授業に重きをおかれている、コミュニケーションが重視されている、正解を教えるよりプロセスが重視されていると感じていて、大学や大学院の授業で自分が目指している方向と本質的には同じだなあ、と感じました。また、あたり前のことのような気もしますが、大学の教員と比較して、小学校の先生がたは互いの授業を見たり、授業を改善することにオープンだなあ、という感想も持ちました。このブログには教育関連のことを書いて、自分では授業改善に対する意識が高いようなつもりでいましたが、そんなことは当たり前のことであるというのを思い知らされて、ちょっと恥ずかしいです。

さて、研究授業を見学した小学校は、特に図工に力を入れているそうで、上述の協同、コミュニケーション、プロセスの重視という方針は特によく図工で実践されているそうです。見学した時期は10月で、学年は3年生、テーマは夏休みの思い出を絵に書く、というものでした。10月に夏休みの思い出というと、少し遅いような気がしますが、この講義に至るまでに何回かの準備があったそうで、まず、児童はどういうことを書きたいのか文章にする、どういうことに注意すると気持ちを図に表せるか技術的なことを学ぶ、下書きの絵を書く、といったことをすでに終えているそうです。その上で、見学した回では、3、4人の班に分かれ、班のメンバーの下書きを順番に見ていき、こうしたほうがいいんじゃないかとフィードバックをもらい、絵を修正する、というものでした。

コミュニケーションがとりやすいような工夫も様々にしてあり、上述した気持ちを表すポイント(例えば「背景」「大きさ」とか)を、フィードバックする時にも使うようにして、フィードバックが具体的に言えるようにしたり、グループワークの時は横一列になって絵を見たり、意見を交換したりしていました。この授業では、どういう絵がよいかではなく、気持ちがよく伝わればよく、そういう意味で正解はありません。また、まわりと一緒に改善していくプロセスが重視されている点も感心しました。他にも、国語の授業(1年生)では学校内で見つけた面白いことを他の人に聞かせて、その発表にフィードバックをするとか、社会の授業(5年生)では調べ学習の結果に他の人がコメントする、などコミュニケーションの場面が多く見られました。一方で、同じような意見ばかりになりがちなだな、という感じもあったので、いろんな意見から自分たちが結論を見つける興奮を味わってもらって、独自の意見を出すことの重要性をぜひ実感してもらいたいところです。

このような動きは、特定の小学校に限った話しではなく、文科省の方針として「協同」という言葉が謳われているそうです(確認はしていませんが)。小学校のこのような点は将来に明い希望を持たせてくれる一方で、大学に入った学生さんたちの授業での反応を見ていると、中学や高校を通ってくると、授業でのコミュニケーションや協同というのはすっかり忘れさられるようです。中学や高校では、どうしても受験が最終目的になりがちだからかなあ、という気がしています。もうちょっと言い方を変えると、学ぶことが手段となってしまい、多くの子には面白くなくなるんでしょうね。

0

紙とホワイトボードによるデータベースの講義

長年担当してきた情報理学コース3, 4年生向けの「データベース・情報検索」(平成24年度のシラバス)ですが、今年度から担当がかわりました。附属図書館に在籍していたころから担当していたので、もう10年近くなります。以前のエントリに少し書いていますが(講義はエンターテイメント!?:コアセミナー)、コアセミナーでのトランプによるソートの成果を受けて、次に改良を始めた講義です。

この講義では、実習が行えない中、学生が主体的に取り組めるようにと試行錯誤し、最終的にはデータベースの基本的な部分(設計やデータモデル等)を紙とホワイトボードを使うことで、普通の教室で講義中に行うことができました。昨年度で担当が終ったので、ここにどういうことをやっていたかまとめておきます。あらかじめ結論めいたことを書いておくと、少しずつでも改良を始めると、途中で勢いがつく、というところでしょうか。

まず最初に実践したのは、普通に課題を前で解かせるというものでしたが、イマイチです。次の改良は、「財布の抽象化」で、シーリグ先生の「20歳のときに知っておきたかったこと」に着想を得たものです。
20歳のときに知っておきたかったこと スタンフォード大学集中講義
ティナ・シーリグ
阪急コミュニケーションズ(2010/03/10)
値段:¥ 1,470

つまり、SQLを使ってデータベースを実際に構築したり、操作したりしませんが、設計部分を行うわけです。もちろんSQLは重要なのですが、どう抽象化するかというのも重要です。「財布はお金を入れるもの」と思いがちですが、カードを入れたり、領収証をためておいたり、人によって様々な使い方がされます。そこで、ペアを組ませてインタビュー形式にして、互いの財布の使い方を抽象化してもらいました。

さて、この経験で、普通の授業の形式にとらわれることなく、コアセミナーのように学生同士がディスカッションしながら進めてよいのでは、ということに(ようやく)思い至りました。そこで、3面にホワイトボードがある教室に教室を変更して、学生をグループ分けして、3, 4名でディスカッションするようにしました。このあたりから講義自体が劇的に変わっていきます。

この後、具体的に作りたいシステムを提示して、この背後に置くデータベースを設計しなさい、という課題に発展しました。提示したシステムは図書館のMyLibraryですが、例えば、「本が返却されたら、予約している人にメールで通知する」とかいう機能は実装しないものの、これに必要なテーブルや集合操作を考えます。つまり、データモデルや関係代数です。この課題は、さらに、より学生の興味を引くように、最終的には「楽勝な講義の情報をシェアするシステムを作ろう」となります。実は、システム自体は何でもよいのですが、楽しそうなものにすることで、みんな楽しくディスカッションができます。実際、楽勝講義の時には、実名をだして「この先生のは取ってはいかん!」とかかなり学生が盛りあがっていました。

設計やデータモデルだけでなく、アクセス方法にも同様の手法が使えます。ここで利用するのは図書カードです。論理設計後に、これを図書カードで実現することを考えます。ピーカーブーカードを使ってハッシュを説明したり、並べかえて二分探索やブロック探索も理解できます。物理的なカードと電子的なデータベースは全く違うものでは、と当初学生は思いますが、結局、索引等の制限によって、設計やモデルの時にはあった(集合論に由来する)自由さが失われるという意味ではどちらも同じです。そういった制限に気付かせることができる点で、図書カードの実習はよかったと思います。下の写真は、最後の受講生が作ってくれたカードです。真ん中の束は、開講キャンパスでタブがつけてあり、さらに前期か後期でタブに切れ目があり、探しやすい工夫がしてあります。
0

中学生の科学実験教室:いろんな試行錯誤

先週の金曜日(8/16)、無事に「中学生の科学実験教室」が終りました。今年度のまとめは、「試行錯誤する機会を与えられて良かった」です。
 
さて、まず最初に試行錯誤したのは、当研究室の学生たちです。すでに「中学生の科学実験教室:改良に向けた試作」に書いたように、博士課程の学生が試行錯誤して、ディスクシークレットを改良してくれました。これによって、工作がより簡単になるだろうと予想できたので、少し時間に余裕ができます。この余裕の部分で何をするか、TAとして雇用した研究室の学生たちに考えてもらいました。その結果、工作以外の実習を充実させることができました。特に、導入部で、参加者の生徒たちをリラックスさせる目的もある模擬通信ゲームは、部屋の間取りを作り、この間取りの情報を声のみで伝える、というように改良されました。間取りを作るところで、TAの学生たちとワイワイできたので、非常によかったです。

他にも、導入部の最後のほう(標本化の説明の後)でトゥインクルピクトといういうおもちゃを使って、光で静止画を切り出すという説明をしていましたが、このおもちゃにマルチストロボの光をあてたら、もともとのアニメーションの動きとは別の動きを再現させることができることがわかりました。

トゥインクルピクト ブルードルフィン
バンプレスト(2009/07/04)
値段:¥ 3,150
 
これによって、導入時はトゥインクルピクト単体での説明、午後の開始時に、工作の意味を考えるために、マルチストロボを使った説明というように、2段階の説明ができるようになりました。


次は、参加した生徒たちの試行錯誤です。上述した予想通りに、かなり工作の時間が短縮されました。そのため、暗号化したディスク上の文字を、どうしたらよりクリアにできるかといった試行錯誤に十分時間をとることができました。このような試行錯誤によって、今回の装置の原理をより深く理解できます。失敗したままだと理解が深まらないのはもちろんですが、一発で完璧なものができてしまっても、指示通りにしただけで、あまり理解は深まりません。スリットを細くしてみる、可変抵抗をずらしてみる、LEDの位置を変えてみるなどして、装置の様々な部分に手を加えられたのはよかったです。また、iPadから暗号ディスクを作るところも余裕があったので、わざと難しい漢字を書いたり、驚いたことにキレイな絵を書いた生徒さんもいました。

最後は、私と秘書さん、それと学生たちの試行錯誤です。上述したように、2つのマルチストロボを使うと、2つの異なる動きを重ねて見ることができます。というわけで、当日の最後の実験で使ったウォーターパールの時に、マルチストロボを2つあててみると、それぞれの周波数に応じた2種類の動きが正弦波状の水滴上に見えました。それを見てたら、光の前にカラーセロファンをかぶせたら、それぞれの動きが別の色で見えるんじゃないかと閃きました!

閃いたらその場で確認したいものです。というより、失敗してもいいので、この試行錯誤に熱くなっているところを、参加した中学生にも見せるべきだと思い、その場でみんなと考えました。しかし、セロファンは手元にない。そこに秘書さんからクリアフォルダは?とナイスアイデア。学生がバタバタと研究室へと走り、赤と青のクリアフォルダを渡して、それぞれのマルチストロボにかざします。見る場所にも多少依存するし、ものすごく鮮明というわけではないのですが、なんとか周波数ごとに違う色を持つ「カラー版ウォーターパール」が出来ました!!もっと鮮明に見せるための試行錯誤はを学生たちとまたやります。いやー、教育的効果とか偉そうに書いたけど、単純に自分が楽しいよね、こういうの。
 
ところで、いろんなイベントに大活躍のウォーターパールですが、こちらの本(いきいき物理わくわく実験)を元に秘書さんたちが自作したものを使っています。
いきいき物理わくわく実験〈1〉
愛知物理サークル, 岐阜物理サークル
日本評論社(2002/03)
値段:¥ 2,310


簡単に説明すると、発振器でスピーカーのウーハーを振動させ、ウーハーに切り込みを入れて、そこを通した管から水を出します。すると、振動により、右が水滴になり落ちます。この振動とあわせた周波数でマルチストロボの光をあてると、水滴がとまって見えたり、周波数を変えれば、水滴が上に登ってみえたりします。

おまけの試行錯誤です。リハーサルの時に、水滴側の発振器の周波数を小さくすると、水滴が正弦波のように動くことが分かりました。発振器の周波数が高いと水が千切れて、単に一つずつの水滴に見えるのですが、低いと振動している管の動きにあわせて水滴がでるため、発振器の正弦波が再現されるようです。

 
0

常時接続な生活は必要?

前回の海外出張の時にiPhoneを壊してしまいました。壊れたiPhoneはこんな感じです。
海外にいる間は新しい機種を入手できないのもしょうがないと思っていましたが、よく考えてみると、携帯ってホントにいるの?とも思うので、しばらく携帯ナシの生活をしてみようと思って、約1ヶ月がすぎました。

結論として、iPhoneは細切れの時間を消費するのにかなり貢献しており、時間を削ることにこれだけのお金をかけることはないだろうと思います。まったく不要かというとそんなこともないんだけど、高機能なスマホ(iPhone等)は自分には不要だということがわかりました。携帯やスマホは絶対に必要と思っている人も多いでしょうし、自分もかなり必要だと思っていたので、意外な感じです。今後どうするかはまだ完全には決めかねていますが、どうやってこの結論に至ったかを書いておきます。

まず、iPhoneを使わないことで、自分が何に使っていたかを自分できちんと把握できました。自分の場合は「時計」「デジカメ」「西鉄バスナビ」「英辞郎 on the Web for iPhone」として使ってて、さらに、暇な時に2ちゃんねるのまとめとかスポーツ新聞やスポーツ系コラムを読んだり、パズルを解いたりしていました。また、主な機能は最初の4つですが、この「暇な時」の使い方を積み重ねるとけっこうな時間になっていることも分かりました。個々に見ていきましょう。

時計については、もともと、時間を見ることで集中の時間がそがれることがいやなので時計は持ち歩かなかったのが、携帯に時計がついたことでちょこちょこ見るようになりました。なので、まあ、なくてもいいかなという感じです。

通勤は西鉄バスなのですが、乗り継ぐので、現在どこまできているかが分かるバスナビは必須だと思っていました。しかし、バス停では最初から時間がかかるものと割り切って、持ち歩いている論文や本を読むと思えば、それほど苦痛でないことも分かりました。何分待てばよいか分からないので、時計はむしろジャマで、時計がないほうが好都合です。ただ、この1ヶ月は本格的な雨の日がなかったのですが、雨の日に屋根のないバス停で立ちっぱなしというのはちょっとキツイかも。折り畳みのカサを持ちあるいたほうがよいかもしれません。

意外に痛いのが英辞郎です。これは100単語に限定した単語登録機能を使って、気になった単語を覚えるのに使っていました。しかし、まあ、これもなければないでよいかな、という気もします。本格的に痛いのはデジカメです。デジカメ自体を持ち歩けばよさそうですが、忘れたりもしそうです。これら2つに関しては、古いiPhone 3GSで結構対応できています。

時々使う電話は代替手段がないので、Willcomとかを考えてもいいかもしれません。他にも、待ち合せや新しい場所に行く時などは、その場で調べられる携帯やスマホは非常に重宝しますが、あらかじめ調べておけば大丈夫という気もします。つい最近まで、そのような環境で生きてきたのに、connectedな生活にどっぷり漬かってしまったのか、iPhoneを壊した時はこれからどうしよう、という感じになりました。何かに依存しすぎているのはイヤなので、面倒でも準備をきちんとすることで、常時接続な生活から離れたほうがよいかもしれないと思うようになりました。
0

中学生の科学実験教室:3年目の準備

(2013-08-23 ディスクに関する条件を少し修正しました)

システム情報科学研究院毎年開催している「中学生の科学実験教室」にテーマを出し始めて今年で3回目です。基本的に同じネタとキットを使っているのですが、今年は工作する装置が大きく変わり、安定して暗号解読ができるようになり、また、工作自体がより簡単になりました。また、解読した文字がクリアに見える条件が明確になってきたので、まとめておきます。
 
キットは「電子工作探偵団の「暗号盤の謎を解け!」で使われたディスクシークレットです。これを使って、字のパーツをバラバラに配置した暗号化ディスク上の文字を解読します。暗号化ディスクを自分たちで作るために、谷口くん(池田研D3)がHTML5とJavaScriptで「暗号盤メイカー」を作ってくれました。GitHubで公開しており、また、プログラムはこちら(暗号円盤メイカー)で動作させています(2013/8/15日現在、Webサーバが停止しているようです。2020/2/23 URLを修正しました。)。HTML5対応のブラウザで動くので、iPhoneやiPadから試せます。
 
さて、ディスクシークレットの原理は以下のようなものです。回転している暗号化ディスクをそのまま見ただけでは、字の部分が白い帯のように見えます。これに対し、適切なタイミングで光をあててあげると、パラパラマンガの静止画に相当するものを仮想的に作りだし、人間の残像現象とあわせて、複数の静止画が重なって見えて、文字が復元されるという仕組みです。こちらの画像で確認できます。
光があたっている部分は「科学実験」という文字が見えていますが、他の部分は白い帯のように見えています。
 
「適切なタイミング」は、暗号化ディスクに入れたスリットで制御します。つまり、光センサーを使って、スリット間を光が通る間だけ照射部のLEDが光ります。こちらは去年までのディスクシークレットの画像ですが、
足を曲げてあるLEDと、これに正対しているセンサーがスリットを関知し、3つのLEDが光ります。しかし、1つの基盤の上にセンサー用LEDと照射用LEDが同居しているため、
照射用LEDの光が十分に字を覆うことができない、という問題がありました。そこで、昨年のうちに試作してみて、センサー部と照射部を分けることにしました(こちらのエントリ(中学生の科学実験教室:改良に向けた試作)を参照)。
 
さて、これでもまだキレイに字が見えたり見えなかったりします。そこで、いくつか考えられる要因をテストしてみて、その結果をまとめておきます。
  1. 照射部LEDの輝度:これは、あまり関係ありませんでした。オリジナルのキットのままで工作する場合は、超高輝度LEDを使うなどしたほうがよいかもしれませんが、分離した場合は付属の高輝度LEDでも十分です。また、色もいくつか試しましたが、けっきょく白に落ちつきました。
  2. スリットの幅:地味に重要なポイントで、幅が広いと、照射時間が長くなり、一瞬の静止画とならずに、字ばボヤけてしまいます。
  3. 可変抵抗:センサーの感度を調整するために可変抵抗がついてますが、これを回して低感度にしてやると文字がより細く、ピントが合ったようにクッキリとなります。
  4. 暗号化ディスクの回転速度:オリジナルのキットではディスクは手で回そうとなってますが、手動では速度がでず、クリアな字になりにくいです。それで、可変モーター(日本ロボテック ギアボックスRDO-501)を最高速にして使いました。初年度から、低速では不十分ということは分かっていましたが、スリットの幅により、なぜ低速ではいけないかが分かります。
  5. 暗号化ディスクの厚さ:普通の用紙ではペラペラで、回転させたときに安定せず、字が上下動してしまって、まった読めません。それで、研究室にあった厚口の紙(0.18mm)を使いましたが、それでも多少上下します。いまのところ、写真用の0.27mmを使っていますが、写真用だと光が反射して字が読みづらいので、写真用ではなくて同程度の厚みがあるのが欲しいところです。
    (以下、2013-08-23 追記)写真用のでも、可変抵抗を調整すればキレイに見えました。また、厚ければよいというのではないことも分かりました。厚いと、いちど折り目がついてしまうと、とれにくく、折り目のせいで字がキレイに重なりません。その意味でも、写真用のは復元力があるため、曲がりにくいというよい特徴がありました。
    他に、ディスクの中心に穴をあけるのですが、この穴を正確な位置にあけることが重要になります。位置がずれると、キレイに字のパーツが重なりません。これをどのように実現するか、来年度への課題です。
0

文献紹介:大学新入生の数学の学力

FDで紹介されてずっと気になっていた文献を読みました。

大学新入生の数学の学力ー九州大学新入生数学基礎学力調査の結果より(梶原健司、科学 80(8)(2010) pp.1134-1137 )

調査の対象や動機は、2012年度九州大学新入生数学基礎学力調査結果にありますが、比較的易しめの問題、2003年度から毎年同じ問題、九大の理系全体の新入生を対象にということろがポイントでしょうか。

データを元に、毎年多少の増減はあるものの、基本的な動きとしては、上位層が薄くなり、下位層が増えていることを示しています。また、理解の仕方として、習ったことの応用ができない、体力に相当する計算力がない、などの特徴も明らかにしてます。

その上で、著者の見解として『正しく情報を認識し、吸収し、他者に伝えるという、広い意味での言語能力が質・量共に低下しているように思われる』としてあります。そのため、数学の補修教育等を実施しても解決にはならないのではないか、ということです。そこで、九大理学部数学科では、一年次での基礎的な科目を少人数化し、εーδ論法等をマンツーマンに近い状態で教育するようカリキュラムを変えたそうです。

さらに、高校での数学教育、進路指導、教員採用に関わる人たちとのシンポジウムでの経験として、『与えられたことだけを無批判・無検証かつ他の知識との有機的なつながりを考えずに受け入れがちで、回答は性急にほしがるが理由や根拠にあまり注意が向かないということなどが報告された』、『数学の力が不十分なまま大学に入学し、卒業して教員になり、数学の見識が不十分なまま教育現場に立ち、数学の力がさらに不十分な生徒を再生産するとい「負のスパイラル」が本格的に回り始めようとしていることへ強い危機感が感じられた』そうです。

答えを欲しがるという点では、このブログでも何回か紹介したコアセミナー(物理1年)の今年度分が今月で終りましたが、そのアンケートで「答えがあるのに考えさせられて苦痛であった」という記述がありました。対象となる学生が所属する九大理学部物理学科は、2年後期から物理コースと情報理学コースに分かれますが、その学生さんは物理コース希望で、希望していない情報系の授業を受けないといけない、というのがいやだったようです。しかし、情報理学コースをもともと志望する学生は少ない中、コアセミナーを担当して6年間で初めての経験で衝撃的でした。
0