手段としてのソフトウェア

作りたいものが見つからず不安なので,せめて何か蓄積したいと思いました。

いかにして問題をとくか を読んだ

数学ガールの秘密ノートシリーズを読んでいるうちに触発されて,ポリア著「いかにして問題をとくか」にチャレンジしました。

今回もはじめに結論を書きますと,苦しさを乗り越えて読了すると,たいへん素晴らしい本だと実感できます。また,「数学ガール」シリーズは,この本を現代風に洗練させ,さらに物語としての面白さも加えてくださったのだとわかります。

f:id:takumat1982:20190324105914j:plain

ながいたたかいであった

1日に1,2時間ずつ取り組んでいたのですが,実に3週間ちかくかかりました。

さすがに古い本だけあって,正直に申し上げて,決して読みやすい本ではありません。ですが, 内容はまったく古びておらず,たいへんおもしろい本であることも間違いありません。以下,感じたことを書いておきます。

 

考える枠組みと,対話の重要性

もともとは数学を学ぶ若い学生,ないしは数学を教える立場のひとへ向けて書かれた本ということで,私のようなザコが読むには難しいかと思っていました。ですが,必要とされる数学の知識は高校数学の前半くらいまででよく,むしろ思考力をためされるような内容でありました。

本書のすべてのエッセンスは,巻頭と巻末に記された "リスト" に集約されるのですが,本文ではそれらについて,読者の理解が少しでも深まるように,より強く印象に残るように,と非常に丁寧に述べられています。

また,問題をとこうとする人間にたいしては,相手の様子を丁寧に見極め,慎重な対話を通して「本人が考える余地」を最大化するようにすべきだと説きます。そこで例としてあらわれる対話の形式が,まさに数学ガール!非常に腑に落ちます。

 

さらに,ここで対話の相手とは自分自身も含むのだ,ということも示されます。代表的な問いかけとして,「未知のものはなにか」「与えられたものはなにか」「問題をいいかえることができるか」「似た問題をしっているか」などがありますが,これらの問いかけは,自分自身の問題に対する理解がどのあたりにあるのかを知る,よい手がかりになります。結城浩先生がよく書かれている「自分の理解に関心を持つ」ことへつながるのです。

すくなくとも,この本に記載されたリストの問いかけを忘れない限り,問題を前にして「何もできることがない」という状態にはならないことでしょう。

 

大切なことは何度でも 

誤解をおそれずいえば,本書の読みにくさの一端は,Ⅲ部「発見学の小辞典」における,一見とりとめなく並んでいるように思える項目や,参照先のわかりにくさにあるのではないかと思います。

しかし,記述されている内容は素晴らしいです。それに,適切なサイズと難度で,また「問いかけ」の効果を実感できる形の「興味をひく」例題であったり,ほんのりと香るユーモアであったり,著者の思いやりは随所に感じます。

また,項目がアルファベット順に配置されているので,どんどん話題は切り替わっていくけれど,いずれも共通して "リスト" と関連づけた記載がある。曲調は変化していくけれども,同じ主題による変奏曲というか,トランスミュージックの繰り返しが生む浮遊感というか,終盤はなんだか気持ちよくなってきて,そしていつの間にか,"リスト" の重要なフレーズが印象に残っているのです。

冗長になろうと,ていねいに繰り返し問いかけ,読者が理解できているかを自身でたしかめられるように,つまり,著者と読者との対話形式になっているのです。

 

ソフトウェアとの相性のよさ

 先にも述べたような代表的な問いかけに加えて,本書では以下のような記述も出てきます。

  • 方程式をたてるということは,言葉であらわされている条件を数学的記号を使ってかき表すことである。それは日常の言葉から数式という言葉に翻訳することである。

(P79 「方程式をたてるということ」より) 

  • 数学の記号をつかうことは言葉をつかうのとよく似ている。数学の記号は言葉のようなもの,即ちぴったりしたことば,簡明で,明確で,しかもふつうの*1文法のように例外などがない規則にしたがった表現である。
  • よい記号というのは,あいまいでない,含蓄のある,しかも憶えやすいものでなければならない。それはまぎらわしい他の意味を表してはならず,よい意味では,しかしふくみのあるものでなければならない。

(P120 「記号」より抜粋)

  • 類推は一種の類似である。同じような事柄はある点で一致し,にている2つの事柄はそれぞれ対応する部分間の関係が同じである

(P173 「類推」より)

「方程式」「数式」を「ソフトウェア」に,「数学の記号」を「変数名,関数名」に,「類推」を「汎化,継承」に置き換えて考えたくなってきませんか。ほかにも,「条件をいくつかの部分にわけてみよ」ですとか,なんだか,途中から「リーダブルコード」を読んでいるような気分にもなりました。ああ,数学とソフトウェアの相性のよさといったら!いままで数学を苦手としていたのが,ほんとうにもったいなく思えます。

 

これは,私がソフトウェアの人だからそう感じるのであって,他の分野の方にも同じように適用できる考え方がたくさんあるのだと思います。著者自身も述べているように,この本に書かれていることは,「現実の問題」へ取り組むうえでも非常に有用なのだと思います。

 

さいごに

もし,「この本のことを知ってはいるが,敷居がたかく感じられて手を出していない」という方がおられたら,ぜひ購入し,巻頭・巻末の「リスト」だけでも,また本文の一部分だけでもお読みになり,手元においておくだけでもじゅうぶんに有用だと思います。おすすめであります!

全体をとおしていえるのですが,著者のポリア氏は「対象に関する前提知識さえ備わっていれば,かならず問題はとける」と考えておられるのだと思います。なにしろ文章が前向きです。

とにかく,なにかそれらしいことを思いついたり思い出せたりしたなら,あるいは少しでも問題の気づいていなかった点に気づくことができれば,それらはすべて進歩の兆候なのです!

 

 ------

それにしても,長くかかりました。最後に,ツイートでわかるテンションの変遷も記録しておきます。自分がもっと頭がよければなあと思いますが,仕方ありませんね!

 

 

 

 

 

*1:自然言語」のことを指すと思われる