Processing math: 1%

2022年2月3日木曜日

単純ランダムウォークの到達時間と全訪問時間のまとめ

概要

連結無向グラフ上の単純ランダムウォークの到達時間(hitting time)と全訪問時間(cover time)に関する様々な結果を紹介します. 前半で諸定義を書き後半は軽いサーベイになっています.

1. 用語と定義


この章は基本的な用語の定義だけなのでよく分からなければ読み飛ばしても大丈夫です. 本記事では有限集合V上の離散時間マルコフ連鎖(X_t)_{t\geq 0}ランダムウォークと呼ぶことにします. 便宜上, 集合Vを頂点集合と呼びその要素v\in Vを頂点と呼ぶことにします. 遷移確率が時刻に依存せず一定であれば, (X_t)は斉時的である (time-homogeneous) といいます. 以下では断りなく(X_t)はtime-homogeneousなランダムウォークを表すこととし, その遷移確率行列をPと表記します. 即ち, P\in[0,1]^{V\times V}であって(X_t)
\Pr[X_{t+1}=v\mid X_t=u] = P(u,v)
の遷移規則を満たす確率変数列です. 数直線上のランダムウォークなどを考えるとV=\mathbb{Z}は無限集合になることもあり, この時はPは行列ではなく線形作用素と見なすことになりますが, ここではそのようなケースは考慮しません.

Pと初期点X_0を与えると(X_t)の軌道の分布が定まります. X_tの分布をx_t\in[0,1]^Vとすると, x_{t}=x_{t-1} P = \dots = x_0 P^tを満たします. 大袈裟に言ってしまえば, (X_t)の分布を調べることはP^tの性質を調べることと同義なので, 線形代数が重要になってくることは想像に難くないと思います. 特に, Pがその定常分布から誘導される計量(内積空間)において自己随伴的であることを仮定することが多く (これを可逆性; reversibility), この場合は特に実固有値を持ち, 特にCourant–Fischerの定理を使うことによって混交時間 (mixing time)などを抑えることができます. これらの基礎をちゃんと学びたい人は Reversible Markov Chains and Random Walks on GraphsMarkov Chains and Mixing Times などの教科書がオススメです.

例(単純ランダムウォーク)

無向グラフG=(V,E)の頂点u\in Vの次数を\deg(u)とします. 

\begin{align*} P(u,v) = \begin{cases} \frac{1}{\deg(u)} & \text{if }uv\in E,\\ 0 & \text{otherwise}\end{cases}\end{align*}

によって定義されるPによって定まる(X_t)単純ランダムウォーク(simple random walk; SRW) といいます. 言い換えると, 隣接頂点から一様ランダムに頂点を選びそこに遷移する過程で, 最も有名なランダムウォークだと思います. X_tの分布のベクトルx_t\in[0,1]^Vに対し, \lim_{t\to\infty}x_tは収束するでしょうか?

結論から言うとNOとなる例が存在します. 無向二部グラフ上の単純ランダムウォークを考えてみましょう. すると左右の頂点集合に交互に移動することになるので, x_tは収束しないことがすぐわかります.

このようなランダムウォークの周期性 (periodicity) を除去するために, 確率1/2で今の位置にとどまるような以下のPで定まるランダムウォークを考えてみましょう:

\begin{align*} P(u,v) = \begin{cases} \frac{1}{2} & \text{if }u=v,\\ \frac{1}{2\deg(u)} & \text{if }uv\in E,\\ 0 & \text{otherwise}.\end{cases}\end{align*}

自己ループをくっつけたので, 先ほどの二部グラフのような周期性は除外され, 実はx_tの集束することが証明できます (Gの無向性は必要). このようなランダムウォークは遅延単純ランダムウォーク (lazy simple random walk; LSRW) と呼びます (lazyの和訳でよく使われるものを知らないのでとりあえずここでは遅延と呼ぶことにします).



1.1. 到達時間, 全訪問時間, 混交時間


V上のランダムウォーク(X_t)_{t\geq 0}を考えます. 二つの頂点u,vに対し確率変数\tau_{\mathrm{hit}}(u,v)=\min\{t\geq 0\colon X_t=v,X_0=u\}
を考えます. これは頂点uからスタートして頂点vに初めて到達するまでに要する時間を意味します. 定義より明らかに\tau_{\mathrm{hit}}(u,u)=0です.
t_{\mathrm{hit}}=\max_{u,v\in V}\mathrm{E}[\tau_{\mathrm{hit}}(u,v)]
到達時間(hitting time)と呼びます. 以降, ``\tau"が付くものは確率変数で``t"がつくものはそれの期待値だと思ってください.

