わさっき RSSフィード

2013年11月26日

ツリーで検索

f:id:takehikom:20131126032722g:image

なにこれ

日曜日(11月24日),学内の公開体験学習会にて,「検索の達人を目指せ!」と題して出展し,PowerPointを使ってこちらで説明したのち,検索の件数を使ったちょっとした遊びをしてもらいました.

用意したスライドは十数枚でしたが,このうち,ツリーで検索して,情報が見つかった場合と見つからなかった場合の説明では,ディスプレイ上をそのつど指でさして,ずいぶんと苦労しました*1

そこでスライドを見直し,「ツリーで検索」のシーンごとにスライドを設け,GIFアニメーションとして表示するようにしました.

近畿2府5県*2を使った2分木,そして「しが」は見つかるけれども「ふくい」では見つからない話は,前期に2コマ分担している教養科目で使用しているものです.来年度の授業のスライドに,このアニメーションを取り入れるかどうかは,授業前にまた考えます.

テキスト一覧

  • 検索の達人を目指せ!
  • どうしてすぐに答えが返るの?
    • 情報が「ツリー」になっているからです。
  • ツリーで検索:準備
    • 近畿2府5県を,このように並べます。
  • 「しが」を探す
    • 「しが」は,どこにありますか?
    • 「しが」は,ここですね。
    • ですがコンピュータはここから探します。
    • 「しが」と「なら」を比べます。
    • 「しが」と「なら」,辞書(五十音順)で先にあるのは「しが」ですね。
    • そこで,「なら」の左下の矢印に移動します。
    • 「きょうと」です。次は,これと「しが」を比べます。
    • 「きょうと」が先,「しが」があとですね。
    • そこで右下に進みます。
    • はい,「しが」にたどり着きました!
  • 「ふくい」を探す
    • 「ふくい」は,どこにありますか?
    • どこにもありませんね…。
    • コンピュータは,ここから探します。
    • 「ふくい」と「なら」を比べます。五十音順で。
    • 「なら」が先,「ふくい」があとですね。
    • 右下に移ります。
    • 今度は「みえ」です。「ふくい」と比べましょう。
    • 「ふくい」が先,「みえ」があとですね。
    • 左下に移ります。
    • 「ひょうご」です。これと,「ふくい」を比べます。
    • 「ひょうご」が先,「ふくい」があとですが…
    • 「ひょうご」の下には,矢印がありません。
    • そこで探すのはおしまいです。「ふくい」は,見つかりませんでした。
  • 何回探すの?
    • 先ほどのツリーを大きくして,十億件になっても,見つけるのに必要な「比べる」操作は,たった30回です。大学では f:id:takehikom:20131126032721g:image と書きます。*4

[] スライドをGIFアニメーション

PowerPointで作成し,PNG形式で保存した画像に,それぞれ枠線をつけて,GIFアニメーションにするスクリプトを作成しました.ソースはGistからどうぞ.

一連の作業をするにあたって,「PowerPointで作成し,PNG形式で保存」というのがひと苦労です.PowerPoint 2013であれば,「ファイル」のメニューで,「名前を付けて保存」を選択します.「参照」をクリックして,ファイル名のところは変えず,ファイルの種類のプルダウンは「PNG ポータブル ネットワーク グラフィックス形式(*.png)」に変更してから,保存のボタンを押します.最後に,問い合わせには「すべてのスライド」のボタンを押します.pawapo.pptxという名前で編集していたら,デスクトップの下にpawapoというフォルダが作られ,その中に「スライド1.PNG」から始まるファイルができます.

今回スクリプトを作成していて,びっくりしたことがありました.zsh*5,次のように実行して,iの値が出力されるのでした.

$ for i in {8..10}; printf "%02d\n" i
08
09
10

これは,次のように書くつもりでした.

$ for i in {8..10}; printf "%02d\n" $i
08
09
10

シェルスクリプトを書くとき,「i」と「$i」は明確に区別されます.ですが上のとおり,この2つ,出力は同じになりました.

もしやと思って,which printfを実行すると,やはり「printf: shell built-in command」と出ました.

通常のコマンドで試すと…

$ for i in {8..10}; command /printf "%02d\n" i
printf: i: 数値による指定をして下さい
00
printf: i: 数値による指定をして下さい
00
printf: i: 数値による指定をして下さい
00
$ for i in {8..10}; command /printf "%02d\n" $i
08
09
10

