zcsor的专栏

爱翔广宇揽冬日之傲骨梅花 飞入梦境待晓时其清水芙蓉

一种AS3下对SOUND对象进行整体、快速采样的方法

最近也没什么写点东西的想法,也都没有什么新意。娃的外语辅导班开课了,发了本教材,打开配套光盘一看,心中立马奔过一万只神兽…………CD,音轨,1995年?这不是发错教材让老夫重修吧,那个年代老夫也上高中了,有点晚啊!好吧,自己动手丰衣足食,用个FLASH吧反正最近比较闲比较闲。开始倒没什么,搞个li...

2017-09-15 18:35:40

阅读数 234

评论数 1

另一种修改在线SWF的方法

这次公开的这种方式有一定的局限性,通过努力可以克服。它也有一定的优越性。与以前所用的内存搜索和局部修改不同,这种方式不仅可以局部修改,也可以完全重新编译而不受文件大小的限制。推而广之,这种方法可以替换很多东西而不仅限于SWF,凡是从服务器申请来的都可以。当然,缓存是一个问题,前面也说过,通过努力都...

2017-02-24 23:21:44

阅读数 2370

评论数 0

【五子棋AI】清月连珠——开源

经过差不多两年的业余时间学习和编写,最近把清月连珠的无禁手部分完善得差不多了。这中间进行了很多思考,也有很多错误认识,到现在有一些东西还没有全面掌握,所以想通过开源于大家共同交流。       最近一直发表一些五子棋AI技术相关的内容,其中也有很多错误,现在整理起来,并且进行详细介绍的同时把清月连...

2013-10-22 21:00:22

阅读数 1887

评论数 7

【五子棋AI】多线程——多线程PVS

对于多线程搜索这方面,我没有太多的认识,而MTDF算法在我的程序中表现不如PVS,尤其是最后一层(以前未搜索过)很可能卡住,很让人恼火。所以只能采用多线程的PVS,多线程PVS需要在原有的搜索函数的基础上,分离一个根节点搜索函数。在根节点处,把整个树砍成CPU核心个数个,然后进行搜索并汇总结果。虽...

2013-10-09 22:46:23

阅读数 1770

评论数 0

【五子棋AI】启发算法——PV与杀手启发

经常见到的是杀手启发。它用一个arr(maxdepth)(1)指记录PVS的最佳节点,当arr(curdepth)(0)无记录时记录到其中,如果有并且不与arr(curdepth)(0)相同,则arr(curdepth)(1)=arr(curdepth)(0)然后再记录到arr(curdepth)...

2013-10-09 22:30:32

阅读数 1642

评论数 0

【五子棋AI】启发算法——开局库

开局库不是我自己制作的,是在网上下载的“十四地毯普”,然后我把它解析出来,去掉无用信息,进行压缩作为资源放在软件中。因为是执黑必胜的地毯,所以软件执白时很少用到开局库,除非开局库中的局面被证明是好局面(其实无禁手来讲,黑棋控盘稍强白棋就没有好局面——即使在地毯普中)。         下面说一下解...

2013-10-09 22:12:51

阅读数 3053

评论数 0

【五子棋AI】启发算法——VCF/VCT搜索

今天把VCT改成了“全面VCT”,即可以解决全部VCT局面(当然,做棋不在其中,我也不打算写做棋的代码,但这不代表做棋不存在于软件当中,后面会介绍),然后灵光一闪,发现了PVS搜索时快速找到对方VCT/VCF的方法(之前只能快速找到自己的),理论上只需要十几行代码就可以了,具体实施还没做。    ...

2013-10-09 21:45:44

阅读数 3711

评论数 0

【五子棋AI】启发算法——主要变例搜索

刚才发现VCT算法有一处BUG,导致有些VCT局面解不出来,已经修复了,并且增加了置换表利用度。估计这个修复会提高不少棋力,毕竟VCT是非常重要的获胜手段。其实VCT是走法的一个子集,VCF是VCT的一个子集,有些软件还有VC2,我还没有尝试扩大VCT这个集,扩大之后可以预见会增加非常多的搜索,但...

2013-10-09 20:56:12

阅读数 1452

评论数 0

【五子棋AI】启发算法——置换表

置换表技术非常有用,没有一个棋力较高的程序不使用置换表。它记录了搜索过的局面当中的最佳评分和走法,下次搜索时遇到相同局面就直接返回而不进行搜索,这无疑是效率非常高的办法。它可以提高效率非常多,虽然在我的代码里命中率很高但只提高了10%左右的效率,但有测试表明它能提高30%甚至更多。其实,10%已经...

2013-10-08 09:19:44

阅读数 3265

评论数 0

【五子棋AI】启发算法——迭代加深与内部迭代加深

α—β剪裁函数会一直搜索到指定深度然后返回,但是当走法生成器生成较多走法或深度设置较深时,往往会导致较长时间无法返回,从而无法进行较为准确的时间控制——因为如果即时返回,我们还没有得到结果,很尴尬的说。于是我们可以尝试搜索较浅的深度,然后返回一个值,如果没有胜利,那么尝试更深的深度。这样配合局面评...

