プログラミングなしで学ぶ、コンピュータ時代の思考
「アルゴリズム」と聞くと、コンピュータやプログラミングの専門用語で、自分には関係ないと感じるかもしれません。しかし、アルゴリズム的な考え方は、プログラミングを学ばなくても身につく、コンピュータ時代の普遍的な思考法です。このコースでは、数学的な思考や論理と並ぶ、もう一つの強力な思考の道具——「計算論的思考」を、日常の例から学びます。
アルゴリズムは、日常にあふれている
アルゴリズムとは、難しく言えば「問題を解くための、明確で順序立てられた手順」です。しかし、実はこれ、私たちが日常的に使っているものです。
- 料理のレシピ:「材料を切る→炒める→調味料を加える→煮込む」という手順で、料理という目的を達成する
- 道案内:「まっすぐ進んで、二つ目の信号を右、三軒目の建物」という手順で、目的地にたどり着く
- 組み立て説明書:順序に従って部品を組み立てる手順
- 朝の支度:起きて、顔を洗い、着替えて、朝食を食べる——という、ほぼ決まった手順
これらはすべて、「手順に従って、目的を達成する」という点で、アルゴリズムの一種です。アルゴリズムは、コンピュータの専売特許ではなく、人類が古くから使ってきた「手順で問題を解く」という発想なのです。コンピュータは、この発想を、高速に、正確に、大量に実行する機械にすぎません。
良い手順の条件
同じ目的でも、手順の良し悪しがあります。良いアルゴリズム(手順)は、いくつかの条件を満たします。
- 明確である:各ステップに曖昧さがなく、誰がやっても同じように実行できる。「適量」より「小さじ1」の方が、アルゴリズムとしては明確です
- 有限で終わる:無限に続くのではなく、有限のステップで必ず終わる
- 正しい結果を出す:その手順に従えば、期待する結果が得られる
- 効率的である:無駄な遠回りをせず、できるだけ少ない手間で目的を達成する(次のレッスンのテーマ)
この「明確さ・確実さ・効率」を意識すると、日常の手順も改善できます。「なぜこの作業は非効率なのか」「もっと少ないステップでできないか」——アルゴリズム的な目で見ると、料理も、仕事の段取りも、より良く設計できるのです。
手順で考えることの力
アルゴリズム的に考えることには、大きな力があります。複雑な問題を、明確な手順に分解することで、実行可能で、他者と共有でき、改善できるものにするのです。
漠然と「うまくやろう」とするより、「まず何をして、次に何をするか」と手順に分解する。すると、問題が具体的になり、どこで詰まっているかが見え、改善点が分かります。これは、料理や道案内だけでなく、仕事の進め方、問題解決、意思決定など、あらゆる場面で役立つ思考法です。そして、この「手順で考える」力は、コンピュータやAIが何をしているかを理解する土台にもなります。AIも、突き詰めれば、精緻なアルゴリズムの集まりなのですから。
ニュースで使う視点
アルゴリズム、AI、自動化、システム——これらのニュースを読むときは、「その裏で、どんな手順(アルゴリズム)が動いているのか」を意識してみてください。そして、日常の手順を、アルゴリズム的な目で見直す。次のレッスンでは、手順の「効率」——同じ問題でも手順によって手間が桁違いに変わる、という計算量の話を見ます。