情報処理安全確保支援士試験 情報処理安全確保支援士試験 令和7年度春期 午前Ⅰ1: 0≦x≦1 の範囲で単調に増加する連続関数 f(x) が f(0)<0 ≦ f(1) を満たすときに,区間内で f(x)=0 である x の値を近似的に求めるア

情報処理安全確保支援士試験 令和7年度春期 午前Ⅰ
Q 11 / 30
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%(27件)

問題本文

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)に戻る。

選択肢

  • .10
  • .20
  • .100
  • .1,000

正解

. 10

解説

これは二分法(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