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