motolog

Everything I love in my life.

プログラミングと数学の証明の共通点

プログラミング初心者の雑感だけれど、たまにプログラミングは数学の証明と類似しているなーと思います。

両者の共通項は次のような感じ。

  • 解くべき問題の条件が与えられており、
  • 証明すべき命題(完成形)を示すことが目的であり、
  • その道筋は当事者に委ねられている

3点目の、「どのように導くか」という点で技量が試されたりするところも、プログラミングと数学の証明で共通していると言えるでしょう。

高校時代のお話 - たくさんの問題に触れて引き出しを増やすこと

そういえば、僕の通っていた高校は、理系重視の方針もあり在学生の7割ほどは理系だったかなという感じなのですが、クラスで数学の証明なんかをやると、普通なら20行くらい必要なはずのところを、スラっと5行くらいで書いてしまう人がいたりしました。

先生も苦笑い。彼はプログラミングをやらせてもきっと綺麗でスマートなコードを書くんじゃないかなと思います。

そういえば、彼が何をしていたかと思い返してみると、いつも「大学の数学」を解いていた気がします。きっと僕なんかよりずっとずっと多くの問題に触れていました。

「たくさんの問題に触れて引き出しを増やすこと」

数学教師が口を酸っぱくして言っていた言葉がふと蘇りました。

© 2018 Motoki Yoshida