ラプラシアン行列

提供: testwiki
ナビゲーションに移動 検索に移動

テンプレート:Otheruses グラフ理論数学的分野において、ラプラシアン行列(ラプラシアンぎょうれつ、テンプレート:Lang-en-short)は、グラフ行列表示(行列表現)である。アドミタンス行列 (admittance matrix)、キルヒホッフ行列 (Kirchhoff matrix)、離散ラプラシアン (discrete Laplacian)、またはラプラス行列と呼ばれることもある。ラプラシアン行列はグラフの多くの有用な性質を探るために使うことができる。テンプレート:仮リンクと一緒に、任意のグラフについての全域木の数を計算するために使うことができる。グラフの最疎カットテンプレート:仮リンクによってそのラプラシアンの2番目に小さい固有値を使って近似することができる 。また、テンプレート:仮リンクを構築するためにも使うことができる。これは、様々な機械学習応用のために有用かもしれない。

定義

単純グラフのラプラシアン行列

n個の頂点を持つ単純グラフ(ループや多重辺を持たない無向グラフ)を考えると、そのラプラシアン行列Ln×nは以下の式で定義される[1]

L=DA

上式において、Dはグラフの次数行列A隣接行列である。Gは単純グラフであるから、Aの成分は1または0のみであり、その対角要素は全て0である。

テンプレート:仮リンクの場合は、入次数または出次数のいずれかが、用途に応じて用いられるであろう。

Lの要素は式

