JP6851460B2 - 最適解判定方法、最適解判定プログラム、非一時的記録媒体及び最適解判定装置 - Google Patents

最適解判定方法、最適解判定プログラム、非一時的記録媒体及び最適解判定装置 Download PDF

Info

Publication number
JP6851460B2
JP6851460B2 JP2019505816A JP2019505816A JP6851460B2 JP 6851460 B2 JP6851460 B2 JP 6851460B2 JP 2019505816 A JP2019505816 A JP 2019505816A JP 2019505816 A JP2019505816 A JP 2019505816A JP 6851460 B2 JP6851460 B2 JP 6851460B2
Authority
JP
Japan
Prior art keywords
solution
evaluation value
solutions
maximum
optimum
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019505816A
Other languages
English (en)
Other versions
JPWO2018168383A1 (ja
Inventor
雅也 長瀬
雅也 長瀬
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujifilm Corp
Original Assignee
Fujifilm Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujifilm Corp filed Critical Fujifilm Corp
Publication of JPWO2018168383A1 publication Critical patent/JPWO2018168383A1/ja
Application granted granted Critical
Publication of JP6851460B2 publication Critical patent/JP6851460B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/12Computing arrangements based on biological models using genetic models
    • G06N3/126Evolutionary algorithms, e.g. genetic algorithms or genetic programming
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B40/00ICT specially adapted for biostatistics; ICT specially adapted for bioinformatics-related machine learning or data mining, e.g. knowledge discovery or pattern finding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/11Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B25/00ICT specially adapted for hybridisation; ICT specially adapted for gene or protein expression
    • G16B25/10Gene or protein expression profiling; Expression-ratio estimation or normalisation
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B30/00ICT specially adapted for sequence analysis involving nucleotides or amino acids
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16BBIOINFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR GENETIC OR PROTEIN-RELATED DATA PROCESSING IN COMPUTATIONAL MOLECULAR BIOLOGY
    • G16B5/00ICT specially adapted for modelling or simulations in systems biology, e.g. gene-regulatory networks, protein interaction networks or metabolic networks
    • G16B5/20Probabilistic models

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Biophysics (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Pure & Applied Mathematics (AREA)
  • Spectroscopy & Molecular Physics (AREA)
  • Biotechnology (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Genetics & Genomics (AREA)
  • Molecular Biology (AREA)
  • Databases & Information Systems (AREA)
  • Operations Research (AREA)
  • Business, Economics & Management (AREA)
  • Physiology (AREA)
  • Algebra (AREA)
  • Strategic Management (AREA)
  • Human Resources & Organizations (AREA)
  • Economics (AREA)
  • Biomedical Technology (AREA)
  • Proteomics, Peptides & Aminoacids (AREA)
  • Chemical & Material Sciences (AREA)
  • Analytical Chemistry (AREA)

Description

本発明は最適解判定方法、最適解判定プログラム及び最適解判定装置に係り、特に組合せ最適化問題における解の最適性を判定する技術に関する。
近年、ビッグデータに対するデータマイニングなど、データ解析のニーズが高まってきている。重要なデータ解析分野のひとつとして、組合せ最適化問題がある(例えば古くから知られている巡回セールスマン問題などが含まれる)。
組合せ最適化問題は、NP(Non-deterministic Polynomial time)完全あるいはNP困難な難しい問題が多く含まれる。即ち、一般的に問題の規模が大きくなると計算量が指数関数以上のオーダーで爆発するので、網羅的な全探索による解決がほとんど不可能である。
そこで、ヒューリスティックに近似解を求める手法が多く開発され、適用されている。しかし、全探索をしていないので、得られた解が「局所解」に留まり、真の最適解かどうかを判定できないという問題がある。
この問題に直接応えるため、解に何らかのスコアを付与し、統計解析を併用することで、解の最適性を見極めようという研究があり、例えば、特に極値統計解析によって最大スコアを推定する手法などがある(非特許文献1)。
しかしながら、場合によっては複雑な制約条件が課せられる組合せ最適化問題においては、良質な統計解析の前提となる解空間から解候補を大量に一様抽出する手段の提供が難しく、実用化には至っていないと考えられる(非特許文献2)。
また、組合せ最適化問題に関連して、ZDD(Zero-suppressed Binary Decision Diagram)と呼ばれるデータ構造があり、フロンティア法と称される構築アルゴリズムによって、非常に大規模な組合せ集合を効率的に列挙索引化できることが分かり、近年盛んに研究されている(非特許文献3)。ZDDでは、組合せ最適化問題の解候補全体を描出し、そこから効率的に解候補を一様抽出できる。
また、創薬分野では、近年発達したNGS(Next Generation Sequencer:次世代シーケンサ)などにより、大量の遺伝子データ、例えばRNA(ribonucleic acid)発現行列データが取得できるようになった。そうして得られたビッグデータの解析は、バイオインフォマティクスとして注目されている。例えば、生体機能を踏まえた薬剤の作用機序などを解明しようという試みがある。そのひとつに、遺伝子制御ネットワークの推定がある。遺伝子制御ネットワークとは、遺伝子が相互に発現量を調節するシステムを、ベイジアンネットワークなどの確率的グラフモデルとして捉える解析手法である。
特許文献1には、遺伝子発現の時系列研究から遺伝子間のネットワーク関係を推定するためのノンパラメトリック回帰によるベイジアンモデルを使用する技術が開示されている。
国際公開第2004/047020号
Golden, B.L. and Alt, F.B. "Interval estimation of a global optimum for large combinatorial problems", Naval Research Logistics Quarterly, 26, 69-77 (1979) Giddings, A.P., Rardin, R.L., and Uzsoy, R. "Statistical optimum estimation techniques for combinatorial optimization problems: a review and critique", Journal of Heuristics, 20(3), 329-358 (2014) Iwashita, H., Kawahara, J., and Minato, S. "ZDD-Based Computation of the Number of Paths in a Graph", TCS Technical Report, TCS-TR-A-12-60, Hokkaido University, September 18, 2012.
遺伝子制御ネットワークでは、遺伝子をノード、制御関係をエッジとするグラフを考える。そして、グラフ構造によって得られているRNA発現行列データをどの程度説明し得るかを計算して、得られているデータに最も適合するグラフを探索しようという、グラフ探索(グラフマイニング)問題を解きたい。しかしながら、遺伝子数Nに対して、可能なグラフ数は2^(N^2)通りあり、Nの増大につれて超指数関数的に発散する。また、ベイジアンネットワークモデルでは、非循環有向グラフ制約(DAG制約:Directed acyclic graph制約)という複雑な制約条件も考えなければならない。遺伝子数がある程度大きくなると、ZDDでも解空間全体を描出するには困難を伴う。
しかも、創薬プロジェクトは、人体に供される可能性がある薬剤を生み出そうというもので、結果の判明まで長い時間と莫大なコストを要し、産業上特に、解析結果の妥当性に対する関心が高い。よって、取得したRNA発現行列データを巧く説明するグラフ構造の最適性が判定できれば、産業上非常に有用である。
特許文献1に記載の遺伝子制御ネットワークを構築する方法は、いくつかの遺伝子に対して遺伝子発現の経時変化データを取得し、ベイジアン推定法の修正と、発現遺伝子間の原因及び結果の関係を判断する。ベイジアン推定法の修正は、経時変化データを用いて発現遺伝子間の因果関係を推定することを含む。特許文献1に記載の方法は、発現の遅い遺伝子の変化は、発現の早い遺伝子の変化の原因となる可能性があまりないという仮定に基づいてベイジアン推定及びノンパラメトリック回帰を修正して信頼性の高いネットワーク解を提供するものであるが、上記仮定が全ての遺伝子制御ネットワークに適用できる保証はない。
本発明はこのような事情に鑑みてなされたもので、組合せ最適化問題における解の最適性の判定を効率的かつ精度よく行うことができる最適解判定方法、最適解判定プログラム及び最適解判定装置を提供することを目的とする。
上記目的を達成するために一の態様に係る発明は、組合せ最適化問題における解の最適性をコンピュータにより判定する最適解判定方法であって、組合せ最適化問題における解の最適性をコンピュータにより判定する最適解判定方法であって、組合せ最適化問題の解空間上の複数の解を第1の複数の解として一様抽出する第1のステップと、第1のステップにより一様抽出した第1の複数の解のそれぞれに対応する第1の複数の評価値を取得する第2のステップと、取得した第1の複数の評価値に基づいて、第1の複数の解の個数を超える個数の解を想定した場合の最大評価値を推定し、第1の最大評価値とする第3のステップと、解空間に属する解のうち少なくとも1つの解を解候補として取得する第4のステップと、解候補に対応する評価値を取得する第5のステップと、第5のステップにより取得した解候補に対応する評価値が第1の最大評価値の信頼区間内に入るか否かを判定する第6のステップと、第6のステップにおいて解候補に対応する評価値が第1の最大評価値の信頼区間内に入ると判定された場合に、解候補を第1の最適解とする第7のステップと、を含む。
本発明の一の態様によれば、組合せ最適化問題の解空間上の複数の解を第1の複数の解として一様抽出し、一様抽出した第1の複数の解の個数を超える個数の解を想定した場合の最大評価値を第1の最大評価値として推定する。そして、解空間に属する解のうち少なくとも1つの解を解候補として取得すると、その解候補に対応する評価値を取得し、取得した評価値が第1の最大評価値の信頼区間内に入るか否か(解候補が第1の最適解の1つか否か)を判定する。これにより、組合せ最適化問題の解の統計的な最適性判定が可能になり、かつ解が十分条件を満たすか否かの最適性判定が可能である。
本発明の他の態様に係る最適解判定方法において、第1の複数の解は、U,Vをそれぞれ自然数とすると、U×V個の解であり、第3のステップは、U×V個の解をV個のブロックに分け、ブロック毎にU個の解の評価値の区分最大値をV個取得し、V個の区分最大値を用いて、区分最大値が一般極値分布に従うものとして第1の最大評価値を推定することが好ましい。ブロック毎のU個の解の評価値の区分最大値をV個取得し、V個の区分最大値を用いて、区分最大値が一般極値分布(GEV:generalized extreme value distribution)に従うものとして最大評価値(第1の最大評価値)を最尤推定する。
本発明の更に他の態様に係る最適解判定方法において、第7のステップによる判定結果を出力する第8のステップを更に含むことが好ましい。
本発明の更に他の態様に係る最適判定方法において、演算コストは小さいが解の精度が低い第1の探索法と、第1の探索法よりも演算コストは大きいが解の精度が高い第2の探索法とを有し、第4のステップは、最初に第1の探索法により探索された第1の解候補を入力し、第1の解候補の評価値が第1の最大評価値の信頼区間内に入らない場合のみ、第2の探索法により探索された第2の解候補を入力することが好ましい。
最初に演算コストは小さいが解の精度が低い第1の探索法により探索された第1の解候補を入力し、その第1の解候補が十分条件を満たさず十分性判定に失敗した場合、第1の探索法によるヒューリスティック探索が不十分なために、他の最適解が存在することが示唆されたことになる。その場合、演算コストは大きいが解の精度が高い第2の探索法による第2の解候補の探索に切り替え、第2の探索法により探索される第2の解候補の十分性を判定する。
本発明の更に他の態様に係る最適解判定方法において、解空間上の解であって、第1の最適解からの解空間上の距離が一定範囲外の複数の解を第2の複数の解として一様抽出する第9のステップと、第2の複数の解のそれぞれに対応する第2の複数の評価値を取得する第10のステップと、第2の複数の評価値に基づいて、第2の複数の解の個数を超える個数の解を想定した場合の最大評価値を推定し、第2の最大評価値とする第11のステップと、第1の最適解の評価値を取得する第12のステップと、第1の最適解の評価値が、第2の最大評価値を超えているか否かを判定する第13のステップと、を含むことが好ましい。
本発明の更に他の態様によれば、第1の最適解からの解空間上の距離が一定範囲外の複数の解を第2の複数の解として一様抽出し、一様抽出した第2の複数の解の個数を超える個数の解を想定した場合の最大評価値を第2の最大評価値として推定する。そして、第1の最適解の評価値が第2の最大評価値を超えているか否かを判定する。これにより、組合せ最適化問題の解が必要条件を満たすか否かの最適性判定が可能であり、第1の最適解の評価値が第2の最大評価値を超えている場合には、第1の最適解は必要十分条件を満たし、解空間上で最適な解であり、同等解も他には存在しないことになる。
本発明の更に他の態様に係る最適解判定方法において、第2の複数の解は、P,Qをそれぞれ自然数とすると、P×Q個の解であり、第11のステップは、P×Q個の解をQ個のブロックに分け、ブロック毎のP個の解の評価値の区分最大値をQ個取得し、Q個の区分最大値を用いて、区分最大値が一般極値分布に従うものとして第2の最大評価値を推定することが好ましい。ブロック毎のP個の解の評価値の区分最大値をQ個取得し、Q個の区分最大値を用いて、区分最大値が一般極値分布に従うものとして最大評価値(第2の最大評価値)を最尤推定する。
本発明の更に他の態様に係る最適解判定方法において、第13のステップによる判定結果を出力する第14のステップを更に含むことが好ましい。
本発明の更に他の態様に係る最適解判定方法において、第13のステップにより第1の最適解の評価値が第2の最大評価値を超えていないと判定されると、一定範囲を拡大し、拡大した一定範囲外の複数の解を第3の複数の解として一様抽出する第15のステップと、第3の複数の解のそれぞれに対応する第3の複数の評価値を取得する第16のステップと、第3の複数の評価値に基づいて、第3の複数の解の個数を超える個数の解を想定した場合の最大評価値を推定し、第3の最大評価値とする第17のステップと、第1の最適解の評価値が、第3の最大評価値を超えているか否かを判定する第18のステップと、を更に含むことが好ましい。
最適解の1つとして探索された第1の最適解の評価値が第2の最大評価値を超えていない場合、同等の最適解が存在する可能性があるが、この場合には、第1の最適解から離れた解空間(拡大した一定範囲外の解空間)から一様抽出した第3の複数の解に基づいて第3の最大評価値を再度推定する。これにより、探索された最適解から離れた解空間には、同等の最適解が存在しないことを確認することができる。
本発明の更に他の態様に係る最適解判定方法において、第13のステップにより第1の最適解の評価値が第2の最大評価値を超えていないと判定されると、解空間上の解であって、かつ第1の最適解から一定距離離れた第4の解候補を取得する第19のステップと、解空間上において、第1の最適解及び第4の解候補のそれぞれからの解空間上の距離が一定範囲外の第4の複数の解を一様抽出する第20のステップと、第4の複数の解のそれぞれに対応する第4の複数の評価値を取得する第21のステップと、第4の複数の評価値に基づいて、第4の複数の解の個数を超える個数の解を想定した場合の最大評価値を推定し、第4の最大評価値とする第22のステップと、第1の最適解の評価値が、第4の最大評価値を超えているか否かを判定する第23のステップと、を更に含むことが好ましい。
最適解の1つとして探索された第1の最適解の評価値が第2の最大評価値を超えていない場合、第1の最適解と、第1の最適解から一定距離離れた第4の解候補との両方から、それぞれ解空間上の距離が一定範囲外の第4の複数の解を一様抽出し、一様抽出した第4の複数の解に基づいて第4の最大評価値を再度推定する。これにより、探索された第1の最適解及び一定範囲外の解空間の第4の解候補からそれぞれ離れた解空間には、同等の最適解が存在しないことを確認することができる。
本発明の更に他の態様に係る最適解判定方法において、解空間は、第1の制約条件における第1の解空間と第2の制約条件における第2の解空間とを含み、第1の解空間に属する第1の解候補を取得する第24のステップと、第2の解空間上の複数の解を第5の複数の解として一様抽出する第25のステップと、第5の複数の解のそれぞれに対応する第5の複数の評価値を取得する第26のステップと、取得した第5の複数の評価値に基づいて、第5の複数の解の個数を超える個数の解を想定した場合の最大評価値を推定し、第5の最大評価値とする第27のステップと、第2の解空間における解候補であって、第24のステップで取得した第1の解候補からの解空間上の距離が近い解を近傍解として取得する第28のステップと、近傍解の評価値を取得する第29のステップと、近傍解の評価値が第5の最大評価値の信頼区間内に入るか否かを判定する第30のステップと、を含むことが好ましい。
本発明の更に他の態様によれば、第1の制約条件における第1の解空間における解候補の最適性を判定する場合、その解候補からの解空間上の距離が近い近傍解であって、第2の制約条件における第2の解空間における近傍解を取得し、近傍解の最適性を判定する。即ち、近傍解の最適性判定を代用し、近傍解が最適であれば、その近傍解に近い距離の第1の解空間における解候補も最適であると推定する。
本発明の更に他の態様に係る最適解判定方法において、第1のステップは、組合せ最適化問題における組合せ可能なパターンのうち、組合せの一部により残りの組合せを考慮せずとも不適となることが確定するかどうかを識別することで、識別すべきパターンを削減するステップ、及び組合せ可能なパターンのうち、組合せの一部だけに差分があるパターン群の共通部分を抽出し、残りの組合せを共有することで、識別すべきパターンを削減するステップのうちの少なくとも一方を用いて、組合せ可能パターンを縮約して列挙索引化するデータ構造を用い、解空間上の解の総数を算出し、算出した総数以下の乱数を発生させ、発生させた乱数により特定されるパターンに対応する解を抽出することが好ましい。
これにより、非常に大規模で、効率的な手段を用いてもなお全描出が難しい組合せ最適化問題であっても解を一様抽出することができ、解の最適性判定を行うことができる。
本発明の更に他の態様に係る最適解判定方法において、組合せ最適化問題は、遺伝子制御ネットワークの組合せ最適化問題であることが好ましい。
本発明の更に他の態様に係る最適解判定プログラムは、上記の最適解判定方法をコンピュータに実行させる。
更に他の態様に係る発明は、組合せ最適化問題における解の最適性を判定する最適解判定装置であって、組合せ最適化問題の解空間上の複数の解を第1の複数の解として一様抽出する解抽出部と、一様抽出した第1の複数の解のそれぞれに対応する第1の複数の評価値を取得する第1の評価値取得部と、取得した第1の複数の評価値に基づいて、第1の複数の解の個数を超える個数の解を想定した場合の最大評価値を推定し、第1の最大評価値とする第1の最大評価値推定部と、解空間に属する解のうち少なくとも1つの解を解候補として取得する解取得部と、解候補に対応する評価値を第1の評価値取得部から取得し、取得した解候補に対応する評価値が第1の最大評価値の信頼区間内に入るか否かを判定し、解候補に対応する評価値が第1の最大評価値の信頼区間内に入ると判定された場合に、解候補を第1の最適解とする第1の判定部と、を備える。
本発明の更に他の態様に係る最適解判定装置において、解空間上の解であって、第1の最適解からの解空間上の距離が一定範囲外の複数の解を第2の複数の解として一様抽出する第2の解抽出部と、第2の複数の解のそれぞれに対応する第2の複数の評価値を取得する第2の評価値取得部と、第2の複数の評価値に基づいて、第2の複数の解の個数を超える個数の解を想定した場合の最大評価値を推定し、第2の最大評価値とする第2の最大評価値推定部と、第1の最適解に対応する評価値を第2の評価値取得部から取得し、取得した第1の最適解に対応する評価値が、第2の最大評価値を超えているか否かを判定する第2の判定部と、を更に備えることが好ましい。
本発明によれば、組合せ最適化問題の解の統計的な最適性判定が可能になり、組合せ最適化問題における解の最適性の判定を効率的かつ精度よく行うことができる。
RNA発現行列データを示す図表及び遺伝子制御ネットワークを示す図 本発明の特徴を示す概念図 本発明に係る最適解判定装置のハードウェア構成を示すブロック図 本発明の第1の実施形態を示す機能ブロック図 要素「A,B,C,D」からなる全体集合「G」を示す図 4つの部分集合(G(1),G(2),G(3),G(4))を示す図 3つの部分集合(G(1),G(3),G(4))の選択に対応する「パターン」を示す図 部分集合の選択に対応する「パターン」の3つの例と、各「パターン」が条件を満たしているか否かの判定結果とを示す図 図5から図8に示した集合分割問題における全てのパターン及び判定結果を、「2分グラフ」で網羅的に表現した図 フロンティア法の「枝刈り」により組合せ可能パターンが縮約される様子を示す図 フロンティア法の「節共有」により組合せ可能パターンが縮約される様子を示す図 フロンティア法の「枝刈り」及び「節共有」により組合せ可能パターンを縮約した結果を示す図 ノード={A,B,C}で、エッジの数が3本のグラフ集合をZDD表現した図及び特定のパス(A⇔B⇒C)に対応するグラフを示す図 ZDD表現したグラフ集合の全体のグラフ数(採用総数)の「数え上げ」を示す図 ZDD表現したグラフ集合から任意の指定番号のグラフを取り出す方法を示す図 本発明の第2の実施形態を示す機能ブロック図 ある遺伝子制御ネットワーク推定に対して本発明を適用した例を示すグラフ 本発明に係る最適解判定方法の第1の実施形態を示すフローチャート 本発明に係る最適解判定方法の第2の実施形態を示すフローチャートであり、特に最適十分性判定に成功した後に行われる最適必要性判定の処理を示すフローチャート 本発明に係る最適解判定方法の第4の実施形態の要部を示すフローチャート 本発明に係る最適解判定方法の第5の実施形態を示すフローチャート 制約条件Cにおける第1の解空間と制約条件Cにおける第2の解空間とを模式的に表す図
以下、添付図面に従って本発明に係る最適解判定方法、最適解判定プログラム及び最適解判定装置の好ましい実施の形態について説明する。
<本発明の概要>
組合せ最適化問題における解を探索する方法として、創薬分野に応用可能な遺伝子制御ネットワークを例に説明する。遺伝子制御ネットワークとは、遺伝子間の協調関係を有向グラフとして表現することで、例えば薬剤の作用機序などを読み解くための応用などが期待されている。
まず、基本的な前提条件について説明する。
(1) 図1は、RNA発現行列データを示す図表及び遺伝子制御ネットワークを示す。
図1において、A、B、…、Zは遺伝子であり、X1、X2、…、Xnはサンプルであり、遺伝子の数とサンプルの数との積だけデータが存在する。このRNA発現行列データを取得する。RNA発現行列データは、NGSによるカバレッジデータであってもよいし、マイクロアレイによるシグナルデータでもよい。
RNA発現行列では、M個の細胞株等に対して、N個の遺伝子のRNA発現量が計測されており、データx(m,n)は、細胞株mにおける遺伝子nの発現量を示す。したがって、RNA発現行列DはM×Nの数値行列データである。
(2) 複数の遺伝子の関連性は、遺伝子制御ネットワークとして表すことができる。以下、遺伝子制御ネットワークをグラフGとして表す。図1に示すようにグラフGは、エッジ(矢印で示すノード(遺伝子)間の制御関係)の集合であり、例えばg1={(A,B),(A,C),(C,D)}は、「遺伝子AからB」「遺伝子AからC」「遺伝子CからD」の3つの制御関係が存在することを示す。グラフGは、多数のサンプルでのRNA発現行列データDから推定可能である。
ただし、グラフGには問題に応じて何らかの制約Cが課せられる。制約はモデル上、もしくは事前知識によって課せられる。例えばベイジアンネットワークモデルでは循環グラフを表現できないため、グラフGは循環グラフであってはならない。(つまり、例えば「(A,B),(B,A)」や「(A,B),(B,C),(C,A)」といった部分集合を含んではいけない。)また、事前知識によってスケールフリーネットワーク性(ノードの次数分布がべき乗則に適合すること)が期待されていれば、そのような制約を設けることも考えられる。
(3) 評価関数S(D,G)を用意する。これは、グラフGがデータDをどれだけ説明できているかを定量化したものである。例えば、前述のg1では、「遺伝子AからB」の制御関係に対しては、「x(m,B)=F(x(m,A))が当てはまるかどうか」を定量化する。Fは制御関係のモデル関数であり、定量化は、例えば罰則付き最大尤度(AIC(Akaike's Information Criterion)やBIC(Bayesian information criterion))が使われる。
(4) 最適化問題を解く何らかのヒューリスティックな手法により、最適と思われるグラフG_1を獲得し、それに対する評価値S_1を取得する。
上記は遺伝子制御ネットワークの推定の例であるが、(a) 何らかのデータDに基づき、(b) 制約Cに従う集合Gを考え、(c) 評価関数Sの最大化(もしくは最小化)を試みて、(d) 特定の集合G_1を取得する、というところがポイントであって、かつ、組合せ最適化問題では一般的な構造である。
したがって、本発明は、様々な他の組合せ最適化問題に対しても適用し得る。例えば、細胞の排他的かつ被覆的な遺伝子変異を探索する問題がある。これによって、例えば癌にとって重要な遺伝子変異又は作用機序を推定しようという応用が知られている。
(1) M個の細胞に対して、N種類のSNP(Single Nucleotide Polymorphism)における変異データxを取得する。データx(m,n)は、細胞mにおけるSNP変異nの有無を示す。ここで、SNPとはDNA(deoxyribonucleic acid)のうち変異が入り易い位置のことを言う。
(2) 遺伝子座のセットを集合Gとして表す。集合GはSNPの集合であり、例えばg1={1,3,4}は、「SNP1,3,4」の3つのSNPに注目することを示す。集合Gの要素はN種類のSNPのいずれかであり、集合G全体でSNPの組合せパターンに対応する。ただし、制約Cとして、集合GによってM個の細胞株を排他的に被覆することが要求される。即ち、「SNP1に変異を持つ細胞の集合M1」「SNP3に変異を持つ細胞の集合M3」「SNP4に変異を持つ細胞の集合M4」を考えたとき、M1,M3,M4は互いに重複要素となる細胞を共有してはならず、かつ、M1,M3,M4全体ですべての細胞を網羅していなければならない。
(3) 評価関数S(G)を用意する。これは、集合Gの何らかの特性を定量化したものである。例えば、SNPの集合Gを、予め用意した遺伝子制御ネットワークFに載せたときの適合性などを評価することが考えられる。
(4) 何らかのヒューリスティックな手法により、最適と思われるグラフG_1を獲得し、それに対する評価値S_1を取得する。
上記(4)としては、例えば、グリーディ・ヒルクライミング法、焼きなまし法、タブーサーチ、遺伝的アルゴリズムなどが知られており、そのいずれを用いても良い。
また、本発明はいわゆるバイオインフォマティクス以外の分野にも適用し得る。例えば遺伝子制御ネットワーク推定はベイジアンネットワークとして一般化されるので、多数の製品の様々な特性を測定してデータ化し、その特性同士の因果関係を推定する手法としても利用できる。組合せ最適化問題としては、例えばナップザック問題や巡回セールスマン問題などが知られ、様々な分野にて応用されており、本発明はそのいずれにも適用できる。
さて、通常のヒューリスティック探索は、上記(4) でアルゴリズムは終了するので、ヒューリスティック探索により獲得したグラフG_1が、真の最適値かどうかを判断できなかった。
例えば遺伝子制御ネットワーク問題の場合、グラフG_1がRNA発現行列データDに対して真に最も適合しているのかどうかを判断できなかった。そのため、多額のコストを要する介入実験に踏み込むためには、例えばグラフG_1をバイオロジストが精査して妥当性を判断するなどの属人的で不確実な工程を要していた。
そこで、本発明は、最適と思われるグラフG_1の最適性を見極めることができるようにする。
図2は、本発明の特徴を示す概念図である。
ヒューリスティック探索により探索した最適と思われるグラフG_1の最適性を見極めるために、ヒューリスティック探索により探索したグラフの抽出個数を超える個数の解を想定した場合の評価値(解空間全体の解の評価値(「スコア」とも言う))のうちの最大評価値(第1の最大評価値)Zを推定する。尚、第1の最大評価値Zの具体的な推定方法については後述する。
続いて、最適と思われるグラフG_1(ローカル解)が、推定した第1の最大評価値Zの信頼区間内に入るか否かを判定する。そして、グラフG_1が第1の最大評価値Zの信頼区間内に入っていれば、グラフG_1は、探索空間(解空間)の全域での第1の最適解(グローバル解の一つ)であると判定できる。上記のような判定(解が十分条件を満たすか否かの最適十分性判定)が、本発明の特徴の一つである。
ただし、上記の最適十分性判定の場合、ローカル解がグローバル解か否かの判定は可能であるが、唯一のグローバル解か否かの判定はできない。したがって、グラフG_1(ローカル解)の最適十分性判定に成功しても同等解が他にも存在する可能性があり、探索に「未練」が残る。
本発明は、グラフG_1の最適十分性判定に成功した場合、そのグラフG_1からの解空間上の距離が一定範囲外の解空間(部分空間)上の解の評価値のうちの最大評価値(第2の最大評価値)Wを推定する。尚、第2の最大評価値Wの具体的な推定方法については後述する。
続いて、グラフG_1が、推定した第2の最大評価値Wを超えているか否かの判定を更に行う。そして、グラフG_1が第2の最大評価値Wを超えていれば、部分空間には、グラフG_1と同等解が存在しないことになり、そのグラフG_1は唯一のグローバル解であると判定できる。上記のような判定(解が必要条件を満たすか否かの最適必要性判定)が、本発明の他の特徴の一つである。
<最適解判定装置>
[装置構成]
図3は本発明に係る最適解判定装置のハードウェア構成を示すブロック図である。
図3に示す最適解判定装置10は、コンピュータによって構成されており、主として各構成要素の動作を制御する中央処理装置(CPU:Central Processing Unit)12と、装置の制御プログラムが格納されたり、プログラム実行時の作業領域となる主メモリ14と、液晶ディスプレイ、CRTディスプレイ等のモニタ装置28の表示を制御するグラフィックボード16と、ネットワーク50と接続される通信インターフェース(通信I/F)18と、本発明に係る最適解判定プログラムを含む各種のアプリケーションソフト、及び後述する最適解の判定結果等を保存するハードディスク装置20と、CD−ROMドライブ22と、キーボード30のキー操作を検出して指示入力としてCPU12に出力するキーボードコントローラ24と、位置入力装置としてのマウス32の状態を検出してモニタ装置28上のマウスポインタの位置やマウス32の状態等の信号をCPU12に出力するマウスコントローラ26とから構成されている。
また、ネットワーク50には、RNA発現行列データを保存するデータベース40が接続されている。RNA発現行列データは、図1に示したように複数の細胞株(サンプル:X1、X2、…、Xn)における複数の遺伝子(A、B、…、Z)のRNA発現量を示す数値行列データである。また、RNA発現量は、図示しないNGS(Next Generation Sequencer)などによりサンプルから取得されたものである。
最適解判定装置10は、通信インターフェース18を介してデータベース40にアクセスし、必要なRNA発現行列データを取得することができる。尚、RNA発現行列データは、外部のデータベース40に格納されたものを使用する場合に限らず、RNA発現行列データをハードディスク装置20に保存し、ハードディスク装置20に保存されたRNA発現行列データを使用するようにしてもよい。
[第1の実施形態]
図4は、図3に示した最適解判定装置10のCPU12の機能を示す機能ブロック図であり、本発明の第1の実施形態を示す機能ブロック図である。
CPU12は、ハードディスク装置20に格納された最適解判定プログラムを実行することより各種の処理部として機能し、図4に示す第1の実施形態では、解抽出部100、第1の評価値取得部及び第2の評価値取得部として機能する評価値取得部102、解入力部104、第1の最大評価値推定部106、第1の比較部108及び第1の判定部110としての機能を有する。
解抽出部100は、組合せ最適化問題(遺伝子制御ネットワーク)の解空間上の解(グラフ)を一様抽出する部分であり、本例では、ZDD(Zero-suppressed binary Decision Diagram)を用いたパス列挙索引化アルゴリズムによりグラフGを列挙索引化する。制約Cの下でZDDを構築することで、グラフGの総数と、集合{G}の任意の要素を一様抽出できるようになる。遺伝子制御ネットワークでは、遺伝子をノード、制御関係をエッジとするグラフを考える。
尚、ここでいう「解」は、「許容解(実行可能解)」を意味し、最適解とは限らないが、実行不可能ではない解のことを指す。すなわち(実行が不可能な)不適な解はあらかじめ排除されている。
また、解抽出部100は、「枝刈り」及び「節共有」の少なくとも一方を用いて、組合せ最適化問題における組合せ可能なパターンを縮約して列挙索引化するデータ構造とする。ここで、「枝刈り」とは、組合せ最適化問題における組合せ可能なパターンのうち、組合せの一部により残りの組合せを考慮せずとも不適となることが確定するかどうかを識別することで、識別すべきパターンを削減する処理をいう。また、フロンティア法の「節共有」とは、組合せ可能なパターンのうち、組合せの一部だけに差分があるパターン群の共通部分を抽出し、残りの組合せを共有することで、識別すべきパターンを削減する処理をいう。
尚、これはZDDだけに限定されるものではなく、組合せ最適化問題に応じて例えばBDD(Binary Decision Diagram)、あるいはπDD(Permutation Decision Diagram)などのZDDに類似する変形データ構造を用いても構わない。
また、「枝刈り」の「不適かどうか」の判定には制約Cを用いる。例えば遺伝子制御ネットワークの場合では、採用済のエッジによって既に循環が発生すれば、残りのエッジを考慮しなくても不適であることが確定する。また、「節共有」の「共通かどうか」の判定においても、制約Cのもとでパターンのうち考慮済の部分と残りの要素とを勘案して、共通化できるかどうかを判断する。例えばエッジの数のみを考慮している場合、採用済のエッジの本数が同じであれば、「節共有」を適用できる。「枝刈り」及び「節共有」のアルゴリズムは、ZDDの場合、フロンティア法として知られているので、それに従えばよい。
尚、「枝刈り」のみを備えた手法として、分岐限定法によって解を列挙する手法を用いてもよい。ZDDのうち「節共有」を無効化することで分岐限定法による列挙も可能となるし、「枝刈り」を無効化することも考えられる。しかし、望ましくはZDDのように「枝刈り」及び「節共有」の両方とも利用することで、それによって効率的に解を列挙できる。
解を一様抽出する手段としては、例えばランダム生成も考えられる。即ち、解候補をランダムに生成(例:グラフのエッジのありなしを乱数で決定)し、Gの制約を満たしていなければ再生成を繰り返す。制約条件が簡単であれば、ランダム生成の段階でその制約を織り込んでも構わない。例えばエッジ数を所定数以下にする場合、エッジありを選ぶ数に上限を設けておけばよい。一方、例えば循環グラフを禁止したい場合、単純なランダム生成において制約をかけるのは難しいので、ランダム生成されたグラフが循環しているかどうかを判定することが考えられる。しかし、理論的には、ランダム生成でも十分な実施数を重ねることで統計的推定は可能だが、特に判定及び再生成を繰り返す手法で、ランダム生成がカバーする解空間に対して制約下の解空間が小さい場合、例えば解空間のサイズを1:Nとすれば、1個の解を生成するのに平均してN個のランダム生成が必要になるので、効率が悪い。
したがって、本手法では十分なサンプルサイズの確保が重要なため、特にZDDの導入は効果が大きいと期待される。
<ZDDの概説>
次に、ZDD及びフロンティア法について具体的に説明する。
まず、組合せ最適化問題の一種である集合分割問題へのZDDの適用を考える。
集合分割問題は、ある全体集合に対する部分集合の列が与えられたとき、その幾つかを選んで、「選んだ部分集合同士に重複がない(相互排他)」、かつ「元の全体集合を尽くす(全体被覆)」のようなパターン(組合せ)を作れるか、という問題である。
集合は、「要素の集まり」として定義される。図5に示すように「G」は全体集合を示し、「A,B,C,D」が「要素」に対応する。
要素を固定し、要素の有り又は無しを「1又は0」に割り振ると、例えば、図6に示すように部分集合が決まる。
「部分集合を含むかどうか」を符号化すれば、図7に示すように「パターン」を表現できる。図7の例では、3つの部分集合(G(1),G(3),G(4))の選択に対応する「パターン」が示されている。
続いて、パターンごとに「条件(被覆性及び排他性)を満たしているか」を判定する。
図8には、部分集合の選択に対応する「パターン」の3つの例と、各「パターン」が条件を満たしているか否かの判定結果とが示されている。
図8に示すように部分集合(G(1),G(3),G(4))の選択に対応する「パターン」は条件を満たし、部分集合(G(2),G(3),G(4))及び部分集合(G(3),G(4))の選択に対応する「パターン」は条件を満たさない。
部分集合(G(2),G(3),G(4))は要素「C」が重複し、排他性を満たさず、部分集合(G(3),G(4))は要素「A」が不足して被覆性を満たさないからである。
さて、本例の集合分割問題における全てのパターン及び判定結果は、図9に示すように「2分グラフ」で網羅的に表現することができる。
本例の部分集合は4個だったため、全てのパターンは、16個(=2)であるが、部分集合がN個の場合、全てのパターンは、2となる。「2分グラフ」の表現では、「2のべき乗」で枝及び葉が増えるという問題がある。
組合せ問題は、「組合せ爆発」が発生し、有限時間で最適解を探索することができなくなることが知られているが、フロンティア法の「枝刈り」及び「節共有」の縮約技術により、所定の条件を満たす組合せ集合の効率的な(実用的な)「数え上げ」を実現することができる。
図10は、フロンティア法の「枝刈り」により組合せ可能パターンが縮約される様子を示す図である。
図10に示すように部分集合「G(1)」と「G(2)」とが同時に選択されると、要素「A」が重複し、その時点で(後続選択に関わらず)不適が確定する。同様に部分集合「G(1)」と「G(2)」のどちらも選択しないと、要素「A」を漏らすことになり、不適が確定する。そして、不適が確定すると、その時点で展開を打ち切り、「判定結果=0」に即繋げる。
このように「枝刈り」は、パターン選択の途中で不適が確定すると、その時点で展開を打ち切ることで組合せ可能パターンの縮約を図る。
図11は、フロンティア法の「節共有」により組合せ可能パターンが縮約される様子を示す図である。
図11に示すように2つの部分集合「G(1)」と「G(3)」とが選択される場合と、1つの部分集合「G(2)」が選択される場合とでは、いずれも「要素「A」及び「B」を1回だけ含む」こと、かつ「要素「A」及び「B」は、もはや含まないようにする」こと、が条件になるので、後続選択による採否判定が完全に一致する。
そして、この場合には、別々に展開せずに、まとめて扱ってよい、つまり、同じ「節」を共有して構わない。
このように「節共有」は、複数のパターン選択の後続が同一ならば、これらをまとめて扱うことで組合せ可能パターンの縮約を図る。
図12は、フロンティア法の「枝刈り」及び「節共有」により組合せ可能パターンを縮約した結果を示す図である。
図12に示すように、16個のパターン(図9)に拡がるはずの枝及び葉を大幅に削減でき、網羅的に1つずつ判定する場合と完全に一致する判定結果を取得することができる。
図13は、ノード={A,B,C}で、エッジの数が3本のグラフ集合をZDD表現した図である。
図13において、実線で示した「1枝」を通る場合のみ、そのエッジを含むグラフ、(点線で示した「0枝」もしくは飛ばしたエッジは含まない)であって、最終的に「1端」に到達したら、そのグラフを採用する。(「0端」に到達したグラフは採用しない。)
ここで、例えば、(A⇔B⇒C)のパスに対応するグラフは、図13の側の太線の矢印で示した経路で表される。
図14は、全体のグラフ数(採用総数)の「数え上げ」を示す図である。
図14に示すように採用総数は、判定結果を示す「1端」に「1」を付与し、「1端」から最上位のZDDノードまで逆順に辿って数え上げることで算出することができる。
数え上げは、下層ZDDノードから各々の枝先の付与数を加算し、加算した数を自身に付与する。これを最上位のZDDノードまで繰り返し、最上位のZDDノードに付与された数値が、全体の採用総数(「1端」に到達するパスの総数)となる。本例の場合、全体の採用総数は、20個になる。
このように採用総数を算出する「数え上げ」は、ZDDの重要な性質の一つである。
図15は、任意の指定番号のグラフを取り出す方法を示す図である。
「数え上げ」後、任意の番号(本例の場合、1〜20の範囲内の番号)が指定されると、指定された番号(指定番号)にしたがって根から下ることで、指定番号に対応するグラフを取り出すことができる。
例えば、「12番」のグラフを取り出す場合、図15の太線の矢印にしたがって最上位のノードから下る。まず、最上位のノード(A,B)から「0枝」又は「1枝」のうち指定番号を含む枝に進む。本例では、「1枝」側の枝を進み、最上位のノード(A,B)から下層のノード(A,C)(図14上で右側のノード(A,C))に下る。「1枝」側の枝を進む場合、指定番号から「0枝」側の個数を引く。本例では、「12番」のグラフを取り出すため、指定番号「12」から「0枝」側の個数「10」が引かれ、「2」になる。これを「1端」に到達するまで繰り返すことで、図15の太線の矢印で示すパス(グラフ)を取り出すことができる。尚、図15に示す「12番」のグラフは、(A⇒B⇔C)のパスに対応するグラフである。
このように採用総数の「数え上げ」後、採用総数内の任意の番号を指定すると、指定した番号により一意に特定されるグラフを取り出すことができる。これにより採用総数以下の乱数を発生させることで、解空間上の解(グラフ)を「一様抽出」することができる。この解空間上の解の「一様抽出」は、ZDDの重要な性質の一つである。
図4に戻って、解抽出部100は、ZDDを用いたパス列挙索引化アルゴリズムにより遺伝子制御ネットワークの解空間上の解(グラフG)を一様抽出する。解空間上のグラフGの総数は、ZDDの重要な性質の一つである「数え上げ」により行うことができ、また、「数え上げ」により取得したグラフGの総数以下の乱数(例えば、M系列(maximal length sequence)を用いた疑似乱数)を発生させ、各乱数により指定された指定番号に対応するグラフGを取り出す(グラフGを一様抽出する)。
評価値取得部(第1の評価値取得部)102は、解抽出部100により抽出されたグラフGに評価値を付与する。例えば、グラフGがRNA発現行列データDをどれだけ説明できているかを定量化した評価関数S(D,G)を用意しておき、評価値取得部102は、抽出されたグラフGに対応する評価値Sを評価関数S(D,G)に基づいて取得し、取得した評価値SをグラフGに付与する。評価関数S(D,G)は、データベース40に保存されたRNA発現行列データに基づいて評価値取得部102が作成してもよいし、予めRNA発現行列データに基づいて作成され、例えばデータベース40に保存された評価関数S(D,G)を使用するようにしてもよい。
解取得部104は、遺伝子制御ネットワークの最適化問題を解く何らかのヒューリスティックな手法により獲得された最適と思われる解(解候補)(以下、「グラフG_1」という)を取得する。また、入力したグラフG_1に対する評価値S_1は、評価値取得部102により取得することができる。尚、ヒューリスティックな手法としては、例えば、グリーディ法、ヒルクライミング法、焼きなまし法、タブーサーチ、遺伝的アルゴリズムなどが知られており、そのいずれを用いても良い。また、ヒューリスティックな探索は、本装置により行ってもよいし、外部の装置により行ってもよく、解取得部104は、何らかのヒューリスティックな手法により獲得された解候補(グラフG_1)を取得する。
第1の最大評価値推定部106は、解空間上の解(グラフG)の最大評価値を推定する部分であり、本例では、解抽出部100により一様抽出された複数の解(第1の複数の解)の評価値に基づいて、第1の複数の解の抽出個数を超える個数の解を想定した場合の評価値のうちの最大評価値(第1の最大評価値Z)を推定する。
具体的には、U,Vをそれぞれ自然数とすると、U×V個の解(第1の複数のグラフG)を一様抽出し、各々のグラフGに評価値Sを与える。ここで、Uはブロックサイズであり、Vはブロック個数である。U、Vは、ある大きな数として設定する。例えばU、Vともに10,000に設定しても良く、この場合、一様抽出されるグラフGの個数は、1億個(=10,000×10,000)となる。
第1の最大評価値推定部106は、U×V個のグラフGをV個のブロックに分け、ブロック毎のU個のグラフGの評価値のうちの区分最大値を取得する。したがって、区分最大値は、V個取得すことができる。そして、V個の区分最大値が一般極値分布(GEV:generalized extreme value distribution)に従うものとして最大評価値(第1の最大評価値Z)を最尤推定する。
第1の最大評価値は、統計学的な裏付けを伴うものである。解空間上のグラフ{G}は本来は有限集合であり、厳密には縮退してしまうが、グラフGの総数が十分に大きいため連続分布近似が適用できる。その場合、評価値Sに明らかに上限が存在するので、適切なU、Vの設定によってガンベル型になることが期待され、真の第1の最大評価値Zを信頼区間付で推定できる。
第1の比較部108は、解取得部104が取得した解候補(グラフG_1)に対応する評価値S_1を評価値取得部102から取得し、取得した評価値S_1と推定した信頼区間付の第1の最大評価値Zとを比較する。
第1の判定部110は、第1の比較部108による比較結果に基づいてグラフG_1の評価値S_1が、第1の最大評価値Zの信頼区間内に入るか否かを判定する。第1の最大評価値Zの信頼区間内に収まっていれば、グラフG_1は、解空間の全域での第1の最適解の一つ(「グラフG_1は十分」)であることが分かる。
仮に、Z≫S_1であれば、両者の評価値の差を解空間上の距離に変換し、現在推定しているグラフG_1が真の最適解(第1の最大評価値Zに対応する解)からどのくらい離れているかを推定してもよい。
即ち、ヒューリスティック探索で探索された解候補(グラフG_1)が、真の最適値かどうかを判断できるようになる。
[第2の実施形態]
図16は、図3に示した最適解判定装置10のCPU12の機能を示す機能ブロック図であり、本発明の第2の実施形態を示す機能ブロック図である。尚、図16において、図4に示した第1の実施形態と共通する部分には同一の符号を付し、その詳細な説明は省略する。
図16に示す第2の実施形態はて第1の実施形態と比較して第2の最大評価値推定部112、第2の比較部114及び第2の判定部116が主として追加されている。
第1の実施形態では、解候補(G_1)の最適性十分性判定に成功しても、解候補(G_1)以外にも同等に確からしい別の解候補が存在する可能性は排除できない。
第2の実施形態は、解候補(G_1)以外には同等に確からしい別の解候補が存在しないことを判定可能にするものである。
図16において、第1の実施形態により解候補(グラフG_1)の最適性十分性判定に成功すると、その後、解抽出部100は、グラフG_1からの解空間上の距離が一定範囲外の解を列挙索引化するZDDを構築する。このZDDの構築は、ZDDを構築する際のフロンティア法において、構築途上のグラフGとグラフG_1との共通又は非共通エッジをカウントすることで実現できる。解抽出部100は、再構築したZDDを用いたパス列挙索引化アルゴリズムにより遺伝子制御ネットワークの解空間上の第2の複数の解(グラフG)であって、グラフG_1から解空間上の距離が一定範囲外の第2の複数のグラフGを一様抽出する。
第2の最大評価値推定部112は、一様抽出された第2の複数のグラフにそれぞれ対応する評価値に基づいて、第2の複数の解の抽出個数を超える個数の解を想定した場合の評価値のうちの最大評価値(第2の最大評価値W)を推定する。
具体的には、第1の最大評価値推定部106による第1の最大評価値Zの推定と同様の手法により第2の最大評価値Wを推定する。即ち、P,Qをそれぞれ自然数とすると、P×Q個の解(第2の複数のグラフG)を一様抽出し、各々のグラフGに評価値Sを与える。ここで、Pはブロックサイズであり、Qはブロック個数である。P、Qは、第1の最大評価値Zを推定する際に一様抽出したU、Vと同じでもよいし、異なっていてもよい。
第2の最大評価値推定部112は、P×Q個のグラフGをQ個のブロックに分け、ブロック毎のU個のグラフGの評価値のうちの区分最大値を取得する。したがって、区分最大値は、Q個取得すことができる。そして、Q個の区分最大値が一般極値分布に従うものとして第2の最大評価値Wを最尤推定する。
第2の比較部114は、解取得部104が取得した解候補(グラフG_1)に対応する評価値S_1を評価値取得部(第2の評価値取得部)102から取得し、取得した評価値S_1と推定した信頼区間付の第2の最大評価値Wとを比較する。
第2の判定部116は、第2の比較部114による比較結果に基づいてグラフG_1の評価値S_1が、第2の最大評価値W(信頼区間付の第2の最大評価値Wの範囲)を超えているか否かを判定する。
第1の最大評価値Zは、解空間全体の最大値を推定したものであり、第2の最大評価値Wは、部分空間の最大値を推定したものなので、基本的にはW≦Zは明らかである(サンプルサイズ等によっては確率的にW>Zとなる場合もある)。
その上で、S_1≫W(信頼区間を外れる等)であれば、グラフG_1は第1の最大評価値を与えるグラフであって、しかもグラフG_1から解空間上で離れた範囲には、同等以上にRNA発現行列データDを説明できるグラフ構造はないと判断できる。
尚、グラフG_1から離間させる一定範囲の距離は、事前に設定する必要があるが、これはグラフの特性から設定してもよいし、経験的に設定してもよいし、例えばS_1≫Wになるところまで徐々に離れる距離を大きくしていってもよい。例えば、十分大きな距離の設定値から2分検索などによって効率的に適切な距離を繰り返し探索しても構わない。
言うまでもないことだが、距離ゼロであれば、W≒Zとなり、第1の実施形態と変わらない結果になろうし、ゼロ以外の最短の距離の場合はグラフG_1のみしか排除しないため、ある程度の距離を設定しないと、結果には大きな違いは出にくいと想定される。
これにより、第2の最大評価値Wを超えていれば、グラフG_1は、解空間の全域での唯一の最適解(「グラフG_1は必要十分」)であることが分かる。即ち、ヒューリスティック探索で得られたグラフG_1以外に、最適値に相当するグラフが存在しないと判断できるようになる。
尚、第2の実施形態は、第1の実施形態において、グラフG_1の最適十分性の判定に成功した場合に、続けて行うのが通例であるが、何らかの理由によって決められたグラフGが存在する場合、そのグラフGから離れた範囲の解候補とグラフGとを直接比較する手段として利用されてもよい。
従来のヒューリスティック探索では、例えば初期値をランダムに変えるとか、データにノイズを与えるなどの工夫で繰り返し探索を行うなどの方法もあったが、それ自体もヒューリスティックな判定法であるのに対して、本発明は統計的根拠に裏付けられた手法である。
図17は、ある遺伝子制御ネットワーク推定に対して本発明を適用した例を示すグラフである。
図17に示すグラフの横軸は乖離度(距離)であり、縦軸は評価値である。点線は、獲得グラフに対する到達評価値(第1の最大評価値Z)である。また、白抜きの線は、各乖離度に対する最適値の推定値である。
尚、ここでいう「乖離度」とは一般に距離またはそれに準じる指標である。例えば、集合をバイナリ配列として表現する場合はハミング距離としてもよい。問題に応じて、編集距離などの他の距離指標、あるいは、準距離、半距離等の指標を用いてもよい。また、それらに近しい乖離度指標を定義してもよい。
乖離度ゼロでの最適値推定範囲は、到達評価値を包含しているため、到達評価値は最適値であると判定された。
乖離度を増やすに連れて推定範囲に対応する値は徐々に低下し、乖離度5〜6で推定範囲(第2の最大評価値W)が到達評価値を外れたので、乖離度5〜6以上の範囲には獲得グラフ同等以上の評価値を有するグラフは存在しないことと判定された。
また、実線はヒューリスティック探索で得られた解候補に対応する実測値を示すが、本発明が実態を正しく推定できていることを示す。
<最適解判定方法>
[第1の実施形態]
図18は、本発明に係る最適解判定方法の第1の実施形態を示すフローチャートである。
図18において、図4に示した解抽出部100は、組合せ最適化問題の一つある遺伝子制御ネットワークの解空間上の解(グラフG)を一様抽出する(ステップS10(第1のステップ))。本例では、前述したようにZDDを用いたパス列挙索引化アルゴリズムによりグラフGを一様抽出する。
続いて、評価値取得部102は、一様抽出されたグラフGに対して評価値Sを付与する(ステップS12)。例えば、グラフGがRNA発現行列データDをどれだけ説明できているかを定量化した評価関数S(D,G)を用意しておき、評価値取得部102は、一様抽出されたグラフGに対応する評価値Sを評価関数S(D,G)に基づいて取得し、取得した評価値SをグラフGに付与する。
第1の最大評価値推定部106は、一様抽出された複数のグラフG(第1の複数の解)に対して、ステップS12により付与された第1の複数の評価値Sを取得し(ステップS14、第2のステップ)、取得した第1の複数の評価値Sに基づいて、第1の複数のグラフGの抽出個数を超える個数の解を想定した場合の評価値のうちの最大評価値(第1の最大評価値)Zを推定する(ステップS16、第3のステップ)。
具体的には、第1の複数のグラフGは、U,Vをそれぞれ自然数とすると、U×V個のグラフであり、第1の最大評価値推定部106は、U×V個のグラフGをV個のブロックに分け、ブロック毎のU個のグラフGの評価値の区分最大値をV個取得し、V個の区分最大値を用いて、区分最大値が一般極値分布に従うものとして最大評価値(信頼区分付の第1の最大評価値Z)を最尤推定する。
続いて、解取得部104は、遺伝子制御ネットワークの最適化問題を解く何らかのヒューリスティックな手法により獲得された最適と思われる解候補(グラフG_1)を取得する(ステップS18、第4のステップ)。ヒューリスティックな手法としては、例えば、グリーディ法、ヒルクライミング法、焼きなまし法、タブーサーチ、遺伝的アルゴリズムなどが知られており、そのいずれを用いても良い。
評価値取得部102(第1の評価値取得部)により、取得したグラフG_1に対する評価値S_1を取得する(ステップS20、第5のステップ)。
第1の比較部108は、ステップS20で取得した評価値S_1と、ステップS16で推定した信頼区間付の第1の最大評価値Zとを比較する(ステップS22、第6のステップ)。
第1の判定部110は、第1の比較部108による比較結果に基づいてグラフG_1の評価値S_1が、信頼区間付の第1の最大評価値Zの範囲に入るか否かを判定する(ステップS24、第7のステップ)。即ち、第1の判定部110は、評価値S_1が信頼区間付の第1の最大評価値の信頼区間内に入っている場合には、グラフG_1は最適解としての十分条件を満たしている(最適十分性あり)と判定する。
第1の判定部110による判定結果は、図3に示したモニタ装置28に表示され、又はハードディスク装置20に保存され、又は図示しないプリンタにプリント出力される(ステップS26、第8のステップ)。尚、第1の判定部110による判定結果は、最適十分性の有無に限らず、最適十分性がない場合には、評価値S_1と第1の最大評価値Zとの差を解空間上の距離に変換し、現在推定しているグラフG_1が真の最適解(第1の最大評価値Zに対応する解)からどのくらい離れているかを判定してもよい。
第1の実施形態によれば、ヒューリスティック探索で探索された解候補(グラフG_1)が、真の最適値としての最適十分性を有するか否かを判定することができる。また、最適十分性の判定に失敗した場合でも、ヒューリスティック探索が不十分なために、他の最適解が存在することが示唆されたことになり、更に失敗程度によって、ある程度は最適解に近いことを主張したり、あるいは、最適解は別にあることを留意した上で、解候補を利用したりしても良い。即ち、最適十分性判定の成否に関わらず、最適十分性判定の情報は有用である。
[第1の実施形態の変形例]
本手順の最適十分性判定に失敗した場合、ヒューリスティックな同じ探索を異なる設定などで繰り返しても良いが、予めヒューリスティック探索を行う複数の探索法(第1の探索法、第2の探索法等)を用意し、複数の探索法を切り替えて使用する方法が考えられる。
例えば、ヒューリスティックな探索法として、演算コストは小さい(探索時間は短い)が解の精度が低い第1の探索法と、第1の探索法よりも演算コストは大きい(探索時間は長い)が解の精度が高い第2の探索法とを準備しておき、最初に第1の探索法により探索した第1の解候補(グラフG_1)の最適十分性を判定し、最適十分性の判定に失敗した場合のみ、第2の探索法により探索した第2の解候補(グラフG_1)の最適十分性を判定する。
これらの探索法の切り替えは、ヒューリスティックな探索法同士で切り替えてもよいし、近似性の保証がある程度ある近似アルゴリズムや厳密解を求める手法などへ切り替えてもよい。また、探索法は3つ以上用意して順次切り替えても構わない。探索法の切り替えは、方法自体に限らず、同一の探索法の収束判定等によって実現しても構わない。例えば、繰り返しサーチによって精度を高める探索法において、所定回の探索結果を第1の最大評価値Zで判定し、第1の最大評価値Zの信頼区間内に達するまで探索を繰り返しても良い。
また、この場合、先行して最適十分性を判定するための第1の最大評価値Zを取得しておいても構わない。
[第2の実施形態]
図19は、本発明に係る最適解判定方法の第2の実施形態を示すフローチャートであり、特に図18に示した第1の実施形態による最適十分性判定に成功した後に行われる最適必要性判定の処理に関して示している。
図19において、図16に示した解抽出部100(第2の解抽出部)は、遺伝子制御ネットワークの解空間上の第2の複数のグラフGであって、最適十分性判定に成功したグラフG_1からの解空間上の距離が一定範囲外の複数(第2の複数)のグラフGを一様抽出する(ステップS30、第9のステップ)。尚、第2の複数のグラフGの一様抽出は、グラフG_1からの解空間上の距離が一定範囲外の解を列挙索引化するZDDを構築し、構築したZDDを用いたパス列挙索引化アルゴリズムにより行うことができる。
続いて、評価値取得部102は、一様抽出された第2の複数のグラフGに対してそれぞれ評価値Sを取得する(ステップS32、第10のステップ)。グラフGに対する評価値Sの取得は、図18に示した第1の実施形態のステップS12と同様に行うことができる。
次に、第2の最大評価値推定部112は、ステップS32により取得した第2の複数の評価値Sに基づいて、第2の複数のグラフGの抽出個数を超える個数の解を想定した場合の評価値のうちの最大評価値(第2の最大評価値)Wを推定する(ステップS34、第11のステップ)。
具体的には、第2の複数のグラフGは、P,Qをそれぞれ自然数とすると、P×Q個のグラフであり、第2の最大評価値推定部112は、P×Q個のグラフGをQ個のブロックに分け、ブロック毎のP個のグラフGの評価値の区分最大値をQ個取得し、Q個の区分最大値を用いて、区分最大値が一般極値分布に従うものとして最大評価値(信頼区分付の第2の最大評価値W)を最尤推定する。
続いて、第2の比較部114は、最適十分性判定に成功したグラフG_1の評価値S_1と、ステップS34で推定した信頼区間付の第2の最大評価値Wとを比較する(ステップS36、第12のステップ)。
第2の判定部116は、第2の比較部114による比較結果に基づいてグラフG_1の評価値S_1が、信頼区間付の第2の最大評価値Wの範囲を超えているか否かを判定する(ステップS38、第13のステップ)。即ち、第2の判定部116は、評価値S_1が信頼区間付の第2の最大評価値の範囲を超えている場合には、グラフG_1と同等解は他には存在せず、グラフG_1は唯一の最適解としての必要条件を満たしている(最適必要性あり)と判定する。
第2の判定部116による判定結果は、図3に示したモニタ装置28に表示され、又はハードディスク装置20に保存され、又は図示しないプリンタにプリント出力される(ステップS40、第14のステップ)。
第2の実施形態によれば、ヒューリスティック探索で探索された解候補(グラフG_1)が、真の最適値としての最適十分性判定に成功すると、更にグラフG_1の最適必要性を判定するため、探索されたグラフG_1から離れた解空間には、同等の評価値を有する解が存在しないことを確認することができる。
[第3の実施形態]
本発明に係る最適解判定方法の第3の実施形態は、図19に示した第2の実施形態において、最適十分性判定に失敗した場合の処理を含む。
即ち、最適十分性判定に失敗した場合、図19に示したステップS30(第15のステップ)において、グラフG_1からの一定範囲を解空間上で拡大し、拡大した一定範囲外の解空間上で第3の複数のグラフG_3(第3の複数の解)を一様抽出する。
そして、拡大した一定範囲外の解空間上で抽出した第3の複数のグラフGに対応する第3の複数の評価値の取得(ステップS32、第16のステップ)、第3の複数の評価値に基づいて第3の複数のグラフGの個数を超える個数の解を想定した場合の第3の最大評価値Wの推定(ステップS34、第17のステップ)、グラフG_1の評価値S_1と第3の最大評価値Wとの比較(ステップS36)、及びグラフG_1の最適必要性の判定(ステップS38、第18のステップ)等を再度実行する。
最適十分性判定に失敗した場合には、一定範囲を拡大させる上記の処理を最適十分性判定に成功するまで、一定範囲を徐々に拡大して複数回繰り返してもよい。
[第4の実施形態]
本発明に係る最適解判定方法の第4の実施形態は、図19に示した第2の実施形態において、最適十分性判定に失敗した場合の他の処理を含む。
最適十分性判定に失敗した場合(即ち、グラフG_1の評価値S_1が第2の最大評価値Wを超えていないとの判定結果が出力された場合)、図20に示すようにグラフG_1からの解空間上の距離が一定距離離れた第4の解候補(グラフG_2)であって、第2の最大評価値Wに対応する評価値S_2を有するグラフG_2を取得する(ステップS42、第19のステップ)。
グラフG_2の取得は、グラフG_1からの距離が一定範囲外の解空間の範囲で解候補(グラフG_2)のヒューリスティック探索を実行し、グラフG_2の評価値S_2が、W≒Zと同等となるグラフG_2を取得することにより行う。
次に、図19に示したステップS30の代わりに、グラフG_1及びグラフG_2のそれぞれからの解空間上の距離が一定範囲外の第4の複数の解を一様抽出する(ステップS44、第20のステップ)。
その後、図19に示したステップS32に遷移させ、上記のようにして拡大した一定範囲外の解空間上で抽出した第4の複数のグラフGに対応する第4の複数の評価値の取得(ステップS32、第21のステップ)、第4の複数の評価値に基づいて第4の複数のグラフGの個数を超える個数の解を想定した場合の第4の最大評価値Wの推定(ステップS34、第22のステップ)、グラフG_1の評価値S_1と第の最大評価値Wとの比較(ステップS36)、及びグラフG_1の最適必要性の判定(ステップS38、第23のステップ)等を再度実行する。
そして、最適十分性判定に再度失敗した場合には、新たにグラフG_3等を追加し、新たな第4の最大評価値Wを推定して最適必要性の判定を繰り返し行う。
尚、一定範囲(意味のある距離)は、組合せ最適化問題のもとの要請から決まる。例えば遺伝子制御ネットワークの場合、距離dは異なるエッジの本数を意味するので、作用機序解明等で許容されるエッジの間違い数によって解釈すればよい。エッジの総数がN本程度と見込まれる場合、d/Nで誤答率を表す指標も考えられるので、例えば誤答率5%を許容してN=100が見込まれる場合は、d=5等と設定すればよい。
[第5の実施形態]
解空間全体から解を一様抽出することができない場合がある。解空間全体のZDDが構築できない事例等、そもそも一様抽出手段が確保できない場合である。
その場合に適用可能な本発明に係る最適解判定方法の第5の実施形態について説明する。
図21は本発明に係る最適解判定方法の第5の実施形態を示すフローチャートである。
まず、制約条件CだけではZDDを構築できない場合、ZDDを構築できる、より厳しい制約条件Cを考える。例えばグラフ問題では、制約条件Cが「非循環」のみであれば、「全域林」を付与すること等が考えられる。組合せ最適化問題の解空間は、上記の制約条件C(第1の制約条件)における第1の解空間と、制約条件C(第2の制約条件)における第2の解空間とを含むものとする。
図21において、第1の解空間に属する解(制約条件Cにおけるグラフ{G})の中から第1の解候補(グラフG_1)を取得する(ステップS50、第24のステップ)。第1の解空間では、ZDD等を構築できていなくても、ヒューリスティックな手法等でグラフG_1の探索は可能である。
続いて、第2の解空間上の解(制約条件Cにおけるグラフ{G})を列挙し、ステップS50で取得したグラフG_1の、制約条件Cにおける近傍解G_1を探索する(ステップS52、第28のステップ)。例えば、制約条件CにおけるZDDは記述できることから、制約条件Cに対してさらに「G_1からの解空間上の距離が一定範囲内であること」を付け加えてZDDを構築し、そのうち最小距離のものを選ぶことなどにより近傍解G_1を探索できる。
次に、近傍解G_1の評価値S_1を取得する(ステップS54、第29のステップ)。近傍解G_1に対する評価値S_1の取得は、図18に示した第1の実施形態のステップS12と同様に行うことができる。
ステップS54で取得した近傍解G_1 +の評価値S_1 +と、信頼区間付の第5の最大評価値Zとを比較する(ステップS56)。尚、第5の最大評価値Zは、第2の解空間の制約条件C +におけるグラフ{G +}の一様抽出に基づいて前述した手法によって推定することできる。即ち、第2の解空間上の複数の解を第5の複数の解(制約条件C +におけるグラフ{G +})として一様抽出し(第25のステップ)、第5の複数の解のそれぞれに対応する第5の複数の評価値を取得し(第26のステップ)、取得した第5の複数の評価値に基づいて、第5の複数の解の個数を超える個数の解を想定した場合の第5の最大評価値推定する(第27のステップ)。
そして、近傍解G_1の評価値S_1と、信頼区間付の第1の最大評価値Zとの比較結果に基づいて、グラフG_1の最適十分性を判定する(ステップS58、第30のステップ)。即ち、評価値S_1が第1の最大評価値Zの信頼区間内に入るか否かを判定し、評価値S_1が第1の最大評価値Zの信頼区間内に入り、近傍解G_1の最適十分性があると判定されれば、グラフG_1も最適十分性があると判定する。近傍解G_1が最適なら、少なくとも「より制約が厳しい条件を課した場合の最適解から、最も近いところに解を見つけている」ことは担保できるからである。
図22は、制約条件Cにおける第1の解空間と、制約条件Cにおける第2の解空間とを模式的に表す図である。ZDDを構築できない制約条件Cにおける第1の解空間上でヒューリスティックな手法等で探索したグラフG_1の最適性判定を行う場合、ZDDを構築できる、より厳しい制約条件Cにおける第2の解空間上で近傍解G_1(グラフG_1からの解空間上の距離が一定範囲内の最小距離のもの)を探索し、この近傍解G_1の最適性判定を代用し、グラフG_1の最適性判定を行う。
第2の解空間は、制約が追加されるので「C⊆C」となる(図22)。なぜなら、制約条件Cに含まれる制約は、モデルの前提条件であったり、事前知識による妥当な制約であったりするため、基本的には外すべきではないからである。言うまでもなく、追加される制約は、事前知識等によって問題に対してある程度の妥当性が想定されることが望ましい(が、必ずしも完全な妥当性が担保されていなくても止むを得ない)。
しかし、もし制約を外した方が探索容易で、かつ、制約を外しても妥当性の致命的な毀損には至らない場合であれば、「C⊆C」になるような制約、即ち制約の解除を考えても構わない。
いずれにせよ、制約条件CとCとの差及びグラフG_1と近傍解G_1との最小距離dは、代用した近傍解G_1と実際に利用する到達解との乖離度を示す。近傍解G_1の探索については、例えばヒューリスティックな手法によって、到達解の最小距離dの近傍については探索していると言えるのであれば、実用上は問題にならないと考えられる。一方、制約条件CとCとの違いの影響は、それによって評価値がどの程度大きく変化するかに依存する。評価値にそれほど大きな影響を与えないような制約条件で、最小距離dが妥当な範囲であれば、近傍解G_1の最適性判定を代用し、グラフG_1の最適性判定を行う信頼度は高いと考えてよい。以上から、より広い組合せ最適化問題に対して本発明の効果を及ぼすことができるようになる。
[その他]
本実施形態の最適解判定装置10は、例示に過ぎず、他の構成に対しても本発明を適用することが可能である。各機能構成は、任意のハードウェア、ソフトウェア、或いは両者の組合せによって適宜実現可能である。例えば、上述の最適解判定装置10の各部における処理をコンピュータに実行させる最適解判定プログラム、そのような最適解判定プログラムを記録したコンピュータ読み取り可能な記録媒体(非一時的記録媒体)に対しても、本発明を適用することが可能である。
また、本実施形態において、例えば、解抽出部100、評価値取得部102、解取得部104、第1の最大評価値推定部106、第1の比較部108、及び第1の判定部110等の各種の処理を実行する処理部(processing unit)のハードウェア的な構造は、次に示すような各種のプロセッサ(processor)である。各種のプロセッサには、ソフトウェア(プログラム)を実行して各種の処理部として機能する汎用的なプロセッサであるCPU(Central Processing Unit)、FPGA(Field Programmable Gate Array)などの製造後に回路構成を変更可能なプロセッサであるプログラマブルロジックデバイス(Programmable Logic Device:PLD)、ASIC(Application Specific Integrated Circuit)などの特定の処理を実行させるために専用に設計された回路構成を有するプロセッサである専用電気回路などが含まれる。
1つの処理部は、これら各種のプロセッサのうちの1つで構成されていてもよいし、同種または異種の2つ以上のプロセッサ(例えば、複数のFPGA、あるいはCPUとFPGAの組み合わせ)で構成されてもよい。また、複数の処理部を1つのプロセッサで構成してもよい。複数の処理部を1つのプロセッサで構成する例としては、第1に、クライアントやサーバなどのコンピュータに代表されるように、1つ以上のCPUとソフトウェアの組合せで1つのプロセッサを構成し、このプロセッサが複数の処理部として機能する形態がある。第2に、システムオンチップ(System On Chip:SoC)などに代表されるように、複数の処理部を含むシステム全体の機能を1つのIC(Integrated Circuit)チップで実現するプロセッサを使用する形態がある。このように、各種の処理部は、ハードウェア的な構造として、上記各種のプロセッサを1つ以上用いて構成される。
さらに、これらの各種のプロセッサのハードウェア的な構造は、より具体的には、半導体素子などの回路素子を組み合わせた電気回路(circuitry)である。
また、本発明は、プロセッサを有する最適解判定装置であって、プロセッサが、組合せ最適化問題の解空間上の複数の解を第1の複数の解として一様抽出し、一様抽出した第1の複数の解のそれぞれに対応する第1の複数の評価値を取得し、取得した第1の複数の評価値に基づいて、第1の複数の解の個数を超える個数の解を想定した場合の最大評価値を第1の最大評価値として推定し、解空間に属する解のうち少なくとも1つの解を解候補として取得し、取得した解候補に対応する評価値が第1の最大評価値の信頼区間内に入るか否かを判定する最適解判定装置を含む。
更に、本発明は上述した実施形態に限定されず、本発明の精神を逸脱しない範囲で種々の変形が可能であることは言うまでもない。
10 最適解判定装置
12 CPU
14 主メモリ
16 グラフィックボード
18 通信インターフェース
20 ハードディスク装置
22 CD−ROMドライブ
24 キーボードコントローラ
26 マウスコントローラ
28 モニタ装置
30 キーボード
32 マウス
40 データベース
50 ネットワーク
100 解抽出部
102 評価値取得部
104 解入力部
106 第1の最大評価値推定部
108 第1の比較部
110 第1の判定部
112 第2の最大評価値推定部
114 第2の比較部
116 第2の判定部
Z 第1の最大評価値
W 第2の最大評価値

Claims (14)

  1. 組合せ最適化問題における解の最適性をコンピュータが以下の各ステップの処理を行うことにより判定する最適解判定方法であって、
    前記組合せ最適化問題の解空間上の複数の解を、組合せ可能パターンを縮約して列挙索引化するデータ構造を用いて、又はランダム生成により第1の複数の解として一様抽出する第1のステップと、
    前記第1のステップにより一様抽出した前記第1の複数の解のそれぞれに対応する第1の複数の評価値を、評価関数に基づいて取得する第2のステップと、
    取得した前記第1の複数の評価値に基づいて、前記第1の複数の解の個数を超える個数の解を想定した場合の最大評価値を推定し、第1の最大評価値とする第3のステップと、
    前記解空間に属する解のうち少なくとも1つの解を、ヒューリスティックな探索法により解候補として取得する第4のステップと、
    前記解候補に対応する評価値を、前記評価関数に基づいて取得する第5のステップと、
    前記第5のステップにより取得した前記解候補に対応する評価値が前記第1の最大評価値の信頼区間内に入るか否かを判定する第6のステップと、
    前記第6のステップにおいて前記解候補に対応する評価値が前記第1の最大評価値の信頼区間内に入ると判定された場合に、前記解候補を第1の最適解とする第7のステップと、を含み、
    前記第1の複数の解は、U,Vをそれぞれ自然数とすると、U×V個の解であり、
    前記第3のステップは、前記U×V個の解をV個のブロックに分け、前記ブロック毎にU個の解の評価値の区分最大値をV個取得し、前記V個の区分最大値を用いて、前記区分最大値が一般極値分布に従うものとして前記第1の最大評価値を推定する、
    最適解判定方法。
  2. 前記第7のステップによる判定結果を出力する第8のステップを更に含む、
    請求項に記載の最適解判定方法。
  3. 演算コストは小さいが解の精度が低い第1の探索法と、前記第1の探索法よりも演算コストは大きいが解の精度が高い第2の探索法とを有し、
    前記第4のステップは、最初に前記第1の探索法により探索された第1の解候補を入力し、前記第1の解候補の評価値が前記第1の最大評価値の範囲に入らない場合のみ、前記第2の探索法により探索された第2の解候補を入力する、
    請求項1又は2に記載の最適解判定方法。
  4. 前記解空間上の解であって、前記第1の最適解からの前記解空間上の距離が一定範囲外の複数の解を、組合せ可能パターンを縮約して列挙索引化するデータ構造を用いて、又はランダム生成により第2の複数の解として一様抽出する第9のステップと、
    前記第2の複数の解のそれぞれに対応する第2の複数の評価値を、前記評価関数に基づいて取得する第10のステップと、
    前記第2の複数の評価値に基づいて、前記第2の複数の解の個数を超える個数の解を想定した場合の最大評価値を推定し、第2の最大評価値とする第11のステップと、
    前記第1の最適解の評価値を取得する第12のステップと、
    前記第1の最適解の評価値が、前記第2の最大評価値を超えているか否かを判定する第13のステップと、を含み、
    前記第2の複数の解は、P,Qをそれぞれ自然数とすると、P×Q個の解であり、
    前記第11のステップは、前記P×Q個の解をQ個のブロックに分け、前記ブロック毎にP個の解の評価値の区分最大値をQ個取得し、前記Q個の区分最大値を用いて、前記区分最大値が一般極値分布に従うものとして前記第2の最大評価値を推定する、
    請求項1からのいずれか1項に記載の最適解判定方法。
  5. 前記第13のステップによる判定結果を出力する第14のステップを更に含む、
    請求項に記載の最適解判定方法。
  6. 前記第13のステップにより前記第1の最適解の評価値が前記第2の最大評価値を超えていないと判定されると、前記一定範囲を拡大し、前記拡大した一定範囲外の複数の解を第3の複数の解として一様抽出する第15のステップと、
    前記第3の複数の解のそれぞれに対応する第3の複数の評価値を取得する第16のステップと、
    前記第3の複数の評価値に基づいて、前記第3の複数の解の個数を超える個数の解を想定した場合の最大評価値を推定し、第3の最大評価値とする第17のステップと、
    前記第1の最適解の評価値が、前記第3の最大評価値を超えているか否かを判定する第18のステップと、
    を更に含む、
    請求項4又は5に記載の最適解判定方法。
  7. 前記第13のステップにより前記第1の最適解の評価値が前記第2の最大評価値を超えていないと判定されると、前記解空間上の解であって、かつ前記第1の最適解から一定距離離れた第4の解候補を取得する第19のステップと、
    前記解空間上において、前記第1の最適解及び前記第4の解候補のそれぞれからの前記解空間上の距離が一定範囲外の第4の複数の解を一様抽出する第20のステップと、
    前記第4の複数の解のそれぞれに対応する第4の複数の評価値を取得する第21のステップと、
    前記第4の複数の評価値に基づいて、前記第4の複数の解の個数を超える個数の解を想定した場合の最大評価値を推定し、第4の最大評価値とする第22のステップと、
    前記第1の最適解の評価値が、前記第4の最大評価値を超えているか否かを判定する第23のステップと、
    を更に含む、
    請求項4又は5に記載の最適解判定方法。
  8. 前記解空間は、第1の制約条件における第1の解空間と第2の制約条件における第2の解空間とを含み、
    前記第1の解空間に属する第の解候補を取得する第24のステップと、
    前記第2の解空間上の複数の解を第5の複数の解として一様抽出する第25のステップと、
    前記第5の複数の解のそれぞれに対応する第5の複数の評価値を取得する第26のステ
    ップと、
    取得した前記第5の複数の評価値に基づいて、前記第5の複数の解の個数を超える個数の解を想定した場合の最大評価値を推定し、第5の最大評価値とする第27のステップと、
    前記第2の解空間における解候補であって、前記第24のステップで取得した前記の解候補からの前記解空間上の距離が近い解を近傍解として取得する第28のステップと、
    前記近傍解の評価値を取得する第29のステップと、
    前記近傍解の評価値が前記第5の最大評価値の信頼区間内に入るか否かを判定する第30のステップと、
    を含む請求項1からのいずれか1項に記載の最適解判定方法。
  9. 前記第1のステップは、前記組合せ最適化問題における組合せ可能なパターンのうち、組合せの一部により残りの組合せを考慮せずとも不適となることが確定するかどうかを識別することで、識別すべきパターンを削減するステップ、及び前記組合せ可能なパターンのうち、組合せの一部だけに差分があるパターン群の共通部分を抽出し、残りの組合せを共有することで、識別すべきパターンを削減するステップのうちの少なくとも一方を用いて、前記組合せ可能パターンを縮約して列挙索引化するデータ構造を用い、前記解空間上の解の総数を算出し、前記算出した総数以下の乱数を発生させ、発生させた乱数により特定されるパターンに対応する解を抽出する、
    請求項1からのいずれか1項に記載の最適解判定方法。
  10. 組合せ最適化問題は、遺伝子制御ネットワークの組合せ最適化問題である請求項1からのいずれか1項に記載の最適解判定方法。
  11. 請求項1から10のいずれか1項に記載の最適解判定方法をコンピュータに実行させる最適解判定プログラム。
  12. 請求項11に記載の最適解判定プログラムを記録したコンピュータ読み取り可能な非一時的記録媒体。
  13. 組合せ最適化問題における解の最適性を判定する最適解判定装置であって、
    前記組合せ最適化問題の解空間上の複数の解を、組合せ可能パターンを縮約して列挙索引化するデータ構造を用いて、又はランダム生成により第1の複数の解として一様抽出する解抽出部と、
    前記一様抽出した前記第1の複数の解のそれぞれに対応する評価値を、評価関数に基づいて取得する第1の評価値取得部と、
    前記取得した前記第1の複数の評価値に基づいて、前記第1の複数の解の個数を超える個数の解を想定した場合の最大評価値を推定し、第1の最大評価値とする第1の最大評価値推定部と、
    前記解空間に属する解のうち少なくとも1つの解を、ヒューリスティックな探索法により解候補として取得する解取得部と、
    前記解候補に対応する評価値を、前記評価関数に基づいて前記第1の評価値取得部から取得し、前記取得した前記解候補に対応する評価値が前記第1の最大評価値の信頼区間内に入るか否かを判定し、前記解候補に対応する評価値が前記第1の最大評価値の信頼区間内に入ると判定された場合に、前記解候補を第1の最適解とする第1の判定部と、を備え、
    前記第1の複数の解は、U,Vをそれぞれ自然数とすると、U×V個の解であり、
    前記第1の最大評価値推定部は、前記U×V個の解をV個のブロックに分け、前記ブロック毎にU個の解の評価値の区分最大値をV個取得し、前記V個の区分最大値を用いて、前記区分最大値が一般極値分布に従うものとして前記第1の最大評価値を推定する、
    最適解判定装置。
  14. 前記解空間上の解であって、前記第1の最適解からの前記解空間上の距離が一定範囲外の複数の解を、組合せ可能パターンを縮約して列挙索引化するデータ構造を用いて、又はランダム生成により第2の複数の解として一様抽出する第2の解抽出部と、
    前記第2の複数の解のそれぞれに対応する第2の複数の評価値を、前記評価関数に基づいて取得する第2の評価値取得部と、
    前記第2の複数の評価値に基づいて、前記第2の複数の解の個数を超える個数の解を想定した場合の最大評価値を推定し、第2の最大評価値とする第2の最大評価値推定部と、
    前記第1の最適解に対応する評価値を前記第2の評価値取得部から取得し、前記取得した前記第1の最適解に対応する評価値が、前記第2の最大評価値を超えているか否かを判定する第2の判定部と、を更に備え、
    前記第2の複数の解は、P,Qをそれぞれ自然数とすると、P×Q個の解であり、
    前記第2の最大評価値推定部は、前記P×Q個の解をQ個のブロックに分け、前記ブロック毎にP個の解の評価値の区分最大値をQ個取得し、前記Q個の区分最大値を用いて、前記区分最大値が一般極値分布に従うものとして前記第2の最大評価値を推定する、
    請求項13に記載の最適解判定装置。
JP2019505816A 2017-03-15 2018-02-22 最適解判定方法、最適解判定プログラム、非一時的記録媒体及び最適解判定装置 Active JP6851460B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2017050214 2017-03-15
JP2017050214 2017-03-15
PCT/JP2018/006501 WO2018168383A1 (ja) 2017-03-15 2018-02-22 最適解判定方法、最適解判定プログラム及び最適解判定装置

Publications (2)

Publication Number Publication Date
JPWO2018168383A1 JPWO2018168383A1 (ja) 2019-12-12
JP6851460B2 true JP6851460B2 (ja) 2021-03-31

Family

ID=63522077

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019505816A Active JP6851460B2 (ja) 2017-03-15 2018-02-22 最適解判定方法、最適解判定プログラム、非一時的記録媒体及び最適解判定装置

Country Status (5)

Country Link
US (1) US11816580B2 (ja)
EP (1) EP3598350A4 (ja)
JP (1) JP6851460B2 (ja)
CN (1) CN110249344A (ja)
WO (1) WO2018168383A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190155966A1 (en) * 2017-11-17 2019-05-23 Autodesk, Inc. Computer-implemented synthesis of a mechanical structure using a divergent search algorithm in conjunction with a convergent search algorithm
JP7093972B2 (ja) * 2019-06-06 2022-07-01 日本電信電話株式会社 近似zdd構築方法、近似zdd構築装置及びプログラム
JP6841305B2 (ja) * 2019-07-04 2021-03-10 ダイキン工業株式会社 組合せ解決定システム
JP7283318B2 (ja) * 2019-09-12 2023-05-30 富士通株式会社 最適化装置、最適化プログラム、及び最適化方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000057124A (ja) * 1998-08-14 2000-02-25 Nec Corp 組合せ最適化方法および組合せ最適化システム
US6865325B2 (en) * 2001-04-19 2005-03-08 International Business Machines Corporation Discrete pattern, apparatus, method, and program storage device for generating and implementing the discrete pattern
EP1436611A4 (en) * 2001-09-26 2007-04-11 Gni Kk BIOLOGICAL IDENTIFICATION USING GENREGULATION NETWORKS GENERATED FROM MULTIPLE INTERRUPTED EXTRESSION LIBRARIES
FR2847059B1 (fr) 2002-11-13 2005-02-25 Ecri Electronic Systeme de securite pour des personnes susceptibles d'etre immergees
US20050055166A1 (en) 2002-11-19 2005-03-10 Satoru Miyano Nonlinear modeling of gene networks from time series gene expression data

Also Published As

Publication number Publication date
EP3598350A1 (en) 2020-01-22
JPWO2018168383A1 (ja) 2019-12-12
US20190340513A1 (en) 2019-11-07
EP3598350A4 (en) 2020-04-22
US11816580B2 (en) 2023-11-14
CN110249344A (zh) 2019-09-17
WO2018168383A1 (ja) 2018-09-20

Similar Documents

Publication Publication Date Title
JP6851460B2 (ja) 最適解判定方法、最適解判定プログラム、非一時的記録媒体及び最適解判定装置
Li et al. IsoLasso: a LASSO regression approach to RNA-Seq based transcriptome assembly
Feng et al. Inference of isoforms from short sequence reads
Holmans Statistical methods for pathway analysis of genome-wide data for association with complex genetic traits
JP6751376B2 (ja) 最適解探索方法、最適解探索プログラム及び最適解探索装置
CN103087906B (zh) 在目标基因组序列中产生新型序列的装置和方法
Funk et al. Atlas of transcription factor binding sites from ENCODE DNase hypersensitivity data across 27 tissue types
Feng et al. Inference of isoforms from short sequence reads
Masoudi-Nejad et al. RETRACTED ARTICLE: Candidate gene prioritization
WO2017144969A1 (en) Method and system for quantifying the likelihood that a gene is casually linked to a disease
JP7109339B2 (ja) ポリマー設計装置、プログラム、および方法
Vandin et al. Algorithms and genome sequencing: identifying driver pathways in cancer
Liang et al. Endotyping in Heart Failure―Identifying Mechanistically Meaningful Subtypes of Disease―
Parikh et al. A data-driven architecture using natural language processing to improve phenotyping efficiency and accelerate genetic diagnoses of rare disorders
Bazil et al. The inferred cardiogenic gene regulatory network in the mammalian heart
Yang et al. An approach of epistasis detection using integer linear programming optimizing Bayesian network
Yu et al. A new efficient algorithm for quorum planted motif search on large DNA datasets
Kamal et al. An integrated algorithm for local sequence alignment
CN103310128A (zh) 考虑种子片段的长度的碱基序列处理系统及方法
Chen et al. Constructing consensus genetic maps in comparative analysis
Chang et al. An integer programming approach to DNA sequence assembly
Song et al. Algorithms to distinguish the role of gene-conversion from single-crossover recombination in the derivation of SNP sequences in populations
Hua et al. PGS: a dynamic and automated population-based genome structure software
Byron Big data analytics in computational biology and bioinformatics
Schwartz Algorithms for association study design using a generalized model of haplotype conservation

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190716

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190716

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200813

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201009

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210302

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210309

R150 Certificate of patent or registration of utility model

Ref document number: 6851460

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250