長男くんとプログラム

2022年9月29日木曜日

算数 生活

オプションの規則性

3コマ授業の帰りに落ち合うと、こちらへ駆け出してくる長男くん。

どうやら今日は正答率3.9%のオプション問題が解けたらしい。
それだけでご飯3杯くらいイケんじゃねーかというくらい上機嫌。

おう、良かったな。
と、パパも解いてー解いてーとリクエストをいただいた夜。

めんどいねんな

聞いて聞いて、と改札から駆けよってくる長男くん。
なんかうっすらと見たことあるらしいけど、今日もオプションが全部解けたそうな。

最近絶好調だな。
ホントに見たことがあるかどうかはともかくも。

パパにも解いてほしいなー、でもパパなら解けちゃうかなーと愉快なことを言っている。
まぁ、図形じゃないなら、お前が解ける問題が解けないとは思えないな。

しかし、3コマ授業の後だと、帰ったら夜も遅い。

最近のファミリーブームはジョジョの第3部、それも、ちょうど花京院がDIO様と対峙するあたりなので、正直そんなもの解いている暇はないんだよね。

3.9%ともなると、紙と鉛筆使わないとしんどそうだしなー。
そんなわけで却下。

さっさと飯食いながら続きを見るぞ。

というわけで、この日は解かずに終わった。

学校から帰宅

カタカタやっていると、学校から帰ってくる長男くん。
Stand Proud歌いながら一休みを取っている。
上機嫌だな。
3コマ→3コマの連続の中で元気がいいのは結構なことだ。

そうして、「日能研行っている間に解けたら解いておいて」と言ってページを開いて渡してくる。

ふむ、規則性の問題か。
2ケタの数で、十の位を5倍した数と、一の位に7を足した数とを足した数を出す、とな。
で、それを繰り返していく、と。

繰り返す回数は、100回?

ふーん、今、目の前に環境構築済みのPCあるしなぁ。
プログラマに、そういう勝負挑んじゃう?

パパが解くのはめんどいけど、PCに解かせるのなら、いいぞ。

「え!パソコンが解けるの!?」

まぁ、これくらいならな。
図形だとややこくなるだろうけど、これならその気になれば1行だ。

ということで、ほいほいほいとタイプすること約30秒。

最後にエンターキーを「ターン!」と無駄に強く叩いて、完了。

はい、19だね。

「正解…。どうやったの?」
ん、100回計算させた。
もう一回やろうか?

ターン!とまた同じ結果を出力する。
速いな。まぁ、これくらいなら計測不可で数十ミリ秒ってとこか。

1000回、10000回、と数を増やすと、これくらいだとさすがに目で分かるくらいに時間がかかるな。
表示がボトルネックだろうから、結果だけ出力するようにしたら、計算はもっと速いだろうけど。
まぁ、そこまで説明はしなくていいだろう。

ということで、コンピュータはこういう命令されたことを高速で何度もやるのが得意ってことだな。
「すごい計算速いな、コイツ…」

…まぁ、そうなんだがな。

プログラムの特徴

人間様も捨てたもんじゃねぇぞ。

結果を見ると、この計算周期は、5回か。

1万回くらいじゃまだコンピュータの方が速いかもしれないけど、10万回くらいになって1つ1つ数え上げるとなると、今見たみたいに数秒くらいはかかる。
100万回じゃもっとだ。

でも、お前は、何回か計算すると、「5回周期になる」という法則に気づけるだろ?
それに気づけば、N回目と言われても、5で割った余りを見ればいいだけだ。
その計算量はO(1)っていうか、1回計算すれば終わりだからな。

コンピュータ様がバカみたいに繰り返しているO(n)の計算よりもよっぽど効率はいい。
言われたことは出来るけど、法則見つけるような複雑なことはちょっとやりにくいからな。

…まぁ、これくらいならできるか?
問題文読んで周期性があるってわかるから、そこからFFTでも使えば一般項になるか?

それはともかく、コンピュータは繰り返しの計算は恐ろしく速いけど、そういう風に「どうやって解くか」を考えるのは大変なわけ。
とはいっても、東大の問題を解くっていうプロジェクトをやっていたAIとかあったけどな。

「え、受かったの?」
あー、どうだったかな。
やろうとしていたのは知っているけど、結末はよく分からねぇな。

ただ、読解がネックだろうな。
学習の方法が大変そうだ。
要約は、重要な文を抜き出す方法だけならどうにかなるかもしれないけど。
まとめて新たな文をつくるのはしんどいだろうな。

そんなわけで、お前も国語をしっかり勉強するといい。
まぁ、それはそれとして、お前もこういうよく分からない感じで説明される問題、よく解けたな。

後期の正答率?

長男くんが4年のときはこういう問題、理解するのさえ出来なかった。
「たとえば」と例を挙げてくれているのに、そこを読まなかったり、計算の方法を確認しなかったりしたから。

…しかし、うーん、問題の設定が理解できれば4年生くらいでも理解できそうな感じなんだけどな。
これで3.9%か。

後期のオプションの正答率が、前期から比べてちょっと変な感じ。
こういう、私から見ると難しいところがよく分からないような問題で、やたら低いときがある。
この問題とか、100回も本当に計算するわけないから、何回か操作を繰り返してみたら周期が見つかるのなんて問題文だけで大体分かるだろうし、だったら後は計算するだけ、しようと思うのも難しくはないはず…。
その計算の方法だって、例もついているからそんな難しいようにも思えないんだけど…。

習うことが増えて混乱することが多くなったのかな。
それとも、正答率出したテストのときは、他の問題との兼ね合いでたまたま正答率低かったのかな。

ということは、長男くんもそうなる可能性が高いってことか?
昨日から比をやり始めたはずだけど、「いつ比で考えるのか」とかそういうはじめの一歩をしっかり確認した方がよさそうだなー。