(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023044698
(43)【公開日】2023-03-31
(54)【発明の名称】進化計算システム
(51)【国際特許分類】
G06Q 50/10 20120101AFI20230324BHJP
【FI】
G06Q50/10
【審査請求】未請求
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2021152723
(22)【出願日】2021-09-19
(71)【出願人】
【識別番号】716003571
【氏名又は名称】株式会社バサイ
(72)【発明者】
【氏名】西野 有
【テーマコード(参考)】
5L049
【Fターム(参考)】
5L049CC12
(57)【要約】 (修正有)
【課題】複数のユーザーが利用する遺伝的アルゴリズムを用いたシミュレーションゲームにおいて、ユーザーの端末計算機の負荷を低減し、ユーザー同士の遺伝子データ列情報を効果的に交換する進化計算システムを提供する。
【解決手段】進化計算システムにおいて、サーバー141は、遺伝的アルゴリズムの主たる計算を行い、ユーザの端末101によるアクセス時に、その時点での遺伝子データ列情報のみをユーザーの端末101に送信する。ユーザーの端末101は、あらかじめ決められた環境上に、受け取った遺伝子データ列情報から再構成される人工生命を復元し表示する。また、ユーザーの端末101に記憶されている人工生命の構造をサーバ141経由で公開する。各ユーザーは、端末101により少なくとも1人以上の他のユーザーが公開した構造を決める遺伝子データ列情報を選択し、サーバー141により、自身の設定した環境上で進化させることができる。
【選択図】
図1
【特許請求の範囲】
【請求項1】
複数の数値からなる数値列を記録する記録装置と、あらかじめ決められた方法により、先の数値列を具体的な対象物の構造や性質へ変換する変換アルゴリズムと、その変換アルゴリズムに基づいて変換された対象物の構造や性能を可視化する可視化アルゴリズムと、指定した評価方法により前述の対象物を評価して数値化する評価アルゴリズムと、その評価アルゴリズムを用いて進化計算を行い、先の数値列を更新する進化計算アルゴリズムを備えた進化計算システムにおいて、少なくとも前述の記録装置と、前述の変換アルゴリズムと、前述の評価アルゴリズムと、前述の進化計算アルゴリズムを備えた第一の計算機と、少なくとも前述の変換アルゴリズムと、前述の可視化アルゴリズムを含む第二の計算機を含んで構成され、第一の計算機に記録されている最新の数値列を第二の計算機にインターネットを介してコピーする手段を備えた進化計算システム。
【請求項2】
少なくとも1つの第一の計算機と、少なくとも2つ以上の第二の計算機を含み、第二の計算機には進化計算アルゴリズムを含まないことを特徴とする請求項1の進化計算システム。
【請求項3】
数値列が表す対象物が擬生物であり、少なくとも移動するための構造をもち、少なくとも1つの第一の計算機と、少なくとも2つ以上の第二の計算機を含み、第二の計算機には当該擬生物が前述の移動のための構造を用いて移動する動画像を生成する動画像生成手段を有することを特徴とする請求項1あるいは請求項2の進化計算システム。
【請求項4】
同一の変換アルゴリズムと同一の可視化アルゴリズムを用いて、複数のユーザーがそれぞれの評価アルゴリズムで進化計算を行うことが可能な第一の計算機と、少なくとも2つ以上の第二の計算機を含み、第一のユーザーが操作する第二の計算機には、第二のユーザーが第一の計算機で進化計算に用いている数値列から変換アルゴリズムと可視化アルゴリズムを介して可視化された構造や性質を表示する手段と、表示された構造や性質から所望の対象物を選択する手段を備え、第一の計算機の記録部にある第二のユーザーの数値列の記録部から、選択された対象物に相当する数値列を第一の計算機の第二のユーザーの記録部にコピーする手段を備えたことを特徴とする請求項1あるいは請求項2あるいは請求項3の進化計算システム。
【請求項5】
複数の数値からなる数値列を記録する記録装置と、あらかじめ決められた方法により、先の数値列を具体的な対象物のデザインや、構造、性質へ変換する変換アルゴリズムと、その変換アルゴリズムに基づいて変換された対象物のデザインや、構造、性能を可視化する可視化アルゴリズムと、指定した評価方法により前述の対象物を評価して数値化する評価アルゴリズムと、その評価アルゴリズムを用いて進化計算を行い、先の数値列を更新する進化計算アルゴリズムを備えた進化計算システムにおいて、第1の利用者が進化計算システムを用いて得た最終的な対象物のデザインや、構造、性質を、第2の利用者が閲覧できる表示装置を備え、その中から第2の利用者が選択した対象物のデザインや、構造、性質に対応する前記の数値列を進化計算の初期の値として、第2の利用者が新たな進化計算を行うことを特徴とする進化計算システム。
【請求項6】
第1の利用者得た最終的な対象物のデザインや、構造、性質に対応する数値列を、第2の利用者が進化計算の初期の数値列として利用して進化計算を行う際に、自動的に第1の利用者に使用料が支払われる支払い装置を備えた、請求項5の進化計算システム。
【請求項7】
第2の利用者が、少なくとも1人以上の利用者の最終的な対象物のデザインや、構造、性質、およびその対象物に対応する数値列を利用する際の利用料金を閲覧するための手段を備え、その中から第2の利用者の進化計算の初期の数値列として利用したい数値列を選択する手段を備え、進化計算を行う際に、自動的に第2の利用者に課金する手段を備えた、請求項5あるいは請求項6の進化計算システム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、遺伝的アルゴリズムを用いた進化的ゲームの実施、記録、データの配信、表示を行う計算システムに関するものである。
【背景技術】
【0002】
遺伝的アルゴリズムは、組み合わせ最適化手法の一つとして発展してきた。生物の遺伝子を模したデータ列を相当数用意し、データ列で記述された機械の形状やプログラム構造が実現する性能が、所望の性能に近い場合は当該データ列を次世代に多く残し、あるいはそのようなデータ列同士を掛け合わせてよく似たデータ列を次世代に生成し、所望の性能に達しないデータ列は排除していくことで、世代を重ねるごとに機械の形状やプログラム構造を記述するデータ列の性能は所望の性能に近づく。最終的に所望の性能を満たす機械の形状やプログラム構造を実現するデータ列が得られた段階で、最適化は終了する。
【0003】
このように、遺伝的アルゴリズムは工学の分野で発展してきたが、シミュレーションゲームにも適用できる。計算機の中で生命をまねた人工生命を生成し、遺伝子に見立てたデータ列を環境に応じて次の世代に残していくことで、設定した環境に強い人工生命がどのようなものかを知ることができる。この時、環境を変えることで進化する人工生命の構造や性質が変わるため、強い人工生命を得ることをゴールとするゲームを作ることなど、ゲームへの応用が可能である。
【0004】
しかし、シミュレーションゲームに用いる場合、人工生命を進化させ続けるためには常に計算を行っている必要があり、ユーザーのパソコンやスマートホンで実施すると通常の作業に支障を及ぼす。
【0005】
また、ユーザー同士でそれぞれの環境で進化させた人工生命のデータ列情報を交換することで、データ列情報の市場を作ることが考えられるが、効果的にデータ列情報を交換する手段が無い。
【先行技術文献】
【非特許文献】
【0006】
【非特許文献1】平野廣美著 「遺伝的アルゴリズムと遺伝的プログラミング」パーソナルメディア 2000年
【発明の概要】
【発明が解決しようとする課題】
【0007】
解決しようとする問題点は、遺伝的アルゴリズムを用いたシミュレーションゲームにおいて、ユーザーの端末計算機の負荷が大きいという点である。
【0008】
また、他の解決しようとする問題点は、複数のユーザーが利用する遺伝的アルゴリズムを用いたシミュレーションゲームにおいて、ユーザー同士の遺伝子データ列情報を効果的に交換する手段が無いという点である。
【課題を解決するための手段】
【0009】
本発明のシステムは、遺伝的アルゴリズムの主たる進化計算をサーバー上で行い、ユーザーのアクセス時にその時点での遺伝子データ列情報のみをユーザーに送信し、ユーザーはあらかじめ決められた環境上に、受け取った遺伝子データ列情報から再構成される人工生命を復元し表示できることを主な特徴とする。
【0010】
また、本発明のシステムは、複数のユーザーの保有する人工生命の構造を公開し、各ユーザーは少なくとも1人以上の他のユーザーが公開した構造を決める遺伝子データ列情報をサーバー上で選択して取得し、自身の設定した環境上で進化させることを可能にするプラットフォームを提供できることを主な特徴とする。
【発明の効果】
【0011】
本発明の進化的シミュレーションの実施方法は、遺伝的アルゴリズムの主たる進化計算をサーバー上で行い、ユーザーのアクセス時にはその時点でのデータ列情報のみをユーザーに送信し、ユーザーはあらかじめ決められた環境上に、受け取ったデータ列情報から再構成される人工生命を復元し表示することで、ユーザーの計算機の負荷を低減できるという利点がある。
【0012】
また、複数のユーザーの保有する人工生命の構造を公開し、各ユーザーは少なくとも1人以上の他のユーザーが公開した構造を決める非公開のデータ列情報をサーバー上で取得し、自身の設定した環境上で進化させることを可能にするプラットフォームを提供することで、効果的にデータ列情報を交換でき、それにより遺伝子データ列の市場を作ることができるという利点がある。
【図面の簡単な説明】
【0013】
【
図1】
図1は進化的シミュレーションの計算システムの実施例1の概念図である。
【
図2】
図2は進化的シミュレーションの計算システムの実施例1の構成図である。
【
図3】
図3は進化的シミュレーションの計算システムの実施例1のサーバー側の処理のフロー図である。
【
図4】
図4は進化的シミュレーションの計算システムの実施例1のユーザー端末側の処理のフロー図である。
【
図5】
図5は進化的シミュレーションの計算システムの実施例2の概念図である。
【
図6】
図6は進化的シミュレーションの計算システムの実施例2の構成図である。
【
図7】
図7は進化的シミュレーションの計算システムの実施例3の構成図である。
【
図8】
図8は進化的シミュレーションの計算システムの実施例4の概念図である。
【
図9】
図9は進化的シミュレーションの計算システムの実施例4の構成図である。
【
図10】
図10は進化的シミュレーションの計算システムの実施例5の概念図である。
【
図11】
図11は進化的シミュレーションの計算システムの実施例5の構成図である。
【発明を実施するための形態】
【0014】
遺伝的アルゴリズムを用いたシミュレーションゲームにおいて、ユーザーの端末計算機の負荷を低減し、複数のユーザー同士の遺伝子データ列情報を効果的に交換する手段を得るという目的を、主たる進化計算をサーバー上で行い、ユーザーのアクセス時にはその時点での遺伝子データ列情報のみをユーザーに送信し、ユーザーはあらかじめ決められた環境上に、受け取った遺伝子データ列情報から再構成される人工生命を復元し表示し、また各ユーザーは少なくとも1人以上の他のユーザーが公開した構造を決める遺伝子データ列情報をサーバー上で取得し、自身の設定した環境上で進化させることを可能にするプラットフォームを提供することで実現した。
【実施例0015】
図1は、本発明装置の進化的シミュレーションの計算システムの実施例1の概念図であって、101はユーザー1の端末、102~104は表示された人工生命、121はユーザー2の端末、122~124は表示された人工生命、131はユーザー1の端末101からサーバーへの進化情報の要求、132はサーバーからユーザー端末1へ提供される進化情報、133はユーザー2の端末からサーバーへの進化情報の要求、134はサーバーからユーザー2の端末121へ提供される進化情報、141はサーバー、142は記録装置、151~153は人工生命102~104を表す遺伝子データ列、161~163は人工生命122~124を表す遺伝子データ列である。
【0016】
ユーザー1の端末101は進化情報の要求131をサーバーに送ることで、進化情報132を受け取る。進化情報132には、ユーザー1が所有する人工生命の遺伝子データ列151~153や、進化シミュレーション中の人工生命を評価する評価関数などの環境情報が含まれている。ユーザー1の端末101は受け取った進化情報に含まれる人工生命の遺伝子データ列と環境情報を用いて、人工生命を再現し、端末上に表示する。同様に、ユーザー2の端末121は進化情報の要求133をサーバーに送ることで、進化情報134を受け取る。進化情報134には、ユーザー2が所有する人工生命の遺伝子データ列161~163や、進化シミュレーション中の人工生命を評価する評価関数などの環境情報が含まれている。ユーザー2の端末121は受け取った進化情報に含まれる人工生命の遺伝子データ列と環境情報を用いて、人工生命を再現し、端末上に表示する。サーバーの記録装置142には、ユーザー1が所有する人工生命のデータ列151~153やユーザー2が所有する人工生命の遺伝子データ列161~163、および他のユーザーの所有する人工生命の遺伝子データ列が記録されている、また、それぞれのユーザーの進化シミュレーションに用いる環境情報が記録されている。サーバー141は、各々のユーザーの所有する人工生命の遺伝子データ列と環境情報を用いて、ユーザーごとに進化シミュレーションを実施する。
【0017】
本実施例では、遺伝的アルゴリズムにより人工生命を進化させるケースを例に説明しているが、進化させる対象は人工生命でなくてもよく、電気回路の設計図、機械の構造、授業の時間割、配達経路とコストなど、データ列の表現する対象物の性質を数値で評価できるものであればよい。この明細書では、これらのデータ列も含めて遺伝子データ列と呼ぶ。
【0018】
進化情報132は、ユーザー1がサーバー141で計算に用いているすべての人工生命のデータ列である必要ななく、例えば環境に適した上位10個のデータ列などでもよい。進化情報の要求131は、必ずしもユーザー1が送信する必要はなく、一定間隔で端末101から送信されてもよい。あるいは、サーバー141が一定時間ごとに進化情報132を端末101に送り、端末1上で人工生命を再現し、表示してもよい。
【0019】
図2は進化的シミュレーションの計算システムの実施例1の構成図であって、201は遺伝子データ列記録部、202は進化環境条件記録部、203は進化計算処理部、204は人工生命生成部、205は適応値計算部、221は人工生命情報要求部、222は進化環境条件要求部、223は進化情報受信部、224は人工生命生成部、225は進化環境生成部、226は表示部である。
【0020】
本実施例では遺伝的アルゴリズムによる進化計算はサーバーで行う。遺伝子データ記録部201には複数の遺伝子データ列が記録されている。進化環境条件記録部202には遺伝子データ列が生成する人工生命の価値を評価するための進化環境条件が記録されている。進化環境条件とは、人工生命が適応すべき環境を表しており、上手く適応する人工生命は数を増やし、上手く適応できない人工生命は減少する。電気回路や機械構造であれば、遺伝子データ列で表現される回路や機械がユーザーの求める性能にどれくらい近いかを計算するための評価式に対応する。進化計算処理部203は、遺伝子データ列記録部201から各々の遺伝子データ列を読み出し、人工生命生成部204へ渡し、人工生命生成部204は受け取った複数の遺伝子データ列から各々の遺伝子データに対応した人工生命を生成する。遺伝子データ列は単なる数字の列であり、それだけでは評価できないが人工生命生成部では、遺伝子データ列の中から人工生命の体の部位を表現する数字の列を切り出し、具体的な体の部位を生成していく。また、進化計算処理部203は人工生命生成部204から受け取った人工生命の情報と、進化環境条件記録部に記録された進化環境条件を適応値計算部205に渡し、適応値計算部205は各々の人工生命がどの程度進化環境に適応しているか、すなわち進化環境条件に基づいて計算された適応値に相当する数値を進化計算処理部に戻す。
【0021】
ユーザー端末側では、ユーザーが、人工生命がどのような状態にあるのかを知りたいと思った際に、人工生命情報要求部221からサーバー側の遺伝子データ列記録部201に要求を出す。また、同時に進化環境条件要求部222から、サーバー側の進化環境条件記録部202に進化環境の変更要求と新しい進化環境条件を出す。進化情報受信部223は、遺伝子データ列記録部201から遺伝子データ列を受け取り、進化環境条件記録部202から変更された進化環境条件を受け取り、人工生命生成部224と、進化環境生成部225に渡す。人工生命生成部224は受け取った遺伝子データ列から、人工生命を生成する。進化環境生成部225は受け取った進化環境条件から、人工生命を評価する評価式を生成する。表示部226では人工生命生成部224が生成した人工生命を映像化すると同時に、それぞれの人工生命の進化環境に適応しているかどうかを進化環境生成部225が生成した評価式で評価し、表示する。進化環境条件変更要求部222は、必ずしも進化環境境情報を変更する必要はなく、その場合はサーバー側に記録されている進化環境条件が進化情報受信部223に送られる。
【0022】
図3は進化的シミュレーションの計算システムの実施例1のサーバー側の処理のフロー図であり、301は開始端子、302から304は処理工程、305は判断工程、306から308は処理工程、309は判断工程、310は処理工程、311は判断工程、312は終了端子である。
【0023】
開始端子301で工程を開始すると、処理工程302で遺伝子データ列を生成する。生成する人工生命の数と同じだけの遺伝子データ列を生成し、各々の遺伝子データ列の長さはそれぞれで同じである。このとき、一般的にはデータの中身は乱数等で与えられる。これを例えば第一世代と呼び、以下の処理を繰り返すことで遺伝子データ列を進化させる。処理工程303で進化環境条件を設定する。処理工程304で各遺伝子データ列から人工生命の各部の構造や、機能、性質を生成する。人工生命でなく、電気回路の設計であれば、各回路の遺伝子データ列から回路素子やそのつなぎ方を生成し、機械の設計であれば、歯車の歯数やその組み合わせに相当する。判断工程305でユーザーから遺伝子データ列の要求があるかどうかを判断する。要求があれば、処理工程306で遺伝子データ列のコピーと、進化環境条件のコピーをユーザーに送信する。処理工程307で各々の人工生命の構造や、機能、性質を、定義された進化環境条件に照らし合わせることで、各々の人工生命の環境への適応値を計算する。各々の人工生命の構造や、機能、性質が進化環境条件に対して適合しているとみなされると高い適応値を得ることができるが、そうでない場合は低い適応値となる。処理工程308はいわゆる遺伝的アルゴリズムと呼ばれる最適化手法に相当し、各々の人工生命の適応値に応じて子孫を残す。適応値の高い人工生命は、その遺伝子データ列とよく似た遺伝子データ列を次世代に残す。例えば、適応値の高い遺伝子データ列同士のお互いのデータ列の一部を交換したものを次世代にコピーする。また、適応値の高い遺伝子データ列の一部の数値を入れ替える。遺伝子データ列の総数を変えない場合は、適応値の低い遺伝子データ列は次世代に残さない。判断工程309でユーザーから進化環境条件の変更要求があるかどうかを判断する。要求があれば処理工程310で、要求された進化環境条件の変更を行う。判断工程311で終了条件を満たしているかどうかを判断する。あらかじめ定められた繰り返し世代数を満足した場合や、あらかじめ定められた高い適応値を持つ人工生命が現れた場合は終了し、終了端子312へ移行し、必要な出力を行い、全工程を停止する。終了条件を満足していない場合は、世代数を一つ進めて、処理工程304へ移行する。
【0024】
図4は進化的シミュレーションの計算システムの実施例1のユーザー端末側の処理のフロー図であり、401は開始端子、402から407は処理工程、408は判断工程、409は処理工程、410は終了端子である。
【0025】
開始端子401で工程を開始すると、処理工程402でサーバー側に現在の進化環境条件を要求する。サーバー側で要求のあった時点で計算に用いている進化環境条件をユーザー端末側に送信し、ユーザー端末側の処理工程403で受信する。次に、処理工程404でサーバー側に現在の遺伝子データ列を要求する。この時、すべての遺伝子データではなく、適応値の高い複数の遺伝子データ列を要求してもよい。サーバー側で要求のあった時点で計算に用いている遺伝子データ列をユーザー端末側に送信し、ユーザー端末側の処理工程405で受信する。処理工程406で各遺伝子データ列から人工生命の各部の構造や、機能、性質を生成する。人工生命でなく、電気回路の設計であれば、各回路の遺伝子データ列から回路素子やそのつなぎ方を生成し、機械の設計であれば、歯車の歯数やその組み合わせに相当する。処理工程407で進化環境条件に基づいて可視化した環境内に、人工生命を表示する。可視化した環境とは例えば、水中なのか陸上なのか、明るい場所か暗い場所かなどである。この時、適応値などを人工生命の近くに表示してもよい。判断工程408でプログラムの終了を判断する。終了する場合は、終了端子410で終了する。終了しない場合は、処理工程409で人工生命を移動させる。移動の距離や方向は人工生命の構造、機能、性質により計算する。この後、処理工程407に戻り、新しい位置に人工生命を表示する。
実施例2は、当該ユーザーの端末に他のユーザーの人工生命を表示し、当該ユーザーがそれらの人工生命の中から希望する人工生命の遺伝子データ列を入手するための装置の例である。
サーバー501は記録装置502に記録されているユーザーA、ユーザーB、ユーザーC、ユーザーDを含む複数のユーザーの所有する遺伝子データ列を管理し、それぞれのユーザーの進化計算を行う。ユーザーDが表示端末530に他のユーザの人工生命を表示する場合、サーバー501に対して表示したいユーザーを指定する。この実施例ではユーザーA、ユーザーB、ユーザーCの人工生命を表示する。この時、サーバー501は記録装置502から、ユーザーAの人工生命の遺伝子データ列511~513、ユーザーBの人工生命の遺伝子データ列514~516、ユーザーCの人工生命の遺伝子データ列517~519をユーザーDの端末に送信する。この時、それぞれのユーザーが所有するすべての人工生命の遺伝子データ列ではなく、適応値の高いいくつかの人工生命の遺伝子データ列でよい。ユーザーDの端末は送られた遺伝子データ列511~519から対応する人工生命を生成する。これにより、表示部530にユーザーAの所有する人工生命541の一部がその構造や、機能、性質とともに表示され、ユーザーBの所有する人工生命542の一部がその構造や、機能、性質とともに表示され、ユーザーCの所有する人工生命543の一部がその構造や、機能、性質とともに表示される。表示される人工生命は、送られてきたすべての人工生命ではなく、ユーザーDの指定する構造や、機能、性質に合ったいくつかの人工生命でよい。また、このとき各ユーザーの進化環境条件が異なるのであれば、それも表示する。ユーザーDが端末の表示部530に表示された他のユーザーの人工生命の中から、自分の進化環境の中で進化させたいと思うものがあれば、選択ボタン551~553をチェックして選択する、この実施例ではユーザーAの人工生命を要望する場合は選択ボタン551、ユーザーBの人工生命を要望する場合は選択ボタン552、ユーザーCの人工生命を要望する場合は選択ボタン553をチェックする。ここでは、ユーザーAの人工生命とユーザーCの人工生命を要望するので、選択ボタン551と553がチェックされている。
ユーザーDがユーザーAの人工生命の遺伝子データ列511~513と、ユーザーCの人工生命の遺伝子データ列517~519を要望した場合、サーバー501は記録装置502に記録されているユーザーDの人工生命の遺伝子データ列記録場所560に記録されていた、これまで所有していた人工生命を表す遺伝子データ列563に、あらたにユーザーAの人工生命の遺伝子データ列511~513と、ユーザーCの人工生命の遺伝子データ列517~519を追加して記録する。サーバー501は以降のユーザーDの進化計算では、新しく追加された遺伝子データ列561、562を加えた遺伝子データ列を用いて行う。
本実施例では遺伝的アルゴリズムによる計算はサーバーで行う。遺伝子データ記録部(A)622にはユーザーAの遺伝子データ列、遺伝子データ記録部(B)623にはユーザーBの遺伝子データ列、遺伝子データ記録部(C)624にはユーザーCの遺伝子データ列、遺伝子データ記録部(D)625にはユーザーDの遺伝子データ列が記録されている。遺伝子データ列選択部621は、遺伝子データ記録部622~624から、それぞれ進化環境の適応値が高い1つ以上の遺伝子データ列を選択し、ユーザー端末に送る。ユーザー端末では、人工生命生成部601がサーバーから送られた遺伝子データ列から人工生命を生成し、それぞれの人工生命の構造や、機能、性質を表示する。人工生命選択部602は表示された人工生命の中からユーザーが所望する人工生命を選択する。チェックボックスを表示してチェックを促したり、所望する人工生命を所有するユーザー名の入力を促すなどの処理を行う。この時、表示された遺伝子データ列のすべてではなく、一部のみを要求することもできる。遺伝子データ列要求部603は、人工生命選択部で選択されたユーザーの遺伝子データ列をサーバーに要求する。サーバーでは遺伝子データ列選択部621がユーザー端末から受け取った遺伝子データ要求に基づいて、遺伝子データ列記録部622~624から遺伝子データ列を遺伝子データ列記録部(D)625にコピーする。進化計算処理部626は遺伝子データ列記録部(D)625に記録された遺伝子データ列を基に人工生命生成部627で生成された人工生命の構造や、機能、性質に基づいて、適応値計算部628で適応値を計算し、計算された適応値を用いて進化計算を行う。必要に応じて、遺伝子データ列記録部(D)625からユーザーDの遺伝子データ列がユーザー端末の遺伝子データ受信部604に送られ、それに基づいて人工生命生成部607で人工生命を生成される。生成された人工生命は進化環境生成部で可視化された進化環境と一緒に表示部606でユーザー端末に表示される。
このように本実施例では、他のユーザーの人工生命を入手することが容易であるため、当該ユーザーの進化環境条件や、人工生命の個数、世代数では得られなかった構造や、機能、性能を持つ他のユーザーの人工生命を、当該ユーザーの人工生命と一緒に進化させることで、当該ユーザーの人工生命のもつ構造や、機能、性能と、入手した他のユーザーの人工生命の構造や、機能、性能を併せ持つ人工生命を得る可能性が高くなる。また、このようにして得られた人工生命を、他のユーザーに渡すことができる。
また、このように自分で進化させた人工生命が他のユーザーにとって魅力的であれば、それを販売することもできる。その場合は、ユーザー端末に表示された他のユーザーの人工生命と同時にその価格を表示することで、販売を容易にできる。
この時、お金を払って購入することもできるが、ポイントを使った売買も可能である。自分の進化させた人工生命を販売した際に得たポイントを利用して、他のユーザーの人工生命を購入することで、多くの費用をかけずに様々な人工生命を得ることができる。
また、遺伝子データ列にどのユーザーの遺伝子データ列から進化したかの情報を販売することに追加していくことで、進化を促したユーザーの履歴が残り、購入時の判断に役立つ。