- 博客(15)
- 收藏
- 关注
原创 黑白棋模板估值简介
关于黑白棋的估值,有三个很重要的概念,行动力,潜在行动力和稳定子,还有一个概念是奇偶性,在终局时有些作用,而开局时没什么用处。对此不了解的朋友可以到网上搜索,有很多介绍。本文主要介绍一下模板估值的原理。 行动力,潜在行动力和稳定子,这些参数的计算都是比较复杂的,为了加速估值,提出了模板估值法。模板估值的思想是将全局的行动力,潜在行动力和稳定子化为局部的行动力,潜在行动力和稳定子,再将
2005-07-25 10:43:00 9283 1
原创 编写强力黑白棋的历程
我的决战黑白棋从开始编写到现在已经大约经历了1年的时间,其中有几次是重大改编,可以说整个数据结构完全重写了。 决战黑白棋刚开始的时候使用的是二维数组棋盘,估值函数基于棋子位置价值加行动力、潜在行动力,搜索深度大约是中局6层+终局15层。棋力很不理想,如禁止它进行终局搜索,我自己可以不费太大精力取胜。可见其估值函数是很差的。 其后的一次重大改写是将二维棋盘改成了一维棋盘,是速度提
2005-07-04 12:30:00 6891 4
原创 我的黑白棋程序已经连上GGS,欢迎大家挑战。
GGS有个80端口的服务器,在香港,ggs.othello.org.hk,端口80,只要能浏览网页就可以连接了。连接GGS可以使用Lion,具体的情况请参考我写的《写了两个月的黑白棋对战程序,发现早就有了GGS,互联网上的游戏。 》一文。
2005-06-30 18:32:00 3820 4
原创 优化黑白棋估值参数
实际是个统计工作。但这里不打算讲模板参数的计算,因为模板估值本身可能不少人还不了解,另外,模板参数计算起来非常复杂,虽然其原理并不难,详细原理请参考 http://www.cs.ualberta.ca/~mburo/ps/improve.pdf ,本文实际是对这篇论文的简化和个人理解。顺便说一下,http://www.cs.ualberta.ca/~mburo/publications.h
2005-06-28 13:26:00 6424 1
转载 计算MD5最快代码
/*作者: crazyd 日期: 2002-12-29说明: 这段代码用嵌入式汇编写成,md5最为核心的部分用汇编写成 具有很高的运算速度,比C代码快将近两倍, 使用方法是按照次序调用MD5Init,MD5Update,MD5Final这三个函数 如下面的标准代码:标准代码: #include "md5.h" void main() { MD5_CTX con
2005-03-16 11:35:00 4871
原创 移动134号段MSISDN号码和IMSI的对应关系(收藏)
移动134对应关系MSISDN与IMSI对应转换关系改造1340~1348用户IMSI与MSISDN的对应规则和现网135~139号段的对应规则不同,相关规则如下:134用户国内有效MSISDN号码为:134H0H1H2H3ABCD对应的IMSI号码为:460 MM S H0H1H2H3 XXXXX其中:MM=02S=0H0H1H2H3与MSISDN中相同XXXXX为MSISDN号码中ABCD扰码
2005-02-23 14:28:00 10052
转载 猜数字游戏-人出题,电脑猜(转贴)
/** 文件名称: GuessNum.h* 程序描述:* 常见的小游戏【猜数字】的智能解法:* 猜数字游戏: 即有四位十进制数字,一般可猜8次* 每次返回aAbB(A表示数字正确并且位置正确,B表示数字正确但位置不正确)* 如:假设要猜的数字是1234,如果游戏者猜0134即返回2A1B(3、4为A,1为B)**
2005-01-20 09:37:00 7008 2
原创 双向广度优先搜索法。
上一篇文章里讲到了广度优先搜索法,并以8数码问题为例。8数码问题比较简单,一般不超过30步即可求解。搜索的节点也不会超过1000000。而如下这个问题的步数是56,如果直接用广度优先搜索,节点数量会多的难以想象。########BLACK### # ## #是墙#WHITE######## | ########WHITE### # ###BLACK########问题就是将
2005-01-19 17:04:00 3014 1
原创 八数码问题完全版-是否可解判断及求解
/*八数码问题有一个3*3的棋盘,其中有0-8 9个数字,0表示空格,其他的数字可以和0交换位置。求由初始状态1 2 34 5 67 8 0到达目标状态步数最少的解。其典型算法是广度优先搜索,具体算法是:struct 类名 m_ar[可能结点数];int h,rmain(){ h=0;r=1; while ((h { if (判断每一种可能性,如果某一种操作符合
2005-01-17 11:13:00 10888 4
原创 黑白棋开局库研究
众所周知,开局库在黑白棋中是非常重要的。以下是我设想的开局库数据结构。为了简单,设计成一个链表,而没有采用树形结构。align这些都是为了字节对齐而加的,没有实际意义。typedef struct BOOK_MOVE_Tag{ char x; //走法 char y; char _align0; char _align1;
2004-12-21 17:58:00 5432 8
原创 黑白棋估值函数中的稳定子究竟该占多大权重?
稳定子判断是个很费时的过程。开始我以为占很大的权重,费了不少劲去优化这部分程序,但是其耗时仍然占了整个估值的大约一半。后来发现大多数比较强的棋局中,在40步之前基本上不会有稳定子,因此很多计算其实是浪费。而从40步开始终局搜索就开始了。现在我想,从第30步开始加入稳定子判断也许是个好注意。就是说对游戏的不同阶段,估值函数也要变化一下,呵呵。
2004-12-09 17:49:00 7158 7
原创 写了两个月的黑白棋对战程序,发现早就有了GGS,互联网上的游戏。
1、什么是ODK? ODK的全称是Othello Development Kit,这是一套用来开发能够连接至GGS(the Generic Game Server)的黑白棋的开发包。GGS是互联网上一台提供各种棋类游戏比赛的平台,ODK使用的只是其中的黑白棋部分。连接GGS有很多种客户端,Windows平台上比较著名的是Lion。 如果你已经有了一个黑白棋程序,通过ODK可
2004-11-24 19:14:00 4880 3
原创 中国电脑黑白棋软件八强
1、 伤心黑白棋3.1,作者不明下载地址:http://vip.6to23.com/nowcan1/ai/SxOthello.rar 2、 黑白棋世界V1.0,作者shines下载地址:http://vip.6to23.com/nowcan1/ai/ShinesOthello.rar 3、 雨滴黑白棋3.9,作者李顺下载地址:http://vip.6to23.com/
2004-10-23 19:36:00 6507 7
原创 棋类游戏的智能模块设计――浅谈人工智能
摘要:本文简单的介绍了计算机博弈算法。计算机博弈在某种形式上属于人工智能,而本文只介绍一下其中的一种简单形式——零和博弈,并给出了一个实例――黑白棋。关键字:搜索,估值,剪枝,Alpha-Beta,零和博弈 引言 随着计算机处理速度的飞速提高,人们很早就提出了疑问:计算机是否会超越人类?世界国际象棋大师已被计算机打败,计算机已经超过了人类?看完本文,相信你会对计算机棋手的
2004-10-19 17:36:00 10664
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人