爆速!アルゴリズム

著者:アリ・アルモッサウィ

発行年月日:2019年4月11日

出版社:東洋経済新報社

 

目次

第1章 ソックスの左右をそろえる

第2章 自分のサイズの服を見つける

第3章 買い物に行く日は?

第4章 元のところに帰りたい

第5章 郵便物をソートする

第6章 クールになりたい

第7章 制限時間内で投稿する

第8章 仕事を片づける

第9章 ネックレスを直す

第10章 箱を見つけろ

第11章 棚に本を並べる

第12章 スーパーマーケットを効率良く回る

 

著者

アリ・アルモッサウィ

1984バーレーンに生まれる。マサチューセッツ工科大学でエンジニアリングを、カーネギーメロン大学コンピュータサイエンスを学ぶ。ハーバード大学マサチューセッツ工科大学メディアラボでリサーチャー、Appleでエンジニア、Mozillaでデータサイエンティストとして勤務。2014年にウェブ上で無償公開したクリティカルシンキングの絵本An Illustrated Book of Bad Argumentsは300万人に読まれ、20の言語に翻訳されて話題となった。現在、サンフランシスコを拠点にコンピュータサイエンスの教育や執筆活動をしている。

 

アルゴリズムとは、限られた時間の中で意味のある目的を遂げるための、明確なステップが順に並んだものだ。アルゴリズムには、ある情報から始まり、ある結果をもたらすというものが多い。コンピュータが登場すると、アルゴリズムが持つこれらの特徴がとても重要なことがわかった。なぜなら、そんなアルゴリズムを使えば、コンピュータに予測可能な形で仕事をさせられるからだ。この本を読んで、人生を通してあなたが決断すべき場面で、よりよく考えられる能力と、その決断で何が犠牲になるかを知る能力との大切さに気づいていただければと願っている。

 

レビュー

「毎日の生活がみるみるうちに変わる」ということで興味を持ち、この本を手に取りました。アルゴリズムとは、問題を解決するための手順を明確にしたもので、この本では具体的な場面を例に挙げながらアルゴリズムを解説しています。もともとプログラミングなどのIT用語として使われているので、初めて読んだわたしにとっては「ややこしい」と思う部分もありました。が、それと同時に「こういう考え方があるんだ」と新たな発見もありました。

 

具体的な場面を1つ紹介します。

 

目の前にたくさんの洗濯物が山になっています。この中からソックスを正しくそろえてください。

 
方法1

ソックスの片割れを1つ手に取る。それに合う片割れを山の中から探し、1足そろえたら脇に置く。次に、別のソックスの片割れを1つ手に取る。それに合う片割れを山の中から探し、1足そろえたら脇に置く。これを繰り返す。

 

方法2

ソックスの片割れを1つ手に取る。それを脇に置く。別のソックスの片割れを1つ手に取る。すでに脇に置いたものの中に、それと合うものがあれば1足にそろえて置く。なければ、まだ片方しかないソックスのところに色やサイズ順に並べる。

 

方法1は、そろわない限り片割れソックスを山の外に出さないので、同じ片割れを何度も手にする可能性が高く、作業時間は遅くなります。

方法2は、片割れソックスを脇に置くことで、どの片割れソックスも一度しか手に取らないため、方法1より作業が速くなります。

 
第1章の中だけでも、参照テーブル、キャッシュ、キー、キーバリュー型、ハッシュテーブル、定時時間検索などIT用語が出てくるので、読んでいてややこしいと感じました。

 

普段は手に取らないタイプの本でしたが、興味深い内容でした。

 

おわりに

もし、この本に興味を持ったら実際に読んでみることをお勧めします。私の解釈が間違っているかもしれませんのでご容赦ください。