令和7年度 春期 ITストラテジスト試験 システムアーキテクト試験 ネットワークスペシャリスト試験 ITサービスマネージャ試験 情報処理安全確保支援士試験 午前Ⅰ 問題【共通】 問1

テクノロジアルゴリズム

この問題は2025(R7)春 高度試験共通 午前Iに出題されたものです。出題時点の法令・制度に基づく内容のため、現行の内容と一致しない場合があります。

本ページの問題文・選択肢は、原本の体裁を Web 表示用に正規化しています(改行・記号・数式・図表参照の調整)。設問の趣旨および正解に影響する変更は加えていません。

0x10 \leqq x \leqq 1 の範囲で単調に増加する連続関数 f(x)f(x)f(0)<0f(1)f(0) < 0 \leqq f(1) を満たすときに,区間内で f(x)=0f(x) = 0 である xx の値を近似的に求めるアルゴリズムにおいて,(2) は何回実行されるか。

〔アルゴリズム〕

(1) x00x_0 \leftarrow 0x11x_1 \leftarrow 1 とする。
(2) xx0+x12x \leftarrow \frac{x_0 + x_1}{2} とする。
(3) x1x<0.001x_1 - x < 0.001 ならば xx の値を近似値として終了する。
(4) f(x)0f(x) \geqq 0 ならば x1xx_1 \leftarrow x として,そうでなければ x0xx_0 \leftarrow x とする。
(5) (2) に戻る。

解答・解説を読む

正解: 選択肢

提示されたアルゴリズムは、二分探索(二分法) を用いて方程式 f(x)=0f(x) = 0 の解の近似値を求める手順を示しています。

解法のステップ

  1. 初期状態
    (1) で x0=0x_0 = 0, x1=1x_1 = 1 と初期化され、区間の幅は x1x0=1x_1 - x_0 = 1 です。
  2. 1回目のループ
    (2) で x=frac0+12=0.5x = \\frac{0+1}{2} = 0.5 となります。
    (3) の判定では x1x=10.5=0.5x_1 - x = 1 - 0.5 = 0.5 となり、0.5<0.0010.5 < 0.001 は満たしません。
    (4) により、次の探索区間の幅は元の半分である 0.50.5 となります。
  3. 一般化(nn 回目のループ)
    nn 回目の (2) が実行された直後の (3) の判定における x1xx_1 - x の値(区間幅の半分)は、frac12n\\frac{1}{2^n}(すなわち 0.5n0.5^n)となります。
  4. 終了条件の計算
    終了条件は frac12n<0.001\\frac{1}{2^n} < 0.001 です。
    これを整理すると、2n>10002^n > 1000 となります。
    29=5122^9 = 512210=10242^{10} = 1024 であるため、この不等式を初めて満たす最小の整数 nn10 となります。

したがって、(2) の処理は 10回 実行されます。

各選択肢の解説

  • ア (10): 正解です。上記の通り、210>10002^{10} > 1000 となり終了条件を満たします。
  • イ (20): 誤りです。n=20n=20 の場合、220approx1062^{20} \\approx 10^6 となり、判定条件が 0.0000010.000001 など、より高い精度を求められた場合の回数です。
  • ウ (100): 誤りです。二分法の計算量(対数オーダー)を理解せず、区間が線形に縮小していくと誤解した場合に選びやすい値です。
  • エ (1,000): 誤りです。判定条件の 0.0010.001(千分の一)から単純に 1,0001,000 回と推測した誤答です。