1 内部乱数の確率空間
定義 1.1.Xを入力の集合、Yを出力の集合とする。乱択アルゴリズム (randomized algorithm) とは、空でない有限集合R(内部乱数の集合 (set of internal random choices))と二つの写像A:X×R→Y,T:X×R→Z≥0の組をいう。A(x,r)は、内部乱数としてrを用いたときの出力を表し、T(x,r)はそのときの実行ステップ数を表す。
入力x∈Xを一つ固定する。R上の一様分布をPR({r})=∣R∣1(r∈R),PR(B)=∣R∣∣B∣(B⊆R)と定めると、(R,2R,PR)は§E13.11 定義 1.1の有限確率空間である。xを固定したとき、r↦A(x,r)とr↦T(x,r)はこの確率空間の上の確率変数である。前者をA(x,⋅)、後者をT(x,⋅)と書く。
2 有限回の独立反復
同じ乱択アルゴリズムをk回、毎回新しい乱数を用いて実行する状況を、直積確率空間として書き下す。
定義 2.1.(Ω0,2Ω0,P0)を§E13.11 定義 1.1の有限確率空間とし、k≥1を整数とする。標本空間をΩ0k、すなわち長さkの列ρ=(ρ1,…,ρk)(各ρi∈Ω0)の全体とし、事象の全体を2Ω0kとする。各ρ∈Ω0kに対してP0(k)({ρ})=∏i=1kP0({ρi})と定め、事象C⊆Ω0kに対してP0(k)(C)=∑ρ∈CP0(k)({ρ})と定める。各iに対しπi(ρ)=ρiで定まる写像を第i射影 (coordinate projection) という。
命題 2.2.定義 2.1の記号のもとで、次が成り立つ。
- B1,…,Bk⊆Ω0に対し、事象C={ρ∈Ω0k: ρi∈Bi (i=1,…,k)}の確率はP0(k)(C)=∏i=1kP0(Bi)である。
- P0(k)は確率測度である。したがって(Ω0k,2Ω0k,P0(k))は§E13.11 定義 1.1の有限確率空間である。
- 射影の族(π1,…,πk)は§E11.7 定義 1.1の意味で相互独立である。
証明.(1)を示す。kについての数学的帰納法(§D2.1 命題 1.2)による。
k=1のとき、C=B1でありP0(1)(B1)=∑ρ1∈B1P0({ρ1})=P0(B1)である。
k≥2とし、k−1で主張が成り立つとする。写像ρ↦((ρ1,…,ρk−1),ρk)はΩ0kからΩ0k−1×Ω0への全単射であり、CをC′×Bkへ写す。ここでC′={σ∈Ω0k−1: σi∈Bi (i=1,…,k−1)}である。この全単射で和を書き換え、各項の積を最後の因子と残りの因子へ分けるとP0(k)(C)=∑σ∈C′ ∑ρk∈Bk(∏i=1k−1P0({σi}))P0({ρk})=(∑σ∈C′∏i=1k−1P0({σi}))(∑ρk∈BkP0({ρk}))となる。ここでは有限和の入れ替えと分配法則だけを用いた。第一の因子はP0(k−1)(C′)であり、帰納法の仮定より∏i=1k−1P0(Bi)に等しい。第二の因子はP0(Bk)である。ゆえに主張の等式を得る。
(2)を示す。 各P0(k)({ρ})は非負実数の有限積であるから非負である。(1)をB1=⋯=Bk=Ω0に対して適用するとC=Ω0kであり、P0(k)(Ω0k)=∏i=1kP0(Ω0)=1である。事象の確率をその元の一点集合の確率の和で定めたのでP0(k)は有限加法的であり、Ω0kが有限集合であるから可算加法性は有限加法性に帰着する。ゆえにP0(k)は確率測度である。
(3)を示す。Ω0の元は実数とは限らないので、§E11.7 定義 1.1 (2)、すなわち部分シグマ加法族の族の相互独立性の形で確かめる。第i射影πiが生成する部分シグマ加法族はGi={πi−1(B): B⊆Ω0}である。Ω0kのすべての部分集合が事象であるからGi⊆2Ω0kであり、Giは逆像を取る操作が合併・補集合と可換であることからシグマ加法族である。
j≥1とし、相異なる添字i1,…,ij∈{1,…,k}とBi1,…,Bij⊆Ω0を取る。残りの添字iについてはBi=Ω0と置くと⋂r=1jπir−1(Bir)={ρ: ρi∈Bi (i=1,…,k)}であるから、(1)より、この事象の確率は∏i=1kP0(Bi)=∏r=1jP0(Bir)である。ここでP0(Ω0)=1を用いた。他方、(1)を一つの添字に対して適用するとP0(k)(πir−1(Bir))=P0(Bir)であるから、両者は一致する。ゆえに射影の族は相互独立である。▨
3 Las Vegas 型と Monte Carlo 型
乱択アルゴリズムの保証の型は二つに分かれる。出力の正しさを常に保証して実行時間を確率変数として扱う型と、実行時間を確定させて誤答の確率を抑える型である。
定義 3.1.f:X→Yを計算したい写像とし、(A,T,R)を定義 1.1の乱択アルゴリズムとする。(1)と(2)では入力x∈Xを一つ固定し、そのxについての性質を述べる。(3)では入力を固定せず、Xのすべての元にわたる量化を含む性質を述べる。
- Aがxにおいて Las Vegas 型 (Las Vegas algorithm) であるとは、すべてのr∈RについてA(x,r)=f(x)が成り立つことをいう。このとき出力は常に正しく、T(x,⋅)が確率変数として変動する。E[T(x,⋅)]を xにおける期待実行時間 (expected running time at an input) という。
- η∈[0,1)とする。Aがxにおいて誤り確率ηの Monte Carlo 型 (Monte Carlo algorithm with error probability eta) であるとは、PR(A(x,⋅)=f(x))≤ηが成り立つことをいう。この型では、T(x,r)のrについての最大値を実行時間の保証として用いる。
- L⊆Xを判定問題とし、f(x)=1(x∈Lのとき)、f(x)=0(x∈/Lのとき)とする。δ∈(0,1]とする。Aが Lに対する成功確率δの一側誤りアルゴリズム (one-sided error algorithm with success probability delta) であるとは、次の二条件が成り立つことをいう。
- x∈/Lを満たすすべてのxと、すべてのr∈RについてA(x,r)=0である。
- x∈Lを満たすすべてのxについてPR(A(x,⋅)=1)≥δである。
すなわち、答が0である入力では決して誤らず、答が1である入力でのみ誤りうる。
注意 3.2 (二つの型で何を保証するかが異なること). Las Vegas 型では、出力の正しさが乱数によらないので、§D2.8 定理 1.2の意味の部分正当性は乱数を含まない議論で確かめることができる。確率が関わるのは実行時間だけである。
Monte Carlo 型では逆に、実行時間が乱数によらず抑えられ、正しさだけが確率的である。誤り確率ηの保証は、その入力についてアルゴリズムを一度実行したときの保証であり、同じ入力に対して何度実行しても同じ誤った答が返る可能性を排除しない。この可能性を減らす方法が、独立な乱数による反復である。
4 検証可能な出力を得るまでの再試行
正しさを検証することができる試行を、成功するまで繰り返す手続きを扱う。まず試行回数の確率空間を定め、そのうえでこの型の手続きと、それに対する Las Vegas 性を定義する。
定義 4.1.θ∈(0,1]とする。標本空間をΩθ={1,2,3,…}、事象の全体を2ΩθとしPθ({k})=(1−θ)k−1θ(k≥1),Pθ(C)=∑k∈CPθ({k})(C⊆Ωθ)と定める。N:Ωθ→Z≥1をN(k)=kと定め、最初の成功までの試行回数 (number of trials until first success) という。
事象の全体を全冪集合2Ωθに取ったので、ΩθからRへの任意の写像は、どの Borel 集合の逆像もΩθの部分集合として2Ωθに属することから§E9.5 定義 1.1の意味で可測であり、確率変数である。Nも、以下でNから作る写像も、いずれもこの理由で確率変数である。Ωθは可算無限集合であるから、§E13.11 命題 1.2 (2)をこの確率空間へ適用することはできない。
この定義で現れる無限和は、すべての項が非負であるから、有限部分和の全体の上限として定めることができる。上限は和を取る順序に依存しないので、Pθ(C)はCの元の番号づけによらずに定まる。
命題 4.2.θ∈(0,1]とする。
- Pθは(Ωθ,2Ωθ)上の確率測度である。
- 整数j≥0に対しPθ(N>j)=(1−θ)jが成り立つ。
- 各回の試行を、成功する確率がθである§E13.11 定義 1.1の有限確率空間Ω0上の事象Bが起こることとして表す。すなわちP0(B)=θとする。このとき、定義 2.1のj回の独立反復の確率空間において、最初のj回がすべて失敗する事象の確率は(1−θ)jであり、(2)の値と一致する。
証明.(2)を先に示す。。j≥0を整数とし、q=1−θと置く。θ=1のときはq=0であり、Pθ({1})=1、k≥2でPθ({k})=0である。したがってj=0ではPθ(N>0)=1=00、j≥1ではPθ(N>j)=0=0jであり、いずれも主張の形になる。ここで00=1という規約を用いた。
θ∈(0,1)のときq∈(0,1)である。kをk=j+i(i≥1)と書き換えるとPθ(N>j)=∑k=j+1∞qk−1θ=∑i=1∞qj+i−1θ=θqj∑i=1∞qi−1である。§B1.9 定理 4.1を初項1、公比qに対して適用すると、最後の和は1−q1=θ1である。ゆえにPθ(N>j)=θqj⋅θ1=qjである。
(1)を示す。 各点の確率は非負である。(2)をj=0に対して適用するとPθ(Ωθ)=Pθ(N>0)=1である。またPθ(∅)=0である。
可算加法性を確かめる。C1,C2,…を二つずつ交わらない事象とし、C=⋃l≥1Clと置く。
第一に、二つの量をそれぞれ上限として書き直す。項がすべて非負である族の総和は、その族の有限部分族についての和の全体の上限に等しい。したがってPθ(C)は、集合S={∑k∈FPθ({k}) : F⊆C, F は有限}の上限である。同じ理由を二重に適用すると、∑l≥1Pθ(Cl)は、集合T={∑i=1r∑k∈FiPθ({k}) : r≥0, l1<⋯<lr, Fi⊆Cli は有限}の上限である。
第二に、S=Tを示す。F⊆Cを有限集合とする。Clが二つずつ交わらないので、Fの各元はちょうど一つのClに属し、FはF∩Clたちの二つずつ交わらない合併へ一意に分解される。Fは有限であるからF∩Cl=∅となるlは有限個であり、それらをl1<⋯<lr、Fi=F∩Cliと置くと∑k∈FPθ({k})=∑i=1r∑k∈FiPθ({k})である。ゆえにS⊆Tである。逆に、l1<⋯<lrと有限集合Fi⊆Cliが与えられたとき、F=⋃i=1rFiはCの有限部分集合であり、Fiたちは二つずつ交わらないから∑i=1r∑k∈FiPθ({k})=∑k∈FPθ({k})である。ゆえにT⊆Sである。
二つの集合が一致するので上限も一致し、Pθ(C)=∑l≥1Pθ(Cl)である。したがってPθは§E9.2 定義 1.1の意味の測度であり、全体の確率が1であるから確率測度である。
(3)を示す。命題 2.2 (1)をB1=⋯=Bj=Ω0∖Bに対して適用すると、最初のj回がすべて失敗する事象の確率はP0(Ω0∖B)j=(1−θ)jである。▨
この確率空間の上で、成功するまで繰り返す型の手続きを定義する。この型の手続きは定義 1.1の乱択アルゴリズムではない。同定義では内部乱数の集合を一つの空でない有限集合とし、実行ステップ数を全域写像として要求するが、繰り返しの回数に上限が無い手続きは、乱数の列の取り方によっては停止しないので、どちらも満たさないからである。したがって定義 3.1 (1)をそのまま適用することができない。そこで、この型に対する Las Vegas 性を別に定める。
定義 4.3.f:X→Yを計算したい写像とし、入力x∈Xを一つ固定する。記号⊥は「今回の試行では出力を得なかった」ことを表すものとし、⊥∈/Yとする。
検証つき反復アルゴリズム (verified repetition algorithm) とは、空でない有限集合R0(一回の試行の内部乱数の集合)、写像g:R0→Y∪{⊥}、および正の整数cの組であって、次の三条件を満たすものが定める手続きをいう。
- (検証可能性)すべてのr∈R0について、g(r)=⊥ならばg(r)=f(x)である。
- (成功確率が正)R0上の一様分布をPR0と書くとき、θ=PR0({r∈R0: g(r)=⊥})がθ>0を満たす。
- (一回の費用の上界)一回の試行に要するステップ数は高々cである。
手続きは、PR0に従って独立にr1,r2,…を取り、g(ri)=⊥となる最小のiにおいてg(ri)を出力して停止する。
この手続きが Las Vegas 型である (Las Vegas property) とは、条件 (a)、すなわち出力を得たときにその値が必ずf(x)に等しいことをいう。定義より、検証つき反復アルゴリズムはつねに Las Vegas 型である。
試行回数は、定義 4.1の確率空間(Ωθ,2Ωθ,Pθ)の上の確率変数Nとして扱う。この扱いが正しいことは命題 4.2 (3)による。すなわち、Ω0=R0、B={r: g(r)=⊥}として得られる有限回の独立反復の確率と、Pθによる確率が一致する。E[N]を期待試行回数 (expected number of trials) という。
注意 4.4 (標本空間に「永久に失敗する」結果を置かないこと).定義 4.1の標本空間は正の整数の全体であり、「どの試行も成功しない」という結果を含まない。この置き方が妥当であることは命題 4.2 (3)により示される。すなわち、有限回の反復について計算した確率が、この可算な確率空間で計算した確率と一致する。
同時に、この置き方は次のことも示している。定義 4.3の手続きには、§D2.8 命題 1.4の意味で各反復ごとに狭義に減少する非負整数値の変量が存在しない。実際、乱数の列の取り方によっては反復が何度でも続きうる。停止についての主張は変量による議論ではなく、Pθ(N>j)=(1−θ)jがjを大きくすると0へ近づくこと(§B1.7 定理 2.1)として述べられる。
4.1 証明方針
E[N]を求める。Nは非負の値を取るが、Ωθが無限集合であるため、期待値を有限和として書き下すことはできない。そこでNを最初のm点に制限した確率変数Nmを作る。Nmは有限個の値しか取らない非負単関数であるから、その積分は§E9.6 命題 1.2によって有限和として計算することができる。Nmは各点で単調非減少にNへ収束するので、§E9.7 定理 1.1により積分も収束し、E[N]は無限級数∑k≥1k(1−θ)k−1θの和として表される。
この級数の値は、θ∈(0,1)の場合には§E11.5 補題 1.1により得られる∑k≥0kqk=q/(1−q)2から得られる。両辺をqで割って添字をずらすと∑k≥1kqk−1=1/θ2となり、θを掛けてE[N]=1/θを得る。θ=1の場合にはq=0であるから、同じ級数のk≥2の項がすべて消えて部分和が1になる。いずれの場合も同じNmと単調収束定理の議論を経由し、場合分けは級数の値を求める段階だけで行う。
定理 4.5.θ∈(0,1]とし、定義 4.1の確率空間を取る。このときNは可積分でありE[N]=θ1が成り立つ。
さらに、cを正の整数とし、S:Ωθ→Z≥0を、各点で0≤S≤cNを満たす確率変数とする。このときE[S]≤c/θが成り立つ。一回の試行に要するステップ数が高々cである定義 4.3の検証つき反復アルゴリズムにおいて、成功するまでの総ステップ数を表す確率変数は、この条件を満たす。
証明.q=1−θと置く。θ∈(0,1]よりq∈[0,1)である。整数m≥1に対しNm=N⋅1{1,…,m}と定める。Nmは値0,1,…,mしか取らない非負単関数である。§E9.6 命題 1.2を、Ωθの互いに交わらない分割{1},{2},…,{m},{m+1,m+2,…}と係数1,2,…,m,0に対して適用すると∫ΩθNmdPθ=∑k=1mkPθ({k})=∑k=1mkqk−1θである。ここで、この分割と係数により定められる関数はちょうどNmであってNではないことに注意する。Nはk>mでも値kを取るからである。
各点k∈Ωθについて、m≤m′ならばNm(k)≤Nm′(k)であり、m≥kのときNm(k)=k=N(k)である。したがって(Nm)m≥1は各点で単調非減少であり、その上限はNである。§E9.7 定理 1.1を適用するとE[N]=∫ΩθNdPθ=limm→∞∑k=1mkqk−1θである。ここまでの議論はθ∈(0,1]の全体について成り立ち、θ=1を除外していない。
級数の値を求める(θ=1の場合)。q=0である。k=1の項は1⋅q0⋅θ=1であり(00=1という命題 4.2の証明と同じ規約による)、k≥2の項はqk−1=0であるから0である。ゆえにすべてのm≥1について部分和は1に等しく、E[N]=1=1/θである。
級数の値を求める(θ∈(0,1)の場合)。q∈(0,1)である。上の極限はθ∑k=1∞kqk−1と書くことができる。§E11.5 補題 1.1よりk=0∑∞kqk=(1−q)2q=θ2qである。左辺のk=0の項は0であるから∑k=1∞kqk=q/θ2であり、各部分和をq>0で割って極限を取ると∑k=1∞kqk−1=θ21である。ゆえにE[N]=θ⋅θ21=θ1である。
いずれの場合もE[N]=1/θは有限であるから、§E11.4 定義 1.1の意味でNは可積分である。
総費用。cNは可積分であるから、§E11.4 命題 1.2をX=N、Y=0、a=c、b=0に対して適用してE[cN]=cE[N]=c/θである。仮定より各点で0≤S≤cNであり、SとcNはいずれも非負の値を取る確率変数であるから、§E9.6 命題 2.2をf=S、g=cNに対して適用してE[S]≤E[cN]=c/θである。とくにE[S]は有限であるから、Sは§E11.4 定義 1.1の意味で可積分である。▨
例 4.6.S={1,2,3,4,5,6}とし、Qを「3の倍数でも1でも4でもない」という述語とする。Qを満たす元は2と5の二つであるから、T={2,5}、∣T∣=2、∣S∣=6である。
次の手続きを考える。Sから一様にランダムに元sを選び、Q(s)を判定する。真ならばsを出力して停止し、偽ならば繰り返す。
この手続きを定義 4.3の枠へ収める。Y=Sとし、計算したい写像fの値を「Qを満たすSの元」と定める。R0=Sとし、g:R0→Y∪{⊥}を、Q(r)が真のときg(r)=r、偽のときg(r)=⊥と定める。Qの判定に要するステップ数の上界をcとする。反復の回数に上限が無いので、この手続きは定義 1.1の乱択アルゴリズムではなく、定義 3.1 (1)を直接適用することはできない。
Las Vegas 型であること。g(r)=⊥ならばQ(r)は真であり、g(r)=rはfの値の条件を満たす。すなわち検証可能性が成り立つ。ゆえに定義 4.3の意味で Las Vegas 型である。
一回の成功確率。θ=PR0(g=⊥)=∣T∣/∣S∣=2/6=1/3である。θ>0であり、成功確率が正であるという条件も満たされる。
期待試行回数。定理 4.5よりE[N]=1/θ=3である。
分布の値を手計算で確かめる。q=1−θ=2/3としてPθ(N=1)=31=279,Pθ(N=2)=32⋅31=92=276,Pθ(N=3)=94⋅31=274である。したがってPθ(N≤3)=279+6+4=2719である。他方命題 4.2 (2)よりPθ(N>3)=(2/3)3=8/27であり、19/27+8/27=27/27=1で整合する。
期待値の部分和による検算。K回で打ち切ったときの試行回数min(N,K)の期待値を計算する。min(N,K)=∑j=0K−11{N>j}が各点で成り立つ。実際、N(k)=k≤Kのときは右辺のj=0,…,k−1の項が1、他が0で和はkであり、N(k)>KのときはK個すべての項が1で和はKである。ゆえに命題 4.2 (2)よりE[min(N,K)]=∑j=0K−1(32)jである。K=3では1+32+94=99+6+4=919=2.111…であり、K=6では243243+162+108+72+48+32=243665=2.736…である。いずれもE[N]=3より小さく、Kを大きくすると3へ近づいている。実際§B1.1 公式 2.4より∑j=0K−1(2/3)j=3(1−(2/3)K)であり、K=6では3(1−64/729)=3⋅729665=243665で一致する。
期待総費用。Qの判定に高々cステップを要するとすると、総ステップ数を表す確率変数Sは各点で0≤S≤cNを満たす。定理 4.5の後半よりE[S]≤c/θ=3cである。
5 一側誤りの独立反復による誤り確率の減少
一側誤りをもつ Monte Carlo 型アルゴリズムは、答が0である入力では決して誤らない。したがって、独立な乱数で何度か実行して一度でも1が出れば、その答は正しい。誤りうるのは、答が1である入力に対してすべての回が0を返す場合だけである。
5.1 証明方針
k回の独立反復の確率空間を定義 2.1で取り、反復アルゴリズムの出力を各回の出力の最大値と定める。
答が0である入力では、各回の出力がすべて0であるから、最大値も0であり、誤りは起こらない。したがって一側誤りという性質は反復によって保たれる。
答が1である入力では、反復アルゴリズムが0を出力する事象は、各回が0を出力する事象の直積である。命題 2.2 (1)を、各成分を「一回の実行で0が出る」という事象に取って適用すると、その確率は各回の確率のk乗になる。一回の確率は1−δ以下であるから、k乗は(1−δ)k以下である。
最後に、(1−δ)kがkを大きくすると0へ近づくことから、任意に与えられた誤り確率の上限を達成する反復回数が存在することを示す。
定理 5.1.L⊆Xを判定問題とし、(A,T,R)を定義 3.1 (3)の意味でLに対する成功確率δ∈(0,1]の一側誤りアルゴリズムとする。整数k≥1に対し、ρ=(ρ1,…,ρk)∈Rkを内部乱数とするアルゴリズムA(k)をA(k)(x,ρ)=max1≤i≤kA(x,ρi),T(k)(x,ρ)=∑i=1kT(x,ρi)で定める。Rkには定義 2.1の確率測度PR(k)を入れる。このとき次が成り立つ。
- x∈/Lを満たすすべてのxと、すべてのρ∈RkについてA(k)(x,ρ)=0である。
- x∈Lを満たすすべてのxについてPR(k)(A(k)(x,⋅)=0)≤(1−δ)kが成り立つ。すなわちA(k)はLに対する成功確率1−(1−δ)kの一側誤りアルゴリズムである。
- 任意のη∈(0,1)に対し、整数k≥1が存在して(1−δ)k≤ηが成り立つ。そのkに対しA(k)の誤り確率はη以下である。
- T(k)(x,ρ)≤kmaxr∈RT(x,r)が成り立つ。すなわち反復による実行時間の増加は高々k倍である。
証明.(1)を示す。x∈/Lとする。定義 3.1 条件 (a)より、すべてのr∈RについてA(x,r)=0である。ゆえにρ∈Rkに対しA(x,ρi)=0が各iで成り立ち、その最大値も0である。
(2)を示す。x∈Lとする。Aの出力は0または1であるから、A(k)(x,ρ)=0であることと、すべてのiについてA(x,ρi)=0であることは同値である。B={r∈R: A(x,r)=0}と置くと{ρ∈Rk: A(k)(x,ρ)=0}={ρ: ρi∈B (i=1,…,k)}である。命題 2.2 (1)をB1=⋯=Bk=Bに対して適用するとPR(k)(A(k)(x,⋅)=0)=PR(B)kである。定義 3.1 条件 (b)よりPR(A(x,⋅)=1)≥δであり、Bはその補事象であるからPR(B)≤1−δである。0≤PR(B)≤1−δでありt↦tkは[0,∞)上で単調非減少であるからPR(B)k≤(1−δ)kである。
(1)とあわせると、A(k)はx∈/Lで決して1を出力せず、x∈Lで1を出力する確率が1−(1−δ)k以上であるから、成功確率1−(1−δ)kの一側誤りアルゴリズムである。
(3)を示す。δ=1のときは1−δ=0であり、k=1で(1−δ)1=0≤ηである。δ∈(0,1)のときは0<1−δ<1であるから、§B1.7 定理 2.1 (3)より(1−δ)k→0(k→∞)である。したがって、η>0に対して整数kが存在して(1−δ)k≤ηが成り立つ。このkに対し(2)より誤り確率はη以下である。
(4)を示す。M=maxr∈RT(x,r)と置く。Rは空でない有限集合であるからこの最大値は定まる。各iについてT(x,ρi)≤Mであるから、k個の和はkM以下である。▨
例 5.2.S={1,2,3,4,5,6}と述語Qを例 4.6と同じに取り、T={s∈S: Q(s)}={2,5}とする。判定問題を「与えられたSとQに対してT=∅であるか」とする。
アルゴリズムAは次のとおりである。Sから一様にランダムにrを選び、Q(r)が真ならば1、偽ならば0を出力する。
一側誤りであること。T=∅ならば、どのrについてもQ(r)は偽であるから、Aは常に0を出力する。T=∅のとき、Aが1を出力する確率は∣T∣/∣S∣である。いまの入力では2/6=1/3であるから、成功確率δ=1/3の一側誤りアルゴリズムである。
五回の反復。定理 5.1 (2)より、k=5のときの誤り確率の上界は(1−31)5=(32)5=3525=24332=0.131687…である。35=243と25=32は直接計算した値である。
誤り確率を1/100以下にする反復回数。(2/3)k≤1/100を満たす最小のkを求める。(32)11=1771472048=0.011561…,(32)12=5314414096=0.007707…である。ここで311=177147、312=531441、211=2048、212=4096である。0.011561>0.01かつ0.007707<0.01であるから、求める最小のkは12である。
実行時間との対比。Qの判定に高々cステップを要するとすると、A(12)の実行時間は定理 5.1 (4)より12c以下である。すなわち、実行時間を定数倍だけ増やして誤り確率を2/3から1/100以下へ下げている。誤り確率をη以下にするための反復回数はηを小さくするにつれて増えるが、その増え方は1/ηに比例するのではなく、(2/3)kという幾何的な減少の逆であるから、ηを10分の1にするごとに一定数の反復を加えれば足りる。実際、(2/3)6=64/729=0.087791…であり、6回の反復ごとに誤り確率が1/10以下の割合になる。
6 演習
問題 6.1.
- 命題 2.2 (1)の証明を、k=3の場合について帰納法の形を使わずに書き下せ。分配法則を用いる箇所を明示せよ。
- 命題 2.2 (3)の証明で、残りの添字についてBi=Ω0と置いた。この置き換えが命題 2.2 (1)の適用を可能にする理由と、P0(Ω0)=1が最後にどのように用いられるかを述べよ。
- 命題 4.2 (2)の証明をθ∈(0,1)の場合について再現せよ。θ=1の場合を別に扱う必要がある理由を、q=0のときの等比級数の扱いに注目して述べよ。
- 定理 4.5の証明で、Nmを導入せずにE[N]を直接無限和として書くことができない理由を、§E9.6 定義 1.1が非負単関数についての定義であることに即して述べよ。
- 定理 4.5の証明を修正して、E[N2]を求めよ。§E11.5 式 (1.1.2)を用いること。得られた値からVar(N)を計算せよ。
- 例 4.6で用いた各点の等式min(N,K)=∑j=0K−11{N>j}を、N(k)≤Kの場合とN(k)>Kの場合に分けて証明せよ。この等式と命題 4.2 (2)からE[min(N,K)]の閉じた式を導け。
- 定理 5.1 (2)の証明を、A(k)の出力を最大値ではなく「一度でも1が出たら1」と言い換えた形で再現せよ。この二つの定め方が一致することを、Aの出力が0と1に限ることから示せ。
- 定理 5.1を、両側に誤りをもつアルゴリズムへそのまま適用することができない理由を指摘せよ。x∈/Lのときにも誤りうるアルゴリズムでは、定理 5.1 (1)の結論がどこで破綻するかを述べよ。
- 定理 5.1 (3)の証明では§B1.7 定理 2.1を用いた。同じ結論を、δ∈(0,1)に対し(1−δ)k≤1+kδ′1となるようなδ′を見つける形で導くことを試み、どのような不等式が必要になるかを述べよ。
- 例 4.6の手続きを、試行回数をK回で打ち切り、K回とも失敗したときはSの任意の元を出力する手続きへ変える。この打ち切り版が定義 1.1の乱択アルゴリズムであることを、内部乱数の集合をR=SKと取って確かめよ。とくに、打ち切り版は実行ステップ数が全域で定まる点が、定義 4.3の打ち切り無しの手続きと異なることを述べよ。そのうえで、打ち切り版が定義 3.1 (1)と定義 3.1 (2)のどちらの型になるかを述べ、その誤り確率をKで表せ。
注意 6.2. 両側に誤りをもつアルゴリズムを多数決によって改良する議論、確率的計算量クラス、および乱択によって最悪計算量そのものを下げるアルゴリズムは、本記事では扱っていない。乱数の質、すなわち擬似乱数の生成についても扱っていない。