中央大学 理工学研究科 情報工学専攻 2026年2月実施 一般入試(春季)問題III
Author
祭音Myyura (Based on 中央大学の公式解答例 refined with GPT 6 Astra)
Description
問題 I は必答。問題 II~V のうち、2 問を選んで解答すること。
問題 III.
以下の性質が成り立っているような離散型確率変数 X を考える:任意の k∈N={1,2,3,…} に対し、
Pr(X=k)=10000.999k−1.
- Pr(X>k) を k=0,1,2,… に対し求めよ。
- X の期待値 E[X] を求めよ。
- Pr(X>1001∣X>1000) を求めよ。
今、ある問題 Π と、それを解くアルゴリズムの設計を考える。
-
問題 Π に対し、計算時間 T 以内に正しい解を確率 δ で出力するアルゴリズム A が存在するとする (0<δ≤1)。また、出力の正当性は t 時間以内で検証できるとする。ここで、検証手続きは常に正しく、正しい解は必ず受理され、誤った解は必ず棄却されるものとする。問題 Π に対し、確率 1 で正しい解を出力するアルゴリズム B を(A を用いて)設計せよ。また B の計算時間の期待値(の上界)を求めよ。
-
Π は最大化問題であると仮定する。即ち、各入力に対して実数値を返す目的関数が与えられており、その最大値を求める問題である(例:ナップサック問題、最大カット問題、…)。
問題 Π に対し、計算時間 T 以内に確率 ϵ (0<ϵ<1) で最大値を返すアルゴリズム A が存在するとする(ここで、残りの確率 1−ϵ では最大値でない実数値を出力するとする)。任意の数 0<δ<1 に対し、最大値を 1−δ 以上の確率で返すアルゴリズム B を(A を用いて)設計せよ。また B の計算時間の上界を求めよ。
题目描述
问题 I 为必答题;从问题 II~V 中选择 2 题作答。
问题 III
设离散型随机变量 X 满足:对于任意 k∈N={1,2,3,…},
Pr(X=k)=10000.999k−1.
- 对 k=0,1,2,…,求 Pr(X>k)。
- 求 X 的期望 E[X]。
- 求 Pr(X>1001∣X>1000)。
下面考虑某个问题 Π 及求解它的算法设计。
-
假设存在算法 A,它在时间 T 内以概率 δ 输出问题 Π 的正确解,其中 0<δ≤1。输出的正确性可以在时间 t 内验证,且验证过程始终正确:正确解一定被接受,错误解一定被拒绝。利用 A 设计一个以概率 1 输出正确解的算法 B,并求其运行时间期望的上界。
-
假设 Π 为最大化问题,即给定一个对各输入返回实数值的目标函数,要求其最大值,例如背包问题、最大割问题等。假设算法 A 在时间 T 内以概率 ϵ(0<ϵ<1)返回最大值,以其余概率 1−ϵ 输出一个不等于最大值的实数。对于任意 0<δ<1,利用 A 设计一个以至少 1−δ 的概率返回最大值的算法 B,并给出运行时间的上界。
Kai
1. 裾確率
X は成功確率 p=0.001 の幾何分布である。等比級数を用いると、
Pr(X>k)=j=k+1∑∞10000.999j−1=1−0.9990.001⋅0.999k=0.999k.
k=0 の場合も Pr(X>0)=1 となる。
2. 期待値
正の整数値を取る確率変数の裾和公式より、
E[X]=k=0∑∞Pr(X>k)=k=0∑∞0.999k=1000.
3. 条件付き確率
{X>1001}⊂{X>1000} だから、
Pr(X>1001∣X>1000)=0.99910000.9991001=0.999.
これは幾何分布の無記憶性にも対応する。
4. 検証を伴う反復
各回に新しい独立な乱数を用いて、次を繰り返す。
- A を実行する。
- 出力を検証し、受理されたらその解を返して終了する。棄却されたら次の回へ進む。
終了時の解は検証済みなので必ず正しい。r 回連続して棄却される確率は (1−δ)r であり、これは r→∞ で 0 になる。従って確率 1 で停止し、正しい解を返す。
試行回数 N は成功確率 δ の幾何分布に従うので、E[N]=1/δ。各回の時間は高々 T+t であるから、
E[time(B)]≤δT+t.
「確率 1 で停止する」ことは、有限の最悪実行時間を保証することとは異なる。δ=1 なら 1 回で必ず終了する。
5. 成功確率の増幅
最大化問題の近似解を返すという通常の解釈に従い、各出力は実行可能解の目的関数値であり、真の最大値 M を超えないものとする。また各回の実行では独立な乱数を使う。
A を k 回実行し、出力を Y1,…,Yk として、maxjYj を返す。少なくとも 1 回 M が出力されれば全体の出力も M になるため、失敗確率は
Pr(jmaxYj=M)=(1−ϵ)k.
従って
k=⌈log(1−ϵ)logδ⌉=⌈log1/(1−ϵ)δ1⌉
とすれば、成功確率は 1−(1−ϵ)k≥1−δ となる。A の実行にかかる総時間は高々
T⌈log(1−ϵ)logδ⌉.
出力の最大値を更新する比較も数えると追加時間は O(k) であり、全体は O(k(T+1)) である。
なお、問題文の「最大値でない実数値」が M より大きい値も許すと解釈すると、この増幅法は保証できない。例えば失敗時に常に M+1 を返すなら、反復の最大値が M になる確率は ϵk に下がる。従って、上の解法には「失敗時も M 以下の実行可能な値を返す」という条件が必要であり、任意の誤った実数出力を許す条件だけからは、この成功確率の保証は導けない。
Reference