線形探索
最もシンプルなアイデアとして、x を 0 から ϵ ずつ増やして上記の不等式を満たす x を探索すると言う方法が考えられます。 この方法をリストの線形探索になぞらえて、線形探索 と呼ぶことにします。
n=2、ϵ=0.1としたときの計算過程は以下のようになります。 (ϵを 0.1 ずつ増やしているにも関わらず端数の誤差が生じる理由は第 02 回の授業で取り扱います。)
x | (x+e)2 | n | (x−e)2 |
---|---|---|---|
0.1 | 0.040000003 | 2.0 | 0.0 |
0.2 | 0.09 | 2.0 | 0.010000001 |
0.3 | 0.16000001 | 2.0 | 0.040000007 |
0.4 | 0.25 | 2.0 | 0.09 |
0.5 | 0.36 | 2.0 | 0.16000001 |
0.6 | 0.49000007 | 2.0 | 0.25 |
0.70000005 | 0.6400001 | 2.0 | 0.36 |
0.8000001 | 0.8100002 | 2.0 | 0.49000007 |
0.9000001 | 1.0000002 | 2.0 | 0.6400001 |
1.0000001 | 1.2100003 | 2.0 | 0.8100002 |
1.1000001 | 1.4400004 | 2.0 | 1.0000002 |
1.2000002 | 1.6900005 | 2.0 | 1.2100003 |
1.3000002 | 1.9600006 | 2.0 | 1.4400004 |
1.4000002 | 2.2500007 | 2.0 | 1.6900005 |
x=1.4 のとき、条件を満たしていることが確認できます。 またこのとき、0.1≥1.41421356⋯−1.4≥−0.1 であることも確認できます。
なお、xをさらにϵ分増やしたx=1.5 でも 0.1≥1.41421356⋯−1.5≥−0.1 が満たされています。 これは一般的に成り立つ性質であり、ϵ≥|T−A| かつ ϵ<|T−(A−ϵ)| のとき、ϵ≥|T−(A+ϵ)| となります。
さらに、同じ条件のとき、A+ϵ≥T>Aが満たされます。 すなわち、これは√2の真値は 1.4 から 1.5 の間に存在していることを表しています。
線形探索アルゴリズムでは、近似値にたどり着くまでに ϵ=0.1 のときで 14 回、ϵ=0.01 のとき 141 回、ϵ=0.001 の時で 1414 回…、と精度が一桁上がるごとに約 10 倍の繰り返しが必要となり、計算効率が良くありません。
次は上記の性質を用いて効率良く真値に近い近似値を求める方法を考えてみましょう。