次に, 全訪問時間(cover time)を定義します. 頂点uに対し確率変数
\tau_{\mathrm{cov}}(u)=\min\{t\geq 0\colon \{X_0,\dots,X_t\}=V,X_0=u\}
を定義します. これはuを始点としたランダムウォークが全ての頂点に少なくとも1回ずつ到達するのに要した時間を表す確率変数です.
t_{\mathrm{cov}}=\max_{u\in V}\mathrm{E}[\tau_{\mathrm{cov}}(u)]
(X_t)全訪問時間(cover time) と呼びます.

1.2. SRWに対する有名なバウンド


この節では連結無向グラフG上のSRWの到達時間と全訪問時間のバウンドに関する既存結果だけを簡単に紹介します. LSRWを考えても期待値的に値は2倍しか変わりません. Gの頂点数をn, 辺数をmとします.

自己ループ付きの完全グラフ上のSRWの全訪問時間はクーポンコレクター問題になり, 古くから研究されており, t_{\mathrm{cov}}=(1+o(1))n\log nです.

n頂点のパスグラフは最悪な始点として端の頂点を考えればよく, この場合はもう一方の端の頂点に到達するまでに要する時間を考えればt_{\mathrm{hit}}=t_{\mathrm{cov}}=\Theta(n^2)が示せます. \Theta(n^2)の直感としては, 無限の数直線\mathbb{Z}上のTステップの単純ランダムウォークはT個の独立なRademacher確率変数 (一様に\pm 1のいずれかを出力する確率変数)の和として表すことができ, 中心極限定理よりTステップ後の座標は絶対値が大体\Theta(\sqrt{T})くらいになります. nだけずれるのに要する時間は\Theta(\sqrt{T})=nTについて解いてT=\Theta(n^2)を得ます.

明らかに到達時間は全訪問時間の下界になるためt_{\mathrm{hit}}\leq t_{\mathrm{cov}}なのですが, 実はt_{\mathrm{cov}}=O(\log n\cdot t_{\mathrm{hit}})が任意のグラフで成り立ちます. これはランダムウォークの文脈ではMatthew's bound [Matthew, Ann. Probab. 88]などと呼ばれる非常に有名なテクニックです.

Aleliunasら [Aleliunas, Karp, Lipton, Lovász, and Rackoff, FOCS1979]は任意の連結グラフに対しt_{\mathrm{cov}}\leq 2m(n-1)を証明しました. この証明は全域木に沿った軌道を考えそれぞれの辺に対するedge commute timeの総和を考えることで得られており, 1ページほどにまとめられていて面白いです.

Kahnら [Kahn, Linial, Nisan, Saks, J. Theor. Probab., 1989]は\frac{m}{2d_{\min}}\leq t_{\mathrm{hit}} \leq t_\mathrm{cov}\leq 16mn/d_{\min} (d_{\min}は最小次数) を示しました. ここから系として, 正則グラフに対するt_{\mathrm{cov}}=O(n^2)というバウンドが得られます. この定理の証明はAleliunasらの証明における全域木を巧妙に構成することによって得られています. この上界は定数倍を除いてタイトで, t_{\mathrm{hit}}=\Omega(n^2)$を満たす3正則グラフが構成されています (cf. Aldous--Fill本).

Aleliunasらの上界がタイトになる例も知られており[Brightwell, Winkler, RSA1990]はロリポップグラフと呼ばれるグラフがt_{\mathrm{hit}}=(4/27+o(1))n^3になることを証明し, Feige [Feige, RSA1995]は任意の連結グラフでt_{\mathrm{cov}}=(4/27)n^3+O(n^{2.5})となることを証明しました.





0 件のコメント:

コメントを投稿

講義資料をNotionで書いてみた

 プログラミング応用という名前の講義を受け持っており, そこで組合せ最適化のベーシックな話題とそのPythonでの実装を教えているのですが, 資料をNotionで書いてみました. 講義資料をNotionで公開しているのでアルゴリズムの基礎とかNP困難性とかを勉強したい人はどう...