Re: [程式] 圈圈金字塔的AI邏輯
看板GameDesign (遊戲設計)作者etrexetrex (ETREX)時間18年前 (2006/10/18 21:48)推噓6(6推 0噓 8→)留言14則, 3人參與討論串3/5 (看更多)
※ 引述《chowleft (什麼....)》之銘言:
: 文章有錯請指教....我只是小咖xD
: Minimax這裡有中文說明,加上範例圖可以加速理解
: http://0rz.tw/a620L
: 小弟以前也寫過一個小遊戲,就是用這個方式降低電腦的思考時間
: 當然這個AI沒有像e大那麼強還可以自我進化,
被真正會寫AI的人說很強...(羞)
其實我不會AI的 :)
: 遊戲可以在此下載:
: http://download.yousendit.com/6B9A68DB2171E1A8
: 開啟後選Game->Single就開始了
: 裡面的某些功能選項都是幻覺,請當作不存在
: 我想棋類遊戲應該都是這樣寫的吧?
: 場上棋子分佈的狀況都可以用某些規則去計算出一個數值,
: 如果某一種狀況對我們有利的話,這個分數應該要比較高,
: 這樣就知道哪一步比較好了
我也覺得是這樣寫
不過因為我始終想不到要怎麼給分
所以就讓AI自己幫自己給分了 XD
: 我們在下棋子的時候,會想辦法下出對我們最有利的情況
: 而當輪到對方的時候如果沒意外,對方會下對他最有利的一步
: 由分數觀點來講就是,讓算出來的分數最低
: 假如我想預測N步以後的情形 (我->對手->我->對手....)
: 我應該要計算雙方所下的所有可能組合,然後找出最大分數那一組
: 這樣我就知道我這一步該怎麼下了
預測這個部分我沒有做.....我也不會 >"<
因為這個棋盤很小,而且畫圈圈一定是越畫越少的
所以有辦法把遊戲開始到遊戲結束的所有圖形都列出來 0.0
如果換成象棋那種可以來回走的要把所有圖形列出來是不可能的
所以我的演算法可以說是只能用在這個遊戲上...
: 而利用對方會朝對他最有利的方向前進的這個假設
: 則可以不用把每一種組合的分數都算出來,可以少算一些這樣
: 至於每一步的分數如何決定,通常跟對這個遊戲的認知度有一點點關連
: 像在我這個白癡AI中,我將邊角的分數拉得很高
: 因為我覺得有沒有搶到邊角非常重要
: 其他的邊緣地帶分數也有高一些些,至於像B2之類的地方
: 因為你搶到之後很可能之後會讓對手搶到邊角,所以分數是負的,代表不要下這一步
: 另外一個想法就是讓對手可以下的位置越來越少,
: 這樣對手下無可下,最後就會下在他最不希望下的位置
: 對手的選擇越少,代表他的靈活性越低
: 除了可以逼迫他下不該下的位置外,還有節省電腦計算量的妙用
: 結合類似這樣的觀念就可以決定一個狀況的分數了
: 當然有些觀念是上網查的....
節省電腦計算量這個部分
因為我沒有預測所以就....
不過預測是我一開始想做的...想破頭不會寫 0.0
: 當初會寫這個只是因為被VMJ小遊戲的電腦狠狠羞辱了一番
: 所以寫來看能不能報仇雪恥....
: 不過當我寫完之後所得到的只是又一次的羞辱....我的AI不爭氣的輸了
: 總之e大可以考慮加入這些元素看看,希望對你的AI能有些幫助
不過現在我想改進AI學習的方法
而不想教AI必勝公式 (我也不知道要怎樣必勝)
因為我覺得這樣比較有趣 :)
(雖然必勝AI真的很威,little game版的回應裡有一個超威的AI...)
如果能研究一個演算法
讓AI對所有遊戲都有學習能力的話
就不用自己去想什麼情況是有利的
哪邊的分數要給比較高 (會贏的就分數高 哈哈)
==
後來我有去翻一下AI的書
發現我做的這種程式在書上是屬於機器學習的部分
是 "死記學習法" 或 "參數學習法" 的其中一種
我沒有看仔細,不過每本AI的書都是最後幾頁才講學習
最大最小決策也有在書裡看到,整個就是覺得很複雜 0.0
--
無名網誌:http://www.wretch.cc/blog/et284vu065k3
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 125.228.44.27
推
10/18 22:26, , 1F
10/18 22:26, 1F
→
10/18 22:28, , 2F
10/18 22:28, 2F
→
10/18 22:31, , 3F
10/18 22:31, 3F
→
10/18 22:32, , 4F
10/18 22:32, 4F
推
10/18 22:38, , 5F
10/18 22:38, 5F
→
10/18 22:38, , 6F
10/18 22:38, 6F
推
10/18 22:51, , 7F
10/18 22:51, 7F
→
10/18 22:52, , 8F
10/18 22:52, 8F
→
10/18 22:52, , 9F
10/18 22:52, 9F
→
10/18 22:59, , 10F
10/18 22:59, 10F
推
10/18 23:02, , 11F
10/18 23:02, 11F
推
10/18 23:37, , 12F
10/18 23:37, 12F
推
10/19 01:56, , 13F
10/19 01:56, 13F
→
10/20 02:27, , 14F
10/20 02:27, 14F
討論串 (同標題文章)
GameDesign 近期熱門文章
PTT遊戲區 即時熱門文章