关闭

斗地主之目前的问题

在具备了初始的入门级打牌能力,验证了系统的可行性之后,剩下的就应该是努力提高系统打牌的水平了。由于形成初始打牌能力只用了80多条规则,而且都是非常粗略的规则,所以提高打牌能力的思路似乎比较简单:只要提高规则的精细化程度,使之尽量覆盖到各种情况就好了。所以笔者之后就一直在重复:打牌、发现不够精细的地方、增加规则覆盖这种情况。直到某一天我却很尴尬的从这种循环中发现了个现象:打牌规则从80多条,飞速增加到...
阅读(90) 评论(0)

斗地主之动态评估

在其他玩家出牌之后,我们还需要进行动态评估,以便于在下一次出牌时可以做出尽量正确的选择。想做出正确的判断有两个前提:一是收集到足够的、准确的信息;二是拥有丰富的知识对收集到的信息进行解读以得到对当前局面的准确理解。而斗地主作为一种游戏,所有的出牌信息都是公开的、准确的,所以我们就免除了信息收集并判断其准确性的工作了,因此,我们主要解决的工作是如何对这些信息进行解读。我们在讨论初始评估的目的时说过:预...
阅读(105) 评论(0)

斗地主之出牌

总算可以出牌了:)出牌又可以分为两类: 主动出牌,即牌权在自己手上,可以自由选择一手牌打出去 被动出牌,即其他家出了手牌,则从大于这手牌的牌手中选择一个,当然还可以不要 出牌其实是一个很复杂的事情,因为我手上可能恰好有合适的牌手,但也可能没有合适的牌手,那我是否需要拆牌呢?作为地主我是否该强行终止农民的做桥过程呢?作为下家我是该顺牌呢,还是该放给对家过呢?所以之前有个兄弟评论我关于整理牌型的文章时说...
阅读(118) 评论(0)

斗地主之初始评估与叫牌

有了牌型,我们还需要对牌型进行评估。评估的目的是判明各牌手、牌型的强弱,以决定如何打牌。评估包括两个阶段,第一阶段是牌型整理好之后、出牌之前的初始评估,以建立初始的基本判断;第二阶段是各玩家(包括自己在内)每出一手牌之后的动态评估,也就是调整之前的评估或重建最新的评估。初始评估包括了三个层面:牌手的评估、牌型的评估、牌面的评估。牌手的评估牌手的评估主要是对每手牌都进行强弱的判断。包括两个步骤:首先是...
阅读(103) 评论(0)

斗地主之用蚁群算法整理牌型-几个关键点的处理

牌型选择和其它问题的差异性分析蚁群算法是由仿生蚂蚁寻食发展而来,所以其很自然的就以寻找最短路径的旅行家问题为研究对象。而旅行家问题有几个特点: 每一步都是从当前所在城市的所有邻接城市中挑选下一步的目标城市 算法的判优指标(即解评分)是总距离最短 单步择优的启发性信息是两邻接城市之间的路径长度 信息素就是本轮次最优解的路径总长度/路径中的城市数 对照我们的牌型选择问题,就存在一定的差异了: 牌型选择的...
阅读(173) 评论(1)

斗地主之用蚁群算法整理牌型-如何进行牌力估计

我们在前面讲到过,各牌手的牌力估计就是我们在用蚁群算法构造最优牌型时的启发性知识。启发性知识其实就是我们利用自己的经验对事物做出的判优性评估,或者说就是对事物价值的判断。原则上,应用蚁群算法需要用到两类启发性的知识: 单步择优:用来在单只蚂蚁决定下一步如何走时各选择的加权概率,其决定了优化方向 结构评分:单步最优未必全局最优,所以当单只蚂蚁围绕每轮次的优胜解爬出一个新解时,对这个解的质量需做一个总体...
阅读(156) 评论(0)

斗地主之用蚁群算法整理牌型-概述

前面我们介绍了提取人类知识然后用模糊推理来进行模糊控制。现在我们尝试下用人工智能来做斗地主。所选择的玩法规则是上海三打一,即两副牌、四个玩家。根据该规则,我们可以将整个打牌过程分为: 洗牌:这个是最简单的,随机生成108张牌 发牌:将生成的牌的前100张按顺序发给四个玩家,留8张暗牌 叫牌:玩家评估自己手中的25张牌,计算叫牌牌力,并根据之前是否有玩家叫牌,确定自己的叫牌档数 整理牌型:根据自己手中...
阅读(124) 评论(0)

模糊控制-模糊性知识的应用问题