Li,j:={deg(vi)if i=j1if ij and vi is adjacent to vj0otherwise

により与えられる。上式において、deg(vi)は頂点iの次数である。

対称正規化ラプラシアン

対称正規化ラプラシアン行列は

Lsym:=D12LD12=ID12AD12,

として定義される[1]

Lsymの要素は

Li,jsym:={1if i=j and deg(vi)01deg(vi)deg(vj)if ij and vi is adjacent to vj0otherwise.

によって与えられる。

酔歩正規化ラプラシアン

酔歩正規化ラプラシアン行列は

Lrw:=D1L=ID1A

として定義される。

Lrwの要素は

Li,jrw:={1if i=j and deg(vi)01deg(vi)if ij and vi is adjacent to vj0otherwise.

によって与えられる。

一般化ラプラシアン

一般化ラプラシアンQ

{Qi,j<0if ij and vi is adjacent to vjQi,j=0if ij and vi is not adjacent to vjany numberotherwise.

として定義される[2]

普通のラプラシアンは一般化ラプラシアンであることが分かる。

以下はラベル付けされた無向グラフとそのラプラシアン行列の単純な例である。

テンプレート:仮リンク 次数行列 隣接行列 ラプラシアン行列
(200000030000002000000300000030000001) (010010101010010100001011110100000100) (210010131010012100001311110130000101)

性質

(無向)グラフG固有値λ0λ1λn1を持つそのラプラシアン行列Lについて:

  • Lは対称である。
  • L半正定値である(すなわち全てのiについてλi0)。これは接続行列の節で検証される。これは、ラプラシアンが対称であり、テンプレート:仮リンクであるという事実からも見ることができる。
  • LM-行列である(その非対角成分は非正であり、そのうえその固有値の実部は非負である)。
  • Lの全ての行の和と列の和はゼロである。実際、和の計算において、頂点の次数には隣接する頂点ごとに「−1」が足される。
  • その結果、λ0=0となる。これは、ベクトル𝐯0=(1,1,,1)L𝐯0=𝟎を満たすためである。これは、ラプラシアン行列が特異行列であることも暗示する。
  • グラフ中のテンプレート:仮リンクの数はラプラシアンの零空間の次元であり、0固有値の代数的多重度である。
  • Lの最小の非ゼロ固有値はテンプレート:仮リンクと呼ばれる。
  • Lの2番目に小さな固有値(ゼロかもしれない)はGテンプレート:仮リンク(Fiedler値)であり、グラフの最疎カットを近似する。
  • ラプラシアンは、関数f:VVGの頂点セット、n=|V|)のn次元ベクトル空間上の作用素である。
  • Gがk正則である時、正規化ラプラシアンは=1kL=I1kAである(Aは隣接行列、Iは単位行列)。
  • 複数の連結成分を持つグラフについて、L区分対角行列であり、それぞれの区分はそれぞれの成分についての(場合によると頂点を順序付けし直した後の)各ラプラシアン行列である(すなわちLは区分対角行列と置換相似である)。
  • ラプラシアン行列L(トレース)は2mmは考慮されているグラフの辺の数)と等しい。

接続行列

Mev={1,if v=i1,if v=j0,otherwise.

によって与えられる辺e(頂点ijを連結している; i > j)と頂点vについて要素Mテンプレート:Subを持つ|e|×|v|有向接続行列Mを定義する。

次に、ラプラシアン行列L

L=MTM,

を満たす(MTM転置行列)。

ここで、単位ノルム固有値ベクトル𝐯iおよび対応する固有値λiを使ったL固有値分解を考える。

λi=𝐯iTL𝐯i=𝐯iTMTM𝐯i=(M𝐯i)T(M𝐯i)

λiはベクトルM𝐯iとそれ自身の内積として書くことができるため、これはλi0であり、したがってLの固有値は全て非負であることを示す。

変形ラプラシアン

変形ラプラシアン(deformed laplacian)は通常以下のように定義される。

Δ(s)=IsA+s2(DI)

上式において、Iは単位行列、Aは隣接行列、Dは次数行列、sは(複素)数である。ここで留意すべきは、標準的なラプラシアンは単にΔ(1)となることである[3]

対称正規化ラプラシアン

(対称)正規化ラプラシアンは以下のように定義される。

Lsym:=D12LD12=ID12AD12

上式において、Lは(非正規化)ラプラシアン、Aは隣接行列、Dは次数行列である。次数行列D対角行列で正であるため、その逆数平方根D12は単にその対角成分がDの対角成分の正の平方根の逆数である対角行列となる。対称正規化ラプラシアンは対称行列である。

Lsym=SS*が存在する。Sは、列が頂点によって添え字を付けられ、行がGの辺によって添え字が付けられた行列である。これらは、辺e = {u, v} に対応するそれぞれの行がuに対応する列において成分1duを、vに対応する列において成分1dvを、それ以外では0成分を持つことになるように索引付けされる(注: S*はSの転置行列を示す)。

正規化ラプラシアンの全ての固有値は実数かつ非負である。これは以下のように見ることができる。Lsymは対称であるため、その固有値は実数である。これらの固有値は全て非負である。固有値λを持つLsymの固有ベクトル gを考え、g=D12fを仮定する(gおよびfを頂点v上の実関数と見なすことができる)。すると、

λ=g,Lsymgg,g=g,D12LD12gg,g=f,LfD12f,D12f=uv(f(u)f(v))2vf(v)2dv0

となる。ここでは内積f,g=vf(v)g(v)(全ての頂点vにわたる和)を用い、uvは隣接頂点 {u,v} の全てのテンプレート:仮リンクにわたる和を示す。量u,v(f(u)f(v))2はfの「ディリクレ和」と呼ばれるが、式g,Lsymgg,gはgのレイリー商と呼ばれる。

1をそれぞれの頂点上に値1を想定する関数とする。すると、D121は固有値0を持つLsymの固有関数である[4]

実際、正規化対称ラプラシアンの固有値は0 = μテンプレート:Sub ≤ … ≤ μテンプレート:Sub ≤ 2を満たす。これらの固有値(正規化ラプラシアンのスペクトルと呼ばれる)は、一般グラフに対するその他のグラフ不変量とよく関連する[5]

酔歩正規化ラプラシアン

酔歩 (random walk) 正規化ラプラシアン

Lrw:=D1L

として定義される。Dは次数行列である。次数行列D対角行列であるため、その逆行列D1は単純に対角行列として定義され、これはDの対応する正の対角成分の逆数である対角成分を持つ。

孤立した頂点(次数が0)について、一般的な選択は対応する要素Li,irwを0にすることでる。

この慣習によって、固有値0の多重度がグラフの連結した構成要素の数と等しくなるという良い性質がもたらされる。

Lrwの行列要素は以下の式で与えられる。

Li,jrw:={1if i=j and deg(vi)01deg(vi)if ij and vi is adjacent to vj0otherwise

酔歩正規化ラプラシアンの名称は、この行列がLrw=IPP=D1Aは単純にグラフ上の酔歩者〈ランダムウォーカー〉の遷移行列)という事実から来ている。例えば、eiがi番目の標準基底ベクトルを示すものとする。すると、x=eiPは頂点iから一歩進んだ後の酔歩者の位置の分布を示すテンプレート:仮リンクである; すなわち、 xj=(vivj)。より一般的には、もしベクトルxがグラフの頂点上の酔歩者の位置の確率分布であるとすれば、x=xPtt歩後の酔歩者の確率分布である。

Lrw=ID12(ILsym)D12

となることを確認することができる。

すなわち、Lrwは正規化ラプラシアンLsymと類似している。この理由のため、Lrwがたとえ一般にエルミート行列でないとしても、実固有値を持つ。実際、その固有値は(エルミート行列である)Lsymのものと一致する。

グラフ

グラフ上の酔歩に関する余談として、単純無向グラフを考える。酔歩者が時間tに頂点iにいる確率を考え、酔歩者が時間t-1に頂点jにいた確率分布を仮定する(任意の頂点に結合したいかなる辺に沿った一歩について一様の見込みを仮定する):

pi(t)=jAijdeg(vj)pj(t1),

または行列-ベクトル記法で:

p(t)=AD1p(t1).

tとして設定される平衡はp=AD1pとして定義される。)

この関係は

D12p(t)=[D12AD12]D12p(t1)

と書き直すことができる。

AreducedD12AD12簡約隣接行列と呼ばれる対称行列である。したがって、この酔歩者の一歩はAreducedの累乗を必要とする。Areducedは対称行列であるため、これは単純な操作である。

離散ラプラス演算子としての解釈

ラプラシアン行列は、テンプレート:仮リンクの特定の事例の行列表現として解釈することができる。このような解釈によって、例えば、ラプラシアン行列を無限の数の頂点と辺を持つグラフ(無限サイズのラプラシアン行列となる)の場合に一般化することが可能となる。

ϕがグラフにわたる熱分布を記述すると想定する(ϕiは頂点iにおける熱である)。ニュートンの冷却の法則に従えば、節iと節jの間を移る熱は、もし節iと節jが連結されているならば、ϕiϕjに比例する(節が連結されていないならば、熱は移らない)。

すると、熱用量kについて、

dϕidt=kjAij(ϕiϕj)=k(ϕijAijjAijϕj)=k(ϕi deg(vi)jAijϕj)=kj(δij deg(vi)Aij)ϕj=kj(ij)ϕj.

行列-ベクトル記法では、

dϕdt=k(DA)ϕ=kLϕ

これから、

dϕdt+kLϕ=0

が得られる。

この方程式が、行列 −Lがラプラス演算子2を置き換えているテンプレート:仮リンクと同じ形式であることに気付く。ゆえに、Lは「グラフラプラシアン」と呼ばれる。

この微分方程式の解を探すため、1階のテンプレート:仮リンクを解くための標準的な技法を適用する。すなわち、Lの固有ベクトル𝐯iL𝐯i=λi𝐯i)の線形結合としてϕを書く。時間に依存するϕ=ici𝐯i

元の式に代入する(ここで留意すべきは、Lが対称行列であるためにその単位ノルム固有ベクトル𝐯iは直交であるという事実を用いる点である):

d(ici𝐯i)dt+kL(ici𝐯i)=0i[dcidt𝐯i+kciL𝐯i]=i[dcidt𝐯i+kciλi𝐯i]=dcidt+kλici=0

この解

ci(t)=ci(0)ekλit

である。

前掲のように、Lの固有値λiは非負であり、これは微分方程式の解が(指数関数的に減衰するか一定に留まるかのいずれかのみであるため)平衡に近づくことを示している。これは、λiと初期条件ci(0)が与えられれば、いかなる時点における解も見つけることができることも示している[6]。全体の初期条件ϕ(0)の観点からそれぞれのiに対するci(0)を探すためには、単純にϕ(0)を単位ノルム固有ベクトル𝐯iへと射影する。

ci(0)=ϕ(0),𝐯i

無向グラフの場合は、Lが対称行列であるためこれはうまくいき、スペクトル定理によって、その固有ベクトルは全て直交する。そのため、Lの固有ベクトルに対する射影は単純に、指数関数的に減衰し、互いに独立な一連の座標への初期条件の直交座標変換である。

平衡挙動

limtϕ(t)を理解するためには、残る項ci(t)=ci(0)ekλitλi=0のもののみであることに留意すべきである。これは

limtekλit={0ifλi>01ifλi=0}

となるためである。

言い換えると、系の平衡状態はLによって完全に決定される。

なぜなら定義jLij=0によれば、全てが1のベクトル𝐯1は核内にある。また、グラフ中にk個の互いに素な連結成分が存在するならば、この全てが1のベクトルは1と0からなるk個の独立なλ=0固有ベクトルの和へと分割できる。それぞれの連結成分は連結成分中の要素では1を持つ固有ベクトルと、その他の場所では0を持つ固有ベクトルと対応している。

この結果は、N個の頂点を持つグラフについて任意の初期条件c(0)では、

limtϕ(t)=c(0),𝐯𝟏𝐯𝟏

となる。上式において、

𝐯𝟏=1N[1,1,...,1]

である。

ϕの個々の要素ϕj、すなわちグラフ中の個々の頂点jについて、これを

limtϕj(t)=1Ni=1Nci(0)

と書き直すことができる。

言い換えると、定常状態では、ϕの値はグラフの個々の頂点において同じ値に収束する。この値は全ての頂点の初期値の平均である。これは熱拡散方程式の解であるため、直感的に完全に筋が通っている。グラフ中で隣接する要素は、エネルギーが互いに連結した全ての要素にわたって均等に広がるまでエネルギーを交換することが予測される。

グリッド上の作用素の例

このGIFは、グラフラプラシアン法によって解かれたような拡散の進行を示している。グラフはグリッドにわたって構築され、グラフ中の個々のピクセルは隣接している8個のピクセルに連結している。次に、画像中の値はこれらの連結を介して隣接ピクセルへと滑らかに拡散する。この画像は、3つの点に強い値を持つ状態から始まり、この値はゆっくりと隣へ波及する。系全体は最終的に平衡に達すると同じ値に落ち着く。

本節では、グラフにわたって経時的に拡散する関数ϕの例を示す。この例中のグラフは2次元離散グリッド上に構築され、グリッド上の点は8個の隣接点と連結している。3つの初期点は正の値を持つと指定されているのに対し、グリッド中の残りの値は0である。経時的に、指数関数的減衰によってグリッド全体へとこれらの点上の値が均等に分布する。

このアニメーションを生成するために使われた完全なMATLABのソースコードを以下に示す。ソースコードは、初期条件の指定、これらの初期条件のラプラシアン行列の固有値への射影、これらの射影された初期条件の指数関数的減衰のシミュレーションの過程を示す。

N = 20;%The number of pixels along a dimension of the image
A = zeros(N, N);%The image
Adj = zeros(N*N, N*N);%The adjacency matrix

%Use 8 neighbors, and fill in the adjacency matrix
dx = [-1, 0, 1, -1, 1, -1, 0, 1];
dy = [-1, -1, -1, 0, 0, 1, 1, 1];
for x = 1:N
   for y = 1:N
       index = (x-1)*N + y;
       for ne = 1:length(dx)
           newx = x + dx(ne);
           newy = y + dy(ne);
           if newx > 0 && newx <= N && newy > 0 && newy <= N
               index2 = (newx-1)*N + newy;
               Adj(index, index2) = 1;
           end
       end
   end
end

%%%BELOW IS THE KEY CODE THAT COMPUTES THE SOLUTION TO THE DIFFERENTIAL
%%%EQUATION
Deg = diag(sum(Adj, 2));%Compute the degree matrix
L = Deg - Adj;%Compute the laplacian matrix in terms of the degree and adjacency matrices
[V, D] = eig(L);%Compute the eigenvalues/vectors of the laplacian matrix
D = diag(D);

%Initial condition (place a few large positive values around and
%make everything else zero)
C0 = zeros(N, N);
C0(2:5, 2:5) = 5;
C0(10:15, 10:15) = 10;
C0(2:5, 8:13) = 7;
C0 = C0(:);

C0V = V'*C0;%Transform the initial condition into the coordinate system
%of the eigenvectors
for t = 0:0.05:5
   %Loop through times and decay each initial component
   Phi = C0V.*exp(-D*t);%Exponential decay for each component
   Phi = V*Phi;%Transform from eigenvector coordinate system to original coordinate system
   Phi = reshape(Phi, N, N);
   %Display the results and write to GIF file
   imagesc(Phi);
   caxis([0, 10]);
   title(sprintf('Diffusion t = %3f', t));
   frame = getframe(1);
   im = frame2im(frame);
   [imind, cm] = rgb2ind(im, 256);
   if t == 0
      imwrite(imind, cm, 'out.gif', 'gif', 'Loopcount', inf, 'DelayTime', 0.1);
   else
      imwrite(imind, cm, 'out.gif', 'gif', 'WriteMode', 'append', 'DelayTime', 0.1);
   end
end

負の連続的ラプラシアンに対する近似

グラフラプラシアン行列は、有限差分法によって得られた(半正定値)ラプラシアン作用素に対する近似の行列形式としてさらに見ることができる[7]。この解釈では、グラフの全ての頂点はグリッド点として扱われる; 頂点の局所連結性はグリッド点における有限差分近似テンプレート:仮リンクを決定し、グリッドのサイズは常に全ての辺について1であり、いかなるグリッド点上にも制約はない。これは斉次なノイマン境界条件、すなわち自由境界の場合に相当する。

有向多重グラフ

ラプラシアン行列の類似物は、有向多重グラフに対しても定義することができる[8]。この場合、ラプラシアン行列L

L=DA

と定義される。上式においてDは頂点iの出次数と等しいDテンプレート:Subを持つ対角行列、Aiからjへの辺の数(ループを含む)と等しいAテンプレート:Subを持つ行列である。

出典

テンプレート:Reflist

参考文献

関連項目

外部リンク