從零打造會自我進化的遊戲 AI
Prompt Engineering (提示詞工程) 與 Gemini 協作,在不需深厚數學背景下實作 Q-Learning 演算法。
"We didn't build it to play any of them... it learned from its own experience."
(我們沒有教它規則,它是從經驗中學習的。)
請搜尋 Q learning 是什麼,並回答:
1. 簡單好理解的方式解釋 Q learning 的核心公式和概念,
2. 提出兩個生活中可能用到的實際案例。
新資訊 = 舊資訊 + 學習率 × (真實獎勵 + 資訊落差)
NewQ = OldQ + Learing_Rate × (Reward + NewQ - OldQ)
翻譯:「我原本以為這家餐廳只有 50 分。今天去吃發現超好吃 (+10分),而且聽說隔壁桌還有隱藏甜點 (+未來預期)。所以,我要修正這家餐廳的評價,把它調高一點點!」
AI 遇到題目,它不知道答案,於是丟骰子隨便選一個動作。
結果:如果接到球(+10分),它趕快在小抄上記錄:「這招有效!」
玩了幾千次後,小抄寫滿了。AI 看到題目,直接查表選分數最高的動作。
使用 Gemini 生成一個單一 HTML 檔案的遊戲,並包含「手動/AI 切換」功能。
Prompt 範例
請扮演資深 Web 遊戲工程師。我要製作一個單一檔案的 HTML5 遊戲,呈現強化學習 (RL)。
**1. 遊戲基礎:**
* **類型**: 接寶物 (Catch the falling object)。
* **操作**: 支援「觸控滑動/滑鼠跟隨」,手指在哪板子就在哪。
* **規則**: 接到 +10 分,漏接 -10 分。
**2. AI 核心 (Q-Learning):**
* **狀態 (State)**: 簡化為「Target 與 Player 的水平距離區間」(分 10 格)。不要用像素。
* **動作**: 左移、右移、不動。
* **機制**: 實作 Q-Learning 演算法與 Epsilon-Greedy 策略。
**3. 介面功能 (UI):**
* **切換開關**: [手動模式] (綠色) / [AI 模式] (藍色)。
* **加速按鈕**: 在 AI 模式下,提供「極速訓練 (Fast Train)」按鈕,關閉渲染快轉 2000 回合。
* **儀表板**: 顯示分數、回合數、探索率 (Epsilon)。
請給我完整的 HTML 程式碼。
利用今天學到的 Q-Learning 原理,製作一個「打磚塊」遊戲。不僅要讓 AI 會玩,遊戲本身也要具備良好的互動手感與聲光效果。
12/19 23:59 前 | 作業繳交傳送門: Google Form
打磚塊遊戲 Prompt 結構