(57)【特許請求の範囲】
【請求項１】
コンピュータに実行させる，プラットフォームゲームにおけるゴールへの適切な解を計算する人工知能のためのプログラムであって，
前記解は，キャラクターの状態が，当該キャラクターの移動及びジャンプを含む動作によって，当該キャラクターの動作後の状態にリンクされたものであり，
複数の解の候補を設定するステップと，
前記複数の解の候補の中から，初期の解及び新しい解を選択するステップと，
解に含まれるキャラクターの状態の良し悪しに関連する適合度スコアに関し，前記初期の解の前記適合度スコアと前記新しい解の前記適合度スコアを比較するステップと，
現在の解を生成するステップであって，前記初期の解の前記適合度スコアが前記新しい解の前記適合度スコアよりも同じか又は高い場合には前記初期の解を前記現在の解とし，前記新しい解の前記適合度スコアが前記初期の解の前記適合度スコアよりも高い場合には前記新しい解を前記現在の解とするステップと，
前記複数の解の候補の中から他の新しい解を選択するステップと，前記現在の解の前記適合度スコアと前記他の新しい解の前記適合度スコアを比較して，前記現在の解の前記適合度スコアが前記他の新しい解の前記適合度スコアよりも同じか又は高い場合には前記現在の解を新たな現在の解とし，前記他の新しい解の前記適合度スコアが前記現在の解の前記適合度スコアよりも高い場合には前記他の新しい解を新たな現在の解とするステップと，を繰り返すステップと，
前記適合度スコアの比較が行われた解のうち最も悪い前記適合度スコアを有する解を取り除くとともに，前記複数の解の候補に，新たな解の候補を加えるステップとを含む，
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は，プラットフォームにおけるゲームの人工知能プログラムに関する。
【背景技術】
【０００２】
チェスや囲碁のようなボードゲームをプレイする人工知能（ＡＩ）の利用が広く知られている。これらの研究分野は，自ら興味のある問題空間を探査するアクションゲームに似ている。そのため，使用するアルゴリズムは，かなり特定の領域になる傾向があった。同様に，最近のいくつかの論文では，レーシングゲームやパックマン（登録商標）などのゲームが取り上げられているが，同じような問題が指摘されている。これは，他のプラットフォームのゲームのＡＩでも関心事になるが，研究はほとんど行われていない。
【０００３】
面白いことに，たとえ，スーパーマリオブラザーズ（登録商標）のようなゲームが人気を得ていても，プラットフォームのゲームは，それほどＡＩ研究の目的とされなかった。これは，相互に敵対者の関係にないゲームには，キャラクターとしてのＡＩが必要がないという事実があることから（非特許文献１参照），ＡＩ研究は，どこか他の分野で行われていたことが理由として考えられる。
【０００４】
国際公開ＷＯ２００９−１２０６０１号パンフレットは，‘ＣＯＭＢＩＮＩＮＧ  ＳＰＥＣＵＬＡＴＩＶＥ  ＰＨＹＳＩＣＳ  ＭＯＤＥＬＩＮＧ  ＷＩＴＨ  ＧＯＡＬ−ＢＡＳＥＤ  ＡＲＴＩＦＩＣＩＡＬ  ＩＮＴＥＬＬＩＧＥＮＣＥ’を開示している。この文書は，ゲームに関する目標志向のＡＩ（ｇｏａｌ−ｏｒｉｅｎｔｅｄ  ＡＩ）が開示されており，この文書の図１Ａ及び図１Ｂには，様々な状態と動きを有するマップが開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】国際公開ＷＯ２００９−１２０６０１号パンフレット
【非特許文献】
【０００６】
【非特許文献１】Ｊ．Ｔｏｇｅｌｉｕｓ，Ｓ．Ｋａｒａｋｏｖｓｋｉｙ，Ｊ．Ｋｏｕｔｎｉｋ，ａｎｄ  Ｊ．Ｓｃｈｍｉｄｈｕｂｅｒ，‘Ｓｕｐｅｒ  ｍａｒｉｏ  ｅｖｏｌｕｔｉｏｎ，’ｉｎ  Ｐｒｏｃ．ＩＥＥＥ  Ｓｙｍｐ．Ｃｏｍｐｔａｔｉｏｎａｌ  Ｉｎｔｅｌｌｉｇｅｎｃｅ  ａｎｄ  Ｇａｍｅｓ  ＣＩＧ  ２００９，２００９，ｐｐ．１５６−１６１
【発明の概要】
【発明が解決しようとする課題】
【０００７】
本発明の１つの目的は，プラットフォームのゲームに適するゲームＡＩプログラムを提供することである。
【０００８】
本発明の他の目的は，プラットフォームのゲームにおいて高性能を実現する，ゲームＡＩプログラムを提供することである。
【課題を解決するための手段】
【０００９】
本発明は，基本的には最近導入された探索アルゴリズムを基にしている。このアルゴリズムは，プラットフォームのゲームの大領域を探索するのに非常に適している。特に，レヴィフライト（Ｌｅｖｙ  Ｆｌｉｇｈｔ）を利用することが適している。しかしながら，レヴィフライトは，プラットフォームのゲームのような非数値問題を適用することができない。そこで，本発明の好ましい態様は，マッピングを使用する。レヴィフライトをマッピングすることで，数値を状態から成る解に任意に変化させる。このようなマッピングを行うことで，状態の集合を含むどのプラットフォームのゲームにも使用できることになる。さらに，プラットフォームのゲーム空間の探索を最適化するために，適した解を有する領域に焦点を当てる，ソフトマックスヒューリスティックが適用される。
【００１０】
本発明の第１の側面は，プラットフォームのゲームＡＩプログラムに関する。本プログラムは，コンピュータに下記のステップを実行させることができる。本プログラムは，コンピュータに，解を初期化させてもよい。解は，キャラクターの一又は複数の状態を含む。１つの状態は，キャラクターのある動きによって，他の状態とリンクされている。例として，スタート，右に動く，右に動く，ジャンプする，右に動く，そしてファイアの状態である。初期化はランダムに実行されてもよい。つまり，一又は複数の動きは，ランダムに選択されてもよい。そのとき，次の状態は，ある動作によって決定されるため，解は，動作の情報により決定されてもよい。本発明の好ましい態様は，初期化が，アルゴリズム又はソフトマックスのヒューリスティックの手段により実行されることである。
【００１１】
そして，コンピュータは，初期の解と新しい解を選択する。初期の解は，存在しないか，又は上記初期化される解からランダムに選択されてもよい。例えば，初期の解は，スタート，右に動く，右に動く，ジャンプする，右に動く，ファイアである。新しい解は，スタート及びジャンプである。
【００１２】
次に，コンピュータは，初期の解の適合度スコアと新しい解の適合度スコアを比較する。適合度スコアは，周知のエンジン又はアルゴリズムの手段により計算されてもよい。その時，コンピュータは，現在の解を生成する。初期の解の適合度スコアが，新しい解の適合度スコアよりも大きいか又は同じ程度である場合，現在の解は初期の解となる。新しい解の適合度スコアが初期の解のそれよりも大きい場合には，現在の解は新しい解となる。その後，解が選択されなかった比較は，放棄されてもよい。
【００１３】
また，コンピュータは，改訂される現在の解を生成するために，他の新しい解の生成と現在の解の適合度スコアと他の新しい解の適合度スコアの比較を繰り返す。
【００１４】
好ましくない状態が多数ある場合の解は，好ましくない解となるだろうし，確率ｐでの解は，上記アルゴリズムの反復中に変換されるだろう。好ましくない状態は，キャラクターの死を含んでもよい。コンピュータは，最も悪い適合度スコアを有する解が，所定の確率で，解の候補からランダムに新しく選択される解に変換されるように，解の適合度スコアを比較してもよい。解は，初期の解と生成される解を含んでもよい。このアルゴリズムは，最も好ましい解を維持しながら，好ましくない解を取り除くので，解はより好ましくなる。ランダムな選択は，状態に対応する数値を使用するレヴィフライトアルゴリズムにより実行される。
【００１５】
レヴィ分布は，ｘの値が大きいと，べき乗則１／（ｘ１＋γ）により減少する。ここで，γの値は０と２の間にある。γ＝２のときガウス型になるので（ガウス型がλ＝２に一致する時），ブラウン運動は，レヴィ運動の極端な例とみなすことができる。ガウス分布に比べると，レヴィ分布は，長距離であっても急速に減少しない。ブラウン運動の場合，各ジャンプは通常小さく，分布の分散であるｘ２は有限である。しかし，レヴィ運動の場合，分布の分散を発散させるため，小さいジャンプは大きいジャンプ又は飛ぶ（ｆｌｉｇｈｔ）に変えられる。つまり，レヴィでのジャンプは，特定の長さの尺度を有しない。したがって，プラットフォームのゲーム空間は非常に巨大なため，レヴィフライトは，プラットフォームのゲームのＡＩプログラムに適している。
【発明の効果】
【００１６】
本発明は，プラットフォームのゲームに適するゲームＡＩプログラムを提供することができる。
【００１７】
本発明は，プラットフォームのゲームで高性能を実現できるゲームＡＩプログラムを提供することができる。
【図面の簡単な説明】
【００１８】
【図１】図１は，本発明の１つの態様に係る，ゲーム装置１００の構成の例を示すブロック図である。
【図２】図２は，本発明のプログラムが実装されるコンピュータのブロック概念図である。
【図３】図３は，概念マップの例である。
【図４】図４は，解の概念マップの例である。
【図５】図５は，本発明のプログラムを実現させるフローチャートを示している。
【図６】図６は，解を表す一組の状態‐動作の集合を示している。
【図７】図７は，ＴＳＰの解と数値の大小の変化を示している。
【図８】図８は，図６に適用できるレヴィ変異の例を示している。
【発明を実施するための形態】
【００１９】
本発明の第１の側面は，ゲームのプログラムに関する。特に，プラットフォームのゲームＡＩプログラムに関する。本プログラムは，コンピュータに実装されてもよい。コンピュータの例は，Ｐｌａｙ  Ｓｔａｔｉｏｎ（登録商標），Ｎｉｎｔｅｎｄｏ  ＤＳ（登録商標）及びＮｉｎｔｅｎｄｏ  Ｗｉｉ（登録商標）等がある。本プログラムは，プログラムからの命令に従ってコンピュータに行わせてもよい。
【００２０】
プラットフォームのゲーム（又はプラットフォーマ）は，ビデオゲームのジャンルである。プラットフォームのゲームにおいて，１つ又は複数のキャラクターは，移動し，得点し，１つ又は複数のゴールを探索する。プラットフォームのゲームの例は，スーパーマリオブラザーズ（登録商標）である。
【００２１】
本発明は，プラットフォームのゲーム用のＡＩプログラムに関する。したがって，コンピュータは，そのようなプラットフォームのゲームのプログラムを実装してもよく，本発明のプログラムは，すでに実装されたプログラムを使用してもよい。つまり，コンピュータは，キャラクター，敵，環境，マップ，動作などを含むプラットフォームのゲームの情報を格納するメモリを含んでもよい。
【００２２】
下記では，図を参照して本発明の１つの態様を説明する。図１は，本発明の１つの態様に係る，ゲーム装置１００の構成の例を示すブロック図である。ゲーム装置１００は，装置の各構成要素が取り付けられている携帯可能な機器本体１０を有している。
【００２３】
機械本体１０の表面部は，ディスプレイ５０と操作入力部２１を有している。ディスプレイ５０は，上部の画像表示部５１と下部の画像表示部５２の複数の画像表示部を有する。操作入力部２１は，電源スイッチや十字キーなどの複数のスイッチやキーで構成されている。
【００２４】
機械本体１０に配置される回路には，制御部１１，ＲＡＭ１２，ハードディスクドライブ（ＨＤＤ）１３，音響処理部１４，グラフィックス処理部１５，通信インターフェース１７，インターフェース部１８，フレームメモリ１９，及びカードスロット２０が含まれる。制御部１１，ＲＡＭ１２，ＨＤＤ１３，音響処理部１４，グラフィック処理部１５，通信インターフェース１７，及びインターフェース部１８は，それぞれ内部バス２２に接続されている。
【００２５】
ＣＰＵ，ＲＯＭなどを含む制御部１１は，ＨＤＤ１３又は記録媒体７０に格納される制御プログラムに従って，ゲーム装置１００全体を制御する。制御装置１１は，例えばタイマー割り込みを生成するのに使用される内部タイマーを有する。ＲＡＭ１２もまた，制御部１１の作業領域として使用される。
【００２６】
音響処理部１４は，音響信号のＤ／Ａ変換及びＡ／Ｄ変換を行う音響入出力インターフェース機能を有する。また，音響処理部１４は，スピーカなどで構成される音響出力装置３０に接続されている。音響処理部１４は，様々な制御プログラムで処理を実行する制御部１１からの出力指示により，音響信号を音響出力装置３０に出力する。
【００２７】
グラフィック処理部１５は，上部の画像表示部５１と下部の画像表示部５２を有する表示部５０に接続されている。グラフィック処理部１５は，制御部１１の描画指示により，画像をフレームメモリ１９に分配し，上部と下部の画像表示部５１，５２に画像を表示するビデオ信号を出力する。ビデオ信号により表示される画像の切り替え時間は，例えば１フレーム１／３０秒に設定される。
【００２８】
プログラムなどが格納される記録媒体７０は，カードスロット２０に挿入される。本発明の態様の記録媒体７０は，書き込み可能なフラッシュメモリのような半導体メモリである。通信インターフェース１７は，無線又は有線により他のゲーム装置１００に接続可能であり，また，インターネットのような通信ネットワークにも接続可能である。機械本体１０は，通信インターフェース１７の通信機能により他のゲーム装置１００と通信し合うことが可能である。
【００２９】
操作入力部２１，カードスロット２０，及びタッチパネル４０は，インターフェース部１８に接続されている。インターフェース部１８は，プレーヤ（ユーザー）の操作を基にした操作入力部２１からの指示データ，及びタッチペン４１によるタッチパネル４０のプレーヤの操作を基にした指示データを，ＲＡＭ１２に格納する。その後，制御部１１は，ＲＡＭ１２に格納される指示データにより様々な算術処理を実行する。
【００３０】
タッチパネル４０は，上下の画像表示部５１，５２のどちらか一方又は，両方の表示スクリーン側に積層されている。したがって，制御部１１は，タッチパネル４０が積層される上下の画像表示部５１，５２のいずれか一方又は両方の表示スクリーン側での表示タイミングを管理，制御し，タッチペン４１などによるタッチパネル４０の操作のタイミングと位置座標を管理，制御することにより，プレーヤの入力操作に応じた入力情報を認識する。ディスプレイ５０は，上下の画像表示部５１，５２のような複数の画像表示部を有する代わりに，単一の画像表示部で構成されていてもよい。
【００３１】
インターフェース部１８は，制御部１１からの指示に従って，ＲＡＭ１２に格納されるゲームの進行を示すデータを，カードスロット２０に挿入される記録媒体７０に格納し，又は記録媒体７０に格納される中断時のゲームデータを読み出し，データをＲＡＭ１２に転送することなどの処理を実行する。
【００３２】
ゲーム装置１００でゲームをプレイする制御プログラム等の様々なデータは，記録媒体７０に格納されている。記録媒体７０に格納される制御プログラムの等の様々なデータは，記録媒体７０が挿入されるカードスロット２０から，制御部１１により読み出され，ＲＡＭ１２にロードされる。
【００３３】
制御部１１は，ＲＡＭ１２にロードされる制御プログラムにしたがって，グラフィックス処理部１５に描画指示を出力すること，又は音響処理部１４に音響出力指示を出力するような処理を実行する。制御部１１が，処理を実行している間に，ゲームの進行に応じて途中で発生するデータは，作業メモリとして使用されるＲＡＭ１２に格納される。
【００３４】
図２は，本発明のプログラムが実装されるコンピュータのブロック概念図を示す。ゲーム装置１００は，マッピング手段１１０，解探索手段１１１，レヴィフライト手段１１２，及びソフトマックス手段１１３を含む。各手段は，プログラム及びゲーム装置のハードウエアにより実装されてもよい。
【００３５】
コンピュータ（又はゲーム装置）は，状態と動作の関係を示す概念マップを生成してもよい。本発明のプログラムはプラットフォームのゲーム用であるから，ある状態は，ある動作によって，メインキャラクターの他の状態に関係する。マリオのようなメインキャラクターは，標準型プラットフォームのゲームプレーヤによって制御されてもよい。本発明の構成において，メインキャラクター，つまりＡＩキャラクターの動作は，本発明のアルゴリズムにより計算される。メインキャラクターの１連の動作，つまり，ＡＩキャラクターの１連の状態が，プラットフォームのゲームのゲームＡＩプログラムの解となる。
【００３６】
図３は，概念マップの例である。図３において，ノードはＡＩキャラクターの取りえる状態であり，端は，ＡＩキャラクターが行える動作である。動作は，‘Ｊ’，‘Ｌ’，‘Ｒ’でそれぞれ示される，‘ジャンプ（ｊｕｍｐ）’，‘左に動く（ｍｏｖｅ  ｌｅｆｔ）’，‘右に動く（ｍｏｖｅ  ｒｉｇｈｔ）’を含んでもよい。スーパーマリオブラザーズ（登録商標）における動作は，‘Ｆ’で示される‘ファイア（ｆｉｒｅ）’又は‘早く動く（ｍｏｖｅ  ｆａｓｔ）’，‘Ｄ’で示される‘しゃがむ（ｄｕｃｋ）’をさらに含んでもよい。図３で示されるように，マップは，複数のノードを含んでおり，各ノードは，ＡＩキャラクターの状態を定義する。全ての状態は，動作によって他の状態にリンクされている。本発明のＡＩアルゴリズムは，ゴールへの最も適する解を計算する。解は，いくつかの動作といくつかの状態を含んでもよい。
【００３７】
例えば，プログラム及びコンピュータのハードウエアにより達成されるマッピング手段１１０は，マップを生成してもよい。本発明の好ましい態様は，ソフトマックス手段１１３を使用してもよい。ソフトマックス手段１１３は，周知のソフトマックスプログラムを含むか又はソフトマックスアルゴリズムを認識できる。ソフトマックスプログラムの詳細は，本明細書の実施例で説明されている。ソフトマックスは，商業的に利用可能であり，ソフトマックススカッシング（ｓｑｕａｓｈｉｎｇ）は，例えば，Ｊ．Ｓ．Ｂｒｉｄｌｅ著‘Ｐｒｏｂａｂｉｌｉｓｔｉｃ  ｉｎｔｅｒｐｒｅｔａｔｉｏｎ  ｏｆ  ｆｅｅｄ−ｆｏｒｗａｒｄ  ｃｌａｓｓｆｉｃａｔｉｏｎ  ｎｅｔｗｏｒｋ  ｏｕｔｐｕｔｓ，ｗｉｔｈ  ｒｅｌａｔｉｏｎｓｈｉｐ  ｔｏ  ｓｔａｔｉｓｔｉｃａｌ  ｐａｔｔｅｒｎ  ｒｅｃｏｇｎｉｔｉｏｎ’，Ｆ．Ｆｏｇｅｌｍａｎ  Ｓｏｕｌｉｄ  ａｎｄ  Ｊ．Ｈｅｒａｕｌｔ，編  Ｎｅｕｒｏｃαｍｐｕｔｉｎｇ：Ａｌｇｏｒｉｔｈｍ，Ａｒｃｈｉｔｅｃｔｕｒｅｓ  ａｎｄ  Ａｐｐｌｉｃａｔｉｏｎｓ，ｐａｇｅｓ  ２２７−２３６，ＮＡＴＯ  ＡＳＩ  Ｓｅｒｉｅｓ  で説明されている。
【００３８】
図４は，解の概念マップの例である。マップの各ノードは，解に対応している。円内の‘Ｘ’は，例えばＡＩキャラクターの死などの失敗状態を意味している。円内の‘１０’は，得点を意味している。
【００３９】
マッピング手段１１０は，動作情報を格納するメモリから，状態を読み込んでもよく，メモリから動作を読み込んでもよい。マッピング手段１１０は，初期状態と読み込んだ動作の情報により，次の状態を計算することができる。ゴールに到達する動作の連続が，解となってもよい。つまり，解は状態の集合であってもよい。
【００４０】
初期の解は，計算される解から，ランダムに選択されてもよい。初期の解が計算された後，例えば，マッピング手段１１０は，解の候補を計算してもよい。処理の実行において，マッピング手段１１０は，メモリから１つ又は複数の動作を読み込んで，次の解を計算してもよい。
【００４１】
解探索手段１１１は，解の候補から新しい解を選び出してもよい。その時，解探索手段１１１は，初期の解の適合度スコアと新しい解の適合度スコアを比較してもよい。適合度スコアを計算する方法は，当該技術分野ではすでに周知である。例えば，好ましくない状態を含む解は，低いスコアとなってもよい。好ましくない状態の例は，死や失敗である。適合度スコアの他の要因は，ゴールを探索する必要時間であってもよい。もし，ある解が，他の解の時間よりも多くの時間を必要とするならば，その解のスコアは低くなってもよい。適合度スコアを計算する例は，特許文献１に開示されている。解探索手段１１１は，適合度スコアを計算した後，メモリに解のスコアを格納してもよい。適合度スコアを比較する時，解探索手段１１１は，格納される適合度スコアをメモリから読み込んでもよく，さらに，そのスコアを比較してもよい。
【００４２】
解探索手段１１１は，比較の結果に基づく現在の解を決定してもよい。もし，初期の解の適合度スコアが新しい解の適合度スコアと同じか又はそれより高いなら，解探索手段１１１は，現在の解として初期の解を選択してもよい。逆に，もし，初期の適合度スコアが新しい解の適合度スコアよりも低い場合，解探索手段１１１は，現在の解として新しい解を選択してもよい。
【００４３】
次に，解探索手段１１１は他の新しい解を選択する。新しい解と他の新しい解を選択する場合，本発明の好ましい態様は，レヴィフライトの概念を使用してもよい。そのような選択は，レヴィフライトエンジンを使用することにより実行されてもよい。レヴィフライトエンジンは，レヴィフライトアルゴリズムを使用して，解をランダムに選択してもよい。解の選択において，そのエンジンは，数値を解に割り当て，割り当てた数値により解を選択する。解探索手段１１１は，他の新しい解の生成と適合度スコアを比較するステップを繰り返してもよい。その時，解探索手段１１１は，改訂される現在の解を決定する。最も低いスコアを有する解は，放棄され，解の候補からランダムに選択される新しく選択された解に，所定の確率で変換される。
【００４４】
上記の説明は，プログラムを基にしている。本発明は，上記プログラムを含む，ＣＤ−ＲＯＭ，ＤＶＤ，ＦＤ，ＭＯ，ＳＤ−Ｃａｒｄ，ＵＳＢ，Ｈａｒｄ  Ｄｉｓｃ，又はメモリなどのコンピュータの読み込み可能な媒体であってもよい。本発明は，上記プログラムを含むか又は上記ステップを実現できるゲーム装置又はコンピュータであってもよい。
【００４５】
図５は，本発明のプログラムを達成させる例を示すフローチャートである。図５で示されるように，プラットフォームのゲームにおける解の決定方法は，解を初期化するステップ（Ｓ１０１），初期の解と新しい解を選択するステップ（Ｓ１０２），第１の適合度スコアを比較するステップ（Ｓ１０３），現在の解を生成するステップ（Ｓ１０４），他の新しい解の生成と適合度スコアの比較を繰り返すステップ（Ｓ１０５），及び状態を変換するステップ（Ｓ１０６）を含む。この方法は，選択されなかった解を放棄するステップと最も低い適合度スコアを有する解を変換するステップとを，さらに含んでもよい。
【００４６】
解を初期化するステップ（Ｓ１０１）において，コンピュータは，図４に示されるような，キャラクターの１つ又は複数の状態を含むそれぞれの解を計算する。
【００４７】
初期の解と新しい解を選択するステップ（Ｓ１０２）において，コンピュータは，初期の解と新しい解を選択してもよい。これらの解は２つとも，初期化された解から選択されてもよい。初期の解はなくてもよい。この場合，新しい解は現在の解として選択されてもよい。コンピュータは，初期の解と新しい解の適合度スコアを算出してもよい。
【００４８】
第１の適合度スコアを比較するステップ（Ｓ１０３）において，コンピュータは，初期の解の適合度スコアと新しい解の適合度スコアを比較する。適合度スコアは，従来のエンジン手段により計算され，コンピュータのメモリに格納されてもよい。適合度スコアは，比較を行うため，メモリから読み出されてもよい。
【００４９】
現在の解を生成するステップ（Ｓ１０４）において，コンピュータは，現在の解を生成する。高いスコアを有する状態が，現在の解となる。
【００５０】
他の新しい解の生成と適合度スコアの比較を繰り返すステップ（Ｓ１０５）において，コンピュータは，改訂される現在の解を生成するために，他の新しい解を生成するステップ及び現在の解の適合度スコアと他の新しい解の適合度スコアを比較するステップを繰り返す。
【００５１】
状態を変換するステップ（Ｓ１０６）において，コンピュータは，初期の解と生成される解を含む解の適合度スコアを比較する。そのため，最も低いスコアを有する解は，候補の解からランダムに選択される新しく選択された解に，所定の確率で変換される。ステップ１０６は，ステップ１０５のそれぞれの終わりに実行されてもよく，さらに，低い適合度スコアを有する状態は，他の状態にランダムに変換されてもよい。選択は，レヴィフライトエンジンにより制御されていてもよい。
【実施例１】
【００５２】
スーパーマリオブラザーズ（登録商標）に夢中になって成長した世代の人々にとって，そのゲームは，プラットフォームのジャンルそのものである。ゴールと基本的な操作は単純だけれども，そのゲームは，様々な罠を解決し，キノコ王国の宝物を求めて夢中になることで，数えきれない娯楽の時間を与えてくれた。
【００５３】
そこで，以下の実施例は，スーパーマリオブラザーズ（登録商標）を基に説明する。しかし，本発明は，スーパーマリオブラザーズ（登録商標）におけるＡＩアルゴリズムに限定されるものではない。
【００５４】
最近の研究は，以前の研究の様々な分野を基にしている。最も近い例は，スーパーマリオブラザーズ（登録商標）をプレイすることを目的としてＡＩを探求する研究である。少し遠い例としては，他のゲーム，特に進化的なものをプレイすることが意図されているＡＩである。
【００５５】
本来的には，ある瞬間におけるマリオの状態は，マリオＡＩのベンチマークによって完全に決定されるものである。しかし，ＡＩを実装する時，選択アルゴリズムで表わされる状態が，どのくらいでどのような局面なのかにおいて，多数の選択肢がある。既定値では，マリオＡＩのベンチマークは，マリオスプライトの中心に置かれた２２×２２個のグリッドタイルを有する。
【００５６】
上記のグリッドは例であり，異なってもよい。
【００５７】
すべてのグリッドセルは，それぞれの位置で存在するあらゆる関係の情報を含んでいる。グリッドに含まれる情報の例は，敵，地面，ブロック，パワーアップ，そしてマリオ自身である。この情報は，状態が良い時を表わしているけれども，問題空間においてより細かな様子を提供する２つの付加的要素を取り入れる。１つ目は，いずれかの特定グリッドが観測される時のレベルをクリアするための残り時間であり，２つ目は，グリッドが観測される時のマリオが向く方向である。したがって，すべての状態の表現は，時間と方向が追加されるグリッドのスクリーン情報から成る。
【００５８】
解の表現
解の表現は，間違いなく最適化アルゴリズムの最も重要な部分であり，解がどのように表現されるかについて，フレームワークにおいては制約がない。上記で説明されているように，本発明による表現は，状態から動作へマッピングすることである。
【００５９】
スーパーマリオブラザーズの動作空間は，組み合わせ可能な，１）左に動く，２）右に動く，３）しゃがむ，４）ファイアボール（ｆｉｒｅｂａｌｌ）／速く動く，から成る。解の表現は，状態間の明示的なリンクのすべてを含んでいるが，単一レベルの確定性により形成される黙示的なつながりも存在する。もし，マリオが状態‘ａ’で動作‘ｘ’を行う場合，マリオは，通常，状態‘ａ´’に移るだろう。この表現の形式は，この形式でのアルゴリズムは，ＡＩが，実施中である現在のレベル以外には存在しない黙示的なつながりに依存することを，一般化しない１つの理由である。これらの状態‐動作のペアの集合が，解を表現する（図６参照）。
【００６０】
図６において，マリオの状態の任意の集まりが，円で表わされている。円の下にある文字は，それぞれの状態に関連する動作を表わしている。この文字は，上記記載された動作の始めの文字に対応している。状態間の点線は，マリオが状態間を移動するときにのみ，状態間に形成される黙示的なつながりを表わしている。また，つながりは，解を導き出すことを示している。状態‘Ｘ’は，死を意味している。
【００６１】
解の初期化
他の進化アルゴリズムと同様に，解をある予測可能なランダム値に初期化する処理を始める。しかし，ある解の予測可能なスクリーンの小さな集合を訪れるだけならば，すべてを初期化するにはリソースの浪費となるだろう（また，処理しにくいものでもある）。その代わりに，空の解から始めることで，ゆっくりと初期化させる。つまり，ＡＩは，あるレベルを探索する時に，ある適切な値に初期化されたスクリーンを初めて認識することになる。このようにして，無駄のない初期化の特性とする。
【００６２】
カッコウ探索（Ｃｕｃｋｏｏ  ｓｅａｒｃｈ）
カッコウ探索は，自然界の実例を基にした学習アルゴリズムの最も新しいものである。詳細は，［Ｘ．−Ｓ．Ｙａｎｇ，Ｓ．Ｄｅｂ，‘Ｃｕｃｋｏｏ  ｓｅａｒｃｈ  ｖｉａ  Ｌ´ｅｖｙ  ｆｌｉｇｈｔｓ’，  ｉｎ  Ｐｒｏｃ．  Ｗｏｒｌｄ  Ｃｏｎｇｒｅｓｓ  Ｎａｔｕｒｅ  ＆  Ｂｉｏｌｏｇｉｃａｌｌｙ  Ｉｎｓｐｉｒｅｄ  Ｃｏｍｐｕｔｉｎｇ  ＮａＢＩＣ  ２００９，２００９，ｐｐ．  ２１０−２１４］で理解され，もしこの研究がなかったら，本明細書の残りの記載に沿って理解できるよう，このアルゴリズムの本質を説明する。これの最もよい例は，グリッドの少し外部にある大砲である。よくあることで，たとえＡＩが大砲の知識を有していなくても，ＡＩは，大砲が発火するのを待つことになる。
【００６３】
このアルゴリズムは，托卵の方法で他の鳥の巣に卵を産む，ある種のカッコウの動作を基にしている。もし，托卵の特性が十分に発達していたなら，その卵は生き残り，卵が孵化することでその巣を乗っ取ることになる。さもなければ，卵は，巣の里親に排除されることになる。もっともよく托卵を進化させる処理は，カッコウ探索の本質である。
【００６４】
アルゴリズムの説明
所定の最適化問題について，解は，巣（卵を含んだ）によって表現される。基本的なアルゴリズムは，ランダムな解の初期化を呼び出す。各反復ステップにおいて，２つの操作が実行される。１つ目は，その時評価されるある現在の巣からランダムウォークを実行することにより，新しい巣を生成する。実際上，この巣は現在の最も良い巣である。この新しい巣を維持するかどうかを決定するために，すでに存在するランダムな巣が選択され，そしてそれらの優劣が比較される。より良い巣は維持され，好ましくない巣は，排除される。２つ目は，好ましくない巣は，ある確率ｐにより取り除き，ランダムな巣に変換する。これは，ある確率ｐで，最も好ましくない托卵が発見されることに相当する。
【００６５】
レヴィフライト（Ｌｅｖｙ  Ｆｌｉｇｈｔ）
上記アルゴリズムの核心部分は，レヴィフライトを使用しなくても（例えば標準的なブラウン運動で）記載され得る。しかしそのようなバージョンは，最適化を考慮していない。レヴィフライトに基づく運動は，裾が低減していくレヴィ分布の性質から，大きな領域をとてもすばやく探索することができる。このことから，所定の解の周りの領域を探査する時，この探索は，ほとんどの場合ローカルに留まることになるが，時折，長い距離を移動することができる。これは，高速で空間を探査する助けとなる。マリオが提供する莫大な探索空間を考慮する時，このようなタイプが適している。レヴィフライトの有用性の詳細は，上記研究で説明されている。
【００６６】
パラメータチューニング
高く評価されるカッコウ探索の１つの明確な特質は，パラメータが少ないことである。遺伝的アルゴリズムのようなアルゴリズムに共通する問題点は，最良の結果を得るために，入念にチューニングしなければならない多くのパラメータが存在することである。Ｃｕｋｏｏ探索は，個体数を加えた単一のパラメータ，すなわち卵が発見される確率を提供するのみと言うことができる。このパラメータは，レヴィ分布のパラメータを考慮しても，一般的な遺伝的アルゴリズムよりもはるかに少ない。加えて，少なくとも明示的な例の集合では，このパラメータは，どのチューニングにも起こる多くのエラーをほとんど考慮しない。このアルゴリズムをマリオの問題空間に適用する時，この鈍感さが保持されるかどうかは，知られていなかった。パラメータの感度はこの実験の焦点ではないが，かなりの部分が正しいようである。適切な確率が，無関係に.２から.５にわずかに変化したのに対して，個体数は，その結果により，１５から３０の巣にわずかに変化した。
【００６７】
レヴィフライトとカッコウ探索のマリオへの応用
カッコウ探索の初期の実験において，いくつかの従来の最適化問題を行うことが示された。翌年，［‘Ｅｎｇｉｎｅｅｒｉｎｇ  ｏｐｔｉｍｉｚａｔｉｏｎ  ｂｙ  ｃｕｃｋｏｏ  ｓｅａｒｃｈ  ‘Ｉｎｔ．Ｊ．Ｍａｔｈｅｍａｔｉｃａｌ  Ｍｏｄｅｌｌｉｎｇ  ａｎｄ  Ｎｕｍｅｒｉｃａｌ  Ｏｐｔｉｍｉｓａｔｉｏｎ，ｖｏｌ．１，ｎｏ．４，ｐｐ３３０−３４３，Ｍａｙ  ２０１０．］などの，いくつかの現実世界の最適化問題の開発の成果がさらに示された。しかし，これらの問題の性質は，すべてが数値探索空間に関するという点で類似している。レヴィフライトは，レヴィ分布の大小の量によって数値を変換させ，概念化するのが容易であるため，このタイプの問題は，特にレヴィフライトに適している。この技術を，マッピングが容易でない領域へ展開させる開発は今までなされていなかった。しかし，考えられる今後の実験の領域として，ＴＳＰ（巡回セールスマン問題）が示された。
【００６８】
マリオのようなＴＳＰは，ある制約のもとに，異なる状態の連続性を最適化する試みを表わしている。ＴＳＰにおいて，各状態は，シティであり，ゴールは，各シティを１度訪れる場合の最も短いパスを最適化することである。マリオの場合，状態は，上記の状態であり，ゴールは，マリオがそのレベルの最後に向かって移動する距離を最短にすることである。
【００６９】
レヴィ分布による解を基にした状態の問題についても，同様の変換を適用する方法を提案する。その方法を初めに単純ＴＳＰに適用し，その後，マリオの領域にすべて拡張する（状況は似ているが）。
【００７０】
状態と数値間のギャップの橋渡し
レヴィフライトは，特定の方法で解を変化させることにより機能する。この解が数値の時，レヴィ分布から値を得ることと解を直接変化させることは，単純な処理である。それに比べて，ＴＳＰは，連続状態を含むので，レヴィフライトの方法では，一般的に変換させることができない。そこで，数値と連続状態間のマッピングを生成することにより，レヴィ値をＴＳＰ問題に適用する直観的な方法を可能にする。さらに，このようなシステムは，この方法により視覚化できるいずれの問題にも適用されることになる。そのような関係の１つとして，連続状態を数値で表現することがある。各状態は，数値のビットに対応している。この連続の大小の変化は，各状態の特定の変更として表現される。ＴＳＰは，同様の方法で視覚化できる。（図７参照）
【００７１】
図７は，ＴＳＰの解と数値の大小の変化を示している。数値と解は共に，連続状態を表わしている。数値に関して，変化の大きさは，状態を変更するために，状態を符号化するビットの重要度に，大抵，依存する。ＴＳＰの解において，状態変化の頻度は，最も重要である。
【００７２】
ここで留意すべきことは，‘大’と‘小’の概念は，異なる２つの例によって別々に表わされていることである。問題の多くは，領域特有の方法により，そのような大きさの相異を表現することになるだろう。この関係は，ＴＳＰの解を変化させるゴールを明確に示している。しかし，さらに加えると，必要な変化を生成する数値によって，ある方法が創り出される必要がある。
【００７３】
変化の際の数値の改変
任意の変化を連続状態へ表わす方法を明確に述べていることから，そのような変化をもたらす処理を作り出す必要がある。幸運にも，どの数値も取り込み（おそらくレヴィ分布から），ほとんどいずれにも変化するパラメータとして，その数値を使用する方法が複数ある。例えば，ある方法は，確率として数値を扱うことができる。ＴＳＰの各シティは，レヴィ確率ｐによって，ランダムなシティと交換される。通常，わずかな変化のみの結果なら，確率は低くなる。まれに全体の解が変化することがある。これは必要な振る舞いである。さらに制約される例として，レヴィ分布の数値は，すべての状態数のほんの一部分とみなされる場合がある。そのほんの一部分を使用することにより，最も多い現在の状態数の多くが，ランダムに変化する。これは，初期状態がすでに最適化であるように，つまり，つながりの端が探査の重要部分であるように，解を展開する場合に，特に有用である。ここで留意すべきことは，選択される状態がランダムに変化するように始めているが，これは必ずしも要件ではないことである。多くの最適化問題は，新しい状態を選択するヒューリスティックを利用することが望ましい。
【００７４】
マリオのＴＳＰ
ＴＳＰへのアルゴリズムの適用は，マリオへの適用がほぼすぐに理解できるほど，一般的だった。上記，状態表現により，マリオの解でレヴィ変異を生成する上記説明の１つと同様の方法を説明できる必要がある。しかし，ＴＳＰで，各状態は理解され，ゴールは，すべての状態を介して，最適なパスを見つけることができた。マリオは，数えきれないほど多くの状態を有している。さらに，状態から状態への遷移を制限する制約の集合は，あまり理解されていない。マリオの問題は，認識できないほどの状態を有し，状態間の遷移は，ほとんど理解されていない。
【００７５】
しかし，前記段落に示されるように，解を作り上げる状態と遷移の小さな部分集合については，容易に推論できる。すべての状態は，次の状態に至る動作に関連している。レヴィ分布によりこれらの連続状態は変換される。
【００７６】
レヴィ変異の適用
レヴィ確率が，状態を変化させる必要があることを示す時，ＴＳＰでは選択できたような，完全にランダムな状態を選択する方法はない。なぜなら，状態の集合が理解されていないためである。すべての状態が理解されていても，現在の状態へのつながりは，同様に，容易に決定できない。したがって，代わりに，新しい動作がランダムに（ヒューリスティックに）生成される。そのため，レヴィ変異は以下のように適用できる。初めに，レヴィ分布の値を確率として利用し，解となる状態‐動作のペアのいずれかの１つを変化させる。前記確率により，すべての状態‐動作のペアを巡回し，適切に動作を変化させる。興味深いことに，変化した連続状態の位置は，まったく変化していないが，順に続くすべての状態へのリンクは，すぐに，切断される（図８参照）。
【００７７】
図８は，図６に適用可能なレヴィ変異の例を示している。切断されるリンクは黒の矩形で示されている。古い動作から新しい動作へ矢印が示されている。ここで留意すべきことは，初めの変異は，次の状態との関連性を取り除いたにもかかわらず，もう１つまた変異されていたことである。これは，将来の変異が，それを連続状態に戻す場合，これは役割を果たすことになる。
【００７８】
これは，変異が，ＴＳＰで見られた切断よりもさらに多くの切断となることを意味している。加えて，図７の数値の例のように，変化の大きさは，ほぼ，変化する状態の位置に依存する（初期の連続状態は最も影響が大きい）。
【００７９】
ソフトマックス（ＳＯＦＴＭＡＸ）による探索空間の絞り込み
今あるものを含めて，進化するＡＩは，それほどうまくいってはいない。つまり，ＡＩは，ランダムな初期化状態では，とてもゆっくりと収束する。事実，マリオＡＩのコンペの所定の最少シュミレーション数は，決して合理的な解を導かない。最終結果は，表ＩＩで理解できる。性能は期待外れだが，それは予想通りである。そのような大きな問題空間で，解を見つけだすことは，本質的に不可能であり，コンペにおける所定の制限である。ソフトマックスは，Ｑ学習に利用される手法である。これは，貪欲手段の問題点である，好ましくない状態が最良の１つとして選択される可能性を回避する。ソフトマックス手法は，様々なＱ値を基にして，適切な確率を各遷移に割り当てる。ここで使用されるアルゴリズムは，Ｑ学習と異なるが，そのため，新しい状態への遷移の確率の基礎となるＱ値は存在しない。けれども，ソフトマックスにより具体化される概念は，十分似通っているため，以下のヒューリスティックを説明するのに利用できる。この実験で使用されるＡＩは，マリオのレベルのコースをクリアするため，次の状態へ展開する動作を絶えず選択する。これらの選択時，チューニングされたあるヒューリスティックの手法によって，好ましくない動作から好ましい動作になるように変換することで，ソフトマックス手段の本質が理解される。初めに，一般的なヒューリスティックをアルゴリズムに適用することを考察する。次に，マリオを最適化するために選択する特定のヒューリスティックを考察する。
【００８０】
ヒューリスティックの適用
説明したとおり，初期化時にヒューリスティックを適用することは可能であり，レヴィ変異処理の一部分として適用することも可能である。それぞれの場合において，状態を取り込み，遷移動作がこの状態で生成されるように決定する。これは，次の状態が何になるかを決定する。一般的に，小探索空間のアルゴリズムにおいては，これらの決定は，ランダムに生成される。代わりに，確率ｐによって，ある特定動作は，ある所定のヒューリスティックに従って選択される。別の方法では，ランダム動作が選択されることになる。さらに，オリジナルのソフトマックス手段と異なる点があげられる。つまり，ヒューリスティックは，現在の状態と関係がない。
【００８１】
現在の状態がたとえどんなであっても，確率は，本実験においては同じままである。状況固有の確率は推測できても，同時に，システムによってハードコードされた規則に対応することにより，すべての付加的確率はアルゴリズムをさらに複雑にする。
【００８２】
ヒューリスティックの選択
主要なヒューリスティックの選択は，マリオ２００９のコンペの結果を考察して，選択された。マリオ２００９のコンペは，Ａ＊アルゴリズムが優れていたことのほかに，興味深い結果を提示した。特に，多くの進化アルゴリズムは，マリオＡＩベンチマークシステムが含まれた単純なエージェントに敗北した。そのエージェントは，ただ，１）前方へ走る，２）ジャンプ，の２つのことをしただけである。これは，多くの進化アルゴリズムが，均等に探索空間を探査していたようなので，道理にかなっている。コンペにおける試みは，ステージの冒頭で，左側に走ろうとすることに秒単位で多くの時間を費やした。対照的に，マリオのゴールは，このレベルの一番の右側のゴールポストに到達することである。すでに，この単純なエージェントは，たとえすべての出来事に全く対処しない場合も，問題空間を効果的に移動している。右に走る基本技術は，マリオＡＩの基本的なニューラルネットワークであるかのように示された。
【００８３】
初めに，ヒューリスティックは単純であって，確率ｐで前方へ走ったり，ジャンプさせる。別の方法では，ランダムに動作が選択される。ただ，この変化は，１番初めの平凡なレベルを通過することが，一見不可能なタスクとなった。ｐ値は，重要であるが，鈍感なパラメータ（ｉｎｓｅｎｓｉｔｉｖｅ  ｐａｒａｍｅｔｅｒ）である。実験では，.６は低すぎたため，コンペでの収束は遅すぎたことが明らかになった。これに対して，.９以上では，ＡＩは素早く収束され，局所最適化に行き詰った。しかし，たとえそれが，動作空間の大部分であっても，このひたむきなヒューリスティックは，プレーヤがプレイするためのものではない。マリオの困難なステージを探査するということは，ときどきマリオは左に進むことが必要であるということがわかった。特に，隠された障害物が，そのレベルをクリアするのに必要な状況の場合，マリオはおそらくその場所を通り過ぎ，行き詰ることになる。もちろん，十分な時間があれば，確率要素は，マリオを正しいパスに導くだろうが，その速度は，今まで観測されたことがないほどゆっくりである。人間のプレーヤであれば，問題を理解して，すでに探査した空間を再度探査するために左に移動することになるだろう。
【００８４】
ある解は，行き詰りに気づき，隠された障害物などを探す為に引き返すように，特定のコードを加えることになる。この解は，公正であって，そのような学習技術の組み合わせやハンドコードアルゴリズムを，成功させることは可能である。しかし，この実験において，望まれる振る舞いを導くヒューリスティックが存在するかどうかを見つけだすのは，とても重要であった。従来のヒューリスティックは，明白な論理により左に移動させるヒューリスティックに置き換えられない。したがって，解は単純であって，ある確率ｐ´により左側を探査させる複合的なヒューリスティックを生成する。最後に，ヒューリスティックは，１）確率ｐにより先へ進む，ジャンプする，２）確率ｐ´により，左に進む，ジャンプする，３）別のやり方では，ランダムに動作を選択する，こととなる。この場合でのヒューリスティックの値は，互いに依存する。その前に，確率ｐを相当値に変化させるが，この実験例では，ｐが.６よりも.９に近づくことを示している。ｐ´は，レベルに応じて，.６と.８の間を変化することができる。ｐが，前よりも高い値になる必要があるのは，その時に付加される左への移動が，レベルをクリアする一般的な進路を妨害するからである。これに対抗するために，常に，良い解を考慮しながら右に移動させる。
【００８５】
［表１］
0005759164.tif 000002
表１は，本明細書で示されるカッコウ探索アルゴリズムと遺伝的アルゴリズムの比較を示している。
共に本明細書で説明されるソフトマックスヒューリスティックを使用している。
ＬＤは，困難なレベルを表わしている。Ｄｅｆａｕｌｔは，パラメータを加えない場合のレベルを表わしている。ＵＧは，地下のレベルを表わしている。ＨＢは，隠された障害物がある場合のレベルである。ＢＯＴＨは，隠された障害物を含む地下のレベルを表わしている。
【００８６】
結果
本明細書で説明されるＡＩを，任意に選択されたシードによって生成された，様々なタイプのレベルと困難なレベルの集合で，検証した。また，そのレベルで，ソフトマックスのヒューリスティックの場合とそうでない場合を検証した。さらに，類似エージェントを，同じレベルで進化させるために，一般的な遺伝的アルゴリズムが使用された。ソフトマックスヒューリスティックの結果は，表１により理解することができる。ランダムなヒューリスティックエージェントの結果は，表２に示される。
【００８７】
ソフトマックスの結果
まず注意することは，従来の仮設とは逆となることであり，遺伝的アルゴリズムは，カッコウ探索と同じように実行される。一般的に，両者は，容易なレベルでは，速く十分に実行する。容易なレベルは，前記単純なエージェントが，どの学習機能も全く利用することなく，解決できる場合なので，予期され得る。
【００８８】
困難なレベルにおいては，以下の２つのことが起こりえる。１）手に負えないレベルの場合，両者のボット（ｂｏｔｓ）はたいていすぐに，平凡な答えに収束する。２）実行できるレベルの場合，両者は，解（ひょっとすると最適ではない）に収束するか，又は一方は他方よりもわずかに良い解となる。２つのアルゴリズムの違いを考えれば，ヒューリスティックを利用することで，振る舞いを莫大な量にさせることは確かであると思われる。この場合，考えられるレヴィ分布の速い探索能力は，カッコウエージェントによって，扱いにくい領域を，遺伝的アルゴリズムよりも速い速度で，解決するだろうという見込みがあった。しかしここでは現れなかった。
【００８９】
［表２］
0005759164.tif 000003
表２は，ソフトマックスヒューリスティックを適用しない場合の，表１と同じ比較を示している。つまり,解はランダムに初期化される。
【００９０】
ランダムの結果
２つのＡＩの結果は共に，ヒューリスティックを使用していないため，はるかに劣るものになった。これは，アルゴリズムを使用するか否かにかかわらず，問題空間の探索に焦点を当てるソフトマックスのヒューリスティックを使用することで利益を得ることができることを示している。さらに，レヴィによる速いカッコウ探索は，それをさらに発展させる可能性があるが，それは結果に示されていない。その１つの可能性のある理由として，カッコウエージェントは，比較的速い速度で探索しているけれども，探索空間は，とても広いので規則的な探索では基本的に絶えず失敗することになるためである。他の理由は単純であって，カッコウ探索は，より少ないパラメータチューニングを要件とするが，副最適化として，好ましくない行動を導くように，パラメータがチューニングされるためである。それと対照的に，遺伝的アルゴリズムは，平均よりも良くチューニングされた。
【００９１】
マリオＡＩの領域は，極端に開かれており，本実験では，明確に‘解決’しなかった。本実験から拡張されるいくつかを記載する。
【００９２】
レヴィ変異の考察
すでに述べたように，状態空間を変換させるために，レヴィ分布により生成される値を使用する方法が多数ある。これに関して，異なる選択の探査は，いくつかのレベルにおいて，さえない性能を明らかにするかもしれない。
【００９３】
最適なヒューリスティックの発見
最も重要なことは，進むことに圧力を掛け続けるヒューリスティックであるが，それほど探査を抑制しなかった。
【００９４】
ＡＩの一般化
現在のＡＩは，訓練されているレベルを唯一確実に行うことができる。これは，現実のゲームシステムだけでなく，コンペのラーニングトラック（Ｌｅａｒｎｉｎｇ  Ｔｒａｃｋ）でも有用だが，‘マリオをプレイするＡＩ’にとっては重要ではない。そのような進化アルゴリズムが，Ａ＊に似たアルゴリズムと競争できるかどうかを考えることは，重要な作業である。
【００９５】
結論
この実験において，スーパーマリオブラザーズを使用して，カッコウ探索アルゴリズムの拡張を説明してきた。さらに，論理的な解に速く収束するようにソフトマックスヒューリスティックを加えた。レヴィフライトとカッコウ探索を利用することは，一般的な遺伝的アルゴリズムに匹敵するほどの機能を有する。しかし，他のアルゴリズムでは，カッコウアルゴリズムの素早い探索能力から得られる利益は，示されなかった。
【００９６】
ソフトマックスヒューリスティックの使用は，困難なレベルを規則的にクリアさせるので，ＡＩ手法の性能に劇的な効果があった。
マリオを動かす進化アルゴリズムとして，レヴィフライトとカッコウ探索を利用することを選択するのは，理にかなっている。
さらに，そのようなアルゴリズムはいずれも，論理空間の探索に焦点を当てるソフトマックスヒューリスティックを使用することが好ましい。
【符号の説明】
【００９７】
１００    ゲーム装置
１１０    マッピング手段
１１１    解探索手段
１１２    レヴィフライト手段
１１３    ソフトマックス手段
【図１】
0005759164.tif 000004
【図２】
0005759164.tif 000005
【図３】
0005759164.tif 000006
【図４】
0005759164.tif 000007
【図５】
0005759164.tif 000008
【図６】
0005759164.tif 000009
【図７】
0005759164.tif 000010
【図８】
0005759164.tif 000011