ということで,zshのビルトイン関数であるprintfでは,変換文字列引数は,「変数名」でもよいことを知りました.

zshマニュアルにも当たっておくと,Shell Buildin Commandsのprintfのところに,"With the numeric format specifiers, if the corresponding argument starts with a quote character, the numeric value of the following character is used as the number to print otherwise the argument is evaluated as an arithmetic expression."と説明してありました.

[] ツイート感謝

はてブ感謝リンク感謝(201311)の続きです.新規ページにしました.

元記事

ただし以下では,この元記事に言及していないツイートも,取り上げていることがあります.

2013-11-26 朝に追加

昨日,『Japanese Lesson Study in Mathematics: Its Impact, Diversity and Potential for Educational Improvement』を入手しまして,早速[Isoda 2007]とラベルをつけて参考文献に載せました.

なので,十分に読んだわけではないのですが,算数教育に携わる方々のつながりを新たに知る機会となりました.というのも,少しめくると,「With support of」として並ぶ4名のうち「Takuya Baba」が,[馬場2002][Link 19J]の執筆者名と一致したからです(関連:国際比較に追加).

「文献」「人*6」「年月」,そしてそれぞれの組み合わせに注意して,今後も自分なりに情報整備をしていくとします.

“磯田先生”のお名前を最初に見たのは『算数授業研究 VOL.80』です.2012年に「×」から学んだことに,日本語・スペイン語のかけ算の式が表になったものを,貼り付けました*7.この表のスペイン語版を知ったのは今年2月です.

前後関係があるようで,@さんと@さんの11月23日のツイートにも目を通しました.

自分の書いたものは,人によってはリファレンスになり得るでしょうし,別の人にとっては,読むだけ時間の無駄な情報となるのかもしれません.

それでも,「かけ算の順序について調べたい」だとか,「かけ算の順序というのがあって,そこでコレコレという言葉を見かけたけど,何を探したらいいか,教えてくれない?」とかいった問い合わせがあったときに,そのとっかかりとなるものを提案できないか,と思うことはよくあります.要はwikipedia:レファレンスサービスです.

自分自身は,はてなダイアリーでこれまでに書いた各記事や,アップロードした各画像を手元に置き,検索や再利用に役立てるとともに,リンク集やQ&A集を整備してきました.

前者のリンク集は,そのうち新たなエントリを作ることを予定しており,11月15日以降の関連記事は載せていません.Q&A集はメンテナンスする気なしです.

リファレンス」といえば,一時期,facebookのトップページからのアクセスを多くいただいたのですが,アクセスログではリンク元https://www.facebook.com/https://m.facebook.com/となっていて,詳細を知ることができません.どんな紹介のされ方だったのでしょうか?

上は,私の書いたことに対する直接的なツイートではありませんが,ある通知をもとに読ませてもらい,非常に興味のある内容だと思いまして,取り上げた次第です.

「掛け算順序にこだわらない」に関しては,算数教育に関わる各団体は,かけ算の順序についてどのような見解を出していますか?で「非順序派」という項目を設けています.

そのほか,2013年はトランプ配り,1988年はアレイで,間違いにするのはおかしいという本を2冊,見てきました.

順序をつけた式にしているけれど,かける数が先の文章題(2つの数をひっくり返すような操作)は出てこない,という教材集・ワークブックには,次の2冊が思い浮かびます.

活用力アップ!子どもがよろこぶ算数活動 2年

活用力アップ!子どもがよろこぶ算数活動 2年

後者については本探し,出題探し,教え方探しでもう少し書いていますのでご確認ください.

それと,教科書Q&A:文部科学省を見ると,小学校の教科書は,25年度に検定・26年度に採択・27年度に使用開始*8となっているのですが,かけ算の順序をなくすなど,より良い初等算数数学教育カリキュラムを整備していこうと意気込む人々の間で,このスケジュールは周知されているのでしょうか.

ちょうどPCに向かっていたときだったので,いくつか返信しましたが,実は最初のツイートを見て,ノックダウンされた気分でした.

