回 2-2 分野 2 関数と対数
指数関数は
読み終えたら2^n の
この頁の流れ
指数関数の
20 個なら 一瞬、 40 個だと 終わらないのはなぜか
20 個の品物から、
品物を 40 個にすると、
数が
指数関数とは
y = a^x の形の関数を、
a に
- a = 1 なら、
y は いつも 1 で、 増えも 減りもしない - a が
0 なら、 x が 負の とき 0 で 割る ことになる - a が
負なら、 (−2)^(1/2) のように 実数で 決まらない x が出る
累乗は
指数法則と、 0 乗、 負の 数、 分数の指数
| 決まり | 式 | 2 の例 |
|---|---|---|
| 掛けると | a^m × a^n = a^(m+n) | 2^3 × 2^4 = 2^7 = 128 |
| 割ると | a^m ÷ a^n = a^(m−n) | 2^5 ÷ 2^2 = 2^3 = 8 |
| 累乗の | (a^m)^n = a^(mn) | (2^3)^2 = 2^6 = 64 |
| 0 乗は 1 | a^0 = 1 | 2^0 = 1 |
| 負の | a^(−n) = 1 / a^n | 2^(−3) = 1/8 |
| 分数の | a^(1/n) は | 2^(1/2) = √2 ≒ 1.414 |
| 分数の | a^(m/n) = (a^(1/n))^m | 8^(2/3) = 2^2 = 4 |
0 乗が
グラフの形
y = 2^x と
| x | −2 | −1 | 0 | 1 | 2 |
|---|---|---|---|---|---|
| 2^x | 1/4 | 1/2 | 1 | 2 | 4 |
| (1/2)^x | 4 | 2 | 1 | 1/2 | 1/4 |
表から、
- どちらも
x = 0 で 1 に なる。 グラフは 点 (0, 1) を通る - a が
1 より 大きい 2^x は、 右へ 行く ほど 増える。0 < a < 1 の (1/2)^x は減る - x が
負でも 値は 正で、 0 には 近づくが 0 には ならない。 グラフは x 軸に 近づき続ける - (1/2)^x は
2^(−x) と 同じなので、2 つのグラフは y 軸で 左右に 折り返した形
指数方 程式と 指数不等式
x が
- 2^x = 32 は、
32 = 2^5 なので x = 5 - 4^x = 8 は、
4 = 2^2、 8 = 2^3 なので 2^(2x) = 2^3 で、 2x = 3、 x = 3/2 - 底を
そろえられない ときは、 両辺の log を 取る。 2^x = 10 は x = log2 10 ≒ 3.32
不等式も
- 2^x > 2^3 は、
2^x が 増える 関数なので x > 3 - (1/2)^x > (1/2)^3 は、
(1/2)^x が 減る 関数なので x < 3
大小の
対数関数は、 指数関数を 裏返した物
y = 2^x の
e と 自然な指数関数
e はmath.exp(x) で
一次、 二次、 指数、 対数の 伸び方を比べる
計算の
| 形 | 関数の種類 | n = 10 | n = 100 | n = 1000 |
|---|---|---|---|---|
| log2 n | 対数関数 | 約 3.3 | 約 6.6 | 約 10 |
| n | 一次関数 | 10 | 100 | 1000 |
| n log2 n | 一次と対数の積 | 約 33 | 約 664 | 約 9966 |
| n² | 二次関数 | 100 | 1 万 | 100 万 |
| n³ | 三次関数 | 1000 | 100 万 | 10 億 |
| 2^n | 指数関数 | 1024 | 31 桁 | 302 桁 |
n = 10 では
動かして確かめる
1 本目は、
動かす 2^x と (1/2)^x の表を作る
▶ 実行ボタンを押すと結果がここに表示されます
実行すると、次の通りに出ます
-3 1/8 8
-2 1/4 4
-1 1/2 2
0 1 1
1 2 1/2
2 4 1/4
3 8 1/8x = 0 で
2 本目は、
動かす 2^n が累乗を追い越す n を探す
▶ 実行ボタンを押すと結果がここに表示されます
実行すると、次の通りに出ます
1 2 1 1 True
2 4 4 8 False
3 8 9 27 False
4 16 16 64 False
5 32 25 125 False
6 64 36 216 False
7 128 49 343 False
8 256 64 512 False
9 512 81 729 False
10 1024 100 1000 True
11 2048 121 1331 True
12 4096 144 1728 True
k 2 n 5
k 3 n 10
k 5 n 23
k 10 n 59n = 1 では 2 > 1 で、
3 本目は、1 秒に 1 億回の
動かす 1 秒に間に合う n の上限
▶ 実行ボタンを押すと結果がここに表示されます
実行すると、次の通りに出ます
n 100000000
n log n 4523071
n^2 10000
n^3 464
2^n 26
n! 111 億回までに
4 本目は、
動かす 全部の選び方を回して数える
▶ 実行ボタンを押すと結果がここに表示されます
実行すると、次の通りに出ます
試した数 64 64
[11, 13]
[7, 17]6 個で 64 通りを
5 本目は、
動かす 大小の比べと小数の限界
▶ 実行ボタンを押すと結果がここに表示されます
実行すると、次の通りに出ます
9.031 9.542
True
10.0
2^x > 10^6 20
(1/2)^x < 1/1000 10
True
小数は桁あふれ
2.7182818284590452^30 と
伸び方の 比べは、 どこで外れるか
小さい n では、 指数の 方が 小さい ことがある
2 本目の
オーダーは 定数倍を見ない
O 記法は、
小数の 桁あ ふれと誤差
指数関数のmath.exp(710) も
仕事と コンテストで どう使うか
指数関数と
- 入力の
大きさから 手を 選ぶ。 n が 20 前後までなら 全部の 選び方 (2^n) を 試せる。 n が 10 万なら n² は 100 億で 重く、 n log n の手を探す - 再試行の
待ち時間。 通信が 失敗した ときに、 待つ時間を 1 秒、2 秒、4 秒と倍に していく 指数バック オフは、 指数関数で 待ち時間を伸ばす手 - パスワードの通り数。
英字の 大文字と 小文字と 数字の 62 種類で 8 字なら 62^8 = 約 218 兆通り。字数を 1 つ増やすと 62 倍になる - お金の
増え方。年 7% で 増えると、10 年で 1.07^10 = 約 1.97 倍、 ほぼ 2 倍になる - 機械学習。softmax や
sigmoid は e^x を 使い、 大きな 値の 差を 確率に直す
よくある問い
指数関数とは、 ひと言で何ですか
x が
指数関数的に 増えるとは、 どう いう 意味ですか
決まった
指数関数と 対数関数は、 何が 違いますか
互いに
指数関数は 何に 使われますか
増え方
確認クイズ
答えだと
1 問目
n が
2 問目
1 秒に 1 億回の
3 問目
y = (1/2)^x に
説明課題
「品物が 20 個から 40 個に増えると、
自分の
この回の 先の一歩
入力の
もっと深く
この
一次資料
どれも 2026年10月30日に開いて、
- math.exp と
math.log2 (Python 公式文書、英語) 。math.exp(x)がe の x 乗を 返すこと、 math.eが約 2.718281 であること - sys.float_info (Python 公式文書、英語)。max が、
小数 (float) で 表せる 一番大きい正の 数 (C の DBL_MAX) である こと。 値の 1.7976931348623157e+308 は、 手元の python3 で sys.float_info.maxを出して確かめた - OverflowError (Python 公式文書、英語)。計算の
結果が 大きすぎて 表せない ときに 出るエラー - Timeouts, retries, and backoff with jitter (AWS Builder Center、英語)。再試行の
待ち時間を 指数で 伸ばす指数バックオフと、 待ち時間を 散らすジッター - 指数関数 (Wikipedia 日本語版)。指数関数の
定義、 指数法則、 e を 底と する 指数関数の性質
次へ
分野 2 関数と対数の回
- 2-1累乗と対数log は
何回掛けるか、 何回半分にできるか頁で読む - 2-2関数の
形とオーダー一次、 二次、 指数、 対数の伸び方この回