数学者とコンピューターサイエンティストの考え方の違い
一です。おはようございます。今回のエピソードは、科学系ポッドキャストの日、2024年5月の共通テーマ
NEXTに合わせてお送りするショート編です。科学系ポッドキャストの日、今月のホストは
生物をざっくり紹介するラジオさんです。改めまして一です。このエピソードは、2024年5月6日に収録しています。
このポッドキャストは、僕が毎週お送りしているニュースレター、STEAMニュースの音声版です。
STEAMニュースでは、科学、技術、工学、アート、数学に関する話題をお届けしています。
STEAMニュースは、スティームボート乗り組みのご協力でお送りしています。
さて、今月の科学系ポッドキャストの日、共通テーマNEXT。
日本語では次を意味しますが、コンピューターサイエンティストにとっては無限を意味することもあるんです。
今回のエピソードでは、そんなお話をお届けしようと思います。
ところで、過去にもSTEAMニュース、そしてこのSTEAMFMでもNEXT、つまり次をテーマにしたことがありました。
例えば、STEAMニュース第34号でもご紹介した、データと呼ばれた数学者。
古代ギリシャのエラトステネスという数学者についてお伝えしたんですが、
彼は同時代にアルキメデスという天才数学者がいたために、いつもアルキメデスの次。
アルキメデスをαとしたら、エラトステネスはβと呼ばれてきたんですね。
素数を見つけるアルゴリズム、エラトステネスの不類を発明したり、
世界で初めて地球の大きさを測ったりと、時代ならナンバーワンの数学者だったのですが、
アルキメデスと同世代に生まれてしまったのが不運だったということでしょうか。
アルキメデスの次というふうにいつも呼ばれてきました。
ちなみにエラトステネスの不類というのは、素数を見つけるためのアルゴリズムです。
素数というのは、1と自分自身以外では割り切れない数のことです。
たとえば2とか3とか5とかは1と自分自身以外では割り切れないので素数です。
7とか11とか13とかもです。
一方の4とか6とか8というのは1と自分自身以外にもきれいに割り算ができるのです。
たとえば4は2で割れば2かける2になりますし、6は2かける3というふうに2でも3でも割り切れます。
だから6は素数ではないということになります。
このエラトステネスが発明したエラトステネスの不類、素数を見つけていくアルゴリズムなのですが、
これは紙の上に2以上の自然数を無限に書いています。
その上で2以外の2の倍数4,6,8,10,12,3以外の3の倍数6,9,12,15というのを消していきます。
この場合だと6はすでに消されちゃっているのですが、それも気にせず消していきます。
こういうふうにして倍数を消していった残りが素数だという天才的なアルゴリズムなのですが、
これを見つけたのがアルキメデスの次と呼ばれたエラトステネスでした。
こんなふうにお話をしていていくと思うんですが、テーマがNextなのに過去を振り返っている場合ではなかったかなと。
エラトステネスも過去の人だし、このお話もスティームニュース第34話という過去のニュースレターでお話をしているので、
Nextじゃなかったなと思って、これからNextのお話をしたいなと思います。
エラトステネスも含めた多くの数学者と現代のコンピューターサイエンティストまたは計算機科学者で考え方が決定的に異なることが一つあります。
コンピューターサイエンスにおけるNextと無限の関係
それがまさにNextという考え方なんです。
自然数を想像してください。
現代では0始まりでも1始まりでもよいのですが、ここでは1始まりとしましょう。
数学者にとってもコンピューターサイエンティストにとっても、1の次は2、2の次は3という関係は変わりません。
しかし多くの数学者は自然数と言われると、1、2、3と無限に続く数の集まりを最初に思い浮かべるのに対して、
多くのコンピューターサイエンティストは、1と次、Nextという単語だけを思い浮かべます。
じゃあ2はどうなるの?というと、2ではなく、1の次、1のNext。
3はどうなるの?というと、3ではなくて、1の次の次、1のNextのNextというふうに考えるのです。
つまり辞書に1、2、3、4、5というたくさんの数字があるのではなくて、
1と次、Nextという2つの単語だけがあるのです。
2ではなくて、Next1。
3ではなくて、NextNext1。
こう考えることで、最初に無限の自然数を考える代わりに、
1と次、1とNextの2つの単語だけで、いつでも無限を作り出せるのです。
エラトステネスのような数学者は、脳内で無限を考えることができました。
1、2、3、4、5、6という数字を無限の空間に広げていくところを想像できるのです。
しかしコンピューターサイエンティストは、人間の脳ほど賢くないコンピューターに、
無限を扱わせないといけません。
コンピューターに無限の空間を想像させることは、まだ僕たちにはできません。
しかし、無限に時間をかけさせることならできるのです。
そこで、1、2、3、4、5、6と無限の空間を用意するのではなく、
1と次、1とNextという2つのキーワード、
そして、Nextを無限に繰り返させるという無限の時間を用意することで、
コンピューターに無限を理解させたのです。
これが、コンピューターサイエンスにおけるNext、次と無限の関係でした。
というわけで、今回のエピソードも最後まで聞いてくださってありがとうございました。
このエピソードは、2024年5月の科学系ポッドキャストの日、
共通テーマNextに合わせてお送りしました。
概要欄に、科学系ポッドキャストの日へのですね、
告知のリンクを貼っておきますので、よかったらまた科学系ポッドキャストを色々聞いてみてください。
というわけで、お相手はSteamFMの1でした。
では、また次のエピソードでお会いしましょう。
次のエピソードでお会いしましょう。
見てくれてありがとう!