AI Tetris Versus Analyzer

プロジェクト概要

本プロジェクトは、異なるAI(Large Language Models)によって生成されたテトリス思考ロジックを戦わせ、最高得点を競うプラットフォームです。 各AIに同一の条件で思考アルゴリズムを記述させ、どのAIが最も効率的に得点を稼ぎ、長く生存できるかを検証します。

基本ルール

テトリスピース規準

本システムは以下の7種類のピースを使用します。これらは90度単位の回転を持ち、ゲーム開始時に1000ピースのランダムなキュー(2次元配列)として生成されます。

No.1: O
No.2: I
No.3: L
No.4: J
No.5: T
No.6: S
No.7: Z

特典計算(Score System)

本プロジェクトでは、以下の計算式に基づき Level 5 の設定を標準採用します。

LEVELSingleDoubleTripleTETRIS
0401003001200
1802006002400
21203009003600
316040012004800
420050015006000
5 (Adopted)24060018007200
628070021008400
732080024009600
8360900270010800
94001000300012000

各AIへの指示書(Prompt)

各AIに対し、以下の内容を共通の指示として入力します:

あなたは最強のテトリスAIプログラマーです。 以下の仕様で動作する、ブラウザゲーム用のJavaScript関数 findBestMove(type) と calculateScore(...) を作成してください。

■ゲーム仕様
- 盤面: 横10 x 縦20 (変数名: COLS=10, ROWS=20)
- 配列: board[y][x] (0=空, 1以上=ブロックあり)
- 落下ブロック: 引数 type (1~7の整数) で渡される。
- 回転: 0~3 (90度刻み)

■目的
- ゲームオーバーにならず、できるだけ長く生存し、ハイスコア(4列消し等)を狙うこと。

■提供される既存関数
- getTransformedBlocks(type, r): 回転 r の時のブロック座標配列 {x, y} を返す。

■タスク
1. calculateScore(simBoard, linesCleared, type, x, width)
   - 仮想盤面 simBoard と消えたライン数 linesCleared を受け取り、その盤面の「良さ」を数値で返す評価関数。
   - 穴(空白)を作ると減点、ライン消去は加点、高さが低いと加点、など独自の「最強ロジック」を組み込んでください。

2. findBestMove(type)
   - 全回転(0-3)・全横位置(0-9)をシミュレーションし、calculateScore が最も高くなる {x, r, y} オブジェクトを返す関数。

■制約
- 外部ライブラリは使用禁止。
- 変数 board (現在の盤面) はグローバル変数として参照可能。
- 実行速度を考慮し、あまりに重い計算は避けること。

評価指標

思考アルゴリズム:多目的評価戦略 (Multi-Objective Heuristic)

本プロジェクトの最強ロジック(Gemini最強のテトリスAI評価ロジック Ultimate Heuristic)は、盤面の各配置候補を多角的な指標でスコアリングし、最も期待値の高い一手を決定します。 単なるライン消去ではなく、「将来の自由度」を最大化し、「致命的なリスク(穴)」を最小化する以下の5つの評価軸を動的に組み合わせています。

1. 穴の拒絶 (Hole Avoidance)

テトリスにおいて、ブロックの下に空洞(穴)ができることは致命的です。このアルゴリズムは穴の発生に対し、他の加点をすべて打ち消すほど強力な「重い減点(ペナルティ)」を課します。 穴を1つ作るくらいなら、盤面を数段高く積み上げるリスクを取る方が長期的には有利であると判断します。

2. 表面の平滑化 (Bumpiness Control)

隣り合う列の高さの差(Bumpiness)を最小限に抑えます。盤面が平坦であればあるほど、次にどのような形状のピース(特にS/Z型やO型)が来ても、 穴を作らずに配置できる確率が高まるためです。

3. 累積高さの最小化 (Aggregate Height)

盤面全体の高さを低く保つことで、不測の事態(I型ピースが長時間来ないなど)への許容範囲を広げます。 ただし、単に低くするだけでなく、後述する「井戸」の形成とのバランスを考慮します。

4. テトリス待機と井戸の形成 (Well Strategic Forming)

Level 5の特典ルール(TETRIS 7200点)を最大限に活かすため、右端の1列を常に空ける「井戸(Well)」を形成しようとします。 井戸の深さが3〜4段に達した際、I型ピースが投入されると同時にテトリスを発動させ、スコアを飛躍的に伸ばします。

5. 4列消し以外の消去制限 (Selective Clears)

盤面が安全な高さ(15段以下など)にある場合、1〜3列の小規模なライン消去をあえて控え、テトリスを狙える状況を維持します。 逆に、盤面が危険な高さに達した場合は、即座に生存モードへ切り替わり、どんな形でもラインを消して盤面を下げることを優先します。

※このアルゴリズムは、Pierre Dellacherieモデルをベースに、本プロジェクト専用のパラメータ調整を施したものです。
to be continued ...

← アナライザーへ戻る