(57)【要約】【課題】並列度における評価を用いて、変換器の遺伝的処理を高速化する。【解決手段】入力データを処理して処理結果を出力データとして出力する複数の処理部品を含む少なくとも１つの変換器から、遺伝的処理により新たな変換器を生成する生成部と、それぞれの前記変換器について、並列処理可能な度合を示す並列度を算出する並列度算出部と、それぞれの前記変換器についての前記並列度に基づいて、それぞれの前記変換器の評価値を算出する評価値算出部と、前記評価値に基づいて、前記変換器を選定する選定部を備える遺伝的処理装置、並びに当該遺伝的処理装置に関する遺伝的処理方法および遺伝的処理プログラムを提供する。【選択図】図１
2010257233.tif 000002
【特許請求の範囲】
【請求項１】
入力データを処理して処理結果を出力データとして出力する複数の処理部品を含む少なくとも１つの変換器から、遺伝的処理により新たな変換器を生成する生成部と、
それぞれの前記変換器について、並列処理可能な度合を示す並列度を算出する並列度算出部と、
それぞれの前記変換器についての前記並列度に基づいて、それぞれの前記変換器の評価値を算出する評価値算出部と、
前記評価値に基づいて、前記変換器を選定する選定部と、
を備える遺伝的処理装置。
【請求項２】
前記並列度算出部は、それぞれの前記変換器について、並列処理可能な前記処理部品の数を示す前記並列度を算出する
請求項１に記載の遺伝的処理装置。
【請求項３】
前記並列度算出部は、それぞれの前記変換器について、予め指定された最大並列度を上限とする前記並列度を算出する
請求項１または２に記載の遺伝的処理装置。
【請求項４】
前記並列度算出部は、それぞれの前記変換器の処理において並列処理可能な度合が変化する場合に、前記変換器の処理における平均の前記並列度を算出する
請求項１から３のいずれかに記載の遺伝的処理装置。
【請求項５】
それぞれの前記変換器について、学習用入力データから学習用目標データへの変換に対する適合度を算出する適合度算出部を備え、
前記評価値算出部は、それぞれの前記変換器についての前記並列度および前記適合度に基づいて、それぞれの前記変換器の前記評価値を算出する
請求項１から４のいずれかに記載の遺伝的処理装置。
【請求項６】
前記評価値算出部は、前記適合度および前記並列度に対して単調非減少である前記評価値を算出する
請求項５に記載の遺伝的処理装置。
【請求項７】
前記適合度算出部は、
処理対象の前記変換器に対して前記学習用入力データを入力して、当該変換器に含まれる複数の前記処理部品の処理を実行することにより、前記変換器の処理結果データを求める処理実行部と、
前記処理結果データと前記学習用目標データとの差分から前記適合度を求める差分演算部と、
を有し、
前記評価値算出部は、それぞれの前記変換器について、当該変換器に含まれる複数の前記処理部品の処理を実行したときの処理負荷を前記処理実行部から取得する
請求項５または６に記載の遺伝的処理装置。
【請求項８】
前記評価値算出部は、それぞれの前記変換器について、前記変換器に含まれる前記処理部品の数に更に基づいて、前記評価値を算出する
請求項１から７のいずれかに記載の遺伝的処理装置。
【請求項９】
前記評価値算出部は、それぞれの前記変換器について、前記変換器に含まれる前記処理部品の処理負荷に更に基づいて、前記評価値を算出する
請求項１から８のいずれかに記載の遺伝的処理装置。
【請求項１０】
前記生成部は、入力画像を出力画像にそれぞれ変換する複数のフィルタ部品を前記複数の処理部品とし、当該複数のフィルタ部品の入出力間を組み合わせた少なくとも１つの画像フィルタを前記少なくとも１つの変換器として、遺伝的処理により新たな画像フィルタを生成する
請求項１から９のいずれかに記載の遺伝的処理装置。
【請求項１１】
遺伝的処理装置として、コンピュータを機能させる遺伝的処理プログラムであって、
前記コンピュータを、
入力データを処理して処理結果を出力データとして出力する複数の処理部品を含む少なくとも１つの変換器から、遺伝的処理により新たな変換器を生成する生成部と、
それぞれの前記変換器について、並列処理可能な度合を示す並列度を算出する並列度算出部と、
それぞれの前記変換器についての前記並列度に基づいて、それぞれの前記変換器の評価値を算出する評価値算出部と、
前記評価値に基づいて、前記変換器を選定する選定部と
して機能させる遺伝的処理プログラム。
【請求項１２】
入力データを処理して処理結果を出力データとして出力する複数の処理部品を含む少なくとも１つの変換器から、遺伝的処理により新たな変換器を生成する生成ステップと、
それぞれの前記変換器について、並列処理可能な度合を示す並列度を算出する並列度算出ステップと、
それぞれの前記変換器についての前記並列度に基づいて、それぞれの前記変換器の評価値を算出する評価値算出ステップと、
前記評価値に基づいて、前記変換器を選定する選定ステップと
を備える遺伝的処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、遺伝的処理装置、遺伝的処理方法、および遺伝的処理プログラムに関する。
【背景技術】
【０００２】
遺伝的アルゴリズムまたは遺伝的プログラミングといった進化的計算を用いたフィルタまたは変換器の生成方法が知られている（特許文献１、非特許文献１参照）。このような進化的計算を用いたフィルタまたは変換器の生成方法によれば、それぞれの事例に対して最適であって解析的に得ることが困難な複雑な構造のフィルタまたは変換器を、より少ない労力と時間で設計することができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−１５８２４号公報
【非特許文献】
【０００４】
【非特許文献１】前薗正宜  他２名、「遺伝的アルゴリズムによる画像フィルタ設計の研究」、［ｏｎｌｉｎｅ］、コンピュータ利用教育協議会、［２００８年３月２０日検索］、インターネット＜URL：http://www.ciec.or.jp/event/2003/papers/pdf/E00086.pdf＞
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、このように進化的計算により変換器を生成する場合、目的の変換器が得られるまでに変換器の世代交代を繰り返す。各世代においては、変換対象データを複数の変換器のそれぞれにより変換して複数の出力データを生成し、出力データと目標データとを比較する。そして、より目標データと適合した出力データが得られる変換器を選択して、次世代へ生存させる。以上のようにして生成した変換器は、実際のアプリケーションにおいて高速に処理できることが望ましい。
【０００６】
そこで本発明は、上記の課題を解決することのできる遺伝的処理装置、遺伝的処理方法および遺伝的処理プログラムを提供することを目的とする。この目的は特許請求の範囲における独立項に記載の特徴の組み合わせにより達成される。また従属項は本発明の更なる有利な具体例を規定する。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本発明の第１の態様においては、入力データを処理して処理結果を出力データとして出力する複数の処理部品を含む少なくとも１つの変換器から、遺伝的処理により新たな変換器を生成する生成部と、それぞれの変換器について、並列処理可能な度合を示す並列度を算出する並列度算出部と、それぞれの変換器についての並列度に基づいて、それぞれの変換器の評価値を算出する評価値算出部と、評価値に基づいて、変換器を選定する選定部とを備える遺伝的処理装置、並びに当該遺伝的処理装置に関する遺伝的処理方法および遺伝的処理プログラムを提供する。
【０００８】
なお、上記の発明の概要は、本発明の必要な特徴の全てを列挙したものではない。また、これらの特徴群のサブコンビネーションもまた、発明となりうる。
【図面の簡単な説明】
【０００９】
【図１】本実施形態に係る遺伝的処理装置１０の構成を示す。
【図２】本実施形態に係る遺伝的処理装置１０の処理フローの一例を示す。
【図３】本実施形態に係る処理部品２２を直列に組み合わせた構成の変換器２０の一例を示す。
【図４】本実施形態に係る処理部品２２を木構造に組み合わせた構成の変換器２０の一例を示す。
【図５】本実施形態に係るステップＳ２１０における変換器２０の適合度を表わすパラメータの一例として類似度の算出方法の一例を示す。
【図６Ａ】本実施形態に係るステップＳ２２０における変換器２０の並列度の算出方法として、最大処理階層と処理部品数から求める一例を示す。
【図６Ｂ】本実施形態に係るステップＳ２２０における変換器２０の並列度の算出方法として、最大並列実行処理部品数から求める一例を示す。
【図７】本実施形態に係る処理部品２２を直列に組み合わせた構成の変換器２０に対して行われる遺伝的な操作の一例を示す。
【図８】本実施形態に係る処理部品２２を木構造に組み合わせた構成の変換器２０に対して行われる交叉操作の一例を示す。
【図９】本実施形態に係る処理部品２２を木構造に組み合わせた構成の変換器２０に対して行われる突然変異操作の一例を示す。
【図１０】本実施形態に係るコンピュータ１９００のハードウェア構成の一例を示す。
【発明を実施するための形態】
【００１０】
以下、発明の実施の形態を通じて本発明を説明するが、以下の実施形態は特許請求の範囲にかかる発明を限定するものではない。また、実施形態の中で説明されている特徴の組み合わせの全てが発明の解決手段に必須であるとは限らない。
【００１１】
図１は、本実施形態に係る遺伝的処理装置１０の構成を示す。遺伝的処理装置１０は、遺伝的処理により学習させて新たに生成する変換器２０を、処理の並列度に応じて評価する。遺伝的処理装置１０は、適合度算出部１００と、並列度算出部１１０と、評価値算出部１２０と、選定部１３０と、生成部１４０と、変換器格納部１５０とを備える。変換器格納部１５０は、入力データを処理して処理結果データを出力する複数の処理部品を含む少なくとも１つの変換器２０を格納する。
【００１２】
適合度算出部１００は、外部の装置等から学習用入力データおよび学習用目標データを取得する。そして、適合度算出部１００は、変換器格納部１５０が格納するそれぞれの変換器２０について、学習用入力データから学習用目標データへの変換に対する適合度を算出する。適合度算出部１００は、処理実行部１０００と、差分演算部１０１０とを有する。処理実行部１０００は、変換器格納部１５０から取得した処理対象の変換器２０に対して学習用入力データを入力して、当該変換器２０に含まれる複数の処理部品の処理を実行することにより、当該変換器２０の処理結果データを求める。差分演算部１０１０は、処理実行部１０００が出力した処理結果データと学習用目標データとの比較（例、差分）から適合度を求める。
【００１３】
並列度算出部１１０は、それぞれの変換器２０について、並列処理可能な度合を示す並列度を算出する。評価値算出部１２０は、それぞれの変換器２０について並列度算出部１１０が算出した並列度および適合度算出部１００が算出した適合度に基づいて、それぞれの変換器２０の評価値を算出する。
【００１４】
選定部１３０は、評価値算出部１２０が算出した評価値に基づいて、少なくとも１つの変換器２０を選定する。選定部１３０は、評価値が予め設定した基準値以上である複数の変換器２０を選定して、次世代の変換器２０の親として、生成部１４０に提供する。ここで、選定部１３０は、当該基準値として、世代毎の評価値の最大値、平均値、最小値等に対して、予め定められたオフセットを加えた値を用いてもよい。また、選定部１３０は、評価値算出部１２０が算出した評価値が最も高い変換器２０を選定して、最終的に選択された変換器２０として提供してもよい。また、選定部１３０は、評価値がより大きいほど高確率で次世代に残す変換器２０を選定してもよい。なお、選定部１３０は、選定から除外した変換器２０を、変換器格納部１５０から削除することにより淘汰してもよい。
【００１５】
変換器格納部１５０内の生成部１４０は、選定部１３０が選定した一または複数の変換器２０に対して遺伝的処理により新たな変換器２０を生成する。遺伝的処理装置１０は、適合度算出部１００、並列度算出部１１０、評価値算出部１２０、選定部１３０および生成部１４０による処理を複数回（例えば複数世代）繰り返す。これにより、遺伝的処理装置１０は、生成部１４０が学習用入力データを学習用目標データへ変換するのに適した変換器２０を、進化的計算を用いて生成することができる。
【００１６】
図２は、本実施形態に係る遺伝的処理装置１０の処理フローの一例を示す。遺伝的処理装置１０は、ステップＳ１９５からステップＳ２６０までの世代毎の処理を、複数世代に渡って繰り返す（Ｓ１９０、Ｓ２６５）。なお、遺伝的処理装置１０は、与えられた学習用入力データを学習用目標データに変換する変換器２０を生成するための初期の変換器２０として、ランダムに生成したまたは既に生成した変換器２０を、予め変換器格納部１５０に格納しておく。各世代の処理において、遺伝的処理装置１０は、ステップＳ２００からステップＳ２３０までの変換器２０毎の処理を、複数の変換器２０に対して繰り返す（Ｓ１９５、Ｓ２３５）。
【００１７】
処理実行部１０００は、変換器格納部１５０に格納された複数の変換器２０のそれぞれに対して、学習用入力データを入力して、変換処理を実行させる。そして、処理実行部１０００は、それぞれの変換器２０について、学習用入力データを変換した処理結果データを取得する（ステップＳ２００）。差分演算部１０１０は、ステップＳ２００で処理実行部１０００が生成した処理結果データと、目標データとの差分から適合度を算出する（Ｓ２１０）。
【００１８】
並列度算出部１１０は、変換器２０の並列度を算出する（Ｓ２２０）。評価値算出部１２０は、ステップＳ２１０で差分演算部１０１０が算出した適合度と、ステップＳ２２０で並列度算出部１１０が算出した並列度に基づいて、評価値を算出する（Ｓ２３０）。ここで、評価値算出部１２０は、適合度および並列度に対して単調非減少である評価値を算出する。すなわち、評価値算出部１２０は、適合度が大きくなるにつれて増加するかまたは一部の区間で一定となり、かつ並列度が大きくなるにつれて増加するかまたは一部の区間で一定となる評価値を算出する。また、評価値算出部１２０は、それぞれの変換器２０について、変換器２０に含まれる処理部品の数に更に基づいて、評価値を算出してもよい。
【００１９】
評価値算出部１２０は、一例として、下記の数１に示される演算式を利用して求めてもよい。
【００２０】
【数１】
2010257233.tif 000003
【００２１】
数式１のＦ１（Ｘ）は、Ｘを変数とする単調非減少関数を表わす。即ち、Ｆ１（Ｘ）は、Ｘが増加する方向に変化した場合、少なくとも減少しない値を表わす。また、Ｆ１（Ｘ）は、単調増加関数であってもよい。また、評価値算出部１２０は、変換器２０の処理部品数を、数１に対してさらに加えたものであってもよい（数２）。この場合、Ｆ２（Ｘ）は、単調非増加関数である。また、Ｆ２（Ｘ）は、単調減少関数であってもよい。
【００２２】
【数２】
2010257233.tif 000004
【００２３】
これに代えて、評価値算出部１２０は、当該変換器２０に含まれる複数の処理部品の処理を実行したときの処理負荷を処理実行部から取得して、変換器２０に含まれる処理部品の処理負荷に更に基づいて、評価値を算出してもよい。評価値算出部１２０は、一例として、処理部品毎の処理時間の合計から評価値を算出する（数３）。また、評価値算出部１２０は、処理負荷として処理実行部１０００により学習用入力データを変換した場合にかかる処理時間でもよい。これに代えて、評価値算出部１２０は、処理負荷としてメモリ使用量を用いてもよい。
【数３】
2010257233.tif 000005
【００２４】
なお、以上に示した評価値の算出式は、例示のためのものであり、適合度、並列度、処理部品数および処理負荷の任意の組み合わせと、またはこれら任意の組み合わせに対して更に別のパラメータを考慮したものであってよい。また、以上においては、値がより大きい程変換器２０が適切であること示す評価値を用いたが、値がより小さい程変換器２０が適切であること示す評価値を用いてもよい。この場合、並列度、処理部品数、処理負荷の変化に対する評価値の変化は、上記とは逆となる。
【００２５】
そして、選定部１３０は、ステップＳ２３０で評価値算出部１２０が算出した評価値に基づいて、変換器２０を選定する（Ｓ２４０）。生成部１４０は、Ｓ２４０で選定部１３０が選定した既存の変換器２０に対して遺伝的処理を施して、新たな変換器２０を生成する（Ｓ２５０）。生成部１４０は、生成した新たな変換器２０を、変換器格納部１５０へ格納する（Ｓ２６０）。
【００２６】
図３は、本実施形態に係る処理部品２２を直列に組み合わせた構成の変換器２０の一例を示す。図４は、本実施形態に係る処理部品２２を木構造に組み合わせた構成の変換器２０の一例を示す。
【００２７】
変換器２０は、受け取った入力データに対して演算処理を施して、出力データを出力する。変換器２０は、一例として、入力データに対して演算を施すプログラムにより実行される。また、変換器２０は、入力データに対して施すべき演算内容を表わす演算式であってもよい。さらに、変換器２０は、複数の処理部品２２を組み合わせた構成を有する。変換器２０は、図３に示されるように、処理部品２２を直列に組み合わせた構成を有してよい。また、変換器２０は、図４に示されるように、処理部品２２を木構造に組み合わせた構成を有してよい。
【００２８】
なお、処理部品２２が木構造に組み合わされた構成の変換器２０は、木構造の末端（最下位）の処理部品２２のそれぞれに、同一の入力データが与えられ、木構造の最上位の処理部品２２から出力データを出力する。これに代えて、このような変換器２０は、複数の末端の処理部品２２のそれぞれに互いに異なる学習用入力データが与えられてもよい。
【００２９】
それぞれの変換器２０は、入力画像を出力画像にそれぞれ変換する複数のフィルタ部品を複数の処理部品２２とし、当該複数のフィルタ部品の入出力間を組み合わせた画像フィルタであってよい。ここで、生成部１４０は、変換器格納部１５０に格納された少なくとも１つの画像フィルタから遺伝的処理により新たな画像フィルタを生成してもよい。各処理部品２２は、前段に配置された処理部品２２から出力された画像データを受け取り、受け取った画像データに演算を施して後段に配置された処理部品２２に与えるフィルタ部品であってよい。
【００３０】
また、変換器２０は、一例として、ハードウェアである処理部品２２を組み合わせた構成であってよい。この場合、変換器格納部１５０は、変換器を表すデータ構造として、各処理部品間のデータ授受関係を示す構成データを記憶する。また、変換器２０は、データに対して演算を施すプログラムである処理部品２２を組み合わせた構成であってもよい。また、変換器２０は、データに対して施すべき演算内容を表わす演算式である処理部品２２を組み合わせた構成であってもよい。
【００３１】
また、変換器２０は、例えば、１次元データ列、２次元データ群、３次元データ群、又は、更に多次元のデータ群等を変換してもよい。１次元データ列は、例えば、時系列データ又は配列状のデータ列等である。２次元データ群は、例えば、複数の画素データ等が２次元空間に配列された画像データ等である。３次元データ群は、例えば、色又は濃度等を表わすデータ値が３次元空間の各格子点に配置されたボリュームデータ等である。また、変換器２０は、入力されたデータと異なる次元のデータを出力してもよい。
【００３２】
複数の処理部品２２のそれぞれは、前段に配置された処理部品２２から出力された入力データを受け取り、受け取った入力データに演算を施して後段に配置された処理部品２２に与える。複数の処理部品２２のそれぞれは、プログラムモジュールおよび演算式等であってよく、受け取った入力データに対して２値化演算、ヒストグラム演算、平滑化演算、エッジ検出演算、モルフォロジ演算、及び／または周波数空間での演算（例えば、ローパスフィルタリング演算およびハイパスフィルタリング演算）等の単項演算を施してもよい。
【００３３】
また、複数の処理部品２２のそれぞれは、受け取った入力データに対して平均演算、差分演算及び／またはファジー演算（例えば論理和演算、論理積演算、代数和、代数積、限界和、限界積、激烈和および激烈積等）等の二項演算を施してもよい。
【００３４】
図５は、本実施形態に係るステップＳ２１０における変換器２０の適合度を表わすパラメータの一例として類似度の算出方法の一例を示す。本実施形態において、差分演算部１０１０は、当該変換器２０により学習用入力データを変換させることにより生成された出力データと、学習用目標データとがどれだけ類似しているかを表わす類似度を、変換器２０の適合度を表わすパラメータとして算出する。
【００３５】
すなわち、この類似度は、値がより大きいほど、当該類似度の算出に用いた出力データが学習用目標データと類似していることを示す指標となる。したがって、類似度が最も高い出力データを生成した変換器２０は、学習用入力データを学習用目標データに最も近い出力データに変換することのできる変換器２０となる。
【００３６】
差分演算部１０１０は、一例として、出力画像の各ピクセルの値と、学習用目標画像の対応するピクセルの値とを比較する。より具体的には、差分演算部１０１０は、一例として、出力画像の各ピクセルの値と、学習用目標画像の対応するピクセルの値との差または比率等を算出する。そして、差分演算部１０１０は、一例として、複数のピクセルの全ての比較結果を平均または合計し、平均または合計した比較結果を当該出力画像の類似度としてよい。差分演算部１０１０は、複数の変換器２０により変換された複数の出力データのそれぞれに対して、以上のように類似度を算出して、変換器２０の適合度を求める。
【００３７】
この処理において、差分演算部１０１０は、各ピクセルの値（例えば輝度値）によって当該ピクセル位置の重みを表わす重み画像を用いて類似度を求めてよい。具体的には、差分演算部１０１０は、出力画像の各ピクセルの値と学習用目標画像の対応するピクセルの値との差に、重み画像における対応するピクセルの重み値を乗じる等により、重みを付けて類似度を算出してよい。
【００３８】
図６Ａは、本実施形態に係るステップＳ２２０における変換器２０の並列度の算出方法として、最大処理階層と処理部品数から求める一例を示す。また、図６Ｂは、本実施形態に係るステップＳ２２０における変換器２０の並列度の算出方法として、最大並列実行処理部品数から求める一例を示す。並列度算出部１１０は、処理実行部１０００で処理対象となったそれぞれの変換器２０について、並列処理可能な処理部品の数を示す並列度を算出する。
【００３９】
ここで、並列度算出部１１０は、並列度算出部１１０は、一例として、図６Ａが示すとおり、処理部品２２の数から変換器２０の処理で最大処理階層（ＣＰ：クリティカルパス）を除算したものを並列度として算出する（数４）。図６Ａにおいて、並列度は、処理部品数が１６、ＣＰが６であるので、約２．６７となる。一例として、このようにすれば、並列度算出部１１０は、それぞれの変換器２０の処理において並列処理可能な度合が変化する場合に、変換器２０の処理における平均の並列度を算出できる。
【００４０】
【数４】
2010257233.tif 000006
【００４１】
また、並列度算出部１１０は、図６Ｂが示すとおり、変換器２０が並列実行できる最大の処理部品２２の数を並列度としてもよい。これに代えて、並列度算出部１１０は、当該変換器２０の最大処理時間、すなわち、変換器２０内全ての処理部品の処理時間の合計からＣＰを除算した結果を、並列度として算出してもよい（数５）。また、並列度算出部１１０は、当該変換器２０が並列処理できる最大処理部品数を、並列度算出のパラメータとして用いてもよい。
【００４２】
【数５】
2010257233.tif 000007
【００４３】
また、並列度算出部１１０は、それぞれの変換器２０について、予め指定された最大並列度を上限とする並列度を算出してもよい。例えば、並列度算出部１１０は、処理実行部１０００を実行する場合の最大並列度または実アプリケーションにおいて変換器２０の変換処理を実行する場合の並列度としてよい。ここで、変換器２０は、一例として、処理部品２２の種類によって処理時間が異なる場合もある。そこで、並列度算出部１１０は、変換器２０の変換処理において、それぞれの処理部品２２の処理時間を反映して並列処理する処理部品２２を判定して、並列度を算出してもよい。これにより、遺伝的処理装置１０は、並列処理により高速に実行できる変換器２０を優先して選択できる。
【００４４】
図７は、本実施形態に係る処理部品２２を直列に組み合わせた構成の変換器２０に対して行われる遺伝的な操作の一例を示す。図８は、本実施形態に係る処理部品２２を木構造に組み合わせた構成の変換器２０に対して行われる交叉操作の一例を示す。図９は、本実施形態に係る処理部品２２を木構造に組み合わせた構成の変換器２０に対して行われる突然変異操作の一例を示す。
【００４５】
生成部１４０は、一例として、２個またはそれ以上の変換器２０に対して、遺伝的な操作の一例である交叉操作を行って新たな２個またはそれ以上の変換器２０を生成する。評価値算出部１２０は、一例として、図７および図８に示されるように、既に生成された少なくとも１つの一の変換器２０Ａの一部の処理部品群２４Ａを、既に生成された他の変換器２０Ｂの少なくとも一部の処理部品群２４Ｂと置換して、新たな変換器２０Ｅおよび変換器２０Ｆを生成する。なお、処理部品群２４は、１または複数の処理部品２２を組み合わせた部材であってもよい。
【００４６】
また、生成部１４０は、一例として、一の変換器２０に対して、遺伝的な操作の一例である突然変異操作を行って新たな一の変換器２０を生成する。生成部１４０は、一例として、図７および図９に示されるように、既に生成された一の変換器２０Ｃの一部の処理部品群２４Ｃを、ランダムに選択された他の処理部品群２４Ｇに置換して、新たな変換器２０Ｇを生成する。
【００４７】
また、生成部１４０は、現世代の変換器２０をそのまま次世代の変換器２０として残してもよい。生成部１４０は、一例として、図７に示されるように、変換器２０Ｄの処理部品２２の構成をそのまま含む次世代の変換器２０Ｈを生成する。
【００４８】
選定部１３０は、生成部１４０により生成された複数の変換器２０に対して生物の自然淘汰をモデル化した手法により１または複数の変換器２０を選択する。選定部１３０は、複数の変換器２０の中の適合度がより高い変換器２０を優先的に選択してもよい。選定部１３０は、一例として、複数の変換器２０のそれぞれの適合度に基づき、エリート選択およびルーレット選択といった手法に応じて、変換器２０を選択してよい。そして、生成部１４０は、選択した変換器２０を次世代へ生存させるべく当該変換器２０を変換器格納部１５０内に保存する。また、生成部１４０は、選定部１３０に代えて選択されなかった変換器２０を死滅させるべく変換器格納部１５０内から削除してもよい。
【００４９】
図１０は、本実施形態に係るコンピュータ１９００のハードウェア構成の一例を示す。本実施形態に係るコンピュータ１９００は、ホスト・コントローラ２０８２により相互に接続されるＣＰＵ２０００、ＲＡＭ２０２０、グラフィック・コントローラ２０７５、及び表示装置２０８０を有するＣＰＵ周辺部と、入出力コントローラ２０８４によりホスト・コントローラ２０８２に接続される通信インターフェイス２０３０、ハードディスク・ドライブ２０４０、及びＤＶＤドライブ２０６０を有する入出力部と、入出力コントローラ２０８４に接続されるＲＯＭ２０１０、フレキシブルディスク・ドライブ２０５０、及び入出力チップ２０７０を有するレガシー入出力部とを備える。
【００５０】
ホスト・コントローラ２０８２は、ＲＡＭ２０２０と、高い転送レートでＲＡＭ２０２０をアクセスするＣＰＵ２０００及びグラフィック・コントローラ２０７５とを接続する。ＣＰＵ２０００は、ＲＯＭ２０１０及びＲＡＭ２０２０に格納されたプログラムに基づいて動作し、各部の制御を行う。グラフィック・コントローラ２０７５は、ＣＰＵ２０００等がＲＡＭ２０２０内に設けたフレーム・バッファ上に生成する画像データを取得し、表示装置２０８０上に表示させる。これに代えて、グラフィック・コントローラ２０７５は、ＣＰＵ２０００等が生成する画像データを格納するフレーム・バッファを、内部に含んでもよい。
【００５１】
入出力コントローラ２０８４は、ホスト・コントローラ２０８２と、比較的高速な入出力装置である通信インターフェイス２０３０、ハードディスク・ドライブ２０４０、ＤＶＤドライブ２０６０を接続する。通信インターフェイス２０３０は、ネットワークを介して他の装置と通信する。ハードディスク・ドライブ２０４０は、コンピュータ１９００内のＣＰＵ２０００が使用するプログラム及びデータを格納する。ＤＶＤドライブ２０６０は、ＤＶＤ２０９５からプログラム又はデータを読み取り、ＲＡＭ２０２０を介してハードディスク・ドライブ２０４０に提供する。
【００５２】
また、入出力コントローラ２０８４には、ＲＯＭ２０１０と、フレキシブルディスク・ドライブ２０５０、及び入出力チップ２０７０の比較的低速な入出力装置とが接続される。ＲＯＭ２０１０は、コンピュータ１９００が起動時に実行するブート・プログラム、及び／又は、コンピュータ１９００のハードウェアに依存するプログラム等を格納する。フレキシブルディスク・ドライブ２０５０は、フレキシブルディスク２０９０からプログラム又はデータを読み取り、ＲＡＭ２０２０を介してハードディスク・ドライブ２０４０に提供する。入出力チップ２０７０は、フレキシブルディスク・ドライブ２０５０を入出力コントローラ２０８４へと接続すると共に、例えばパラレル・ポート、シリアル・ポート、キーボード・ポート、マウス・ポート等を介して各種の入出力装置を入出力コントローラ２０８４へと接続する。
【００５３】
ＲＡＭ２０２０を介してハードディスク・ドライブ２０４０に提供されるプログラムは、フレキシブルディスク２０９０、ＤＶＤ２０９５、又はＩＣカード等の記録媒体に格納されて利用者によって提供される。プログラムは、記録媒体から読み出され、ＲＡＭ２０２０を介してコンピュータ１９００内のハードディスク・ドライブ２０４０にインストールされ、ＣＰＵ２０００において実行される。
【００５４】
コンピュータ１９００にインストールされ、コンピュータ１９００を遺伝的処理装置１０の制御用コンピュータとして機能させるプログラムは、適合度算出モジュールと、並列度算出モジュールと、評価値算出モジュールと、選定モジュールと、生成モジュールとを備える。これらのプログラム又はモジュールは、ＣＰＵ２０００等に働きかけて、コンピュータ１９００を、適合度算出部１００と、並列度算出部１１０と、評価値算出部１２０と、選定部１３０と、生成部１４０としてそれぞれ機能させる。
【００５５】
これらのプログラムに記述された情報処理は、コンピュータ１９００に読込まれることにより、ソフトウェアと上述した各種のハードウェア資源とが協働した具体的手段である適合度算出部１００と、並列度算出部１１０と、評価値算出部１２０と、選定部１３０と、生成部１４０として機能する。そして、これらの具体的手段によって、本実施形態におけるコンピュータ１９００の使用目的に応じた情報の演算又は加工を実現することにより、使用目的に応じた特有の遺伝的処理装置１０が構築される。
【００５６】
一例として、コンピュータ１９００と外部の装置等との間で通信を行う場合には、ＣＰＵ２０００は、ＲＡＭ２０２０上にロードされた通信プログラムを実行し、通信プログラムに記述された処理内容に基づいて、通信インターフェイス２０３０に対して通信処理を指示する。通信インターフェイス２０３０は、ＣＰＵ２０００の制御を受けて、ＲＡＭ２０２０、ハードディスク・ドライブ２０４０、フレキシブルディスク２０９０、又はＤＶＤ２０９５等の記憶装置上に設けた送信バッファ領域等に記憶された送信データを読み出してネットワークへと送信し、もしくは、ネットワークから受信した受信データを記憶装置上に設けた受信バッファ領域等へと書き込む。このように、通信インターフェイス２０３０は、ＤＭＡ（ダイレクト・メモリ・アクセス）方式により記憶装置との間で送受信データを転送してもよく、これに代えて、ＣＰＵ２０００が転送元の記憶装置又は通信インターフェイス２０３０からデータを読み出し、転送先の２０３０又は記憶装置へとデータを書き込むことにより送受信データを転送してもよい。
【００５７】
また、ＣＰＵ２０００は、ハードディスク・ドライブ２０４０、ＤＶＤドライブ２０６０（ＤＶＤ２０９５）、フレキシブルディスク・ドライブ２０５０（フレキシブルディスク２０９０）等の外部記憶装置に格納されたファイルまたはデータベース等の中から、全部または必要な部分をＤＭＡ転送等によりＲＡＭ２０２０へと読み込ませ、ＲＡＭ２０２０上のデータに対して各種の処理を行う。そして、ＣＰＵ２０００は、処理を終えたデータを、ＤＭＡ転送等により外部記憶装置へと書き戻す。このような処理において、ＲＡＭ２０２０は、外部記憶装置の内容を一時的に保持するものとみなせるから、本実施形態においてはＲＡＭ２０２０および外部記憶装置等をメモリ、記憶部、または記憶装置等と総称する。本実施形態における各種のプログラム、データ、テーブル、データベース等の各種の情報は、このような記憶装置上に格納されて、情報処理の対象となる。なお、ＣＰＵ２０００は、ＲＡＭ２０２０の一部をキャッシュメモリに保持し、キャッシュメモリ上で読み書きを行うこともできる。このような形態においても、キャッシュメモリはＲＡＭ２０２０の機能の一部を担うから、本実施形態においては、区別して示す場合を除き、キャッシュメモリもＲＡＭ２０２０、メモリ、及び／又は記憶装置に含まれるものとする。
【００５８】
また、ＣＰＵ２０００は、ＲＡＭ２０２０から読み出したデータに対して、プログラムの命令列により指定された、本実施形態中に記載した各種の演算、情報の加工、条件判断、情報の検索・置換等を含む各種の処理を行い、ＲＡＭ２０２０へと書き戻す。例えば、ＣＰＵ２０００は、条件判断を行う場合においては、本実施形態において示した各種の変数が、他の変数または定数と比較して、大きい、小さい、以上、以下、等しい等の条件を満たすかどうかを判断し、条件が成立した場合（又は不成立であった場合）に、異なる命令列へと分岐し、またはサブルーチンを呼び出す。
【００５９】
また、ＣＰＵ２０００は、記憶装置内のファイルまたはデータベース等に格納された情報を検索することができる。例えば、第１属性の属性値に対し第２属性の属性値がそれぞれ対応付けられた複数のエントリが記憶装置に格納されている場合において、ＣＰＵ２０００は、記憶装置に格納されている複数のエントリの中から第１属性の属性値が指定された条件と一致するエントリを検索し、そのエントリに格納されている第２属性の属性値を読み出すことにより、所定の条件を満たす第１属性に対応付けられた第２属性の属性値を得ることができる。
【００６０】
以上に示したプログラム又はモジュールは、外部の記録媒体に格納されてもよい。記録媒体としては、フレキシブルディスク２０９０、ＤＶＤ２０９５の他に、ＤＶＤ又はＣＤ等の光学記録媒体、ＭＯ等の光磁気記録媒体、テープ媒体、ＩＣカード等の半導体メモリ等を用いることができる。また、専用通信ネットワーク又はインターネットに接続されたサーバシステムに設けたハードディスク又はＲＡＭ等の記憶装置を記録媒体として使用し、ネットワークを介してプログラムをコンピュータ１９００に提供してもよい。
【００６１】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更または改良を加えることが可能であることが当業者に明らかである。その様な変更または改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【００６２】
特許請求の範囲、明細書、および図面中において示した装置、システム、プログラム、および方法における動作、手順、ステップ、および段階等の各処理の実行順序は、特段「より前に」、「先立って」等と明示しておらず、また、前の処理の出力を後の処理で用いるのでない限り、任意の順序で実現しうることに留意すべきである。特許請求の範囲、明細書、および図面中の動作フローに関して、便宜上「まず、」、「次に、」等を用いて説明したとしても、この順で実施することが必須であることを意味するものではない。
【符号の説明】
【００６３】
１０  遺伝的処理装置、２０  変換器、２２  処理部品、２４  処理部品群、１００  適合度算出部、１１０  並列度算出部、１２０  評価値算出部、１３０  選定部、１４０  生成部、１５０  変換器格納部、１０００  処理実行部、１０１０  差分演算部、１９００  コンピュータ、２０００  ＣＰＵ、２０１０  ＲＯＭ、２０２０  ＲＡＭ、２０３０  通信インターフェイス、２０４０  ハードディスク・ドライブ、２０５０  フレキシブルディスク・ドライブ、２０６０  ＤＶＤドライブ、２０７０  入出力チップ、２０７５  グラフィック・コントローラ、２０８０  表示装置、２０８２  ホスト・コントローラ、２０８４  入出力コントローラ、２０９０  フレキシブルディスク、２０９５  ＤＶＤ
【図１】
2010257233.tif 000008
【図２】
2010257233.tif 000009
【図３】
2010257233.tif 000010
【図４】
2010257233.tif 000011
【図５】
2010257233.tif 000012
【図６Ａ】
2010257233.tif 000013
【図６Ｂ】
2010257233.tif 000014
【図７】
2010257233.tif 000015
【図８】
2010257233.tif 000016
【図９】
2010257233.tif 000017
【図１０】
2010257233.tif 000018