私のAI学習日記②~Python入門:総合添削課題~
総合添削課題は、バイナリサーチ(二分探索)でした。
関数の定義、while文、if文のちょうどよい練習になりました。
1つ1つの文法は基礎的な文法を組み合わせることで、
けっこう本格的なプログラムができるのが驚きでした。
数学の幾何の証明みたいですね。
バイナリサーチって、いかにもプログラムの世界のロジックっぽいですが、
日常の生活でも、それに似たことって結構あると思います。
たとえば、60分のドラマを録画しているとして、
お気に入りのシーンをもう一度見たいとします。
そして、話の前後関係はだいたいわかっているものとします。
最初に、ちょうど真ん中の30分のところを頭出しして、
探しているシーンが、30分のシーンより前か後か判断します。
これが1ターン目。
「もうちょっと後だったかな」と思ったら、
30分と60分の中間の45分のシーンを出して、また同じように、
それより前か後かを判断します。これが2ターン目。
後はこの繰り返しで、半分の時点のシーンを出して、それより前か後かを判断するという処理を繰り返していくと、
探索範囲が60分→30分→15分とだんだん半分になっていきます。
頭から1分ずつ探していくより、明らかに早いですね!
以上、総合添削課題について、ご紹介しました。
※総合添削課題の問題や解答は、Aidemyさんの著作物だと思うので、
(題材自体が世間的に知られたものであっても)なるべく原文は載せずに、
そのエッセンスだけ、ご紹介するようにします。