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