(57)【要約】【課題】複数の要素の結合結果を容易に識別する。【解決手段】複数の基本要素のそれぞれに要素識別値を割り当てる割当部と、複数の基本要素のうちの２以上の基本要素を結合し、結合した２以上の基本要素を表す結合要素を生成する生成部と、結合要素に含まれる複数の基本要素のそれぞれに割り当てられた複数の要素識別値を、要素の結合方法に応じた演算により合成して、結合要素に対応する１つの要素識別値を算出する算出部と、を備え、算出部は、順序を区別する結合方法により２つの要素を結合した場合には、交換法則が成り立たない演算により対応する２つの要素識別値を合成し、順序を区別しない結合方法により２つの要素を結合した場合には、交換法則が成り立つ演算により対応する２つの要素識別値を合成する情報処理装置を提供する。【選択図】図５
2015035006.tif 000002
【特許請求の範囲】
【請求項１】
複数の基本要素のそれぞれに要素識別値を割り当てる割当部と、
前記複数の基本要素のうちの２以上の基本要素を結合し、結合した前記２以上の基本要素を表す結合要素を生成する生成部と、
前記結合要素に含まれる複数の基本要素のそれぞれに割り当てられた複数の要素識別値を、要素の結合方法に応じた演算により合成して、前記結合要素に対応する１つの要素識別値を算出する算出部と、
を備え、
前記算出部は、
順序を区別する結合方法により２つの要素を結合した場合には、交換法則が成り立たない演算により対応する２つの要素識別値を合成し、
順序を区別しない結合方法により２つの要素を結合した場合には、交換法則が成り立つ演算により対応する２つの要素識別値を合成する
情報処理装置。
【請求項２】
前記生成部は、複数の結合要素を生成し、
当該情報処理装置は、前記複数の結合要素のそれぞれの前記要素識別値に基づき、前記複数の結合要素のうち重複する結合要素を検出する重複検出部を更に備える
請求項１に記載の情報処理装置。
【請求項３】
前記算出部は、
順序を区別する結合方法により２つの要素を結合した場合には、結合法則が成り立ち且つ交換法則が成り立たない演算により対応する２つの要素識別値を合成し、
順序を区別しない結合方法により２つの要素を結合した場合には、結合法則が成り立ち且つ交換法則が成り立つ演算により対応する２つの要素識別値を合成する
請求項２に記載の情報処理装置。
【請求項４】
前記複数の結合要素のそれぞれの前記要素識別値を予め定められた規則によりハッシュ値に変換するハッシュ値化部を更に備え、
前記重複検出部は、前記複数の結合要素のそれぞれのハッシュ値化された前記要素識別値に基づき、前記複数の結合要素のうち重複する結合要素を検出する
請求項３に記載の情報処理装置。
【請求項５】
前記重複検出部は、ハッシュ値化された前記要素識別値が一致する複数の結合要素を検出した場合、検出した複数の結合要素のそれぞれに含まれる複数の基本要素および要素の結合方法が一致するか否かを更に解析して重複する結合要素を検出する
請求項４に記載の情報処理装置。
【請求項６】
前記割当部は、前記複数の基本要素のそれぞれに正方行列である要素識別値を割り当てる
請求項２に記載の情報処理装置。
【請求項７】
前記算出部は、順序を区別する結合方法により２つの要素を結合した場合には、行列積により対応する２つの要素識別値を合成する
請求項６に記載の情報処理装置。
【請求項８】
前記算出部は、順序を区別しない結合方法により２つの要素を結合した場合には、行列和により対応する２つの要素識別値を合成する
請求項６に記載の情報処理装置。
【請求項９】
前記算出部は、順序を区別する結合方法により２つの要素を結合した場合には、下記式（１１）に示される行列演算により対応する２つの要素識別値を合成する
請求項６に記載の情報処理装置。
【数１１】
2015035006.tif 000005
【請求項１０】
前記算出部は、順序を区別しない結合方法により２つの要素を結合した場合には、下記式（１２）に示される行列演算により対応する２つの要素識別値を合成する
請求項６に記載の情報処理装置。
【数１２】
2015035006.tif 000006
【請求項１１】
前記算出部は、方向を区別して２つの基本要素を結合する場合には、結合する方向毎に異なる演算により対応する２つの要素識別値を合成する
請求項６に記載の情報処理装置。
【請求項１２】
当該情報処理装置は、それぞれが形状及びサイズを表す前記複数の基本要素のうちの２以上の基本要素を結合し、結合した前記２以上の基本要素を表す前記複数の結合要素を生成する装置であって、
前記割当部は、前記複数の基本要素のそれぞれに対して、形状及びサイズ毎に要素識別値を割り当て、
前記算出部は、結合方向に応じて交換法則が成り立つ演算および交換法則が成り立たない演算のいずれかにより対応する２つの要素識別値を合成する
請求項２に記載の情報処理装置。
【請求項１３】
当該情報処理装置は、それぞれが長方形の製品板を表す前記複数の基本要素のうちの２以上の基本要素を結合し、結合した前記２以上の基本要素のそれぞれを長方形の材料板から切り出す切断パターンを表す複数のレイアウトの候補を生成する装置であって、
前記生成部は、前記複数のレイアウトの候補を前記複数の結合要素として生成し、
前記重複検出部は、前記複数のレイアウトのそれぞれの前記要素識別値に基づき、前記複数のレイアウトの候補の重複を検出する
請求項１２に記載の情報処理装置。
【請求項１４】
前記割当部は、同一サイズの前記製品板に同一の要素識別値を割り当てる
請求項１３に記載の情報処理装置。
【請求項１５】
レイアウトの候補および要素識別値を対応させて記憶する結合要素記憶部と、
前記生成部により生成された新たなレイアウトの候補の前記要素識別値と前記結合要素記憶部に記憶されているレイアウトの候補の前記要素識別値とが重複しないと判断されたことを条件として、前記新たなレイアウトの候補および対応する要素識別値を前記結合要素記憶部に追加して記憶させる追加部と、
を更に備える
請求項１３に記載の情報処理装置。
【請求項１６】
前記結合要素記憶部は、含まれている製品板の枚数を複数のレイアウトの候補のそれぞれに対応させて記憶し、
前記重複検出部は、前記新たなレイアウトの候補に含まれる製品板の枚数を検出し、検出した枚数と同一枚数の製品板を含むレイアウトの候補を前記結合要素記憶部から抽出し、抽出したレイアウトの候補に対応する前記要素識別値と前記新たなレイアウトの候補の前記要素識別値との間で重複を判断する
請求項１５に記載の情報処理装置。
【請求項１７】
コンピュータを情報処理装置として機能させるためのプログラムであって、
前記情報処理装置は、
複数の基本要素のそれぞれに要素識別値を割り当てる割当部と、
前記複数の基本要素のうちの２以上の基本要素を結合し、結合した前記２以上の基本要素を表す結合要素を生成する生成部と、
前記結合要素に含まれる複数の基本要素のそれぞれに割り当てられた複数の要素識別値を、要素の結合方法に応じた演算により合成して、前記結合要素に対応する１つの要素識別値を算出する算出部と、
を備え、
前記算出部は、
順序を区別する結合方法により２つの要素を結合した場合には、交換法則が成り立たない演算により対応する２つの要素識別値を合成し、
順序を区別しない結合方法により２つの要素を結合した場合には、交換法則が成り立つ演算により対応する２つの要素識別値を合成する
プログラム。
【請求項１８】
複数の基本要素のそれぞれに要素識別値を割り当てる割当ステップと、
前記複数の基本要素のうちの２以上の基本要素を結合し、結合した前記２以上の基本要素を表す結合要素を生成する生成ステップと、
前記結合要素に含まれる複数の基本要素のそれぞれに割り当てられた複数の要素識別値を、要素の結合方法に応じた演算により合成して、前記結合要素に対応する１つの要素識別値を算出する算出ステップと、
を含み、
前記算出ステップでは、
順序を区別する結合方法により２つの要素を結合した場合には、交換法則が成り立たない演算により対応する２つの要素識別値を合成し、
順序を区別しない結合方法により２つの要素を結合した場合には、交換法則が成り立つ演算により対応する２つの要素識別値を合成する
方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の要素の結合結果を識別する情報処理装置、プログラムおよび方法に関する。
【背景技術】
【０００２】
製鉄所では、注文に応じて多様なサイズの平板状の鋼板を製造して出荷している。平板状の鋼板を製造する場合、まず、圧延工程により長尺状の大きな鋼板（大板）を製造する。続いて、大板を注文に応じた各種のサイズの複数の鋼板（小板）に切断する。そして、切断した小板を検査して製品として出荷する。
【０００３】
ここで、大板から複数のサイズの小板を切り出す場合、切断位置のレイアウトによっては製品として用いられない不要な領域が多くなってしまい、歩留まりが悪くなってしまう。従って、製鉄所では、コンピュータにより、大板から複数のサイズの小板を効率良く切り出すことができるレイアウトの組み合わせを算出して、歩留まりを向上させている。このように、効率の良く小板を切り出すことができるレイアウトの組み合わせを算出する処理のことを板取問題と呼ぶ。
【０００４】
特許文献１には、複数の種類の寸法の板状物品を原板から引き当てる方法であって、原板内での板取り可能な板状物品の配置を表す配置パターンを作成し、各配置パターンの評価値および各板状物品の引当残の評価値を与えることにより、最適な配置パターンを選択する方法が記載されている。
【０００５】
特許文献２には、最適面取計画問題において、最小化したい評価項目の目的関数の値を最小化する計画案を導く方法が記載されている。特許文献３には、Ｎ個の被配置物の配置場所を示すＮ×Ｎ個のプロセスユニットのなかから、入力値の大きい順であって且つ被配置物と配置場所が重複しないようにＮ個のプロセスユニットを選択し、選択したプロセスユニットの入力値を変化させて目的とする値を得る方法が記載されている。
［先行技術文献］
［特許文献］
［特許文献１］特開平１１−３９３５８号公報
［特許文献２］特開平７−６１８４号公報
［特許文献３］特開平９−１２８３６２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、効率の良く小板を切り出すことができるレイアウトの組み合わせを算出する場合、コンピュータは、まず、数万または数十万という膨大な数のレイアウトの候補、および、各レイアウトの候補の評価値を生成する。続いて、作成したレイアウトの候補の中から、注文を受けた全ての小板を切り出すことができ、且つ、評価値が高くなる組み合わせの複数のレイアウトを選択する。
【０００７】
しかし、数万または数十万という膨大な数のレイアウトの候補の作成処理においては、作成に費やされる演算コストの大半は、既に生成済みのレイアウトの候補との重複チェック処理となっている。従って、板取問題において演算コストを小さくするには、既に生成済みのレイアウトの候補であるか否かを判定する重複チェックを少ない演算コストで実行することが有効となる。
【課題を解決するための手段】
【０００８】
本発明の第１の態様においては、複数の基本要素のそれぞれに要素識別値を割り当てる割当部と、前記複数の基本要素のうちの２以上の基本要素を結合し、結合した前記２以上の基本要素を表す結合要素を生成する生成部と、前記結合要素に含まれる複数の基本要素のそれぞれに割り当てられた複数の要素識別値を、要素の結合方法に応じた演算により合成して、前記結合要素に対応する１つの要素識別値を算出する算出部と、を備え、前記算出部は、順序を区別する結合方法により２つの要素を結合した場合には、交換法則が成り立たない演算により対応する２つの要素識別値を合成し、順序を区別しない結合方法により２つの要素を結合した場合には、交換法則が成り立つ演算により対応する２つの要素識別値を合成する情報処理装置、プログラムおよび方法を提供する。
【０００９】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【００１０】
【図１】本実施形態に係る鋼板（製品板）の製造フローを示す。
【図２】本実施形態に係る情報処理装置１０の機能構成を示す。
【図３】本実施形態において、材料板から製品板を切り出す手順の一例を示す。
【図４】本実施形態に係る情報処理装置１０のレイアウト生成部１２によるレイアウトの候補の生成方法を示す。
【図５】本実施形態に係るレイアウト生成部１２の機能構成を示す。
【図６】本実施形態に係るレイアウト生成部１２によるレイアウトの候補の生成フローを示す。
【図７】２つの要素識別値を行列積により合成する処理例を示す。
【図８】２つの要素識別値を行列和により合成する処理例を示す。
【図９】レイアウトの候補を生成する場合における、要素識別値の演算処理の一例を示す。
【図１０】含まれる要素のうちの一部の要素の横方向の結合順序が、図９のレイアウトの候補（第４の結合要素Ｐ４）と異なるレイアウトの候補（第６の結合要素Ｐ６）の一例および対応する要素識別値の一例を示す。
【図１１】含まれる要素のうちの一部の要素の縦方向の結合順序が、図９のレイアウトの候補（第４の結合要素Ｐ４）と異なるレイアウトの候補（第７の結合要素Ｐ７）の一例および対応する要素識別値の一例を示す。
【図１２】結合要素に対応する要素識別値をハッシュ値化する演算の一例を示す。
【図１３】順序を区別する結合方法に対応する演算により２つの要素識別値を合成する処理例を示す。
【図１４】順序を区別しない結合方法に対応する演算により２つの要素識別値を合成する処理例を示す。
【図１５】本実施形態に係るコンピュータ１９００のハードウェア構成の一例を示す。
【発明を実施するための形態】
【００１１】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【００１２】
図１は、本実施形態に係る鋼板（製品板）の製造フローを示す。製鉄所は、顧客からの注文に応じて、長方形の平面を有する平板状の鋼板を製造する。なお、顧客の注文に応じて製造される長方形の平面を有する鋼板を製品板という。
【００１３】
製品板を製造する場合、まず、注文を受けた製品板の平面のサイズ（横幅、縦幅）をコンピュータに入力する（Ｓ１１）。続いて、所定数以上の製品板の注文を受けた後に、コンピュータにより、圧延により製造される長尺状の複数の鋼板から、注文を受けた複数の製品板を切り出す位置を示した複数のレイアウトを作成する（Ｓ１２）。なお、圧延により製造される長方形の鋼板を材料板という。
【００１４】
続いて、製鉄所において、作成した複数のレイアウトに示されるサイズの複数の材料板を圧延により製造する（Ｓ１３）。続いて、製鉄所において、複数の材料板のそれぞれを対応するレイアウトに従って切断する（Ｓ１４）。これにより、製鉄所において、注文に従った大きさの複数の製品板を製造することができる。
【００１５】
ここで、ステップＳ１２のレイアウト作成処理は、本実施形態に係る情報処理装置１０により実行される。情報処理装置１０は、コンピュータにより実現される。
【００１６】
本実施形態において、情報処理装置１０は、材料板から製品板を切り出すための切断パターンを表す複数のレイアウトの候補を生成する。そして、情報処理装置１０は、生成した複数のレイアウトの候補から、注文を受けた複数の製品板の全てを歩留まり良く切り出すことができる複数のレイアウトを選択する。
【００１７】
なお、情報処理装置１０は、製鉄所における鋼板の切り出しのためのレイアウトの候補を作成するものに限らず、他の基本要素を結合するアプリケーションに適用してもよい。例えば、情報処理装置１０は、単語または文字列を基本要素として、２以上の基本要素を結合した結合要素（文字列）を生成する装置であってもよい。
【００１８】
図２は、本実施形態に係る情報処理装置１０の機能構成を示す。本実施形態に係る情報処理装置１０は、レイアウト生成部１２と、選択部１４とを備える。
【００１９】
レイアウト生成部１２は、それぞれが製品板の形状及びサイズを表す複数の基本要素を受け取る。なお、本実施形態において、製品板の形状は、長方形である。従って、本実施形態において、基本要素は、長方形の形状及びサイズを表す。レイアウト生成部１２は、一例として、数１００枚の製品板についての基本要素を受け取る。
【００２０】
レイアウト生成部１２は、受け取った複数の基本要素のうち２以上の基本要素を選択して、選択した２以上の基本要素を結合する。そして、レイアウト生成部１２は、結合した２以上の基本要素のそれぞれを材料板から切り出すための切断パターンを表す複数のレイアウトの候補（複数の結合要素）を生成する。なお、本実施形態において、材料板の形状は、長方形である。従って、レイアウト生成部１２は、結合した２以上の基本要素のそれぞれを長方形の材料板から切り出す切断パターンを表す複数のレイアウトの候補（複数の結合要素）を生成する。
【００２１】
レイアウト生成部１２は、一例として、受け取った基本要素の数の１００倍（例えば数万枚）から１０００倍（例えば数十万枚）のレイアウトの候補を生成する。この場合において、レイアウト生成部１２は、等価な切断パターンのレイアウトの候補が２以上含まれないように、重複を排除して複数のレイアウトの候補を生成する。
【００２２】
なお、本例においては、レイアウト生成部１２は、予め定められた切断規則に従った切断パターンを表すレイアウトの候補を生成する。切断規則およびレイアウトの候補の生成方法の一例については、図３および図４を参照して生成する。
【００２３】
選択部１４は、レイアウト生成部１２により生成された複数のレイアウトの候補（複数の結合要素）の中から、注文を受けた複数の製品板（複数の基本要素）の全てを含む複数のレイアウトを選択する。選択部１４は、一例として、選択した複数のレイアウトのサイズの合計を最小化するようなアルゴリズムで複数のレイアウトを選択する。
【００２４】
選択部１４は、一例として、整数計画法を用いて、複数の製品板の全てを含む複数のレイアウトを選択する。この場合において、選択部１４は、レイアウトのサイズの合計を最小化した結果、その合計が現実に最小となっていなくてもよい。即ち、選択部１４は、レイアウトのサイズの合計がより小さくなる解により高い評価を与えるようなアルゴリズムにより、複数のレイアウトを選択すればよい。これにより、情報処理装置１０は、注文を受けた複数の製品板の全てを歩留まり良く切り出すことができる複数のレイアウトを選択することができる。
【００２５】
図３は、本実施形態において、材料板から製品板を切り出す手順の一例を示す。製鉄所において、圧延された長尺状の材料板から複数の製品板を切り出す場合、予め定められた切断規則に従って切断がされる。例えば、本実施形態においては、図３に示されるような切断規則に従って切断がされる。
【００２６】
まず、１回目の切断処理において、材料板を短辺方向に沿って切断する。続いて、２回目の切断処理において、材料板を長辺方向に沿って切断する。そして、３回目の切断処理において、材料板を短辺方向に沿って切断する。情報処理装置１０は、このような切断規則に従ったレイアウトの候補を生成する。
【００２７】
図４は、本実施形態に係る情報処理装置１０のレイアウト生成部１２によるレイアウトの候補の生成方法を示す。レイアウト生成部１２は、製品板の形状およびサイズを表す複数の基本要素を結合して１つのレイアウトの候補（結合要素）を生成する場合、材料板から製品板を切り出す手順とは逆の手順で複数の基本要素同士を結合してレイアウトの候補を生成する。これにより、レイアウト生成部１２は、切断規則に従ったレイアウトの候補を生成することができる。
【００２８】
本実施形態においては、１回目の手順において、レイアウト生成部１２は、複数の基本要素のうちの何れか２以上の要素を例えばランダムに選択し、選択した２以上の要素を任意の一辺の方向である第１方向（例えば横方向）に結合する。そして、レイアウト生成部１２は、結合した状態の２以上の要素のそれぞれを長方形の板から切り出す切断パターン（第１の結合要素）を生成する。レイアウト生成部１２は、１回目の手順において、このような第１の結合要素を複数個生成する。
【００２９】
続いて、２回目の手順において、レイアウト生成部１２は、複数の基本要素および複数の第１の結合要素のうち何れか２以上の要素を例えばランダムに選択し、選択した２以上の要素を第１方向に対して垂直な第２方向（例えば縦方向）に結合する。そして、レイアウト生成部１２は、結合した状態の２以上の要素を長方形の板から切り出す切断パターン（第２の結合要素）を生成する。レイアウト生成部１２は、２回目の手順において、このような第２の結合要素を複数個生成する。
【００３０】
続いて、３回目の手順において、レイアウト生成部１２は、複数の基本要素、複数の第１の結合要素および複数の第２の結合要素のうち何れか２以上の要素を、例えばランダムに選択し、選択した２以上の要素を第１方向に結合する。そして、レイアウト生成部１２は、選択した２以上の要素を長方形の板から切り出す切断パターン（第３の結合要素）を生成する。レイアウト生成部１２は、３回目の手順において、このような第３の結合要素を複数個生成する。
【００３１】
そして、レイアウト生成部１２は、このように生成した第３の結合要素を、複数のレイアウトの候補として出力する。なお、レイアウト生成部１２は、１回目の手順、２回目の手順および３回目の手順の何れにおいても、結合後の形状が材料板の形状内に収まるように結合要素を生成する。また、レイアウトの候補を出力する場合において、レイアウト生成部１２は、生成済みのレイアウトの候補と同一のレイアウトの候補を出力しないように重複排除の処理を行う。
【００３２】
図５は、本実施形態に係るレイアウト生成部１２の機能構成を示す。レイアウト生成部１２は、基本要素記憶部２２と、結合要素記憶部２４と、取込部３２と、割当部３４と、生成部３６と、算出部３８と、ハッシュ値化部４０と、重複検出部４２と、追加部４４とを有する。
【００３３】
基本要素記憶部２２は、複数の基本要素（製品板の形状及びサイズ）およびその基本要素の要素識別値と対応させて記憶する。結合要素記憶部２４は、複数の結合要素（レイアウトの候補）およびその結合要素のハッシュ値化された要素識別値を対応させて記憶する。
【００３４】
取込部３２は、外部から複数の基本要素を取り込み、取り込んだ複数の基本要素を基本要素記憶部２２に記憶させる。本実施形態においては、取込部３２は、複数の製品板のサイズおよび形状を複数の基本要素として取り込んで、基本要素記憶部２２に記憶させる。
【００３５】
割当部３４は、複数の基本要素のそれぞれに対して要素識別値を割り当てる。本実施形態においては、割当部３４は、複数の基本要素のそれぞれに対して、形状及びサイズ毎に固有の要素識別値を割り当る。そして、割当部３４は、複数の基本要素のそれぞれに割り当てた要素識別値を、基本要素に対応させて基本要素記憶部２２に記憶させる。
【００３６】
ここで、割当部３４は、結合法則が成り立ち且つ交換法則が成り立たない演算、および、結合法則が成り立ち且つ交換法則が成り立つ演算のそれぞれにより合成することができる値を、要素識別値として基本要素に割り当てる。本実施形態においては、割当部３４は、正方行列である要素識別値を複数の基本要素のそれぞれに割り当てる。この場合において、割当部３４は、形状及びサイズ毎に、内部の値がランダムな整数値となる正方行列を複数の基本要素のそれぞれに割り当てる。
【００３７】
なお、要素識別値が正方行列である場合、結合法則が成り立ち且つ交換法則が成り立たない演算の一例は、行列積である。また、要素識別値が正方行列である場合、結合法則が成り立ち且つ交換法則が成り立つ演算の一例は、行列和である。割当部３４は、四元数を要素識別値として、複数の基本要素のそれぞれに割り当ててもよい。
【００３８】
生成部３６は、複数の基本要素のうちの２以上の基本要素を結合し、結合した２以上の基本要素を表す複数の結合要素を生成する。本実施形態においては、生成部３６は、それぞれが製品板を表す複数の基本要素のうちの２以上の基本要素を結合し、結合した２以上の基本要素のそれぞれを材料板から切り出す切断パターンを表す複数のレイアウトの候補（複数の結合要素）を生成する。なお、生成部３６は、一例として、図４に示した手順により複数のレイアウトの候補を生成する。
【００３９】
算出部３８は、生成部３６により生成される複数のレイアウトの候補（複数の結合要素）のそれぞれに対して、対応する要素識別値を生成する。この場合において、算出部３８は、レイアウトの候補（結合要素）に含まれる複数の基本要素のそれぞれに割り当てられた複数の要素識別値を、要素の結合方法に応じた演算により合成して、レイアウトの候補（結合要素）に対応する１つの要素識別値を算出する。
【００４０】
より具体的には、算出部３８は、順序を区別する結合方法により２つの要素を結合した場合には、結合法則が成り立ち且つ交換法則が成り立たない演算により対応する２つの要素識別値を合成する。本実施形態においては、要素識別値が正方行列であるので、算出部３８は、順序を区別する結合方法により２つの要素を結合した場合には、行列積により対応する２つの要素識別値を合成する。なお、この場合における演算方法の一例については、図７を参照して更に説明する。
【００４１】
また、算出部３８は、順序を区別しない結合方法により２つの要素を結合した場合には、結合法則が成り立ち且つ交換法則が成り立つ演算により対応する２つの要素識別値を合成する。本実施形態においては、要素識別値が正方行列であるので、算出部３８は、順序を区別しない結合方法により２つの要素を結合した場合には、行列和により対応する２つの要素識別値を合成する。なお、この場合における演算方法の一例については、図８を参照して更に説明する。
【００４２】
このように算出部３８により算出されたレイアウトの候補（結合要素）に対応する要素識別値は、同一の切断パターンの場合には、同一値となる。また、レイアウトの候補（結合要素）に対応する要素識別値は、順序を区別しない方法により結合された要素同士が入れ替わっている場合にも、レイアウトとして等価であるので、同一値となる。なお、生成された要素識別値の特徴については、図９〜図１１を参照して更に説明する。
【００４３】
ハッシュ値化部４０は、複数のレイアウトの候補（複数の結合要素）のそれぞれの要素識別値を、予め定められた規則によりハッシュ値に変換する。ハッシュ値化部４０は、一例として、正方行列である要素識別値を予め定められた規則でスカラー値に変換して、要素識別値をハッシュ値化する。なお、ハッシュ値化の方法の一例については、図１２を参照して更に説明する。
【００４４】
重複検出部４２は、複数のレイアウトの候補（複数の結合要素）のそれぞれのハッシュ値化された要素識別値に基づき、複数の結合要素のうち重複する結合要素を検出する。より詳しくは、重複検出部４２は、生成部３６により新たにレイアウトの候補（結合要素）が生成されたことに応じて、新たに生成されたレイアウトの候補（結合要素）に対応するハッシュ値化された要素識別値をハッシュ値化部４０から受け取る。
【００４５】
重複検出部４２は、ハッシュ値化部４０から受け取ったハッシュ値化された要素識別値と、既に生成されて結合要素記憶部２４に記憶された複数のレイアウトの候補（結合要素）に対応するハッシュ値化された要素識別値と比較して、一致しているか否かを判断する。重複検出部４２は、一致していれば、新たなレイアウトの候補（結合要素）が、既に生成されて結合要素記憶部２４に記憶されている複数のレイアウトの候補（結合要素）と重複していると判断する。
【００４６】
なお、重複検出部４２は、ハッシュ値化部４０から受け取ったハッシュ値化された要素識別値と、既に生成されて結合要素記憶部２４に記憶された複数のレイアウトの候補（結合要素）に対応するハッシュ値化された要素識別値とが一致している場合には、ハッシュ値化された要素識別値が一致しているレイアウトの候補（結合要素）同士の構成を更に詳細に解析して、構成が一致しているか否かを判断してもよい。重複検出部４２は、一例として、ハッシュ値化された要素識別値が一致しているレイアウトの候補（結合要素）に含まれる基本要素の内容および要素の結合方法を解析して、レイアウトの候補（結合要素）同士が一致しているか否かを更に判断してもよい。
【００４７】
また、本実施形態において、結合要素記憶部２４は、含まれている製品板の枚数を複数のレイアウトの候補のそれぞれに対応させて記憶してもよい。この場合、まず、重複検出部４２は、生成部３６により生成された新たなレイアウトの候補に含まれる製品板の枚数を検出する。そして、重複検出部４２は、検出した枚数と同一枚数の製品板を含むレイアウトの候補を結合要素記憶部２４から抽出し、抽出したレイアウトの候補に対応する要素識別値と新たなレイアウトの候補の要素識別値との間で重複を判断する。これにより、重複検出部４２は、レイアウトの候補の重複検出を効率良く実行することができる。
【００４８】
追加部４４は、生成部３６により生成された新たなレイアウトの候補（結合要素）の要素識別値と結合要素記憶部２４に記憶されているレイアウトの候補（結合要素）の要素識別値とが重複しないと判断されたことを条件として、新たなレイアウトの候補（結合要素）および対応する要素識別値を結合要素記憶部２４に追加して記憶させる。
【００４９】
図６は、本実施形態に係るレイアウト生成部１２によるレイアウトの候補の生成フローを示す。レイアウト生成部１２は、図６に示されるステップＳ２１〜ステップＳ２９の処理を実行する。
【００５０】
まず、ステップＳ２１において、取込部３２は、複数の製品板のサイズおよび形状を複数の基本要素として取り込む。続いて、ステップＳ２２において、割当部３４は、複数の基本要素のそれぞれに対して、形状及びサイズ毎に、固有の正方行列の要素識別値を割り当る。
【００５１】
続いて、レイアウト生成部１２は、ステップＳ２４からステップＳ２８までの処理を繰り返して実行する（ステップＳ２３とステップＳ２９との間のループ処理）。ループ処理内においては、まず、ステップＳ２４において、生成部３６は、一枚のレイアウトの候補（結合要素）を生成する。生成部３６は、一例として、図４に示した手順によりレイアウトの候補を生成する。
【００５２】
続いて、ステップＳ２５において、算出部３８は、ステップＳ２４で生成されたレイアウトの候補（結合要素）の要素識別値を算出する。この場合において、算出部３８は、レイアウトの候補（結合要素）に含まれる複数の基本要素のそれぞれに割り当てられた複数の要素識別値を、要素の結合方法に応じた演算により合成して、レイアウトの候補に対応する要素識別値を算出する。
【００５３】
本実施形態においては、算出部３８は、順序を区別する結合方法により２つの要素を結合した場合には、行列積により対応する２つの要素識別値を合成する。また、算出部３８は、順序を区別しない結合方法により２つの要素を結合した場合には、行列和により対応する２つの要素識別値を合成する。
【００５４】
続いて、ステップＳ２６において、ハッシュ値化部４０は、ステップＳ２５で算出した要素識別値を、予め定められた規則によりハッシュ値に変換する。続いて、ステップＳ２７において、重複検出部４２は、ステップＳ２４で生成されたレイアウトの候補が、これまでの処理において既に生成された１または複数のレイアウトの候補と重複するか否かを判断する。より具体的には、重複検出部４２は、ステップＳ２６で算出されたハッシュ値化された要素識別値と、既に生成された１または複数のレイアウトの候補のハッシュ値化された要素識別値とが一致する場合には、重複すると判断する。また、重複検出部４２は、一致しない場合には重複しないと判断する。
【００５５】
重複すると判断する場合（ステップＳ２７のＹｅｓ）、重複検出部４２は、ステップＳ２４で生成した新たなレイアウトの候補を破棄して、処理をステップＳ２９に進める。重複しないと判断する場合（ステップＳ２７のＮｏ）、重複検出部４２は、処理をステップＳ２８に進める。ステップＳ２８において、追加部４４は、ステップＳ２４で生成したレイアウトの候補（結合要素）およびステップＳ２６で算出したハッシュ値化した要素識別値を結合要素記憶部２４内に追加する。そして、追加部４４は、追加が完了した後、処理をステップＳ２９に進める。
【００５６】
ステップＳ２９において、レイアウト生成部１２は、レイアウトの候補の作成処理を終了するか否かを判断する。レイアウト生成部１２は、一例として、予め定められた数（例えば、数万から数十万）のレイアウトの候補を作成した場合、または、予め定められた時間が経過した場合に、レイアウトの候補の作成処理を終了すると判断する。レイアウト生成部１２は、レイアウトの候補の作成処理を終了しないと判断した場合には、処理をステップＳ２４に戻し、ステップＳ２４からステップＳ２８の処理を繰り返す。
【００５７】
以上のステップＳ２１からステップＳ２９の処理を実行することにより、レイアウト生成部１２は、互いに重複しない複数のレイアウトの候補を作成することができる。
【００５８】
図７は、２つの要素識別値を行列積により合成する処理例を示す。例えば、２行２列の正方行列で表された要素識別値が各要素に割り当てられているとする。この場合において、２つの要素を互いの順序を区別する結合方法により結合した場合には、図７に示されるように、算出部３８は、行列積により、２つの要素に対応する２つの要素識別値を合成する。この結果、算出部３８は、行列積により、２行２列の正方行列を結合要素の要素識別値として得ることができる。
【００５９】
図８は、２つの要素識別値を行列和により合成する処理例を示す。例えば、２行２列の正方行列で表された要素識別値が各要素に割り当てられているとする。この場合において、２つの要素を互いの順序を区別しない結合方法により結合した場合には、図８に示されるように、算出部３８は、行列和により、２つの要素に対応する２つの要素識別値を合成する。この結果、算出部３８は、行列和により、２行２列の正方行列を結合要素の要素識別値として得ることができる。
【００６０】
以上のように行列積および行列和を用いることにより、合成前の要素識別値と行数および列数が同一の正方行列を得ることができる。これにより、算出部３８は、結合要素を更に他の要素と結合した場合において、算出部３８は、合成結果として得られた要素識別値に基づき、新たな結合要素の要素識別値を算出することができる。
【００６１】
なお、算出部３８は、行列積または行列和の演算した後、行列内の各値を予め定められた桁以下の値に丸めた要素識別値としてもよい。これにより、算出部３８は、行列積または行列和の演算をしてオーバーフローをしてしまうことを回避することができる。
【００６２】
図９は、レイアウトの候補を生成する場合における、要素識別値の演算処理の一例を示す。例えば、製鉄所において長尺状に圧延された板を短辺方向に切断して鋼板を切り出す場合、切断位置が変わってもコストに変わりは無い。これに対して、製鉄所において長尺状に圧延された板を長手方向に切断して鋼板を切り出す場合、端側から鋼板を切り出すのは困難である等の事情から、切断位置によってコストが変る場合がある。
【００６３】
そこで、図９の例においては、生成部３６は、製品板を横方向（圧延した長尺状の板の長手方向）に突き当てて結合する場合には、結合する製品板の順序を区別せずにレイアウトの候補を生成する。これに対して、生成部３６は、製品板を縦方向（圧延した長尺状の板の短辺方向）に突き当てて結合する場合には、結合する製品板の順序を区別してレイアウトの候補を生成する。
【００６４】
そして、算出部３８は、生成部３６が２つの要素を横方向に結合した場合には、当該２つの要素に割り当てられた２つの要素識別値（行列）を行列和の演算により合成して、結合要素の要素識別値を算出する。また、算出部３８は、生成部３６が２つの要素を縦方向に結合した場合には、当該２つの要素に割り当てられた２つの要素識別値（行列）を対応する２つの要素の並び順どおりに行列積の演算により合成して、結合要素の要素識別値を算出する。
【００６５】
図９には、第１から第４の基本要素ａ、ｂ、ｃ、ｄを組み合わせてレイアウトの候補（結合要素）を生成する例が示されている。第１の基本要素ａには、２行２列の行列Ａが要素識別値として割り当てられている。第２の基本要素ｂには、２行２列の行列Ｂが要素識別値として割り当てられている。第３の基本要素ｃには、２行２列の行列Ｃが要素識別値として割り当てられている。第４の基本要素ｄには、２行２列の行列Ｄが要素識別値として割り当てられている。
【００６６】
また、図９の例においては、第１から第５の結合要素ｐ１，ｐ２，ｐ３，ｐ４，ｐ５が生成されている。そして、これらの中の第４の結合要素ｐ４および第５のレイアウトの候補ｐ５とされている。
【００６７】
第１の結合要素ｐ１は、第１の基本要素ａと第２の基本要素ｂとを横方向に結合して形成されている。従って、算出部３８は、要素識別値Ａと要素識別値Ｂとの行列和（Ａ＋Ｂ）を演算して、第１の結合要素ｐ１の要素識別値Ｐ１を生成する。第２の結合要素ｐ２は、第３の基本要素ｃと第４の基本要素ｄとを縦方向に結合して形成されている。従って、算出部３８は、要素識別値Ｃと要素識別値Ｄとの行列積（Ｃ×Ｄ）を演算して、第２の結合要素ｐ２の要素識別値Ｐ２を生成する。
【００６８】
また、第３の結合要素ｐ３は、第２の基本要素ｂと第２の結合要素ｐ２とを横方向に結合して形成されている。従って、算出部３８は、要素識別値Ｂと要素識別値Ｐ２との行列和（Ｂ＋Ｐ２）を演算して、第３の結合要素ｐ３の要素識別値Ｐ３を生成する。
【００６９】
また、第４の結合要素ｐ４は、第１の基本要素ａと第３の結合要素ｐ３とを横方向に結合して形成されている。従って、算出部３８は、要素識別値Ａと要素識別値Ｐ３との行列和（Ａ＋Ｐ３）を演算して、第４の結合要素ｐ４の要素識別値Ｐ４を生成する。
【００７０】
また、第５の結合要素ｐ５は、第１の結合要素ｐ１と第２の結合要素ｐ２とを横方向に結合して形成されている。従って、算出部３８は、要素識別値Ｐ１と要素識別値Ｐ２との行列和（Ｐ１＋Ｐ２）を演算して、第５の結合要素ｐ５の要素識別値Ｐ４を生成する。
【００７１】
ここで、第４の結合要素ｐ４と第５の結合要素ｐ５とは、生成過程は異なっているが、含まれる複数の基本要素の配置は同一である。行列積および行列和は、結合法則が成り立つ演算である。このため、生成過程が異なっていても、含まれる複数の基本要素の配置が同一であれば、算出部３８は、結合要素の要素識別値が同一となる。
【００７２】
従って、第４の結合要素ｐ４の要素識別値Ｐ４、および、第５の結合要素ｐ５の要素識別値Ｐ５は、同一となる。この結果、重複検出部４２は、このような生成過程が異なっているが含まれる複数の基本要素の配置が同一の複数のレイアウトの候補のうち、一方を排除することができる。
【００７３】
図１０は、含まれる要素のうちの一部の要素の横方向の結合順序が、図９のレイアウトの候補（第４の結合要素Ｐ４）と異なるレイアウトの候補（第６の結合要素Ｐ６）の一例および対応する要素識別値の一例を示す。図１０に示される第６の結合要素ｐ６は、図９の第４の結合要素ｐ４と比較した場合、含まれる要素のうちの一部の要素の横方向の結合順序が異なるが、含まれる要素の縦方向の結合順序は同一である。
【００７４】
本例においては、算出部３８は、２つの要素を横方向に結合した場合には、行列和（結合法則が成り立ち且つ交換法則が成り立つ演算）により２つの要素識別値を合成する。従って、含まれている要素の横方向の結合順序のみが異なる結合要素同士は、要素識別値が同一となる。このため、図１０に示される第６の結合要素ｐ６の要素識別値Ｐ６、および、図９に示される第４の結合要素ｐ４の要素識別値Ｐ４は、同一となる。この結果、重複検出部４２は、含まれている要素の横方向の結合順序のみが異なる複数のレイアウトの候補のうち、一方を排除することができる。
【００７５】
図１１は、含まれる要素のうちの一部の要素の縦方向の結合順序が、図９のレイアウトの候補（第４の結合要素Ｐ４）と異なるレイアウトの候補（第７の結合要素Ｐ７）の一例および対応する要素識別値の一例を示す。図１１に示される第７の結合要素ｐ７は、図９の第４の結合要素ｐ４と比較した場合、含まれる要素のうちの一部の要素の縦方向の結合順序が異なる。
【００７６】
本例においては、算出部３８は、２つの要素を縦方向に結合した場合には、行列積（結合法則が成り立ち且つ交換法則が成り立たない演算）により２つの要素識別値を合成する。従って、含まれている要素の縦方向の結合順序が異なる結合要素同士は、要素識別値が異なる。このため、図１１に示される第７の結合要素ｐ７の要素識別値Ｐ７、および、図９に示される第４の結合要素ｐ４の要素識別値Ｐ４は、異なる。この結果、重複検出部４２は、含まれている要素の縦方向の結合順序が異なる複数のレイアウトの候補を、それぞれ排除せずに登録させることができる。
【００７７】
図１２は、行列の要素識別値をハッシュ値化する演算の一例を示す。ハッシュ値化部４０は、算出部３８により生成された要素識別値をハッシュ値化する。
【００７８】
要素識別値が例えば２行２列の行列である場合、ハッシュ値化部４０は、一例として、図１２に示されるように、１行１列の値（ｘ１１）に１を乗じ、２行１列の値（ｘ２１）に１０を乗じ、１行２列の値（ｘ１２）に１００を乗じ、２行２列の値（ｘ２２）に１０００を乗じて、これらを加算する。なお、ハッシュ値化部４０は、このような演算方法に限らず、要素識別値をどのような演算方法によりハッシュ値化してもよい。
【００７９】
図１３は、順序を区別する結合方法に対応する演算により２つの要素識別値を合成する処理例を示す。下記の式（１１）に示される行列演算は、結合法則が成り立つ。また、式（１１）に示される行列演算は、交換法則が成り立たない。
【００８０】
【数１】
2015035006.tif 000003
【００８１】
従って、行列の要素識別値が各要素に割り当てられた場合において、順序を区別する結合方法により２つの要素を結合した場合には、算出部３８は、式（１１）に示される行列演算により対応する２つの要素識別値を合成してもよい。
【００８２】
なお、順序を区別して結合する方向が２つある場合、算出部３８は、それぞれの方向に対応して演算の種類を区別して要素識別値を合成しなければならない。例えば、立体を表す要素を結合する場合に上下方向（第１方向）の結合および縦方向（第２方向）の結合順序を区別する場合において、算出部３８は、第１方向への結合に対応して行列積により要素識別値を合成し、第２方向への結合に対応して式（１１）に示される演算により要素識別値を合成する。
【００８３】
図１４は、順序を区別しない結合方法に対応する演算により２つの要素識別値を合成する処理例を示す。下記の式（１２）に示される行列演算は、結合法則が成り立つ。また、式（１２）に示される行列演算は、交換法則が成り立つ。
【数２】
2015035006.tif 000004
【００８４】
従って、行列の要素識別値が各要素に割り当てられた場合において、順序を区別しない結合方法により２つの要素を結合した場合には、算出部３８は、式（１２）に示される行列演算により対応する２つの要素識別値を合成してもよい。
【００８５】
なお、順序を区別せずに結合する方向が２つある場合、算出部３８は、それぞれの方向に対応して演算の種類を区別して要素識別値を合成してもよい。例えば、立体を表す要素を結合する場合に上下方向（第１方向）の結合および縦方向（第２方向）の結合順序を区別しない場合において、算出部３８は、第１方向への結合に対応して行列和により要素識別値を合成し、第２方向への結合に対応して式（１２）に示される演算により要素識別値を合成する。
【００８６】
図１５は、本実施形態に係るコンピュータ１９００のハードウェア構成の一例を示す。本実施形態に係るコンピュータ１９００は、ホスト・コントローラ２０８２により相互に接続されるＣＰＵ２０００、ＲＡＭ２０２０、グラフィック・コントローラ２０７５、及び表示装置２０８０を有するＣＰＵ周辺部と、入出力コントローラ２０８４によりホスト・コントローラ２０８２に接続される通信インターフェイス２０３０、ハードディスクドライブ２０４０、及びＣＤ−ＲＯＭドライブ２０６０を有する入出力部と、入出力コントローラ２０８４に接続されるＲＯＭ２０１０、フレキシブルディスク・ドライブ２０５０、及び入出力チップ２０７０を有するレガシー入出力部とを備える。
【００８７】
ホスト・コントローラ２０８２は、ＲＡＭ２０２０と、高い転送レートでＲＡＭ２０２０をアクセスするＣＰＵ２０００及びグラフィック・コントローラ２０７５とを接続する。ＣＰＵ２０００は、ＲＯＭ２０１０及びＲＡＭ２０２０に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィック・コントローラ２０７５は、ＣＰＵ２０００等がＲＡＭ２０２０内に設けたフレーム・バッファ上に生成する画像データを取得し、表示装置２０８０上に表示させる。これに代えて、グラフィック・コントローラ２０７５は、ＣＰＵ２０００等が生成する画像データを格納するフレーム・バッファを、内部に含んでもよい。
【００８８】
入出力コントローラ２０８４は、ホスト・コントローラ２０８２と、比較的高速な入出力装置である通信インターフェイス２０３０、ハードディスクドライブ２０４０、ＣＤ−ＲＯＭドライブ２０６０を接続する。通信インターフェイス２０３０は、ネットワークを介して他の装置と通信する。ハードディスクドライブ２０４０は、コンピュータ１９００内のＣＰＵ２０００が使用するプログラム及びデータを格納する。ＣＤ−ＲＯＭドライブ２０６０は、ＣＤ−ＲＯＭ２０９５からプログラム又はデータを読み取り、ＲＡＭ２０２０を介してハードディスクドライブ２０４０に提供する。
【００８９】
また、入出力コントローラ２０８４には、ＲＯＭ２０１０と、フレキシブルディスク・ドライブ２０５０、及び入出力チップ２０７０の比較的低速な入出力装置とが接続される。ＲＯＭ２０１０は、コンピュータ１９００が起動時に実行するブート・プログラム、及び／又は、コンピュータ１９００のハードウェアに依存するプログラム等を格納する。フレキシブルディスク・ドライブ２０５０は、フレキシブルディスク２０９０からプログラム又はデータを読み取り、ＲＡＭ２０２０を介してハードディスクドライブ２０４０に提供する。入出力チップ２０７０は、フレキシブルディスク・ドライブ２０５０を入出力コントローラ２０８４へと接続すると共に、例えばパラレル・ポート、シリアル・ポート、キーボード・ポート、マウス・ポート等を介して各種の入出力装置を入出力コントローラ２０８４へと接続する。
【００９０】
ＲＡＭ２０２０を介してハードディスクドライブ２０４０に提供されるプログラムは、フレキシブルディスク２０９０、ＣＤ−ＲＯＭ２０９５、又はＩＣカード等の記録媒体に格納されて利用者によって提供される。プログラムは、記録媒体から読み出され、ＲＡＭ２０２０を介してコンピュータ１９００内のハードディスクドライブ２０４０にインストールされ、ＣＰＵ２０００において実行される。
【００９１】
コンピュータ１９００にインストールされ、コンピュータ１９００を、情報処理装置１０として機能させるプログラムは、グループ生成モジュールと、選択モジュールとを備える。グループ生成モジュールは、基本要素記憶モジュールと、結合要素記憶モジュールと、取込モジュールと、割当モジュールと、生成モジュールと、算出モジュールと、ハッシュ値化モジュールと、重複検出モジュールと、追加モジュールとを有する。これらのプログラム又はモジュールは、ＣＰＵ２０００等に働きかけて、コンピュータ１９００を、基本要素記憶部２２、結合要素記憶部２４、取込部３２、割当部３４、生成部３６、算出部３８、ハッシュ値化部４０、重複検出部４２および追加部４４を有するレイアウト生成部１２と、選択部１４としてそれぞれ機能させる。
【００９２】
これらのプログラムに記述された情報処理は、コンピュータ１９００に読込まれることにより、ソフトウェアと上述した各種のハードウェア資源とが協働した具体的手段である、レイアウト生成部１２および選択部１４として機能する。そして、これらの具体的手段によって、本実施形態におけるコンピュータ１９００の使用目的に応じた情報の演算又は加工を実現することにより、使用目的に応じた特有の情報処理装置１０が構築される。
【００９３】
一例として、コンピュータ１９００と外部の装置等との間で通信を行う場合には、ＣＰＵ２０００は、ＲＡＭ２０２０上にロードされた通信プログラムを実行し、通信プログラムに記述された処理内容に基づいて、通信インターフェイス２０３０に対して通信処理を指示する。通信インターフェイス２０３０は、ＣＰＵ２０００の制御を受けて、ＲＡＭ２０２０、ハードディスクドライブ２０４０、フレキシブルディスク２０９０、又はＣＤ−ＲＯＭ２０９５等の記憶装置上に設けた送信バッファ領域等に記憶された送信データを読み出してネットワークへと送信し、もしくは、ネットワークから受信した受信データを記憶装置上に設けた受信バッファ領域等へと書き込む。このように、通信インターフェイス２０３０は、ＤＭＡ（ダイレクト・メモリ・アクセス）方式により記憶装置との間で送受信データを転送してもよく、これに代えて、ＣＰＵ２０００が転送元の記憶装置又は通信インターフェイス２０３０からデータを読み出し、転送先の通信インターフェイス２０３０又は記憶装置へとデータを書き込むことにより送受信データを転送してもよい。
【００９４】
また、ＣＰＵ２０００は、ハードディスクドライブ２０４０、ＣＤ−ＲＯＭドライブ２０６０（ＣＤ−ＲＯＭ２０９５）、フレキシブルディスク・ドライブ２０５０（フレキシブルディスク２０９０）等の外部記憶装置に格納されたファイルまたはデータベース等の中から、全部または必要な部分をＤＭＡ転送等によりＲＡＭ２０２０へと読み込ませ、ＲＡＭ２０２０上のデータに対して各種の処理を行う。そして、ＣＰＵ２０００は、処理を終えたデータを、ＤＭＡ転送等により外部記憶装置へと書き戻す。このような処理において、ＲＡＭ２０２０は、外部記憶装置の内容を一時的に保持するものとみなせるから、本実施形態においてはＲＡＭ２０２０および外部記憶装置等をメモリ、記憶部、または記憶装置等と総称する。本実施形態における各種のプログラム、データ、テーブル、データベース等の各種の情報は、このような記憶装置上に格納されて、情報処理の対象となる。なお、ＣＰＵ２０００は、ＲＡＭ２０２０の一部をキャッシュメモリに保持し、キャッシュメモリ上で読み書きを行うこともできる。このような形態においても、キャッシュメモリはＲＡＭ２０２０の機能の一部を担うから、本実施形態においては、区別して示す場合を除き、キャッシュメモリもＲＡＭ２０２０、メモリ、及び／又は記憶装置に含まれるものとする。
【００９５】
また、ＣＰＵ２０００は、ＲＡＭ２０２０から読み出したデータに対して、プログラムの命令列により指定された、本実施形態中に記載した各種の演算、情報の加工、条件判断、情報の検索・置換等を含む各種の処理を行い、ＲＡＭ２０２０へと書き戻す。例えば、ＣＰＵ２０００は、条件判断を行う場合においては、本実施形態において示した各種の変数が、他の変数または定数と比較して、大きい、小さい、以上、以下、等しい等の条件を満たすかどうかを判断し、条件が成立した場合（又は不成立であった場合）に、異なる命令列へと分岐し、またはサブルーチンを呼び出す。
【００９６】
また、ＣＰＵ２０００は、記憶装置内のファイルまたはデータベース等に格納された情報を検索することができる。例えば、第１属性の属性値に対し第２属性の属性値がそれぞれ対応付けられた複数のエントリが記憶装置に格納されている場合において、ＣＰＵ２０００は、記憶装置に格納されている複数のエントリの中から第１属性の属性値が指定された条件と一致するエントリを検索し、そのエントリに格納されている第２属性の属性値を読み出すことにより、所定の条件を満たす第１属性に対応付けられた第２属性の属性値を得ることができる。
【００９７】
以上に示したプログラム又はモジュールは、外部の記録媒体に格納されてもよい。記録媒体としては、フレキシブルディスク２０９０、ＣＤ−ＲＯＭ２０９５の他に、ＤＶＤ又はＣＤ等の光学記録媒体、ＭＯ等の光磁気記録媒体、テープ媒体、ＩＣカード等の半導体メモリ等を用いることができる。また、専用通信ネットワーク又はインターネットに接続されたサーバシステムに設けたハードディスク又はＲＡＭ等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムをコンピュータ１９００に提供してもよい。
【００９８】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【００９９】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【０１００】
１０  情報処理装置
１２  レイアウト生成部
１４  選択部
２２  基本要素記憶部
２４  結合要素記憶部
３２  取込部
３４  割当部
３６  生成部
３８  算出部
４０  ハッシュ値化部
４２  重複検出部
４４  追加部
１９００  コンピュータ
２０００  ＣＰＵ
２０１０  ＲＯＭ
２０２０  ＲＡＭ
２０３０  通信インターフェイス
２０４０  ハードディスクドライブ
２０５０  フレキシブルディスク・ドライブ
２０６０  ＣＤ−ＲＯＭドライブ
２０７０  入出力チップ
２０７５  グラフィック・コントローラ
２０８０  表示装置
２０８２  ホスト・コントローラ
２０８４  入出力コントローラ
２０９０  フレキシブルディスク
２０９５  ＣＤ−ＲＯＭ
【図１】
2015035006.tif 000007
【図２】
2015035006.tif 000008
【図３】
2015035006.tif 000009
【図４】
2015035006.tif 000010
【図５】
2015035006.tif 000011
【図６】
2015035006.tif 000012
【図７】
2015035006.tif 000013
【図８】
2015035006.tif 000014
【図９】
2015035006.tif 000015
【図１０】
2015035006.tif 000016
【図１１】
2015035006.tif 000017
【図１２】
2015035006.tif 000018
【図１３】
2015035006.tif 000019
【図１４】
2015035006.tif 000020
【図１５】
2015035006.tif 000021