あなたは「東大王」より早く肉野菜炒めを作ることができるか(写真:アフロ)

「自分は文系だから……」。数学に抵抗感がある人にこそ知ってほしい、数学の話がある。素朴で身近な問いに説得力を持って答えるのに、数学は武器になるということだ。「3千ページ超の広辞苑から『タコ』という単語を高速で見つけ出すには?」「肉野菜炒めをいつもより25分早く作る方法は?」。TBSの人気クイズ番組「東大王」での優勝経験を持つ鶴崎修功氏が「数学沼」について解説する。

(*)本稿は『文系でも思わずハマる数学沼』(鶴崎修功、マガジンハウス)の一部を抜粋・再編集したものです。

◎関連記事:「東大王」が解説! “数学沼”にハマるとわかる横綱69連勝の真の偉大さ

検索を高速化・高精度化するアルゴリズム

「IT社会」や「ICT社会」と言われ、はや十数年。もはやインターネットなしに私たちの生活は成り立ちません。近年、数学の重要性がますます高まっているのは、数学が物理学や化学、生物学において不可欠なものであるだけでなく、情報科学においても重要で不可欠な学問分野となっているからです。

 特に近年、インターネットでは、想像を絶する速さで、日々データ通信量が増大し続けています。そのため、膨大なデータの中から求めるデータを探索するのも大変になっています。それに伴い、探索機能も向上し続けており、ユーザーが求める最適な情報を、コンピューターが見つけ出し表示してくれる機能もより高速化、高精度化してきています。また、インターネットショッピングで表示される「おすすめ機能」などは、ユーザーがわざわざ検索しなくても、過去の検索履歴や購入履歴から、それぞれのユーザーの好みに合致した商品を割り出して、勝手に提示してくれたりします。このような機能は、人工知能(AI)の発展により、サーバーに蓄積されるデータ量が多ければ多いほど精度が高まっていきます。

 このようなコンピューターの機能を実現するためのソフトウェア開発においては、「アルゴリズム」が重要な役割を果たします。アルゴリズムとは、問題を解決するための手順や計算方法のことです。

 コンピューターの発展とともに、これまでさまざまなアルゴリズムが開発されてきました。新たなアルゴリズムを開発する主な目的は、コンピューター処理を高速化するためと、これまでにない新たな問題を解くためです。近年は、膨大な量のデータの中から高速に求めるデータを見つけ出す「探索アルゴリズム」が重要性を増しています。