集中講義(九州大学数理学研究院)...

37
集集集集 集集集集集集集集集集集 () 集集集集集集集集集集集集集集集集集集 集集集集集集(4) 集集集集集集集集集集集 集集集 集集 集集集集 集集集集集 集集集集集集集集集集集集集集集集

Upload: conley

Post on 09-Jan-2016

57 views

Category:

Documents


1 download

DESCRIPTION

集中講義(九州大学数理学研究院) バイオ構造データに対する数理モデルと アルゴリズム(4) ブーリアンネットワーク. 阿久津 達也 京都大学 化学研究所 バイオインフォマティクスセンター. 内容. ブーリアンネットワーク 定常状態の高速検出アルゴリズム 確率ブーリアンネットワーク 制御系列計算のアルゴリズム 代謝ネットワークのブーリアンモデルと頑健性解析. 計算量. 情報科学では、 入力データのサイズ( n ) に対して、計算時間がどのように変化するかを理論的に解明することが重要 O( n ) : かなり速い(文字列検索など) - PowerPoint PPT Presentation

TRANSCRIPT

集中講義(九州大学数理学研究院)バイオ構造データに対する数理モデルと

アルゴリズム(4)ブーリアンネットワーク

阿久津 達也

京都大学 化学研究所バイオインフォマティクスセンター

内容 ブーリアンネットワーク 定常状態の高速検出アルゴリズム 確率ブーリアンネットワーク 制御系列計算のアルゴリズム 代謝ネットワークのブーリアンモデ

ルと頑健性解析

計算量 情報科学では、入力データのサイズ (n) に対して、計算時間

がどのように変化するかを理論的に解明することが重要 O(n): かなり速い(文字列検索など) O(n log n): 結構速い(ソートなど) O(n2): まあまあ速い(アライメントなど) O(n3): ちょっと遅い( RNA 二次構造予測など) O(n4): 結構遅い( Pseudo-knot つき RNA 二次構造予測など) NP 困難: すごく遅い (マルチプルアライメント、スレッディ

ングなど ) P=NP は理論計算機科学における最大の難問 P≠NP ならば、 NP 困難問題に対する理論的に効率的なアルゴリズ

ム(多項式時間アルゴリズム)は存在しない しかし、タンパク質配列などは n 1000≦ くらいなので、実用アル

ゴリズムを開発できる可能性はある

ブーリアンネットワーク

ブーリアンネットワーク 遺伝子ネットワークの数理モデル 頂点⇔遺伝子

状態:  1 ( 発現 ) と 0 ( 非発現 ) のみ 制御規則

ブール関数 (AND, OR, NOT …) もし、 y が x を直接制御していれば、 y

から x に辺が存在 状態は(クロックに)同期して変化

基本的にデジタル回路と同じ[Kauffman, The Origin of Order, 1993]

ブーリアンネットワークの例

A

B C A’ = B

B’ = A and C

C’ = not A

状態遷移表ブーリアンネットワーク

A’ B’ C’

time t time t+1

A B C

0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1

0 0 1 0 0 1 1 0 1 1 0 1 0 0 0 0 1 0 1 0 0 1 1 0

INPUT OUTPUT

状態変化の例:111 ⇒ 110 ⇒ 100 ⇒ 000 ⇒ 001 ⇒ 001 ⇒ 001 ⇒ 。。。

ブーリアンネットワーク研究の意義 単純化しすぎとの批判

でも、単純化しないと理論解析、推定、制御などが困難 シミュレーションなら複雑なモデルでも可能

定性的理解には有用(?) 最も単純な非線形システムの一つ

ブーリアンネットワークで不可能なら、他の(多くの)非線形システムでも不可能

本質的にデジタル回路と同じ 計算機科学(特にブール関数、アルゴリズム理論)

における成果や技法が利用可能

定常状態の高速計算アルゴリズム

アトラクター (1) 定常状態 細胞の種類に対応? 例

011 ⇒ 101 010 ⇒ ⇒101 010 …⇒ ⇒

111 110 100 ⇒ ⇒ ⇒000 ⇒ 001 001 ⇒ ⇒ 001 …⇒

A’ B’ C’

time t time t+1

A B C

0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1

