(57)【特許請求の範囲】
【請求項１】
データ格納部に格納されており且つ各々性能の優劣に係る複数種類の性能項目値を有する複数のサンプリングポイントを、優れた性能を示す性能項目値を有するサンプリングポイントほど低いランクに設定され、同一ランクのサンプリングポイント間では支配関係は生じず且つ特定のランクに属するサンプリングポイントは当該特定のランクより高いランクに属するサンプリングポイントに支配されないように、複数のランクに分類する分類ステップと、
前記複数のランクのうち最低ランクからランクを上げる方向で順番に処理対象のランクを特定し、当該処理対象のランクに属する第１のサンプリングポイントと当該処理対象のランクより低い第２のランクに属する第２のサンプリングポイントとについて支配関係を判断し、前記第２のサンプリングポイントが前記第１のサンプリングポイントを支配する場合には、前記第１のサンプリングポイントの被支配サンプリング集合に前記第２のサンプリングポイント及び当該第２のサンプリングポイントの被支配サンプリング集合に含まれるサンプリングポイントを追加すると共に、前記第２のサンプリングポイントと前記第２のサンプリングポイントの被支配サンプリング集合を前記第１のサンプリングポイントについての支配関係の判断対象から除外する処理を、前記第２のランクを当該処理対象のランクより１つ低いランクからランクを下げる方向に変化させて実施するステップと、
を、コンピュータに実行させるプログラム。
【請求項２】
前記複数のサンプリングポイントの各々について、前記被支配サンプリング集合に含まれるサンプリングポイントの数を全サンプリングポイント数で除した値である歩留まり値を、当該サンプリングポイントに対応付けて前記データ格納部に格納するステップ、
をさらに、前記コンピュータに実行させる請求項１記載のプログラム。
【請求項３】
前記分類ステップが、
性能項目毎に、性能項目値の小さい順に前記サンプリングポイントをソートするステップと、
前記複数のサンプリングポイントの各々について、ソート結果の順位において、前記複数種類の性能項目値のうち最も高い順位の性能項目値の順位に応じてランクを付与するステップと、
を含む請求項１又は２記載のプログラム。
【請求項４】
データ格納部に格納されており且つ各々性能の優劣に係る複数種類の性能項目値を有する複数のサンプリングポイントを、優れた性能を示す性能項目値を有するサンプリングポイントほど低いランクに設定され、同一ランクのサンプリングポイント間では支配関係は生じず且つ特定のランクに属するサンプリングポイントは当該特定のランクより高いランクに属するサンプリングポイントに支配されないように、複数のランクに分類する分類ステップと、
前記複数のランクのうち最低ランクからランクを上げる方向で順番に処理対象のランクを特定し、当該処理対象のランクに属する第１のサンプリングポイントと当該処理対象のランクより低い第２のランクに属する第２のサンプリングポイントとについて支配関係を判断し、前記第２のサンプリングポイントが前記第１のサンプリングポイントを支配する場合には、前記第１のサンプリングポイントの被支配サンプリング集合に前記第２のサンプリングポイント及び当該第２のサンプリングポイントの被支配サンプリング集合に含まれるサンプリングポイントを追加すると共に、前記第２のサンプリングポイントと前記第２のサンプリングポイントの被支配サンプリング集合を前記第１のサンプリングポイントについての支配関係の判断対象から除外する処理を、前記第２のランクを当該処理対象のランクより１つ低いランクからランクを下げる方向に変化させて実施するステップと、
を含み、コンピュータにより実行される支配関係確認方法。
【請求項５】
データ格納部に格納されており且つ各々性能の優劣に係る複数種類の性能項目値を有する複数のサンプリングポイントを、優れた性能を示す性能項目値を有するサンプリングポイントほど低いランクに設定され、同一ランクのサンプリングポイント間では支配関係は生じず且つ特定のランクに属するサンプリングポイントは当該特定のランクより高いランクに属するサンプリングポイントに支配されないように、複数のランクに分類するランク付け処理部と、
前記複数のランクのうち最低ランクからランクを上げる方向で順番に処理対象のランクを特定し、当該処理対象のランクに属する第１のサンプリングポイントと当該処理対象のランクより低い第２のランクに属する第２のサンプリングポイントとについて支配関係を判断し、前記第２のサンプリングポイントが前記第１のサンプリングポイントを支配する場合には、前記第１のサンプリングポイントの被支配サンプリング集合に前記第２のサンプリングポイント及び当該第２のサンプリングポイントの被支配サンプリング集合に含まれるサンプリングポイントを追加すると共に、前記第２のサンプリングポイントと前記第２のサンプリングポイントの被支配サンプリング集合を前記第１のサンプリングポイントについての支配関係の判断対象から除外する処理を、前記第２のランクを当該処理対象のランクより１つ低いランクからランクを下げる方向に変化させて実施する算出部と、
を有する情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本技術は、回路の自動設計支援技術に関する。
【背景技術】
【０００２】
本願発明者による"Generation of yield-embedded Pareto-front for simultaneous optimization of yield and performances", Design Automation Conference (DAC), 2010 47th ACE/IEEE, 13-18, June 2010, pp.909-912 には、歩留りを考慮したアナログ回路の自動設計技術が開示されている。
【０００３】
この論文においては、特定の設計パラメータ値及び特定の設計変数値の組み合わせに対するシミュレーション結果である複数種類の性能項目値（これらをまとめて性能とも呼ぶ。例えば、ゲイン、消費電力、線形性、面積、ノイズ、精度、ダイナミックレンジ、インピーダンス整合性など。）を有しているサンプリングポイントを、上記組み合わせの値を変化させて複数生成し、当該複数のサンプリングポイントの各々について、以下に示すような歩留りが定義されている。
【０００４】
前提として、サンプリングポイント１の性能Ｐ1がサンプリングポイント２の性能Ｐ2を支配するとは、以下のように定義される。
【０００５】
【数１】
0005655605.tif 000002
【０００６】
なお、ｐ1iは、性能Ｐ1に含まれるｉ番目の性能項目の値を表し、ｐ2iは、性能Ｐ2に含まれるｉ番目の性能項目の値を表す。（１）式は、サンプリングポイント１の全ての性能項目の値がサンプリングポイント２の対応する性能項目の値と同じ又は優れており、且つサンプリングポイント１のいずれかの性能項目の値がサンプリングポイント２の対応する性能項目の値より優れている場合に、性能Ｐ1が性能Ｐ2を支配するという。性能Ｐ1が性能Ｐ2を支配する場合には、サンプリングポイント１がサンプリングポイント２を支配するともいう。
【０００７】
また、性能についての支配関係については図１を用いて説明しておく。ここでは性能項目が２つだけであると仮定し、第１の性能項目を縦軸に性能項目１として設定し、小さい値ほど性能が高いものとする。また、第２の性能項目を横軸に性能項目２として設定し、小さい値ほど性能が高いものとする。ここで、シミュレーションを実施して性能項目１及び２の値を特定すると、図１に示すような２次元空間にプロットすることができる。図１の例ではＡ乃至Ｆの６つのサンプリングポイント（解とも呼ぶ）が得られている。このような状況において、当然ながら性能項目１も２も小さい値の方が好ましいので、原点に近いほど良いサンプリングポイントである。
【０００８】
そして、「Ｘ支配Ｙ」とは、Ｙの成分（即ち性能項目値）は全てＸの成分と同一又は劣っており、Ｙの成分の少なくとも１つはＸの成分より劣っていることを示す。図１のような２次元空間では、性能項目１も２も値が小さいＢの方がＥよりも良いサンプリングポイントであるから「Ｂ支配Ｅ」であり、同様にＣの方がＦよりも良いサンプリングポイントであるから「Ｃ支配Ｆ」である。一方ＡとＢとを比較すると、Ａの方が性能項目２の値は小さいが性能項目１の値はＢの方が小さいので「Ａ支配Ｂ」とは言えない。Ａ乃至Ｄについてはこのように支配関係が成り立たない。このように性能空間において他のサンプリングポイントに支配されないサンプリングポイント（非劣解とも呼ぶ）をパレートと呼ぶ。そして、パレートを結ぶ曲線（３次元以上の空間であれば曲面）Ａをパレート曲線（又は曲面）と呼ぶ。
【０００９】
また、図２に示すように、サンプリングポイントはその性能項目値により丸印の位置にプロットされ、今回注目するサンプリングポイントを黒丸で示す。なお、ハッチング付きの楕円は、サンプリングポイントの分布領域を仮想的に示したものである。このような場合、注目するサンプリングポイントに対して、全ての性能項目について同一又は優れた値を有するサンプリングポイントは、黒丸の点を右上の頂点とする矩形の計測範囲に含まれるサンプリングポイントである。なお、性能項目が３つ以上であっても条件は同様である。
【００１０】
上記の論文では、注目しているサンプリングポイントの性能以上の性能を有するサンプリングポイントの出現確率を歩留り率と規定している。従って、図２に示す計測範囲に出現するサンプリングポイントの数＋１（注目しているサンプリングポイントの分）を計数し、全サンプリングポイント数で除することによって、歩留り率を算出することになる。
【００１１】
しかしながら、各サンプリングポイントについて歩留りを算出する場合には、注目しているサンプリングポイント毎に、支配関係を他の全てのサンプリングポイントとの間で確認するという処理が行われており、サンプリングポイントの数が多くなると非常に処理時間が掛っていた。
【００１２】
なお、歩留りを算出するだけではなく、単にサンプリングポイント間の支配関係を確認する処理を行う場合にも同様である。
【先行技術文献】
【特許文献】
【００１３】
【特許文献１】特開２００９−１３５１５１号公報
【特許文献２】特表２０１０−５２５６１０号公報
【特許文献３】特開平１１−３４５７５２号公報
【非特許文献】
【００１４】
【非特許文献１】Yu Liu,et al,"Generation of yield-embedded Pareto-front for simultaneous optimization of yield and performances", Design Automation Conference (DAC), 2010 47th ACE/IEEE, 13-18, June 2010, pp.909-912
【発明の概要】
【発明が解決しようとする課題】
【００１５】
従って、本技術の目的は、一側面において、サンプリングポイント間の支配関係を高速に確認するための技術を提供することである。
【課題を解決するための手段】
【００１６】
本支配関係確認のための方法は、（Ａ）データ格納部に格納されており且つ各々複数種類の性能項目値を有する複数のサンプリングポイントを、性能項目値に基づき、同一ランクのサンプリングポイント間では支配関係は生じず且つ特定のランクに属するサンプリングポイントと当該特定のランクより高いランクに属するサンプリングポイントとの間でも支配関係が生じないように、複数のランクに分類する分類ステップと、（Ｂ）複数のランクのうち最低ランクからランクを上げる方向で順番に、当該ランクに属する第１のサンプリングポイントと当該ランクより低い第２のランクに属する第２のサンプリングポイントとについて支配関係を判断し、第２のサンプリングポイントが第１のサンプリングポイントを支配する場合には、第１のサンプリングポイントの被支配サンプリング集合に第２のサンプリングポイント及び当該第２のサンプリングポイントの被支配サンプリング集合に含まれるサンプリングポイントを追加すると共に、第２のサンプリングポイントと第２のサンプリングポイントの被支配サンプリング集合を第１のサンプリングポイントについての支配関係の判断対象から除外する処理を、第２のランクを当該ランクより１つ低いランクからランクを下げる方向に変化させて実施するステップとを含む。
【発明の効果】
【００１７】
サンプリングポイント間の支配関係を高速に確認できるようになる。
【図面の簡単な説明】
【００１８】
【図１】図１は、性能の支配関係を説明するための図である。
【図２】図２は、サンプリングポイントの歩留りを説明するための図である。
【図３】図３は、実施の形態を説明するための図である。
【図４】図４は、実施の形態に係る情報処理装置の機能ブロック図である。
【図５】図５は、データ格納部に格納されるデータの初期状態の一例を示す図である。
【図６】図６は、メインの処理フローを示す図である。
【図７】図７は、ランク付け処理の処理フローを示す図である。
【図８】図８は、ソート処理について説明するための図である。
【図９Ａ】図９Ａは、ランク付け処理の処理フローを示す図である。
【図９Ｂ】図９Ｂは、ランク付け処理結果の一例を示す図である。
【図１０】図１０は、ランク付け処理の処理結果が反映され、データ格納部に格納されるデータの一例を示す図である。
【図１１】図１１は、各ランクに所属するサンプリングポイントを示すための図である。
【図１２】図１２は、歩留り算出処理の処理フローを示す図である。
【図１３】図１３は、歩留り算出処理の処理フローを示す図である。
【図１４】図１４は、支配関係を模式的に示す図である。
【図１５】図１５は、支配関係を模式的に示す図である。
【図１６】図１６は、支配関係を模式的に示す図である。
【図１７】図１７は、最終的にデータ格納部に格納されるデータの一例を示す図である。
【図１８】図１８は、コンピュータの機能ブロック図である。
【発明を実施するための形態】
【００１９】
図３に示すように、２つの性能項目で張られる平面において、サンプリングポイントがハッチングが付された領域に散在しており、サンプリングポイントＡ乃至Ｄを含む１０個のサンプリングポイントが存在しているものとする。このような場合、「Ｄ支配Ｂ」という関係が分かっている場合であっても、「Ｄ支配Ａ」及び「Ｂ支配Ａ」という確認を行うのは、非効率的である。また、図３のように、（Ｂの性能項目値Ｂ１＜Ｃの性能項目値Ｃ１）且つ（Ｂの性能項目値Ｂ２＞Ｃの性能項目値Ｃ２）が成立していれば、ＢとＣとは互いに支配関係にはない。このように１つの性能項目だけでも優れていれば支配関係はないので、このような条件が成り立つことが分かればＢとＣの全ての性能項目値について比較するのは無駄になる。特に、アナログ回路の性能分布は、ガウス分布、指数分布などの素直な分布が多いため、このような無駄になるようなケースが多数発生する。
【００２０】
そこで、本実施の形態では、図３に示すように、サンプリングポイントを、支配関係が明らかになるように予めグループ分け（ランク付けとも呼ぶ）する。より具体的には、パレート曲線（又は曲面）に近いほど低いランクが設定され、高いランクに属するサンプリングポイントは、低いランクに属するサンプリングポイントを支配せず、同じランクに属するサンプリングポイント同士には支配関係が存在しないようにする。
【００２１】
図３の例では、ランク０のライン上のサンプリングポイントは、他のいずれのサンプリングポイントにも支配されず、ランク０のライン上のサンプリングポイントは、互いに支配関係にはない。また、ランク１のライン上のサンプリングポイントは、ランク０のいずれかのサンプリングポイントにより支配される可能性があるが（図３では支配されている）、ランク２以降のランクに属するサンプリングポイントから支配されることはない。また、ランク１のライン上のサンプリングポイントは、互いに支配関係にはない。さらに、ランク２のライン上のサンプリングポイントは、ランク０又は１のいずれかのサンプリングポイントにより支配される可能性があり（図３の例では支配されている）、ランク３以降のランクに属するサンプリングポイントから支配されることはない。また、ランク２のライン上のサンプリングポイントは、互いに支配関係にはない。以下同じである。
【００２２】
このようなランク付けを行えば、低いランクに属するサンプリングポイントとの支配関係の確認を行うだけで済むので、処理効率が上がるようになる。また、上でも述べたように、あるサンプリングポイントに支配されるサンプリングポイントに支配されるサンプリングポイントは、あるサンプリングポイントにも支配されることは明らかであるから、一度確認した被支配関係を保持しつつ、ランクが低い順にサンプリングポイントをピックアップすると共に、支配関係の確認先については直前のランクに属するサンプリングポイントからピックアップするようにすれば、被支配関係を効率的に把握することができる。被支配関係が把握できれば、歩留りも高速に算出することができるようになる。
【００２３】
次に、このような処理を実施するための支配関係を確認するための情報処理装置の機能ブロック図を図４に示す。図４に示すように、情報処理装置１００は、ランク付け処理部１１０と、歩留り算出部１２０と、データ格納部１３０とを有する。ランク付け処理部１１０は、データ格納部１３０に格納されているデータを用いて処理を行い、処理結果をデータ格納部１３０に格納する。歩留り算出部１２０は、データ格納部１３０に格納されているデータを用いて処理を行い、処理結果をデータ格納部１３０に格納する。
【００２４】
データ格納部１３０は、初期的には例えば図５に示すようなデータを格納している。図５の例では、サンプリングポイント識別子（ＩＤ）と、性能項目１乃至Ｍの値と、ランクと、歩留り率とを登録するようになっている。但し、初期的には、ランク及び歩留り率は登録されない。別途、各サンプリングポイントについて、該当する回路構成、設計変数値及び設計パラメータ値などを対応付けて登録する場合もあるが、本実施の形態では直接関係ないので省略する。
【００２５】
次に、図６乃至図１７を用いて図４に示した情報処理装置１００の処理内容を説明する。まず、ランク付け処理部１１０は、データ格納部１３０に格納されているデータを用いてランク付け処理を実施し、処理結果をデータ格納部１３０に格納する（図６：ステップＳ１）。ランク付け処理については、図７乃至図１０を用いて説明する。この後、歩留り算出部１２０は、データ格納部１３０に格納されているデータを用いて歩留り算出処理を実施し、処理結果をデータ格納部１３０に格納する（ステップＳ３）。歩留り算出処理については、図１１乃至図１７を用いて説明する。
【００２６】
次に、ランク付け処理について説明する。ランク付け処理部１１０は、データ格納部１３０に格納されているＮ個のサンプリングポイントＳＰを、Ｍ個の性能項目の各々について、小さい順にソートする（図７：ステップＳ１１）。例えば、Ｎ＝８で、Ｍ＝３の例を考える。図８に示すように（丸内の数字がサンプリングポイントの識別子を表す）、性能項目１について、サンプリングポイント１乃至８をソートし、性能項目２について、サンプリングポイント１乃至８をソートし、性能項目３について、サンプリングポイント１乃至８をソートする。サンプリングポイントの性能項目値は、性能項目毎に異なっているので、順位自体も性能項目毎に異なるようになる。なお、値が小さい方が優れているという前提で小さい順にソートしている。ソート結果は例えばメインメモリなどの記憶装置に格納される。
【００２７】
次に、ランク付け処理部１１０は、ソート結果に基づき、Ｎ×Ｍ行列を生成する（ステップＳ１３）。各性能項目について、小さい順にサンプリングポイントの識別子を、Ｎ×Ｍ行列の該当する要素に登録する。
【００２８】
その後、ランク付け処理部１１０は、１行目のサンプリングポイントＳＰに、ランク０を設定する（ステップＳ１５）。図８の例であれば、サンプリングポイントＳＰ５、ＳＰ１及びＳＰ６に対してランク０（Ｒ０）を設定する。
【００２９】
次に、ランク付け処理部１１０は、行番号Ｌ＝２に設定し（ステップＳ１７）、Ｌ行目における未処理の列のサンプリングポイントＳＰを特定する（ステップＳ１９）。例えば、２行目の未処理の列（性能項目１）のサンプリングポイントＳＰ２を特定する。
【００３０】
そして、ランク付け処理部１１０は、特定されたサンプリングポイントＳＰにランク付与済みであるか判断する（ステップＳ２１）。２行目における性能項目１の列のサンプリングポイントＳＰ２の場合には、未付与である。付与済みである場合には、端子Ａを介して図９Ａの処理に移行する。一方、未付与である場合には、ランク付け処理部１１０は、Ｌ行目に同じサンプリングポイントＳＰが存在しているか判断する（ステップＳ２３）。２行目における性能項目１の列のサンプリングポイントＳＰ２の場合には、性能項目２にもサンプリングポイントＳＰ２があるので、Ｌ行目に同じサンプリングポイントＳＰが存在していることになる。Ｌ行目に同じサンプリングポイントＳＰが存在していない場合には、ランク付け処理部１１０は、特定されたサンプリングポイントＳＰの列の最大ランク値を１上げた値を、特定されたサンプリングポイントＳＰのランク値として設定する（ステップＳ２７）。そして処理は端子Ａを介して図９Ａの処理に移行する。
【００３１】
一方、Ｌ行目に同じサンプリングポイントＳＰが存在している場合には、ランク付け処理部１１０は、特定されたサンプリングポイントＳＰが存在する各列について、特定されたサンプリングポイントＳＰの列の最大ランクを１上げた値を算出し、当該算出値における最小のランク値を、特定されたサンプリングポイントＳＰに設定する（ステップＳ２５）。そして処理は端子Ａを介して図９Ａの処理に移行する。
【００３２】
２行目における性能項目１の列のサンプリングポイントＳＰ２の場合には、１行目でランク０であるからランクを１上げてランク１が算出される。また、２行目における性能項目２の列のサンプリングポイントＳＰ２の場合には、１行目でランク０であるからランクを１上げてランク１が算出される。いずれもランク１なので、サンプリングポイントＳＰ２にはランク１が設定されることになる。
【００３３】
処理は端子Ａを介して図９Ａの処理の説明に移行して、ランク付け処理部１１０は、Ｌ行目において全ての列について処理したか判断する（ステップＳ２９）。Ｌ行目において未処理の列が存在する場合には端子Ｂを介して図７のステップＳ１９に戻る。一方、Ｌ行目における全ての列について処理した場合には、ＬがＮに達したか判断する（ステップＳ３１）。ＬがＮに達していない場合には、ランク付け処理部１１０は、Ｌを１インクリメントして（ステップＳ３３）端子Ｂを介して図７のステップＳ１９に戻る。一方、ＬがＮに達した場合には、呼び出し元の処理に戻る。
【００３４】
図８に示すようなソート結果が得られた場合には、図９Ｂに示すようなランク付けがなされる。具体的には、上で述べたように、Ｌ＝１行目のサンプリングポイントＳＰ５、ＳＰ１及びＳＰ６に対してランク０が設定される。次に、Ｌ＝２行目のサンプリングポイントＳＰ２に対しては、上で述べたように、ランク１が設定される。Ｌ＝２行目のサンプリングポイントＳＰ１に対しては、既にランクが設定されているので処理をスキップする。さらに、Ｌ＝３行目のサンプリングポイントＳＰ１、ＳＰ６及びＳＰ２には、既にランクが設定されているので処理をスキップする。Ｌ＝４行目のサンプリングポイントＳＰ３を処理する際には、同じ行にサンプリングポイントＳＰ３が他にも出現しているか確認する。この場合２回出現するが、いずれの列に対しても現在の最大ランク値１を１上げたランク２が設定されることになるので、そのままランク２がサンプリングポイントＳＰ３に設定される。Ｌ＝４行目のサンプリングポイントＳＰ５には、既にランクが設定されているので処理をスキップする。
【００３５】
Ｌ＝５行目のサンプリングポイントＳＰ６及びＳＰ５には、既にランクが設定されているので処理をスキップする。Ｌ＝５行目のサンプリングポイントＳＰ４を処理する際には、同じ行にサンプリングポイントＳＰ４が他にも出現しているか確認する。この場合他に出現しないので、ステップＳ２７で当該列の最大ランク値１を１上げてランク２を、サンプリングポイントＳＰ４に設定する。Ｌ＝６行目のサンプリングポイントＳＰ４及びＳＰ３には、既にランクが設定されているので処理をスキップする。Ｌ＝７行目のサンプリングポイントＳＰ７を処理する際には、同じ行にサンプリングポイントＳＰ７が他にも出現しているか確認する。この場合２回出現するが、いずれの列に対しても現在の最大ランク値２を１上げたランク３が設定されることになるので、そのままランク３がサンプリングポイントＳＰ７に設定される。Ｌ＝７行目のサンプリングポイントＳＰ８を処理する際には、同じ行にサンプリングポイントＳＰ８が他にも出現しているか確認する。この場合他に出現しないので、ステップＳ２７で当該列の最大ランク値２を１上げたランク３が、サンプリングポイントＳＰ８に設定されることになる。Ｌ＝８行目のサンプリングポイントＳＰ８及びＳＰ７については、既にランクが設定されているので処理をスキップする。
【００３６】
このように、性能項目値の小さい順に、性能項目のうち最も順位が高い（Ｌの値が小さい）性能項目の順位に応じて、サンプリングポイントにランクが付与される。
【００３７】
以上のように設定されたランクの値は、データ格納部１３０に格納される。例えば図１０に示すように、図５において値が登録されていなかったランクの欄に、特定されたランクの値が登録される。
【００３８】
次に、図１１乃至図１７を用いて歩留り算出処理について説明する。図９Ｂに示すような処理結果を模式的に示すと、図１１に示すような、サンプリングポイントのランク付けとなっている。すなわち、ランク０には、サンプリングポイントＳＰ５、ＳＰ１及びＳＰ６が属し、ランク１には、サンプリングポイントＳＰ２が属し、ランク２には、サンプリングポイントＳＰ３及びＳＰ４が属し、ランク３には、サンプリングポイントＳＰ７及びＳＰ８が属する。このような状態を想定して、以下具体的に処理内容を説明する。
【００３９】
まず、歩留り算出部１２０は、ランク０に属するサンプリングポイントＳＰについては、歩留り１／Ｎ及び被支配集合｛φ｝を設定する（図１２：ステップＳ４１）。そして、歩留り算出部１２０は、支配関係の確認元ランクのカウンタｒに１を設定する（ステップＳ４３）。また、歩留り算出部１２０は、ランクｒの未処理のサンプリングポイントＳｐｒを１つ特定する（ステップＳ４５）。さらに、歩留り算出部１２０は、支配関係の確認先ランクのカウンタｔに１を設定する（ステップＳ４７）。
【００４０】
その後、歩留り算出部１２０は、ランク（ｒ−ｔ）以下のサンプリングポイントＳＰを、支配関係を確認する対象となるサンプリングポイントＳＰの集合Ｓに登録する（ステップＳ４９）。例えば、ｒ＝１でサンプリングポイントＳＰ２がＳｐｒに設定されている場合、ランク０（＝１−１）のサンプリングポイントＳＰ５、ＳＰ１及びＳＰ６が集合Ｓに登録される。また、ｒ＝２でサンプリングポイントＳＰ３がＳｐｒに設定されている場合、ランク１（＝２−１）のサンプリングポイントＳＰ２並びにランク０のサンプリングポイントＳＰ５、ＳＰ１及びＳＰ６が集合Ｓに登録される。
【００４１】
その後、歩留り算出部１２０は、集合Ｓ内のランク（ｒ−ｔ）における未処理のサンプリングポイントＳｐｉを１つ特定する（ステップＳ５１）。そして、歩留り算出部１２０は、サンプリングポイントＳｐｉがサンプリングポイントＳｐｒを支配するか判断する（ステップＳ５３）。ここでは、（１）式に従っているかを判断する。サンプリングポイントＳｐｉがサンプリングポイントＳｐｒを支配していない場合には、歩留り算出部１２０は、集合ＳからサンプリングポイントＳｐｉを除外する（ステップＳ５５）。そして、処理は端子Ｃを介して図１３の処理に移行する。
【００４２】
サンプリングポイントＳＰ２がＳｐｒである場合、図８及び図１０に示すようなソート結果からすると、集合Ｓに登録されたいずれのサンプリングポイントについても支配されることはない。
【００４３】
一方、サンプリングポイントＳＰ３がＳｐｒでｔ＝１である場合、サンプリングポイントＳＰ２がＳｐｉであるとすると、「ＳＰ２支配ＳＰ３」が成立している。またｔ＝２である場合、サンプリングポイントＳＰ１がＳｐｉであるとすると、「ＳＰ１支配ＳＰ３」が成立している。なお、サンプリングポイントＳＰ５及びＳＰ６については、支配関係は成り立たない。
【００４４】
一方、サンプリングポイントＳｐｉがサンプリングポイントＳｐｒを支配している場合には、歩留り算出部１２０は、サンプリングポイントＳｐｉ及び当該サンプリングポイントＳｐｉの被支配集合Ｗを、サンプリングポイントＳｐｒの被支配集合に追加する（ステップＳ５７）。サンプリングポイントＳＰ３がＳｐｒである場合には、上で述べたように「ＳＰ２支配ＳＰ３」が成立しているので、サンプリングポイントＳＰ３の被支配集合にサンプリングポイントＳＰ２を追加する。但し、サンプリングポイントＳＰ２はいずれのサンプリングポイントにも支配されていないので、サンプリングポイントＳＰ２の被支配集合は空｛φ｝で、サンプリングポイントＳＰ３の被支配集合には、この段階ではＳＰ２のみが追加される。
【００４５】
さらに、歩留り算出部１２０は、サンプリングポイントＳｐｉ及び当該サンプリングポイントＳｐｉの被支配集合Ｗを、支配関係を確認する対象となる集合Ｓから除外する（ステップＳ５９）。これによって、被支配関係を引き継いで支配関係の確認対象となるサンプリングポイントの数を減らすことができる。処理は、端子Ｃを介して図１３の処理に移行する。
【００４６】
図１３の処理の説明に移行して、歩留り算出部１２０は、集合Ｓが空になったか判断する（ステップＳ６１）。集合Ｓが空になった場合には、ステップＳ６９に移行する。一方、集合Ｓが空ではない場合には、歩留り算出部１２０は、集合Ｓ内のランク（ｒ−ｔ）における未処理のサンプリングポイントがあるか判断する（ステップＳ６３）。集合Ｓ内のランク（ｒ−ｔ）における未処理のサンプリングポイントが存在する場合には、端子Ｄを介して図１２のステップＳ５１に戻る。一方、集合Ｓ内のランク（ｒ−ｔ）における未処理のサンプリングポイントＳが存在しない場合には、歩留り算出部１２０は、（ｒ−ｔ）が０になったか判断する（ステップＳ６５）。（ｒ−ｔ）が０ではない、すなわち支配関係の確認先ランクが最低ランクに達していない場合には、歩留り算出部１２０は、ｔを１インクリメントし（ステップＳ６７）、端子Ｄを介して図１２のステップＳ５１に戻る。
【００４７】
サンプリングポイントＳＰ３がＳｐｒである場合には、ｔ＝１の時には、被支配集合にＳＰ２が追加され、ｔ＝２の時には、被支配集合にＳＰ１が追加される。サンプリングポイントＳＰ２もＳＰ１も被支配集合Ｗは空｛φ｝であるから、それ以上に追加されることはない。
【００４８】
（ｒ−ｔ）が０に達した場合には、又は集合Ｓが空になった場合には、歩留り算出部１２０は、（サンプリングポイントＳｐｒの被支配集合に属するサンプリングポイントの数＋１）／Ｎにより歩留りを算出し、データ格納部１３０に格納する（ステップＳ６９）。サンプリングポイントＳＰ２の場合には、被支配集合は空｛φ｝であるから、歩留りは１／８となる。一方、サンプリングポイントＳＰ３の場合には、被支配集合は｛１，２｝であるから、歩留りは３／８となる。
【００４９】
そして、歩留り算出部１２０は、ランクｒのサンプリングポイントの全てについて処理したか判断する（ステップＳ７１）。ランクｒに未処理のサンプリングポイントが存在する場合には端子Ｅを介して、処理はステップＳ４５に戻る。
【００５０】
一方、ランクｒに未処理のサンプリングポイントが存在していない場合には、歩留り算出部１２０は、ランクｒを１インクリメントし（ステップＳ７３）、ｒがランク最大値を超えたか判断する（ステップＳ７５）。ｒがランク最大値を超えていない場合には、端子Ｅを介してステップＳ４５に戻る。一方、ｒがランク最大値を超えた場合には、呼び出し元の処理に戻る。
【００５１】
上で述べたサンプリングポイントＳＰ３までの処理結果を模式的に図１４に示す。ランク０に属するサンプリングポイントＳＰ５、ＳＰ１及びＳＰ６については被支配集合は空｛φ｝であり、ランク１に属するサンプリングポイントＳＰ２についても被支配集合は空｛φ｝である。一方、ランク２に属するサンプリングポイントＳＰ３については、サンプリングポイントＳＰ２及びＳＰ１に支配されるので（矢印は支配されることを表す）、被支配集合は｛２，１｝となる。
【００５２】
また、サンプリングポイントＳＰ４がＳｐｒである場合には、図８及び図１０から、ランク１のサンプリングポイントＳＰ２並びにランク０のサンプリングポイントＳＰ５、ＳＰ１及びＳＰ６に支配されていることが分かる。従って、図１５に示すように、被支配集合は｛２，５，１，６｝となる。
【００５３】
さらに、ランク３のサンプリングポイントＳＰ７がＳｐｒである場合には、最初にランク２のサンプリングポイントＳＰ３について支配関係を確認する。図８及び図１０から、「ＳＰ３支配ＳＰ７」が成立しているので、サンプリングポイントＳＰ７の被支配集合に、サンプリングポイントＳＰ３及び当該サンプリングポイントＳＰ３の被支配集合Ｗ｛２，１｝を追加する。次に、ランク２のサンプリングポイントＳＰ４について支配関係を確認する。図８及び図１０から「ＳＰ４支配ＳＰ７」が成立しているので、サンプリングポイントＳＰ７の被支配集合に、サンプリングポイントＳＰ４及び当該サンプリングポイントＳＰ４の被支配集合Ｗ｛２，５，１，６｝が追加される。重複するサンプリングポイントについては重複登録はしない。これによって、サンプリングポイントＳＰ７の被支配集合は｛２，１，３，４，５，６｝となる。被支配集合に含まれるサンプリングポイントについては支配関係の確認を省略できるので、サンプリングポイントＳＰ７についての集合Ｓは空になる。従って、支配関係の確認対象サンプリングポイントの数が削減されている。ランク３のサンプリングポイントＳＰ８についても同様の処理が行われる。結果として、図１６に示すような結果が支配関係を表すデータとして得られる。このような支配関係を表すデータについても、データ格納部１３０に格納する。
【００５４】
なお、サンプリングポイントＳＰ４の歩留りは５／８であり、サンプリングポイントＳＰ７及びＳＰ８の歩留りは７／８である。
【００５５】
従って、図１２及び図１３の処理が完了すれば、データ格納部１３０には、図１７に示すように、歩留り率の欄にも歩留りが登録されるようになる。
【００５６】
以上述べたように、ランク付けを適切に行い、適切な順番で支配関係を確認することで、支配関係の確認対象サンプリングポイントの数を大幅に減らすことができるため、処理効率が向上する。
【００５７】
以上本技術の一実施の形態を説明したが、本技術はこれに限定されるものではない。例えば、図４の機能ブロック図は一例であって、必ずしも実際のプログラムモジュール構成と一致しない場合もある。処理フローについても同様の処理結果を得ることができるならば様々な変形が可能である。例えば、処理ステップを入れ替えたり、複数のステップを並列実施する場合もある。
【００５８】
上でも述べたが、歩留りを算出せず、支配関係を表すデータのみを得るようにしても良い。
【００５９】
なお、上で述べた情報処理装置１００は、コンピュータ装置であって、図１８に示すように、メモリ２５０１とＣＰＵ２５０３とハードディスク・ドライブ（ＨＤＤ）２５０５と表示装置２５０９に接続される表示制御部２５０７とリムーバブル・ディスク２５１１用のドライブ装置２５１３と入力装置２５１５とネットワークに接続するための通信制御部２５１７とがバス２５１９で接続されている。オペレーティング・システム（ＯＳ：Operating System）及び本実施例における処理を実施するためのアプリケーション・プログラムは、ＨＤＤ２５０５に格納されており、ＣＰＵ２５０３により実行される際にはＨＤＤ２５０５からメモリ２５０１に読み出される。必要に応じてＣＰＵ２５０３は、表示制御部２５０７、通信制御部２５１７、ドライブ装置２５１３を制御して、必要な動作を行わせる。また、処理途中のデータについては、メモリ２５０１に格納され、必要があればＨＤＤ２５０５に格納される。本技術の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク２５１１に格納されて頒布され、ドライブ装置２５１３からＨＤＤ２５０５にインストールされる。インターネットなどのネットワーク及び通信制御部２５１７を経由して、ＨＤＤ２５０５にインストールされる場合もある。このようなコンピュータ装置は、上で述べたＣＰＵ２５０３、メモリ２５０１などのハードウエアとＯＳ及び必要なアプリケーション・プログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【００６０】
以上述べた本実施の形態をまとめると以下のとおりである。
【００６１】
本実施の形態に係る支配関係確認のための方法は、（Ａ）データ格納部に格納されており且つ各々複数種類の性能項目値を有する複数のサンプリングポイントを、性能項目値に基づき、同一ランクのサンプリングポイント間では支配関係は生じず且つ特定のランクに属するサンプリングポイントと当該特定のランクより高いランクに属するサンプリングポイントとの間でも支配関係が生じないように、複数のランクに分類する分類ステップと、（Ｂ）複数のランクのうち最低ランクからランクを上げる方向で順番に、当該ランクに属する第１のサンプリングポイントと当該ランクより低い第２のランクに属する第２のサンプリングポイントとについて支配関係を判断し、第２のサンプリングポイントが第１のサンプリングポイントを支配する場合には、第１のサンプリングポイントの被支配サンプリング集合に第２のサンプリングポイント及び当該第２のサンプリングポイントの被支配サンプリング集合に含まれるサンプリングポイントを追加すると共に、第２のサンプリングポイントと第２のサンプリングポイントの被支配サンプリング集合を第１のサンプリングポイントについての支配関係の判断対象から除外する処理を、第２のランクを当該ランクより１つ低いランクからランクを下げる方向に変化させて実施するステップとを含む。
【００６２】
このようにすれば、低いランクに属するサンプリングポイントに対して支配関係を確認すればよく、さらにサンプリングポイントの被支配関係を引き継ぐので、確認対象サンプリングポイントの数が削減され、処理効率が高くなる。
【００６３】
また、複数のサンプリングポイントの各々について、被支配サンプリング集合に含まれるサンプリングポイントの数を全サンプリングポイント数で除した値である歩留まり値を、当該サンプリングポイントに対応付けてデータ格納部に格納するステップをさらに含むようにしても良い。高速に歩留りを算出することができるようになる。
【００６４】
さらに、上で述べた分類ステップが、性能項目毎に、性能項目値の小さい順にサンプリングポイントをソートするステップと、複数のサンプリングポイントの各々について、ソート結果の順位において、複数種類の性能項目値のうち最も高い順位の性能項目値の順位に応じてランクを付与するステップとを含むようにしてもよい。このようにすることで、低いランクのサンプリングポイントとの支配関係を確認すれば良くなるため、処理効率が向上する。
【００６５】
なお、上記方法による処理をコンピュータに行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、ＣＤ−ＲＯＭ、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。尚、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。
【００６６】
（付記１）
データ格納部に格納されており且つ各々複数種類の性能項目値を有する複数のサンプリングポイントを、前記性能項目値に基づき、同一ランクのサンプリングポイント間では支配関係は生じず且つ特定のランクに属するサンプリングポイントと当該特定のランクより高いランクに属するサンプリングポイントとの間でも支配関係が生じないように、複数のランクに分類する分類ステップと、
前記複数のランクのうち最低ランクからランクを上げる方向で順番に、当該ランクに属する第１のサンプリングポイントと当該ランクより低い第２のランクに属する第２のサンプリングポイントとについて支配関係を判断し、前記第２のサンプリングポイントが前記第１のサンプリングポイントを支配する場合には、前記第１のサンプリングポイントの被支配サンプリング集合に前記第２のサンプリングポイント及び当該第２のサンプリングポイントの被支配サンプリング集合に含まれるサンプリングポイントを追加すると共に、前記第２のサンプリングポイントと前記第２のサンプリングポイントの被支配サンプリング集合を前記第１のサンプリングポイントについての支配関係の判断対象から除外する処理を、前記第２のランクを当該ランクより１つ低いランクからランクを下げる方向に変化させて実施するステップと、
を、コンピュータに実行させるプログラム。
【００６７】
（付記２）
前記複数のサンプリングポイントの各々について、前記被支配サンプリング集合に含まれるサンプリングポイントの数を全サンプリングポイント数で除した値である歩留まり値を、当該サンプリングポイントに対応付けて前記データ格納部に格納するステップ、
をさらに、前記コンピュータに実行させる付記１記載のプログラム。
【００６８】
（付記３）
前記分類ステップが、
性能項目毎に、性能項目値の小さい順に前記サンプリングポイントをソートするステップと、
前記複数のサンプリングポイントの各々について、ソート結果の順位において、前記複数種類の性能項目値のうち最も高い順位の性能項目値の順位に応じてランクを付与するステップと、
を含む付記１又は２記載のプログラム。
【００６９】
（付記４）
データ格納部に格納されており且つ各々複数種類の性能項目値を有する複数のサンプリングポイントを、前記性能項目値に基づき、同一ランクのサンプリングポイント間では支配関係は生じず且つ特定のランクに属するサンプリングポイントと当該特定のランクより高いランクに属するサンプリングポイントとの間でも支配関係が生じないように、複数のランクに分類する分類ステップと、
前記複数のランクのうち最低ランクからランクを上げる方向で順番に、当該ランクに属する第１のサンプリングポイントと当該ランクより低い第２のランクに属する第２のサンプリングポイントとについて支配関係を判断し、前記第２のサンプリングポイントが前記第１のサンプリングポイントを支配する場合には、前記第１のサンプリングポイントの被支配サンプリング集合に前記第２のサンプリングポイント及び当該第２のサンプリングポイントの被支配サンプリング集合に含まれるサンプリングポイントを追加すると共に、前記第２のサンプリングポイントと前記第２のサンプリングポイントの被支配サンプリング集合を前記第１のサンプリングポイントについての支配関係の判断対象から除外する処理を、前記第２のランクを当該ランクより１つ低いランクからランクを下げる方向に変化させて実施するステップと、
を含み、コンピュータにより実行される支配関係確認方法。
【００７０】
（付記５）
データ格納部に格納されており且つ各々複数種類の性能項目値を有する複数のサンプリングポイントを、前記性能項目値に基づき、同一ランクのサンプリングポイント間では支配関係は生じず且つ特定のランクに属するサンプリングポイントと当該特定のランクより高いランクに属するサンプリングポイントとの間でも支配関係が生じないように、複数のランクに分類するランク付け処理部と、
前記複数のランクのうち最低ランクからランクを上げる方向で順番に、当該ランクに属する第１のサンプリングポイントと当該ランクより低い第２のランクに属する第２のサンプリングポイントとについて支配関係を判断し、前記第２のサンプリングポイントが前記第１のサンプリングポイントを支配する場合には、前記第１のサンプリングポイントの被支配サンプリング集合に前記第２のサンプリングポイント及び当該第２のサンプリングポイントの被支配サンプリング集合に含まれるサンプリングポイントを追加すると共に、前記第２のサンプリングポイントと前記第２のサンプリングポイントの被支配サンプリング集合を前記第１のサンプリングポイントについての支配関係の判断対象から除外する処理を、前記第２のランクを当該ランクより１つ低いランクからランクを下げる方向に変化させて実施する算出部と、
を有する情報処理装置。
【符号の説明】
【００７１】
１１０  ランク付け処理部
１２０  歩留り算出部
１３０  データ格納部
１００  情報処理装置
【図１】
0005655605.tif 000003
【図２】
0005655605.tif 000004
【図３】
0005655605.tif 000005
【図４】
0005655605.tif 000006
【図５】
0005655605.tif 000007
【図６】
0005655605.tif 000008
【図７】
0005655605.tif 000009
【図８】
0005655605.tif 000010
【図９Ａ】
0005655605.tif 000011
【図９Ｂ】
0005655605.tif 000012
【図１０】
0005655605.tif 000013
【図１１】
0005655605.tif 000014
【図１２】
0005655605.tif 000015
【図１３】
0005655605.tif 000016
【図１４】
0005655605.tif 000017
【図１５】
0005655605.tif 000018
【図１６】
0005655605.tif 000019
【図１７】
0005655605.tif 000020
【図１８】
0005655605.tif 000021