区間演算:誤差評価と信頼性のある数値計算
区間演算は、
数値計算における丸め誤差や測定誤差を評価し、信頼できる結果を得るための
数学的な手法です。1950年代から1960年代にかけて
数学者たちによって開発されました。この手法は、すべての値を
数値の範囲として表現することで、不確実性を考慮に入れた計算を可能にします。
区間演算の基本概念
通常の
数値計算では、例えば人の身長を2メートルと表現しますが、区間演算ではこれを1.97メートルから2.03メートルの範囲として表現します。このように範囲で
数値を扱うことで、計算途中の丸め誤差を把握し、
最適化問題や
微分方程式の信頼できる求解を支援します。
数学的には、不確かな
実[[数]]
x を扱う代わりに、
x を含む区間 [
a,
b] を扱います。
x を関
数 f に代入した値も不明であるため、区間演算では関
数 f は区間 [
c,
d] を生成します。この [
c,
d] は、[
a,
b] 内のすべての
x について
f(x) が取りうる値の範囲を表します。
演算の定義
区間演算では、四則演算を以下のように定義します。
加法:
[x₁, x₂] + [y₁, y₂] = [x₁ + y₁, x₂ + y₂]
減法:
[x₁, x₂] - [y₁, y₂] = [x₁ - y₂, x₂ - y₁]
乗法:
[x₁, x₂] ⋅ [y₁, y₂] = [min(x₁y₁, x₁y₂, x₂y₁, x₂y₂), max(x₁y₁, x₁y₂, x₂y₁, x₂y₂)]
除法:
[x₁, x₂] / [y₁, y₂] = [x₁, x₂] ⋅ (1/[y₁, y₂]), ただし、0 ∉ [y₁, y₂]
ここで、
1/[y₁, y₂] = [1/y₂, 1/y₁], if 0 ∉ [y₁, y₂]
1/[y₁, 0] = [-∞, 1/y₁]
1/[0, y₂] = [1/y₂, ∞]
1/[y₁, y₂] = [-∞, 1/y₁] ∪ [1/y₂, ∞] = [-∞, ∞], if 0 ∈ (y₁, y₂)
これらの演算規則を用いることで、より複雑な関
数も区間演算に基づいて計算できます。
区間演算の応用
区間演算は、
数値を持たない推定量を扱うために様々な分野で使用されています。
集合反転
ロボットの行動計画
集合推定
安定性解析
丸め誤差解析
区間演算は、計算ごとに生じる丸め誤差を制御するために誤差解析で用いられます。計算が終わるごとに必ず真値を含む区間が得られるという利点があります。区間の端点間の距離は計算の誤差量を表しています。
区間ニュートン法
区間ニュートン法は、非線形方程式の精度保証付き
数値計算に用いられる手法であり、ニュートン法の一部を区間演算に置き換えたものです。この手法には解の存在定理があり、証明にはブラウワーの不動点定理が使われます。
区間演算は、
数学的な問題を
コンピュータを用いて厳密に証明する
計算機援用証明にも活用されています。
まとめ
区間演算は、
数値計算における不確実性を考慮し、信頼性のある結果を得るための強力なツールです。丸め誤差の解析や
最適化問題の求解など、様々な分野で応用されています。
IEEEによる標準規格も整備されており、今後の発展が期待されます。