「かけ算の順序論争について(日本語版)」の要所を,ここに書いておきます.

  • 現実世界では「1.5kg×4箱」だとかf:id:takehikoMultiply:20131126034734j:imageだとかが当たり前のように使われていますが,これがなぜ「総量は6kg」(6箱でも6kg箱でもなく)や「死亡モンスター2体」と認識できるのかというと,小学校で学習しているかけ算の式,「かけられる数×かける数」にルーツがあるのです.
  • 乗法は「倍」と「積」とに大別でき,りんごの問題をはじめ論争となる出題は,このうち「倍」に分類されます.

なのですが,補足が必要です.現実世界では「レシート」は,個数×単価もあるよという指摘も見かけますが,これは2012年に調査していて,今年になって年末年始のレシート集めを作り,外部へのリンクを含め整備しました.レシートや,子どもへの配慮については,かけ算の順番問題 / かけ算の順序問題にも書いています.ところで,「レシートに個数×単価を多く見かける」という事実から,「現実世界では,かける数×かけられる数を多く見かける」と言っていいのかについては,疑問のあるところですし,それを根拠に「算数でもかける数×かけられる数を認めよ」というのは,A-6に吸収されることになります*9

「倍」と「積」に関しては,Greer (1992)によるそれらの違い,特にクッキーの話の乗数・被乗数の違いに納得がいくかいかないかの話かなと思います.なおGreer (1992)には,かけ算・わり算の分類のしかたについて,Vegnaudほかいくつかの先行研究と比較した表があり,Greerがもっとも詳細です.その後,大きな変更が生じたという話も見かけません.

「なぜかけ算に順序があるという指導をしているのか」という疑問については,明治時代から,また国外の事例をもとに,多数の実践例および学術的な根拠*10を見ていき,頭の中で再構成を図るなり,まとまった文章として取りまとめるのが,しんどいけれど王道なのかなと思っています.そこで,レーンをスイッチしていただいて,「なぜ『かけ算に順序があるという指導』に自分は違和感/困惑/いらだち/怒りがあるのか」*11と問題設定を変更し,この路線で追究してくださると,こちらとしても助かるのですが.

あと,PV=nRTの解釈の件,承知しました.それは,「複比例」が,「比例関数」をもとに説明できるということの一例だと理解しています.かけ算の式表現に関する配慮は,[田村1978]の本をご確認いただけると幸いです(今年入手できた方もいます.数学者による「かけ算の順序」で「‘中学校式’」を検索していただいても結構です).ソースを出せませんが,かけ算の順序論争の中で最初にPV=nRTを出したのは,菊池誠さんだったと思います.

*1:それによってご来場の方々に,こちらの熱意を感じ取っていただけたのなら,それはそれでよかったのですが.

*2:なぜこの数にしたかというと,「2のn乗−1」個からなる2分木は,深さ(探す回数の上限)をどれも同じにできるからです.もし三重がなかったら,ある探し方では3回,別の探し方では2回ということになります.

*3http://www.crea.wakayama-u.ac.jp/event/taiken2013/

*4:実のところ,こうは書かないのですが,小学生,中学生,高校生,大人に見てもらってそれぞれ伝え方を変えられるような式を選びました.大人には,「2×2×2×…と,2を30回かけると,十億を越してしまうんですよ」のほうが,反応が良かったのでした.

*5:setopt short_loopsを前提としています.

*6:書籍や,公開される授業記録などではほとんど書かれることのない,学習者すなわち子どもたちのことも,無視するわけにはいきませんね.

*7http://f.hatena.ne.jp/takehikom/20120227063621ですが,今見直してみると,「我が国で通じる常識」は,人によってはカチンとくるフレーズかなと思います.

*8http://b.hatena.ne.jp/takehikom/20131124#bookmark-474148

*9:A-6に書いた「他の国」を,「学校の外」と変えますか….

*10:繰り返しますが「数学教育学」における根拠であり「数学」ではありません.とはいえ最後の節で参考文献のみ挙げた「量の理論」も,かけ算の順序,より正確には2つの因数に当たるものへの区別を前提として,構築されているのですが.

*11:不正解にすることには賛成する一方で,困惑は長いこと,持っています.それは,自分が情報通信分野の大学教員であること,より具体的には,文献や年月や人物の結びつけを支援するようなデータベースシステムの開発に携わってきたり,授業・演習・研究室指導を通じて自分の指導の方法やコンテンツを変更してきたりした(今後もそうする)こと,そして数年後にはかけ算を習う娘らの父親であることと,切り離して扱うわけにはいきません.