この記事の読み上げ音声は、こちら↑
今日は、子煩悩な理由で「素因数分解」について、一緒に考えてみましょう。
※ 理解しようとせず、単純に読み物として楽しんでください
※ わからないところは、飛ばしましょう。先に進むとわかることが多い
なぜ、素因数分解について考えるのか?
中学校に入学したばかりの息子が、
「パパ、素因数分解ってなに?」
と聞いてきました。私は、
「ChatGPTに、聞いてみたら?解き方も例を出してもらったらわかるんじゃない?」
と答えました。IT、AIを活用して、独学するように仕向けました。
しかし、ChatGPTには限界があります。
ChatGPTは「インターネットなどにストックされている情報を使って、無難な回答を出す、あるいは要約する」人工知能です。
学校や塾の先生が、丁寧に教えることを肩代わりすることぐらいしか期待できません。素因数分解を通じて、いろんな数学の概念に手を伸ばすような学びを提供してはくれません。
これでは勿体無い。
そこで、パパは頑張ることにしました。
何事も、言葉の定義から始めてみる
既存の知識は、明確な言葉として表されています。そして、明確な言葉は、 **必ず「辞書」にまとめられて** います。
今は、良い時代です。Wikipedia や インターネット上の辞典などを使って検索すると良いです。Macなら付属の辞書で引けばOKです。
Macの辞書は優秀です。Wikipediaも同時に調べられます。英語もOKです。教育に力を入れる親御さんは、是非、子供には MacBook をどうぞ!
私が子供の頃は、ミステリー小説で凶器に使えるぐらい太くて重たそうな広辞苑しかありませんでした。誕生日のお祝いとして、小学校六年生の時にもらったのは、苦い思い出です(まだ、おもちゃでよかったのに・・・)。
さらに辞書を引く前に、自然数とは何か?を考えてみよう
さて、素数の定義は上記の画像の通り、
自然数を素数の積で表すこと
と書いています。
もしかしたら「自然数?」「素数?」「積?」となるかもしれません。こんなとき、再度辞書を引いて調べると思います。しかし、あえて「ストップ」することが大切です。
すぐに答えに飛びつくのではなく、ちょっとでいいので「考えてみる」ことが、
今後の理解力
記憶への定着
他の物事への関連性
に良い影響を及ぼします。
なお、考えるとは「推測する」ことです。あるいは、「予想すること」と置き換えてもいいです。自然数って、どういうものか?を自分なりに予想すれば、それで十分考えたことになります。
さて、自然数とは何でしょうか?
学校で出題される問題をざっとチェックしてみても良いでしょう。大抵の課題は、
「次の値を素因数分解せよ」
42
56
12
などと設問が出されます。これらの数字をざっとチェックしたら、共通点が見つかると思います。そこから推測してみても良いでしょう。
あるいは「自然数」という言葉から、想像するのもOKです。むしろ、それが良いです。言葉は、何らかのイメージを使って説明するための道具です。従って、言葉から「類推」することが大切です。
類推(アナロジー)は、知性の泉です
「自然」が指すものは何か?を考えてみましょう。あるいは、自然ではない=不自然を考えてみてもいい。
自然な数って何?
不自然な数って何?
このように、「あの手、この手で」、自然数について考えてみることが大切です。いろんなものをヒントに考えること(予想すること)が、物事の関連性を理解する入り口です。
この小さな習慣があるか、ないかが、その後の大きな差になります。
自然 vs 不自然を考えてみる
自然と、自然ではないものの境界線は、意外にも曖昧です。しかしながら、こう考えても良いかもしれません。
「人間が手を加えなくても、存在しているもの」は自然と考えても良いです。
例えば、
りんごが3つ
みかんが4つ
などは、自然界に存在しています。
一方で、0.3、0.5、1.2 や -15、-1.5 や √2 などは人間が考えださないと、出てきません。思考の産物です。そう考えると、自然数というのは「正の整数?」って思えてきますよね。
どうでしょう、いろんな考え方があると思います。
おそらく、過去の数学者たちは「自然数」の定義について、あれこれ議論して納得するまで、熱く論争を繰り広げたと思います。
現代の数学では「自然数 = (0を含むときもある)1, 2, 3, 4 … と続く整数」と定義しています。
直線的(結果)だけを覚えるより、回り道して派生して、あれこれ考えた方が記憶する
学校教育だと「直線的」に無駄を省きます。上記のような、思考の試行錯誤や予想は行いません。
素因数分解とは、自然数を素数の積で表すこと
自然数とは、1, 2, 3, 4... と続く整数のこと
素数とは、1と自分以外には約数を持たないもの
約数とは、ある数を割り切ることができる数
というのを、ガーと並べて、ポカーンとする生徒たちに、「とにかく計算をしろ」と教えます。そして、意味もわからず、計算する。やっているうちに、何となく「約数」が意味するものがわかる人がいたらラッキー。
多分、そういう子供は、先生の話を聞かずに、窓の外を見てぼーっと考え事をしているのでしょう。考え事とは、「約数ってなんだ?どういう定義?」だったりします。自分なりに、答えを出そうと想像しているわけです。
ちなみに、私が、そういう子供でした。その結果、学校の授業にはついていけていないように見える子供でした。おそらくですが、IQテストみたいなのを受けさせられ、その成績は良かったみたいです。その結果、「家の環境が悪い。母子家庭だし」ということで、失礼な家庭訪問がありました。
「いやいや、あなたたちの授業が面白くないから、自分で考えて、帰ったら辞書を引いて、あれこれ考えてたんだすよ!」
と言いたい。
しかし、三年生の時の担任が素晴らしい人でした。私のことを理解し、考えることを推奨してくれました。数少ない恩師(二人しかいません)の一人です。
ということで、余計なことをいっぱい書きましたが、その結果、情報のつながりが増えていきます。このごっちゃごっちゃした繋がりごと記憶してしまう方が、人間は覚えやすいです。
是非、あれこれ考えてみてください。
素因数分解を理解するためには、様々なことを理解する必要がある(前提知識が必要)
素因数分解を説明するための定義を挙げると、以下の通りになります。
「素因数分解とは、自然数を素数の積で表すこと」
この時、
自然数って何?
素数って何?
積って何?
となります。
それぞれ、「予測する」「辞書をひく」「自分なりに納得する」というプロセスを行うのがベターです。
先ほどは、自然数でやってみました。同じことを、素数でやってみることが大切です。
素数 = 「素(そ)な数(かず)」、ナンジャソリャ?
ですよね。
素は「もと」とも呼びます。「もと」になる数字ってことです。何の「もと」になるの?って考えると、何でしょうね?考えてみてください。
答えを言うと「自然数」です。
自然数の「もとになる」数が素数です。どう言うことか、全くわかりませんよね?
「自然数は何によって、作られているのか?」を考えた人々
話すと長くなるのですが、数学は「神学」でした。つまり、神様が作った完璧な世界を表しています。その中に現れる法則を発見することは、神様の意思を理解することとされていました。
そんなこんなで、「いろんな法則」を探し出してきました。
その一つが「自然数って、どうやって作るの?」と言うことです。
例えば「8」と言う数字の作り方を考えてみましょう。どうやって作りますか?ちなみに、作るとは「計算で」と言う意味です。
3 + 5
1 + 1 + 1 + 5
2 + 2 + 4
4 + 4
・・・・
など「足し算」だと、無数の方法が考えられます。でも、ここで「掛け算」を使うと、不思議なことが起こります。ちなみに、以下の * は「アスタリスク」と呼びます。コンピュータの世界では、* が掛け算を意味します。
1 * 8
2 * 4
2 * 2 * 2
掛け算だと、3つだけになります。さらに、1*8は意味のない計算なので排除するとして、2 * 4は、2 * 2 * 2 に分解もできます。でも、これ以上は分解できません。8を「これ以上分解できないかけ算」にすると、1種類しか存在しません。
9の場合なら、「3 * 3」です。24なら「2 * 2 * 2 * 3」です。この1通りしかありません。他の組み合わせは考えられません。
一方で、「最小まで分解する」考え方を、足し算でやってもOKですよね。
1 + 1 + 1 + 1 + 1 + 1 + 1 + 1
(8の場合)1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + 1
(12の場合)
でも、これは「なんか、バラバラにしただけ」であって、魅力は感じません(まあ、どっちも魅力は感じないかもしれませんが)。
積について
と言うことで、数学会では 「積の掛け算」で、自然数は作られる と言うことになりました(多分ね)。
そうそう、掛け算のことを「積」と言います。でもなぜ、「積」って言うんでしょうね?掛け算でもいいじゃないか?と思います。そんな時は、
予想してみる、調べる、納得する
です。インターネットも活用しましょう。
「積」は積み重ねると言う意味です。掛け算って、同じ数字を重ねていく感じですよね?そこから想像すれば、「積」って呼ぶこととしたのかなと思います。
そして、「掛け算」よりは、「積」の一文字の方がかっこいいし、短い。数学する人って、面倒くさがりが多いらしいです。そして、短くしたがる人が多い。コンピューターの設計も似てます。
とにかく「積」=「掛け算」です。
と言うことで、解読できてきましたか?
改めて考えてみよう。素因数分解とは?
「素因数分解とは、自然数を素数の積で表すこと」
つまり「素数」と呼ばれているもの(後で解説します)の掛け算で表すことです。具体的には、
8 = 2 * 2 * 2
12 = 2 * 2 * 3
50 = 2 * 5 * 5
のように表すことを「素因数分解」といいます。
なお、素数とは「それ以上、素因数分解できない数字」です。難しいですか?やってみましょう。「2を掛け算で表すと?」、1*2 になります。1も出てきているし、2も出てきている。計算する意味がない。と言うことで、これを素数と言います。
定義としては、
1 と自分自身以外には約数をもたない正の整数
と言われています。約数の意味がわかりませんよね?調べてみて、納得してみてください。
理解できないのは、頭が悪いのではなく「記憶」の問題
ちなみに、ここまできて混乱している人もいると思います。混乱した人は、自分が「頭が悪い」と思いがちですが、違います。
シンプルに「新しい言葉、概念」が覚えられないだけです。ただそれだけです。料理をやったことがない人は、料理の手順を暗記できません。1つの作業をしたら、次の作業を忘れます。何度もレシピを見ないと覚えられません。
プロ棋士(将棋をする人)は、将棋の進行を全て記憶していて、再現できます。でも、これがランダムに置いた意味のない駒の場合、覚えられません。
つまり、「慣れてないと記憶しづらい」ってことです。
何度も、読み直したり、自分なりにまとめたりしないと「記憶」しません。複数の言葉の記憶が定着しないと、素因数分解を理解できたと感じられません。
素因数分解を行う手順
出題された数字を「素数の掛け算」にする作業です。その方法は、馬鹿みたいにシンプルです。
小さな素数で割って試す
この前提には、「素数をいくつか覚えておく」ことが必要です。
とにかくやってみましょう。例えば、「12」なら、「2」で割ってみる。すると、あまりは出ない。
12 / [2] = 6
次に、6をしつこく、2で割ってみる。
6 / [2] = 3
さらに、3を2で割ってみようとすると・・・あまりが出る。そこで、次の素数である「3」で割ってみる。
3 / [3] = 1
割り切れたら(1になったら)終わり。この時に、割った素数を取り出して、掛け算にしてあげると、あら不思議。
12 = 2 * 2 * 3
となります。おー、できたーと言う感じです。
こればっかりは、「ただの手順、やり方」です。
「181」を素因数分解してみよう!
ちなみに、181 を素因数分解してみましょう。どうなるかなー。制限時間は、2分でOKです。それ以上は、やめてください。怒りが込み上げてくるかもしれません。
先に答えを言うと・・・できません。
181 は、「素数」です。
つまり、181 でしか割れない。見つかるまで(90近くの素数まで)試すことになります。そして、ようやく「ゲ、これ素数じゃないか!」となります。
素因数分解は、何に使うの?
さあ、知りません(笑)。
素数を発見する方法?として使えます。
素因数分解できなかったら、それは素数です。素数を見つける、最もシンプルな方法です。素数を見つけるための手順(アルゴリズムと言います)は、他にもいくつかありますが、最もシンプルなのが、これまでの手順です。
素数を探すと、どんないいことがあるの?
さあ、知りません(笑)。
1970年ごろにやっと、使い道が見つかりました。コンピューターにおける暗号化です。世界中の人が毎日利用するWebサイトでの通信に使われています。
ちなみに、素数探しは「数学に才能がある子供の遊び」でした。桁の大きい素数を見つけるには、根性が必要です。なぜなら、ひたすら「素数で割ってみて、試す必要がある」からです。
ちなみに、数学界のスーパースター、「オイラー」は小さいときに、たくさんの素数を見つけたらしいです。
オイラー君「オイラ、数学大好き」「オイラは、たくさんの素数を見つけたよ」などのダジャレを書きたくなってしまいました。すみません。
なお、「でした」と過去になったのは、今はコンピューターが出てきたからです。コンピューターにやらせることによって、天才少年の出番は無くなりました。
素因数分解を特訓する意味はあるのか?
正直なところ、、、「ない」と思います。方法だけわかって、プログラムがかけちゃったらいらないでしょう。それよりも、
素数って何?
自然数(素数じゃないもの)は、素数の掛け算で表せると言う不思議なことがある
を知っていること、あるいは、
素因数分解の答えを出してくれるプログラムを自分で書ける
ことの方が大事だと思います。人間がやるよりも、コンピュータが正確で、ミスがなく、早いです。人間は、もっと別のことを頑張りましょう。
教えている学校の先生たちも、なんでこんなことやっているのか?は、わからないと思います。誰か知っていたら教えてください。割り算を行う根性をつけるためなのかしら・・・。
最後に、細かい話
「素因数」と「素数」は違います。
素数は「1と自分以外では割り切れない数、すべて」を表します。その中でも、例えば、「12」を構成する素数は?と聞かれれば、2, 2, 3 となります。この時、素数2, 2, 3は、「12の素因数」と言います。なので、5は「素数ですが、12の素因数ではない」です。
でも、「10の素因数は?」と聞かれた時は、2, 5が素因数となります。
つまり「素因数とは、特定の自然数」が示されたときに発生する絞り込みです。
細かいですよねー。
でも、このような細かな言葉に定義に敏感になることが、数学や論理思考の第一歩です。その特訓と思ってみてください。
最後に
自分なりに、「誰かに説明するつもり」になって、読み返してみましょう。そして、お父さんや、お母さん、おじい、おばあに話してみましょう。大事なのは、下手な説明でも、喜んで聞いてくれる人に話すことです。安心空間で話すことが大切です。
学校の友達とかは、難しいかもしれません。もし、拙い説明でも、一生懸命聞いてくれようとする友達がいたら、その友達を大切にしましょう。あなたがしてもらって、嬉しいことを、相手にもしましょう。相手が説明してくれることを、とにかく一生懸命聞くことも、良いでしょう。
そんな友達が現れてたらいいですよね!
あるいは、学校教育の現場では、「相手のことを理解するゲーム」を推奨して、その効果を実感して、楽しんで、みんながするように仕向ける教育を願いたいところです。
ちなみに、我が社ではやってます!
メタ・ルーピングと言う方法で身につけることができます。
今後も、いろんな話を書いていきます。
お楽しみに。
大変大事で興味深いテーマについて詳しく学習方法などについてもご説明下さり、誠に有難うございます。素数について、chatGPTとのチャットを次のように行いました。以前に同じ質問を日本語と英語で質問した時にchatGPTの回答内容が異なっていました。そこで、今回は英語でチャットを行いました。 Please explain about the prime number in mathematics and its applications.
ChatGPT
In mathematics, a prime number is a natural number greater than 1 that has no positive divisors other than 1 and itself. In other words, a prime number is a number that can only be evenly divided by 1 and itself. Examples of prime numbers include 2, 3, 5, 7, 11, 13, 17, 19, 23, and so on.
Prime numbers have many important applications in mathematics and computer science. Some of the key applications of prime numbers are:
1. Cryptography: Prime numbers are used extensively in cryptography, which is the science of secure communication. Cryptography relies on the fact that it is difficult to factor a large composite number into its prime factors. This is the basis for the RSA algorithm, which is widely used in internet security to encrypt sensitive information.
2. Factorization: Prime numbers are also important for the factorization of large numbers. Many algorithms for factoring large numbers rely on the properties of prime numbers.
3. Number theory: Prime numbers play a central role in number theory, which is the study of the properties of numbers. Many important theorems in number theory, such as the Fundamental Theorem of Arithmetic, rely on the unique factorization of numbers into prime factors.
4. Combinatorics: Prime numbers are also used in combinatorics, which is the study of counting and arrangements of objects. One example is the Sieve of Eratosthenes, which is a method for finding prime numbers that has applications in combinatorics.
5. Probability: Prime numbers also have applications in probability theory, where they are used to model various phenomena such as the distribution of prime numbers among the integers.
In summary, prime numbers are important in many areas of mathematics and computer science. They have numerous applications in cryptography, factorization, number theory, combinatorics, probability, and other fields.
以上