(57)【要約】【課題】シミュレーションシステム及び方法、システムを含むコンピュータシステムを提供する。【解決手段】本発明は、少なくとも一つのプロセッサを含むコンピュータシステムを利用したシミュレーション方法であって、入力のＮＰ（Ｎｏｍｉｎａｌ  Ｐｏｉｎｔ）に対する関数値が第１値である場合、入力に対して第１シミュレーションを行い、入力のＮＰに対する関数値が第１値と異なる第２値である場合、入力に対して第２シミュレーションを行うことを含み、第２シミュレーションを行うことは、（ａ）第２値に対する入力分布の境界を第１分布値として設定し、（ｂ）設定した分布境界内で入力サンプルを生成し、（ｃ）生成した入力サンプルに対して機械学習を行うことによって入力に対するＷＣＰ（Ｗｏｒｓｔ  Ｃａｓｅ  Ｐｏｉｎｔ）を算出し、（ｄ）入力分布の境界が最小臨界値になるまで入力分布の境界を変化させながら（ａ）乃至（ｃ）を繰り返すことを含む。【選択図】  図３
2014229311.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも一つのプロセッサを含むコンピュータシステムを利用したシミュレーション方法であって、
入力のＮＰ（Ｎｏｍｉｎａｌ  Ｐｏｉｎｔ）に対する関数値が第１値である場合、前記入力に対して第１シミュレーションを行い、
前記入力のＮＰに対する関数値が前記第１値と異なる第２値である場合、前記入力に対して第２シミュレーションを行うことを含み、
前記第２シミュレーションの実行は、
（ａ）前記第２値に対する入力分布の境界を第１分布値として設定し、
（ｂ）前記設定した分布境界内で入力サンプルを生成し、
（ｃ）前記生成した入力サンプルに対して機械学習を行うことによって前記入力に対するＷＣＰ（Ｗｏｒｓｔ  Ｃａｓｅ  Ｐｏｉｎｔ）を算出し、
（ｄ）前記入力分布の境界が最小臨界値になるまで前記入力分布の境界を変化させながら前記（ａ）ないし（ｃ）を繰り返すことを含むシミュレーション方法。
【請求項２】
前記第１シミュレーションは、モンテカルロシミュレーション（Ｍｏｎｔｅ  Ｃａｒｌｏ  Ｓｉｍｕｌａｔｉｏｎ）を含む請求項１に記載のシミュレーション方法。
【請求項３】
前記第２シミュレーションは、重点サンプリング法（Ｉｍｐｏｒｔａｎｃｅ  Ｓａｍｐｌｉｎｇ）を含む請求項２に記載のシミュレーション方法。
【請求項４】
前記設定した分布境界内で入力サンプルを生成することは、前記設定した分布境界内で均一分布サンプリング（Ｕｎｉｆｏｒｍ  Ｄｉｓｔｒｉｂｕｔｉｏｎ  Ｓａｍｐｌｉｎｇ）により前記入力サンプルを生成することを含む請求項１に記載のシミュレーション方法。
【請求項５】
少なくとも一つのプロセッサを含むコンピュータシステムを利用したシミュレーション方法であって、
（ａ）入力の分布境界を第１分布値として設定し、
（ｂ）前記設定した分布境界内で入力サンプルを生成し、
（ｃ）前記生成した入力サンプルのそれぞれに対して関数値を算出し、
（ｄ）入力サンプルと関数値に対して機械学習（ｍａｃｈｉｎｅ  ｌｅａｒｎｉｎｇ）を行い、境界面を算出し、
（ｅ）前記境界面上で前記入力に対するＷＣＰ（Ｗｏｒｓｔ  Ｃａｓｅ  Ｐｏｉｎｔ）を探索し、
（ｆ）前記入力の分布境界が最小臨界値になるまで前記入力分布の境界を変化させながら前記（ａ）ないし（ｅ）を繰り返すことを含むシミュレーション方法。
【請求項６】
前記入力分布の境界を変化させることは、前記入力分布の境界を前記第１分布値から第２分布値に変化させることを含む請求項５に記載のシミュレーション方法。
【請求項７】
前記第２分布値は前記第１分布値より小さい請求項６に記載のシミュレーション方法。
【請求項８】
前記最小臨界値、第１分布値、および第２分布値のうち少なくとも一つはユーザによって設定される値である請求項６に記載のシミュレーション方法。
【請求項９】
前記設定した分布境界内で入力サンプルを生成することは、前記設定した分布境界内で均一分布サンプリング（Ｕｎｉｆｏｒｍ  Ｄｉｓｔｒｉｂｕｔｉｏｎ  Ｓａｍｐｌｉｎｇ）により前記入力サンプルを生成することを含む請求項５に記載のシミュレーション方法。
【請求項１０】
前記入力サンプルと関数値に対して機械学習（ｍａｃｈｉｎｅ  ｌｅａｒｎｉｎｇ）を行い、境界面を算出することは、前記入力サンプルと関数値に対してＳＶＭ（Ｓｕｐｐｏｒｔ  Ｖｅｃｔｏｒ  Ｍａｃｈｉｎｅ）を利用して前記境界面を算出することを含む請求項５に記載のシミュレーション方法。
【請求項１１】
前記境界面上で前記入力に対するＷＣＰを探索することは、ＥＡ（Ｅｖｏｌｕｔｉｏｎａｒｙ  Ａｌｇｏｒｉｔｈｍ）を利用して前記ＷＣＰを探索することを含む  請求項５に記載のシミュレーション方法。
【請求項１２】
提供された分布の中心に基づき予め定められたシミュレーションを行うメインシミュレーションモジュールと、
入力のＮＰ（Ｎｏｍｉｎａｌ  Ｐｏｉｎｔ）に対する関数値が第１値である場合、前記入力に対する原点を前記メインシミュレーションモジュールに提供し、前記入力のＮＰに対する関数値が前記第１値と異なる第２値である場合、ＷＣＰ（Ｗｏｒｓｔ  Ｃａｓｅ  Ｐｏｉｎｔ）探索モジュールに前記入力を提供する判断モジュールと、
前記第２値に対する入力分布の境界を変化させながら前記設定した分布境界内で入力サンプルを生成することを繰り返すことによって前記入力に対するＷＣＰを算出し、これを前記メインシミュレーションモジュールに提供するＷＣＰ探索モジュールを含むシミュレーションシステム。
【請求項１３】
前記予め定められたシミュレーションはモンテカルロシミュレーション（Ｍｏｎｔｅ  Ｃａｒｌｏ  Ｓｉｍｕｌａｔｉｏｎ）を含む請求項１２に記載のシミュレーションシステム。
【請求項１４】
前記設定した分布境界内で入力サンプルを生成することは、前記設定した分布境界内で均一分布サンプリング（Ｕｎｉｆｏｒｍ  Ｄｉｓｔｒｉｂｕｔｉｏｎ  Ｓａｍｐｌｉｎｇ）により前記入力サンプルを生成することを含む請求項１２に記載のシミュレーションシステム。
【請求項１５】
前記ＷＣＰ探索モジュールが、前記第２値に対する入力分布の境界を変化させながら前記設定した分布境界内で入力サンプルを生成することを繰り返すことによって前記入力に対するＷＣＰを算出することは、
（ａ）入力の分布境界を第１分布値として設定し、
（ｂ）前記設定した分布境界内で入力サンプルを生成し、
（ｃ）前記生成した入力サンプルのそれぞれに対して関数値を算出し、
（ｄ）入力サンプルと関数値に対して機械学習（ｍａｃｈｉｎｅ  ｌｅａｒｎｉｎｇ）を行い、境界面を算出し、
（ｅ）前記境界面上で前記入力に対するＷＣＰ（Ｗｏｒｓｔ  Ｃａｓｅ  Ｐｏｉｎｔ）を探索し、
（ｆ）前記入力の分布境界が最小臨界値になるまで前記入力分布の境界を変化させながら前記（ａ）ないし（ｅ）を繰り返すことを含む請求項１２に記載のシミュレーションシステム。
【請求項１６】
前記入力分布の境界を変化させることは、前記入力分布の境界を前記第１分布値から第２分布値に変化させることを含む請求項１５に記載のシミュレーションシステム。
【請求項１７】
前記第２分布値は前記第１分布値より小さい請求項１６に記載のシミュレーション方法。
【請求項１８】
前記最小臨界値、第１分布値、および第２分布値のうち少なくとも一つはユーザによって設定される値である請求項１５に記載のシミュレーション方法。
【請求項１９】
前記入力サンプルと関数値に対して機械学習（ｍａｃｈｉｎｅ  ｌｅａｒｎｉｎｇ）を行い、境界面を算出することは、前記入力サンプルと関数値に対してＳＶＭ（Ｓｕｐｐｏｒｔ  Ｖｅｃｔｏｒ  Ｍａｃｈｉｎｅ）を利用して前記境界面を算出することを含む請求項１５に記載のシミュレーションシステム。
【請求項２０】
前記境界面上で前記入力に対するＷＣＰを探索することは、ＥＡ（Ｅｖｏｌｕｔｉｏｎａｒｙ  Ａｌｇｏｒｉｔｈｍ）を利用して前記ＷＣＰを探索することを含む請求項１５に記載のシミュレーションシステム。
【請求項２１】
前記メインシミュレーションモジュール、判断モジュール、およびＷＣＰ探索モジュールは少なくとも一つのプロセッサによって駆動される請求項１２に記載のシミュレーションシステム。
【請求項２２】
少なくとも一つのプロセッサと、
前記プロセッサを利用して入力に対するシミュレーションを行うプログラムコードが保存された保存部を含み、
入力のＮＰ（Ｎｏｍｉｎａｌ  Ｐｏｉｎｔ）に対する関数値が第１値である場合、前記入力に対して第１シミュレーションを行い、
前記入力のＮＰに対する関数値が前記第１値と異なる第２値である場合、前記入力に対して第２シミュレーションを行うことを含み、
前記第２シミュレーションの実行は、
（ａ）前記第２値に対する入力分布の境界を第１分布値として設定し、
（ｂ）前記設定した分布境界内で入力サンプルを生成し、
（ｃ）前記生成した入力サンプルに対して機械学習を行うことによって前記入力に対するＷＣＰ（Ｗｏｒｓｔ  Ｃａｓｅ  Ｐｏｉｎｔ）を算出し、
（ｄ）前記入力分布の境界が最小臨界値になるときまで前記入力分布の境界を変化させながら前記（ａ）ないし（ｃ）を繰り返すことを含むコンピュータシステム。
【請求項２３】
前記第１シミュレーションはモンテカルロシミュレーション（Ｍｏｎｔｅ  Ｃａｒｌｏ  Ｓｉｍｕｌａｔｉｏｎ）を含み、
前記第２シミュレーションは重点サンプリング法（Ｉｍｐｏｒｔａｎｃｅ  Ｓａｍｐｌｉｎｇ）を含む請求項２２に記載のコンピュータシステム。
【請求項２４】
前記入力分布の境界を変化させることは、前記入力分布の境界を前記第１分布値から第２分布値に変化させることを含み、
前記設定した分布境界内で入力サンプルを生成することは、前記設定した分布境界内で均一分布サンプリング（Ｕｎｉｆｏｒｍ  Ｄｉｓｔｒｉｂｕｔｉｏｎ  Ｓａｍｐｌｉｎｇ）により、前記入力サンプルを生成することを含む請求項２２に記載のコンピュータシステム。
【請求項２５】
前記第２分布値は前記第１分布値より小さい請求項２４に記載のコンピュータシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シミュレーションシステム及び方法と該システムを含むコンピュータシステムに関する。
【背景技術】
【０００２】
自然現象、数理モデルまたは一定以上の複雑度を有するシステム（例えば、伝達関数（Ｔｒａｎｓｆｅｒ  ｆｕｎｃｔｉｏｎ））が存在するとき、入力による出力の関係を解釈することはシステムを理解する上で必須である。現実的なシステムの解釈のため、計測された分布入力を適用させたとき、出力（Ｐａｓｓ、Ｆａｉｌ）の確率を分析すると、該当システムを実際に具現することなく、シミュレーション技法により信頼性を持って解釈できる。
しかし、システムの複雑度が増加するほど、１回のシミュレーション時に発生するコンピューティングリソース及び時間費用が大きく、スーパーコンピュータによっても１年以内に得られない状況が発生する。これは解釈しようとする分布の範囲が中心値対比６σ以上になると、最小数十億回のシミュレーションが要求されるからである。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】米国特許公報第２０１０−０２１７５６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明が解決しようとする技術的課題は、入力に対する分析速度と信頼性が向上したシミュレーション方法を提供することにある。
本発明が解決しようとする他の技術的課題は、入力に対する分析速度と信頼性が向上したシミュレーションシステムを提供することにある。
本発明が解決しようとするまた他の技術的課題は、該シミュレーションシステムを採用したコンピュータシステムを提供することにある。
本発明の技術的課題は、上述した技術的課題に制限されず、上述以外のまた他の技術的課題は、次の記載から当業者に明確に理解できるであろう。
【課題を解決するための手段】
【０００５】
前記技術的課題を達成するための本発明の一実施形態によるシミュレーション方法は、少なくとも一つのプロセッサを含むコンピュータシステムを利用したシミュレーション方法であって、入力のＮＰ（Ｎｏｍｉｎａｌ  Ｐｏｉｎｔ）に対する関数値が第１値である場合、入力に対して第１シミュレーションを行い、入力のＮＰに対する関数値が第１値と異なる第２値である場合、入力に対して第２シミュレーションを行うことを含み、第２シミュレーションの実行は、（ａ）第２値に対する入力分布の境界を第１分布値として設定し、（ｂ）設定した分布境界内で入力サンプルを生成し、（ｃ）生成した入力サンプルに対して機械学習を行うことによって入力に対するＷＣＰ（Ｗｏｒｓｔ  Ｃａｓｅ  Ｐｏｉｎｔ）を算出し、（ｄ）入力分布の境界が最小臨界値になるときまで入力分布の境界を変化させながら（ａ）ないし（ｃ）を繰り返すことを含む。
【０００６】
本発明のいくつかの実施形態で、前記第１シミュレーションは、モンテカルロシミュレーション（Ｍｏｎｔｅ  Ｃａｒｌｏ  Ｓｉｍｕｌａｔｉｏｎ）を含みうる。そして、本発明のいくつかの実施形態で、前記第２シミュレーションは、重点サンプリング法（Ｉｍｐｏｒｔａｎｃｅ  Ｓａｍｐｌｉｎｇ）を含みうる。
本発明のいくつかの実施形態で、前記設定した分布境界内で入力サンプルを生成することは、前記設定した分布境界内で均一分布サンプリング（Ｕｎｉｆｏｒｍ  Ｄｉｓｔｒｉｂｕｔｉｏｎ  Ｓａｍｐｌｉｎｇ）により前記入力サンプルを生成することを含みうる。
【０００７】
前記技術的課題を達成するための本発明の他の実施形態によるシミュレーション方法は、少なくとも一つのプロセッサを含むコンピュータシステムを利用したシミュレーション方法であって、（ａ）入力の分布境界を第１分布値として設定し、（ｂ）設定した分布境界内で入力サンプルを生成し、（ｃ）生成した入力サンプルのそれぞれに対して関数値を算出し、（ｄ）入力サンプルと関数値に対して機械学習（ｍａｃｈｉｎｅ  ｌｅａｒｎｉｎｇ）を行い、境界面を算出し、（ｅ）境界面上で入力に対するＷＣＰ（Ｗｏｒｓｔ  Ｃａｓｅ  Ｐｏｉｎｔ）を探索し、（ｆ）入力の分布境界が最小臨界値になるときまで入力分布の境界を変化させながら（ａ）ないし（ｅ）を繰り返すことを含む。
【０００８】
本発明のいくつかの実施形態で、前記入力分布の境界を変化させることは、前記入力分布の境界を前記第１分布値から第２分布値に変化させることを含みうる。この際、前記第２分布値は前記第１分布値より小さくてもよい。またこのとき、前記最小臨界値、第１分布値、および第２分布値のうち少なくとも一つはユーザによって設定される値でありうる。
本発明のいくつかの実施形態で、前記設定した分布境界内で入力サンプルを生成することは、前記設定した分布境界内で均一分布サンプリング（Ｕｎｉｆｏｒｍ  Ｄｉｓｔｒｉｂｕｔｉｏｎ  Ｓａｍｐｌｉｎｇ）により前記入力サンプルを生成することを含み得る。
【０００９】
本発明のいくつかの実施形態で、前記入力サンプルと関数値に対して機械学習（ｍａｃｈｉｎｅ  ｌｅａｒｎｉｎｇ）を行い、境界面を算出することは、前記入力サンプルと関数値に対してＳＶＭ（Ｓｕｐｐｏｒｔ  Ｖｅｃｔｏｒ  Ｍａｃｈｉｎｅ）を利用して前記境界面を算出することを含みうる。
本発明のいくつかの実施形態で、前記境界面上で前記入力に対するＷＣＰを探索することは、ＥＡ（Ｅｖｏｌｕｔｉｏｎａｒｙ  Ａｌｇｏｒｉｔｈｍ）を利用して前記ＷＣＰを探索することを含みうる。
【００１０】
前記他の技術的課題を達成するための本発明の一実施形態によるシミュレーションシステムは、提供された分布の中心に基づき予め定められたシミュレーションを行うメインシミュレーションモジュール、入力のＮＰ（Ｎｏｍｉｎａｌ  Ｐｏｉｎｔ）に対する関数値が第１値である場合、前記ＮＰを前記メインシミュレーションモジュールに提供し、前記入力のＮＰに対する関数値が前記第１値と異なる第２値である場合ＷＣＰ（Ｗｏｒｓｔ  Ｃａｓｅ  Ｐｏｉｎｔ）探索モジュールに前記入力を提供する判断モジュールと、前記第２値に対する入力分布の境界を変化させながら、前記設定した分布境界内で入力サンプルを生成することを繰り返すことによって前記入力に対するＷＣＰを算出し、これを前記メインシミュレーションモジュールに提供するＷＣＰ探索モジュールを含む。
【００１１】
本発明のいくつかの実施形態で、前記予め定められたシミュレーションはモンテカルロシミュレーション（Ｍｏｎｔｅ  Ｃａｒｌｏ  Ｓｉｍｕｌａｔｉｏｎ）を含みうる。
本発明のいくつかの実施形態で、前記設定した分布境界内で入力サンプルを生成することは、前記設定した分布境界内で均一分布サンプリング（Ｕｎｉｆｏｒｍ  Ｄｉｓｔｒｉｂｕｔｉｏｎ  Ｓａｍｐｌｉｎｇ）により、前記入力サンプルを生成することを含みうる。
【００１２】
本発明のいくつかの実施形態で、前記ＷＣＰ探索モジュールが、前記第２値に対する入力分布の境界を変化させながら、前記設定した分布境界内で入力サンプルを生成することを繰り返すことによって前記入力に対するＷＣＰを算出することは、（ａ）入力の分布境界を第１分布値として設定し、（ｂ）前記設定した分布境界内で入力サンプルを生成し、（ｃ）前記生成した入力サンプルのそれぞれに対して関数値を算出し、（ｄ）入力サンプルと関数値に対して機械学習（ｍａｃｈｉｎｅ  ｌｅａｒｎｉｎｇ）を行い、境界面を算出し、（ｅ）前記境界面上で前記入力に対するＷＣＰ（Ｗｏｒｓｔ  Ｃａｓｅ  Ｐｏｉｎｔ）を探索し、（ｆ）前記入力の分布境界が最小臨界値になるときまで前記入力分布の境界を変化させながら前記（ａ）ないし（ｅ）を繰り返すことを含みうる。
【００１３】
この際、本発明のいくつかの実施形態で、前記入力分布の境界を変化させることは、前記入力分布の境界を前記第１分布値から第２分布値に変化させることを含みうる。このとき、前記第２分布値は前記第１布値より小さくてもよい。またこのとき、前記最小臨界値、第１分布値、および第２分布値のうち少なくとも一つはユーザによって設定される値でありうる。
【００１４】
本発明のいくつかの実施形態で、前記入力サンプルと関数値に対して機械学習（ｍａｃｈｉｎｅ  ｌｅａｒｎｉｎｇ）を行い、境界面を算出することは、前記入力サンプルと関数値に対してＳＶＭ（Ｓｕｐｐｏｒｔ  Ｖｅｃｔｏｒ  Ｍａｃｈｉｎｅ）を利用して前記境界面を算出することを含みうる。
本発明のいくつかの実施形態で、前記境界面上で前記入力に対するＷＣＰを探索することは、ＥＡ（Ｅｖｏｌｕｔｉｏｎａｒｙ  Ａｌｇｏｒｉｔｈｍ）を利用して前記ＷＣＰを探索することを含みうる。
本発明のいくつかの実施形態で、前記メインシミュレーションモジュール、判断モジュール、およびＷＣＰ探索モジュールは少なくとも一つのプロセッサによって駆動されうる。
【００１５】
前記また他の技術的課題を達成するための本発明の一実施形態によるコンピュータシステムは、少なくとも一つのプロセッサ、および前記プロセッサを利用して入力に対するシミュレーションを行うプログラムコードが保存された保存部を含み、入力のＮＰ（Ｎｏｍｉｎａｌ  Ｐｏｉｎｔ）に対する関数値が第１値である場合、前記入力に対して第１シミュレーションを行い、前記入力のＮＰに対する関数値が前記第１値と異なる第２値である場合、前記入力に対して第２シミュレーションを行うことを含み、前記第２シミュレーションの実行は、（ａ）前記第２値に対する入力分布の境界を第１分布値として設定し、（ｂ）前記設定した分布境界内で入力サンプルを生成し、（ｃ）前記生成した入力サンプルに対して機械学習を行うことによって前記入力に対するＷＣＰ（Ｗｏｒｓｔ  Ｃａｓｅ  Ｐｏｉｎｔ）を算出し、（ｄ）前記入力分布の境界が最小臨界値になるときまで前記入力分布の境界を変化させながら前記（ａ）ないし（ｃ）を繰り返すことを含む。
【００１６】
本発明のいくつかの実施形態で、前記第１シミュレーションはモンテカルロシミュレーション（Ｍｏｎｔｅ  Ｃａｒｌｏ  Ｓｉｍｕｌａｔｉｏｎ）を含み、前記第２シミュレーションは重点サンプリング法（Ｉｍｐｏｒｔａｎｃｅ  Ｓａｍｐｌｉｎｇ）を含みうる。
本発明のいくつかの実施形態で、前記入力分布の境界を変化させることは、前記入力分布の境界を前記第１分布値から第２分布値に変化させることを含み、前記設定した分布境界内で入力サンプルを生成することは、前記設定した分布境界内で均一分布サンプリング（Ｕｎｉｆｏｒｍ  Ｄｉｓｔｒｉｂｕｔｉｏｎ  Ｓａｍｐｌｉｎｇ）により、前記入力サンプルを生成することを含みうる。このとき、前記第２分布値は前記第１分布値より小さくてもよい。
その他実施形態の具体的な内容は発明の詳細な説明及び図面に含まれている。
【図面の簡単な説明】
【００１７】
【図１】本発明のいくつかの実施形態によるシミュレーションシステムのブロック図。
【図２】図１に示すシミュレーションシステムの詳細ブロック図。
【図３】本発明のいくつかの実施形態によるシミュレーション方法を説明するための順序図。
【図４Ａ】本発明のいくつかの実施形態によるシミュレーション方法を説明するための図。
【図４Ｂ】本発明のいくつかの実施形態によるシミュレーション方法を説明するための図。
【図５】本発明のいくつかの実施形態によるシミュレーション方法を説明するための図。
【図６】本発明のいくつかの実施形態によるシミュレーション方法を説明するための図。
【図７】本発明のいくつかの実施形態によるシミュレーション方法を説明するための図。
【図８】本発明のいくつかの実施形態によるシミュレーション方法を説明するための図。
【図９Ａ】本発明のいくつかの実施形態によるシミュレーション方法を説明するための図。
【図９Ｂ】本発明のいくつかの実施形態によるシミュレーション方法を説明するための図。
【図９Ｃ】本発明のいくつかの実施形態によるシミュレーション方法を説明するための図。
【図９Ｄ】本発明のいくつかの実施形態によるシミュレーション方法を説明するための図。
【図１０】本発明のいくつかの実施形態によるシミュレーション方法を説明するための図。
【図１１】本発明のいくつかの実施形態によるシミュレーションシステムが採用されたコンピュータシステムの一例。
【発明を実施するための形態】
【００１８】
本発明の利点及び特徴、これらを達成する方法は添付する図面と共に詳細に後述する実施形態において明確になるであろう。しかし、本発明は、以下で開示する実施形態に限定されるものではなく、互いに異なる多様な形態で実現されるものであり、本実施形態は、単に本発明の開示を完全にし、本発明が属する技術分野で通常の知識を有する者に発明の範疇を完全に知らせるために提供されるものであり、本発明は、特許請求の範囲によってのみ定義される。図面に表示する構成要素のサイズおよび相対的なサイズは説明を明瞭するため、誇張したものであり得る。明細書全体にかけて同一参照符号は同一構成要素を指称し、「および／または」は、言及されたアイテムのそれぞれおよび一つ以上のすべての組合せを含む。
【００１９】
一つの素子（ｅｌｅｍｅｎｔｓ）が他の素子と「接続された（ｃｏｎｎｅｃｔｅｄ  ｔｏ）」または「カップリングされた（ｃｏｕｐｌｅｄ  ｔｏ）」と指称されるものは、他の素子と直接連結またはカップリングされた場合または中間に他の素子が介在する場合をすべて含む。反面、一つの素子が他の素子と「直接接続された（ｄｉｒｅｃｔｌｙ  ｃｏｎｎｅｃｔｅｄ  ｔｏ）」または「直接カップリングされた（ｄｉｒｅｃｔｌｙ  ｃｏｕｐｌｅｄ  ｔｏ）」と指称されるものは中間に他の素子が介在しないことを示す。
【００２０】
本明細書で使用される用語は実施形態を説明するためのものであり、本発明を制限しようとするものではない。本明細書で、単数は文言で特に言及しない限り複数も含む。明細書で使用される「含む（ｃｏｍｐｒｉｓｅｓ）」および／または「含む（ｃｏｍｐｒｉｓｉｎｇ）」は言及された構成要素、段階、動作および／または素子は一つ以上の他の構成要素、段階、動作および／または素子の存在または追加を排除しない。
【００２１】
第１、第２などが複数の素子、構成要素を叙述するために使用されるが、これら素子、構成要素はこれらの用語によって制限されないことはいうまでもない。これらの用語は、単に一つ構成要素を他の構成要素と区別するために使用するものである。したがって、以下で言及される第１構成要素は本発明の技術的思想内で第２構成要素であり得ることは勿論である。
【００２２】
他に定義されなければ、本明細書で使用されるすべての用語（技術および科学的用語を含む）は、本発明が属する技術分野で通常の知識を有する者が共通に理解できる意味として使用され得る。また一般に使用される辞書に定義されている用語は明白に特別に定義されていない限り理想的にまたは過度に解釈してはならない。
【００２３】
図１は、本発明のいくつかの実施形態によるシミュレーションシステムのブロック図である。図２は、図１に示すシミュレーションシステムの詳細ブロック図である。
図１を参照すると、本発明のいくつかの実施形態によるシミュレーションシステム１００には任意の平均（μ）と偏差（σ）を有するｎ（ここで、ｎは自然数）個の入力（Ｘ１〜Ｘｎ）が提供される。ここで、ｎ個の入力は特定回路を分析するのに必要なｎ個の入力変数でありうる。
【００２４】
例えば、本発明のいくつかの実施形態によるシミュレーションシステム１００が図１に示すようにＤＲＡＭ（Ｄｙｎａｍｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）セルの収率を分析するシステムであれば、シミュレーションシステム１００にはＤＲＡＭセルと関連する複数のパラメータ（例えば、ネットリスト（ｎｅｔ  ｌｉｓｔ）、特性値など）とＤＲＡＭセルの特性を決定する任意の平均（μ）と偏差（σ）を有するｎ個の入力（Ｘ１〜Ｘｎ）が提供されうる。このようなｎ個の入力（Ｘ１〜Ｘｎ）の例としてはセルトランジスタ（ＣＴＲ）のゲート酸化膜の厚さ、しきい電圧（ｔｈｒｅｓｈｏｌｄ  ｖｏｌｔａｇｅ）などが挙げられるが、本発明がこのような例示に制限されるものではない。
【００２５】
一方、シミュレーションシステム１００は提供されたｎ個の入力（Ｘ１〜Ｘｎ）に対してシミュレーションを行い、結果であるｙは下の［数１］に図式化できる。
【００２６】
【数１】
2014229311.tif 000003
【００２７】
ここで、入力（Ｘ１〜Ｘｎ）は伝達関数（ｆ）により結果値ｙを導き出し、結果値ｙは失敗の範囲を有する。一方、ｙのパス、フェイルを定義するために表示関数［数２］が定義される。［数２］によって表示関数値（Ｉ（ｙ））が演算され、解釈を所望する特性値の集合の確率が出力される。
【００２８】
【数２】
2014229311.tif 000004
【００２９】
（ここで、Ｆは失敗（ｆａｉｌ）集合を意味し、表示関数Ｉ（ｙ）の関数値１はフェイル（ｆａｉｌ）を意味し、表示関数Ｉ（ｙ）の関数値−１はパス（ｐａｓｓ）を意味する。）
【００３０】
すなわち、シミュレーションシステム１００は、提供されたｎ個の入力（Ｘ１〜Ｘｎ）に基づき図１に示すＤＲＡＭセルの不良率（Ｐ）を出力できる。以下で使用される関数値という用語は別途の説明がない限り前記表示関数値として理解される。しかし、本発明がこれに制限されるものではない。
このようなシミュレーションシステム１００は、判断モジュール１１０、ＷＣＰ（Ｗｏｒｓｔ  Ｃａｓｅ  Ｐｏｉｎｔ）探索モジュール１２０、およびメインシミュレーションモジュール１４０を含みうる。
【００３１】
本実施形態で使用される「部」または「モジュール」という用語は、ソフトウェアまたはＳｏＣまたはＡＳＩＣのようなハードウェア構成要素を意味し、「部」または「モジュール」はある役割を果たす。しかし、「部」または「モジュール」はソフトウェアまたはハードウェアに限定される意味ではない。「部」または「モジュール」はアドレッシングできる保存媒体にあるように構成され得、一つまたはそれ以上のプロセッサを再生させるように構成されうる。したがって、一例として「部」または「モジュール」はソフトウェア構成要素、オブジェクト指向ソフトウェア構成要素、クラス構成要素及びタスク構成要素のような構成要素と、プロセス、関数、属性、プロシーザ、サブルーチン、プログラムコードのセグメント、ドライバ、ファームウェア、マイクロコード、回路、データ、データベース、データ構造、テーブル、アレイ、および変数を含みうる。構成要素と「部」または「モジュール」から提供される機能はさらに小さい数の構成要素及び「部」または「モジュール」に結合されたり、追加的な構成要素と「部」または「モジュール」にさらに分離されうる。
【００３２】
判断モジュール１１０は、入力（Ｘｉ、Ｘ１≦Ｘｉ≦Ｘｎ）のＮＰ（Ｎｏｍｉｎａｌ  Ｐｏｉｎｔ）に対する表示関数値（Ｉ（Ｘｉ））がいかなる値であるかによって入力（Ｘｉ）に対するシミュレーション方法を決めるモジュールである。具体的には、判断モジュール１１０は入力（Ｘｉ）のＮＰ（本実施形態で、ＮＰは例えば、入力（Ｘｉ）の平均値（μｉ）である）に対する表示関数値（Ｉ（ＸｉＮＰ））が第１値（例えば、１）である場合、原点（ＺＰと、Ｚｅｒｏ  Ｐｏｉｎｔ）を基準に入力（Ｘｉ、Ｘ１≦Ｘｉ≦Ｘｎ）に対してメインシミュレーションが遂行されるように原点（ＺＰ）をメインシミュレーションモジュール１４０に提供し、入力（Ｘｉ）のＮＰに対する表示関数値（Ｉ（ＸｉＮＰ））が第２値（例えば、−１）である場合、入力（Ｘｉ）に対するＷＣＰ（Ｗｏｒｓｔ  Ｃａｓｅ  Ｐｏｉｎｔ）を探索するため、入力（Ｘｉ）をＷＣＰ探索モジュール１２０に提供できる。
【００３３】
任意の入力（Ｘｉ）のＮＰが例えば、フェイル（ｆａｉｌ）である場合（すなわち、表示関数値（Ｉ（ＸｉＮＰ））が１である場合）、このような入力（Ｘｉ）に対しては比較的回数の少ないサンプリングだけでも十分に多くの数のフェイル入力（Ｘｉ）を生成できる。しかし、入力（Ｘｉ）のＮＰが例えば、パス（ｐａｓｓ）である場合（すなわち、関数値（Ｉ（ＸｉＮＰ））が−１である場合）は、分析に十分な数のフェイル入力（Ｘｉ）を生成するため、どれほど多くのサンプリングを行わなくてはならないのか分からない。極端な場合、例えば、フェイル入力（Ｘｉ）の分布がＮＰ対比６σ以上であれば、例えば、３８０／ｚ（−６）＝３．８５＊１０１１回のサンプリングまたはシミュレーションを行わなければならない。
【００３４】
したがって、本発明のいくつかの実施形態によるシミュレーションシステム１００は、このように入力（Ｘｉ）のＮＰに対する関数値（Ｉ（Ｘｉ））が如何なる値であるかによって入力（Ｘｉ）に対するシミュレーション方法を決める判断モジュール１１０を含むことによって、このように多くの回数のサンプリングが行わなければならない場合を事前に防止する。すなわち、判断モジュール１１０によって、入力（Ｘｉ）の分布（ＰＤＦ（Ｘｉ））により入力（Ｘｉ）に対するシミュレーション方法を変えることによって、極端にシミュレーション回数を増加しなければならないケースを避けられる。したがって、全体シミュレーションシステム１００の分析速度が向上されうる。
【００３５】
ＷＣＰ探索モジュール１２０は、提供された入力（Ｘｉ）に対して分布境界を変化させながら設定した分布境界内で入力サンプルを生成することを繰り返すことによって入力（Ｘｉ）に対するＷＣＰ（Ｗｏｒｓｔ  Ｃａｓｅ  Ｐｏｉｎｔ）を算出し、これをメインシミュレーションモジュール１４０に提供できる。本発明のいくつかの実施形態で、ＷＣＰ探索モジュール１２０は入力（Ｘｉ）に対するＷＣＰをより正確に探索するため、提供された入力（Ｘｉ）に対して分布境界を減少させながら設定した分布境界内で入力サンプルを生成することを繰り返す。このように、入力（Ｘｉ）に対して分布境界を減少させながら設定した分布境界内で入力サンプルを生成することを繰り返す場合、入力（Ｘｉ）に対するＷＣＰがより正確に探索される。これに関するより具体的な説明は後述する。
【００３６】
一方、本発明のいくつかの実施形態で、ＷＣＰ探索モジュール１２０が行うサンプリングは例えば、均一分布サンプリング（Ｕｎｉｆｏｒｍ  Ｄｉｓｔｒｉｂｕｔｉｏｎ  Ｓａｍｐｌｉｎｇ）を含みうる。このような均一分布サンプリングに対する具体的な説明も後述する。
【００３７】
メインシミュレーションモジュール１４０は、提供された分布の中心（例えば、入力（Ｘｉ）の原点（ＺＰ）または入力（Ｘｉ）のＷＣＰ）に基づき予め定められたシミュレーションを行うことができる。ここで、予め定められたシミュレーションは例えば、モンテカルロシミュレーション（Ｍｏｎｔｅ  Ｃａｒｌｏ  Ｓｉｍｕｌａｔｉｏｎ）を含みうる。すなわち、メインシミュレーションモジュール１４０は、提供された入力（Ｘｉ）を対象にモンテカルロシミュレーションを行い、特定関数値（例えば、−１）が存在する確率（Ｐ）を出力する。一方、提供された入力（Ｘｉ）に対してＷＣＰが算出された場合、メインシミュレーションモジュール１４０は入力（Ｘｉ）に対してモンテカルロシミュレーションを行うが、ＷＣＰが探索される過程で生成された補正係数（Ｗ）を考慮し、モンテカルロシミュレーションを行うことができる。このようなメインシミュレーションモジュール１４０に対する具体的な説明も後述する。
【００３８】
以下、図３ないし図１０を参照して本発明のいくつかの実施形態によるシミュレーション方法について説明する。
図３は、本発明のいくつかの実施形態によるシミュレーション方法を説明するための順序図である。図４Ａないし図１０は、本発明のいくつかの実施形態によるシミュレーション方法を説明するための図である。
先に、図３を参照すると、入力のＮＰ（Ｎｏｍｉｎａｌ  Ｐｏｉｎｔ）に対する関数値がフェイル（ｆａｉｌ）であるかどうかを判断する（Ｓ１００）。その結果、入力のＮＰに対する関数値がフェイルであれば、入力に対してメインシミュレーションを行う（Ｓ１８０）。
【００３９】
具体的には図２を参照すると、判断モジュール１１０は入力分布（ＰＤＦ（Ｘｉ））のＮＰに対する関数値（Ｉ（ＸｉＮＰ））がフェイルであれば（例えば、１）、メインシミュレーションモジュール１４０に入力（Ｘｉ）の分布中心に原点（ＺＰ）を提供し、メインシミュレーションモジュール１４０は提供された分布の中心に基づき入力（Ｘｉ）に対して例えば、モンテカルロシミュレーションを行うことができる。
【００４０】
さらに一層具体的には、判断モジュール１１０は図４Ａに示すように入力（Ｘｊ、Ｘｋ）のＮＰに対する関数値がフェイル（ｆａｉｌ）である場合、メインシミュレーションモジュール１４０に入力（Ｘｊ、Ｘｋ）の分布中心に原点（ＺＰ）を提供し、メインシミュレーションモジュール１４０は入力（Ｘｊ、Ｘｋ）に対して提供された分布の中心に基づき例えば、モンテカルロシミュレーションを行うことができる。本発明のいくつかの実施形態で、入力（Ｘｉ、Ｘｋ）のＮＰと入力（Ｘｉ、Ｘｋ）の原点（ＺＰ）は互いに同じである場合もある。しかし、本発明がこれに制限されるものではなく、入力（Ｘｉ、Ｘｋ）のＮＰと入力（Ｘｉ、Ｘｋ）の原点（ＺＰ）が互いに異なるようにいくらでも変形して実施することも可能である。
【００４１】
一方、図４Ａにはシミュレーションシステム１００の入力として二つの入力（Ｘｊ、Ｘｋ）が示されているが、本発明がこれに制限されるものではない。すなわち、図４Ａに二つの入力（Ｘｊ、Ｘｋ）のみを示すのは、本実施形態によるシミュレーション方法に対する理解を高めるためであり、シミュレーションシステム１００に提供される入力の個数は示すものと異なりいくらでも変更できる。例えば、シミュレーションシステム１００に提供される入力の個数が三つであれば、三つの入力変数が形成する領域は図４Ａのような平面ではなく、立体的な空間となる。
【００４２】
再び、図３を参照すると、これとは異なって、入力のＮＰに対する関数値がパス（ｐａｓｓ）であれば、このような入力に対してモンテカルロシミュレーションを行う場合、最悪の場合、サンプリング回数またはシミュレーション回数が現実的に処理不可能なほど大きくなる場合が発生しうる。したがって、本実施形態では、この場合、例えば、重点サンプリング法（Ｉｍｐｏｒｔａｎｃｅ  Ｓａｍｐｌｉｎｇ）によりシミュレーションを行う。
【００４３】
重点サンプリング法のためには入力（Ｘｊ、Ｘｋ）のＷＣＰ（Ｗｏｒｓｔ  Ｃａｓｅ  Ｐｏｉｎｔ）またはシフトベクトル（Ｓｈｉｆｔ  Ｖｅｃｔｏｒ）を知らなければならない。したがって、入力（Ｘｊ、Ｘｋ）のＮＰに対する関数値が図４Ｂに示すようにパス（ｐａｓｓ）である場合、判断モジュール１１０はＷＣＰ探索モジュール１２０が入力（Ｘｊ、Ｘｋ）に対するＷＣＰを探索することができように、ＷＣＰ探索モジュール１２０に入力（Ｘｊ、Ｘｋ）を提供する。これによって、ＷＣＰ探索モジュール１２０は以下で説明する過程により入力（Ｘｊ、Ｘｋ）のＷＣＰを探索することができる。
【００４４】
図３を参照すると、先ず、入力（Ｘｊ、Ｘｋ）の分布境界を第１分布値（Ｓｉ）に設定する（Ｓ１１０）。本発明のいくつかの実施形態でこのような第１分布値（Ｓｉ）としては例えば、８σが選択されるが、本発明がこれに制限されるものではない。また、本発明のいくつかの実施形態で、このような第１分布値（Ｓｉ）は座標を有する２次元以上の値でありうるが、本発明がこれに制限されるものではない。
【００４５】
次いで、図３を参照すると、設定した分布境界内で入力サンプルを生成する（Ｓ１２０）。本発明のいくつかの実施形態で、このように入力（Ｘｊ、Ｘｋ）サンプルを生成することには例えば、均一分布サンプリング（Ｕｎｉｆｏｒｍ  Ｄｉｓｔｒｉｂｕｔｉｏｎ  Ｓａｍｐｌｉｎｇ）が使用されうる。このように均一分布サンプリングにより入力（Ｘｊ、Ｘｋ）サンプルを生成する場合、入力（Ｘｊ、Ｘｋ）サンプルの分布は、図５に示すように均一に生成されうる。図５で△で表示した各入力（Ｘｊ、Ｘｋ）サンプルはまだ各入力（Ｘｊ、Ｘｋ）サンプルに対して関数値が算出されていない状態であることを意味し、各入力（Ｘｊ、Ｘｋ）サンプルの境界は−８σと８σになる。
【００４６】
次に図３を参照すると、生成した各入力（Ｘｊ、Ｘｋ）サンプルに対して関数値を算出する（Ｓ１３０）。具体的には前述した［数２］で説明した表示関数Ｉ（ｙ）を利用してそれぞれの入力（Ｘｊ、Ｘｋ）サンプルに対して関数値を算出する。図６は、それぞれのサンプルに対して前述した［数２］で説明した表示関数Ｉ（ｙ）を利用して関数値が算出された状態を示している。ここで、Ｘ表示は関数値が１であるフェイル状態を意味し、Ｏ表示は関数値が−１であるパス状態を意味する。
【００４７】
次に、図３を参照すると、生成した入力サンプルと算出された関数値に対して機械学習（ｍａｃｈｉｎｅ  ｌｅａｒｎｉｎｇ）を行い、境界面を算出する（Ｓ１４０）。本発明のいくつかの実施形態で、このような境界面算出過程にはＳＶＭ（Ｓｕｐｐｏｒｔ  Ｖｅｃｔｏｒ  Ｍａｃｈｉｎｅ）が使用されうる。また本発明のいくつかの実施形態で、このような境界面は例えば、曲面でありうるが、本発明がこれに制限されるものではない。
【００４８】
図７は、ＳＶＭを利用して機械学習を行うことによって算出された関数値を区分する境界面（ＰＬ）が算出されたものが示されている。図７では境界面（ＰＬ）が曲線である形態を示しているが、算出された関数値によって境界面（ＰＬ）の形態は直線になる場合もあり、入力（Ｘｊ、Ｘｋ）サンプルの個数が示されたものより多くなる場合は立体的な形状に算出される場合もある。
【００４９】
次に図３を参照すると、算出された境界面上で入力に対するＷＣＰを探索する（Ｓ１５０）。本実施形態で、このように算出された境界面（ＰＬ）上で入力（Ｘｊ、Ｘｋ）に対するＷＣＰを探索することには例えば、ＥＡ（Ｅｖｏｌｕｔｉｏｎａｒｙ  Ａｌｇｏｒｉｔｈｍ）が使用されうる。具体的には、図８を参照すると、例えば、ＥＡ（Ｅｖｏｌｕｔｉｏｎａｒｙ  Ａｌｇｏｒｉｔｈｍ）を使用し、境界面（ＰＬ）上の候補ポイント（Ｐ１，Ｐ２）のうち原点（０，０）から最短距離に配置されたポイントをＷＣＰとして選択する。
【００５０】
再び図３を参照すると、設定した入力の分布境界が最小臨界値であるかどうかを判断する（Ｓ１６０）。その結果、入力の分布境界が最小臨界値（Ｓｔ）ではないと、入力の分布境界を第２分布値（Ｓｉ／２）に減少させた後（Ｓ１７０）、入力の分布境界が最小臨界値（Ｓｔ）になるまで前述した過程（Ｓ１２０〜Ｓ１６０）を繰り返す。本発明のいくつかの実施形態で、このような最小臨界値（Ｓｔ）は有理数の範囲で決定されるが、本発明がこれに制限されるものではない。
【００５１】
本発明のいくつかの実施形態で、入力（Ｘｊ、Ｘｋ）の分布境界最小臨界値（Ｓｔ）はσに設定され得、この際、入力の分布境界は示しているように徐々に減る。以下では図９Ａないし図９Ｄを参照してこのような過程によりＷＣＰが探索される過程についてさらに具体的に説明する。
【００５２】
先に、図９Ａを参照すると、入力（Ｘｊ、Ｘｋ）の分布境界を８σに設定する（Ｓ１１０）。また、前述したＳ１２０，Ｓ１３０の段階を行うと、入力（Ｘｊ、Ｘｋ）サンプルの関数値は示すように原点（０，０）を中心に８σの間に配置される。ここに、前述したＳ１４０，Ｓ１５０の段階を行うことによって、第１ＷＣＰ（ＷＣＰ１）を探索する。
【００５３】
次に、図９Ｂを参照すると、入力（Ｘｊ、Ｘｋ）の分布境界を第１ＷＣＰ（図９ＡのＷＣＰ１）を中心に４σに減少させ（Ｓ１７０）、前述したＳ１２０，Ｓ１３０の段階を行う。そうすると、入力（Ｘｊ、Ｘｋ）サンプルの関数値は示すように第１ＷＣＰ（図９ＡのＷＣＰ１）を中心に４σの間に配置される。ここに、前述したＳ１４０，Ｓ１５０の段階を行うことによって、第２ＷＣＰ（ＷＣＰ２）を探索する。
【００５４】
次に、図９Ｃを参照すると、入力（Ｘｊ、Ｘｋ）の分布境界を第２ＷＣＰ（図９ＢのＷＣＰ２）を中心に２σに減少させ（Ｓ１７０）、前述したＳ１２０，Ｓ１３０の段階を行う。そうすると、入力（Ｘｊ、Ｘｋ）サンプルの関数値は示すように第２ＷＣＰ（図９ＢのＷＣＰ２）を中心に２σの間に配置される。ここに、前述したＳ１４０，Ｓ１５０の段階を行うことによって、第３ＷＣＰ（ＷＣＰ３）を探索する。
【００５５】
次に、図９Ｄを参照すると、入力（Ｘｊ、Ｘｋ）の分布境界を第３ＷＣＰ（図９ＣのＷＣＰ３）を中心にσに減少させ（Ｓ１７０）、前述したＳ１２０，Ｓ１３０の段階を行う。そうすると、入力（Ｘｊ、Ｘｋ）サンプルの関数値は示すように第３ＷＣＰ（図９ＣのＷＣＰ３）を中心にσの間に配置される。ここに、前述したＳ１４０，Ｓ１５０の段階を行うことによって、第４ＷＣＰ（ＷＣＰ４）を探索する。
【００５６】
ここで、入力（Ｘｊ、Ｘｋ）の分布境界が最小臨界値（Ｓｔ）であるσであるため、探索された第４ＷＣＰ（ＷＣＰ４）は入力（Ｘｊ、Ｘｋ）の最終ＷＣＰとなる。したがって、図２を参照すると、ＷＣＰ探索モジュール１２０は探索されたＷＣＰと入力分布の中心移動による補正係数（Ｗ）をメインシミュレーションモジュール１４０に提供する。
【００５７】
本発明のいくつかの実施形態で、最小臨界値（Ｓｔ）、第１分布値（Ｓｉ）、および第１分布値（Ｓｉ）が減少して設定される第２分布値（Ｓｉ／２）のうち少なくとも一つはユーザによって任意に設定される。
【００５８】
一方、以上では第２分布値（Ｓｉ／２）が第１分布値（Ｓｉ）から減少して設定される例を説明したが、本発明がこのような例示に制限されるものではない。本発明の他のいくつかの実施形態で、第２分布値（Ｓｉ／２）は第１分布値（Ｓｉ）から増加して設定される場合もある。また、本発明のまた他のいくつかの実施形態で、第２分布値（Ｓｉ／２）と第１分布値（Ｓｉ）は互いに同じに設定されうる。それぞれの場合、最小臨界値（Ｓｔ）は前述した実施形態と異なるように設定するようにいくらでも変形して設定しうる。
【００５９】
次に、図３を参照すると、メインシミュレーションを行う（Ｓ１７０）。具体的には、図２及び図１０を参照すると、メインシミュレーションモジュール１４０は探索されたＷＣＰを中心に入力（Ｘｊ、Ｘｋ）に対して例えば、モンテカルロシミュレーションを行うが、ＷＣＰ探索モジュール１２０から提供された補正係数（Ｗ）に基づきシミュレーション結果に補正を行うことができる。
【００６０】
このように本実施形態によるシミュレーションシステム及び方法では、入力の特性を考慮して入力に対するシミュレーション方法を異なるようにする。具体的には、入力のＮＰに対する関数値がフェイルである場合は、比較的小さい回数のサンプリングによっても十分多くの数のフェイル入力を生成できるため、入力の原点を分布中心にモンテカルロシミュレーションを行い、入力のＮＰに対する関数値がパスである場合は、シミュレーション時間が極端に増加する最悪の場合を避けるため、重点サンプリング法を利用して入力に対するシミュレーションを行う。これによって、入力の特性によってシミュレーション時間が極端に大きくなることを事前に予防できる。
【００６１】
以下の[表１]は、前述した本発明のいくつかの実施形態によるシミュレーションシステム（図１の１００）の性能を説明するため、入力の失敗比率（ｆａｉｌｕｒｅ  ｒａｔｅ）に応じてサンプリングまたはシミュレーションが行うべき回数（Ｒｕｎ  ｎｏ．）を比較した実験の結果である。
ここで、入力（１）〜（５）は入力分布が正規分布に従うように設定しており、実験で信頼水準は９５％に設定した。Ｘは入力（１）〜（５）に対してモンテカルロシミュレーションを行った結果であり、Ｙは入力（１）〜（５）に対して前述した本発明のいくつかの実施形態によるシミュレーション方法を行った結果であり、Ｚは入力（１）〜（５）に対して前述した本発明のいくつかの実施形態と異なるシミュレーション方法（例えば、クラスタリング（ｃｌｕｓｔｅｒｉｎｇ）技法を適用したシミュレーション方法）を行った結果である。
【００６２】
【表１】
2014229311.tif 000005
【００６３】
［表１］を参照すると、入力の失敗比率（ｆａｉｌｕｒｅ  ｒａｔｅ）が小さくなるほどＸのシミュレーション回数は幾何級数的に増加するが、Ｙのシミュレーション回数はほぼ一定で、増加しないことが分かる。一方、類似する失敗比率（ｆａｉｌｕｒｅ  ｒａｔｅ）を有する入力に対してＸのシミュレーション回数はＹのシミュレーション回数より小さいことが分かる。すなわち、前述した本発明のいくつかの実施形態によるシミュレーションシステム及び方法は、入力の特性によってシミュレーション時間が極端的に大きくなることを事前に予防できる。
【００６４】
一方、重点サンプリング法を効率的に行うためには入力に対するＷＣＰを正確に探索することが必要である。したがって、本実施形態では入力に対するＷＣＰを正確に探索するため、入力の分布境界を徐々に減らしながら入力に対するＷＣＰを探索する。このように探索した入力に対するＷＣＰはその正確性が非常に高くなるため、シミュレーション結果の信頼性が大きく向上する。
【００６５】
以下、図１１を参照して本発明のいくつかの実施形態によるシミュレーションシステムが採用されたコンピュータシステムについて説明する。
図１１は、本発明のいくつかの実施形態によるシミュレーションシステムが採用されたコンピュータシステムの一例である。
図１１を参照すると、前述した本発明のいくつかの実施形態によるシミュレーションシステム（図１の１００）は例えば、ソフトウェア（ｓｏｆｔｗａｒｅ）などで実現され、示しているようなコンピュータシステム１００１に採用されうる。
【００６６】
コンピュータシステム１００１は、中央処理処置（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ、１０００）、ＡＧＰコントローラ（Ａｃｃｅｌｅｒａｔｅｄ  Ｇｒａｐｈｉｃｓ  Ｐｏｒｔ、１０１０）、メインメモリ１１００、ストレージ（例えば、ＳＳＤ、ＨＤＤなど、１０４０）、バス１０２０、キーボードコントローラ１０６０、およびプリンタコントローラ１０５０などを含みうる。図１１では、コンピュータシステム１００１に含まれる一部構成要素のみを示しているが、本発明がこれに制限されるものではなく、コンピュータシステム１００１に含まれる構成要素はいくらでもさらに追加したり、図１１に示す構成から省略できる。
【００６７】
図１１に示すコンピュータシステム１００１は半導体素子シミュレーションに利用される事務用コンピュータまたはノートブックコンピュータなどのブロック図でありうる。また、本発明の他のいくつかの実施形態で、図１１に示すコンピュータシステム１００１は複数のプロセッサにより駆動されるマルチプロセッサ環境のコンピュータシステム１００１でありうる。しかし、本発明がこれに制限されるものではなく、コンピュータシステム１００１の例示はいくらでも変形できる。
【００６８】
コンピュータシステム１００１で中央処理処置１０００、ＡＧＰコントローラ１０１０、メインメモリ１１００、ストレージ１０４０、キーボードコントローラ１０６０、プリンタコントローラ１０５０、および各種周辺装置などはバス１０２０に接続されうる。しかし、本発明がこれに制限されるものではなく、バス１０２０は中央処理処置１０００に含まれた形態に変形できる。
ＡＧＰコントローラ１０１０は、３次元グラフィック表現を高速実現できるようにするバス規格であり得、ＡＧＰコントローラ１０１０はモニターイメージを再生するビデオカードなどを含みうる。
【００６９】
中央処理処置１０００は、コンピュータシステム１００１の駆動に必要な各種演算を行い、またＯＳ及びアプリケーションを実行する。図１１では１つの中央処理処置１０００を示しているが、中央処理処置１０００の数はいくらでも変形できる。
メインメモリ１１００は、中央処理処置１０００の動作を行うのに必要なデータをストレージ１０４０からローディングして保存する。このようなメインメモリ１１００を実現するメモリの例示としては、ＤＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）が挙げられるが、本発明がこのような例示に制限されるものではない。
【００７０】
ストレージ１０４０は、データなどを保存する大容量データ保存装置であって、例えば、ＨＤＤ、ＳＳＤなどコンピュータで判読可能な記録媒体で実現されるが、本発明がこのような例示に制限されるものではない。また、本実施形態によるコンピュータシステム１００１ではストレージ１０４０がバス１０２０に接続される構造を示しているが、本発明がこれに制限されるものではなく、ストレージ１０４０が中央処理処置１０００に直接連結される構造に変形することもできる。
【００７１】
本実施形態によるコンピュータシステム１００１が例えば、ソフトウェアなどで実現されたシミュレーションシステム（図１の１００）を採用する場合、シミュレーションシステム（図１の１００）は例えば、ストレージ１０４０に示すように保存されうる。
具体的には、ストレージ１０４０には本発明のいくつかの実施形態によるシミュレーションシステム（図１の１００）を構成する判断モジュール（図２の１１０）、ＷＣＰ（Ｗｏｒｓｔ  Ｃａｓｅ  Ｐｏｉｎｔ）探索モジュール（図２の１２０）、およびメインシミュレーションモジュール（図２の１４０）がそれぞれモジュール別に実現され保存されている。
【００７２】
このようにストレージ１０４０に保存された各モジュール（１１０，１２０，１４０）は例えば、メインメモリ１１００にローディングされ、中央処理処置１０００により処理されることによって、シミュレーションシステム（図１の１００）の最終出力である確率値（図１のＰ）が出力されうる。
【００７３】
次に、本発明のいくつかの実施形態によるシミュレーション方法を実現するためのプログラムを記録した記録媒体について説明する。
本発明のいくつかの実施形態によるシミュレーション方法を実現するためのプログラムを記録した記録媒体は例えば、コンピュータハードディスク、フロッピー（登録商標）ディスク、３．５インチディスク、コンピュータストレージテープ、磁気ドラム（ｍａｇｎｅｔｉｃ  ｄｒｕｍｓ）、ＳＲＡＭセル、ＤＲＡＭセル、電気的に消去可能なセル（ＥＥＰＲＯＭ  ｃｅｌｌ、ＥＰＲＯＭ  ｃｅｌｌ、ｆｌａｓｈ  ｃｅｌｌ）、不揮発性セル、強誘電体メモリ、強磁性体メモリ、コンパクトディスク（ＣＤ）、レーザディスク、光学ディスクでありうる。しかし、本発明がこれに制限されるものではなく、コンピュータを利用して読み取り可能な保存媒体は如何なるものでも本発明のいくつかの実施形態によるシミュレーション方法を実現するためのプログラムを記録した記録媒体になる。
【００７４】
以上、添付した図面を参照して本発明の実施形態について説明したが、本発明は、前記実施形態に限定されるものではなく、互いに異なる多様な形態で製造され得、本発明が属する技術分野で通常の知識を有する者は、本発明の技術的思想や必須の特徴を変更せずに他の具体的な形態で実施され得ることを理解できるであろう。したがって、上記実施形態はすべての面で例示的なものであり、限定的なものではないと理解しなければならない。
【符号の説明】
【００７５】
１００    シミュレーションシステム
１１０    判断モジュール
１２０    ＷＣＰ探索モジュール
１４０    メインシミュレーションモジュール
【図１】
2014229311.tif 000006
【図２】
2014229311.tif 000007
【図３】
2014229311.tif 000008
【図４Ａ】
2014229311.tif 000009
【図４Ｂ】
2014229311.tif 000010
【図５】
2014229311.tif 000011
【図６】
2014229311.tif 000012
【図７】
2014229311.tif 000013
【図８】
2014229311.tif 000014
【図９Ａ】
2014229311.tif 000015
【図９Ｂ】
2014229311.tif 000016
【図９Ｃ】
2014229311.tif 000017
【図９Ｄ】
2014229311.tif 000018
【図１０】
2014229311.tif 000019
【図１１】
2014229311.tif 000020