Re: [note] JP_MJ Programming Techniques (1)
看板MJ_JP (日本麻將 - 日麻)作者joejoe321321 (鴟夷子皮)時間14年前 (2011/01/31 22:14)推噓5(5推 0噓 14→)留言19則, 6人參與討論串2/2 (看更多)
原文恕刪
這篇回文可能快偏離日麻討論範疇了XD 還請一些版友見諒
看到這篇文章我還蠻高興的,當初修課修AI的時候期末project就是寫日麻AI設計,
本來的構想是在無視各家進攻下,做到能在14張牌中選擇何者該捨去,是否吃碰槓等功能,
不過時間限制下當初只寫出了如何捨牌,加上判斷和了牌種等共約2000行code,
而且在路線機率的計算上是有問題的....也就因此沒有再繼續完成它
這篇文章給了我一個在計算機率上還不錯的想法,感謝
提供一點個人想法,計算上聽(向聽?)數不一定要全數列出後逐一比對,
在假設13張牌中至少用到5張做為最後和了牌型時,
可以針對每張牌遞迴跑"順子" "刻子" "雀頭" "待捨"四種可能性就好,
在最後只能有4搭子1雀頭的條件限制下,這方法其實出乎意料的快,
而且也同樣能算出每種牌型的上聽數及所需牌種,
不過用比對的方式,在預先將牌種都存在記憶體後,速度上應該還是優勢的
計算役種和得點上,採高得點計的規則其實會帶來不少麻煩,
總不能把綠一色當成混一2000點,或是把三連三暗刻記成一色三順,
計算符數也會造成不小的困擾,不過都還是可以克服的問題
當初我們project的目標其實是想讓AI能捨去1000點自摸,決定等四暗刻,
不過想一想這真的蠻困難,期望值的計算上還要考慮自摸,振聽等因素,
最後我們只做到能讓它懂得去做三色同順,說起來還是弱弱的(汗)
我認同麻將上的AI,初步考慮上比很多遊戲簡單許多,
至少完全進攻形的AI就已經有不小的實力,估計在天鳳打到初段可能也不是問題,
不過全方位考慮下就很困難了,就算假設對手沒有特別偏好,不去做machine leraning,
就已經很難靠對手捨牌來推敲他手上的牌來避免放槍,
加上場況和得點差,1000點在不同的局勢下影響又不一樣,不是能只做線性影響思考的
舉個好玩的例子,友人曾問我在沒有張數,危險度差別下,發和中先打哪張較好,
答案是中,理由是"中成為裡懸賞的機率比發低" orz
AI想寫到完整實在是不簡單的工作
----
版主是CS相關科系?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 58.114.187.169
推
01/31 22:29, , 1F
01/31 22:29, 1F
推
01/31 22:34, , 2F
01/31 22:34, 2F
→
01/31 23:05, , 3F
01/31 23:05, 3F
推
02/01 22:06, , 4F
02/01 22:06, 4F
推
02/04 10:04, , 5F
02/04 10:04, 5F
→
02/04 10:05, , 6F
02/04 10:05, 6F
→
02/04 10:06, , 7F
02/04 10:06, 7F
→
02/04 10:06, , 8F
02/04 10:06, 8F
推
02/04 12:39, , 9F
02/04 12:39, 9F
→
02/04 12:39, , 10F
02/04 12:39, 10F
→
02/04 20:30, , 11F
02/04 20:30, 11F
→
02/04 20:30, , 12F
02/04 20:30, 12F
→
02/04 20:31, , 13F
02/04 20:31, 13F
→
02/04 20:31, , 14F
02/04 20:31, 14F
→
02/04 20:32, , 15F
02/04 20:32, 15F
→
02/05 18:02, , 16F
02/05 18:02, 16F
→
02/05 18:02, , 17F
02/05 18:02, 17F
→
02/05 18:04, , 18F
02/05 18:04, 18F
→
02/05 18:05, , 19F
02/05 18:05, 19F
討論串 (同標題文章)
完整討論串 (本文為第 2 之 2 篇):
MJ_JP 近期熱門文章
PTT遊戲區 即時熱門文章
155
348