社区
数据结构与算法
帖子详情
有没有人想过打扑克的算法?
friendkey
2003-06-16 11:08:01
争上游AI,让电脑扮演游戏者的角色。该用什么算法?给点思路?
...全文
97
18
打赏
收藏
有没有人想过打扑克的算法?
争上游AI,让电脑扮演游戏者的角色。该用什么算法?给点思路?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
18 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
friendkey
2003-09-20
打赏
举报
回复
完成了,没办法很弱智。
还是谢谢各位。
结帖。
csyw
2003-07-18
打赏
举报
回复
up
chcomic
2003-07-18
打赏
举报
回复
目标:能够根据可能的出牌序列确定目标,计划对自己最有利的出牌序列,并有意的引导该过程。能够根据已出牌面推断对手的可能牌型,能够动态作出计划等等。
引导该过程似乎比较难。。
根据已经出的牌面和手中的牌以及对手出牌的状况来判断对手的牌应该做到吧。。
ZhangYv
2003-07-18
打赏
举报
回复
目前只有二人博弈有好的一套理论,至于多人博弈就连最基本的都还没有解决...不知道我有没有记错了:(
birth_chen
2003-07-14
打赏
举报
回复
mark
Skt32
2003-07-11
打赏
举报
回复
扑克牌游戏源代码
http://fxstudio.xiloo.com/code/friend/qcard32.zip
friendkey
2003-06-18
打赏
举报
回复
这个应该不难啊。关键是得到了概率后的决策。看了看博弈的算法,怎么把它扩展到四人呢?
Smile_Tiger
2003-06-18
打赏
举报
回复
基础还在于通过对已知的牌(自己手中的牌、已经出的牌),进行的对未知的牌(某牌是否在某人手中,概率有多大)的概率的计算问题
Renkey
2003-06-18
打赏
举报
回复
你有没有玩过那种单机版的升级啊。
我觉得很次,没有什么人性化。
你可以考虑一下。
friendkey
2003-06-17
打赏
举报
回复
我现在能做到理解规则、牌型分组,但是权衡比较还不行。就是“最有利的情况”到底该怎么衡量呢?
我想了三条优先出牌原则:在规则允许的前提下,牌数越多的牌型优先,点数越低的牌型优先,同类牌型越多的牌型优先,不知道对不对?另外,还应该考虑对手拥有的牌,可以计算出他们拥有各种牌的可能性,但怎样决策就不知道了。
8alang8
2003-06-17
打赏
举报
回复
基础:理解规则的能力,要有按牌型分组的能力
目标:任意一副牌,可以列出任意可能的出牌序列。当然还要遵守规则。
然后:就是权衡比较,选择最有利的情况
目标:根据已出的牌面和当前上家的牌,能够选择最有利的情况出牌。这个完成了基本上就可以用了,但是由于是被动的,智能可能比较低。
高级:有推理、计划的能力
目标:能够根据可能的出牌序列确定目标,计划对自己最有利的出牌序列,并有意的引导该过程。能够根据已出牌面推断对手的可能牌型,能够动态作出计划等等。
能做到第二步就不错了。
friendkey
2003-06-17
打赏
举报
回复
作弊可不好噢。记住出过的牌应该不算作弊吧?直接看对手的牌就不好了,咱研究的可是算法。好像不大可能像棋类游戏那样搜索好几层深度,别人手里什么牌是不确定的,只有概率。而棋类游戏的局面是一目了然。唔,就是这里的问题了。
BlueSky2008
2003-06-17
打赏
举报
回复
我讲的贪心也就是搂主这个意思。
争上游,应该是谁先出完所有牌,谁赢吧。
算法可以对手上的牌打一个分值,这个分值应该是:牌型越大,分值越高,(如同花顺,四个相同的),所乘牌能在越少的步数内走完,分值越高,这点很重要。策略就是使分值最大。
另外,“还应该考虑对手拥有的牌,可以计算出他们拥有各种牌的可能性,”这很好办:作弊。
friendkey
2003-06-16
打赏
举报
回复
to th111
这个好办,我从网上下的。
tlh111
2003-06-16
打赏
举报
回复
先得作54张扑克图片,作好了给我发消息
friendkey
2003-06-16
打赏
举报
回复
to BlueSky
以什么原则贪心呢?
to alang
有没有大致的想法呢?
8alang8
2003-06-16
打赏
举报
回复
只言片语说不清啊。
BlueSky2008
2003-06-16
打赏
举报
回复
贪心
JavaScript实现经典排序
算法
之插入排序
插入排序的代码实现虽然没有冒泡排序和选择排序那么简单粗暴,但它的原理应该是最容易理解的了,因为只要打过扑克牌的人都应该能够秒懂。像排序一手扑克牌,开始时,我们的左手为空并且桌子上的牌面向下。然后,我们每次从桌子上拿走一张牌并将它插入左手中正确的位置。为了找到一张牌的正确位置,我们从右到左将它与已在手中的每张牌进行比较,拿在左手上的牌总是排序好的,原来这些牌是桌子上牌堆中顶部的牌。 1)
算法
原理 插入排序(Insertion-Sort)的
算法
描述是一种简单直观的排序
算法
。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上
leetcode中国-algorithm:多数
算法
没有考虑输入非法的情况
leetcode中国 基本排序
算法
基于比较的排序 冒泡排序 没什么可说的, 改进方法就是加一个标志位防止有序后重复遍历. 由于需要遍历两次, 所以时间复杂度O(N^2) 传送门 --> 选择排序 外层从0开始默认outer是最小数的下标, 内存从outer+1位置开始遍历, 不稳定, 如{ 3, 3, 3, 2 }, 当比较最后一个4时, 是第一个3和2交换, 从而不稳定. 内外层遍历两次, 时间复杂度O(N^2) 传送门 --> 插入排序 相当于
打扑克
排序, outer从1到N-1, inner从outer到N-1, 时间复杂度O(N^2) 插入排序选择排序冒泡排序有浪费许多比较的次数 归并排序快的是因为小范围合并为大范围时, 有序可以同过外排方式 小组和为大组时, 组内有序没有浪费, 永远是组与组之间的比较 传送门 --> 希尔排序 迄今为止, 除了在一些特殊的情况下, 还没人能够从理论上分析希尔排序的效率, 有各种各样基于实验的评估, 估计它的时间级从O(N^(3/2))到O(N^(7/6)) 传送门 --> 归并排序 递归把一个数字分隔为两部分, T(N) = 2*T(N/2
打扑克
和插入排序
我们在
打扑克
的时候有两种策略,一种是一边抓牌一边排序,比如:抓到2,再抓到5就排在2的左边,又转到3就放到中间,如此递归,牌抓好了也排序好了,“似乎”很快。原因就是,在其他小伙伴抓牌的时候,你在排序,属于并行计算,可不是你的排序
算法
比较优秀,不过这种排序也是O(n)的时间复杂度,效率还是很高的。 而另一种策略就是大家先不排序,几个小伙伴拼命抓牌,每个人都抓好牌之后,大家集中“摆牌”,其实
Python中几种常见的排序
算法
?
小猿会从最基础的面试题开始,每天一题。如果参考答案不够好,或者有错误的话,麻烦大家可以在留言区给出自己的意见和讨论,大家是要一起学习的 。废话不多说,开始今天的题目:问:说说Python中几种常见的排序
算法
?答:大家都知道排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。排序
算法
,就是如何使得记录按照要求排列的方法。排序
算法
在很多领域得到相当地重视,尤其是在大量数...
python常用
算法
有哪些_Python排序
算法
有哪些?
Python排序
算法
有哪些?排序
算法
可以用python实现,常见的排序
算法
有:插入排序、希尔排序、选择排序、冒泡排序、归并排序、快速排序、堆排序、基数排序等。排序
算法
在程序员编程生涯中用的不多,但是作为基本功需要掌握一下。Python排序
算法
:一、冒泡排序冒泡排序(Bubble Sort)也是一种简单直观的排序
算法
。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。...
数据结构与算法
33,008
社区成员
35,326
社区内容
发帖
与我相关
我的任务
数据结构与算法
数据结构与算法相关内容讨论专区
复制链接
扫一扫
分享
社区描述
数据结构与算法相关内容讨论专区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章