Fw: [討論] 自動玩2048
看板Prob_Solve (計算數學 Problem Solving)作者bleed1979 (十三)時間10年前 (2014/06/14 12:58)推噓0(0推 0噓 0→)留言0則, 0人參與討論串1/3 (看更多)
※ [本文轉錄自 C_and_CPP 看板 #1JcnqoJi ]
作者: noodleT (麵T) 看板: C_and_CPP
標題: [討論] 自動玩2048
時間: Fri Jun 13 23:47:59 2014
2048 BOT 應該是今天截止交件 ~ (小弟我沒參加)
不知道大家是怎樣決定出最好的一步?
我的做法是:
複製四組盤面 → 上下左右各走一次 → (累加)計算盤面分數 → 回傳方向
↑ │
└──── 深度N層 ───┘
問題(先考慮 N=1 就好):
1.因為對方會隨機在盤面上放上 2、4 ,此方法上下左右僅各走一次,
無法表現出我方最不利的狀況。
2.計算分數如何最佳化?
總分考慮的點有:
左上角是否是最大的數字,a 分
●○ 黑圈●=?白圈○ 或 黑圈 =? 白圈*2,b 分
○
盤面為空格的數目,c 分
a、b、c之間的比例應該為?
總分 = a+b+c ,或總分 = (a+b)*(c^2)?
3.(計算分數的方法二)枚舉出多組較佳盤面,計算相關性系數:
枚舉的盤面:
4 4 3 2
4 3 2 1
3 2 1 1
2 1 1 1 ,4代表很大的數字、1代表很小
遊戲盤面:
128 064 064 002
128 064 016 000
016 008 004 008
002 000 000 002
↓將遊戲盤面轉換成 1~4 的盤面。
128 轉成 4
064 轉成 4
032 轉成 3
如此等等......
這裡我是想用類似於模糊控制(模糊區間)的概念來做,但又牽扯到:
a.最大數字是 2048 ,次大數字是 64
b.最大數字是 2048 ,次大數字是 1024
a、b 這兩個狀況又很不一樣,這裡遇到的問題是:
如何切割 1、2、3、4 所對應的區間範圍?
問題大概就是以上三點吧!
另外,
能不能只靠目前的盤面(不要偷嘗試走下一步)就可以推論出最佳方向?
--
我是麵T,哩賀
http://ppt.cc/-eS5
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.171.110.117
※ 文章網址: http://www.ptt.cc/bbs/C_and_CPP/M.1402674482.A.4EC.html
※ 編輯: noodleT (118.171.110.117), 06/13/2014 23:49:18
推
06/13 23:55, , 1F
06/13 23:55, 1F
→
06/13 23:56, , 2F
06/13 23:56, 2F
→
06/14 00:02, , 3F
06/14 00:02, 3F
→
06/14 00:54, , 4F
06/14 00:54, 4F
推
06/14 06:53, , 5F
06/14 06:53, 5F
→
06/14 12:10, , 6F
06/14 12:10, 6F
推
06/14 12:57, , 7F
06/14 12:57, 7F
※ 發信站: 批踢踢實業坊(ptt.cc)
※ 轉錄者: bleed1979 (220.135.203.156), 06/14/2014 12:58:27
討論串 (同標題文章)
Prob_Solve 近期熱門文章
PTT數位生活區 即時熱門文章