こんにちは
突然ですが、皆様は『アルゴリズム』と聞いて何を思い浮かべますでしょうか?
プログラマの方々にとっては日常的な言葉かもしれませんし、ほとんど聞いたことも無いという方、NHKのある番組で聞いたことある方(おそらく同世代)もいるかと思います。
唐突に自分語りをしますと、7年間情報工学を先行してきた私にとってはとても身近な言葉です。
今回は、自分は意外とその『アルゴリズム』を人生において重視していたなぁとふと思ったので、記事にしていこうと思います。
目次
アルゴリズムとは?
アルゴリズム【algorithm】
ある特定の問題を解いたり、課題を解決したりするための計算手順や処理手順のこと。これを図式化したものがであり、コンピューターで処理するための具体的な手順を記述したものがである。イランの数学者・天文学者、アル=にちなむ。
-- goo辞書 より
上記の赤字にしている部分にあるとおり、「ある課題を解決するための再現性のある処理手順」になります。
※再現性があるとは、誰が真似しても必ず同じ結果が出るという意味です。
例えば、洗濯機。
- ある課題 → 衣類の汚れを除く
- 処理手順 → 洗濯機に備わっている『標準洗濯コース』
のように考えられます。この時、ある課題(衣類の汚れを除く)に対するアルゴリズムは『標準洗濯コース』であると言えます。
この洗濯のアルゴリズムを用いれば、誰でも必ず『ある課題(衣類の汚れを除く)』を解決することができます。
このように、解決したい課題を解決できる再現性のある手順のことをアルゴリズムと表現いたします。
アルゴリズムはどこで使うの?
常にアルゴリズムを意識して生きている人は少ないかと思いますが、無意識に活用している人は多いと思います。
おさらいですが、アルゴリズムとは解決したい課題を解決できる定型的な手順のことです。例えば、普段料理をする方にとっては『レシピ通りに料理を作る』ことがソレにあたります。
- 解決したい課題 → 美味しい料理を作る
- 処理手順 → レシピ
そして私は何か成果物をアウトプットする時のインプット方法で『アルゴリズム』というものを重視します。(わかりづらくて申し訳ないです・・・)
例えば、英会話です。仕事柄日常的に英語が必要になってきてしまうので、英語のインプットを日々行っています。その際にアルゴリズムを意識します。
- 解決したい課題 → 「過去にやっていたが今はやっていない」を英語で伝えたい
- 処理手順 → Used to ~ 文法に当てはめる
これで、「過去にやっていたが今はやっていないことを英語で伝えるアルゴリズム」としてインプットします。あとはアウトプットするときにこの定型的なアルゴリズムに当てはめて言葉を発するだけで、解決したい課題は解決です。
このように課題に対する定型的な解決手順としてインプットをしていくことで、より体系的に、また効率良くインプットをすることができると思います。
まとめ
アルゴリズムとは、解決したい課題を解決できる再現性のある手順のことをいいます。そしてそのアルゴリズムを意識することで、物事の解決やインプットをより効率的に行うことができます。
日々の学習や行動をより意識的に『アルゴリズム』に落とし込んでみてはいかがでしょうか?😇
アルゴリズムという言葉を使いすぎてゲシュタルト崩壊しかけました。
プログラミングを学習されている方にとっても大事なトピックになるかと思いますので、最後におすすめの書籍をいくつかピックアップさせていただきます。
それではまた次回の記事で!
(Twitterフォローもお待ちしております)