1 - 京都大学

Download Report

Transcript 1 - 京都大学

集中講義(九州大学数理学研究院)
バイオ構造データに対する数理モデルと
アルゴリズム(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
time t
time t+1
A B C
A’ B’ C’
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
INPUT
0
0
0
0
0
1
0
1
1
1
1
1
0
0
0
0
OUTPUT
状態変化の例:
111 ⇒ 110 ⇒ 100 ⇒ 000 ⇒ 001 ⇒ 001 ⇒ 001 ⇒ 。。。
ブーリアンネットワーク研究の意義

単純化しすぎとの批判

でも、単純化しないと理論解析、推定、制御などが困難



定性的理解には有用(?)
最も単純な非線形システムの一つ


シミュレーションなら複雑なモデルでも可能
ブーリアンネットワークで不可能なら、他の(多くの)非
線形システムでも不可能
本質的にデジタル回路と同じ

計算機科学(特にブール関数、アルゴリズム理論)にお
ける成果や技法が利用可能
定常状態の高速計算アルゴリズム
アトラクター (1)



定常状態
細胞の種類に対応?
例


011 ⇒ 101 ⇒ 010 ⇒
101 ⇒ 010 ⇒…
111 ⇒ 110 ⇒ 100 ⇒
000 ⇒ 001 ⇒ 001 ⇒
001 ⇒ …
time t
time t+1
A B C
A’ B’ C’
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
INPUT
0
0
0
0
0
1
0
1
1
1
1
1
0
0
0
0
OUTPUT
アトラクター (2)
time t
time t+1
A B C
A’ B’ C’
0
0
0
0
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
0
1
0
1
0
1
0
1
INPUT
0
0
0
0
0
1
0
1
1
1
1
1
0
0
0
0
OUTPUT
111
011
110
100
000
001
101
010
点アトラクター


アトラクターの生物学的解釈
 異なるアトラクター ⇔ 異なる種類の細胞
点アトラクター
 周期が1のアトラクター
 (静的)定常状態に対応
 以下を満たす状態
v(t )  (v1 (t ),, vn (t ))
v(t  1)  v(t )
(もしくは、
v(1)  v(0)
)
アトラクターの分布に関する研究

平均入次数を定数(K)とし、BNをランダムに生
成した場合のアトラクターのサイズや個数



多くの研究があるが、詳しいことはわかっていない
点アトラクター(非周期的)であれば平均、1個であるこ
とが簡単にわかる
計算機実験により、n頂点の場合、 O( n ) 個との予
想[Kauffman, The Origin of Order, 1993]があるが、正しくなさそう?
[Samuelsson & Troein, PRL, 2003], [Drossel et al., PRL, 2005]
入次数=2
A
入次数=3
A
定理:各頂点に対してランダムに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個の理由
B
Prob( A(1) =1 ) = 0.5
A
ランダムに
ブール関数を選ぶ
C
000  000 確率  0.53
t=0 t=1
A
B
C
0
0
0
0
0
0
Prob( A(1) =0 ) = 0.5
確率 0.5
確率 0.5
確率 0.5
001 001 確率  0.53

111 111 確率  0.53
 8  0.53  1
アトラクターの高速計算

n
頂点の場合、2n
n
個の状態があるので、 O(2 )
程度の時間かければ計算可能


小さい n にしか対応できない
ヒューリスティックな高速アルゴリズムはあるが、計算
時間に理論的保証が無い
[Irons, Pysica D, 2006], [Devloo et al., Bull. Math. Biol. 2003], …

点アトラクターの有無の判定はNP完全
[Akutsu et al., GIW 1998]

平均的に高速なアルゴリズムを開発
[Shuqin et al., EURASIP JBSB 2007]
再帰型アトラクター検出アルゴリズム(1)

0-1割り当てを1個目の頂点からn個目の頂点までへと
順次試していき、矛盾が検出されたら後戻りする
ProcedureIdentAttractor( v, m)
if m  n  1 the noutput v; re tu rn;
for all b  {0,1} do
v m  b;
if fi ( v)  v i is found for some i  m the ncon tin ue
;
e lseIdentAttractor( v, m  1);
re tu rn.
[Zhang et al., EURASIP JBSB 2007]
再帰型アトラクター検出アルゴリズム(2)
0
0
0
0
Output
1
0
0
0
1
0
0
1
再帰型アトラクター検出アルゴリズム(3)

0-1割り当てを最初の頂点から順々に探索。点アトラクター
にならないとわかった時点でバックトラック







これは大幅な高速化 (測定値ではなく、理論値)



0
00 -> X
01
010 -> X
011 -> X
10
230≒109
2100=1030
1.230≒240
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) が検出できる確率は
 C 
m
0.5   m K   0.5   
n
 n CK 

よって、m個すべての頂点がアトラクターの条件を
満たし、m+1個目の頂点の0-1割り当てがチェック
される確率は
K m

m
1

0
.
5

 

n





よって、m個の頂点に対する0-1割り当て2m通りの
うち、次のステップに再帰呼び出しが進む回数の
期待値は
m

m
2  1  0.5   
n

m

t=0 t=1
K
K



よって、平均計算量は上の式において m を1からn
まで動かした場合の最大値のオーダーとなる
v1
vm-1
vm
vm+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への変換
入次数 K 以下のBNの点アトラクター検出
 (K+1)-SAT

vj
vk
vi
ブーリアンネットワークの制御
システム生物学


