基礎理論

基本情報技術者試験二分法の反復回数」の問題

テクノロジ系基礎理論計算問題難易度:normal
二分法で初期の探索区間の幅が1.0である。1回の反復で区間幅が半分になるとき、区間幅を0.1未満にするために必要な最小の反復回数はいくらか。
3回でよい
10回必要になる
5回
最小で4回必要
正解
最小で4回必要

n回反復後の区間幅は1.0×(1/2)^n。n=3で0.125(>0.1)、n=4で0.0625(<0.1)となり、初めて0.1を下回るのは4回目なので正しい。

?選択肢ごとの解説

ア ×3回では幅0.125で、まだ0.1以上のため条件を満たさない誤りである。あと1回必要である。
イ ×10回は0.1という値を反復回数と取り違えたり、10分の1を10回と短絡した誤りで、実際は4回で足りる。
ウ ×5回では0.03125となり条件は満たすが0.1未満になる最初の回ではなく、最小回数という条件に反する。
エ ○n回反復後の区間幅は1.0×(1/2)^n。n=3で0.125(>0.1)、n=4で0.0625(<0.1)となり、初めて0.1を下回るのは4回目なので正しい。

くわしく

二分法は1回ごとに区間幅が厳密に半分になる。必要回数は1/2^n<目標誤差を満たす最小のnで、2^n>(初期幅/目標)を解けばよい。本問は2^n>10、すなわちn≧4。確実だが1回で約0.3桁(1ビット)しか精度が上がらない遅さも特徴である。

本番での押さえどころ

試験のコツ

幅=初期幅×(1/2)^nを1回ずつ計算して目標を初めて下回る回を数える。2^n>初期幅/目標でも解ける。

覚え方

半分ごとに0.5→0.25→0.125→0.0625、と紙を折る回数を数える感覚で求める。

よくある誤り

等号の扱いを誤り3回で十分とする、または『最小回数』を見落として大きい回数を選ぶ誤りが多い。

基礎理論の他の問題

この問題を、AIの8-ways解説つきで。

基本情報技術者試験の演習を、一問ごとに「なぜ」まで。まずは無料で。

無料ではじめる →

ukamiru 過去問 · 基本情報技術者試験 · fe-a3-0106

【基本情報技術者試験】二分法の反復回数の問題 — 解答・解説|ukamiru 過去問