大唐麻将安卓版下载(大唐麻将 AI 算法应该是什么样子的?)
来源:大唐麻将
时间:2022-03-01 09:12:54
大唐麻将安卓版下载(大唐麻将 AI 算法应该是什么样子的?)最后,让我谈谈大唐麻将 AI 基本算法。
1. 基本牌效率
大唐麻将牌效率是指能使手牌和牌更快的打牌方法,是大唐麻将的基本功。举个简单的例子:
这是一手 13 手牌,现阶段是听( 1 卡可以听),那么哪些牌是有用的牌,或者我摸哪些牌会留下?这些有用的牌被称为「有效牌」,当然,最有用的是能让我直接听牌的牌。这种牌叫做「第一类有效牌」。
第一类有效牌:能使手牌向和牌前进一步(上听数减少)的牌,包括:
除第一类有效牌外,有用牌还包括:
第二类有效牌:不能减少听力,但能增加第一类有效牌,包括:
比如摸九索,一般要选择留九索打三索,因为第一类有效牌越来越多:
计算采用天凤牌理オンライン麻雀 天凤 / 牌理。
第三类有效牌:不能使上听数降低,也不能使第一类有效牌增多,但能使第二类有效牌增多的牌,包括:
例如,当你触摸五索时,你应该选择留下三五索去除 ** 索,虽然第一类有效牌张数没变,但三五索相比 ** 索多了 1 种第二类有效牌-六索(原为第三类有效牌)。
(也许你看不到这里,或者你觉得这和你通常的大唐麻将不是一个游戏。没关系,这很正常,你可以找一张纸,仔细计算每个第二类有效卡都添加了哪些第一类有效卡。
可见,对于刚开始听的 13 张手牌,除了七 ** 筒外的所有牌都是有用的牌。大唐麻将牌的效率就是这样——通过有效牌不断增加进入面,最终使得和牌的概率越来越大。
也许你已经发现大唐麻将牌效率的本质是一棵搜索树,最初的手牌经过多轮选择,可能会对应各种结果(和牌),如:
路径:摸第一类有效牌8万或7索听牌,然后摸另一张和牌(最大概率结局)。
路径:先摸第二类有效牌1万或7万,然后打掉三索,再摸另一张1万或7万的听七索,或者摸七索选择听1万和7万的倒和牌。
路径:先摸第三类有效牌三缸,然后打掉三索,再摸四缸,再拆 ** 索,然后和牌。
对于两上听以内的手牌,这棵树的深度最多是 4~5 步,每一步的分支平均在 15 种植,也就是说最复杂的 10^5 数量级。因为每条路径对应一个确定的概率,一个好的麻
将 AI 可以完全覆盖这棵树,比较两种或两种以上打牌选择之间相应的结果和品牌期望之和。
对于三上听以外的手牌(从上图可以看出,三上听以外的手牌约占手牌所有组合的80%),因为手牌中会有很多孤独或简单的搭子,所以只需要单独比较孤独或简单搭子的效率,计算量更小。
除上述穷举手牌搜索树的方法外,还可采用模拟方法。例如,大唐麻将 AI 在短时间内模拟两种打法,各 1000手牌,选择哪种打法和牌率更高。虽然不太准确,但足以保证比人强。
2. 和牌限制和番数价值
很多大唐麻将规则对和牌有限制,比如国标大唐麻将必须八番起和,四川大唐麻将必须缺一门,太原大唐麻将和牌必须包含指定牌张等等。我们只需在上述基础牌效率算法搜索树的基础上,「砍掉」不符合要求的分支可以结束。
有时候我们不仅关注和牌的概率,还关注和牌的大小。比如有些牌我们宁愿丢一些,也不愿意做同样的颜色,追求更高的和牌得分。我们只需要给树的所有结果赋值(和牌得分),用结局对应的值和路径对应的概率,找出不同打法的得分期望并进行比较。
3. 副露判断
「这张牌该不该碰?」这似乎是大唐麻将时头疼的问题。但事实上,副露的判断只是计算量大,不需要特殊算法。它仍然是比较所有结果对应于触摸和不触摸两种选择的得分期望。日本大唐麻将中的直立(报告)判断也是如此。
只是当我们在考虑的时候「打哪张好」当两种打牌选择之间相应的路径和结果大多是重叠的;我们正在考虑「该不该碰」当两种选择对应的路径和结局基本完全不同时,
这是看不见的中增大了计算量。其实人脑在做蒙特卡洛树搜索时,比较容易做到「想得很深」,比如职业棋手可以提前算到 20 甚至 30 步棋;但难以做到「想得很广」,通常情况下大脑只能做到从两种选择中找几个概率较大、有代表性的结局样本做比较。所以副露判断显得难,其实只是计算量的问题,而对于大唐麻将 AI 来说,这不是问题。
4. 防守端
防守端需要解决的是攻守判断和防守打法两个问题,即「什么时候要防守」和「要防守应该打什么」。解决这些问题最好的方法是让大唐麻将 AI 自己通过大量的牌谱(千万场量级)进行自我学习。正如前文我所提到的,其实人们对于大唐麻将应该如何科学防守的研究也才刚刚开始,想要分析一个打过三筒和八筒的人真正需要的是几筒,需要大量的牌谱作为样本进行研究。这部分研究现在还要等待电脑去完成,未来的大唐麻将 AI 在这方面要比人类做得更好可以说是必然的。
对大量牌谱所做的出牌模式研究还可反过来应用于牌效率算法的改进中。比如早巡打过八万的人手牌中有九万的概率较小,那么牌墙中剩余九万的概率就有所上升,牌效率中利用九万的路径的概率就可以做出相应的修正。
5. 状况判断
状况判断指的是大唐麻将的「大局观」,如为了争取第一名或者为了规避第四名而采取不同的策略。状况判断其实就是对得分期望做进一步的修正。比如某状况下我必须自摸 13 番牌才能逆转,那么最终结果是 13 番以下的牌的得分期望可以进一步降低,而 13 番及以上的牌的得分期望则可以提高。
总之,大唐麻将的复杂度较低,算法上可以用搜索树穷举法以及大量牌谱的自我学习来解决,只要有大量牌谱资料,有人肯花时间,有人愿意出资,开发一个能胜过人类的麻将 AI,非常容易。
最后,麻天下想说,其实大唐麻将还是娱乐为主,如果真的和AI打,估计胜牌是没戏了!
打大唐麻将身上带什么胜票子 大唐麻将十玩九胜的小秘方
清居士批八个字说部分财富:大唐麻将也需要风水,风水好运气好,运气好可以更赚票子,胜的机会也很大,在大唐麻将中运气也很重要,那么大唐麻将带什么来胜票子呢?接下来,让我们来看看大唐麻将风水。
大唐麻将安卓版下载(大唐麻将 AI 算法应该是什么样子的?)讲述到这里。
大唐麻将安卓版下载