2013-10-08 09:06:30

阅读数 1715

评论数 0

【五子棋AI】AI的基本结构——剪裁函数

剪裁函数有很多形式,像极大极小值、负极大值等等,我的程序采用的是应用广泛的α—β剪裁。α—β剪裁有很多变种,我采用了超出边界的α—β剪裁。与象棋引擎或其他五子棋软件不同的是,我使用了&HFF作为非法坐标,而没有使用0(哎,失策啊)。对于博弈树搜索算法如果你还不了解,可以到xqbase.co...

2013-10-06 22:21:02

阅读数 1056

评论数 0

【五子棋AI】AI的基本结构——局面评价

如何判断一个走法优劣?我们使用一个量化的形式,即一个分值,例如一种典型的情况:对方冲四,己方一穷二白,那么除了封堵点之外,其他点都导致输棋。从封堵过程来看,如果冲4分值为1000,那么走封堵之后,对方评价值将减少1000。这无疑是一个很好的评价方式。基于程序特点,我使用的评价方法并不是传统的评价当...

2013-10-06 22:03:10

阅读数 1894

评论数 0

【五子棋AI】AI的基本结构——招法生成器

在五子棋中,招法的生成其实“很容易”凡是没有子的点都是招法点,但这样做无疑是“低效”的,有很多文章(包括我前期的代码)都采用了“临近点”搜索的策略,例如下子H8之后,搜索周围5格以内的空点,但这也存在问题:随着棋子量的增多尤其是冲4然后对方堵死的情况,这种“棋盘剪裁”将迅速扩大搜索范围。经过观察我...

2013-10-06 21:43:01

阅读数 1576

评论数 0

【五子棋AI】AI的基本结构——局面表示

无论是写界面程序还是写AI,最基本的东西都是局面表示。局面表示用于: 1、显示界面 2、评估局势            即局面评估,记录棋局的方式要有利于更快的给出局面评估(一个整数,用来表示对谁更有利)。 3、产生招法            根据局面表示,至少要能够知道哪些位置已经有子,对于五子...

2013-10-06 20:55:07

阅读数 1671

评论数 0

【五子棋AI】一、AI概述

为了写一个棋力比较强的AI,至今大约学习了一年多,在这一年里我翻阅了大量的网站、论文、源码。最初的打算是写一个象棋的AI,后来发“http://xqbase.com”有很多资料和开源的“象眼”、“象棋巫师”,于是改变了自己的初衷——当时给我的感觉,象棋巫师已经很不错了,当然现在也是这样。所以,如果...

2013-10-06 18:01:54

阅读数 4892

评论数 2

【一种基于灰度差的模板匹配】

自从在http://www.cnblogs.com/zcsor上写了一点东东就很久很久没有在CSDN的博客上写东西了。这篇所说的都是基于VB.NET的。还是从最基础的东西说,“高级”的带旋转啥的的,大家都不说,我也就不要说,免得挨骂,毕竟我不是指望这个糊口的。先从最最基本的开始:一、白底上绘制几个...

2010-02-25 20:38:00

阅读数 1924

评论数 0

也谈VB.NET中心旋转图像

今天在网上看有些人的文章,很是不怎么样。实在忍不住了。 简单的写了一下下。   鼠标拖拽旋转。任意角度。。  Public Class Form1    Dim bmp As Bitmap    Dim bmpsize As Single    Dim gr As Graphics    Dim ...

2008-10-16 21:23:00

阅读数 5862

评论数 2

验证码&游戏外挂与图像识别——ANN

前面一篇写了关于简单的字符分离和特征提取,实际上,如果仅仅写个记牌器,那上篇识别出的特征直接用作牌面识别即可,根本无需进一步的工作——利用人工神经网络识别,但毕竟是为了完成前面的网页文章,还是写一下这个网络,因为验证码经处理后,可不会那么“老实”的每次都一模一样,我们需要的是神经网络来识别这些家伙...

2008-07-02 16:56:00

阅读数 4906

评论数 1

验证码&游戏外挂与图像识别

前面说要写关于图像的文章,虽然很久没写,但我决不食言的;另外网页那部分文章有一个最大的缺憾——验证码识别,虽然经过再三考虑,还是决定从网络安全的角度出发,说一下简单的识别技术和反识别技术,当然了,计算机视觉这个东西有点理论化,不适合我的风格,咱们还是拿代码说话。同时说起游戏外挂和验证码可能有点奇怪...

2008-06-30 18:05:00

阅读数 8135

评论数 0

关于IE弹出窗口的禁止/允许及URL获取小结

VB6代码可能大家都很熟悉了,不过为了便于对照,还是贴上来,这部分是转帖,转自 http://support.microsoft.com/kb/185538/zh-cn Option Explicit Dim WithEvents Web_V1 As SHDocVwCtl.WebBrowser_V...

2008-05-29 17:16:00

阅读数 4722

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