基本情報技術者 2015年 秋期 午前(科目A) 問03
問題文
関数は、引数も戻り値も実数型である。この関数を使った、①〜⑤から成る手続きを考える。
手続きの実行を開始してから②~⑤を十分に繰り返した後に、③で表示される値に変化がなくなった。このとき成立する関係式はどれか。
選択肢
ア:
イ:
ウ:
エ:(正解)
🔒 解説は解答すると表示されます
不動点【午前解説】
正解の理由
手続きを十分繰り返した後に、③で表示される の値が変化しなくなった(以後ずっと同じ値で表示される)とあります。手続きの繰り返しによって が次の値として関数 によって更新される設計になっているため、ある時点以降の表示値を とすると次の関係が成り立ちます。
y_{次} = f(y_{現在})
定常(ある時点以降の表示値が一定)ならば表示される値 は更新後も同じ であるはずなので
Y = f(Y)
となり、これが不動点の定義です。したがって選択肢エ()が正しいです。
解法ステップ
- 表示される を時間(反復回数)で列挙し、 を第 回表示時の値とする。
- 手続きの更新規則は一般に という形になっていると解釈する。
- 問題文の「変化がなくなった」は「ある が存在して、すべての で が成り立つ(定常)」を意味する。
- 定常性から により を導ける。これが不動点の条件であり、選択肢エに対応する。
選択肢別の誤答解説
-
ア:
入力値 と最終的な表示値 が関係するとは限りません。反復の過程で初期値 に依存せず別の不動点に到達することもありうるため、一般には成り立ちません。 -
イ:
特別な関数や初期値の場合に成り立つことはあり得ますが、問題文の定常性からは が である根拠は得られません。誤りです。 -
ウ:
更新が であるなら、定常性は を示すので、 とは一致しません。初期値 を再び得る循環でなければ成り立ちません。
よくある誤解
- 収束すれば常に不動点になると考える誤り
単に列 がある値 に収束するだけでは、一般に を導けません。 が連続であるなど追加条件が必要です(下のFAQ参照)。 - 「変化がなくなった」を「限りなく変化が小さくなった(収束)」と読み違える
問題文は「変化がなくなった=定常(ある時点以降一定)」を意味しており、この場合は不動点が直接導けます。収束と定常は区別する必要があります。
補足コラム
不動点(fixed point)は計算機科学や数値解析で重要な概念です。反復法(例えば単純反復法 x_{n+1}=g(x_n))では、反復が定常になるとその値は不動点を表します。実務的には収束性の解析(例えば収束率、局所安定性の調査)や連続性・微分係数による収束判定(|g'(x*)|<1 なら局所安定)などが行われます。
簡単な数値例(Python):
def f(x): return math.cos(x)
x = 1.0
for i in range(20):
print(i, x)
x = f(x)
cos の反復は約 0.739... の不動点に収束します。cos は連続なので「収束 → 不動点」が成り立ちます。
FAQ
Q: 収束した場合も必ず ですか?
A: いいえ。列 が に収束するだけでは一般に を導けません。 が点 で連続であれば となり不動点を得られます。連続性がないと反例が作れます。例えば次のような を考えます。
A: いいえ。列 が に収束するだけでは一般に を導けません。 が点 で連続であれば となり不動点を得られます。連続性がないと反例が作れます。例えば次のような を考えます。
- ()
- その他の点は任意に定義
初期値 とすると ですが で、収束の極限は不動点ではありません( が非連続の例)。
Q: 「定常」と「収束」の違いは?
A: 定常(ある時点以降の値が完全に一定) → その値は即座に不動点を満たす。収束(値がある値に近づいていくが各時点は異なる) → 追加条件(連続性など)がないと不動点とは言えない。
A: 定常(ある時点以降の値が完全に一定) → その値は即座に不動点を満たす。収束(値がある値に近づいていくが各時点は異なる) → 追加条件(連続性など)がないと不動点とは言えない。
Q: 問題文で初期値 が与えられているが、なぜ は関係しないのか?
A: 初期値 が最終的な定常値に影響する場合もありますが、問題は「表示される が変化しなくなったとき成立する関係式」を問うています。定常性があれば初期値にかかわらずその定常値は不動点の条件 を満たします。
A: 初期値 が最終的な定常値に影響する場合もありますが、問題は「表示される が変化しなくなったとき成立する関係式」を問うています。定常性があれば初期値にかかわらずその定常値は不動点の条件 を満たします。
関連キーワード: 不動点、反復法、定常性、収束と連続性、固定点解析

\ せっかくなら /
基本情報技術者を
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