北野宏明氏が提唱 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) 時間以上の計算時間が
かかるため、大規模なシステムを扱えない
B
確率0.6で A(t+1) = B(t) AND C(t)
A
C
確率0.4で A(t+1) = B(t) OR (NOT C(t))
ブーリアンネットワークの行列表現
状態遷移表
A
0
0
0
0
1
1
1
1
B
0
0
1
1
0
0
1
1
C
0
1
0
1
0
1
0
1
A’
0
0
1
1
0
0
1
1
B’
0
0
0
0
0
1
0
1
C’
1
1
1
1
0
0
0
0
0  0
  
1 1
0  0
  
0  0
0   0
  
0  0
  
0  0
0  0
  
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
0
0  1 
 
0  0 
0  0 
 
0  0 
0  0 
0  0 
 
1  0 
0  0 
 000
 001
 010
 011
 100
 101
 110
 111
この行列を A とし、 v(t )  (v1 (t ),, vn (t ))
とすると v(t  1)T  A v(t )T
PBNの行列表現
0
0
0 0.7 0 0.1 0  1 
 0   0
  
 
0
0
0
0
0  0 
 0.6   0.6 0.7 0
 0   0
0
0 0.2 0 0.8 0
0  0 
  
 
0
0
0 0.3  0 
 0.4   0.4 0 0.1 0
 0    0 0.3 0
 0 
0
0
0
0
.
9
0
  
 
 0   0
0 0.8 0.8 0 0.2 0
0  0 
  
 
0
0
0
0
0
0
.
2
0
0
0
.
6
  
 0 
 0   0
 0 
0
0
.
1
0
0
.
1
0
0
0
.
1
  
 
 000
 001
 010
 011
 100
 101
 110
 111
この行列の意味は以下のとおり
Aw, u  Pr(v(t 1)  u | v(t )  w )
Dattaらのモデル




確率ブーリアンネットワークに基づく
x(t )  ( x1 (t ),, xn (t )) {0,1}n
時刻 t における全体の状態:
制御規則: 2n×2n 行列 A
A は m 個のブール変数により変化 u(t )  (u1 (t ),, um (t ))
Pr(x(t  1)  b | x(t )  a )  A(u(t ))

コスト関数


C(x(t), u(t)): u(t) という制御を状態 x(t) に適用した際のコスト
C(x(t)):
最終状態 v(t) のコスト
Dattaらの制御手法


入力: 初期状態 x(0), 制御規則 A(u(t)), 目的時刻 M ,
コスト関数
出力: コストの合計を最小化する制御系列 u(0), u(1),
…, u(M-1)
M


E C (x(M ))   C (x(t ), u(t ))
t 0



s.t.
Pr(x(t  1) | x(t ))  A(u(t ))x (t ),x (t 1)
動的計画法アルゴリズム
J T (x( M ))  C (x( M ))
111


J t (x(t ))  min m C (x(t ), u(t ))   A(u(t ))x (t ),y  J t 1 (y )
u ( t ){0 ,1}
y  000


ブーリアンネットワーク制御モデルの定式化


入力

内部頂点: 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テーブル D[b1 , b2 ,, bn , t ]


状態 [b1 , b2 ,, bn ] から目標状態に至る制御系列
があれば 1、それ以外は0
アルゴリズム(再帰式)
1, if [b1 ,, bn ]  v M
D[b1 , b2 ,, bn , M ]  
0, otherwise
1, if thereis (c, u) such that

D[b1 , b2 ,, bn , t  1]  
D[c1, ,cn ,t]  1 and c  f (b, u)

 0, otherwise
動的計画法アルゴリズムの説明
D[b1 , b2 ,, bn , t  1] 
D[1,1,1, 2] =1
D[0,0,0, 2] = 0
1, if thereis (c, u) such that


D[c1, ,cn ,t]  1 and c  f (b, u)

 0, otherwise
u1=1, u2=1
DP計算
D[0,1,1, 3] = 1
ただし、DP表は
指数サイズ
ネットワークが木構造の場合


効率よく(多項式時間で)制御系列が計算可能
木構造: ループ無しの連結グラフ
木構造
木でない構造
木構造に対するアルゴリズム (1)


基本アイデア: 以下の S[vi,t,b] という表を、 t=0
から t=M という順に、かつ、木の葉から根へと
いう順に、動的計画法で計算
S[vi,t,b]
 1, if thereexist u(0), u(1),, u(t ) such thatvi (t )  1
S [vi , t ,1]  
0, otherwise
1, if thereexist u(0), u(1),, u(t ) such thatvi (t )  0
S [vi , t ,0]  
0, otherwise
木構造に対するアルゴリズム (2)

S[vi,t,b] の計算:
1, if thereexist [bi1 , , bik ] such that f (bi1 ,  , bik )  1 holds

S [vi , t  1,1]  
and S [vi j , t , bi j ]  1 holds for all j  1,  , k
 0, otherwise


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. の
動的計画法アルゴリズムと本質的に異なる
まとめ

ブーリアンネットワーク


点アトラクター検出



再帰的アルゴリズム(O(2n)時間より高速)
SATへの変換
確率ブーリアンネットワークの制御


頂点⇔遺伝子、制御規則⇔ブール関数
動的計画法による指数時間アルゴリズム
ブーリアンネットワークの制御


動的計画法による指数時間アルゴリズム
木構造に対する多項式時間アルゴリズム