上篇文章谈了模糊性知识的表示问题,这篇文章就来谈谈模糊性知识的应用问题。在上篇文章中,我们说到,模糊性知识由三部分组成: 用于表示人类如何进行判断的产生式规则,形如:如果…则… 用于说明我们所了解到的事实的模糊命题,如:速度 是 大 用于确定模糊量取值的隶属度定义,如:实际测得的数值是123,而123算做大的可能性是0.8,算做正常的可能性是0.5,算做小的可能性是0.3, 根据人类思考、解决问题的...
阅读(404) 评论(0)

模糊控制-模糊性知识的表示问题

通过上篇文章我们了解了什么是模糊,理解模糊控制就比较简单了,即在通用的控制系统框架中:在预置知识部分,如我们前面所介绍的这样通常的控制系统装定的是精确性的知识;而模糊控制,装定的是模糊性的知识。所以,模糊控制就是解决模糊性知识的表示问题和模糊性知识的应用问题。在我们刚开始讨论智能控制的分布式智能控制初步时,我们谈到了产生式,并且说了几点产生式的缺点,也就解释了我们之前为什么要使用更简洁、更高效的状态...
阅读(268) 评论(0)

模糊控制-模糊是什么鬼

在PythonPi基于人脸检测的行车控制中我们介绍了PythonPi的目标驱动型控制.但这个目标驱动型控制在控制小车的时候,怎么看怎么难受:就这么前前后后、磨磨唧唧的挪来挪去的,这效率也太低了些吧:(目标驱动控制是应用反馈控制的原理来简化控制的分析与实现过程,降低了控制的难度。但正由于这种简化,所以其控制过程不够精细、效率也不太高。还记得我们的那个控制系统的通用框架吗?目标驱动型控制是用来解决预置知...
阅读(657) 评论(0)

PythonPi基于人脸检测的行车控制-任务组件

PythonPi实现目标驱动型控制的核心是任务组件。在介绍任务组件之前,我们先要讨论一下所谓的降阶控制。在一个复杂的控制任务中,由于涉及到的传感器、执行器众多,其功能、特性各异,如果集中在一起进行处理,会过于复杂,难以高效的实现。针对这种情况,IT最基本的解决思路就是分层处理,也就是所谓的分而治之原则。我们将一个控制系统分为三个层次分别实现不同的控制任务: 组织层,用于目标定义、任务规划,如无人驾驶...
阅读(146) 评论(0)

PythonPi基于人脸检测的行车控制-PythonPi的目标驱动型控制

前文(分布式智能控制)说了:现代控制系统基本都是反馈型的控制。因此PythonPi实际上并无必要提供一个所谓的反馈控制的功能。我们讲过我们的控制系统是包括传感器、执行器、裁决器的,而当代的控制核心都是计算机控制,实际上,现代的控制系统都是: 从传感器采集信号来了解当前的系统状态和环境状态 根据预置的知识体系(模型库、事实库、规则库)对现场采集到的状态信息进行理解与逻辑推理,以决定控制动作 执行控制动...
阅读(140) 评论(0)

PythonPi基于人脸检测的行车控制-什么是控制

控制在百度百科中所给出的解释是:掌握住对象不使任意活动或超出范围;或使其按控制者的意愿活动。根据这个解释,可以看出我们之前所实现的控制功能都是最简单、最基本的控制:固定响应式控制。固定是说功能固定,按下这个按钮,灯就开了,松开灯就灭了,无论我们重复多少次,只要系统正常工作,都是这个功能,也不管当时是不是白天、需不需要开灯。而响应则说明我们的系统是一种被动应激反应型的工作模式:接收到一个信号,按照预先...
阅读(203) 评论(0)

PythonPi基于人脸检测的行车控制-概述

视频好像发不了,转一下啦: PythonPi基于人脸检测的行车控制-概述 闷!怎么把电视的声音也录下来了...
阅读(235) 评论(0)

用PythonPi实现门禁系统-功能实现

在考虑如何用PythonPi来实现门禁功能时,我们首先要梳理有多少状态变量: 出门按钮,有开关两个状态 读卡器,有读到有效卡号(即有权限在本场景中使用)与未读到 电锁,有开关两个状态 自动锁门定时器,有触发与未触发两个状态 状态分析: 当读卡器读到卡并完成权限裁决后,其等价于出门按钮,即给出一个触发信号(如闭合),而其反向的状态(如开启)可以忽略 定时器只有超时触发状态有效 因此,根据三个状态变量(...
阅读(242) 评论(0)
38条 共3页1 2 3 下一页 尾页
    个人资料
    • 访问:11935次
    • 积分:477
    • 等级:
    • 排名:千里之外
    • 原创:37篇
    • 转载:0篇
    • 译文:0篇
    • 评论:2条
    文章分类
    最新评论