→ jiyu520: google > clash royale python reinforcement 04/05 17:28
推 st1009: DataScience板歡迎您 04/05 18:56
推 sma1033: 你這問題可能超過大學生難度太多,建議縮小Scope 04/05 21:02
→ sma1033: 光是"把卡牌辨識出來並且準確度>99%"搞不好都做要做很久 04/05 21:03
→ sma1033: 認出來之後要學習策略又會碰到很多RL常見必然碰到的問題 04/05 21:04
→ sma1033: 除非你是天才,或是已經對資料科學有很不錯的基礎,不然 04/05 21:05
→ sma1033: 大概最後就是做不出來然後整個鳥掉 04/05 21:06
→ hsnuyi: 卡牌有總表 用OCR加DB不就好了 策略直接建卡牌DB下去train 04/05 21:11
→ hsnuyi: 難的地方在於有辦法train出好策略嗎 04/05 21:11
推 goldflower: 卡牌因為不會變所以還好吧 直接比對就好 策略上比較 04/05 21:21
→ goldflower: 麻煩 環境牽扯到太多機率東西的rl都要訓練很久 可能 04/05 21:21
→ goldflower: 可以把別人玩的紀錄先當作prior試試 我嘴砲ml工程師 04/05 21:21
推 sma1033: 對有經驗的人來說當然簡單,但新手做這個可能有點超過了 04/05 21:43
→ sma1033: 新手先把「可以把牌卡正確無誤的認出來」做出來再來講 04/05 21:44
→ sma1033: 等做到認牌了,RL的難度跟CV認出牌卡也完全不在同一水平 04/05 21:46
推 sma1033: 樓上講OCR+DB很容易的,可能要考量一下 1.人工建資料庫 04/05 21:53
→ sma1033: 需要的Effort 2.卡片可能有動態效果,位置也可能移動 04/05 21:54
→ sma1033: 我覺得對新手來說,要克服這些工程問題都不是嘴巴講講就 04/05 21:55
→ sma1033: 可以做得出來的,有很多工程問題必須要去克服(需要經驗) 04/05 21:56
推 goldflower: 其實我覺得最崩潰的是卡牌屬性調整或是加新卡時很囧 04/05 21:56
推 goldflower: 辨認上原po可能可以先從sift開始試試看 每個round停 04/05 21:59
→ goldflower: 下來時去掃就行 自己找找看停下來有什麼特徵 04/05 21:59
推 sma1033: 我其實覺得光是要知道所有的牌卡可能性並建立資料庫就... 04/05 21:59
→ sma1033: 應該會嚇跑大部分新手了吧 (?) 04/05 22:00
→ eecheng87: @sma1033 對啊,如果考慮所有組合我肯定無法,所以目前 04/05 22:11
→ eecheng87: 我是設定兩套(敵方和我方)固定的牌組來測 04/05 22:11
→ eecheng87: 不過光兩套固定的對我這個新手還是蠻難@@ 04/05 22:12
推 sma1033: 做RL系統最費工的部分本來就是建立穩定可靠的模擬環境 04/05 22:14
→ sma1033: 如果環境夠穩定,系統行為也很一致的話,用DQN可能就能跑 04/05 22:14
→ sma1033: 反過來說,如果環境中有很多隨機或是不可預測的成分就會 04/05 22:17
→ sma1033: 變得極度困難(下各種判斷的機率分布是複雜的條件機率) 04/05 22:19
→ sma1033: 很容易就會抓不到判斷準則,導致學得很糟 04/05 22:19
→ eecheng87: 雖然各位說的我都還沒什麼概念,但是還是感謝各位撥空 04/05 22:21
→ eecheng87: 回答,讓我知道個方向 04/05 22:21
推 sma1033: 我是建議遊戲規則知道的話,自己建一個遊戲環境可能較快 04/05 22:27
→ sma1033: 因為(1)不需要費神去認別人系統裡的東西(2)可以快速大量 04/05 22:27
→ sma1033: 累積經驗,而累積經驗又是RL演算法最重要的事 04/05 22:28
→ sma1033: 用別人系統的話應該跑沒幾輪就被判定「非正常使用」被ban 04/05 22:29
→ eecheng87: @sma1033 想問你指的建一個遊戲環境是神麼意思? 04/05 22:36
→ eecheng87: 另外我是打算用rl的輸出透過python移動滑鼠點擊,應該 04/05 22:37
→ eecheng87: 是不會被發現吧xD 04/05 22:37
推 sma1033: 用程式控制滑鼠等級本質上跟「用外掛」表現的行為相似啊 04/05 22:39
→ sma1033: 如果官方有在抓的話被發現可能被Ban,再來就是你需要大量 04/05 22:39
→ sma1033: 遊戲經驗才能訓練出能跑的RL,一般來說都是M個episode的 04/05 22:40
→ sma1033: 等級,你覺得用別人的系統來跑,玩個100萬場要多久? 04/05 22:41
→ sma1033: 如果不自己建立系統來加速蒐集經驗,我覺得應該不太可能 04/05 22:42
→ sma1033: 在合理時間內訓練出真正會動的東西(除非你的遊戲極簡單) 04/05 22:42
推 sma1033: 目前看到所有用RL演算法玩遊戲學得不錯的Case都是這樣搞 04/05 22:45
推 sma1033: 我剛才發現我有個地方弄錯,不過總之你需要「跑得極快」 04/05 22:49
→ sma1033: 的遊戲環境就是了,就是不能用正常速度跑,而是正常速度 04/05 22:50
→ sma1033: 幾百倍或是上千倍速度運行的「環境」,這樣才有可能讓你 04/05 22:50
→ sma1033: 在有限時間內蒐集到玩個幾百萬場的遊戲經驗 04/05 22:51
→ sma1033: 如果你是用單機版的遊戲環境來當攻克目標的話就請忽略我 04/05 22:52
→ sma1033: 剛才說「線上可能被Ban」的那一段 04/05 22:52
→ eecheng87: @sma1033 對欸,應該要建自己的系統。但是若建自己的系 04/05 22:54
→ eecheng87: 統那不就是要重現那個遊戲嗎?另外對手的出牌機制不是也 04/05 22:54
→ eecheng87: 要變成由我設計? 04/05 22:54
推 sma1033: 回樓上:Yes,目前看到做AI打Game的團隊都是這樣做的 04/05 22:55
推 sma1033: 人類玩遊戲可能玩個幾十場就會抓到訣竅擬定策略,但是目 04/05 22:58
→ jimmy10309: 推老師的c語言課程 收益良多 04/05 22:58
→ sma1033: 前的電腦演算法都很笨,大概都要打個幾百萬場才會到同等 04/05 22:58
推 jimmy10309: 基本上就是對稱對戰的alpha star 04/05 23:00
→ eecheng87: @sma1033 如果連對手出牌都要由我設計(就要考慮我方出 04/05 23:01
→ eecheng87: 神麼牌),這樣不就只是把我原本的問題(讓我方出牌合理) 04/05 23:01
→ eecheng87: 反過來說...(不知道你懂我的意思嗎?? 04/05 23:01
推 sma1033: 樓上有人回了,就要做對打吧 04/05 23:02
推 jimmy10309: 你不想用傳統做if的腳本 那目前就是機器學習了 另外 04/05 23:04
→ jimmy10309: 看你的敘述 我想光是要做到圖片辨識 拆包讀取原始黨 04/05 23:04
→ jimmy10309: 做label就是一件大工程了 04/05 23:04
推 single4565: 推 04/06 00:06
→ hsnuyi: 建DB是必要的 不然你怎模擬? 這根本不需要考慮難度 因為沒 04/06 00:58
→ hsnuyi: DB你連出牌都無法 04/06 00:58
推 vi000246: 你可以參考hearstone tracker 他只有辨識圖片記牌功能 04/06 12:56
→ vi000246: 你先能做到辨識環境所有參數就很厲害了 04/06 12:56
推 sooge: 先不潑你冷水 你可以試試看 你就知道你這餅畫得多大了 04/07 20:21
推 sooge: 辨識卡牌很簡單啦 你又不是人臉辨識 固定的形狀顏色很好認 04/07 20:25
推 sooge: 喔我以為是純卡牌遊戲 皇室這種戰鬥畫面 嗯....加油 04/07 20:35
推 kumitang: 這個做RL 應該不簡單 04/08 13:30
→ BlgAtlfans: 餅畫太大了 光是即時出牌的系統就很難辨識了 04/09 14:29
→ BlgAtlfans: 而且這遊戲有座標的概念 不可能這麼簡單 04/09 14:30
→ BlgAtlfans: 即時戰略的系統 可能需要每秒掃一次畫面加辨識 光這 04/09 14:32
→ BlgAtlfans: 個你模型就有難度了 04/09 14:32