380 likes | 631 Views
集中講義(九州大学数理学研究院) バイオ構造データに対する数理モデルと アルゴリズム(4) ブーリアンネットワーク. 阿久津 達也 京都大学 化学研究所 バイオインフォマティクスセンター. 内容. ブーリアンネットワーク 定常状態の高速検出アルゴリズム 確率ブーリアンネットワーク 制御系列計算のアルゴリズム 代謝ネットワークのブーリアンモデルと頑健性解析. 計算量. 情報科学では、 入力データのサイズ( n ) に対して、計算時間がどのように変化するかを理論的に解明することが重要 O( n ) : かなり速い(文字列検索など)
E N D
集中講義(九州大学数理学研究院)バイオ構造データに対する数理モデルとアルゴリズム(4)ブーリアンネットワーク集中講義(九州大学数理学研究院)バイオ構造データに対する数理モデルとアルゴリズム(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 time t time t+1 A ’ B’ C’ A B C 0 0 0 0 0 1 0 0 1 0 0 1 0 1 0 1 0 1 0 1 1 1 0 1 B C 0 1 0 0 0 0 0 1 0 0 A ’ = B 1 0 1 0 1 1 1 0 1 1 0 B ’ = A and C 1 1 1 INPUT OUTPUT C ’ = not A ブーリアンネットワークの例 ブーリアンネットワーク 状態遷移表 状態変化の例: 111 ⇒ 110 ⇒ 100 ⇒ 000 ⇒ 001 ⇒ 001 ⇒ 001 ⇒ 。。。
ブーリアンネットワーク研究の意義 • 単純化しすぎとの批判 • でも、単純化しないと理論解析、推定、制御などが困難 • シミュレーションなら複雑なモデルでも可能 • 定性的理解には有用(?) • 最も単純な非線形システムの一つ • ブーリアンネットワークで不可能なら、他の(多くの)非線形システムでも不可能 • 本質的にデジタル回路と同じ • 計算機科学(特にブール関数、アルゴリズム理論)における成果や技法が利用可能
time t time t+1 A ’ B’ C’ A B C 0 0 0 0 0 1 0 0 1 0 0 1 0 1 0 1 0 1 0 1 1 1 0 1 0 1 0 0 0 0 0 1 0 0 1 0 1 0 1 1 1 0 1 1 0 1 1 1 INPUT OUTPUT アトラクター(1) • 定常状態 • 細胞の種類に対応? • 例 • 011 ⇒ 101 ⇒ 010 ⇒ 101 ⇒ 010 ⇒… • 111 ⇒ 110 ⇒ 100 ⇒ 000 ⇒ 001 ⇒ 001 ⇒001 ⇒ …
111 010 000 100 110 011 001 101 time t time t+1 A ’ B’ C’ A B C 0 0 0 0 0 1 0 0 1 0 0 1 0 1 0 1 0 1 0 1 1 1 0 1 0 1 0 0 0 0 0 1 0 0 1 0 1 0 1 1 1 0 1 1 0 1 1 1 INPUT OUTPUT アトラクター (2)
点アトラクター • アトラクターの生物学的解釈 • 異なるアトラクター ⇔ 異なる種類の細胞 • 点アトラクター • 周期が1のアトラクター • (静的)定常状態に対応 • 以下を満たす状態 (もしくは、 )
アトラクターの分布に関する研究 • 平均入次数を定数(K)とし、BNをランダムに生成した場合のアトラクターのサイズや個数 • 多くの研究があるが、詳しいことはわかっていない • 点アトラクター(非周期的)であれば平均、1個であることが簡単にわかる • 計算機実験により、n頂点の場合、 個との予想[Kauffman, The Origin of Order, 1993]があるが、正しくなさそう?[Samuelsson & Troein, PRL, 2003], [Drossel et al., PRL, 2005]
定理:各頂点に対してランダムにn変数ブール関数を選んでブーリアンネットワークを構成した場合、周期1のアトラクターの個数は平均的に1個定理:各頂点に対してランダムに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個の理由 Prob( A(1) =1 ) = 0.5 Prob( A(1) =0 ) = 0.5 ランダムに ブール関数を選ぶ t=0 t=1 0 0 A 確率 0.5 0 0 B 確率 0.5 0 0 C 確率 0.5 C B A
アトラクターの高速計算 • 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]
再帰型アトラクター検出アルゴリズム(1) • 0-1割り当てを1個目の頂点からn個目の頂点までへと順次試していき、矛盾が検出されたら後戻りする [Zhang et al., EURASIP JBSB 2007]
再帰型アトラクター検出アルゴリズム(2) 0 0 0 0 0 1 0 1 0 0 0 1 Output
再帰型アトラクター検出アルゴリズム(3) • 0-1割り当てを最初の頂点から順々に探索。点アトラクターにならないとわかった時点でバックトラック • 0 • 00 -> X • 01 • 010 -> X • 011 -> X • 10 • これは大幅な高速化 (測定値ではなく、理論値) • 230≒1091.230≒240 • 2100=10301.2100≒80,000,000 • 小さい周期のアトラクター検出にも対応可能
点アトラクターの高速計算:計算量解析 t=0 t=1 v1 • 全部でn個の頂点のうちm個の頂点まで0-1割り当てを行った時、vi(0)≠vi(1) が検出できる確率は • よって、m個すべての頂点がアトラクターの条件を満たし、m+1個目の頂点の0-1割り当てがチェックされる確率は • よって、m個の頂点に対する0-1割り当て2m通りのうち、次のステップに再帰呼び出しが進む回数の期待値は • よって、平均計算量は上の式においてmを1からnまで動かした場合の最大値のオーダーとなる 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) 時間以上の計算時間がかかるため、大規模なシステムを扱えない 確率0.6で A(t+1) = B(t) AND C(t) A B C 確率0.4で A(t+1) = B(t) OR (NOT C(t))
A ’ B’ C’ A B C 0 0 0 0 0 1 0 0 1 0 0 1 0 1 0 1 0 1 0 1 1 1 0 1 0 1 0 0 0 0 0 1 0 0 1 0 1 0 1 1 1 0 1 1 0 1 1 1 ブーリアンネットワークの行列表現 状態遷移表 この行列を A とし、 とすると
PBNの行列表現 この行列の意味は以下のとおり
Dattaらのモデル • 確率ブーリアンネットワークに基づく • 時刻 tにおける全体の状態: • 制御規則:2n×2n行列A • A はm個のブール変数により変化 • コスト関数 • 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) • 動的計画法アルゴリズム
ブーリアンネットワーク制御モデルの定式化 • 入力 • 内部頂点: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 • アルゴリズム(再帰式)
動的計画法アルゴリズムの説明 D[1,1,1, 2] =1 D[0,0,0, 2] = 0 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]
木構造に対するアルゴリズム (2) • S[vi,t,b] の計算: • S[vi,t,b] の計算例 • S[v3,t+1,1]=1 ifS[v1,t,1]=1 andS[v2,t,1]=1 • S[v3,t+1,0]=0 ifS[v1,t,0]=1 orS[v2,t,0]=1 • Note:このアルゴリズムは Datta et al. の 動的計画法アルゴリズムと本質的に異なる
まとめ • ブーリアンネットワーク • 頂点⇔遺伝子、制御規則⇔ブール関数 • 点アトラクター検出 • 再帰的アルゴリズム(O(2n)時間より高速) • SATへの変換 • 確率ブーリアンネットワークの制御 • 動的計画法による指数時間アルゴリズム • ブーリアンネットワークの制御 • 動的計画法による指数時間アルゴリズム • 木構造に対する多項式時間アルゴリズム