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