85DATA HOMEへ
MYCAR情報掲示板BLOGプロフィール

HOME →  テトリスを作る(セガ アーケード版)

■テトリスを作る その4 コンピュータにテトリスをプレイさせる  (AI テトリス) その2
  2014年2月9日

 

記事にて、AIテトリスを作成してみましたが、25000余りのブロックを積んだのに、4行消し(テトリス)が、たったの149回しかありません。

ゲームオーバーを恐れ、積極的に4行消し(テトリス)を狙っていないのですね。


4行消しの比率を向上させる為に、評価関数における計算の係数を調整してみました。


同じだけブロックを落としてみたら、342回の4行消し(テトリス)が出来ました。
一回の調整だけで4行消しが2倍以上 (2.29倍)の回数になったのですが、消し方を見てみると「まだまだ甘い」感じです。

隙間(空洞)の上には、なるべくブロックを置かないようにして、ゲームオーバーになるのを防ぎつつ、積みあがっている段数が高くてもリーチを積極的に狙うようにしてみました。

・・・・すると

4行消しの率が高まり、(当初比 3.12倍)調子にのって、さらに段数を上げてもリーチを積極的に狙ったら・・・・・・

「ゲームオーバーになっちゃった!」

4行消し(テトリス)を狙いすぎてしまいました。(調子に乗っちゃったのかな?)

積み上がった行数とは、ブロックの平均の高さを示しているのですが(AVE)、それだと高低があった場合、正しく判断できなくなる事もありそうです。

なので、積み上がったブロックの最上高も判断の値を設け、平均高が●以上 OR 最上高が▲以上ならば、4行消しは狙わずに1段でも良いから積極的にブロックを消すような動きにしてみました。

・・・・すると

4行消しの率も高まり、(当初比 3.67倍) ゲームオーバにもならなくなりました。

まだまだ比率的には低いのですが、この評価関数を実装してみます。


※下のスクリーンショットは以前(2/1)のもの

以前のものは、レベル99到達時のスコアが306438

今回作成のものは、レベル99到達時のスコアが552385

最後に動画 テトリス コンピュータがプレイ(AI) その2

 

 

 

 

以前に比べると、明らかに4行消し(テトリス)の比率が上がっています。
見ていると「それっぽい積み方」のような気がしてきました。

反面、まだ「甘い積み方」であるような気もしていますので、もうちょっと研究してみようかと思っています。