0 0 1 0 0 1 1 0 1 1 0 1 0 0 0 0 1 0 1 0 0 1 1 0

INPUT OUTPUT

アトラクター (2)

A’ B’ C’

time t time t+1

A B C

0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1

0 0 1 0 0 1 1 0 1 1 0 1 0 0 0 0 1 0 1 0 0 1 1 0

INPUT OUTPUT

000

010

001

101100

110

011111

点アトラクター アトラクターの生物学的解釈

異なるアトラクター ⇔ 異なる種類の細胞 点アトラクター

周期が1のアトラクター (静的)定常状態に対応 以下を満たす状態 ))(,),(()( 1 tvtvt nv

)()1( tt vv

(もしくは、                ))0()1( vv

アトラクターの分布に関する研究 平均入次数を定数( K )とし、BNをランダ

ムに生成した場合のアトラクターのサイズや個数 多くの研究があるが、詳しいことはわかっていな

い 点アトラクター(非周期的)であれば平均、 1個

であることが簡単にわかる 計算機実験により、 n 頂点の場合、      個との予想 [Kauffman, The Origin of Order, 1993] があるが、正しくなさそう? [Samuelsson & Troein, PRL, 2003], [Drossel et al., PRL, 2005]

A A

入次数=2 入次数=3

)( nO

定理:各頂点に対してランダムに n 変数ブール関数を選んでブーリアンネットワークを構成した場合、周期1のアトラクターの個数は平均的に1個

証明 時刻 t=0 においてすべての頂点の状態が 0 であったとする

( すべての i について vi(0)=0 であったとする) 任意の頂点 vi について、時刻 t=1 に vi の状態が 0 とな

る( vi(1)=0 となる)確率は 1/2 よって、 すべての i について vi(1)=0 となる確率は 1/2n (

つまり、 000…0 がアトラクターとなる確率が 1/2n ) 時刻 t=0 におけるすべての状態( 000..00 から 111…1 ま

で)についての和をとることにより、周期 1 のアトラクターの個数の期待値は 2n×(1/2n) = 1

参照: [Harvey et al., ECAL, 1997; Mochizuki, JTB, 2005]

アトラクターが平均1個の理由

AB

C

Prob( A(1) =1 ) = 0.5

Prob( A(1) =0 ) = 0.5ランダムにブール関数を選ぶ

A

B

C

0

0

0

0

0

0

t=0 t=1確率 0.5

確率 0.5

確率 0.515.08

5.0111111

5.0001001

5.0000000

3

3

3

3

確率

確率

確率

アトラクターの高速計算 n 頂点の場合、 2n 個の状態があるので、   

  程度の時間かければ計算可能 小さい n にしか対応できない ヒューリスティックな高速アルゴリズムはあるが、計

算時間に理論的保証が無い          [Irons, Pysica D, 2006], [Devloo et al., Bull. Math. Biol. 2003], …

点アトラクターの有無の判定は NP完全                      [Akutsu et al., GIW

1998]

平均的に高速なアルゴリズムを開発                      [Shuqin et al., EURASIP

JBSB 2007]

)2( nO

再帰型アトラクター検出アルゴリズム(1)

.

);1,(

; somefor found is)(

;

}1,0{

;;output1

),(Procedure

return

velse

continuethenvvfif

v

doallfor

returnvthenif

v

mctorIdentAttra

mi

b

b

nm

mctorIdentAttra

ii

m

0- 1割り当てを1個目の頂点から n個目の頂点までへと順次試していき、矛盾が検出されたら後戻りする

[Zhang et al., EURASIP JBSB 2007]

再帰型アトラクター検出アルゴリズム(2)0 0

0

0

0 0

0

0 1

0

1

1

Output

再帰型アトラクター検出アルゴリズム(3) 0-1割り当てを最初の頂点から順々に探索。点アトラ

クターにならないとわかった時点でバックトラック 0 00 -> X 01 010 -> X 011 -> X 10

これは大幅な高速化 (測定値ではなく、理論値) 230 10≒ 9     1.230 240≒ 2100=1030     1.2100 80,000,000≒

小さい周期のアトラクター検出にも対応可能

K 2 3 4 5 6平均計算量

1.19n 1.27n 1.34n 1.41n 1.45n

点アトラクターの高速計算:計算量解析 全部で n個の頂点のうち m個の頂点まで 0-1割り当てを行った時、 vi(0)≠vi(1) が検出できる確率は

よって、 m個すべての頂点がアトラクターの条件を満たし、 m+1個目の頂点の 0-1割り当てがチェックされる確率は

よって、 m個の頂点に対する 0-1割り当て 2m通りのうち、次のステップに再帰呼び出しが進む回数の期待値は

よって、平均計算量は上の式において m を 1 から n まで動かした場合の最大値のオーダーとなる

K

Kn

Km

n

m

C

C

5.05.0

mK

n

m

5.01

mKm

n

m

5.012

v1

vm-1

vm

vm+1

t=0 t=1

K

最悪時の時間計算量 入次数 K 以下の BN の点アトラクター検出 (K+1)-SAT に変換可能

K=2 の場合、 O(1.322n) 時間 さらに工夫をすれば、 O((1.322-δ)n) 時間にするこ

とも可能 点アトラクター検出は K=2 でも NP 困難 ブール関数を変数とその否定の AND/OR に限

った場合には K に関わらず O(1.587n) 時間で検出可 [Melkman, Tamura & Akutsu, 2010]

アトラクター検出問題から SATへの変換

vi

vj vk

入次数 K 以下の BN の点アトラクター検出 (K+1)-SAT

ブーリアンネットワークの制御

システム生物学 北野宏明氏が提唱 e.g., [Kitano, Nature, 420:206-210, 2002]

生命システムの制御理論の構築(主要目標の一つ) 線形制御理論は確立しているが、生命システムは非線形 生命システムに対する制御理論を構築することが必要 創薬やがん治療などにつながる可能性がある

iPS 細胞では4個の転写因子を導入することにより、多能性幹細胞を構成

先行研究 ( Datta et al. ) 確率ブーリアンネットワーク ( PBN )の制御 いくつかの頂点(遺伝子)を制御可能と仮定 目標状態、初期状態を与え、目標状態にできるだけ近づ

き、かつ、コストが低い制御系列を計算 古典的制御理論に基づく動的計画法アルゴリズムを提案

⇒   2n×2n サイズの行列を扱うことが必要⇒  指数時間アルゴリズム

素朴な疑問 多項式時間で制御系列を見つけることは可能か?

NO ! [Akutsu et al., 2007]   (ただし、 P≠NP の仮定のもとで)

[Datta et al., Machine Learning, 2003]

確率ブーリアンネットワーク(PBN: Probabilistic Boolean Network) 確率ブーリアンネットワーク (PBN) 一つの頂点に対する制御規則が複数 どの制御規則が選ばれるかは(事前に定められた

確率分布に従い)ランダムに決まる 利点 :ノイズなどの影響が扱える。マルコフ過程

に関する理論が適用できる 欠点:ほとんどの場合、 O(2n) 時間以上の計算時

間がかかるため、大規模なシステムを扱えない

AB

C

A(t+1) = B(t) AND C(t)

A(t+1) = B(t) OR (NOT C(t))

確率 0.6 で

確率 0.4 で

ブーリアンネットワークの行列表現状態遷移表

A’ B’ C’

A B C 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1

0 0 1 0 0 1 1 0 1 1 0 1 0 0 0 0 1 0 1 0 0 1 1 0

111

110

101

100

011

010

001

000

0

0

0

0

0

0

0

1

00000000

10000000

00001100

01000000

00000000

00100000

00000011

00010000

0

0

0

0

0

0

1

0

))(,),(()( 1 tvtvt nv

とするとこの行列を  A  とし、

TT tt )()1( vAv

PBN の行列表現

111

110

101

100

011

010

001

000

0

0

0

0

0

0

0

1

1.0001.001.000

6.0002.00000

002.008.08.000

09.000003.00

3.000001.004.0

008.002.0000

0000007.06.0

01.007.00000

0

0

0

0

4.0

0

6.0

0

))(|)1(Pr( wvuvA uw, tt

この行列の意味は以下のとおり

Datta らのモデル 確率ブーリアンネットワークに基づく 時刻 t における全体の状態 : 制御規則: 2n×2n 行列 A A は m 個のブール変数により変化

コスト関数 C(x(t), u(t)): u(t) という制御を状態 x(t) に適用した際のコスト

C(x(t)): 最終状態 v(t) のコスト

nn txtxt }1,0{))(,),(()( 1 x

))(,),(()( 1 tutut mu

))(())(|)1(Pr( ttt uAaxbx

Datta らの制御手法 入力: 初期状態 x(0), 制御規則 A(u(t)), 目的時刻 M , コスト関数

出力: コストの合計を最小化する制御系列 u(0), u(1), …, u(M-1)

動的計画法アルゴリズム

M

t

ttCMCE0

))(),(())(( uxx)1(),())(())(|)1(Pr(

..

tttAtt

ts

xxuxx

111

0001),(

}1,0{)()())(())(),((min))((

))(())((

yyx

uyuAuxx

xx

ttt

t

T

JtttCtJ

MCMJ

m

ブーリアンネットワーク制御モデルの定式化 入力

内部頂点: v1 ,…, vn ,   制御頂点: u1 ,…, um

初期状態: v0       目標状態: vM      ブーリアンネットワーク

出力 以下を満たす制御頂点の状態系列: u(0), u(1), …, u(M)

v(0)=v0, v(M)=vM    (時刻0で初期状態、時刻Mで目標状態)

[Akutsu et al., J. Theo. Biol. 2007]

計算困難性に関する結果 制御系列を見つけるのは一般に計算困難(NP困難) ネットワークが以下のような単純な構造をしていても計算困難       ⇒ Datta らの開発したような          非効率的アルゴリズムを使うのも仕方がない

BN 制御の動的計画法アルゴリズム Datta らのアルゴリズムを BN に合わせ簡単

化 DP テーブル

状態          から目標状態に至る制御系列があれば 1 、それ以外は0

アルゴリズム(再帰式)

],,,,[ 21 tbbbD n

otherwise ,0

],,[ if ,1],,,,[ 1

21

Mn

n

bbMbbbD

v

otherwise ,0

),( and 1][

such that ),( is thereif ,1]1,,,,[

121 ubfc

uc

,t,c,cDtbbbDnn

],,,[ 21 nbbb

動的計画法アルゴリズムの説明

D[0,1,1, 3] = 1

D[1,1,1, 2] =1

u1=1, u2=1

D[0,0,0, 2] = 0

DP 計算

otherwise ,0),( and 1][

such that ),( is thereif ,1

]1,,,,[

1

21

ubfc

uc

,t,c,cD

tbbbD

n

n

ただし、 DP 表は指数サイズ

ネットワークが木構造の場合 効率よく(多項式時間で)制御系列が計算可能 木構造: ループ無しの連結グラフ

木構造 木でない構造

木構造に対するアルゴリズム (1) 基本アイデア : 以下の S[vi,t,b] という表を

、 t=0 から t=M という順に、かつ、木の葉から根へという順に、動的計画法で計算

S[vi,t,b]

otherwise,0

0)(such that )(,),1(),0(exist thereif,1]0,,[

otherwise,0

1)(such that )(,),1(),0(exist thereif,1]1,,[

tvttvS

tvttvS

ii

ii

uuu

uuu

木構造に対するアルゴリズム (2) S[vi,t,b] の計算 :

S[vi,t,b] の計算例 S[v3,t+1,1]=1 if S[v1,t,1]=1 and S[v2,t,1]=1 S[v3,t+1,0]=0 if S[v1,t,0]=1 or S[v2,t,0]=1

Note: このアルゴリズムは Datta et al. の  動的計画法アルゴリズムと本質的に異なる

otherwise,0

,,1 allfor holds 1],,[ and

holds 1),,(such that ],[exist thereif,1

]1,1,[11

kjbtvS

bbfb,b

tvSjj

kk

ii

iiii

i

まとめ ブーリアンネットワーク

頂点⇔遺伝子、制御規則⇔ブール関数 点アトラクター検出

再帰的アルゴリズム( O(2n) 時間より高速) SATへの変換  

確率ブーリアンネットワークの制御 動的計画法による指数時間アルゴリズム

ブーリアンネットワークの制御 動的計画法による指数時間アルゴリズム 木構造に対する多項式時間アルゴリズム