1 内部乱数の確率空間
定義 1.1. X \mathcal X X を入力の集合、Y \mathcal Y Y を出力の集合とする。乱択アルゴリズム (randomized algorithm ) とは、空でない有限集合R R R (内部乱数の集合 (set of internal random choices ) )と二つの写像A : X × R → Y , T : X × R → Z ≥ 0 A:\mathcal X\times R\to\mathcal Y,\qquad T:\mathcal X\times R\to\mathbb Z_{\ge0} A : X × R → Y , T : X × R → Z ≥ 0 の組をいう。A ( x , r ) A(x,r) A ( x , r ) は、内部乱数としてr r r を用いたときの出力を表し、T ( x , r ) T(x,r) T ( x , r ) はそのときの実行ステップ数を表す。
入力x ∈ X x\in\mathcal X x ∈ X を一つ固定する 。R R R 上の一様分布をP R ( { r } ) = 1 ∣ R ∣ ( r ∈ R ) , P R ( B ) = ∣ B ∣ ∣ R ∣ ( B ⊆ R ) \mathbb P_R(\{r\})=\frac{1}{\lvert R\rvert}\quad(r\in R),\qquad \mathbb P_R(B)=\frac{\lvert B\rvert}{\lvert R\rvert}\quad(B\subseteq R) P R ({ r }) = ∣ R ∣ 1 ( r ∈ R ) , P R ( B ) = ∣ R ∣ ∣ B ∣ ( B ⊆ R ) と定めると、( R , 2 R , P R ) (R,2^{R},\mathbb P_R) ( R , 2 R , P R ) は§E13.11 定義 1.1 の有限確率空間である。x x x を固定したとき、r ↦ A ( x , r ) r\mapsto A(x,r) r ↦ A ( x , r ) とr ↦ T ( x , r ) r\mapsto T(x,r) r ↦ T ( x , r ) はこの確率空間の上の確率変数である。前者をA ( x , ⋅ ) A(x,\cdot) A ( x , ⋅ ) 、後者をT ( x , ⋅ ) T(x,\cdot) T ( x , ⋅ ) と書く。
2 有限回の独立反復
同じ乱択アルゴリズムをk k k 回、毎回新しい乱数を用いて実行する状況を、直積確率空間として書き下す。
定義 2.1. ( Ω 0 , 2 Ω 0 , P 0 ) (\Omega_0,2^{\Omega_0},\mathbb P_0) ( Ω 0 , 2 Ω 0 , P 0 ) を§E13.11 定義 1.1 の有限確率空間とし、k ≥ 1 k\ge1 k ≥ 1 を整数とする。標本空間をΩ 0 k \Omega_0^{k} Ω 0 k 、すなわち長さk k k の列ρ = ( ρ 1 , … , ρ k ) \rho=(\rho_1,\dots,\rho_k) ρ = ( ρ 1 , … , ρ k ) (各ρ i ∈ Ω 0 \rho_i\in\Omega_0 ρ i ∈ Ω 0 )の全体とし、事象の全体を2 Ω 0 k 2^{\Omega_0^{k}} 2 Ω 0 k とする。各ρ ∈ Ω 0 k \rho\in\Omega_0^{k} ρ ∈ Ω 0 k に対してP 0 ( k ) ( { ρ } ) = ∏ i = 1 k P 0 ( { ρ i } ) \mathbb P_0^{(k)}(\{\rho\})=\prod_{i=1}^{k}\mathbb P_0(\{\rho_i\}) P 0 ( k ) ({ ρ }) = ∏ i = 1 k P 0 ({ ρ i }) と定め、事象C ⊆ Ω 0 k C\subseteq\Omega_0^{k} C ⊆ Ω 0 k に対してP 0 ( k ) ( C ) = ∑ ρ ∈ C P 0 ( k ) ( { ρ } ) \mathbb P_0^{(k)}(C)=\sum_{\rho\in C}\mathbb P_0^{(k)}(\{\rho\}) P 0 ( k ) ( C ) = ∑ ρ ∈ C P 0 ( k ) ({ ρ }) と定める。各i i i に対しπ i ( ρ ) = ρ i \pi_i(\rho)=\rho_i π i ( ρ ) = ρ i で定まる写像を第i i i 射影 (coordinate projection ) という。
命題 2.2. 定義 2.1 の記号のもとで、次が成り立つ。
B 1 , … , B k ⊆ Ω 0 B_1,\dots,B_k\subseteq\Omega_0 B 1 , … , B k ⊆ Ω 0 に対し、事象C = { ρ ∈ Ω 0 k : ρ i ∈ B i ( i = 1 , … , k ) } C=\{\rho\in\Omega_0^{k}:\ \rho_i\in B_i\ (i=1,\dots,k)\} C = { ρ ∈ Ω 0 k : ρ i ∈ B i ( i = 1 , … , k )} の確率はP 0 ( k ) ( C ) = ∏ i = 1 k P 0 ( B i ) \mathbb P_0^{(k)}(C)=\prod_{i=1}^{k}\mathbb P_0(B_i) P 0 ( k ) ( C ) = ∏ i = 1 k P 0 ( B i ) である。
P 0 ( k ) \mathbb P_0^{(k)} P 0 ( k ) は確率測度である。したがって( Ω 0 k , 2 Ω 0 k , P 0 ( k ) ) (\Omega_0^{k},2^{\Omega_0^{k}},\mathbb P_0^{(k)}) ( Ω 0 k , 2 Ω 0 k , P 0 ( k ) ) は§E13.11 定義 1.1 の有限確率空間である。
射影の族( π 1 , … , π k ) (\pi_1,\dots,\pi_k) ( π 1 , … , π k ) は§E11.7 定義 1.1 の意味で相互独立である。
証明. (1) を示す。k k k についての数学的帰納法(§D2.1 命題 1.2 )による。
k = 1 k=1 k = 1 のとき、C = B 1 C=B_1 C = B 1 でありP 0 ( 1 ) ( B 1 ) = ∑ ρ 1 ∈ B 1 P 0 ( { ρ 1 } ) = P 0 ( B 1 ) \mathbb P_0^{(1)}(B_1)=\sum_{\rho_1\in B_1}\mathbb P_0(\{\rho_1\})=\mathbb P_0(B_1) P 0 ( 1 ) ( B 1 ) = ∑ ρ 1 ∈ B 1 P 0 ({ ρ 1 }) = P 0 ( B 1 ) である。
k ≥ 2 k\ge2 k ≥ 2 とし、k − 1 k-1 k − 1 で主張が成り立つとする。写像ρ ↦ ( ( ρ 1 , … , ρ k − 1 ) , ρ k ) \rho\mapsto((\rho_1,\dots,\rho_{k-1}),\rho_k) ρ ↦ (( ρ 1 , … , ρ k − 1 ) , ρ k ) はΩ 0 k \Omega_0^{k} Ω 0 k からΩ 0 k − 1 × Ω 0 \Omega_0^{k-1}\times\Omega_0 Ω 0 k − 1 × Ω 0 への全単射であり、C C C をC ′ × B k C'\times B_k C ′ × B k へ写す。ここでC ′ = { σ ∈ Ω 0 k − 1 : σ i ∈ B i ( i = 1 , … , k − 1 ) } C'=\{\sigma\in\Omega_0^{k-1}:\ \sigma_i\in B_i\ (i=1,\dots,k-1)\} C ′ = { σ ∈ Ω 0 k − 1 : σ i ∈ B i ( i = 1 , … , k − 1 )} である。この全単射で和を書き換え、各項の積を最後の因子と残りの因子へ分けるとP 0 ( k ) ( C ) = ∑ σ ∈ C ′ ∑ ρ k ∈ B k ( ∏ i = 1 k − 1 P 0 ( { σ i } ) ) P 0 ( { ρ k } ) = ( ∑ σ ∈ C ′ ∏ i = 1 k − 1 P 0 ( { σ i } ) ) ( ∑ ρ k ∈ B k P 0 ( { ρ k } ) ) \mathbb P_0^{(k)}(C)=\sum_{\sigma\in C'}\ \sum_{\rho_k\in B_k}\left(\prod_{i=1}^{k-1}\mathbb P_0(\{\sigma_i\})\right)\mathbb P_0(\{\rho_k\}) =\left(\sum_{\sigma\in C'}\prod_{i=1}^{k-1}\mathbb P_0(\{\sigma_i\})\right)\left(\sum_{\rho_k\in B_k}\mathbb P_0(\{\rho_k\})\right) P 0 ( k ) ( C ) = ∑ σ ∈ C ′ ∑ ρ k ∈ B k ( ∏ i = 1 k − 1 P 0 ({ σ i }) ) P 0 ({ ρ k }) = ( ∑ σ ∈ C ′ ∏ i = 1 k − 1 P 0 ({ σ i }) ) ( ∑ ρ k ∈ B k P 0 ({ ρ k }) ) となる。ここでは有限和の入れ替えと分配法則だけを用いた。第一の因子はP 0 ( k − 1 ) ( C ′ ) \mathbb P_0^{(k-1)}(C') P 0 ( k − 1 ) ( C ′ ) であり、帰納法の仮定より∏ i = 1 k − 1 P 0 ( B i ) \prod_{i=1}^{k-1}\mathbb P_0(B_i) ∏ i = 1 k − 1 P 0 ( B i ) に等しい。第二の因子はP 0 ( B k ) \mathbb P_0(B_k) P 0 ( B k ) である。ゆえに主張の等式を得る。
(2) を示す。 各P 0 ( k ) ( { ρ } ) \mathbb P_0^{(k)}(\{\rho\}) P 0 ( k ) ({ ρ }) は非負実数の有限積であるから非負である。(1) をB 1 = ⋯ = B k = Ω 0 B_1=\dots=B_k=\Omega_0 B 1 = ⋯ = B k = Ω 0 に対して適用するとC = Ω 0 k C=\Omega_0^{k} C = Ω 0 k であり、P 0 ( k ) ( Ω 0 k ) = ∏ i = 1 k P 0 ( Ω 0 ) = 1 \mathbb P_0^{(k)}(\Omega_0^{k})=\prod_{i=1}^{k}\mathbb P_0(\Omega_0)=1 P 0 ( k ) ( Ω 0 k ) = ∏ i = 1 k P 0 ( Ω 0 ) = 1 である。事象の確率をその元の一点集合の確率の和で定めたのでP 0 ( k ) \mathbb P_0^{(k)} P 0 ( k ) は有限加法的であり、Ω 0 k \Omega_0^{k} Ω 0 k が有限集合であるから可算加法性は有限加法性に帰着する。ゆえにP 0 ( k ) \mathbb P_0^{(k)} P 0 ( k ) は確率測度である。
(3) を示す。Ω 0 \Omega_0 Ω 0 の元は実数とは限らないので、§E11.7 定義 1.1 の (2)、すなわち部分シグマ加法族の族の相互独立性の形で確かめる。第i i i 射影π i \pi_i π i が生成する部分シグマ加法族はG i = { π i − 1 ( B ) : B ⊆ Ω 0 } \mathcal G_i=\{\pi_i^{-1}(B):\ B\subseteq\Omega_0\} G i = { π i − 1 ( B ) : B ⊆ Ω 0 } である。Ω 0 k \Omega_0^{k} Ω 0 k のすべての部分集合が事象であるからG i ⊆ 2 Ω 0 k \mathcal G_i\subseteq2^{\Omega_0^{k}} G i ⊆ 2 Ω 0 k であり、G i \mathcal G_i G i は逆像を取る操作が合併・補集合と可換であることからシグマ加法族である。
j ≥ 1 j\ge1 j ≥ 1 とし、相異なる添字i 1 , … , i j ∈ { 1 , … , k } i_1,\dots,i_j\in\{1,\dots,k\} i 1 , … , i j ∈ { 1 , … , k } とB i 1 , … , B i j ⊆ Ω 0 B_{i_1},\dots,B_{i_j}\subseteq\Omega_0 B i 1 , … , B i j ⊆ Ω 0 を取る。残りの添字i i i についてはB i = Ω 0 B_i=\Omega_0 B i = Ω 0 と置くと⋂ r = 1 j π i r − 1 ( B i r ) = { ρ : ρ i ∈ B i ( i = 1 , … , k ) } \bigcap_{r=1}^{j}\pi_{i_r}^{-1}(B_{i_r})=\{\rho:\ \rho_i\in B_i\ (i=1,\dots,k)\} ⋂ r = 1 j π i r − 1 ( B i r ) = { ρ : ρ i ∈ B i ( i = 1 , … , k )} であるから、(1) より、この事象の確率は∏ i = 1 k P 0 ( B i ) = ∏ r = 1 j P 0 ( B i r ) \prod_{i=1}^{k}\mathbb P_0(B_i)=\prod_{r=1}^{j}\mathbb P_0(B_{i_r}) ∏ i = 1 k P 0 ( B i ) = ∏ r = 1 j P 0 ( B i r ) である。ここでP 0 ( Ω 0 ) = 1 \mathbb P_0(\Omega_0)=1 P 0 ( Ω 0 ) = 1 を用いた。他方、(1) を一つの添字に対して適用するとP 0 ( k ) ( π i r − 1 ( B i r ) ) = P 0 ( B i r ) \mathbb P_0^{(k)}(\pi_{i_r}^{-1}(B_{i_r}))=\mathbb P_0(B_{i_r}) P 0 ( k ) ( π i r − 1 ( B i r )) = P 0 ( B i r ) であるから、両者は一致する。ゆえに射影の族は相互独立である。▨
3 Las Vegas 型と Monte Carlo 型
乱択アルゴリズムの保証の型は二つに分かれる。出力の正しさを常に保証して実行時間を確率変数として扱う型と、実行時間を確定させて誤答の確率を抑える型である。
定義 3.1. f : X → Y f:\mathcal X\to\mathcal Y f : X → Y を計算したい写像とし、( A , T , R ) (A,T,R) ( A , T , R ) を定義 1.1 の乱択アルゴリズムとする。項 1 と項 2 では入力x ∈ X x\in\mathcal X x ∈ X を一つ固定し、そのx x x についての性質を述べる。項 3 では入力を固定せず、X \mathcal X X のすべての元にわたる量化を含む性質を述べる。
A A A がx x x において Las Vegas 型 (Las Vegas algorithm ) であるとは、すべてのr ∈ R r\in R r ∈ R についてA ( x , r ) = f ( x ) A(x,r)=f(x) A ( x , r ) = f ( x ) が成り立つことをいう。このとき出力は常に正しく、T ( x , ⋅ ) T(x,\cdot) T ( x , ⋅ ) が確率変数として変動する。E [ T ( x , ⋅ ) ] \mathbb E[T(x,\cdot)] E [ T ( x , ⋅ )] を x x x における期待実行時間 (expected running time at an input ) という。
η ∈ [ 0 , 1 ) \eta\in[0,1) η ∈ [ 0 , 1 ) とする。A A A がx x x において誤り確率η \eta η の Monte Carlo 型 (Monte Carlo algorithm with error probability eta ) であるとは、P R ( A ( x , ⋅ ) ≠ f ( x ) ) ≤ η \mathbb P_R\bigl(A(x,\cdot)\ne f(x)\bigr)\le\eta P R ( A ( x , ⋅ ) = f ( x ) ) ≤ η が成り立つことをいう。この型では、T ( x , r ) T(x,r) T ( x , r ) のr r r についての最大値を実行時間の保証として用いる。
L ⊆ X L\subseteq\mathcal X L ⊆ X を判定問題とし、f ( x ) = 1 f(x)=1 f ( x ) = 1 (x ∈ L x\in L x ∈ L のとき)、f ( x ) = 0 f(x)=0 f ( x ) = 0 (x ∉ L x\notin L x ∈ / L のとき)とする。δ ∈ ( 0 , 1 ] \delta\in(0,1] δ ∈ ( 0 , 1 ] とする。A A A が L L L に対する成功確率δ \delta δ の一側誤りアルゴリズム (one-sided error algorithm with success probability delta ) であるとは、次の二条件が成り立つことをいう。
x ∉ L x\notin L x ∈ / L を満たすすべてのx x x と、すべてのr ∈ R r\in R r ∈ R についてA ( x , r ) = 0 A(x,r)=0 A ( x , r ) = 0 である。
x ∈ L x\in L x ∈ L を満たすすべてのx x x についてP R ( A ( x , ⋅ ) = 1 ) ≥ δ \mathbb P_R(A(x,\cdot)=1)\ge\delta P R ( A ( x , ⋅ ) = 1 ) ≥ δ である。
すなわち、答が0 0 0 である入力では決して誤らず、答が1 1 1 である入力でのみ誤りうる。
注意 3.2 (二つの型で何を保証するかが異なること). Las Vegas 型では、出力の正しさが乱数によらないので、§D2.8 定理 1.2 の意味の部分正当性は乱数を含まない議論で確かめることができる。確率が関わるのは実行時間だけである。
Monte Carlo 型では逆に、実行時間が乱数によらず抑えられ、正しさだけが確率的である。誤り確率η \eta η の保証は、その入力についてアルゴリズムを一度実行したときの保証であり、同じ入力に対して何度実行しても同じ誤った答が返る可能性を排除しない。この可能性を減らす方法が、独立な乱数による反復である。
4 検証可能な出力を得るまでの再試行
正しさを検証することができる試行を、成功するまで繰り返す手続きを扱う。まず試行回数の確率空間を定め、そのうえでこの型の手続きと、それに対する Las Vegas 性を定義する。
定義 4.1. θ ∈ ( 0 , 1 ] \theta\in(0,1] θ ∈ ( 0 , 1 ] とする。標本空間をΩ θ = { 1 , 2 , 3 , … } \Omega_{\theta}=\{1,2,3,\dots\} Ω θ = { 1 , 2 , 3 , … } 、事象の全体を2 Ω θ 2^{\Omega_{\theta}} 2 Ω θ としP θ ( { k } ) = ( 1 − θ ) k − 1 θ ( k ≥ 1 ) , P θ ( C ) = ∑ k ∈ C P θ ( { k } ) ( C ⊆ Ω θ ) \mathbb P_{\theta}(\{k\})=(1-\theta)^{k-1}\theta\quad(k\ge1),\qquad \mathbb P_{\theta}(C)=\sum_{k\in C}\mathbb P_{\theta}(\{k\})\quad(C\subseteq\Omega_{\theta}) P θ ({ k }) = ( 1 − θ ) k − 1 θ ( k ≥ 1 ) , P θ ( C ) = ∑ k ∈ C P θ ({ k }) ( C ⊆ Ω θ ) と定める。N : Ω θ → Z ≥ 1 N:\Omega_{\theta}\to\mathbb Z_{\ge1} N : Ω θ → Z ≥ 1 をN ( k ) = k N(k)=k N ( k ) = k と定め、最初の成功までの試行回数 (number of trials until first success ) という。
事象の全体を全冪集合2 Ω θ 2^{\Omega_{\theta}} 2 Ω θ に取ったので、Ω θ \Omega_{\theta} Ω θ からR \mathbb R R への任意の写像は、どの Borel 集合の逆像もΩ θ \Omega_{\theta} Ω θ の部分集合として2 Ω θ 2^{\Omega_{\theta}} 2 Ω θ に属することから§E9.5 定義 1.1 の意味で可測であり、確率変数である。N N N も、以下でN N N から作る写像も、いずれもこの理由で確率変数である。Ω θ \Omega_{\theta} Ω θ は可算無限集合であるから、§E13.11 命題 1.2 の (2) をこの確率空間へ適用することはできない。
この定義で現れる無限和は、すべての項が非負であるから、有限部分和の全体の上限として定めることができる。上限は和を取る順序に依存しないので、P θ ( C ) \mathbb P_{\theta}(C) P θ ( C ) はC C C の元の番号づけによらずに定まる。
命題 4.2. θ ∈ ( 0 , 1 ] \theta\in(0,1] θ ∈ ( 0 , 1 ] とする。
P θ \mathbb P_{\theta} P θ は( Ω θ , 2 Ω θ ) (\Omega_{\theta},2^{\Omega_{\theta}}) ( Ω θ , 2 Ω θ ) 上の確率測度である。
整数j ≥ 0 j\ge0 j ≥ 0 に対しP θ ( N > j ) = ( 1 − θ ) j \mathbb P_{\theta}(N>j)=(1-\theta)^{j} P θ ( N > j ) = ( 1 − θ ) j が成り立つ。
各回の試行を、成功する確率がθ \theta θ である§E13.11 定義 1.1 の有限確率空間Ω 0 \Omega_0 Ω 0 上の事象B B B が起こることとして表す。すなわちP 0 ( B ) = θ \mathbb P_0(B)=\theta P 0 ( B ) = θ とする。このとき、定義 2.1 のj j j 回の独立反復の確率空間において、最初のj j j 回がすべて失敗する事象の確率は( 1 − θ ) j (1-\theta)^{j} ( 1 − θ ) j であり、(2) の値と一致する。
証明. (2) を先に示す。。j ≥ 0 j\ge0 j ≥ 0 を整数とし、q = 1 − θ q=1-\theta q = 1 − θ と置く。θ = 1 \theta=1 θ = 1 のときはq = 0 q=0 q = 0 であり、P θ ( { 1 } ) = 1 \mathbb P_{\theta}(\{1\})=1 P θ ({ 1 }) = 1 、k ≥ 2 k\ge2 k ≥ 2 でP θ ( { k } ) = 0 \mathbb P_{\theta}(\{k\})=0 P θ ({ k }) = 0 である。したがってj = 0 j=0 j = 0 ではP θ ( N > 0 ) = 1 = 0 0 \mathbb P_{\theta}(N>0)=1=0^{0} P θ ( N > 0 ) = 1 = 0 0 、j ≥ 1 j\ge1 j ≥ 1 ではP θ ( N > j ) = 0 = 0 j \mathbb P_{\theta}(N>j)=0=0^{j} P θ ( N > j ) = 0 = 0 j であり、いずれも主張の形になる。ここで0 0 = 1 0^{0}=1 0 0 = 1 という規約を用いた。
θ ∈ ( 0 , 1 ) \theta\in(0,1) θ ∈ ( 0 , 1 ) のときq ∈ ( 0 , 1 ) q\in(0,1) q ∈ ( 0 , 1 ) である。k k k をk = j + i k=j+i k = j + i (i ≥ 1 i\ge1 i ≥ 1 )と書き換えるとP θ ( N > j ) = ∑ k = j + 1 ∞ q k − 1 θ = ∑ i = 1 ∞ q j + i − 1 θ = θ q j ∑ i = 1 ∞ q i − 1 \mathbb P_{\theta}(N>j)=\sum_{k=j+1}^{\infty}q^{k-1}\theta=\sum_{i=1}^{\infty}q^{\,j+i-1}\theta=\theta q^{j}\sum_{i=1}^{\infty}q^{\,i-1} P θ ( N > j ) = ∑ k = j + 1 ∞ q k − 1 θ = ∑ i = 1 ∞ q j + i − 1 θ = θ q j ∑ i = 1 ∞ q i − 1 である。§B1.9 定理 2.1 を初項1 1 1 、公比q q q に対して適用すると、最後の和は1 1 − q = 1 θ \dfrac{1}{1-q}=\dfrac1\theta 1 − q 1 = θ 1 である。ゆえにP θ ( N > j ) = θ q j ⋅ 1 θ = q j \mathbb P_{\theta}(N>j)=\theta q^{j}\cdot\dfrac1\theta=q^{j} P θ ( N > j ) = θ q j ⋅ θ 1 = q j である。
(1) を示す。 各点の確率は非負である。(2) をj = 0 j=0 j = 0 に対して適用するとP θ ( Ω θ ) = P θ ( N > 0 ) = 1 \mathbb P_{\theta}(\Omega_{\theta})=\mathbb P_{\theta}(N>0)=1 P θ ( Ω θ ) = P θ ( N > 0 ) = 1 である。またP θ ( ∅ ) = 0 \mathbb P_{\theta}(\emptyset)=0 P θ ( ∅ ) = 0 である。
可算加法性を確かめる。C 1 , C 2 , … C_1,C_2,\dots C 1 , C 2 , … を二つずつ交わらない事象とし、C = ⋃ l ≥ 1 C l C=\bigcup_{l\ge1}C_l C = ⋃ l ≥ 1 C l と置く。
第一に、二つの量をそれぞれ上限として書き直す 。項がすべて非負である族の総和は、その族の有限部分族についての和の全体の上限に等しい。したがってP θ ( C ) \mathbb P_{\theta}(C) P θ ( C ) は、集合S = { ∑ k ∈ F P θ ( { k } ) : F ⊆ C , F は有限 } \mathcal S=\left\{\textstyle\sum_{k\in F}\mathbb P_{\theta}(\{k\})\ :\ F\subseteq C,\ F\ \text{は有限}\right\} S = { ∑ k ∈ F P θ ({ k }) : F ⊆ C , F は有限 } の上限である。同じ理由を二重に適用すると、∑ l ≥ 1 P θ ( C l ) \sum_{l\ge1}\mathbb P_{\theta}(C_l) ∑ l ≥ 1 P θ ( C l ) は、集合T = { ∑ i = 1 r ∑ k ∈ F i P θ ( { k } ) : r ≥ 0 , l 1 < ⋯ < l r , F i ⊆ C l i は有限 } \mathcal T=\left\{\textstyle\sum_{i=1}^{r}\sum_{k\in F_i}\mathbb P_{\theta}(\{k\})\ :\ r\ge0,\ l_1<\dots<l_r,\ F_i\subseteq C_{l_i}\ \text{は有限}\right\} T = { ∑ i = 1 r ∑ k ∈ F i P θ ({ k }) : r ≥ 0 , l 1 < ⋯ < l r , F i ⊆ C l i は有限 } の上限である。
第二に、S = T \mathcal S=\mathcal T S = T を示す 。F ⊆ C F\subseteq C F ⊆ C を有限集合とする。C l C_l C l が二つずつ交わらないので、F F F の各元はちょうど一つのC l C_l C l に属し、F F F はF ∩ C l F\cap C_l F ∩ C l たちの二つずつ交わらない合併へ一意に分解される。F F F は有限であるからF ∩ C l ≠ ∅ F\cap C_l\ne\emptyset F ∩ C l = ∅ となるl l l は有限個であり、それらをl 1 < ⋯ < l r l_1<\dots<l_r l 1 < ⋯ < l r 、F i = F ∩ C l i F_i=F\cap C_{l_i} F i = F ∩ C l i と置くと∑ k ∈ F P θ ( { k } ) = ∑ i = 1 r ∑ k ∈ F i P θ ( { k } ) \sum_{k\in F}\mathbb P_{\theta}(\{k\})=\sum_{i=1}^{r}\sum_{k\in F_i}\mathbb P_{\theta}(\{k\}) ∑ k ∈ F P θ ({ k }) = ∑ i = 1 r ∑ k ∈ F i P θ ({ k }) である。ゆえにS ⊆ T \mathcal S\subseteq\mathcal T S ⊆ T である。逆に、l 1 < ⋯ < l r l_1<\dots<l_r l 1 < ⋯ < l r と有限集合F i ⊆ C l i F_i\subseteq C_{l_i} F i ⊆ C l i が与えられたとき、F = ⋃ i = 1 r F i F=\bigcup_{i=1}^{r}F_i F = ⋃ i = 1 r F i はC C C の有限部分集合であり、F i F_i F i たちは二つずつ交わらないから∑ i = 1 r ∑ k ∈ F i P θ ( { k } ) = ∑ k ∈ F P θ ( { k } ) \sum_{i=1}^{r}\sum_{k\in F_i}\mathbb P_{\theta}(\{k\})=\sum_{k\in F}\mathbb P_{\theta}(\{k\}) ∑ i = 1 r ∑ k ∈ F i P θ ({ k }) = ∑ k ∈ F P θ ({ k }) である。ゆえにT ⊆ S \mathcal T\subseteq\mathcal S T ⊆ S である。
二つの集合が一致するので上限も一致し、P θ ( C ) = ∑ l ≥ 1 P θ ( C l ) \mathbb P_{\theta}(C)=\sum_{l\ge1}\mathbb P_{\theta}(C_l) P θ ( C ) = ∑ l ≥ 1 P θ ( C l ) である。したがってP θ \mathbb P_{\theta} P θ は§E9.2 定義 1.1 の意味の測度であり、全体の確率が1 1 1 であるから確率測度である。
(3) を示す。命題 2.2 (1) をB 1 = ⋯ = B j = Ω 0 ∖ B B_1=\dots=B_j=\Omega_0\setminus B B 1 = ⋯ = B j = Ω 0 ∖ B に対して適用すると、最初のj j j 回がすべて失敗する事象の確率はP 0 ( Ω 0 ∖ B ) j = ( 1 − θ ) j \mathbb P_0(\Omega_0\setminus B)^{j}=(1-\theta)^{j} P 0 ( Ω 0 ∖ B ) j = ( 1 − θ ) j である。▨
この確率空間の上で、成功するまで繰り返す型の手続きを定義する。この型の手続きは定義 1.1 の乱択アルゴリズムではない 。同定義は内部乱数の集合を一つの空でない有限集合とし、実行ステップ数を全域写像として要求するが、繰り返しの回数に上限が無い手続きは、乱数の列の取り方によっては停止しないので、どちらも満たさないからである。したがって定義 3.1 (1) をそのまま適用することができない。そこで、この型に対する Las Vegas 性を別に定める。
定義 4.3. f : X → Y f:\mathcal X\to\mathcal Y f : X → Y を計算したい写像とし、入力x ∈ X x\in\mathcal X x ∈ X を一つ固定する。記号⊥ \bot ⊥ は「今回の試行では出力を得なかった」ことを表すものとし、⊥ ∉ Y \bot\notin\mathcal Y ⊥ ∈ / Y とする。
検証つき反復アルゴリズム (verified repetition algorithm ) とは、空でない有限集合R 0 R_0 R 0 (一回の試行の内部乱数の集合)、写像g : R 0 → Y ∪ { ⊥ } g:R_0\to\mathcal Y\cup\{\bot\} g : R 0 → Y ∪ { ⊥ } 、および正の整数c c c の組であって、次の三条件を満たすものが定める手続きをいう。
(検証可能性 )すべてのr ∈ R 0 r\in R_0 r ∈ R 0 について、g ( r ) ≠ ⊥ g(r)\ne\bot g ( r ) = ⊥ ならばg ( r ) = f ( x ) g(r)=f(x) g ( r ) = f ( x ) である。
(成功確率が正 )R 0 R_0 R 0 上の一様分布をP R 0 \mathbb P_{R_0} P R 0 と書くとき、θ = P R 0 ( { r ∈ R 0 : g ( r ) ≠ ⊥ } ) \theta=\mathbb P_{R_0}(\{r\in R_0:\ g(r)\ne\bot\}) θ = P R 0 ({ r ∈ R 0 : g ( r ) = ⊥ }) がθ > 0 \theta>0 θ > 0 を満たす。
(一回の費用の上界 )一回の試行に要するステップ数は高々c c c である。
手続きは、P R 0 \mathbb P_{R_0} P R 0 に従って独立にr 1 , r 2 , … r_1,r_2,\dots r 1 , r 2 , … を取り、g ( r i ) ≠ ⊥ g(r_i)\ne\bot g ( r i ) = ⊥ となる最小のi i i においてg ( r i ) g(r_i) g ( r i ) を出力して停止する。
この手続きが Las Vegas 型である (Las Vegas property ) とは、条件 (a) 、すなわち出力を得たときにその値が必ずf ( x ) f(x) f ( x ) に等しいことをいう。定義より、検証つき反復アルゴリズムはつねに Las Vegas 型である。
試行回数は、定義 4.1 の確率空間( Ω θ , 2 Ω θ , P θ ) (\Omega_{\theta},2^{\Omega_{\theta}},\mathbb P_{\theta}) ( Ω θ , 2 Ω θ , P θ ) の上の確率変数N N N として扱う。この扱いが正しいことは命題 4.2 (3) による。すなわち、Ω 0 = R 0 \Omega_0=R_0 Ω 0 = R 0 、B = { r : g ( r ) ≠ ⊥ } B=\{r:\ g(r)\ne\bot\} B = { r : g ( r ) = ⊥ } として得られる有限回の独立反復の確率と、P θ \mathbb P_{\theta} P θ による確率が一致する。E [ N ] \mathbb E[N] E [ N ] を期待試行回数 (expected number of trials ) という。
注意 4.4 (標本空間に「永久に失敗する」結果を置かないこと). 定義 4.1 の標本空間は正の整数の全体であり、「どの試行も成功しない」という結果を含まない。この置き方が妥当であることは命題 4.2 (3) が示す。すなわち、有限回の反復について計算した確率が、この可算な確率空間で計算した確率と一致する。
同時に、この置き方は次のことも示している。定義 4.3 の手続きには、§D2.8 命題 1.4 の意味で各反復ごとに狭義に減少する非負整数値の変量が存在しない。実際、乱数の列の取り方によっては反復が何度でも続きうる。停止についての主張は変量による議論ではなく、P θ ( N > j ) = ( 1 − θ ) j \mathbb P_{\theta}(N>j)=(1-\theta)^{j} P θ ( N > j ) = ( 1 − θ ) j がj j j を大きくすると0 0 0 へ近づくこと(§B1.7 定理 2.1 )として述べられる。
4.1 証明方針
E [ N ] \mathbb E[N] E [ N ] を求める。N N N は非負の値を取るが、Ω θ \Omega_{\theta} Ω θ が無限集合であるため、期待値を有限和として書き下すことはできない。そこでN N N を最初のm m m 点に制限した確率変数N m N_m N m を作る。N m N_m N m は有限個の値しか取らない非負単関数であるから、その積分は§E9.6 命題 1.2 によって有限和として計算することができる。N m N_m N m は各点で単調非減少にN N N へ収束するので、§E9.7 定理 1.1 により積分も収束し、E [ N ] \mathbb E[N] E [ N ] は無限級数∑ k ≥ 1 k ( 1 − θ ) k − 1 θ \sum_{k\ge1}k(1-\theta)^{k-1}\theta ∑ k ≥ 1 k ( 1 − θ ) k − 1 θ の和として表される。
この級数の値は、θ ∈ ( 0 , 1 ) \theta\in(0,1) θ ∈ ( 0 , 1 ) の場合には§E11.5 補題 1.1 が与える∑ k ≥ 0 k q k = q / ( 1 − q ) 2 \sum_{k\ge0}kq^{k}=q/(1-q)^{2} ∑ k ≥ 0 k q k = q / ( 1 − q ) 2 から得られる。両辺をq q q で割って添字をずらすと∑ k ≥ 1 k q k − 1 = 1 / θ 2 \sum_{k\ge1}kq^{k-1}=1/\theta^{2} ∑ k ≥ 1 k q k − 1 = 1/ θ 2 となり、θ \theta θ を掛けてE [ N ] = 1 / θ \mathbb E[N]=1/\theta E [ N ] = 1/ θ を得る。θ = 1 \theta=1 θ = 1 の場合にはq = 0 q=0 q = 0 であるから、同じ級数のk ≥ 2 k\ge2 k ≥ 2 の項がすべて消えて部分和が1 1 1 になる。いずれの場合も同じN m N_m N m と単調収束定理の議論を経由し、場合分けは級数の値を求める段階だけで行う。
定理 4.5. θ ∈ ( 0 , 1 ] \theta\in(0,1] θ ∈ ( 0 , 1 ] とし、定義 4.1 の確率空間を取る。このときN N N は可積分でありE [ N ] = 1 θ \mathbb E[N]=\frac1\theta E [ N ] = θ 1 が成り立つ。
さらに、c c c を正の整数とし、S : Ω θ → Z ≥ 0 S:\Omega_{\theta}\to\mathbb Z_{\ge0} S : Ω θ → Z ≥ 0 を、各点で0 ≤ S ≤ c N 0\le S\le cN 0 ≤ S ≤ c N を満たす確率変数とする。このときE [ S ] ≤ c / θ \mathbb E[S]\le c/\theta E [ S ] ≤ c / θ が成り立つ。一回の試行に要するステップ数が高々c c c である定義 4.3 の検証つき反復アルゴリズムにおいて、成功するまでの総ステップ数を表す確率変数は、この条件を満たす。
証明. q = 1 − θ q=1-\theta q = 1 − θ と置く。θ ∈ ( 0 , 1 ] \theta\in(0,1] θ ∈ ( 0 , 1 ] よりq ∈ [ 0 , 1 ) q\in[0,1) q ∈ [ 0 , 1 ) である。整数m ≥ 1 m\ge1 m ≥ 1 に対しN m = N ⋅ 1 { 1 , … , m } N_m=N\cdot\mathbf 1_{\{1,\dots,m\}} N m = N ⋅ 1 { 1 , … , m } と定める。N m N_m N m は値0 , 1 , … , m 0,1,\dots,m 0 , 1 , … , m しか取らない非負単関数である。§E9.6 命題 1.2 を、Ω θ \Omega_{\theta} Ω θ の互いに交わらない分割{ 1 } , { 2 } , … , { m } , { m + 1 , m + 2 , … } \{1\},\{2\},\dots,\{m\},\{m+1,m+2,\dots\} { 1 } , { 2 } , … , { m } , { m + 1 , m + 2 , … } と係数1 , 2 , … , m , 0 1,2,\dots,m,0 1 , 2 , … , m , 0 に対して適用すると∫ Ω θ N m d P θ = ∑ k = 1 m k P θ ( { k } ) = ∑ k = 1 m k q k − 1 θ \int_{\Omega_{\theta}}N_m\,d\mathbb P_{\theta}=\sum_{k=1}^{m}k\,\mathbb P_{\theta}(\{k\})=\sum_{k=1}^{m}k\,q^{k-1}\theta ∫ Ω θ N m d P θ = ∑ k = 1 m k P θ ({ k }) = ∑ k = 1 m k q k − 1 θ である。ここで、この分割と係数が定める関数はちょうどN m N_m N m であってN N N ではないことに注意する。N N N はk > m k>m k > m でも値k k k を取るからである。
各点k ∈ Ω θ k\in\Omega_{\theta} k ∈ Ω θ について、m ≤ m ′ m\le m' m ≤ m ′ ならばN m ( k ) ≤ N m ′ ( k ) N_m(k)\le N_{m'}(k) N m ( k ) ≤ N m ′ ( k ) であり、m ≥ k m\ge k m ≥ k のときN m ( k ) = k = N ( k ) N_m(k)=k=N(k) N m ( k ) = k = N ( k ) である。したがって( N m ) m ≥ 1 (N_m)_{m\ge1} ( N m ) m ≥ 1 は各点で単調非減少であり、その上限はN N N である。§E9.7 定理 1.1 を適用するとE [ N ] = ∫ Ω θ N d P θ = lim m → ∞ ∑ k = 1 m k q k − 1 θ \mathbb E[N]=\int_{\Omega_{\theta}}N\,d\mathbb P_{\theta}=\lim_{m\to\infty}\sum_{k=1}^{m}k\,q^{k-1}\theta E [ N ] = ∫ Ω θ N d P θ = lim m → ∞ ∑ k = 1 m k q k − 1 θ である。ここまでの議論はθ ∈ ( 0 , 1 ] \theta\in(0,1] θ ∈ ( 0 , 1 ] の全体について成り立ち、θ = 1 \theta=1 θ = 1 を除外していない。
級数の値を求める(θ = 1 \theta=1 θ = 1 の場合) 。q = 0 q=0 q = 0 である。k = 1 k=1 k = 1 の項は1 ⋅ q 0 ⋅ θ = 1 1\cdot q^{0}\cdot\theta=1 1 ⋅ q 0 ⋅ θ = 1 であり(0 0 = 1 0^{0}=1 0 0 = 1 という命題 4.2 の証明と同じ規約による)、k ≥ 2 k\ge2 k ≥ 2 の項はq k − 1 = 0 q^{k-1}=0 q k − 1 = 0 であるから0 0 0 である。ゆえにすべてのm ≥ 1 m\ge1 m ≥ 1 について部分和は1 1 1 に等しく、E [ N ] = 1 = 1 / θ \mathbb E[N]=1=1/\theta E [ N ] = 1 = 1/ θ である。
級数の値を求める(θ ∈ ( 0 , 1 ) \theta\in(0,1) θ ∈ ( 0 , 1 ) の場合) 。q ∈ ( 0 , 1 ) q\in(0,1) q ∈ ( 0 , 1 ) である。上の極限はθ ∑ k = 1 ∞ k q k − 1 \theta\sum_{k=1}^{\infty}kq^{k-1} θ ∑ k = 1 ∞ k q k − 1 と書くことができる。§E11.5 補題 1.1 より∑ k = 0 ∞ k q k = q ( 1 − q ) 2 = q θ 2 \displaystyle\sum_{k=0}^{\infty}kq^{k}=\frac{q}{(1-q)^{2}}=\frac{q}{\theta^{2}} k = 0 ∑ ∞ k q k = ( 1 − q ) 2 q = θ 2 q である。左辺のk = 0 k=0 k = 0 の項は0 0 0 であるから∑ k = 1 ∞ k q k = q / θ 2 \sum_{k=1}^{\infty}kq^{k}=q/\theta^{2} ∑ k = 1 ∞ k q k = q / θ 2 であり、各部分和をq > 0 q>0 q > 0 で割って極限を取ると∑ k = 1 ∞ k q k − 1 = 1 θ 2 \sum_{k=1}^{\infty}kq^{k-1}=\frac{1}{\theta^{2}} ∑ k = 1 ∞ k q k − 1 = θ 2 1 である。ゆえにE [ N ] = θ ⋅ 1 θ 2 = 1 θ \mathbb E[N]=\theta\cdot\dfrac{1}{\theta^{2}}=\dfrac1\theta E [ N ] = θ ⋅ θ 2 1 = θ 1 である。
いずれの場合もE [ N ] = 1 / θ \mathbb E[N]=1/\theta E [ N ] = 1/ θ は有限であるから、§E11.4 定義 1.1 の意味でN N N は可積分である。
総費用 。c N cN c N は可積分であるから、§E11.4 命題 1.2 をX = N X=N X = N 、Y = 0 Y=0 Y = 0 、a = c a=c a = c 、b = 0 b=0 b = 0 に対して適用してE [ c N ] = c E [ N ] = c / θ \mathbb E[cN]=c\mathbb E[N]=c/\theta E [ c N ] = c E [ N ] = c / θ である。仮定より各点で0 ≤ S ≤ c N 0\le S\le cN 0 ≤ S ≤ c N であり、S S S とc N cN c N はいずれも非負の値を取る確率変数であるから、§E9.6 命題 2.2 をf = S f=S f = S 、g = c N g=cN g = c N に対して適用してE [ S ] ≤ E [ c N ] = c / θ \mathbb E[S]\le\mathbb E[cN]=c/\theta E [ S ] ≤ E [ c N ] = c / θ である。とくにE [ S ] \mathbb E[S] E [ S ] は有限であるから、S S S は§E11.4 定義 1.1 の意味で可積分である。▨
例 4.6 (有限集合からの探索:手計算). S = { 1 , 2 , 3 , 4 , 5 , 6 } S=\{1,2,3,4,5,6\} S = { 1 , 2 , 3 , 4 , 5 , 6 } とし、Q Q Q を「3 3 3 の倍数でも1 1 1 でも4 4 4 でもない」という述語とする。Q Q Q を満たす元は2 2 2 と5 5 5 の二つであるから、T = { 2 , 5 } T=\{2,5\} T = { 2 , 5 } 、∣ T ∣ = 2 \lvert T\rvert=2 ∣ T ∣ = 2 、∣ S ∣ = 6 \lvert S\rvert=6 ∣ S ∣ = 6 である。
次の手続きを考える。S S S から一様にランダムに元s s s を選び、Q ( s ) Q(s) Q ( s ) を判定する。真ならばs s s を出力して停止し、偽ならば繰り返す。
この手続きを定義 4.3 の枠へ収める 。Y = S \mathcal Y=S Y = S とし、計算したい写像f f f の値を「Q Q Q を満たすS S S の元」と定める。R 0 = S R_0=S R 0 = S とし、g : R 0 → Y ∪ { ⊥ } g:R_0\to\mathcal Y\cup\{\bot\} g : R 0 → Y ∪ { ⊥ } を、Q ( r ) Q(r) Q ( r ) が真のときg ( r ) = r g(r)=r g ( r ) = r 、偽のときg ( r ) = ⊥ g(r)=\bot g ( r ) = ⊥ と定める。Q Q Q の判定に要するステップ数の上界をc c c とする。反復の回数に上限が無いので、この手続きは定義 1.1 の乱択アルゴリズムではなく、定義 3.1 (1) を直接適用することはできない。
Las Vegas 型であること 。g ( r ) ≠ ⊥ g(r)\ne\bot g ( r ) = ⊥ ならばQ ( r ) Q(r) Q ( r ) は真であり、g ( r ) = r g(r)=r g ( r ) = r はf f f の値の条件を満たす。すなわち検証可能性が成り立つ。ゆえに定義 4.3 の意味で Las Vegas 型である。
一回の成功確率 。θ = P R 0 ( g ≠ ⊥ ) = ∣ T ∣ / ∣ S ∣ = 2 / 6 = 1 / 3 \theta=\mathbb P_{R_0}(g\ne\bot)=\lvert T\rvert/\lvert S\rvert=2/6=1/3 θ = P R 0 ( g = ⊥ ) = ∣ T ∣ / ∣ S ∣ = 2/6 = 1/3 である。θ > 0 \theta>0 θ > 0 であり、成功確率が正であるという条件も満たされる。
期待試行回数 。定理 4.5 よりE [ N ] = 1 / θ = 3 \mathbb E[N]=1/\theta=3 E [ N ] = 1/ θ = 3 である。
分布の値を手計算で確かめる 。q = 1 − θ = 2 / 3 q=1-\theta=2/3 q = 1 − θ = 2/3 としてP θ ( N = 1 ) = 1 3 = 9 27 , P θ ( N = 2 ) = 2 3 ⋅ 1 3 = 2 9 = 6 27 , P θ ( N = 3 ) = 4 9 ⋅ 1 3 = 4 27 \mathbb P_{\theta}(N=1)=\frac13=\frac9{27},\qquad \mathbb P_{\theta}(N=2)=\frac23\cdot\frac13=\frac29=\frac6{27},\qquad \mathbb P_{\theta}(N=3)=\frac49\cdot\frac13=\frac4{27} P θ ( N = 1 ) = 3 1 = 27 9 , P θ ( N = 2 ) = 3 2 ⋅ 3 1 = 9 2 = 27 6 , P θ ( N = 3 ) = 9 4 ⋅ 3 1 = 27 4 である。したがってP θ ( N ≤ 3 ) = 9 + 6 + 4 27 = 19 27 \mathbb P_{\theta}(N\le3)=\dfrac{9+6+4}{27}=\dfrac{19}{27} P θ ( N ≤ 3 ) = 27 9 + 6 + 4 = 27 19 である。他方命題 4.2 (2) よりP θ ( N > 3 ) = ( 2 / 3 ) 3 = 8 / 27 \mathbb P_{\theta}(N>3)=(2/3)^{3}=8/27 P θ ( N > 3 ) = ( 2/3 ) 3 = 8/27 であり、19 / 27 + 8 / 27 = 27 / 27 = 1 19/27+8/27=27/27=1 19/27 + 8/27 = 27/27 = 1 で整合する。
期待値の部分和による検算 。K K K 回で打ち切ったときの試行回数min ( N , K ) \min(N,K) min ( N , K ) の期待値を計算する。min ( N , K ) = ∑ j = 0 K − 1 1 { N > j } \min(N,K)=\sum_{j=0}^{K-1}\mathbf 1_{\{N>j\}} min ( N , K ) = ∑ j = 0 K − 1 1 { N > j } が各点で成り立つ。実際、N ( k ) = k ≤ K N(k)=k\le K N ( k ) = k ≤ K のときは右辺のj = 0 , … , k − 1 j=0,\dots,k-1 j = 0 , … , k − 1 の項が1 1 1 、他が0 0 0 で和はk k k であり、N ( k ) > K N(k)>K N ( k ) > K のときはK K K 個すべての項が1 1 1 で和はK K K である。ゆえに命題 4.2 (2) よりE [ min ( N , K ) ] = ∑ j = 0 K − 1 ( 2 3 ) j \mathbb E[\min(N,K)]=\sum_{j=0}^{K-1}\left(\frac23\right)^{j} E [ min ( N , K )] = ∑ j = 0 K − 1 ( 3 2 ) j である。K = 3 K=3 K = 3 では1 + 2 3 + 4 9 = 9 + 6 + 4 9 = 19 9 = 2.111 … 1+\dfrac23+\dfrac49=\dfrac{9+6+4}{9}=\dfrac{19}{9}=2.111\ldots 1 + 3 2 + 9 4 = 9 9 + 6 + 4 = 9 19 = 2.111 … であり、K = 6 K=6 K = 6 では243 + 162 + 108 + 72 + 48 + 32 243 = 665 243 = 2.736 … \frac{243+162+108+72+48+32}{243}=\frac{665}{243}=2.736\ldots 243 243 + 162 + 108 + 72 + 48 + 32 = 243 665 = 2.736 … である。いずれもE [ N ] = 3 \mathbb E[N]=3 E [ N ] = 3 より小さく、K K K を大きくすると3 3 3 へ近づいている。実際§B1.1 公式 2.3 より∑ j = 0 K − 1 ( 2 / 3 ) j = 3 ( 1 − ( 2 / 3 ) K ) \sum_{j=0}^{K-1}(2/3)^{j}=3\bigl(1-(2/3)^{K}\bigr) ∑ j = 0 K − 1 ( 2/3 ) j = 3 ( 1 − ( 2/3 ) K ) であり、K = 6 K=6 K = 6 では3 ( 1 − 64 / 729 ) = 3 ⋅ 665 729 = 665 243 3(1-64/729)=3\cdot\dfrac{665}{729}=\dfrac{665}{243} 3 ( 1 − 64/729 ) = 3 ⋅ 729 665 = 243 665 で一致する。
期待総費用 。Q Q Q の判定に高々c c c ステップを要するとすると、総ステップ数を表す確率変数S S S は各点で0 ≤ S ≤ c N 0\le S\le cN 0 ≤ S ≤ c N を満たす。定理 4.5 の後半よりE [ S ] ≤ c / θ = 3 c \mathbb E[S]\le c/\theta=3c E [ S ] ≤ c / θ = 3 c である。
5 一側誤りの独立反復による誤り確率の減少
一側誤りをもつ Monte Carlo 型アルゴリズムは、答が0 0 0 である入力では決して誤らない。したがって、独立な乱数で何度か実行して一度でも1 1 1 が出れば、その答は正しい。誤りうるのは、答が1 1 1 である入力に対してすべての回が0 0 0 を返す場合だけである。
5.1 証明方針
k k k 回の独立反復の確率空間を定義 2.1 で取り、反復アルゴリズムの出力を各回の出力の最大値と定める。
答が0 0 0 である入力では、各回の出力がすべて0 0 0 であるから、最大値も0 0 0 であり、誤りは起こらない。したがって一側誤りという性質は反復によって保たれる。
答が1 1 1 である入力では、反復アルゴリズムが0 0 0 を出力する事象は、各回が0 0 0 を出力する事象の直積である。命題 2.2 (1) を、各成分を「一回の実行で0 0 0 が出る」という事象に取って適用すると、その確率は各回の確率のk k k 乗になる。一回の確率は1 − δ 1-\delta 1 − δ 以下であるから、k k k 乗は( 1 − δ ) k (1-\delta)^{k} ( 1 − δ ) k 以下である。
最後に、( 1 − δ ) k (1-\delta)^{k} ( 1 − δ ) k がk k k を大きくすると0 0 0 へ近づくことから、任意に与えられた誤り確率の上限を達成する反復回数が存在することを示す。
定理 5.1. L ⊆ X L\subseteq\mathcal X L ⊆ X を判定問題とし、( A , T , R ) (A,T,R) ( A , T , R ) を定義 3.1 (3) の意味でL L L に対する成功確率δ ∈ ( 0 , 1 ] \delta\in(0,1] δ ∈ ( 0 , 1 ] の一側誤りアルゴリズムとする。整数k ≥ 1 k\ge1 k ≥ 1 に対し、ρ = ( ρ 1 , … , ρ k ) ∈ R k \rho=(\rho_1,\dots,\rho_k)\in R^{k} ρ = ( ρ 1 , … , ρ k ) ∈ R k を内部乱数とするアルゴリズムA ( k ) A^{(k)} A ( k ) をA ( k ) ( x , ρ ) = max 1 ≤ i ≤ k A ( x , ρ i ) , T ( k ) ( x , ρ ) = ∑ i = 1 k T ( x , ρ i ) A^{(k)}(x,\rho)=\max_{1\le i\le k}A(x,\rho_i),\qquad T^{(k)}(x,\rho)=\sum_{i=1}^{k}T(x,\rho_i) A ( k ) ( x , ρ ) = max 1 ≤ i ≤ k A ( x , ρ i ) , T ( k ) ( x , ρ ) = ∑ i = 1 k T ( x , ρ i ) で定める。R k R^{k} R k には定義 2.1 の確率測度P R ( k ) \mathbb P_R^{(k)} P R ( k ) を入れる。このとき次が成り立つ。
x ∉ L x\notin L x ∈ / L を満たすすべてのx x x と、すべてのρ ∈ R k \rho\in R^{k} ρ ∈ R k についてA ( k ) ( x , ρ ) = 0 A^{(k)}(x,\rho)=0 A ( k ) ( x , ρ ) = 0 である。
x ∈ L x\in L x ∈ L を満たすすべてのx x x についてP R ( k ) ( A ( k ) ( x , ⋅ ) = 0 ) ≤ ( 1 − δ ) k \mathbb P_R^{(k)}\bigl(A^{(k)}(x,\cdot)=0\bigr)\le(1-\delta)^{k} P R ( k ) ( A ( k ) ( x , ⋅ ) = 0 ) ≤ ( 1 − δ ) k が成り立つ。すなわちA ( k ) A^{(k)} A ( k ) はL L L に対する成功確率1 − ( 1 − δ ) k 1-(1-\delta)^{k} 1 − ( 1 − δ ) k の一側誤りアルゴリズムである。
任意のη ∈ ( 0 , 1 ) \eta\in(0,1) η ∈ ( 0 , 1 ) に対し、整数k ≥ 1 k\ge1 k ≥ 1 が存在して( 1 − δ ) k ≤ η (1-\delta)^{k}\le\eta ( 1 − δ ) k ≤ η が成り立つ。そのk k k に対しA ( k ) A^{(k)} A ( k ) の誤り確率はη \eta η 以下である。
T ( k ) ( x , ρ ) ≤ k max r ∈ R T ( x , r ) T^{(k)}(x,\rho)\le k\max_{r\in R}T(x,r) T ( k ) ( x , ρ ) ≤ k max r ∈ R T ( x , r ) が成り立つ。すなわち反復による実行時間の増加は高々k k k 倍である。
証明. (1) を示す。x ∉ L x\notin L x ∈ / L とする。定義 3.1 (3) の定義 3.1 条件 (a) より、すべてのr ∈ R r\in R r ∈ R についてA ( x , r ) = 0 A(x,r)=0 A ( x , r ) = 0 である。ゆえにρ ∈ R k \rho\in R^{k} ρ ∈ R k に対しA ( x , ρ i ) = 0 A(x,\rho_i)=0 A ( x , ρ i ) = 0 が各i i i で成り立ち、その最大値も0 0 0 である。
(2) を示す。x ∈ L x\in L x ∈ L とする。A A A の出力は0 0 0 または1 1 1 であるから、A ( k ) ( x , ρ ) = 0 A^{(k)}(x,\rho)=0 A ( k ) ( x , ρ ) = 0 であることと、すべてのi i i についてA ( x , ρ i ) = 0 A(x,\rho_i)=0 A ( x , ρ i ) = 0 であることは同値である。B = { r ∈ R : A ( x , r ) = 0 } B=\{r\in R:\ A(x,r)=0\} B = { r ∈ R : A ( x , r ) = 0 } と置くと{ ρ ∈ R k : A ( k ) ( x , ρ ) = 0 } = { ρ : ρ i ∈ B ( i = 1 , … , k ) } \bigl\{\rho\in R^{k}:\ A^{(k)}(x,\rho)=0\bigr\}=\{\rho:\ \rho_i\in B\ (i=1,\dots,k)\} { ρ ∈ R k : A ( k ) ( x , ρ ) = 0 } = { ρ : ρ i ∈ B ( i = 1 , … , k )} である。命題 2.2 (1) をB 1 = ⋯ = B k = B B_1=\dots=B_k=B B 1 = ⋯ = B k = B に対して適用するとP R ( k ) ( A ( k ) ( x , ⋅ ) = 0 ) = P R ( B ) k \mathbb P_R^{(k)}\bigl(A^{(k)}(x,\cdot)=0\bigr)=\mathbb P_R(B)^{k} P R ( k ) ( A ( k ) ( x , ⋅ ) = 0 ) = P R ( B ) k である。定義 3.1 (3) の定義 3.1 条件 (b) よりP R ( A ( x , ⋅ ) = 1 ) ≥ δ \mathbb P_R(A(x,\cdot)=1)\ge\delta P R ( A ( x , ⋅ ) = 1 ) ≥ δ であり、B B B はその補事象であるからP R ( B ) ≤ 1 − δ \mathbb P_R(B)\le1-\delta P R ( B ) ≤ 1 − δ である。0 ≤ P R ( B ) ≤ 1 − δ 0\le\mathbb P_R(B)\le1-\delta 0 ≤ P R ( B ) ≤ 1 − δ でありt ↦ t k t\mapsto t^{k} t ↦ t k は[ 0 , ∞ ) [0,\infty) [ 0 , ∞ ) 上で単調非減少であるからP R ( B ) k ≤ ( 1 − δ ) k \mathbb P_R(B)^{k}\le(1-\delta)^{k} P R ( B ) k ≤ ( 1 − δ ) k である。
(1) とあわせると、A ( k ) A^{(k)} A ( k ) はx ∉ L x\notin L x ∈ / L で決して1 1 1 を出力せず、x ∈ L x\in L x ∈ L で1 1 1 を出力する確率が1 − ( 1 − δ ) k 1-(1-\delta)^{k} 1 − ( 1 − δ ) k 以上であるから、成功確率1 − ( 1 − δ ) k 1-(1-\delta)^{k} 1 − ( 1 − δ ) k の一側誤りアルゴリズムである。
(3) を示す。δ = 1 \delta=1 δ = 1 のときは1 − δ = 0 1-\delta=0 1 − δ = 0 であり、k = 1 k=1 k = 1 で( 1 − δ ) 1 = 0 ≤ η (1-\delta)^{1}=0\le\eta ( 1 − δ ) 1 = 0 ≤ η である。δ ∈ ( 0 , 1 ) \delta\in(0,1) δ ∈ ( 0 , 1 ) のときは0 < 1 − δ < 1 0<1-\delta<1 0 < 1 − δ < 1 であるから、§B1.7 定理 2.1 の第3項より( 1 − δ ) k → 0 (1-\delta)^{k}\to0 ( 1 − δ ) k → 0 (k → ∞ k\to\infty k → ∞ )である。したがって、η > 0 \eta>0 η > 0 に対して整数k k k が存在して( 1 − δ ) k ≤ η (1-\delta)^{k}\le\eta ( 1 − δ ) k ≤ η が成り立つ。このk k k に対し(2) より誤り確率はη \eta η 以下である。
(4) を示す。M = max r ∈ R T ( x , r ) M=\max_{r\in R}T(x,r) M = max r ∈ R T ( x , r ) と置く。R R R は空でない有限集合であるからこの最大値は定まる。各i i i についてT ( x , ρ i ) ≤ M T(x,\rho_i)\le M T ( x , ρ i ) ≤ M であるから、k k k 個の和はk M kM k M 以下である。▨
例 5.2 (有限集合上の存在判定:手計算). S = { 1 , 2 , 3 , 4 , 5 , 6 } S=\{1,2,3,4,5,6\} S = { 1 , 2 , 3 , 4 , 5 , 6 } と述語Q Q Q を例 4.6 と同じに取り、T = { s ∈ S : Q ( s ) } = { 2 , 5 } T=\{s\in S:\ Q(s)\}=\{2,5\} T = { s ∈ S : Q ( s )} = { 2 , 5 } とする。判定問題を「与えられたS S S とQ Q Q に対してT ≠ ∅ T\ne\emptyset T = ∅ であるか」とする。
アルゴリズムA A A は次のとおりである。S S S から一様にランダムにr r r を選び、Q ( r ) Q(r) Q ( r ) が真ならば1 1 1 、偽ならば0 0 0 を出力する。
一側誤りであること 。T = ∅ T=\emptyset T = ∅ ならば、どのr r r についてもQ ( r ) Q(r) Q ( r ) は偽であるから、A A A は常に0 0 0 を出力する。T ≠ ∅ T\ne\emptyset T = ∅ のとき、A A A が1 1 1 を出力する確率は∣ T ∣ / ∣ S ∣ \lvert T\rvert/\lvert S\rvert ∣ T ∣ / ∣ S ∣ である。いまの入力では2 / 6 = 1 / 3 2/6=1/3 2/6 = 1/3 であるから、成功確率δ = 1 / 3 \delta=1/3 δ = 1/3 の一側誤りアルゴリズムである。
五回の反復 。定理 5.1 (2) より、k = 5 k=5 k = 5 のときの誤り確率の上界は( 1 − 1 3 ) 5 = ( 2 3 ) 5 = 2 5 3 5 = 32 243 = 0.131687 … \left(1-\frac13\right)^{5}=\left(\frac23\right)^{5}=\frac{2^{5}}{3^{5}}=\frac{32}{243}=0.131687\ldots ( 1 − 3 1 ) 5 = ( 3 2 ) 5 = 3 5 2 5 = 243 32 = 0.131687 … である。3 5 = 243 3^{5}=243 3 5 = 243 と2 5 = 32 2^{5}=32 2 5 = 32 は直接計算した値である。
誤り確率を1 / 100 1/100 1/100 以下にする反復回数 。( 2 / 3 ) k ≤ 1 / 100 (2/3)^{k}\le1/100 ( 2/3 ) k ≤ 1/100 を満たす最小のk k k を求める。( 2 3 ) 11 = 2048 177147 = 0.011561 … , ( 2 3 ) 12 = 4096 531441 = 0.007707 … \left(\frac23\right)^{11}=\frac{2048}{177147}=0.011561\ldots,\qquad \left(\frac23\right)^{12}=\frac{4096}{531441}=0.007707\ldots ( 3 2 ) 11 = 177147 2048 = 0.011561 … , ( 3 2 ) 12 = 531441 4096 = 0.007707 … である。ここで3 11 = 177147 3^{11}=177147 3 11 = 177147 、3 12 = 531441 3^{12}=531441 3 12 = 531441 、2 11 = 2048 2^{11}=2048 2 11 = 2048 、2 12 = 4096 2^{12}=4096 2 12 = 4096 である。0.011561 > 0.01 0.011561>0.01 0.011561 > 0.01 かつ0.007707 < 0.01 0.007707<0.01 0.007707 < 0.01 であるから、求める最小のk k k は12 12 12 である。
実行時間との対比 。Q Q Q の判定に高々c c c ステップを要するとすると、A ( 12 ) A^{(12)} A ( 12 ) の実行時間は定理 5.1 (4) より12 c 12c 12 c 以下である。すなわち、実行時間を定数倍だけ増やして誤り確率を2 / 3 2/3 2/3 から1 / 100 1/100 1/100 以下へ下げている。誤り確率をη \eta η 以下にするための反復回数はη \eta η を小さくするにつれて増えるが、その増え方は1 / η 1/\eta 1/ η に比例するのではなく、( 2 / 3 ) k (2/3)^{k} ( 2/3 ) k という幾何的な減少の逆であるから、η \eta η を10 10 10 分の1 1 1 にするごとに一定数の反復を加えれば足りる。実際、( 2 / 3 ) 6 = 64 / 729 = 0.087791 … (2/3)^{6}=64/729=0.087791\ldots ( 2/3 ) 6 = 64/729 = 0.087791 … であり、6 6 6 回の反復ごとに誤り確率が1 / 10 1/10 1/10 以下の割合になる。
6 演習
問題 6.1.
命題 2.2 (1) の証明を、k = 3 k=3 k = 3 の場合について帰納法の形を使わずに書き下せ。分配法則を用いる箇所を明示せよ。
命題 2.2 (3) の証明で、残りの添字についてB i = Ω 0 B_i=\Omega_0 B i = Ω 0 と置いた。この置き換えが (1) の適用を可能にする理由と、P 0 ( Ω 0 ) = 1 \mathbb P_0(\Omega_0)=1 P 0 ( Ω 0 ) = 1 が最後にどのように用いられるかを述べよ。
命題 4.2 (2) の証明をθ ∈ ( 0 , 1 ) \theta\in(0,1) θ ∈ ( 0 , 1 ) の場合について再現せよ。θ = 1 \theta=1 θ = 1 の場合を別に扱う必要がある理由を、q = 0 q=0 q = 0 のときの等比級数の扱いに注目して述べよ。
定理 4.5 の証明で、N m N_m N m を導入せずにE [ N ] \mathbb E[N] E [ N ] を直接無限和として書くことができない理由を、§E9.6 定義 1.1 が非負単 関数についての定義であることに即して述べよ。
定理 4.5 の証明を修正して、E [ N 2 ] \mathbb E[N^{2}] E [ N 2 ] を求めよ。§E11.5 補題 1.1 の第三の等式を用いること。得られた値からVar ( N ) \operatorname{Var}(N) Var ( N ) を計算せよ。
例 4.6 で用いた各点の等式min ( N , K ) = ∑ j = 0 K − 1 1 { N > j } \min(N,K)=\sum_{j=0}^{K-1}\mathbf 1_{\{N>j\}} min ( N , K ) = ∑ j = 0 K − 1 1 { N > j } を、N ( k ) ≤ K N(k)\le K N ( k ) ≤ K の場合とN ( k ) > K N(k)>K N ( k ) > K の場合に分けて証明せよ。この等式と命題 4.2 (2) からE [ min ( N , K ) ] \mathbb E[\min(N,K)] E [ min ( N , K )] の閉じた式を導け。
定理 5.1 (2) の証明を、A ( k ) A^{(k)} A ( k ) の出力を最大値ではなく「一度でも1 1 1 が出たら1 1 1 」と言い換えた形で再現せよ。この二つの定め方が一致することを、A A A の出力が0 0 0 と1 1 1 に限ることから示せ。
定理 5.1 を、両側に誤りをもつアルゴリズムへそのまま適用することができない理由を指摘せよ。x ∉ L x\notin L x ∈ / L のときにも誤りうるアルゴリズムでは、(1) の結論がどこで破綻するかを述べよ。
定理 5.1 (3) の証明では§B1.7 定理 2.1 を用いた。同じ結論を、δ ∈ ( 0 , 1 ) \delta\in(0,1) δ ∈ ( 0 , 1 ) に対し( 1 − δ ) k ≤ 1 1 + k δ ′ (1-\delta)^{k}\le\dfrac{1}{1+k\delta'} ( 1 − δ ) k ≤ 1 + k δ ′ 1 となるようなδ ′ \delta' δ ′ を見つける形で導くことを試み、どのような不等式が必要になるかを述べよ。
例 4.6 の手続きを、試行回数をK K K 回で打ち切り、K K K 回とも失敗したときはS S S の任意の元を出力する手続きへ変える。この打ち切り版が定義 1.1 の乱択アルゴリズムであることを、内部乱数の集合をR = S K R=S^{K} R = S K と取って確かめよ。とくに、打ち切り版は実行ステップ数が全域で定まる点が、定義 4.3 の打ち切り無しの手続きと異なることを述べよ。そのうえで、打ち切り版が定義 3.1 (1) と (2) のどちらの型になるかを述べ、その誤り確率をK K K で表せ。
7 つまずいたら
確率は内部乱数の上にあり、入力の上には無い 。注意 1.2 のとおり、本記事のすべての確率と期待値は入力を固定したうえでのものである。「平均的な入力では速い」という主張と、「どの入力についても期待実行時間が短い」という主張を混同しない。後者だけが本記事の保証である。
打ち切り無しの反復は、内部乱数の有限集合をもたない 。定義 4.3 の手続きは定義 1.1 の乱択アルゴリズムではないので、定義 3.1 (1) をそのまま適用することができない。Las Vegas 性は検証可能性として別に定義されている。試行回数をK K K 回で打ち切れば内部乱数の集合はR 0 K R_0^{K} R 0 K という有限集合になり、乱択アルゴリズムの枠へ戻る。
打ち切り無しの反復の停止性は、変量による議論では示すことができない 。注意 4.4 のとおり、§D2.8 命題 1.4 の意味で各反復ごとに狭義に減少する非負整数値の変量は存在しない。停止についての主張は、j j j 回目までに成功しない確率が0 0 0 へ近づくという形になる。
期待試行回数が有限であることと、必ず有限回で止まることは別である 。定理 4.5 はE [ N ] = 1 / θ \mathbb E[N]=1/\theta E [ N ] = 1/ θ を与えるが、これは試行回数に上限があることを意味しない。どのj j j についてもP θ ( N > j ) = ( 1 − θ ) j > 0 \mathbb P_{\theta}(N>j)=(1-\theta)^{j}>0 P θ ( N > j ) = ( 1 − θ ) j > 0 である(θ < 1 \theta<1 θ < 1 のとき)。
一側誤りの反復では、答が0 0 0 である入力の扱いが本質的である 。定理 5.1 (1) が成り立つのは、答が0 0 0 である入力でアルゴリズムが決して1 1 1 を出力しないからである。この性質が無ければ、最大値を取る反復は誤り確率を増やす。
誤り確率の上界は、その入力について一度実行したときの保証である 。定義 3.1 (2) のη \eta η は、同じ入力に対して同じ乱数を使い回した場合には改善しない。減少が起こるのは、定義 2.1 の意味で独立な乱数を用いた場合だけである。
反復回数と誤り確率の関係は幾何的である 。例 5.2 のとおり、誤り確率を10 10 10 分の1 1 1 にするために必要な追加の反復回数は一定である。誤り確率の逆数に比例する回数が必要になるのではない。
8 扱った範囲と次の記事
本記事では、固定した入力に対する内部乱数の有限確率空間を定め、k k k 回の独立反復に対応する直積確率空間を構成して、事象の確率が各回の確率の積へ分解することと射影が相互独立であることを証明した。Las Vegas 型と Monte Carlo 型を区別し、打ち切り無しの反復については検証つき反復アルゴリズムとして別に Las Vegas 性を定めた。そのうえで、成功確率θ \theta θ の試行を成功するまで繰り返すときの試行回数の期待値が1 / θ 1/\theta 1/ θ であること、および成功確率δ \delta δ で一側誤りをもつアルゴリズムのk k k 回の独立反復が誤り確率を( 1 − δ ) k (1-\delta)^{k} ( 1 − δ ) k 以下へ下げることを証明した。いずれも六元集合の上の具体例で数値を計算した。
両側に誤りをもつアルゴリズムを多数決によって改良する議論、確率的計算量クラス、および乱択によって最悪計算量そのものを下げるアルゴリズムは扱っていない。乱数の質、すなわち擬似乱数の生成についても扱っていない。
次の記事では、乱数を用いずに、最適解に対する保証つきの近似解を多項式時間で求めるアルゴリズムを扱う。近似比を定義し、極大マッチングから構成する頂点被覆と、貪欲な集合被覆について、近似保証を証明する。