基本情報 平成22年度 春期 問2:テクノロジ系に関する問題
けた落ちの説明として, 適切なものはどれか。
- a値がほぼ等しい浮動小数点数同士の減算において, 有効けた数が大幅に減ってし まうことである。正答
- b演算結果が, 扱える数値の最大値を超えることによって生じる誤差のことである。
- c数表現のけた数に限度があるとき, 最小のけたより小さい部分について四捨五入, 切上げ又は切捨てを行うことによって生じる誤差のことである。
- d浮動小数点数の加算において, 一方の数値の下位のけたが結果に反映されないこ とである。
AI解説(初心者・標準・上級)
理解度に合わせて3レベルの解説を無料で読めます。
答えは a です。
けた落ちは「ほぼ同じ大きさの数を引き算したら、有効な桁が一気に減る」現象。
例:3.14159 − 3.14158 = 0.00001。
7桁あったのに、結果は1桁分しか意味がない!上の桁が全部「打ち消し合って消える」せい。
コンピュータの計算では、有効桁数(信頼できる桁)がガクッと減って精度が落ちる原因になります。
👉 覚え方:「近い数の引き算は危険」=けた落ち。
ほかの選択肢:b オーバーフロー(範囲を超える誤差)/c 丸め誤差(四捨五入による誤差)/d 情報落ち(大きい数+小さい数で下位桁が消える別の誤差)。
なぜこれが正解か
正解は a。けた落ち(cancellation, loss of significance)は、値がほぼ等しい浮動小数点数同士の減算で、上位桁が打ち消され、有効桁数が大幅に減少する現象。例:1.234567 − 1.234566 = 0.000001、本来7桁の有効桁数が結果では1桁になる。
各選択肢の解説
- b「演算結果が最大値を超える」=オーバーフロー。アンダーフロー(最小値未満)と対。
- c「最小桁より小さい部分の四捨五入による誤差」=丸め誤差。
- d「加算で一方の数値の下位桁が結果に反映されない」=情報落ち(loss of trailing digits、桁あふれ前の桁落ち相当)。
覚え方・ひっかけ注意
浮動小数点誤差の4タイプ:けた落ち(近い数の引き算)/情報落ち(大きい数±小さい数で小さい数が消える)/丸め誤差(有限桁化)/打切り誤差(級数等の途中打切り)。「けた落ち=減算で上位が消える」「情報落ち=加算で下位が消える」と対で覚える。
理論的背景
浮動小数点数のIEEE 754標準では単精度(32bit:符号1+指数8+仮数23)、倍精度(64bit:1+11+52)でMaxima仮数桁数は約7桁・約16桁。けた落ちは数学的には自明だが計算機実装で問題となる典型例:二次方程式の解の公式 x = (-b ± √(b²-4ac)) / 2a で、b² ≫ 4ac の時 -b + √(b²-4ac) がけた落ちする。回避策は分子分母の有理化 x = -2c/(b + √(b²-4ac))。Kahanの加算法(補正項で誤差累積を防ぐ)、Welford法(オンライン分散計算)、Neumaier-Kahan-Babuska法は数値解析の重要技法。機械イプシロン(1+ε≠1となる最小ε、倍精度では約2.22×10^-16)が誤差評価の基本。
実務での使われ方
金融工学・物理シミュレーション・機械学習で数値誤差は常時の課題。自動微分(PyTorch、JAX、Tensorflowの基盤)は連鎖律を機械的に計算するが、計算順序により精度が変わる。混合精度学習(FP32とFP16/BF16/FP8の併用)はメモリ削減と速度向上を両立する深層学習の標準技法だが、けた落ち・情報落ちの管理が必須。NVIDIA H100/B100、Google TPUは専用の数値表現(TF32、BF16、FP8、INT8)でAI演算を最適化。Posit算術(Universal Number、John Gustafson提唱)は次世代の浮動小数点候補。
試験での位置づけ
FE科目Aで誤差の種類識別問題が頻出。応用情報・データサイエンティスト試験では具体的な誤差計算、IEEE 754ビット表現、補数表現、誤差伝搬の問題が出る。情報処理安全確保支援士では浮動小数点の脆弱性(CVE系の数値誤差バグ)も題材。
選択肢の発展補足
誤差の発生源と対策:けた落ち対策=式変形で同符号化、有理化、Taylor展開/情報落ち対策=小さい数から大きい数の順で加算、対数空間計算、log-sum-exp trick/丸め誤差累積対策=Kahan加算、二重精度/条件数(Condition Number、入力誤差の出力への増幅率)の評価/安定アルゴリズム選択(後退安定、前進安定)。数値線形代数ではLU分解の部分ピボット選択、QR分解、SVD(特異値分解)が安定計算の基本。FE午後ではマトリクス計算問題、応用情報の理論系問題で頻出。Gradient Vanishing/Explosionは深層学習における誤差伝搬問題の現代版で、ResNetのSkipConnection、Batch Norm、LayerNorm、AdamW最適化等で対処する。
出典:IPA(情報処理推進機構)公式 基本情報技術者試験 平成22年度 春期 問2/ 公的機関配布資料につき出典明記の上引用。解説は合格ナビによる独自AI解説です。