情報処理安全確保支援士試験 情報処理安全確保支援士試験 令和7年度春期 午前Ⅰ 問1: 0≦x≦1 の範囲で単調に増加する連続関数 f(x) が f(0)<0 ≦ f(1) を満たすときに,区間内で f(x)=0 である x の値を近似的に求めるア
←情報処理安全確保支援士試験 令和7年度春期 午前Ⅰ
0≦x≦1 の範囲で単調に増加する連続関数 f(x) が f(0)<0 ≦ f(1) を満たすときに,区間内で f(x)=0 である x の値を近似的に求めるアルゴリズムにおいて,(2)は何回実行されるか。
〔アルゴリズム〕
(1) x₀ ← 0,x₁ ← 1 とする。
(2) x ← (x₀+x₁)/2 とする。
(3) x₁ - x < 0.001 ならば x の値を近似値として終了する。
(4) f(x) ≧ 0 ならば x₁ ← x として,そうでなければ x₀ ← x とする。
(5) (2)に戻る。
3.70%
問題本文
0≦x≦1 の範囲で単調に増加する連続関数 f(x) が f(0)<0 ≦ f(1) を満たすときに,区間内で f(x)=0 である x の値を近似的に求めるアルゴリズムにおいて,(2)は何回実行されるか。 〔アルゴリズム〕 (1) x₀ ← 0,x₁ ← 1 とする。 (2) x ← (x₀+x₁)/2 とする。 (3) x₁ - x < 0.001 ならば x の値を近似値として終了する。 (4) f(x) ≧ 0 ならば x₁ ← x として,そうでなければ x₀ ← x とする。 (5) (2)に戻る。
解説
これは二分法(bisection法)で方程式の根を求めるアルゴリズム。区間[x₀,x₁]を毎回中点で二分し、(2)の実行ごとに探索区間が半分になる。初期幅は1で、終了条件は区間幅(x₁-x=元の半分)が0.001未満になること。1を1/2ずつ縮めて0.001を下回るには、1/2ⁿ<0.001すなわち2ⁿ1000が必要で、2¹⁰=1024より10回。実務では収束回数が誤差から対数的に決まる点が重要。
選択肢ごとの解説
- ア.2¹⁰=1024で初めて区間幅が1/1024<0.001となり、(2)は10回実行されるため正しい。
- イ.20回では1/2²⁰と過剰に縮まり、終了条件を満たす最小回数を超えるため誤り。
- ウ.二分法は区間が指数的に縮むので線形な100回は不要であり誤り。
- エ.1,000回は逐次的に幅を縮める誤った想定で、対数的収束と矛盾するため誤り。
情報処理安全確保支援士試験 令和7年度春期 午前Ⅰ の過去問一覧へ戻る・問1