資格道場
学習状況 お問い合わせ ログイン 無料登録

数検1級(実用数学技能検定 1級)「数値解析・アルゴリズムの基礎」の一問一答

1 / -- 正解: 0
📖 数検1級(実用数学技能検定 1級)「数値解析・アルゴリズムの基礎」の全45問と解説(一覧)

数検1級(実用数学技能検定 1級)の数値解析・アルゴリズムの基礎に関する一問一答(全45問)の正解と解説の一覧です。上の一問一答で実際に解いてから、ここで復習・確認できます。

  1. 問1.絶対誤差とは真の値と近似値の差の絶対値であり、相対誤差はそれを真の値の絶対値で割ったものである。

    正解:○(正しい)

    解説:絶対誤差 |x-x̃|、相対誤差 |x-x̃|/|x| である。絶対誤差だけでは精度の良し悪しを判断できない(1万に対する誤差1と、1に対する誤差1では意味が違う)ため、相対誤差を併用する。

  2. 問2.打ち切り誤差とは、コンピュータが数を有限桁で表すことによって生じる誤差のことである。

    正解:×(誤り)

    解説:それは丸め誤差の説明である。打ち切り誤差は、無限級数や反復計算を途中で止めることによって生じる誤差をいう。テイラー展開を有限項で打ち切るときの誤差が代表例である。

  3. 問3.桁落ちは、値の近い2つの数の引き算で有効数字が失われる現象である。

    正解:○(正しい)

    解説:例えば 1.23456 - 1.23455 = 0.00001 では有効数字が6桁から1桁に落ちる。二次方程式の解の公式で -b+√(b^2-4ac) を計算するときに起こりやすく、有理化して分子を変形するなどの回避策がとられる。

  4. 問4.情報落ちとは、絶対値が大きく異なる2数の加減算で小さい方の情報が失われる現象である。

    正解:○(正しい)

    解説:1.0×10^10 に 1.0 を足しても有限桁では変化が表れない。多数の項を足すときは絶対値の小さい方から加える、補正付きの加算法を使うなどで軽減する。

  5. 問5.二分法は、f(a) と f(b) が同符号であることを前提に区間 [a,b] の中に解を追い込む方法である。

    正解:×(誤り)

    解説:前提は「異符号」である。f が連続で f(a)f(b) < 0 なら中間値の定理より [a,b] に解があり、区間を半分ずつ狭めていける。同符号では解の存在が保証されない。

  6. 問6.二分法は反復1回ごとに解の存在範囲が半分になるので、収束は必ず保証されるが速さは1次である。

    正解:○(正しい)

    解説:誤差が (b-a)/2^n で減るので確実だが遅い。ニュートン法は条件が整えば2次収束で速い代わりに、初期値が悪いと発散することがある。確実さと速さのトレードオフである。

  7. 問7.ニュートン法の反復式は x_{n+1} = x_n - f(x_n)/f'(x_n) である。

    正解:○(正しい)

    解説:曲線上の点 (x_n, f(x_n)) における接線が x 軸と交わる点を次の近似値とする。f'(x_n) が 0 に近いと接線がほぼ水平になり、次の値が大きく飛んで発散しやすい。

  8. 問8.ニュートン法は、重根の場合でも2次収束する。

    正解:×(誤り)

    解説:重根では収束が1次に落ちる。2次収束するのは単根の近くで初期値を十分近くに取ったときで、そのとき有効数字はおよそ倍々に増える。重根に対しては修正ニュートン法を使う。

  9. 問9.台形公式による数値積分の誤差は区間幅 h の1乗に比例する。

    正解:×(誤り)

    解説:台形公式の誤差は h^2 に比例する(2次精度)。シンプソンの公式は h^4 に比例する(4次精度)ので、同じ分割数ならシンプソンの方が精度が高い。

  10. 問10.シンプソンの公式では、区間の分割数を偶数にする必要がある。

    正解:○(正しい)

    解説:隣り合う2区間を1組にして2次関数で近似するため、分割数は偶数でなければならない。係数は両端が1、奇数番が4、偶数番が2の順に並び、h/3 を掛ける。

  11. 問11.ラグランジュ補間では、n+1 個の点を通る n 次以下の多項式がただ1つ定まる。

    正解:○(正しい)

    解説:相異なる n+1 個の点に対して補間多項式は一意である。ただし等間隔の点で次数を上げすぎると端で激しく振動する(ルンゲ現象)ので、区間を分けたスプライン補間が使われる。

  12. 問12.ガウスの消去法では、対角成分が0に近い場合でもそのまま計算して差し支えない。

    正解:×(誤り)

    解説:対角成分(ピボット)が0に近いと、その値で割ったときに誤差が拡大する。行を入れ替えて絶対値の大きい成分をピボットにする「部分ピボット選択」を行うのが定石である。

  13. 問13.ヤコビ法やガウス・ザイデル法は、連立一次方程式を反復によって解く方法である。

    正解:○(正しい)

    解説:係数行列が対角優位などの条件を満たすとき収束する。ガウス・ザイデル法は更新済みの値をただちに使うので、ヤコビ法より一般に収束が速い。大規模で疎な連立方程式に向く。

  14. 問14.オイラー法は常微分方程式の数値解法で、刻み幅 h に対して4次精度である。

    正解:×(誤り)

    解説:オイラー法は1次精度(大域誤差が h に比例)である。4次精度なのは4次のルンゲ・クッタ法で、1ステップに4回の関数評価を行う代わりに大域誤差が h^4 に比例する。

  15. 問15.最小二乗法は、残差の絶対値の和を最小にするように係数を定める方法である。

    正解:×(誤り)

    解説:最小にするのは残差の「2乗和」である。2乗和は微分可能なので正規方程式を解けば係数が求まり、計算が容易になる。絶対値の和を最小にする方法は最小絶対偏差法という別の手法である。

  16. 問16.アルゴリズムの計算量を表す O 記法では、入力サイズが十分大きいときの増え方の目安を示す。

    正解:○(正しい)

    解説:定数倍や低次の項を無視して増加の傾向だけを表す。O(n) は入力に比例、O(n^2) は2乗に比例、O(log n) は入力が倍になっても手数が1回増える程度である。

  17. 問17.ソート済みの配列に対する二分探索の計算量は O(n) である。

    正解:×(誤り)

    解説:正しくは O(log n) である。探索範囲を毎回半分にするので、要素が100万個でも20回程度の比較で見つかる。O(n) は先頭から順に調べる線形探索の計算量である。

  18. 問18.ユークリッドの互除法は、2つの自然数の最大公約数を割り算の繰り返しで求める方法である。

    正解:○(正しい)

    解説:gcd(a,b) = gcd(b, a mod b) を余りが0になるまで繰り返す。計算量は O(log(min(a,b))) と非常に速く、拡張版を使えば ax+by = gcd(a,b) を満たす整数 x, y も求められる。

  19. 問19.クイックソートの平均計算量は O(n log n) だが、最悪計算量は O(n^2) である。

    正解:○(正しい)

    解説:基準値(ピボット)の選び方が偏ると分割が片寄り O(n^2) になる。マージソートは最悪でも O(n log n) だが追加の作業領域を必要とする。比較に基づくソートの下限は O(n log n) である。

  20. 問20.モンテカルロ法による数値積分では、標本数 N を4倍にすると誤差はおよそ4分の1になる。

    正解:×(誤り)

    解説:誤差は 1/√N に比例するので、N を4倍にすると誤差はおよそ半分になる。収束は遅いが、次元が高くなっても誤差の減り方が変わらないため、多重積分で有利になる。

  21. 問21.浮動小数点数の演算では、結合法則 (a+b)+c = a+(b+c) が常に成り立つとは限らない。

    正解:○(正しい)

    解説:丸め誤差と情報落ちのため、加える順序によって結果が変わりうる。大量の数を足すときは絶対値の小さいものから加える、補償付き加算を使うなどの工夫がいる。

  22. 問22.反復法において、収束判定は「反復回数が決めた上限に達したこと」だけで行えばよい。

    正解:×(誤り)

    解説:回数の上限は無限ループを防ぐ安全策にすぎない。収束判定は |x_{n+1}-x_n| や |f(x_n)| が許容誤差より小さくなったかで行い、両方を組み合わせるのが実務的である。

  23. 問23.条件数が大きい連立一次方程式は、係数のわずかな変化で解が大きく変わる。

    正解:○(正しい)

    解説:そのような問題を悪条件(ill-conditioned)という。行列式が0に近い場合に起こりやすく、桁数を増やしても精度が上がりにくい。定式化そのものを見直す必要がある。

  24. 問24.再帰的に定義されたアルゴリズムは、必ず反復(ループ)による実装より計算量が小さくなる。

    正解:×(誤り)

    解説:計算量は書き方ではなくアルゴリズムで決まる。素朴な再帰でフィボナッチ数を求めると同じ計算を何度も繰り返して指数時間になる。値を覚えておく(メモ化する)と線形時間になる。

  25. 問25.数値微分で前進差分 (f(x+h)-f(x))/h を用いるとき、h を小さくすればするほど精度が上がる。

    正解:×(誤り)

    解説:h を小さくすると打ち切り誤差は減るが、分子の引き算で桁落ちが起きて丸め誤差が増える。両者の和が最小になる適当な h が存在する。中心差分 (f(x+h)-f(x-h))/(2h) の方が精度は高い。

  26. 問26.f(x) = x^2 - 2 に対して初期値 x_0 = 2 でニュートン法を1回適用したときの x_1 はどれか。

    • ア.1.5
    • イ.1.25
    • ウ.1.4142
    • エ.1.75

    正解:ア.1.5

    解説:f'(x) = 2x なので x_1 = 2 - (4-2)/4 = 2 - 0.5 = 1.5。もう1回適用すると 1.41666… となり、√2 = 1.41421… に急速に近づく(2次収束)。

  27. 問27.台形公式で ∫[0,2] x^2 dx を区間2分割(h=1)で近似した値はどれか。

    • ア.3.00
    • イ.2.00
    • ウ.2.67
    • エ.4.00

    正解:ア.3.00

    解説:台形公式は h/2·{f(0)+2f(1)+f(2)} = 1/2·(0+2+4) = 3。真の値は 8/3 ≒ 2.667 なので誤差は 0.333。同じ分割でシンプソンの公式を使うと 1/3·(0+4·1+4) = 8/3 で厳密に一致する。

  28. 問28.要素数 1,048,576(=2^20)のソート済み配列に対する二分探索で、最悪の場合に必要な比較回数はおよそいくつか。

    • ア.20回
    • イ.1,024回
    • ウ.1,000,000回
    • エ.400回

    正解:ア.20回

    解説:二分探索は毎回範囲を半分にするので log_2(2^20) = 20 回程度で終わる。計算量は O(log n)。線形探索なら最悪 1,048,576 回の比較が必要になる。

  29. 問29.ユークリッドの互除法で 1071 と 1029 の最大公約数を求めた値はどれか。

    • ア.21
    • イ.3
    • ウ.42
    • エ.7

    正解:ア.21

    解説:1071 = 1029×1 + 42、1029 = 42×24 + 21、42 = 21×2 + 0 なので最大公約数は 21。余りが0になった直前の除数が答えになる。

  30. 問30.誤差が刻み幅 h の4乗に比例する数値積分法はどれか。

    • ア.シンプソンの公式
    • イ.台形公式
    • ウ.中点公式
    • エ.長方形公式(左端)

    正解:ア.シンプソンの公式

    解説:シンプソンの公式は4次精度で誤差が h^4 に比例する。台形公式と中点公式は h^2、左端の長方形公式は h に比例する。

  31. 問31.浮動小数点計算で「桁落ち」が最も起こりやすい計算はどれか。

    • ア.絶対値が大きく異なる2数の加算
    • イ.値のごく近い2数の減算
    • ウ.2数の乗算
    • エ.2数の除算

    正解:イ.値のごく近い2数の減算

    解説:近い値どうしの引き算は上位桁が打ち消し合って有効数字が失われる。絶対値が大きく異なる2数の加算で起こるのは情報落ちである。乗除算では有効数字はほぼ保たれる。

  32. 問32.二分法で区間 [1,2](幅1)から出発して誤差を 2^{-10} 未満にするために必要な反復回数はどれか。

    • ア.5回
    • イ.10回
    • ウ.100回
    • エ.1024回

    正解:イ.10回

    解説:n 回の反復で区間幅は 2^{-n} になる。区間の中点を近似値とすれば誤差は幅の半分 2^{-(n+1)} 以下なので、n=10 で誤差は 2^{-11} 以下となり 2^{-10} 未満を満たす。二分法は1回で1ビットずつ精度が上がる。

  33. 問33.4次のルンゲ・クッタ法について、正しい説明はどれか。

    • ア.連立一次方程式の反復解法である
    • イ.常微分方程式の初期値問題を解く方法である
    • ウ.非線形方程式の根を求める方法である
    • エ.行列の固有値を求める方法である

    正解:イ.常微分方程式の初期値問題を解く方法である

    解説:1ステップで4回の関数評価を行い、大域誤差が h^4 に比例する常微分方程式の解法である。オイラー法(1次精度)より格段に精度が高く、実務で広く使われる。

  34. 問34.最小二乗法で n 個の点に直線 y = ax + b を当てはめるとき、最小化する量はどれか。

    • ア.Σ|y_i - ax_i - b|
    • イ.Σ(y_i - ax_i - b)^2
    • ウ.Σ(y_i - ax_i - b)
    • エ.max|y_i - ax_i - b|

    正解:イ.Σ(y_i - ax_i - b)^2

    解説:残差の2乗和を最小にする。単純な和は正負が打ち消し合うので使えない。絶対値の和を最小にするのは最小絶対偏差法、最大値を最小にするのはミニマックス近似で、いずれも別の基準である。

  35. 問35.計算量が O(n log n) であるアルゴリズムはどれか。

    • ア.線形探索
    • イ.マージソート
    • ウ.バブルソート
    • エ.二分探索

    正解:イ.マージソート

    解説:マージソートは最悪でも O(n log n)。バブルソートは O(n^2)、線形探索は O(n)、二分探索は O(log n) である。比較に基づくソートの計算量の下限が O(n log n) である。

  36. 問36.ガウスの消去法で「部分ピボット選択」を行う主な理由はどれか。

    • ア.計算回数を減らすため
    • イ.解の個数を増やすため
    • ウ.0に近い数で割ることによる誤差の拡大を避けるため
    • エ.行列を対称にするため

    正解:ウ.0に近い数で割ることによる誤差の拡大を避けるため

    解説:各段で絶対値が最大の成分を行の入れ替えでピボットに持ってくる。0に近い値で割ると誤差が急激に拡大するため、精度を保つ目的で行う。計算回数はむしろ少し増える。

  37. 問37.反復法 x_{n+1} = g(x_n) が解 α の近くで収束するための条件として適切なものはどれか。

    • ア.g(α) = 0 であること
    • イ.g'(α) = 0 であること
    • ウ.|g'(α)| < 1 であること
    • エ.g が単調増加であること

    正解:ウ.|g'(α)| < 1 であること

    解説:解の近くで |g'(α)| < 1 なら誤差が毎回 |g'(α)| 倍に縮んで収束する(縮小写像)。特に g'(α) = 0 なら2次収束になり、ニュートン法はこの場合にあたる。

  38. 問38.モンテカルロ法で標本数を100倍にしたとき、誤差はおよそ何分の1になるか。

    • ア.100分の1
    • イ.50分の1
    • ウ.10分の1
    • エ.変わらない

    正解:ウ.10分の1

    解説:誤差は 1/√N に比例するので、N を100倍にすると誤差は √100 = 10 分の1になる。収束は遅いが、次元が上がっても誤差の減り方が変わらないのが利点である。

  39. 問39.等間隔の点で補間多項式の次数を上げすぎたときに、区間の端で近似が激しく振動する現象はどれか。

    • ア.ギブス現象
    • イ.エイリアシング
    • ウ.ルンゲ現象
    • エ.オーバーフロー

    正解:ウ.ルンゲ現象

    解説:ルンゲ現象という。対策としてチェビシェフ点のように端を密にとる、あるいは区間を分けて低次の多項式をつなぐスプライン補間を使う。ギブス現象はフーリエ級数の不連続点で起こる別の現象である。

  40. 問40.1次の前進差分 (f(x+h)-f(x))/h による数値微分で、h を極端に小さくすると精度が悪化する主な原因はどれか。

    • ア.打ち切り誤差が増えるため
    • イ.オーバーフローが起こるため
    • ウ.分子の引き算による桁落ちが大きくなるため
    • エ.関数の評価回数が増えるため

    正解:ウ.分子の引き算による桁落ちが大きくなるため

    解説:h を小さくすると打ち切り誤差(h に比例)は減るが、f(x+h) と f(x) が近づいて桁落ちが起こり、それを小さな h で割るので誤差が拡大する。両者が釣り合う h が最適になる。

  41. 問41.行列 A に対する反復法で、係数行列が「対角優位」であることが意味するものはどれか。

    • ア.行列式が1である
    • イ.対角成分がすべて正である
    • ウ.対角成分がすべて等しい
    • エ.各行で対角成分の絶対値が他の成分の絶対値の和より大きい

    正解:エ.各行で対角成分の絶対値が他の成分の絶対値の和より大きい

    解説:各行で |a_ii| > Σ_{j≠i}|a_ij| が成り立つことをいう。この条件が満たされればヤコビ法・ガウス・ザイデル法は必ず収束する(十分条件)。

  42. 問42.「悪条件(ill-conditioned)な問題」の説明として正しいものはどれか。

    • ア.計算時間が長い問題
    • イ.解が存在しない問題
    • ウ.アルゴリズムが複雑な問題
    • エ.入力のわずかな変化で解が大きく変わる問題

    正解:エ.入力のわずかな変化で解が大きく変わる問題

    解説:問題そのものの性質であり、良いアルゴリズムを使っても本質的には改善しない。条件数という指標で測る。計算時間の長さや解の非存在とは別の概念である。

  43. 問43.素朴な再帰でフィボナッチ数 F(n) を計算したときの計算量はどれか。

    • ア.O(n)
    • イ.O(n^2)
    • ウ.O(log n)
    • エ.O(2^n)

    正解:エ.O(2^n)

    解説:F(n-1) と F(n-2) を独立に計算するため、同じ値を何度も計算して指数時間になる。一度計算した値を保存する(メモ化する)か、下から順に積み上げれば O(n) になる。

  44. 問44.10進数 0.1 を2進数の浮動小数点数で表したときに起こることとして正しいものはどれか。

    • ア.有限桁で正確に表せる
    • イ.整数として扱われる
    • ウ.オーバーフローが起こる
    • エ.無限小数になるため丸め誤差が生じる

    正解:エ.無限小数になるため丸め誤差が生じる

    解説:0.1 は2進数では 0.000110011… と循環する無限小数になるため、有限桁では正確に表せず丸め誤差が生じる。0.1 を10回足しても 1.0 と厳密には一致しないのはこのためである。

  45. 問45.二分法とニュートン法を比べたときの説明として正しいものはどれか。

    • ア.ニュートン法は導関数を必要としない
    • イ.どちらも収束が保証され、速さも同じである
    • ウ.二分法の方が収束が速い
    • エ.二分法は収束が保証されるが遅く、ニュートン法は速いが初期値によっては発散する

    正解:エ.二分法は収束が保証されるが遅く、ニュートン法は速いが初期値によっては発散する

    解説:二分法は f(a)f(b) < 0 なら必ず収束する代わりに1次収束で遅い。ニュートン法は単根の近くで2次収束するが、導関数が必要で、初期値が悪いと発散したり別の解に飛んだりする。